From baee8673971cc7aa9476f937a1a77e1e6793661e Mon Sep 17 00:00:00 2001 From: shammash <shammash@autistici.org> Date: Mon, 10 Oct 2011 21:25:20 +0200 Subject: [PATCH] Import wordpress 3.2.1 --- license.txt | 41 +- readme.html | 6 +- wp-activate.php | 10 +- wp-admin/admin-ajax.php | 116 +- wp-admin/admin-footer.php | 16 +- wp-admin/admin-header.php | 69 +- wp-admin/admin-post.php | 2 +- wp-admin/admin.php | 4 +- wp-admin/comment.php | 6 +- wp-admin/credits.php | 176 ++ wp-admin/css/colors-classic-rtl.css | 2 +- wp-admin/css/colors-classic-rtl.dev.css | 104 +- wp-admin/css/colors-classic.css | 2 +- wp-admin/css/colors-classic.dev.css | 899 ++++-- wp-admin/css/colors-fresh-rtl.css | 2 +- wp-admin/css/colors-fresh-rtl.dev.css | 104 +- wp-admin/css/colors-fresh.css | 2 +- wp-admin/css/colors-fresh.dev.css | 897 ++++-- wp-admin/css/dashboard-rtl.css | 2 +- wp-admin/css/dashboard-rtl.dev.css | 5 +- wp-admin/css/dashboard.css | 2 +- wp-admin/css/dashboard.dev.css | 145 +- wp-admin/css/global-rtl.css | 2 +- wp-admin/css/global-rtl.dev.css | 178 +- wp-admin/css/global.css | 2 +- wp-admin/css/global.dev.css | 177 +- wp-admin/css/ie.css | 2 +- wp-admin/css/ie.dev.css | 93 +- wp-admin/css/install.css | 2 +- wp-admin/css/install.dev.css | 14 +- wp-admin/css/login.css | 2 +- wp-admin/css/login.dev.css | 77 +- wp-admin/css/media-rtl.css | 2 +- wp-admin/css/media-rtl.dev.css | 23 +- wp-admin/css/media.css | 2 +- wp-admin/css/media.dev.css | 5 +- wp-admin/css/ms.css | 2 +- wp-admin/css/ms.dev.css | 13 +- wp-admin/css/nav-menu-rtl.css | 2 +- wp-admin/css/nav-menu-rtl.dev.css | 14 +- wp-admin/css/nav-menu.css | 2 +- wp-admin/css/nav-menu.dev.css | 411 ++- wp-admin/css/plugin-install.css | 2 +- wp-admin/css/plugin-install.dev.css | 2 - wp-admin/css/press-this-rtl.css | 2 +- wp-admin/css/press-this-rtl.dev.css | 50 +- wp-admin/css/press-this.css | 2 +- wp-admin/css/press-this.dev.css | 218 +- wp-admin/css/theme-editor.css | 2 +- wp-admin/css/theme-editor.dev.css | 12 +- wp-admin/css/theme-install.css | 2 +- wp-admin/css/theme-install.dev.css | 8 +- wp-admin/css/widgets-rtl.css | 2 +- wp-admin/css/widgets-rtl.dev.css | 49 +- wp-admin/css/widgets.css | 2 +- wp-admin/css/widgets.dev.css | 100 +- wp-admin/css/wp-admin-rtl.css | 2 +- wp-admin/css/wp-admin-rtl.dev.css | 1466 ++++++--- wp-admin/css/wp-admin.css | 2 +- wp-admin/css/wp-admin.dev.css | 1251 +++++--- wp-admin/custom-background.php | 22 +- wp-admin/custom-header.php | 118 +- wp-admin/edit-comments.php | 12 +- wp-admin/edit-form-advanced.php | 31 +- wp-admin/edit-form-comment.php | 2 +- wp-admin/edit-link-form.php | 6 +- wp-admin/edit-tag-form.php | 4 +- wp-admin/edit-tags.php | 12 +- wp-admin/edit.php | 30 +- wp-admin/export.php | 6 +- wp-admin/freedoms.php | 42 + wp-admin/images/arrows-dark-vs.png | Bin 0 -> 1376 bytes wp-admin/images/arrows-dark.png | Bin 0 -> 495 bytes wp-admin/images/arrows-vs.png | Bin 0 -> 1378 bytes wp-admin/images/arrows.png | Bin 0 -> 494 bytes wp-admin/images/gray-star.png | Bin 0 -> 625 bytes wp-admin/images/logo-login.png | Bin 0 -> 8891 bytes wp-admin/images/menu-arrow-frame-rtl.png | Bin 0 -> 1391 bytes wp-admin/images/menu-arrow-frame.png | Bin 0 -> 564 bytes wp-admin/images/menu-shadow-rtl.png | Bin 0 -> 891 bytes wp-admin/images/menu-shadow.png | Bin 0 -> 131 bytes wp-admin/images/press-this.png | Bin 0 -> 818 bytes wp-admin/images/resize-rtl.gif | Bin 0 -> 1418 bytes wp-admin/images/star.png | Bin 0 -> 611 bytes wp-admin/images/wp-logo-vs.png | Bin 2324 -> 958 bytes wp-admin/images/wp-logo.png | Bin 2251 -> 849 bytes wp-admin/import.php | 4 +- .../includes/class-wp-comments-list-table.php | 6 +- .../includes/class-wp-filesystem-base.php | 21 +- .../includes/class-wp-filesystem-direct.php | 19 +- .../includes/class-wp-filesystem-ftpext.php | 12 +- .../class-wp-filesystem-ftpsockets.php | 10 +- .../includes/class-wp-filesystem-ssh2.php | 12 +- wp-admin/includes/class-wp-importer.php | 4 - .../includes/class-wp-links-list-table.php | 6 +- wp-admin/includes/class-wp-list-table.php | 24 +- .../includes/class-wp-media-list-table.php | 8 +- .../includes/class-wp-ms-sites-list-table.php | 4 +- .../class-wp-ms-themes-list-table.php | 4 +- .../includes/class-wp-ms-users-list-table.php | 1 + .../class-wp-plugin-install-list-table.php | 19 +- .../includes/class-wp-plugins-list-table.php | 37 +- .../includes/class-wp-posts-list-table.php | 19 +- .../includes/class-wp-terms-list-table.php | 15 +- .../includes/class-wp-themes-list-table.php | 5 +- wp-admin/includes/class-wp-upgrader.php | 97 +- .../includes/class-wp-users-list-table.php | 9 +- wp-admin/includes/dashboard.php | 177 +- wp-admin/includes/deprecated.php | 17 +- wp-admin/includes/export.php | 21 +- wp-admin/includes/file.php | 103 +- wp-admin/includes/image-edit.php | 8 +- wp-admin/includes/import.php | 7 +- wp-admin/includes/internal-linking.php | 12 +- wp-admin/includes/media.php | 30 +- wp-admin/includes/menu.php | 29 +- wp-admin/includes/meta-boxes.php | 7 +- wp-admin/includes/misc.php | 8 - wp-admin/includes/ms.php | 45 +- wp-admin/includes/nav-menu.php | 56 +- wp-admin/includes/plugin-install.php | 15 +- wp-admin/includes/plugin.php | 33 +- wp-admin/includes/post.php | 225 +- wp-admin/includes/schema.php | 4 +- wp-admin/includes/template.php | 74 +- wp-admin/includes/theme-install.php | 10 +- wp-admin/includes/theme.php | 46 +- wp-admin/includes/update-core.php | 171 +- wp-admin/includes/update.php | 7 +- wp-admin/includes/widgets.php | 4 +- wp-admin/index-extra.php | 14 +- wp-admin/index.php | 12 +- wp-admin/js/comment.dev.js | 4 +- wp-admin/js/comment.js | 2 +- wp-admin/js/common.dev.js | 176 +- wp-admin/js/common.js | 2 +- wp-admin/js/custom-background.dev.js | 9 + wp-admin/js/custom-background.js | 2 +- wp-admin/js/custom-fields.dev.js | 2 +- wp-admin/js/custom-fields.js | 2 +- wp-admin/js/dashboard.dev.js | 19 +- wp-admin/js/dashboard.js | 2 +- wp-admin/js/edit-comments.dev.js | 169 +- wp-admin/js/edit-comments.js | 2 +- wp-admin/js/editor.dev.js | 2 +- wp-admin/js/editor.js | 2 +- wp-admin/js/gallery.dev.js | 8 - wp-admin/js/gallery.js | 2 +- wp-admin/js/image-edit.dev.js | 8 +- wp-admin/js/image-edit.js | 2 +- wp-admin/js/inline-edit-post.dev.js | 39 +- wp-admin/js/inline-edit-post.js | 2 +- wp-admin/js/inline-edit-tax.dev.js | 7 +- wp-admin/js/inline-edit-tax.js | 2 +- wp-admin/js/link.dev.js | 2 +- wp-admin/js/link.js | 2 +- wp-admin/js/media-upload.dev.js | 25 +- wp-admin/js/media-upload.js | 2 +- wp-admin/js/nav-menu.dev.js | 6 +- wp-admin/js/nav-menu.js | 2 +- wp-admin/js/post.dev.js | 109 +- wp-admin/js/post.js | 2 +- wp-admin/js/postbox.dev.js | 33 +- wp-admin/js/postbox.js | 2 +- wp-admin/js/tags.dev.js | 2 +- wp-admin/js/tags.js | 2 +- wp-admin/js/user-profile.dev.js | 56 +- wp-admin/js/user-profile.js | 2 +- wp-admin/js/widgets.dev.js | 13 +- wp-admin/js/widgets.js | 2 +- wp-admin/js/word-count.dev.js | 36 +- wp-admin/js/word-count.js | 2 +- wp-admin/js/wp-fullscreen.dev.js | 694 +++++ wp-admin/js/wp-fullscreen.js | 1 + wp-admin/js/xfn.dev.js | 6 +- wp-admin/js/xfn.js | 2 +- wp-admin/link-add.php | 2 +- wp-admin/link-manager.php | 6 +- wp-admin/load-scripts.php | 9 +- wp-admin/load-styles.php | 4 +- wp-admin/media-new.php | 2 +- wp-admin/media-upload.php | 2 +- wp-admin/media.php | 10 +- wp-admin/menu-header.php | 37 +- wp-admin/menu.php | 75 +- wp-admin/moderation.php | 2 +- wp-admin/ms-delete-site.php | 5 +- wp-admin/my-sites.php | 2 +- wp-admin/nav-menus.php | 11 +- wp-admin/network.php | 5 +- wp-admin/network/admin.php | 5 +- wp-admin/network/index.php | 2 +- wp-admin/network/menu.php | 73 +- wp-admin/network/settings.php | 1 + wp-admin/network/site-info.php | 7 +- wp-admin/network/site-settings.php | 7 +- wp-admin/network/site-themes.php | 7 +- wp-admin/network/site-users.php | 11 +- wp-admin/network/sites.php | 10 +- wp-admin/network/themes.php | 10 +- wp-admin/network/upgrade.php | 2 +- wp-admin/network/user-new.php | 47 +- wp-admin/network/users.php | 2 +- wp-admin/options-discussion.php | 2 +- wp-admin/options-general.php | 49 +- wp-admin/options-media.php | 2 +- wp-admin/options-permalink.php | 6 +- wp-admin/options-privacy.php | 6 +- wp-admin/options-reading.php | 4 +- wp-admin/options-writing.php | 10 +- wp-admin/options.php | 8 +- wp-admin/plugin-editor.php | 4 +- wp-admin/plugin-install.php | 9 +- wp-admin/plugins.php | 24 +- wp-admin/post-new.php | 2 +- wp-admin/post.php | 4 +- wp-admin/press-this.php | 88 +- wp-admin/profile.php | 2 +- wp-admin/setup-config.php | 12 +- wp-admin/theme-editor.php | 4 +- wp-admin/theme-install.php | 7 +- wp-admin/themes.php | 22 +- wp-admin/tools.php | 14 +- wp-admin/update-core.php | 29 +- wp-admin/update.php | 6 +- wp-admin/upload.php | 10 +- wp-admin/user-edit.php | 33 +- wp-admin/user-new.php | 6 +- wp-admin/user/admin.php | 6 +- wp-admin/user/index.php | 2 +- wp-admin/user/profile.php | 2 +- wp-admin/users.php | 28 +- wp-admin/widgets.php | 4 +- wp-app.php | 12 +- wp-content/themes/twentyeleven/404.php | 48 + wp-content/themes/twentyeleven/archive.php | 72 + wp-content/themes/twentyeleven/author.php | 89 + wp-content/themes/twentyeleven/category.php | 65 + .../themes/twentyeleven/colors/dark.css | 618 ++++ wp-content/themes/twentyeleven/comments.php | 77 + .../themes/twentyeleven/content-aside.php | 46 + .../themes/twentyeleven/content-featured.php | 47 + .../themes/twentyeleven/content-gallery.php | 92 + .../themes/twentyeleven/content-image.php | 70 + .../themes/twentyeleven/content-intro.php | 21 + .../themes/twentyeleven/content-link.php | 46 + .../themes/twentyeleven/content-page.php | 23 + .../themes/twentyeleven/content-quote.php | 74 + .../themes/twentyeleven/content-single.php | 71 + .../themes/twentyeleven/content-status.php | 47 + wp-content/themes/twentyeleven/content.php | 82 + .../themes/twentyeleven/editor-style-rtl.css | 24 + .../themes/twentyeleven/editor-style.css | 311 ++ wp-content/themes/twentyeleven/footer.php | 34 + wp-content/themes/twentyeleven/functions.php | 593 ++++ wp-content/themes/twentyeleven/header.php | 123 + wp-content/themes/twentyeleven/image.php | 101 + .../comment-arrow-bypostauthor-dark-rtl.png | Bin 0 -> 255 bytes .../comment-arrow-bypostauthor-dark.png | Bin 0 -> 237 bytes .../images/comment-arrow-bypostauthor-rtl.png | Bin 0 -> 257 bytes .../images/comment-arrow-bypostauthor.png | Bin 0 -> 239 bytes .../images/comment-arrow-dark-rtl.png | Bin 0 -> 272 bytes .../images/comment-arrow-dark.png | Bin 0 -> 348 bytes .../twentyeleven/images/comment-arrow-rtl.png | Bin 0 -> 271 bytes .../twentyeleven/images/comment-arrow.png | Bin 0 -> 250 bytes .../images/comment-bubble-dark-rtl.png | Bin 0 -> 1868 bytes .../images/comment-bubble-dark.png | Bin 0 -> 965 bytes .../images/comment-bubble-rtl.png | Bin 0 -> 1782 bytes .../twentyeleven/images/comment-bubble.png | Bin 0 -> 925 bytes .../images/headers/chessboard-thumbnail.jpg | Bin 0 -> 6420 bytes .../images/headers/chessboard.jpg | Bin 0 -> 53906 bytes .../images/headers/hanoi-thumbnail.jpg | Bin 0 -> 4584 bytes .../twentyeleven/images/headers/hanoi.jpg | Bin 0 -> 40965 bytes .../images/headers/lanterns-thumbnail.jpg | Bin 0 -> 8370 bytes .../twentyeleven/images/headers/lanterns.jpg | Bin 0 -> 95061 bytes .../images/headers/pine-cone-thumbnail.jpg | Bin 0 -> 3770 bytes .../twentyeleven/images/headers/pine-cone.jpg | Bin 0 -> 39112 bytes .../images/headers/shore-thumbnail.jpg | Bin 0 -> 6035 bytes .../twentyeleven/images/headers/shore.jpg | Bin 0 -> 79509 bytes .../images/headers/trolley-thumbnail.jpg | Bin 0 -> 6385 bytes .../twentyeleven/images/headers/trolley.jpg | Bin 0 -> 62979 bytes .../images/headers/wheel-thumbnail.jpg | Bin 0 -> 6460 bytes .../twentyeleven/images/headers/wheel.jpg | Bin 0 -> 60901 bytes .../images/headers/willow-thumbnail.jpg | Bin 0 -> 4297 bytes .../twentyeleven/images/headers/willow.jpg | Bin 0 -> 68450 bytes .../themes/twentyeleven/images/search.png | Bin 0 -> 441 bytes .../themes/twentyeleven/images/wordpress.png | Bin 0 -> 794 bytes .../inc/images/content-sidebar.png | Bin 0 -> 273 bytes .../twentyeleven/inc/images/content.png | Bin 0 -> 3682 bytes .../themes/twentyeleven/inc/images/dark.png | Bin 0 -> 6884 bytes .../themes/twentyeleven/inc/images/light.png | Bin 0 -> 7052 bytes .../inc/images/sidebar-content.png | Bin 0 -> 272 bytes .../themes/twentyeleven/inc/theme-options.css | 35 + .../themes/twentyeleven/inc/theme-options.js | 52 + .../themes/twentyeleven/inc/theme-options.php | 408 +++ .../themes/twentyeleven/inc/widgets.php | 166 + wp-content/themes/twentyeleven/index.php | 52 + wp-content/themes/twentyeleven/js/html5.js | 3 + wp-content/themes/twentyeleven/js/showcase.js | 17 + .../twentyeleven/languages/twentyeleven.pot | 654 ++++ wp-content/themes/twentyeleven/license.txt | 281 ++ wp-content/themes/twentyeleven/page.php | 29 + wp-content/themes/twentyeleven/readme.txt | 5 + wp-content/themes/twentyeleven/rtl.css | 582 ++++ wp-content/themes/twentyeleven/screenshot.png | Bin 0 -> 62878 bytes wp-content/themes/twentyeleven/search.php | 57 + wp-content/themes/twentyeleven/searchform.php | 14 + wp-content/themes/twentyeleven/showcase.php | 220 ++ .../themes/twentyeleven/sidebar-footer.php | 42 + .../themes/twentyeleven/sidebar-page.php | 26 + wp-content/themes/twentyeleven/sidebar.php | 36 + wp-content/themes/twentyeleven/single.php | 32 + wp-content/themes/twentyeleven/style.css | 2670 +++++++++++++++++ wp-content/themes/twentyeleven/tag.php | 65 + .../themes/twentyten/languages/twentyten.pot | 12 +- .../themes/twentyten/loop-attachment.php | 2 +- wp-content/themes/twentyten/loop-single.php | 2 +- wp-includes/admin-bar.php | 166 +- wp-includes/author-template.php | 34 +- wp-includes/bookmark.php | 20 +- wp-includes/cache.php | 15 +- wp-includes/canonical.php | 55 +- wp-includes/capabilities.php | 31 +- wp-includes/category-template.php | 6 +- wp-includes/class-feed.php | 21 +- wp-includes/class-http.php | 818 ++--- wp-includes/class-oembed.php | 15 +- wp-includes/class-phpass.php | 10 +- wp-includes/class-phpmailer.php | 1723 +++++++---- wp-includes/class-pop3.php | 44 +- wp-includes/class-smtp.php | 652 ++-- wp-includes/class-wp-admin-bar.php | 1 + wp-includes/class-wp-ajax-response.php | 4 +- wp-includes/class-wp-error.php | 4 +- wp-includes/class-wp-http-ixr-client.php | 18 +- wp-includes/class-wp-xmlrpc-server.php | 498 +-- wp-includes/class-wp.php | 14 +- wp-includes/class.wp-dependencies.php | 9 +- wp-includes/comment-template.php | 11 +- wp-includes/comment.php | 33 +- wp-includes/compat.php | 110 +- wp-includes/css/admin-bar-rtl.css | 2 +- wp-includes/css/admin-bar-rtl.dev.css | 11 +- wp-includes/css/admin-bar.css | 2 +- wp-includes/css/admin-bar.dev.css | 16 +- wp-includes/default-constants.php | 10 +- wp-includes/default-filters.php | 19 +- wp-includes/default-widgets.php | 58 +- wp-includes/deprecated.php | 19 +- wp-includes/feed-atom.php | 3 +- wp-includes/formatting.php | 110 +- wp-includes/functions.php | 213 +- wp-includes/general-template.php | 35 +- wp-includes/http.php | 32 +- wp-includes/js/autosave.dev.js | 75 +- wp-includes/js/autosave.js | 2 +- .../imgareaselect/jquery.imgareaselect.dev.js | 217 +- .../js/imgareaselect/jquery.imgareaselect.js | 2 +- wp-includes/js/jquery/jquery.form.dev.js | 1416 +++++---- wp-includes/js/jquery/jquery.form.js | 12 +- wp-includes/js/jquery/jquery.js | 163 +- wp-includes/js/jquery/ui.button.js | 22 +- wp-includes/js/jquery/ui.core.js | 4 +- wp-includes/js/jquery/ui.dialog.js | 40 +- wp-includes/js/jquery/ui.draggable.js | 54 +- wp-includes/js/jquery/ui.droppable.js | 6 +- wp-includes/js/jquery/ui.mouse.js | 12 +- wp-includes/js/jquery/ui.position.js | 2 +- wp-includes/js/jquery/ui.resizable.js | 44 +- wp-includes/js/jquery/ui.selectable.js | 4 +- wp-includes/js/jquery/ui.sortable.js | 92 +- wp-includes/js/jquery/ui.tabs.js | 4 +- wp-includes/js/jquery/ui.widget.js | 2 +- wp-includes/js/json2.dev.js | 93 +- wp-includes/js/json2.js | 2 +- wp-includes/js/quicktags.dev.js | 25 +- wp-includes/js/quicktags.js | 2 +- wp-includes/js/swfupload/handlers.dev.js | 12 +- wp-includes/js/swfupload/handlers.js | 2 +- wp-includes/js/swfupload/license.txt | 62 +- .../swfupload/plugins/swfupload.swfobject.js | 6 +- wp-includes/js/swfupload/swfupload-all.js | 2 +- wp-includes/js/thickbox/thickbox.js | 51 +- wp-includes/js/tinymce/langs/wp-langs-en.js | 111 +- wp-includes/js/tinymce/langs/wp-langs.php | 120 +- wp-includes/js/tinymce/license.txt | 1008 +++---- .../plugins/fullscreen/editor_plugin.js | 2 +- .../tinymce/plugins/fullscreen/fullscreen.htm | 2 +- .../plugins/inlinepopups/editor_plugin.js | 2 +- .../inlinepopups/skins/clearlooks2/window.css | 2 +- .../tinymce/plugins/inlinepopups/template.htm | 2 +- .../js/tinymce/plugins/media/css/media.css | 9 +- .../js/tinymce/plugins/media/editor_plugin.js | 2 +- .../js/tinymce/plugins/media/js/media.js | 930 ++---- .../js/tinymce/plugins/media/media.htm | 594 ++-- .../js/tinymce/plugins/media/moxieplayer.swf | Bin 0 -> 33931 bytes .../js/tinymce/plugins/paste/editor_plugin.js | 2 +- .../js/tinymce/plugins/paste/pastetext.htm | 4 +- .../js/tinymce/plugins/paste/pasteword.htm | 4 +- .../plugins/spellchecker/changelog.txt | 28 + .../spellchecker/classes/EnchantSpell.php | 2 +- .../spellchecker/classes/GoogleSpell.php | 2 +- .../spellchecker/classes/PSpellShell.php | 2 +- .../plugins/spellchecker/editor_plugin.js | 2 +- .../tinymce/plugins/tabfocus/editor_plugin.js | 2 +- .../tinymce/plugins/wordpress/css/content.css | 10 +- .../plugins/wordpress/editor_plugin.dev.js | 27 +- .../plugins/wordpress/editor_plugin.js | 2 +- .../plugins/wpdialogs/editor_plugin.dev.js | 115 +- .../plugins/wpdialogs/editor_plugin.js | 2 +- .../plugins/wpdialogs/js/wpdialog.dev.js | 28 + .../tinymce/plugins/wpdialogs/js/wpdialog.js | 1 + .../wpfullscreen/css/wp-fullscreen.css | 11 + .../plugins/wpfullscreen/editor_plugin.dev.js | 178 ++ .../plugins/wpfullscreen/editor_plugin.js | 1 + .../tinymce/plugins/wplink/js/wplink.dev.js | 180 +- .../js/tinymce/plugins/wplink/js/wplink.js | 2 +- .../js/tinymce/themes/advanced/about.htm | 16 +- .../js/tinymce/themes/advanced/anchor.htm | 14 +- .../js/tinymce/themes/advanced/charmap.htm | 83 +- .../tinymce/themes/advanced/color_picker.htm | 25 +- .../themes/advanced/editor_template.js | 2 +- .../js/tinymce/themes/advanced/image.htm | 118 +- .../js/tinymce/themes/advanced/img/flash.gif | Bin 0 -> 241 bytes .../js/tinymce/themes/advanced/img/iframe.gif | Bin 0 -> 600 bytes .../tinymce/themes/advanced/img/pagebreak.gif | Bin 0 -> 325 bytes .../tinymce/themes/advanced/img/quicktime.gif | Bin 0 -> 303 bytes .../tinymce/themes/advanced/img/realmedia.gif | Bin 0 -> 439 bytes .../tinymce/themes/advanced/img/shockwave.gif | Bin 0 -> 387 bytes .../js/tinymce/themes/advanced/img/trans.gif | Bin 0 -> 43 bytes .../js/tinymce/themes/advanced/img/video.gif | Bin 0 -> 597 bytes .../themes/advanced/img/windowsmedia.gif | Bin 0 -> 415 bytes .../tinymce/themes/advanced/img/wpicons.png | Bin 0 -> 21059 bytes .../js/tinymce/themes/advanced/js/about.js | 1 + .../js/tinymce/themes/advanced/js/anchor.js | 5 + .../js/tinymce/themes/advanced/js/charmap.js | 32 +- .../themes/advanced/js/color_picker.js | 140 +- .../js/tinymce/themes/advanced/js/image.js | 5 +- .../js/tinymce/themes/advanced/js/link.js | 11 +- .../themes/advanced/js/source_editor.js | 2 +- .../js/tinymce/themes/advanced/link.htm | 65 +- .../js/tinymce/themes/advanced/shortcuts.htm | 47 + .../themes/advanced/skins/default/content.css | 11 + .../themes/advanced/skins/default/ui.css | 8 +- .../advanced/skins/highcontrast/content.css | 23 + .../advanced/skins/highcontrast/dialog.css | 105 + .../themes/advanced/skins/highcontrast/ui.css | 101 + .../themes/advanced/skins/o2k7/content.css | 10 + .../themes/advanced/skins/o2k7/dialog.css | 1 + .../tinymce/themes/advanced/skins/o2k7/ui.css | 9 +- .../themes/advanced/skins/o2k7/ui_black.css | 2 +- .../themes/advanced/skins/o2k7/ui_silver.css | 2 +- .../advanced/skins/wp_theme/content.css | 47 +- .../themes/advanced/skins/wp_theme/ui.css | 416 ++- .../tinymce/themes/advanced/source_editor.htm | 6 +- wp-includes/js/tinymce/tiny_mce.js | 2 +- wp-includes/js/tinymce/tiny_mce_popup.js | 2 +- wp-includes/js/tinymce/utils/form_utils.js | 18 +- wp-includes/js/tinymce/utils/mctabs.js | 105 +- wp-includes/js/tinymce/utils/validate.js | 38 +- wp-includes/js/tinymce/wp-mce-help.php | 74 +- wp-includes/js/tinymce/wp-tinymce.js.gz | Bin 84510 -> 93408 bytes wp-includes/js/tinymce/wp-tinymce.php | 2 +- wp-includes/js/wp-lists.dev.js | 262 +- wp-includes/js/wp-lists.js | 2 +- wp-includes/kses.php | 44 +- wp-includes/l10n.php | 12 +- wp-includes/link-template.php | 18 +- wp-includes/load.php | 29 +- wp-includes/locale.php | 4 +- wp-includes/media.php | 55 +- wp-includes/meta.php | 297 +- wp-includes/ms-blogs.php | 14 +- wp-includes/ms-files.php | 2 +- wp-includes/ms-functions.php | 14 +- wp-includes/nav-menu.php | 37 +- wp-includes/pluggable.php | 85 +- wp-includes/plugin.php | 35 +- wp-includes/post-template.php | 11 +- wp-includes/post-thumbnail-template.php | 32 + wp-includes/post.php | 192 +- wp-includes/query.php | 95 +- wp-includes/rewrite.php | 6 +- wp-includes/rss.php | 8 +- wp-includes/script-loader.php | 158 +- wp-includes/taxonomy.php | 157 +- wp-includes/theme.php | 127 +- wp-includes/update.php | 77 +- wp-includes/user.php | 45 +- wp-includes/vars.php | 8 +- wp-includes/version.php | 28 +- wp-includes/widgets.php | 6 +- wp-includes/wp-db.php | 33 +- wp-includes/wp-diff.php | 7 +- wp-load.php | 16 +- wp-login.php | 32 +- wp-settings.php | 34 +- wp-signup.php | 16 +- xmlrpc.php | 5 +- 499 files changed, 23600 insertions(+), 9656 deletions(-) create mode 100644 wp-admin/credits.php create mode 100644 wp-admin/freedoms.php create mode 100644 wp-admin/images/arrows-dark-vs.png create mode 100644 wp-admin/images/arrows-dark.png create mode 100644 wp-admin/images/arrows-vs.png create mode 100644 wp-admin/images/arrows.png create mode 100644 wp-admin/images/gray-star.png create mode 100644 wp-admin/images/logo-login.png create mode 100644 wp-admin/images/menu-arrow-frame-rtl.png create mode 100644 wp-admin/images/menu-arrow-frame.png create mode 100644 wp-admin/images/menu-shadow-rtl.png create mode 100644 wp-admin/images/menu-shadow.png create mode 100644 wp-admin/images/press-this.png create mode 100644 wp-admin/images/resize-rtl.gif create mode 100644 wp-admin/images/star.png create mode 100644 wp-admin/js/wp-fullscreen.dev.js create mode 100644 wp-admin/js/wp-fullscreen.js create mode 100644 wp-content/themes/twentyeleven/404.php create mode 100644 wp-content/themes/twentyeleven/archive.php create mode 100644 wp-content/themes/twentyeleven/author.php create mode 100644 wp-content/themes/twentyeleven/category.php create mode 100644 wp-content/themes/twentyeleven/colors/dark.css create mode 100644 wp-content/themes/twentyeleven/comments.php create mode 100644 wp-content/themes/twentyeleven/content-aside.php create mode 100644 wp-content/themes/twentyeleven/content-featured.php create mode 100644 wp-content/themes/twentyeleven/content-gallery.php create mode 100644 wp-content/themes/twentyeleven/content-image.php create mode 100644 wp-content/themes/twentyeleven/content-intro.php create mode 100644 wp-content/themes/twentyeleven/content-link.php create mode 100644 wp-content/themes/twentyeleven/content-page.php create mode 100644 wp-content/themes/twentyeleven/content-quote.php create mode 100644 wp-content/themes/twentyeleven/content-single.php create mode 100644 wp-content/themes/twentyeleven/content-status.php create mode 100644 wp-content/themes/twentyeleven/content.php create mode 100644 wp-content/themes/twentyeleven/editor-style-rtl.css create mode 100644 wp-content/themes/twentyeleven/editor-style.css create mode 100644 wp-content/themes/twentyeleven/footer.php create mode 100644 wp-content/themes/twentyeleven/functions.php create mode 100644 wp-content/themes/twentyeleven/header.php create mode 100644 wp-content/themes/twentyeleven/image.php create mode 100644 wp-content/themes/twentyeleven/images/comment-arrow-bypostauthor-dark-rtl.png create mode 100644 wp-content/themes/twentyeleven/images/comment-arrow-bypostauthor-dark.png create mode 100644 wp-content/themes/twentyeleven/images/comment-arrow-bypostauthor-rtl.png create mode 100644 wp-content/themes/twentyeleven/images/comment-arrow-bypostauthor.png create mode 100644 wp-content/themes/twentyeleven/images/comment-arrow-dark-rtl.png create mode 100644 wp-content/themes/twentyeleven/images/comment-arrow-dark.png create mode 100644 wp-content/themes/twentyeleven/images/comment-arrow-rtl.png create mode 100644 wp-content/themes/twentyeleven/images/comment-arrow.png create mode 100644 wp-content/themes/twentyeleven/images/comment-bubble-dark-rtl.png create mode 100644 wp-content/themes/twentyeleven/images/comment-bubble-dark.png create mode 100644 wp-content/themes/twentyeleven/images/comment-bubble-rtl.png create mode 100644 wp-content/themes/twentyeleven/images/comment-bubble.png create mode 100644 wp-content/themes/twentyeleven/images/headers/chessboard-thumbnail.jpg create mode 100644 wp-content/themes/twentyeleven/images/headers/chessboard.jpg create mode 100644 wp-content/themes/twentyeleven/images/headers/hanoi-thumbnail.jpg create mode 100644 wp-content/themes/twentyeleven/images/headers/hanoi.jpg create mode 100644 wp-content/themes/twentyeleven/images/headers/lanterns-thumbnail.jpg create mode 100644 wp-content/themes/twentyeleven/images/headers/lanterns.jpg create mode 100644 wp-content/themes/twentyeleven/images/headers/pine-cone-thumbnail.jpg create mode 100644 wp-content/themes/twentyeleven/images/headers/pine-cone.jpg create mode 100644 wp-content/themes/twentyeleven/images/headers/shore-thumbnail.jpg create mode 100644 wp-content/themes/twentyeleven/images/headers/shore.jpg create mode 100644 wp-content/themes/twentyeleven/images/headers/trolley-thumbnail.jpg create mode 100644 wp-content/themes/twentyeleven/images/headers/trolley.jpg create mode 100644 wp-content/themes/twentyeleven/images/headers/wheel-thumbnail.jpg create mode 100644 wp-content/themes/twentyeleven/images/headers/wheel.jpg create mode 100644 wp-content/themes/twentyeleven/images/headers/willow-thumbnail.jpg create mode 100644 wp-content/themes/twentyeleven/images/headers/willow.jpg create mode 100644 wp-content/themes/twentyeleven/images/search.png create mode 100644 wp-content/themes/twentyeleven/images/wordpress.png create mode 100644 wp-content/themes/twentyeleven/inc/images/content-sidebar.png create mode 100644 wp-content/themes/twentyeleven/inc/images/content.png create mode 100644 wp-content/themes/twentyeleven/inc/images/dark.png create mode 100644 wp-content/themes/twentyeleven/inc/images/light.png create mode 100644 wp-content/themes/twentyeleven/inc/images/sidebar-content.png create mode 100644 wp-content/themes/twentyeleven/inc/theme-options.css create mode 100644 wp-content/themes/twentyeleven/inc/theme-options.js create mode 100644 wp-content/themes/twentyeleven/inc/theme-options.php create mode 100644 wp-content/themes/twentyeleven/inc/widgets.php create mode 100644 wp-content/themes/twentyeleven/index.php create mode 100644 wp-content/themes/twentyeleven/js/html5.js create mode 100644 wp-content/themes/twentyeleven/js/showcase.js create mode 100644 wp-content/themes/twentyeleven/languages/twentyeleven.pot create mode 100644 wp-content/themes/twentyeleven/license.txt create mode 100644 wp-content/themes/twentyeleven/page.php create mode 100644 wp-content/themes/twentyeleven/readme.txt create mode 100644 wp-content/themes/twentyeleven/rtl.css create mode 100644 wp-content/themes/twentyeleven/screenshot.png create mode 100644 wp-content/themes/twentyeleven/search.php create mode 100644 wp-content/themes/twentyeleven/searchform.php create mode 100644 wp-content/themes/twentyeleven/showcase.php create mode 100644 wp-content/themes/twentyeleven/sidebar-footer.php create mode 100644 wp-content/themes/twentyeleven/sidebar-page.php create mode 100644 wp-content/themes/twentyeleven/sidebar.php create mode 100644 wp-content/themes/twentyeleven/single.php create mode 100644 wp-content/themes/twentyeleven/style.css create mode 100644 wp-content/themes/twentyeleven/tag.php create mode 100644 wp-includes/js/tinymce/plugins/media/moxieplayer.swf create mode 100644 wp-includes/js/tinymce/plugins/spellchecker/changelog.txt create mode 100644 wp-includes/js/tinymce/plugins/wpdialogs/js/wpdialog.dev.js create mode 100644 wp-includes/js/tinymce/plugins/wpdialogs/js/wpdialog.js create mode 100644 wp-includes/js/tinymce/plugins/wpfullscreen/css/wp-fullscreen.css create mode 100644 wp-includes/js/tinymce/plugins/wpfullscreen/editor_plugin.dev.js create mode 100644 wp-includes/js/tinymce/plugins/wpfullscreen/editor_plugin.js create mode 100644 wp-includes/js/tinymce/themes/advanced/img/flash.gif create mode 100644 wp-includes/js/tinymce/themes/advanced/img/iframe.gif create mode 100644 wp-includes/js/tinymce/themes/advanced/img/pagebreak.gif create mode 100644 wp-includes/js/tinymce/themes/advanced/img/quicktime.gif create mode 100644 wp-includes/js/tinymce/themes/advanced/img/realmedia.gif create mode 100644 wp-includes/js/tinymce/themes/advanced/img/shockwave.gif create mode 100644 wp-includes/js/tinymce/themes/advanced/img/trans.gif create mode 100644 wp-includes/js/tinymce/themes/advanced/img/video.gif create mode 100644 wp-includes/js/tinymce/themes/advanced/img/windowsmedia.gif create mode 100644 wp-includes/js/tinymce/themes/advanced/img/wpicons.png create mode 100644 wp-includes/js/tinymce/themes/advanced/shortcuts.htm create mode 100644 wp-includes/js/tinymce/themes/advanced/skins/highcontrast/content.css create mode 100644 wp-includes/js/tinymce/themes/advanced/skins/highcontrast/dialog.css create mode 100644 wp-includes/js/tinymce/themes/advanced/skins/highcontrast/ui.css diff --git a/license.txt b/license.txt index eda6b00ad..431a146a6 100644 --- a/license.txt +++ b/license.txt @@ -1,7 +1,46 @@ +WordPress - Web publishing software + +Copyright 2011 by the contributors + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + +This program incorporates work covered by the following copyright and +permission notices: + + b2 is (c) 2001, 2002 Michel Valdrighi - m@tidakada.com - + http://tidakada.com + + Wherever third party code has been used, credit has been given in the code's + comments. + + b2 is released under the GPL + +and + + WordPress - Web publishing software + + Copyright 2003-2010 by the contributors + + WordPress is released under the GPL + +=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= + GNU GENERAL PUBLIC LICENSE Version 2, June 1991 - Copyright (C) 1989, 1991 Free Software Foundation, Inc. + Copyright (C) 1989, 1991 Free Software Foundation, Inc. 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA Everyone is permitted to copy and distribute verbatim copies diff --git a/readme.html b/readme.html index 75d364979..691753e22 100644 --- a/readme.html +++ b/readme.html @@ -8,7 +8,7 @@ <body> <h1 id="logo"> <a href="http://wordpress.org/"><img alt="WordPress" src="wp-admin/images/wordpress-logo.png" width="250" height="68" /></a> - <br /> Version 3.1.2 + <br /> Version 3.2.1 </h1> <p style="text-align: center">Semantic Personal Publishing Platform</p> @@ -55,8 +55,8 @@ <h1>System Requirements</h1> <ul> - <li><a href="http://php.net/">PHP</a> version <strong>4.3</strong> or higher.</li> - <li><a href="http://www.mysql.com/">MySQL</a> version <strong>4.1.2</strong> or higher.</li> + <li><a href="http://php.net/">PHP</a> version <strong>5.2.4</strong> or higher.</li> + <li><a href="http://www.mysql.com/">MySQL</a> version <strong>5.0</strong> or higher.</li> </ul> <h2>System Recommendations</h2> diff --git a/wp-activate.php b/wp-activate.php index 6bc019c71..1ec40287d 100644 --- a/wp-activate.php +++ b/wp-activate.php @@ -1,5 +1,5 @@ <?php -define( "WP_INSTALLING", true ); +define( 'WP_INSTALLING', true ); /** Sets up the WordPress Environment. */ require( dirname(__FILE__) . '/wp-load.php' ); @@ -14,10 +14,10 @@ if ( !is_multisite() ) { if ( is_object( $wp_object_cache ) ) $wp_object_cache->cache_enabled = false; -do_action("activate_header"); +do_action( 'activate_header' ); function do_activate_header() { - do_action("activate_wp_head"); + do_action( 'activate_wp_head' ); } add_action( 'wp_head', 'do_activate_header' ); @@ -87,9 +87,9 @@ get_header(); </div> <?php if ( $url != network_home_url('', 'http') ) : ?> - <p class="view"><?php printf( __('Your account is now activated. <a href="%1$s">View your site</a> or <a href="%2$s">Login</a>'), $url, $url . 'wp-login.php' ); ?></p> + <p class="view"><?php printf( __('Your account is now activated. <a href="%1$s">View your site</a> or <a href="%2$s">Log in</a>'), $url, $url . 'wp-login.php' ); ?></p> <?php else: ?> - <p class="view"><?php printf( __('Your account is now activated. <a href="%1$s">Login</a> or go back to the <a href="%2$s">homepage</a>.' ), network_site_url('wp-login.php', 'login'), network_home_url() ); ?></p> + <p class="view"><?php printf( __('Your account is now activated. <a href="%1$s">Log in</a> or go back to the <a href="%2$s">homepage</a>.' ), network_site_url('wp-login.php', 'login'), network_home_url() ); ?></p> <?php endif; } } diff --git a/wp-admin/admin-ajax.php b/wp-admin/admin-ajax.php index d2a8d4d20..18a853bf6 100644 --- a/wp-admin/admin-ajax.php +++ b/wp-admin/admin-ajax.php @@ -396,7 +396,7 @@ case 'delete-meta' : if ( !$meta = get_post_meta_by_id( $id ) ) die('1'); - if ( !current_user_can( 'edit_post', $meta->post_id ) ) + if ( !current_user_can( 'edit_post', $meta->post_id ) || is_protected_meta( $meta->meta_key ) ) die('-1'); if ( delete_meta( $meta->meta_id ) ) die('1'); @@ -508,7 +508,7 @@ case 'add-link-category' : // On the Fly $x->send(); break; case 'add-tag' : - check_ajax_referer( 'add-tag' ); + check_ajax_referer( 'add-tag', '_wpnonce_add-tag' ); $post_type = !empty($_POST['post_type']) ? $_POST['post_type'] : 'post'; $taxonomy = !empty($_POST['taxonomy']) ? $_POST['taxonomy'] : 'post_tag'; $tax = get_taxonomy($taxonomy); @@ -609,15 +609,15 @@ case 'get-comments' : if ( !$wp_list_table->has_items() ) die('1'); - $comment_list_item = ''; $x = new WP_Ajax_Response(); + ob_start(); foreach ( $wp_list_table->items as $comment ) { get_comment( $comment ); - ob_start(); - $wp_list_table->single_row( $comment ); - $comment_list_item .= ob_get_contents(); - ob_end_clean(); + $wp_list_table->single_row( $comment ); } + $comment_list_item = ob_get_contents(); + ob_end_clean(); + $x->add( array( 'what' => 'comments', 'data' => $comment_list_item @@ -660,15 +660,25 @@ case 'replyto-comment' : die( __('Error: please type a comment.') ); $comment_parent = absint($_POST['comment_ID']); + $comment_auto_approved = false; $commentdata = compact('comment_post_ID', 'comment_author', 'comment_author_email', 'comment_author_url', 'comment_content', 'comment_type', 'comment_parent', 'user_ID'); $comment_id = wp_new_comment( $commentdata ); $comment = get_comment($comment_id); if ( ! $comment ) die('1'); - $position = ( isset($_POST['position']) && (int) $_POST['position']) ? (int) $_POST['position'] : '-1'; + $position = ( isset($_POST['position']) && (int) $_POST['position'] ) ? (int) $_POST['position'] : '-1'; - $x = new WP_Ajax_Response(); + + // automatically approve parent comment + if ( !empty($_POST['approve_parent']) ) { + $parent = get_comment( $comment_parent ); + + if ( $parent && $parent->comment_approved === '0' && $parent->comment_post_ID == $comment_post_ID ) { + if ( wp_set_comment_status( $parent->comment_ID, 'approve' ) ) + $comment_auto_approved = true; + } + } ob_start(); if ( 'dashboard' == $_REQUEST['mode'] ) { @@ -685,13 +695,18 @@ case 'replyto-comment' : $comment_list_item = ob_get_contents(); ob_end_clean(); - $x->add( array( + $response = array( 'what' => 'comment', 'id' => $comment->comment_ID, 'data' => $comment_list_item, 'position' => $position - )); + ); + if ( $comment_auto_approved ) + $response['supplemental'] = array( 'parent_approved' => $parent->comment_ID ); + + $x = new WP_Ajax_Response(); + $x->add( $response ); $x->send(); break; case 'edit-comment' : @@ -844,7 +859,7 @@ case 'add-meta' : 'supplemental' => array('postid' => $pid) ) ); } else { // Update? - $mid = (int) array_pop( $var_by_ref = array_keys($_POST['meta']) ); + $mid = (int) array_pop( array_keys($_POST['meta']) ); $key = $_POST['meta'][$mid]['key']; $value = $_POST['meta'][$mid]['value']; if ( '' == trim($key) ) @@ -855,6 +870,8 @@ case 'add-meta' : die('0'); // if meta doesn't exist if ( !current_user_can( 'edit_post', $meta->post_id ) ) die('-1'); + if ( is_protected_meta( $meta->meta_key ) ) + die('-1'); if ( $meta->meta_value != stripslashes($value) || $meta->meta_key != stripslashes($key) ) { if ( !$u = update_meta( $mid, $key, $value ) ) die('0'); // We know meta exists; we also know it's unchanged (or DB error, in which case there are bigger problems). @@ -916,7 +933,7 @@ case 'autosave' : // The name of this action is hardcoded in edit_post() $do_autosave = (bool) $_POST['autosave']; $do_lock = true; - $data = ''; + $data = $alert = ''; /* translators: draft saved date format, see http://php.net/date */ $draft_saved_date_format = __('g:i:s a'); /* translators: %s: date and time */ @@ -924,7 +941,7 @@ case 'autosave' : // The name of this action is hardcoded in edit_post() $supplemental = array(); if ( isset($login_grace_period) ) - $supplemental['session_expired'] = add_query_arg( 'interim-login', 1, wp_login_url() ); + $alert .= sprintf( __('Your login has expired. Please open a new browser window and <a href="%s" target="_blank">log in again</a>. '), add_query_arg( 'interim-login', 1, wp_login_url() ) ); $id = $revision_id = 0; @@ -939,12 +956,10 @@ case 'autosave' : // The name of this action is hardcoded in edit_post() $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.' ), - esc_html( $last_user_name ) - ) ); + $data = __( 'Autosave disabled.' ); $supplemental['disable_autosave'] = 'disable'; + $alert .= sprintf( __( '%s is currently editing this article. If you update it, you will overwrite the changes.' ), esc_html( $last_user_name ) ); } if ( 'page' == $post->post_type ) { @@ -990,6 +1005,9 @@ case 'autosave' : // The name of this action is hardcoded in edit_post() } } + if ( ! empty($alert) ) + $supplemental['alert'] = $alert; + $x = new WP_Ajax_Response( array( 'what' => 'autosave', 'id' => $id, @@ -1467,6 +1485,68 @@ case 'date_format' : case 'time_format' : die( date_i18n( sanitize_option( 'time_format', $_POST['date'] ) ) ); break; +case 'wp-fullscreen-save-post' : + if ( isset($_POST['post_ID']) ) + $post_id = (int) $_POST['post_ID']; + else + $post_id = 0; + + $post = null; + $post_type_object = null; + $post_type = null; + if ( $post_id ) { + $post = get_post($post_id); + if ( $post ) { + $post_type_object = get_post_type_object($post->post_type); + if ( $post_type_object ) { + $post_type = $post->post_type; + $current_screen->post_type = $post->post_type; + $current_screen->id = $current_screen->post_type; + } + } + } elseif ( isset($_POST['post_type']) ) { + $post_type_object = get_post_type_object($_POST['post_type']); + if ( $post_type_object ) { + $post_type = $post_type_object->name; + $current_screen->post_type = $post_type; + $current_screen->id = $current_screen->post_type; + } + } + + check_ajax_referer('update-' . $post_type . '_' . $post_id, '_wpnonce'); + + $post_id = edit_post(); + + if ( is_wp_error($post_id) ) { + if ( $post_id->get_error_message() ) + $message = $post_id->get_error_message(); + else + $message = __('Save failed'); + + echo json_encode( array( 'message' => $message, 'last_edited' => '' ) ); + die(); + } else { + $message = __('Saved.'); + } + + if ( $post ) { + $last_date = mysql2date( get_option('date_format'), $post->post_modified ); + $last_time = mysql2date( get_option('time_format'), $post->post_modified ); + } else { + $last_date = date_i18n( get_option('date_format') ); + $last_time = date_i18n( get_option('time_format') ); + } + + if ( $last_id = get_post_meta($post_id, '_edit_last', true) ) { + $last_user = get_userdata($last_id); + $last_edited = sprintf( __('Last edited by %1$s on %2$s at %3$s'), esc_html( $last_user->display_name ), $last_date, $last_time ); + } else { + $last_edited = sprintf( __('Last edited on %1$s at %2$s'), $last_date, $last_time ); + } + + echo json_encode( array( 'message' => $message, 'last_edited' => $last_edited ) ); + die(); + break; default : do_action( 'wp_ajax_' . $_POST['action'] ); die('0'); diff --git a/wp-admin/admin-footer.php b/wp-admin/admin-footer.php index c43ef2e82..04d731590 100644 --- a/wp-admin/admin-footer.php +++ b/wp-admin/admin-footer.php @@ -14,14 +14,21 @@ if ( !defined('ABSPATH') ) <div class="clear"></div></div><!-- wpbody-content --> <div class="clear"></div></div><!-- wpbody --> <div class="clear"></div></div><!-- wpcontent --> -</div><!-- wpwrap --> <div id="footer"> +<?php do_action( 'in_admin_footer' ); ?> <p id="footer-left" class="alignleft"><?php -do_action( 'in_admin_footer' ); $upgrade = apply_filters( 'update_footer', '' ); -echo apply_filters( 'admin_footer_text', '<span id="footer-thankyou">' . __('Thank you for creating with <a href="http://wordpress.org/">WordPress</a>.').'</span> | '.__('<a href="http://codex.wordpress.org/">Documentation</a>').' | '.__('<a href="http://wordpress.org/support/forum/4">Feedback</a>') ); ?> -</p> +$footer_text = array( + '<span id="footer-thankyou">' . __( 'Thank you for creating with <a href="http://wordpress.org/">WordPress</a>.' ) . '</span>', + __( '<a href="http://codex.wordpress.org/">Documentation</a>' ), + sprintf( __( '<a href="%s">Freedoms</a>' ), admin_url( 'freedoms.php' ) ), + __('<a href="http://wordpress.org/support/forum/4">Feedback</a>'), + sprintf(__('<a href="%s">Credits</a>'), admin_url('credits.php') ), +); +echo apply_filters( 'admin_footer_text', implode( ' • ', $footer_text ) ); +unset( $footer_text ); +?></p> <p id="footer-upgrade" class="alignright"><?php echo $upgrade; ?></p> <div class="clear"></div> </div> @@ -38,6 +45,7 @@ if ( function_exists('get_site_option') ) { ?> +<div class="clear"></div></div><!-- wpwrap --> <script type="text/javascript">if(typeof wpOnload=='function')wpOnload();</script> </body> </html> diff --git a/wp-admin/admin-header.php b/wp-admin/admin-header.php index ac7934097..18b5ff3c3 100644 --- a/wp-admin/admin-header.php +++ b/wp-admin/admin-header.php @@ -28,7 +28,6 @@ else $admin_title = apply_filters( 'admin_title', $admin_title, $title ); wp_user_settings(); -wp_menu_unfold(); ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> @@ -68,8 +67,6 @@ var userSettings = { <?php if ( in_array( $pagenow, array('post.php', 'post-new.php') ) ) { - add_action( 'admin_print_footer_scripts', 'wp_tiny_mce', 25 ); - add_action( 'admin_print_footer_scripts', 'wp_tiny_mce_preload_dialogs', 30 ); wp_enqueue_script('quicktags'); } @@ -87,6 +84,13 @@ if ( get_user_setting('mfold') == 'f' ) if ( is_admin_bar_showing() ) $admin_body_class .= ' admin-bar'; +if ( is_rtl() ) + $admin_body_class .= ' rtl'; + +$admin_body_class .= ' branch-' . str_replace( '.', '-', floatval( $wp_version ) ); +$admin_body_class .= ' version-' . str_replace( '.', '-', preg_replace( '/^([.0-9]+).*/', '$1', $wp_version ) ); +$admin_body_class .= ' admin-color-' . sanitize_html_class( get_user_option( 'admin_color' ), 'fresh' ); + if ( $is_iphone ) { ?> <style type="text/css">.row-actions{visibility:visible;}</style> <?php } ?> @@ -103,6 +107,7 @@ document.body.className = c; </script> <div id="wpwrap"> +<?php require(ABSPATH . 'wp-admin/menu-header.php'); ?> <div id="wpcontent"> <div id="wphead"> <?php @@ -132,48 +137,66 @@ if ( function_exists('mb_strlen') ) { } ?> -<img id="header-logo" src="<?php echo esc_url( includes_url( 'images/blank.gif' ) ); ?>" alt="" width="32" height="32" /> +<img id="header-logo" src="<?php echo esc_url( includes_url( 'images/blank.gif' ) ); ?>" alt="" width="16" height="16" /> <h1 id="site-heading" <?php echo $title_class ?>> <a href="<?php echo trailingslashit( get_bloginfo( 'url' ) ); ?>" title="<?php esc_attr_e('Visit Site') ?>"> <span id="site-title"><?php echo $blog_name ?></span> </a> -<?php if ( !is_network_admin() && !is_user_admin() && current_user_can('manage_options') && '1' != get_option('blog_public') ): ?> - <a id="privacy-on-link" href="options-privacy.php" title="<?php echo esc_attr( apply_filters('privacy_on_link_title', __('Your site is asking search engines not to index its content') ) ); ?>"><?php echo apply_filters('privacy_on_link_text', __('Search Engines Blocked') ); ?></a> -<?php endif; ?> </h1> -<?php do_action('in_admin_header'); ?> +<?php + +do_action('in_admin_header'); -<div id="wphead-info"> -<div id="user_info"> -<p><?php $links = array(); -$links[5] = sprintf(__('Howdy, <a href="%1$s" title="Edit your profile">%2$s</a>'), 'profile.php', $user_identity); + +// Generate user profile and info links. +$links[5] = sprintf( __('Howdy, %1$s'), $user_identity ); + +$links[8] = '<a href="profile.php" title="' . esc_attr__('Edit your profile') . '">' . __('Your Profile') . '</a>'; + if ( is_multisite() && is_super_admin() ) { if ( !is_network_admin() ) - $links[10] = '| <a href="' . network_admin_url() . '" title="' . ( ! empty( $update_title ) ? $update_title : esc_attr__('Network Admin') ) . '">' . __('Network Admin') . ( ! empty( $total_update_count ) ? ' (' . number_format_i18n( $total_update_count ) . ')' : '' ) . '</a>'; + $links[10] = '<a href="' . network_admin_url() . '" title="' . ( ! empty( $update_title ) ? $update_title : esc_attr__('Network Admin') ) . '">' . __('Network Admin') . ( ! empty( $total_update_count ) ? ' (' . number_format_i18n( $total_update_count ) . ')' : '' ) . '</a>'; else - $links[10] = '| <a href="' . get_dashboard_url( get_current_user_id() ) . '" title="' . esc_attr__('Site Admin') . '">' . __('Site Admin') . '</a>'; + $links[10] = '<a href="' . get_dashboard_url( get_current_user_id() ) . '" title="' . esc_attr__('Site Admin') . '">' . __('Site Admin') . '</a>'; } -$links[15] = '| <a href="' . wp_logout_url() . '" title="' . esc_attr__('Log Out') . '">' . __('Log Out') . '</a>'; -$links = apply_filters('admin_user_info_links', $links, $current_user); -ksort($links); +$links[15] = '<a href="' . wp_logout_url() . '" title="' . esc_attr__('Log Out') . '">' . __('Log Out') . '</a>'; -echo implode(' ', $links); -?></p> -</div> +$links = apply_filters( 'admin_user_info_links', $links, $current_user ); +ksort( $links ); -<?php favorite_actions($current_screen); ?> +// Trim whitespace and pipes from links, then convert to list items. +$links = array_map( 'trim', $links, array_fill( 0, count( $links ), " |\n\t" ) ); + +$howdy = array_shift( $links ); + +$links_no_js = implode( ' | ', $links ); +$links_js = '<li>' . implode( '</li><li>', $links ) . '</li>'; + +?> + +<div id="wphead-info"> +<div id="user_info"> + <p class="hide-if-js"><?php echo "$howdy | $links_no_js"; ?></p> + + <div class="hide-if-no-js"> + <p><?php echo $howdy; ?></p> + <div id="user_info_arrow"></div> + <div id="user_info_links_wrap"><div id="user_info_links"> + <ul><?php echo $links_js; ?></ul> + </div></div> + </div> </div> </div> +</div> + <div id="wpbody"> <?php unset($title_class, $blog_name, $total_update_count, $update_title); -require(ABSPATH . 'wp-admin/menu-header.php'); - $current_screen->parent_file = $parent_file; $current_screen->parent_base = preg_replace('/\?.*$/', '', $parent_file); $current_screen->parent_base = str_replace('.php', '', $current_screen->parent_base); diff --git a/wp-admin/admin-post.php b/wp-admin/admin-post.php index d18bf711b..5f9eccb54 100644 --- a/wp-admin/admin-post.php +++ b/wp-admin/admin-post.php @@ -6,7 +6,7 @@ * @subpackage Administration */ -/** We are located in WordPress Administration Panels */ +/** We are located in WordPress Administration Screens */ define('WP_ADMIN', true); if ( defined('ABSPATH') ) diff --git a/wp-admin/admin.php b/wp-admin/admin.php index ebb99c5ef..ce1227d7d 100644 --- a/wp-admin/admin.php +++ b/wp-admin/admin.php @@ -7,7 +7,7 @@ */ /** - * In WordPress Administration Panels + * In WordPress Administration Screens * * @since 2.3.2 */ @@ -106,7 +106,7 @@ else require(ABSPATH . 'wp-admin/menu.php'); if ( current_user_can( 'manage_options' ) ) - @ini_set( 'memory_limit', apply_filters( 'admin_memory_limit', '256M' ) ); + @ini_set( 'memory_limit', apply_filters( 'admin_memory_limit', WP_MAX_MEMORY_LIMIT ) ); do_action('admin_init'); diff --git a/wp-admin/comment.php b/wp-admin/comment.php index 3e6245e39..a26ed5c56 100644 --- a/wp-admin/comment.php +++ b/wp-admin/comment.php @@ -1,6 +1,6 @@ <?php /** - * Comment Management Panel + * Comment Management Screen * * @package WordPress * @subpackage Administration @@ -48,8 +48,8 @@ case 'editcomment' : add_contextual_help( $current_screen, '<p>' . __( 'You can edit the information left in a comment if needed. This is often useful when you notice that a commenter has made a typographical error.' ) . '</p>' . '<p>' . __( 'You can also moderate the comment from this screen using the Status box, where you can also change the timestamp of the comment.' ) . '</p>' . '<p><strong>' . __( 'For more information:' ) . '</strong></p>' . - '<p>' . __( '<a href="http://codex.wordpress.org/Administration_Panels#Comments" target="_blank">Documentation on Comments</a>' ) . '</p>' . - '<p>' . __( '<a href="http://wordpress.org/support/" target="_blank" >Support Forums</a>' ) . '</p>' + '<p>' . __( '<a href="http://codex.wordpress.org/Administration_Screens#Comments" target="_blank">Documentation on Comments</a>' ) . '</p>' . + '<p>' . __( '<a href="http://wordpress.org/support/" target="_blank">Support Forums</a>' ) . '</p>' ); wp_enqueue_script('comment'); diff --git a/wp-admin/credits.php b/wp-admin/credits.php new file mode 100644 index 000000000..773053a9c --- /dev/null +++ b/wp-admin/credits.php @@ -0,0 +1,176 @@ +<?php +/** + * Credits administration panel. + * + * @package WordPress + * @subpackage Administration + */ + +/** WordPress Administration Bootstrap */ +require_once( './admin.php' ); + +$title = __( 'Credits' ); +$parent_file = 'index.php'; + +add_contextual_help($current_screen, + '<p>' . __('Each name or handle is a link to that person’s profile in the WordPress.org community directory.') . '</p>' . + '<p>' . __('You can register your own profile at <a href="http://wordpress.org/support/register.php" target="_blank">this link</a> to start contributing.') . '</p>' . + '<p>' . __('WordPress always needs more people to report bugs, patch bugs, test betas, work on UI design, translate strings, write documentation, and add questions/answers/suggestions to the Support Forums. Join in!') . '</p>' . + '<p><strong>' . __('For more information:') . '</strong></p>' . + '<p>' . __('<a href="http://codex.wordpress.org/Contributing_to_WordPress" target="_blank">Documentation on Contributing to WordPress</a>') . '</p>' . + '<p>' . __('<a href="http://wordpress.org/support/" target="_blank">Support Forums</a>') . '</p>' +); + +add_action( 'admin_head', '_wp_credits_add_css' ); +function _wp_credits_add_css() { ?> +<style type="text/css"> +div.wrap { max-width: 750px } +h3.wp-people-group, p.wp-credits-list { clear: both; } +ul.compact { margin-bottom: 0 } + +<?php if ( is_rtl() ) { ?> +ul.wp-people-group { margin-bottom: 30px; float: right; clear: both; } +li.wp-person { float: right; height: 70px; width: 220px; margin-left: 10px; } +li.wp-person img.gravatar { float: right; margin-left: 10px; margin-bottom: 10px; } +<?php } else { ?> +li.wp-person { float: left; margin-right: 10px; } +li.wp-person img.gravatar { float: left; margin-right: 10px; margin-bottom: 10px; } +<?php } ?> +li.wp-person img.gravatar { width: 60px; height: 60px; } +ul.compact li.wp-person img.gravatar { width: 30px; height: 30px; } +li.wp-person { height: 70px; width: 220px; } +ul.compact li.wp-person { height: 40px; width: auto; white-space: nowrap } +li.wp-person a.web { font-size: 16px; text-decoration: none; } +</style> +<?php } + +function wp_credits() { + global $wp_version; + $locale = get_locale(); + + $results = get_site_transient( 'wordpress_credits_' . $locale ); + + if ( ! is_array( $results ) ) { + $response = wp_remote_get( "http://api.wordpress.org/core/credits/1.0/?version=$wp_version&locale=$locale" ); + + if ( is_wp_error( $response ) || 200 != wp_remote_retrieve_response_code( $response ) ) + return false; + + $results = maybe_unserialize( wp_remote_retrieve_body( $response ) ); + + if ( ! is_array( $results ) ) + return false; + + set_site_transient( 'wordpress_credits_' . $locale, $results, 86400 ); // One day + } + + return $results; +} + +function _wp_credits_add_profile_link( &$display_name, $username, $profiles ) { + $display_name = '<a href="' . esc_url( sprintf( $profiles, $username ) ) . '">' . esc_html( $display_name ) . '</a>'; +} + +function _wp_credits_build_object_link( &$data ) { + $data = '<a href="' . esc_url( $data[1] ) . '">' . $data[0] . '</a>'; +} + +include( './admin-header.php' ); +?> +<div class="wrap"> +<?php screen_icon(); ?> +<h2><?php _e( 'WordPress Credits' ); ?></h2> + +<?php + +$credits = wp_credits(); + +if ( ! $credits ) { + echo '<p>' . sprintf( __( 'WordPress is created by a <a href="%1$s">worldwide team</a> of passionate individuals. <a href="%2$s">Get involved in WordPress</a>.' ), + 'http://wordpress.org/about/', + /* translators: Url to the codex documentation on contributing to WordPress used on the credits page */ + __( 'http://codex.wordpress.org/Contributing_to_WordPress' ) ) . '</p>'; + include( './admin-footer.php' ); + exit; +} + +echo '<p>' . __( 'WordPress is created by a worldwide team of passionate individuals. We couldn’t possibly list them all, but here some of the most influential people currently involved with the project:' ) . "</p>\n"; + +$gravatar = is_ssl() ? 'https://secure.gravatar.com/avatar/' : 'http://0.gravatar.com/avatar/'; + +foreach ( $credits['groups'] as $group_slug => $group_data ) { + if ( $group_data['name'] ) { + if ( 'Translators' == $group_data['name'] ) { + // Considered a special slug in the API response. (Also, will never be returned for en_US.) + $title = _x( 'Translators', 'Translate this to be the equivalent of English Translators in your language for the credits page Translators section' ); + } elseif ( isset( $group_data['placeholders'] ) ) { + $title = vsprintf( translate( $group_data['name'] ), $group_data['placeholders'] ); + } else { + $title = translate( $group_data['name'] ); + } + + echo '<h3 class="wp-people-group">' . $title . "</h3>\n"; + } + + if ( ! empty( $group_data['shuffle'] ) ) + shuffle( $group_data['data'] ); // We were going to sort by ability to pronounce "hierarchical," but that wouldn't be fair to Matt. + + switch ( $group_data['type'] ) { + case 'list' : + array_walk( $group_data['data'], '_wp_credits_add_profile_link', $credits['data']['profiles'] ); + echo '<p class="wp-credits-list">' . wp_sprintf( '%l.', $group_data['data'] ) . "</p>\n\n"; + break; + case 'libraries' : + array_walk( $group_data['data'], '_wp_credits_build_object_link' ); + echo '<p class="wp-credits-list">' . wp_sprintf( '%l.', $group_data['data'] ) . "</p>\n\n"; + break; + default: + $compact = 'compact' == $group_data['type']; + $classes = 'wp-people-group ' . ( $compact ? 'compact' : '' ); + echo '<ul class="' . $classes . '" id="wp-people-group-' . $group_slug . '">' . "\n"; + foreach ( $group_data['data'] as $person_data ) { + echo '<li class="wp-person" id="wp-person-' . $person_data[2] . '">' . "\n\t"; + echo '<a href="' . sprintf( $credits['data']['profiles'], $person_data[2] ) . '">'; + $size = 'compact' == $group_data['type'] ? '30' : '60'; + echo '<img src="' . $gravatar . $person_data[1] . '?s=' . $size . '" class="gravatar" alt="' . esc_attr( $person_data[0] ) . '" /></a>' . "\n\t"; + echo '<a class="web" href="' . sprintf( $credits['data']['profiles'], $person_data[2] ) . '">' . $person_data[0] . "</a>\n\t"; + if ( ! $compact ) + echo '<br /><span class="title">' . translate( $person_data[3] ) . "</span>\n"; + echo "</li>\n"; + } + echo "</ul>\n"; + break; + } +} + +?> +<p class="clear"><?php printf( __( 'Want to see your name in lights on this page? <a href="%s">Get involved in WordPress</a>.' ), + /* translators: Url to the codex documentation on contributing to WordPress used on the credits page */ + __( 'http://codex.wordpress.org/Contributing_to_WordPress' ) ); ?></p> + +</div> +<?php + +include( './admin-footer.php' ); + +return; + +// These are strings returned by the API that we want to be translatable +__( 'Project Leaders' ); +__( 'Extended Core Team' ); +__( 'Recent Rockstars' ); +__( 'Core Contributors to WordPress %s' ); +__( 'Cofounder, Project Lead' ); +__( 'Lead Developer' ); +__( 'User Experience Lead' ); +__( 'Core Committer' ); +__( 'Guest Committer' ); +__( 'Developer' ); +__( 'Designer' ); +__( 'XML-RPC' ); +__( 'Internationalization' ); +__( 'External Libraries' ); +__( 'Icon Design' ); +__( 'Blue Color Scheme' ); + +?> diff --git a/wp-admin/css/colors-classic-rtl.css b/wp-admin/css/colors-classic-rtl.css index e50945a5c..268fa9e90 100644 --- a/wp-admin/css/colors-classic-rtl.css +++ b/wp-admin/css/colors-classic-rtl.css @@ -1 +1 @@ -.bar{border-right-color:transparent;border-left-color:#99d;}.plugins .togl{border-right-color:transparent;border-left-color:#ccc;}.post-com-count{background-image:url(../images/bubble_bg-rtl.gif);}.tablenav .tablenav-pages a{background:#eee url(../images/menu-bits-rtl-vs.gif?ver=20101117) repeat-x scroll right -379px;}#upload-menu li.current{border-right-color:transparent;border-left-color:#448abd;}#adminmenu .wp-submenu .current a.current{background:transparent url(../images/menu-bits-rtl-vs.gif?ver=20101117) no-repeat scroll right -289px;}#adminmenu li.wp-menu-separator{background:transparent url(../images/menu-arrows.gif) no-repeat scroll right -34px;}.folded #adminmenu li.wp-menu-separator{background:transparent url(../images/menu-arrows.gif) no-repeat scroll left 5px;}#adminmenu li.wp-has-current-submenu .wp-menu-toggle,#adminmenu li.wp-has-current-submenu:hover .wp-menu-toggle{background:transparent url(../images/menu-bits-rtl-vs.gif?ver=20101117) repeat-x scroll right -207px;}#adminmenu .wp-has-current-submenu ul li a.current{background:url(../images/menu-dark-rtl-vs.gif) top right no-repeat!important;}#adminmenu li.wp-has-current-submenu a.wp-has-current-submenu,#adminmenu .menu-top .current{background:url(../images/menu-bits-rtl-vs.gif?ver=20101117) top right repeat-x;}#adminmenu li.wp-has-current-submenu ul li a{background:url(../images/menu-dark-rtl-vs.gif) bottom right no-repeat!important;}#adminmenu li.wp-has-current-submenu.wp-menu-open .wp-menu-toggle,#adminmenu li.wp-has-current-submenu:hover .wp-menu-toggle{background:transparent url(../images/menu-bits-rtl-vs.gif?ver=20101117) no-repeat right -207px;}#adminmenu .wp-has-submenu:hover .wp-menu-toggle,#adminmenu .wp-menu-open .wp-menu-toggle{background:transparent url(../images/menu-bits-rtl-vs.gif?ver=20101117) repeat-x scroll right -109px;}#adminmenu a.wp-has-submenu{background:#eff8ff url(../images/menu-bits-rtl-vs.gif?ver=20101117) repeat-x scroll right -379px;}#adminmenu .wp-submenu a{background:#fff url(../images/menu-bits-rtl-vs.gif?ver=20101117) no-repeat scroll right -99px;}#adminmenu li.wp-has-current-submenu a.wp-has-submenu{background:#b5b5b5 url(../images/menu-bits-rtl-vs.gif?ver=20101117) repeat-x scroll right top;}.meta-box-sortables .postbox:hover .handlediv{background:transparent url(../images/menu-bits-rtl-vs.gif?ver=20101117) no-repeat scroll right -111px;}#favorite-toggle{background:transparent url(../images/fav-arrow-rtl.gif?ver=20100531) no-repeat right -4px;} \ No newline at end of file +.bar{border-right-color:none;border-left-color:#99d;}.post-com-count{background-image:url(../images/bubble_bg-rtl.gif);}#user_info_arrow{background:transparent url(../images/arrows-vs.png) no-repeat 0 5px;}#user_info:hover #user_info_arrow,#user_info.active #user_info_arrow{background:transparent url(../images/arrows-dark-vs.png) no-repeat 0 5px;}#adminmenushadow,#adminmenuback{background-image:url(../images/menu-shadow-rtl.png);background-position:top left;}#adminmenu li.wp-has-current-submenu.wp-menu-open .wp-menu-toggle,#adminmenu li.wp-has-current-submenu:hover .wp-menu-toggle{background:transparent url(../images/arrows-dark-vs.png) no-repeat 8px 6px;}#adminmenu .wp-has-submenu:hover .wp-menu-toggle,#adminmenu .wp-menu-open .wp-menu-toggle{background:transparent url(../images/arrows-vs.png) no-repeat 8px 6px;}#adminmenu .wp-submenu .wp-submenu-head{border-right-color:none;border-left-color:#d1e5ee;}.folded #adminmenu .wp-submenu-wrap{-moz-box-shadow:-2px 2px 5px rgba(0,0,0,0.4);-webkit-box-shadow:-2px 2px 5px rgba(0,0,0,0.4);box-shadow:-2px 2px 5px rgba(0,0,0,0.4);}#collapse-button div{background-position:0 -108px;}.folded #collapse-button div{background-position:0 -72px;}.meta-box-sortables .postbox:hover .handlediv{background:transparent url(../images/arrows-vs.png) no-repeat 6px 7px;}.tablenav .tablenav-pages a{border-color:#d1e5ee;background:#eee url('../images/menu-bits-rtl-vs.gif?ver=20100610') repeat-x scroll right -379px;}#post-body .misc-pub-section{border-right-color:none;border-left-color:#d1e5ee;}#favorite-toggle{background:transparent url(../images/arrows-vs.png) no-repeat 4px 2px;}#screen-meta a.show-settings,.toggle-arrow{background:transparent url(../images/arrows-vs.png) no-repeat left 3px;}#screen-meta .screen-meta-active a.show-settings{background:transparent url(../images/arrows-vs.png) no-repeat left -33px;}.sidebar-name-arrow{background:transparent url(../images/arrows-vs.png) no-repeat 5px 9px;}.sidebar-name:hover .sidebar-name-arrow{background:transparent url(../images/arrows-dark-vs.png) no-repeat 5px 9px;} \ No newline at end of file diff --git a/wp-admin/css/colors-classic-rtl.dev.css b/wp-admin/css/colors-classic-rtl.dev.css index f88d9785a..8a5644422 100644 --- a/wp-admin/css/colors-classic-rtl.dev.css +++ b/wp-admin/css/colors-classic-rtl.dev.css @@ -1,78 +1,98 @@ .bar { - border-right-color: transparent; + border-right-color: none; border-left-color: #99d; } -.plugins .togl { - border-right-color: transparent; - border-left-color: #ccc; -} - .post-com-count { background-image: url(../images/bubble_bg-rtl.gif); } -.tablenav .tablenav-pages a { - background: #eee url(../images/menu-bits-rtl-vs.gif?ver=20101117) repeat-x scroll right -379px; + +#user_info_arrow { + background: transparent url(../images/arrows-vs.png) no-repeat 0 5px; } -#upload-menu li.current { - border-right-color: transparent; - border-left-color: #448abd; + +#user_info:hover #user_info_arrow, +#user_info.active #user_info_arrow { + background: transparent url(../images/arrows-dark-vs.png) no-repeat 0 5px; } -#adminmenu .wp-submenu .current a.current { - background: transparent url(../images/menu-bits-rtl-vs.gif?ver=20101117) no-repeat scroll right -289px; +/* editors */ + +/* menu */ + +#adminmenushadow, +#adminmenuback { + background-image: url(../images/menu-shadow-rtl.png); + background-position: top left; } -#adminmenu li.wp-menu-separator { - background: transparent url(../images/menu-arrows.gif) no-repeat scroll right -34px; +#adminmenu li.wp-has-current-submenu.wp-menu-open .wp-menu-toggle, +#adminmenu li.wp-has-current-submenu:hover .wp-menu-toggle { + background: transparent url(../images/arrows-dark-vs.png) no-repeat 8px 6px; } -.folded #adminmenu li.wp-menu-separator { - background: transparent url(../images/menu-arrows.gif) no-repeat scroll left 5px; +#adminmenu .wp-has-submenu:hover .wp-menu-toggle, +#adminmenu .wp-menu-open .wp-menu-toggle { + background: transparent url(../images/arrows-vs.png) no-repeat 8px 6px; } -#adminmenu li.wp-has-current-submenu .wp-menu-toggle, -#adminmenu li.wp-has-current-submenu:hover .wp-menu-toggle { - background: transparent url(../images/menu-bits-rtl-vs.gif?ver=20101117) repeat-x scroll right -207px; + +#adminmenu .wp-submenu .wp-submenu-head { + border-right-color: none; + border-left-color: #d1e5ee; } -#adminmenu .wp-has-current-submenu ul li a.current { - background: url(../images/menu-dark-rtl-vs.gif) top right no-repeat !important; +.folded #adminmenu .wp-submenu-wrap { + -moz-box-shadow: -2px 2px 5px rgba( 0, 0, 0, 0.4 ); + -webkit-box-shadow: -2px 2px 5px rgba( 0, 0, 0, 0.4 ); + box-shadow: -2px 2px 5px rgba( 0, 0, 0, 0.4 ); } -#adminmenu li.wp-has-current-submenu a.wp-has-current-submenu, -#adminmenu .menu-top .current { - background: url(../images/menu-bits-rtl-vs.gif?ver=20101117) top right repeat-x; +/* collapse menu button */ +#collapse-button div { + background-position: 0 -108px; } +.folded #collapse-button div { + background-position: 0 -72px; +} + +/* edit image */ -#adminmenu li.wp-has-current-submenu ul li a { - background: url(../images/menu-dark-rtl-vs.gif) bottom right no-repeat !important; +.meta-box-sortables .postbox:hover .handlediv { + background: transparent url(../images/arrows-vs.png) no-repeat 6px 7px; } -#adminmenu li.wp-has-current-submenu.wp-menu-open .wp-menu-toggle, #adminmenu li.wp-has-current-submenu:hover .wp-menu-toggle { - background: transparent url(../images/menu-bits-rtl-vs.gif?ver=20101117) no-repeat right -207px; +.tablenav .tablenav-pages a { + border-color: #d1e5ee; + background: #eee url('../images/menu-bits-rtl-vs.gif?ver=20100610') repeat-x scroll right -379px; } -#adminmenu .wp-has-submenu:hover .wp-menu-toggle, -#adminmenu .wp-menu-open .wp-menu-toggle { - background: transparent url(../images/menu-bits-rtl-vs.gif?ver=20101117) repeat-x scroll right -109px; +#post-body .misc-pub-section { + border-right-color: none; + border-left-color: #d1e5ee; } -#adminmenu a.wp-has-submenu { - background: #eff8ff url(../images/menu-bits-rtl-vs.gif?ver=20101117) repeat-x scroll right -379px; +#favorite-toggle { + background: transparent url(../images/arrows-vs.png) no-repeat 4px 2px; } -#adminmenu .wp-submenu a { - background: #fff url(../images/menu-bits-rtl-vs.gif?ver=20101117) no-repeat scroll right -99px; +#screen-meta a.show-settings, +.toggle-arrow { + background: transparent url(../images/arrows-vs.png) no-repeat left 3px; } -#adminmenu li.wp-has-current-submenu a.wp-has-submenu { - background: #b5b5b5 url(../images/menu-bits-rtl-vs.gif?ver=20101117) repeat-x scroll right top; +#screen-meta .screen-meta-active a.show-settings { + background: transparent url(../images/arrows-vs.png) no-repeat left -33px; } -.meta-box-sortables .postbox:hover .handlediv { - background: transparent url(../images/menu-bits-rtl-vs.gif?ver=20101117) no-repeat scroll right -111px; +.sidebar-name-arrow { + background: transparent url(../images/arrows-vs.png) no-repeat 5px 9px; } -#favorite-toggle { - background: transparent url(../images/fav-arrow-rtl.gif?ver=20100531) no-repeat right -4px; +.sidebar-name:hover .sidebar-name-arrow { + background: transparent url(../images/arrows-dark-vs.png) no-repeat 5px 9px; } + + +/* custom header & background pages */ + +/* custom header & background pages */ \ No newline at end of file diff --git a/wp-admin/css/colors-classic.css b/wp-admin/css/colors-classic.css index 5383c2966..d5d4ebe1c 100644 --- a/wp-admin/css/colors-classic.css +++ b/wp-admin/css/colors-classic.css @@ -1 +1 @@ -html,.wp-dialog{background-color:#fcfcfb;}* html input,* html .widget{border-color:#dfdfdf;}textarea,input[type="text"],input[type="password"],input[type="file"],input[type="button"],input[type="submit"],input[type="reset"],select{border-color:#dfdfdf;background-color:#fff;}kbd,code{background:#eaeaea;}input[readonly]{background-color:#eee;}.find-box-search{border-color:#dfdfdf;background-color:#f1f1f1;}.find-box{background-color:#f1f1f1;}.find-box-inside{background-color:#fff;}a.page-numbers:hover{border-color:#999;}body,#wpbody,.form-table .pre{color:#174f69;}body>#upload-menu{border-bottom-color:#fff;}#postcustomstuff table,#your-profile fieldset,#rightnow,div.dashboard-widget,#dashboard-widgets p.dashboard-widget-links,#replyrow #ed_reply_toolbar input{border-color:#D1E5EE;}#poststuff .inside label.spam,#poststuff .inside label.deleted{color:red;}#poststuff .inside label.waiting{color:orange;}#poststuff .inside label.approved{color:green;}#postcustomstuff table{border-color:#dfdfdf;background-color:#F9F9F9;}#postcustomstuff thead th{background-color:#F1F1F1;}#postcustomstuff table input,#postcustomstuff table textarea{border-color:#dfdfdf;background-color:#fff;}.widefat{border-color:#D1E5EE;background-color:#fff;}div.dashboard-widget-error{background-color:#c43;}div.dashboard-widget-notice{background-color:#cfe1ef;}div.dashboard-widget-submit{border-top-color:#ccc;}div.tabs-panel,.wp-tab-panel,ul.category-tabs li.tabs,ul.add-menu-item-tabs li.tabs,.wp-tab-active{border-color:#dfdfdf;}ul.category-tabs li.tabs,ul.add-menu-item-tabs li.tabs,.wp-tab-active{background-color:#f1f1f1;}input.disabled,textarea.disabled{background-color:#ccc;}#plugin-information .action-button a,#plugin-information .action-button a:hover,#plugin-information .action-button a:visited{color:#fff;}.widget .widget-top,.postbox h3,.stuffbox h3{background:#cfdfe9 url("../images/blue-grad.png?ver=20101102") repeat-x left top;text-shadow:#fff 0 1px 0;}.form-table th,.form-wrap label{color:#222;text-shadow:#fff 0 1px 0;}.description,.form-wrap p{color:#666;}strong .post-com-count span{background-color:#21759b;}.sorthelper{background-color:#ccf3fa;}.ac_match,.subsubsub a.current{color:#000;}.wrap h2{color:#174f69;}.ac_over{background-color:#f0f0b8;}.ac_results{background-color:#fff;border-color:#808080;}.ac_results li{color:#101010;}.alternate,.alt{background-color:#F8F7F3;}.available-theme a.screenshot{background-color:#f1f1f1;border-color:#ddd;}.bar{background-color:#e8e8e8;border-right-color:#99d;}#media-upload,#media-upload .media-item .slidetoggle{background:#fff;}#media-upload .slidetoggle{border-top-color:#dfdfdf;}div.error,.login #login_error{background-color:#ffebe8;border-color:#c00;}div.error a{color:#c00;}.form-invalid{background-color:#ffebe8!important;}.form-invalid input,.form-invalid select{border-color:#c00!important;}.submit{border-color:#DFDFDF;}.highlight{background-color:#e4f2fd;color:#000;}.howto,.nonessential,#edit-slug-box,.form-input-tip,.rss-widget span.rss-date,.subsubsub{color:#666;}.media-item{border-bottom-color:#dfdfdf;}#wpbody-content #media-items .describe{border-top-color:#dfdfdf;}.media-upload-form label.form-help,td.help{color:#9a9a9a;}.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{border-bottom-color:#dadada;}.side-info ul{color:#666;}.button,.button-secondary,.submit input,input[type=button],input[type=submit]{border-color:#bbb;color:#464646;}.button:hover,.button-secondary:hover,.submit input:hover,input[type=button]:hover,input[type=submit]:hover{color:#000;border-color:#666;}.button,.submit input,.button-secondary{background:#f2f2f2 url(../images/white-grad.png) repeat-x scroll left top;text-shadow:rgba(255,255,255,1) 0 1px 0;}.button:active,.submit input:active,.button-secondary:active{background:#eee url(../images/white-grad-active.png) repeat-x scroll left top;}input.button-primary,button.button-primary,a.button-primary{border-color:#298cba;font-weight:bold;color:#fff;background:#21759B url(../images/button-grad.png) repeat-x scroll left top;text-shadow:rgba(0,0,0,0.3) 0 -1px 0;}input.button-primary:active,button.button-primary:active,a.button-primary:active{background:#21759b url(../images/button-grad-active.png) repeat-x scroll left top;color:#eaf2fa;}input.button-primary:hover,button.button-primary:hover,a.button-primary:hover,a.button-primary:focus,a.button-primary:active{border-color:#13455b;color:#eaf2fa;}.button-disabled,.button[disabled],.button:disabled,.button-secondary[disabled],.button-secondary:disabled,a.button.disabled{color:#aaa!important;border-color:#ddd!important;}.button-primary-disabled,.button-primary[disabled],.button-primary:disabled{color:#9FD0D5!important;background:#298CBA!important;}a:hover,a:active,a:focus{color:#d54e21;}#wphead #viewsite a:hover,#adminmenu a:hover,#adminmenu ul.wp-submenu a:hover,#the-comment-list .comment a:hover,#rightnow a:hover,#media-upload a.del-link:hover,div.dashboard-widget-submit input:hover,.subsubsub a:hover,.subsubsub a.current:hover,.ui-tabs-nav a:hover,.plugins .inactive a:hover,#all-plugins-table .plugins .inactive a:hover,#search-plugins-table .plugins .inactive a:hover{color:#d54e21;}#the-comment-list .comment-item,#dashboard-widgets #dashboard_quick_press form p.submit{border-color:#dfdfdf;}#side-sortables .category-tabs .tabs a,#side-sortables .add-menu-item-tabs .tabs a,.wp-tab-bar .wp-tab-active a{color:#333;}#rightnow .rbutton{background-color:#ebebeb;color:#264761;}.submitbox .submit{background-color:#464646;color:#ccc;}.plugins a.delete:hover,#all-plugins-table .plugins a.delete:hover,#search-plugins-table .plugins a.delete:hover,.submitbox .submitdelete{color:#f00;border-bottom-color:#f00;}.submitbox .submitdelete:hover,#media-items a.delete:hover{color:#fff;background-color:#f00;border-bottom-color:#f00;}#normal-sortables .submitbox .submitdelete:hover{color:#000;background-color:#f00;border-bottom-color:#f00;}.tablenav .dots{border-color:transparent;}.tablenav .next,.tablenav .prev{border-color:transparent;color:#21759b;}.tablenav .next:hover,.tablenav .prev:hover{border-color:transparent;color:#d54e21;}div.updated,.login .message{background-color:#ffffe0;border-color:#e6db55;}.update-message{color:#000;}a.page-numbers{border-bottom-color:#B8D3E2;}.commentlist li{border-bottom-color:#ccc;}.widefat td,.widefat th{border-color:#dfdfdf;}.widefat th{text-shadow:rgba(255,255,255,0.8) 0 1px 0;}.widefat thead tr th,.widefat tfoot tr th,h3.dashboard-widget-title,h3.dashboard-widget-title span,h3.dashboard-widget-title small,.find-box-head{color:#333;background:#cfdfe9 url(../images/blue-grad.png?ver=20101102) repeat-x scroll left top;}th.sortable a:hover,th.sortable a:active,th.sortable a:focus{color:#333;}h3.dashboard-widget-title small a{color:#d7d7d7;}h3.dashboard-widget-title small a:hover{color:#fff;}a,#adminmenu a,#poststuff #edButtonPreview,#poststuff #edButtonHTML,#the-comment-list p.comment-author strong a,#media-upload a.del-link,#media-items a.delete,.plugins a.delete,.ui-tabs-nav a{color:#21759b;}#adminmenu #awaiting-mod,#adminmenu .update-plugins,#sidemenu a .update-plugins,#rightnow .reallynow{background-color:#464646;color:#fff;-moz-box-shadow:#fff 0 -1px 0;-khtml-box-shadow:#fff 0 -1px 0;-webkit-box-shadow:#fff 0 -1px 0;box-shadow:#fff 0 -1px 0;}#plugin-information .action-button{background-color:#d54e21;color:#fff;}#adminmenu li.current a #awaiting-mod,#adminmenu li a.wp-has-current-submenu .update-plugins{background-color:#464646;color:#fff;-moz-box-shadow:#fff 0 -1px 0;-khtml-box-shadow:#fff 0 -1px 0;-webkit-box-shadow:#fff 0 -1px 0;box-shadow:#fff 0 -1px 0;}div#media-upload-header,div#plugin-information-header{background-color:#f9f9f9;border-bottom-color:#dfdfdf;}#currenttheme img{border-color:#666;}#dashboard_secondary div.dashboard-widget-content ul li a{background-color:#f9f9f9;}input.readonly,textarea.readonly{background-color:#ddd;}#ed_toolbar input,#ed_reply_toolbar input{background:#fff url("../images/fade-butt.png") repeat-x 0 -2px;}#editable-post-name{background-color:#fffbcc;}#edit-slug-box strong,.tablenav .displaying-num,#submitted-on,.submitted-on{color:#777;}.login #nav a{color:#21759b!important;}.login #nav a:hover{color:#d54e21!important;}#footer{color:#777;border-color:#b0c8d7;background:#cfdfe9;background:-moz-linear-gradient(bottom,#cfdfe9,#eff8ff);background:-webkit-gradient(linear,left bottom,left top,from(#cfdfe9),to(#eff8ff));}#media-items,.imgedit-group{border-color:#dfdfdf;}.checkbox,.side-info,.plugins tr,#your-profile #rich_editing{background-color:#fff;}.plugins .inactive,.plugins .inactive th,.plugins .inactive td,tr.inactive+tr.plugin-update-tr .plugin-update{background-color:#efede7;}.plugin-update-tr .update-message{background-color:#fffbe4;border-color:#dfdfdf;}.plugins .active,.plugins .active th,.plugins .active td{color:#000;}.plugins .inactive a{color:#579;}#the-comment-list tr.undo,#the-comment-list div.undo{background-color:#f4f4f4;}#the-comment-list .unapproved{background-color:#ffffe0;}#the-comment-list .approve a{color:#006505;}#the-comment-list .unapprove a{color:#d98500;}table.widefat span.delete a,table.widefat span.trash a,table.widefat span.spam a,#dashboard_recent_comments .delete a,#dashboard_recent_comments .trash a,#dashboard_recent_comments .spam a{color:#bc0b0b;}.widget,#widget-list .widget-top,.postbox,#titlediv,#poststuff .postarea,.stuffbox{border-color:#D1E5EE;}.widget,.postbox{background-color:#fff;}.ui-sortable .postbox h3{color:#174f69;}.widget .widget-top,.ui-sortable .postbox h3:hover{color:#174f69;}.curtime #timestamp{background-image:url(../images/date-button.gif);}#quicktags #ed_link{color:#00f;}#rightnow .youhave{background-color:#f0f6fb;}#rightnow a{color:#448abd;}.tagchecklist span a,#bulk-titles div a{background:url(../images/xit.gif) no-repeat;}.tagchecklist span a:hover,#bulk-titles div a:hover{background:url(../images/xit.gif) no-repeat -10px 0;}#update-nag,.update-nag{background-color:#FFFBCC;border-color:#E6DB55;color:#555;}.login #backtoblog a{color:#464646;}#wphead{border-bottom:#b0c8d7 1px solid;background:#cfdfe9;background:-moz-linear-gradient(bottom,#cfdfe9,#eff8ff);background:-webkit-gradient(linear,left bottom,left top,from(#cfdfe9),to(#eff8ff));}#wphead h1 a{color:#174f69;}#user_info{color:#777;}#user_info a:link,#user_info a:visited,#footer a:link,#footer a:visited{color:#174f69;text-decoration:none;}#user_info a:hover,#footer a:hover{color:#000;text-decoration:underline!important;}div#media-upload-error,.file-error,abbr.required,.widget-control-remove:hover,table.widefat .delete a:hover,table.widefat .trash a:hover,table.widefat .spam a:hover,#dashboard_recent_comments .delete a:hover,#dashboard_recent_comments .trash a:hover #dashboard_recent_comments .spam a:hover{color:#f00;}#pass-strength-result{background-color:#eee;border-color:#ddd!important;}#pass-strength-result.bad{background-color:#ffb78c;border-color:#ff853c!important;}#pass-strength-result.good{background-color:#ffec8b;border-color:#fc0!important;}#pass-strength-result.short{background-color:#ffa0a0;border-color:#f04040!important;}#pass-strength-result.strong{background-color:#c3ff88;border-color:#8dff1c!important;}#quicktags{border-color:#cfdfe9;background-color:#cfdfe9;background-image:url("../images/ed-bg-vs.gif?ver=20101102");}#ed_toolbar input{border-color:#C3C3C3;}#ed_toolbar input:hover{border-color:#aaa;background:#ddd;}#poststuff .wp_themeSkin .mceStatusbar{border-color:#EDEDED;}#poststuff #edButtonPreview,#poststuff #edButtonHTML{background-color:#eff8ff;border-color:#D1E5EE;color:#999;}#poststuff #editor-toolbar .active{border-bottom-color:#eff8ff;background-color:#eff8ff;color:#333;}#post-status-info{background-color:#eff8ff;}.wp_themeSkin *,.wp_themeSkin a:hover,.wp_themeSkin a:link,.wp_themeSkin a:visited,.wp_themeSkin a:active{color:#000;}.wp_themeSkin iframe{background:#fff;}.wp_themeSkin .mceStatusbar{color:#000;background-color:#f5f5f5;}.wp_themeSkin .mceButton{background-color:#e9e8e8;border-color:#B2B2B2;}.wp_themeSkin a.mceButtonEnabled:hover,.wp_themeSkin a.mceButtonActive,.wp_themeSkin a.mceButtonSelected{background:#d5d5d5;border-color:#777!important;}.wp_themeSkin .mceButtonDisabled{border-color:#ccc!important;}.wp_themeSkin .mceListBox .mceText,.wp_themeSkin .mceListBox .mceOpen{border-color:#B2B2B2;background-color:#d5d5d5;}.wp_themeSkin table.mceListBoxEnabled:hover .mceOpen,.wp_themeSkin .mceListBoxHover .mceOpen,.wp_themeSkin .mceListBoxSelected .mceOpen,.wp_themeSkin .mceListBoxSelected .mceText{border-color:#777!important;background-color:#d5d5d5;}.wp_themeSkin table.mceListBoxEnabled:hover .mceText,.wp_themeSkin .mceListBoxHover .mceText{border-color:#777!important;}.wp_themeSkin select.mceListBox{border-color:#B2B2B2;background-color:#fff;}.wp_themeSkin .mceSplitButton a.mceAction,.wp_themeSkin .mceSplitButton a.mceOpen{border-color:#B2B2B2;}.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:#d5d5d5;border-color:#777!important;}.wp_themeSkin .mceSplitButtonActive{background-color:#B2B2B2;}.wp_themeSkin div.mceColorSplitMenu table{background-color:#ebebeb;border-color:#B2B2B2;}.wp_themeSkin .mceColorSplitMenu a{border-color:#B2B2B2;}.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;}.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:#f5f5f5;}.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;}.wp_themeSkin tr.mceFirst td.mceToolbar{background:#cfdfe9 url("../images/ed-bg-vs.gif?ver=20101102") repeat-x scroll left top;border-color:#cfdfe9;}.wp-admin #mceModalBlocker{background:#000;}.wp-admin .clearlooks2 .mceFocus .mceTop .mceLeft{background:#444;border-left:1px solid #999;border-top:1px solid #999;-moz-border-radius:4px 0 0 0;-webkit-border-top-left-radius:4px;-khtml-border-top-left-radius:4px;border-top-left-radius:4px;}.wp-admin .clearlooks2 .mceFocus .mceTop .mceRight{background:#444;border-right:1px solid #999;border-top:1px solid #999;border-top-right-radius:4px;-khtml-border-top-right-radius:4px;-webkit-border-top-right-radius:4px;-moz-border-radius:0 4px 0 0;}.wp-admin .clearlooks2 .mceMiddle .mceLeft{background:#f1f1f1;border-left:1px solid #999;}.wp-admin .clearlooks2 .mceMiddle .mceRight{background:#f1f1f1;border-right:1px solid #999;}.wp-admin .clearlooks2 .mceBottom{background:#f1f1f1;border-bottom:1px solid #999;}.wp-admin .clearlooks2 .mceBottom .mceLeft{background:#f1f1f1;border-bottom:1px solid #999;border-left:1px solid #999;}.wp-admin .clearlooks2 .mceBottom .mceCenter{background:#f1f1f1;border-bottom:1px solid #999;}.wp-admin .clearlooks2 .mceBottom .mceRight{background:#f1f1f1;border-bottom:1px solid #999;border-right:1px solid #999;}.wp-admin .clearlooks2 .mceFocus .mceTop span{color:#e5e5e5;}#editorcontainer,#post-status-info,#titlediv #title,.editwidget .widget-inside{border-color:#D1E5EE;}#titlediv #title{background-color:#fff;}#tTips p#tTips_inside{background-color:#ddd;color:#333;}#timestampdiv input,#namediv input,#poststuff .inside .the-tagcloud{border-color:#ddd;}#adminmenu *{border-color:#d1e5ee;}#adminmenu li.wp-menu-separator{background:transparent url(../images/menu-arrows.gif) no-repeat scroll left 5px;}.folded #adminmenu li.wp-menu-separator{background:transparent url(../images/menu-arrows.gif) no-repeat scroll right -34px;}#adminmenu li.wp-has-current-submenu.wp-menu-open .wp-menu-toggle,#adminmenu li.wp-has-current-submenu:hover .wp-menu-toggle{background:transparent url(../images/menu-bits-vs.gif?ver=20101102) no-repeat scroll left -207px;}#adminmenu .wp-has-submenu:hover .wp-menu-toggle,#adminmenu .wp-menu-open .wp-menu-toggle{background:transparent url(../images/menu-bits-vs.gif?ver=20101102) no-repeat scroll left -109px;}#adminmenu a.menu-top{background:#eff8ff url(../images/menu-bits-vs.gif?ver=20101102) repeat-x scroll left -379px;}#adminmenu .wp-submenu a{background:#fff url(../images/menu-bits-vs.gif?ver=20101102) no-repeat scroll 0 -99px;}#adminmenu .wp-has-current-submenu ul li a{background:none;}#adminmenu .wp-has-current-submenu ul li a.current{background:url(../images/menu-dark-vs.gif) top left no-repeat!important;}.wp-has-current-submenu .wp-submenu{border-top:none!important;}#adminmenu li.wp-has-current-submenu a.wp-has-current-submenu{border-bottom:#aaa 1px solid;}#adminmenu li.wp-has-current-submenu a.wp-has-current-submenu,#adminmenu li.current a.menu-top{background:#d0dfe9 url(../images/menu-bits-vs.gif?ver=20101102) top left repeat-x;border:#5589aa 1px solid;color:#464646;}#adminmenu li.wp-has-current-submenu .wp-submenu,#adminmenu li.wp-has-current-submenu ul li a{border-right-color:#5589aa!important;border-left-color:#5589aa!important;}#adminmenu li.wp-has-current-submenu ul li a{background:url(../images/menu-dark-vs.gif) bottom left no-repeat!important;}#adminmenu li.wp-has-current-submenu ul{border-bottom-color:#5589aa;}#adminmenu .wp-submenu .current a.current{background:transparent url(../images/menu-bits-vs.gif?ver=20101102) no-repeat scroll 0 -289px;}#adminmenu .wp-submenu a:hover{background-color:#f8f7f3!important;color:#333!important;}#adminmenu .wp-submenu li.current,#adminmenu .wp-submenu li.current a,#adminmenu .wp-submenu li.current a:hover{color:#333;background-color:#efede7;background-image:none;border-color:#5589aa;}#adminmenu .wp-submenu ul{background-color:#fff;}.folded #adminmenu li.menu-top,#adminmenu .wp-submenu .wp-submenu-head{background:#eff8ff url(../images/menu-bits-vs.gif?ver=20101102) repeat-x scroll left -379px;}.folded #adminmenu li.wp-has-current-submenu,.folded #adminmenu li.menu-top.current{background:#e0e0e0 url(../images/menu-bits-vs.gif?ver=20101102) top left repeat-x;border:#5589aa 1px solid;color:#464646;}#adminmenu .wp-has-current-submenu .wp-submenu .wp-submenu-head{background:#d0dfe9 url(../images/menu-bits-vs.gif?ver=20101102) repeat-x 0 0;border:1px solid;color:#464646;}#adminmenu div.wp-submenu{background-color:transparent;}#adminmenu .menu-icon-dashboard div.wp-menu-image{background:transparent url('../images/menu-vs.png?ver=20100531') no-repeat scroll -61px -33px;}#adminmenu .menu-icon-dashboard:hover div.wp-menu-image,#adminmenu .menu-icon-dashboard.wp-has-current-submenu div.wp-menu-image,#adminmenu .menu-icon-dashboard.current div.wp-menu-image{background:transparent url('../images/menu-vs.png?ver=20100531') no-repeat scroll -61px -1px;}#adminmenu .menu-icon-post div.wp-menu-image{background:transparent url('../images/menu-vs.png?ver=20100531') no-repeat scroll -272px -33px;}#adminmenu .menu-icon-post:hover div.wp-menu-image,#adminmenu .menu-icon-post.wp-has-current-submenu div.wp-menu-image{background:transparent url('../images/menu-vs.png?ver=20100531') no-repeat scroll -272px -1px;}#adminmenu .menu-icon-media div.wp-menu-image{background:transparent url('../images/menu-vs.png?ver=20100531') no-repeat scroll -121px -33px;}#adminmenu .menu-icon-media:hover div.wp-menu-image,#adminmenu .menu-icon-media.wp-has-current-submenu div.wp-menu-image{background:transparent url('../images/menu-vs.png?ver=20100531') no-repeat scroll -121px -1px;}#adminmenu .menu-icon-links div.wp-menu-image{background:transparent url('../images/menu-vs.png?ver=20100531') no-repeat scroll -91px -33px;}#adminmenu .menu-icon-links:hover div.wp-menu-image,#adminmenu .menu-icon-links.wp-has-current-submenu div.wp-menu-image{background:transparent url('../images/menu-vs.png?ver=20100531') no-repeat scroll -91px -1px;}#adminmenu .menu-icon-page div.wp-menu-image{background:transparent url('../images/menu-vs.png?ver=20100531') no-repeat scroll -151px -33px;}#adminmenu .menu-icon-page:hover div.wp-menu-image,#adminmenu .menu-icon-page.wp-has-current-submenu div.wp-menu-image{background:transparent url('../images/menu-vs.png?ver=20100531') no-repeat scroll -151px -1px;}#adminmenu .menu-icon-comments div.wp-menu-image{background:transparent url('../images/menu-vs.png?ver=20100531') no-repeat scroll -31px -33px;}#adminmenu .menu-icon-comments:hover div.wp-menu-image,#adminmenu .menu-icon-comments.wp-has-current-submenu div.wp-menu-image,#adminmenu .menu-icon-comments.current div.wp-menu-image{background:transparent url('../images/menu-vs.png?ver=20100531') no-repeat scroll -31px -1px;}#adminmenu .menu-icon-appearance div.wp-menu-image{background:transparent url('../images/menu-vs.png?ver=20100531') no-repeat scroll -1px -33px;}#adminmenu .menu-icon-appearance:hover div.wp-menu-image,#adminmenu .menu-icon-appearance.wp-has-current-submenu div.wp-menu-image{background:transparent url('../images/menu-vs.png?ver=20100531') no-repeat scroll -1px -1px;}#adminmenu .menu-icon-plugins div.wp-menu-image{background:transparent url('../images/menu-vs.png?ver=20100531') no-repeat scroll -181px -33px;}#adminmenu .menu-icon-plugins:hover div.wp-menu-image,#adminmenu .menu-icon-plugins.wp-has-current-submenu div.wp-menu-image{background:transparent url('../images/menu-vs.png?ver=20100531') no-repeat scroll -181px -1px;}#adminmenu .menu-icon-users div.wp-menu-image{background:transparent url('../images/menu-vs.png?ver=20100531') no-repeat scroll -301px -33px;}#adminmenu .menu-icon-users:hover div.wp-menu-image,#adminmenu .menu-icon-users.wp-has-current-submenu div.wp-menu-image{background:transparent url('../images/menu-vs.png?ver=20100531') no-repeat scroll -301px -1px;}#adminmenu .menu-icon-tools div.wp-menu-image{background:transparent url('../images/menu-vs.png?ver=20100531') no-repeat scroll -211px -33px;}#adminmenu .menu-icon-tools:hover div.wp-menu-image,#adminmenu .menu-icon-tools.wp-has-current-submenu div.wp-menu-image{background:transparent url('../images/menu-vs.png?ver=20100531') no-repeat scroll -211px -1px;}#adminmenu .menu-icon-settings div.wp-menu-image{background:transparent url('../images/menu-vs.png?ver=20100531') no-repeat scroll -241px -33px;}#adminmenu .menu-icon-settings:hover div.wp-menu-image,#adminmenu .menu-icon-settings.wp-has-current-submenu div.wp-menu-image{background:transparent url('../images/menu-vs.png?ver=20100531') no-repeat scroll -241px -1px;}#adminmenu .menu-icon-site div.wp-menu-image{background:transparent url('../images/menu-vs.png?ver=20100531') no-repeat scroll -361px -33px;}#adminmenu .menu-icon-site:hover div.wp-menu-image,#adminmenu .menu-icon-site.wp-has-current-submenu div.wp-menu-image{background:transparent url('../images/menu-vs.png?ver=20100531') no-repeat scroll -361px -1px;}table.diff .diff-deletedline{background-color:#fdd;}table.diff .diff-deletedline del{background-color:#f99;}table.diff .diff-addedline{background-color:#dfd;}table.diff .diff-addedline ins{background-color:#9f9;}#att-info{background-color:#E4F2FD;}#sidemenu a{background-color:#f9f9f9;border-color:#f9f9f9;border-bottom-color:#dfdfdf;}#sidemenu a.current{background-color:#fff;border-color:#dfdfdf #dfdfdf #fff;color:#D54E21;}#screen-options-wrap,#contextual-help-wrap{background-color:#F8F7F3;border-color:#D1e5ee;}#screen-meta-links a.show-settings{color:#606060;}#screen-meta-links a.show-settings:hover{color:#000;}#replysubmit{background-color:#f1f1f1;border-top-color:#ddd;}#replyerror{border-color:#ddd;background-color:#f9f9f9;}#edithead,#replyhead{background-color:#f1f1f1;}#ed_reply_toolbar{background-color:#e9e9e9;}.vim-current,.vim-current th,.vim-current td{background-color:#E4F2FD!important;}.star-average,.star.star-rating{background-color:#fc0;}div.star.select:hover{background-color:#d00;}#plugin-information .fyi ul{background-color:#eaf3fa;}#plugin-information .fyi h2.mainheader{background-color:#cee1ef;}#plugin-information pre,#plugin-information code{background-color:#ededff;}#plugin-information pre{border:1px solid #ccc;}.inline-edit-row fieldset input[type="text"],.inline-edit-row fieldset textarea,#bulk-titles,#replyrow input{border-color:#ddd;}.inline-editor div.title{background-color:#EAF3FA;}.inline-editor ul.cat-checklist{background-color:#fff;border-color:#ddd;}.inline-editor .categories .catshow,.inline-editor .categories .cathide{color:#21759b;}.inline-editor .quick-edit-save{background-color:#f1f1f1;}#replyrow #ed_reply_toolbar input:hover{border-color:#aaa;background:#ddd;}fieldset.inline-edit-col-right .inline-edit-col{border-color:#dfdfdf;}.attention{color:#D54E21;}body.press-this .postbox:hover .handlediv,body.press-this .stuffbox:hover .handlediv,.meta-box-sortables .postbox:hover .handlediv{background:transparent url(../images/menu-bits-vs.gif?ver=20101102) no-repeat scroll left -111px;}#major-publishing-actions{background:#eaf2fa;}.tablenav .tablenav-pages{color:#555;}.tablenav .tablenav-pages a{border-color:#d1e5ee;background:#eee url('../images/menu-bits-vs.gif?ver=20101102') repeat-x scroll left -379px;}.tablenav .tablenav-pages a:hover,.tablenav .tablenav-pages a:focus{color:#d54e21;}.tablenav .tablenav-pages a.disabled,.tablenav .tablenav-pages a.disabled:hover,.tablenav .tablenav-pages a.disabled:focus{color:#aaa;}.tablenav .tablenav-pages .current{background:#dfdfdf;border-color:#d3d3d3;}#availablethemes,#availablethemes td{border-color:#ddd;}#current-theme img{border-color:#999;}#TB_window #TB_title a.tb-theme-preview-link,#TB_window #TB_title a.tb-theme-preview-link:visited{color:#999;}#TB_window #TB_title a.tb-theme-preview-link:hover,#TB_window #TB_title a.tb-theme-preview-link:focus{color:#ccc;}.misc-pub-section{border-bottom-color:#eee;}#minor-publishing{border-bottom-color:#ddd;}#post-body .misc-pub-section{border-right-color:#eee;}.post-com-count span{background-color:#bbb;}.form-table .color-palette td{border-color:#fff;}.sortable-placeholder{border-color:#bbb;background-color:#f5f5f5;}#post-body ul.category-tabs li.tabs a,#post-body ul.add-menu-item-tabs li.tabs a,body.press-this ul.category-tabs li.tabs a{color:#333;}#wp_editimgbtn,#wp_delimgbtn,#wp_editgallery,#wp_delgallery{border-color:#999;background-color:#eee;}#wp_editimgbtn:hover,#wp_delimgbtn:hover,#wp_editgallery:hover,#wp_delgallery:hover{border-color:#555;background-color:#ccc;}#favorite-first{border-color:#c0c0c0;background:#f1f1f1;background:-moz-linear-gradient(bottom,#e7e7e7,#fff);background:-webkit-gradient(linear,left bottom,left top,from(#e7e7e7),to(#fff));}#favorite-inside{border-color:#c0c0c0;background-color:#fff;}#favorite-toggle{background:transparent url(../images/fav-arrow.gif?ver=20100531) no-repeat 0 -4px;}#favorite-actions a{color:#464646;}#favorite-actions a:hover{color:#000;}#favorite-inside a:hover{text-decoration:underline;}#screen-meta .screen-meta-toggle{background:#D1E5ee;}#screen-meta a.show-settings,.toggle-arrow{background-image:url("../images/screen-options-toggle-vs.gif?ver=20100531");}#icon-edit,#icon-post{background:transparent url(../images/icons32-vs.png?ver=20100531) no-repeat -552px -5px;}#icon-index{background:transparent url(../images/icons32-vs.png?ver=20100531) no-repeat -137px -5px;}#icon-upload{background:transparent url(../images/icons32-vs.png?ver=20100531) no-repeat -251px -5px;}#icon-link-manager,#icon-link,#icon-link-category{background:transparent url(../images/icons32-vs.png?ver=20100531) no-repeat -190px -5px;}#icon-edit-pages,#icon-page{background:transparent url(../images/icons32-vs.png?ver=20100531) no-repeat -312px -5px;}#icon-edit-comments{background:transparent url(../images/icons32-vs.png?ver=20100531) no-repeat -72px -5px;}#icon-themes{background:transparent url(../images/icons32-vs.png?ver=20100531) no-repeat -11px -5px;}#icon-plugins{background:transparent url(../images/icons32-vs.png?ver=20100531) no-repeat -370px -5px;}#icon-users,#icon-profile,#icon-user-edit{background:transparent url(../images/icons32-vs.png?ver=20100531) no-repeat -600px -5px;}#icon-tools,#icon-admin{background:transparent url(../images/icons32-vs.png?ver=20100531) no-repeat -432px -5px;}#icon-options-general{background:transparent url(../images/icons32-vs.png?ver=20100531) no-repeat -492px -5px;}#icon-ms-admin{background:transparent url(../images/icons32-vs.png?ver=20100531) no-repeat -659px -5px;}.view-switch #view-switch-list{background:transparent url(../images/list.png) no-repeat 0 0;}.view-switch .current #view-switch-list{background:transparent url(../images/list.png) no-repeat -40px 0;}.view-switch #view-switch-excerpt{background:transparent url(../images/list.png) no-repeat -20px 0;}.view-switch .current #view-switch-excerpt{background:transparent url(../images/list.png) no-repeat -60px 0;}#header-logo{background:transparent url(../images/wp-logo-vs.png?ver=20101102) no-repeat scroll center center;}.popular-tags,.feature-filter{background-color:#fff;border-color:#DFDFDF;}#theme-information .action-button{border-top-color:#DFDFDF;}.theme-listing br.line{border-bottom-color:#ccc;}div.widgets-sortables,#widgets-left .inactive{border-color:#D1E5EE;background-color:#f8f7f3;-moz-border-radius-bottomleft:8px;-moz-border-radius-bottomright:8px;}#available-widgets .widget-holder{background-color:#fff;border-color:#ddd;}#widgets-left .sidebar-name{background-color:#aaa;background-image:url(../images/ed-bg-vs.gif?ver=20101102);text-shadow:#fff 0 1px 0;border-color:#dfdfdf;}#widgets-right .sidebar-name{background-image:url(../images/button-grad.png);text-shadow:#174f69 0 -1px 0;background-color:#cfdfe9;border-color:#174f69;color:#fff;}.sidebar-name:hover,#removing-widget{color:#d54e21;}#removing-widget span{color:black;}#widgets-left .sidebar-name-arrow{background:transparent url(../images/menu-bits-vs.gif?ver=20101102) no-repeat scroll left -109px;}#widgets-right .sidebar-name-arrow{background:url("../images/widgets-arrow-vs.gif?ver=20100531") no-repeat scroll 0 -1px transparent;}.in-widget-title{color:#606060;}.deleting .widget-title *{color:#aaa;}.imgedit-menu div{border-color:#d5d5d5;background-color:#f1f1f1;}.imgedit-menu div:hover{border-color:#c1c1c1;background-color:#eaeaea;}.imgedit-menu div.disabled{border-color:#ccc;background-color:#ddd;filter:alpha(opacity=50);opacity:.5;}#dashboard_recent_comments div.undo{border-top-color:#dfdfdf;}.comment-ays,.comment-ays th{border-color:#ddd;}.comment-ays th{background-color:#f1f1f1;}#nav-menu-header,#nav-menu-footer,.menu-item-handle{background:url("../images/ed-bg-vs.gif?ver=20101102") repeat-x scroll left top #cfdfe9;border-top:solid #D1E5EE 1px;}#menu-management .nav-tab-active{background:#eff8ff;border-bottom-color:#eff8ff;} \ No newline at end of file +html,.wp-dialog{background-color:#fff;}* html input,* html .widget{border-color:#dfdfdf;}textarea,input[type="text"],input[type="password"],input[type="file"],input[type="button"],input[type="submit"],input[type="reset"],select{border-color:#dfdfdf;background-color:#fff;}kbd,code{background:#eaeaea;}input[readonly]{background-color:#eee;}.find-box-search{border-color:#dfdfdf;background-color:#f1f1f1;}.find-box{background-color:#f1f1f1;}.find-box-inside{background-color:#fff;}a.page-numbers:hover{border-color:#999;}body,#wpbody,.form-table .pre{color:#333;}body>#upload-menu{border-bottom-color:#fff;}#postcustomstuff table,#your-profile fieldset,#rightnow,div.dashboard-widget,#dashboard-widgets p.dashboard-widget-links,#replyrow #ed_reply_toolbar input{border-color:#D1E5EE;}#poststuff .inside label.spam,#poststuff .inside label.deleted{color:red;}#poststuff .inside label.waiting{color:orange;}#poststuff .inside label.approved{color:green;}#postcustomstuff table{border-color:#dfdfdf;background-color:#F9F9F9;}#postcustomstuff thead th{background-color:#F1F1F1;}#postcustomstuff table input,#postcustomstuff table textarea{border-color:#dfdfdf;background-color:#fff;}.widefat{border-color:#D1E5EE;background-color:#fff;}div.dashboard-widget-error{background-color:#c43;}div.dashboard-widget-notice{background-color:#cfe1ef;}div.dashboard-widget-submit{border-top-color:#ccc;}div.tabs-panel,.wp-tab-panel,ul.category-tabs li.tabs,ul.add-menu-item-tabs li.tabs,.wp-tab-active{border-color:#dfdfdf;background-color:#fff;}ul.category-tabs li.tabs,ul.add-menu-item-tabs li.tabs,.wp-tab-active{background-color:#fff;}input.disabled,textarea.disabled{background-color:#ccc;}#plugin-information .action-button a,#plugin-information .action-button a:hover,#plugin-information .action-button a:visited{color:#fff;}.widget .widget-top,.postbox h3,.stuffbox h3,.widefat thead tr th,.widefat tfoot tr th,h3.dashboard-widget-title,h3.dashboard-widget-title span,h3.dashboard-widget-title small,.find-box-head,.sidebar-name,#nav-menu-header,#nav-menu-footer,.menu-item-handle,#fullscreen-topbar{background-color:#f5fafd;background-image:-ms-linear-gradient(top,#f7fcfe,#eff8ff);background-image:-moz-linear-gradient(top,#f7fcfe,#eff8ff);background-image:-o-linear-gradient(top,#f7fcfe,#eff8ff);background-image:-webkit-gradient(linear,left top,left bottom,from(#f7fcfe),to(#eff8ff));background-image:-webkit-linear-gradient(top,#f7fcfe,#eff8ff);background-image:linear-gradient(top,#f7fcfe,#eff8ff);}.widget .widget-top,.postbox h3,.stuffbox h3{border-bottom-color:#D1E5EE;text-shadow:#fff 0 1px 0;-moz-box-shadow:0 1px 0 #fff;-webkit-box-shadow:0 1px 0 #fff;box-shadow:0 1px 0 #fff;}.form-table th,.form-wrap label{color:#222;text-shadow:#fff 0 1px 0;}.description,.form-wrap p{color:#666;}strong .post-com-count span{background-color:#21759b;}.sorthelper{background-color:#ccf3fa;}.ac_match,.subsubsub a.current{color:#000;}.wrap h2{color:#174f69;}.wrap .add-new-h2{background:#f1f1f1;}.subtitle{color:#777;}.ac_over{background-color:#f0f0b8;}.ac_results{background-color:#fff;border-color:#808080;}.ac_results li{color:#101010;}.alternate,.alt{background-color:#f7fcfe;}.available-theme a.screenshot{background-color:#f1f1f1;border-color:#ddd;}.bar{background-color:#e8e8e8;border-right-color:#99d;}#media-upload,#media-upload .media-item .slidetoggle{background:#fff;}#media-upload .slidetoggle{border-top-color:#dfdfdf;}div.error,.login #login_error{background-color:#ffebe8;border-color:#c00;}div.error a{color:#c00;}.form-invalid{background-color:#ffebe8!important;}.form-invalid input,.form-invalid select{border-color:#c00!important;}.submit{border-color:#DFDFDF;}.highlight{background-color:#e4f2fd;color:#000;}.howto,.nonessential,#edit-slug-box,.form-input-tip,.subsubsub{color:#666;}.media-item{border-bottom-color:#dfdfdf;}#wpbody-content #media-items .describe{border-top-color:#dfdfdf;}.media-upload-form label.form-help,td.help{color:#9a9a9a;}.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{border-bottom-color:#dadada;}.side-info ul{color:#666;}.button,.button-secondary,.submit input,input[type=button],input[type=submit]{border-color:#bbb;color:#464646;}.button:hover,.button-secondary:hover,.submit input:hover,input[type=button]:hover,input[type=submit]:hover{color:#000;border-color:#666;}.button,.submit input,.button-secondary{background:#f2f2f2 url(../images/white-grad.png) repeat-x scroll left top;text-shadow:rgba(255,255,255,1) 0 1px 0;}.button:active,.submit input:active,.button-secondary:active{background:#eee url(../images/white-grad-active.png) repeat-x scroll left top;}input.button-primary,button.button-primary,a.button-primary{border-color:#298cba;font-weight:bold;color:#fff;background:#21759B url(../images/button-grad.png) repeat-x scroll left top;text-shadow:rgba(0,0,0,0.3) 0 -1px 0;}input.button-primary:active,button.button-primary:active,a.button-primary:active{background:#21759b url(../images/button-grad-active.png) repeat-x scroll left top;color:#eaf2fa;}input.button-primary:hover,button.button-primary:hover,a.button-primary:hover,a.button-primary:focus,a.button-primary:active{border-color:#13455b;color:#eaf2fa;}.button-disabled,.button[disabled],.button:disabled,.button-secondary[disabled],.button-secondary:disabled,a.button.disabled{color:#aaa!important;border-color:#ddd!important;}.button-primary-disabled,.button-primary[disabled],.button-primary:disabled{color:#9FD0D5!important;background:#298CBA!important;}a:hover,a:active,a:focus{color:#d54e21;}#wphead #viewsite a:hover,#adminmenu a:hover,#adminmenu ul.wp-submenu a:hover,#the-comment-list .comment a:hover,#rightnow a:hover,#media-upload a.del-link:hover,div.dashboard-widget-submit input:hover,.subsubsub a:hover,.subsubsub a.current:hover,.ui-tabs-nav a:hover,.plugins .inactive a:hover,#all-plugins-table .plugins .inactive a:hover,#search-plugins-table .plugins .inactive a:hover{color:#d54e21;}#the-comment-list .comment-item,#dashboard-widgets #dashboard_quick_press form p.submit{border-color:#dfdfdf;}#side-sortables .category-tabs .tabs a,#side-sortables .add-menu-item-tabs .tabs a,.wp-tab-bar .wp-tab-active a{color:#333;}#rightnow .rbutton{background-color:#ebebeb;color:#264761;}.submitbox .submit{background-color:#464646;color:#ccc;}.plugins a.delete:hover,#all-plugins-table .plugins a.delete:hover,#search-plugins-table .plugins a.delete:hover,.submitbox .submitdelete{color:#f00;border-bottom-color:#f00;}.submitbox .submitdelete:hover,#media-items a.delete:hover{color:#fff;background-color:#f00;border-bottom-color:#f00;}#normal-sortables .submitbox .submitdelete:hover{color:#000;background-color:#f00;border-bottom-color:#f00;}.tablenav .dots{border-color:transparent;}.tablenav .next,.tablenav .prev{border-color:transparent;color:#21759b;}.tablenav .next:hover,.tablenav .prev:hover{border-color:transparent;color:#d54e21;}div.updated,.login .message{background-color:#ffffe0;border-color:#e6db55;}.update-message{color:#000;}a.page-numbers{border-bottom-color:#B8D3E2;}.commentlist li{border-bottom-color:#ccc;}.widefat td,.widefat th{border-top-color:#fff;border-bottom-color:#D0DFE9;}.widefat th{text-shadow:rgba(255,255,255,0.8) 0 1px 0;}.widefat td{color:#555;}.widefat p,.widefat ol,.widefat ul{color:#333;}.widefat thead tr th,.widefat tfoot tr th,h3.dashboard-widget-title,h3.dashboard-widget-title span,h3.dashboard-widget-title small,.find-box-head{color:#333;}th.sortable a:hover,th.sortable a:active,th.sortable a:focus{color:#333;}h3.dashboard-widget-title small a{color:#d7d7d7;}h3.dashboard-widget-title small a:hover{color:#fff;}a,#adminmenu a,#poststuff #edButtonPreview,#poststuff #edButtonHTML,#the-comment-list p.comment-author strong a,#media-upload a.del-link,#media-items a.delete,.plugins a.delete,.ui-tabs-nav a{color:#21759b;}#adminmenu .awaiting-mod,#adminmenu .update-plugins,#sidemenu a .update-plugins,#rightnow .reallynow{background-color:#464646;color:#fff;-moz-box-shadow:rgba(255,255,255,0.5) 0 1px 0;-khtml-box-shadow:rgba(255,255,255,0.5) 0 1px 0;-webkit-box-shadow:rgba(255,255,255,0.5) 0 1px 0;box-shadow:rgba(255,255,255,0.5) 0 1px 0;}#plugin-information .action-button{background-color:#d54e21;color:#fff;}#adminmenu li.current a .awaiting-mod,#adminmenu li a.wp-has-current-submenu .update-plugins{background-color:#464646;color:#fff;-moz-box-shadow:rgba(255,255,255,0.5) 0 1px 0;-khtml-box-shadow:rgba(255,255,255,0.5) 0 1px 0;-webkit-box-shadow:rgba(255,255,255,0.5) 0 1px 0;box-shadow:rgba(255,255,255,0.5) 0 1px 0;}div#media-upload-header,div#plugin-information-header{background-color:#f9f9f9;border-bottom-color:#dfdfdf;}#currenttheme img{border-color:#666;}#dashboard_secondary div.dashboard-widget-content ul li a{background-color:#f9f9f9;}input.readonly,textarea.readonly{background-color:#ddd;}#ed_toolbar input,#ed_reply_toolbar input{background:#fff url("../images/fade-butt.png") repeat-x 0 -2px;}#editable-post-name{background-color:#fffbcc;}#edit-slug-box strong,.tablenav .displaying-num,#submitted-on,.submitted-on{color:#777;}.login #nav a,.login #backtoblog a{color:#21759b!important;}.login #nav a:hover,.login #backtoblog a:hover{color:#d54e21!important;}#footer{color:#777;border-color:#b0c8d7;}#media-items,.imgedit-group{border-color:#dfdfdf;}.checkbox,.side-info,.plugins tr,#your-profile #rich_editing{background-color:#fcfcfc;}.plugins .inactive,.plugins .inactive th,.plugins .inactive td,tr.inactive+tr.plugin-update-tr .plugin-update{background-color:#efede7;}.plugin-update-tr .update-message{background-color:#fffbe4;border-color:#dfdfdf;}.plugins .active,.plugins .active th,.plugins .active td{color:#000;}.plugins .inactive a{color:#579;}#the-comment-list tr.undo,#the-comment-list div.undo{background-color:#f4f4f4;}#the-comment-list .unapproved{background-color:#ffffe0;}#the-comment-list .approve a{color:#006505;}#the-comment-list .unapprove a{color:#d98500;}table.widefat span.delete a,table.widefat span.trash a,table.widefat span.spam a,#dashboard_recent_comments .delete a,#dashboard_recent_comments .trash a,#dashboard_recent_comments .spam a{color:#bc0b0b;}.widget,#widget-list .widget-top,.postbox,#titlediv,#poststuff .postarea,.stuffbox{border-color:#d1e5ee;-moz-box-shadow:inset 0 1px 0 #fff;-webkit-box-shadow:inset 0 1px 0 #fff;box-shadow:inset 0 1px 0 #fff;-moz-border-radius:3px;-khtml-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;}.widget,#widget-list .widget-top,.postbox,.menu-item-settings{background-color:#f7fcfe;}.postbox h3{color:#174f69;}.widget .widget-top{color:#174f69;}.sidebar-name:hover h3,.postbox h3:hover{color:#000;}.curtime #timestamp{background-image:url(../images/date-button.gif);}#quicktags #ed_link{color:#00f;}#rightnow .youhave{background-color:#f0f6fb;}#rightnow a{color:#448abd;}.tagchecklist span a,#bulk-titles div a{background:url(../images/xit.gif) no-repeat;}.tagchecklist span a:hover,#bulk-titles div a:hover{background:url(../images/xit.gif) no-repeat -10px 0;}#update-nag,.update-nag{background-color:#fffbcc;border-color:#e6db55;color:#555;}.login #backtoblog a{color:#464646;}#wphead{border-bottom:#d0dfe9 1px solid;}#wphead h1 a{color:#174f69;}#user_info{color:#777;}#user_info:hover,#user_info.active{color:#185069;}#user_info.active{background-color:#f7fcfe;background-image:-ms-linear-gradient(bottom,#f7fcfe,#f9f9f9);background-image:-moz-linear-gradient(bottom,#f7fcfe,#f9f9f9);background-image:-o-linear-gradient(bottom,#f7fcfe,#f9f9f9);background-image:-webkit-gradient(linear,left bottom,left top,from(#f7fcfe),to(#f9f9f9));background-image:-webkit-linear-gradient(bottom,#f7fcfe,#f9f9f9);background-image:linear-gradient(bottom,#f7fcfe,#f9f9f9);border-color:#d0dfe9 #d0dfe9 #d0dfe9;}#user_info_arrow{background:transparent url(../images/arrows-vs.png) no-repeat 6px 5px;}#user_info:hover #user_info_arrow,#user_info.active #user_info_arrow{background:transparent url(../images/arrows-dark-vs.png) no-repeat 6px 5px;}#user_info_links{-moz-box-shadow:0 3px 2px -2px rgba(0,0,0,0.2);-webkit-box-shadow:0 3px 2px -2px rgba(0,0,0,0.2);box-shadow:0 3px 2px -2px rgba(0,0,0,0.2);}#user_info_links ul{background:#f7fcfe;border-color:#d0dfe9 #d0dfe9 #d0dfe9;-moz-box-shadow:inset 0 1px 0 #f9f9f9;-webkit-box-shadow:inset 0 1px 0 #f9f9f9;box-shadow:inset 0 1px 0 #f9f9f9;}#user_info_links li:hover{background-color:#ECF8FE;}#user_info_links li:hover a,#user_info_links li a:hover{text-decoration:none;}#user_info a:link,#user_info a:visited,#footer a:link,#footer a:visited{text-decoration:none;}#footer a:hover{color:#000;text-decoration:underline;}div#media-upload-error,.file-error,abbr.required,.widget-control-remove:hover,table.widefat .delete a:hover,table.widefat .trash a:hover,table.widefat .spam a:hover,#dashboard_recent_comments .delete a:hover,#dashboard_recent_comments .trash a:hover #dashboard_recent_comments .spam a:hover{color:#f00;}#pass-strength-result{background-color:#eee;border-color:#ddd!important;}#pass-strength-result.bad{background-color:#ffb78c;border-color:#ff853c!important;}#pass-strength-result.good{background-color:#ffec8b;border-color:#fc0!important;}#pass-strength-result.short{background-color:#ffa0a0;border-color:#f04040!important;}#pass-strength-result.strong{background-color:#c3ff88;border-color:#8dff1c!important;}#quicktags{border-color:#cfdfe9;background-color:#cfdfe9;background-image:url("../images/ed-bg-vs.gif?ver=20101102");}#ed_toolbar input{border-color:#C3C3C3;}#ed_toolbar input:hover{border-color:#aaa;background:#ddd;}#poststuff .wp_themeSkin .mceStatusbar{border-color:#d0dfe9;}#poststuff .wp_themeSkin .mceStatusbar *{color:#555;}#poststuff #edButtonPreview,#poststuff #edButtonHTML{background-color:#f7fcfe;border-color:#d0dfe9 #d0dfe9 #d0dfe9;color:#999;}#poststuff #editor-toolbar .active{border-color:#d0dfe9 #d0dfe9 #eff8ff;background-color:#eff8ff;color:#333;}#post-status-info{background-color:#eff8ff;}.wp_themeSkin *,.wp_themeSkin a:hover,.wp_themeSkin a:link,.wp_themeSkin a:visited,.wp_themeSkin a:active{color:#000;}.wp_themeSkin table.mceLayout{border-color:#bed1dd #bed1dd #d0dfe9;}#editorcontainer #content,#editorcontainer .wp_themeSkin .mceIframeContainer{-moz-box-shadow:inset 1px 1px 2px rgba(0,0,0,0.1);-webkit-box-shadow:inset 1px 1px 2px rgba(0,0,0,0.1);box-shadow:inset 1px 1px 2px rgba(0,0,0,0.1);}.wp_themeSkin iframe{background:transparent;}.wp_themeSkin .mceStatusbar{color:#000;background-color:#f5f5f5;}.wp_themeSkin .mceButton{border-color:#B0C8D7;background-color:#cfdfe9;background-image:-ms-linear-gradient(bottom,#cfdfe9,#fff);background-image:-moz-linear-gradient(bottom,#cfdfe9,#fff);background-image:-o-linear-gradient(bottom,#cfdfe9,#fff);background-image:-webkit-gradient(linear,left bottom,left top,from(#cfdfe9),to(#fff));background-image:-webkit-linear-gradient(bottom,#cfdfe9,#fff)!important;background-image:linear-gradient(bottom,#cfdfe9,#fff);}.wp_themeSkin a.mceButtonEnabled:hover{border-color:#5589AA!important;background-color:#c9c9c9;background-image:-ms-linear-gradient(bottom,#bdccd5,#fff);background-image:-moz-linear-gradient(bottom,#bdccd5,#fff));background-image:-o-linear-gradient(bottom,#bdccd5,#fff));background-image:-webkit-gradient(linear,left bottom,left top,from(#bdccd5),to(#fff));background-image:-webkit-linear-gradient(bottom,#bdccd5,#fff)!important;background-image:linear-gradient(bottom,#bdccd5,#fff);}.wp_themeSkin a.mceButton:active,.wp_themeSkin a.mceButtonEnabled:active,.wp_themeSkin a.mceButtonSelected:active,.wp_themeSkin a.mceButtonActive,.wp_themeSkin a.mceButtonActive:active,.wp_themeSkin a.mceButtonActive:hover{background:#B0C8D7!important;background-image:-ms-linear-gradient(bottom,#fff,#cfdfe9);background-image:-moz-linear-gradient(bottom,#fff,#cfdfe9));background-image:-o-linear-gradient(bottom,#fff,#cfdfe9));background-image:-webkit-gradient(linear,left bottom,left top,from(#fff),to(#cfdfe9));background-image:-webkit-linear-gradient(bottom,#fff,#cfdfe9)!important;background-image:linear-gradient(bottom,#fff,#cfdfe9);border-color:#5589AA!important;}.wp_themeSkin .mceButtonDisabled{border-color:#B0C8D7!important;}.wp_themeSkin .mceListBox .mceText,.wp_themeSkin .mceListBox .mceOpen{border-color:#B0C8D7;background-color:#cfdfe9;background-image:-ms-linear-gradient(bottom,#cfdfe9,#fff);background-image:-moz-linear-gradient(bottom,#cfdfe9,#fff);background-image:-o-linear-gradient(bottom,#cfdfe9,#fff);background-image:-webkit-gradient(linear,left bottom,left top,from(#cfdfe9),to(#fff));background-image:-webkit-linear-gradient(bottom,#cfdfe9,#fff)!important;background-image:linear-gradient(bottom,#cfdfe9,#fff);}.wp_themeSkin .mceListBox .mceOpen{border-left:0!important;}.wp_themeSkin table.mceListBoxEnabled:hover .mceOpen,.wp_themeSkin .mceListBoxHover .mceOpen,.wp_themeSkin .mceListBoxHover:active .mceOpen,.wp_themeSkin .mceListBoxSelected .mceOpen,.wp_themeSkin .mceListBoxSelected .mceText,.wp_themeSkin table.mceListBoxEnabled:active .mceText{background:#B0C8D7;border-color:#5589AA!important;}.wp_themeSkin table.mceListBoxEnabled:hover .mceText,.wp_themeSkin .mceListBoxHover .mceText,.wp_themeSkin table.mceListBoxEnabled:hover .mceOpen,.wp_themeSkin .mceListBoxHover .mceOpen{border-color:#5589AA!important;background-color:#c9c9c9;background-image:-ms-linear-gradient(bottom,#cfdfe9,#fff);background-image:-moz-linear-gradient(bottom,#cfdfe9,#fff);background-image:-o-linear-gradient(bottom,#cfdfe9,#fff);background-image:-webkit-gradient(linear,left bottom,left top,from(#cfdfe9),to(#fff));background-image:-webkit-linear-gradient(bottom,#cfdfe9,#fff)!important;background-image:linear-gradient(bottom,#cfdfe9,#fff);}.wp_themeSkin select.mceListBox{border-color:#B2B2B2;background-color:#fff;}.wp_themeSkin .mceSplitButton a.mceAction,.wp_themeSkin .mceSplitButton a.mceOpen{border-color:#B0C8D7;}.wp_themeSkin .mceSplitButton a.mceOpen:hover,.wp_themeSkin .mceSplitButtonSelected a.mceOpen,.wp_themeSkin table.mceSplitButtonEnabled:hover a.mceAction,.wp_themeSkin .mceSplitButton a.mceAction:hover{border-color:#5589AA!important;}.wp_themeSkin table.mceSplitButton td{background-color:#cfdfe9;background-image:-ms-linear-gradient(bottom,#cfdfe9,#fff);background-image:-moz-linear-gradient(bottom,#cfdfe9,#fff);background-image:-o-linear-gradient(bottom,#cfdfe9,#fff);background-image:-webkit-gradient(linear,left bottom,left top,from(#cfdfe9),to(#fff));background-image:-webkit-linear-gradient(bottom,#cfdfe9,#fff)!important;background-image:linear-gradient(bottom,#cfdfe9,#fff);}.wp_themeSkin table.mceSplitButton:hover td{background-image:-ms-linear-gradient(bottom,#cfdfe9,#fff);background-image:-moz-linear-gradient(bottom,#cfdfe9,#fff);background-image:-o-linear-gradient(bottom,#cfdfe9,#fff);background-image:-webkit-gradient(linear,left bottom,left top,from(#cfdfe9),to(#fff));background-image:-webkit-linear-gradient(bottom,#cfdfe9,#fff)!important;background-image:linear-gradient(bottom,#cfdfe9,#fff);}.wp_themeSkin .mceSplitButtonActive{background-color:#B0C8D7;}.wp_themeSkin div.mceColorSplitMenu table{background-color:#ebebeb;border-color:#B2B2B2;}.wp_themeSkin .mceColorSplitMenu a{border-color:#B2B2B2;}.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;}.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:#f5f5f5;}.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;}.wp_themeSkin tr.mceFirst td.mceToolbar{background:#cfdfe9 url("../images/ed-bg-vs.gif?ver=20101102") repeat-x scroll left top;border-color:#cfdfe9;}.wp-admin #mceModalBlocker{background:#000;}.wp-admin .clearlooks2 .mceFocus .mceTop .mceLeft{background:#444;border-left:1px solid #999;border-top:1px solid #999;-moz-border-radius:3px 0 0 0;-webkit-border-top-left-radius:3px;-khtml-border-top-left-radius:3px;border-top-left-radius:3px;}.wp-admin .clearlooks2 .mceFocus .mceTop .mceRight{background:#444;border-right:1px solid #999;border-top:1px solid #999;border-top-right-radius:3px;-khtml-border-top-right-radius:3px;-webkit-border-top-right-radius:3px;-moz-border-radius:0 3px 0 0;}.wp-admin .clearlooks2 .mceMiddle .mceLeft{background:#f1f1f1;border-left:1px solid #999;}.wp-admin .clearlooks2 .mceMiddle .mceRight{background:#f1f1f1;border-right:1px solid #999;}.wp-admin .clearlooks2 .mceBottom{background:#f1f1f1;border-bottom:1px solid #999;}.wp-admin .clearlooks2 .mceBottom .mceLeft{background:#f1f1f1;border-bottom:1px solid #999;border-left:1px solid #999;}.wp-admin .clearlooks2 .mceBottom .mceCenter{background:#f1f1f1;border-bottom:1px solid #999;}.wp-admin .clearlooks2 .mceBottom .mceRight{background:#f1f1f1;border-bottom:1px solid #999;border-right:1px solid #999;}.wp-admin .clearlooks2 .mceFocus .mceTop span{color:#e5e5e5;}#titlediv #title{border-color:#bdccd5;}#editorcontainer{border-color:#bdccd5 #bdccd5 #d0dfe9;}#post-status-info{border-color:#d0dfe9 #bdccd5 #bdccd5;}.editwidget .widget-inside{border-color:#d0dfe9;}#titlediv #title{background-color:#fff;}#tTips p#tTips_inside{background-color:#ddd;color:#333;}#timestampdiv input,#namediv input,#poststuff .inside .the-tagcloud{border-color:#ddd;}#adminmenuback,#adminmenuwrap{background-color:#EFF8FF;border-color:#D1E5EE;}#adminmenushadow,#adminmenuback{background-image:url(../images/menu-shadow.png);background-position:top right;background-repeat:repeat-y;}#adminmenu li.wp-menu-separator{background:#D1E5EE;border-color:#bed1dd;}#adminmenu div.separator{border-color:#D1E5EE;}#adminmenu li.wp-has-current-submenu.wp-menu-open .wp-menu-toggle,#adminmenu li.wp-has-current-submenu:hover .wp-menu-toggle{background:transparent url(../images/arrows-dark-vs.png) no-repeat -1px 6px;}#adminmenu .wp-has-submenu:hover .wp-menu-toggle,#adminmenu .wp-menu-open .wp-menu-toggle{background:transparent url(../images/arrows-vs.png) no-repeat -2px 6px;}#adminmenu a.menu-top,.folded #adminmenu li.menu-top,#adminmenu .wp-submenu .wp-submenu-head{border-top-color:#fff;border-bottom-color:#d1e5ee;}#adminmenu li.wp-menu-open{border-color:#d1e5ee;}#adminmenu li.wp-has-current-submenu a.wp-has-current-submenu,#adminmenu li.current a.menu-top,.folded #adminmenu li.wp-has-current-submenu,.folded #adminmenu li.current.menu-top,#adminmenu .wp-menu-arrow,#adminmenu .wp-has-current-submenu .wp-submenu .wp-submenu-head{background-color:#5589AA;background-image:-ms-linear-gradient(bottom,#5589AA,#5A8FAD);background-image:-moz-linear-gradient(bottom,#5589AA,#5A8FAD);background-image:-o-linear-gradient(bottom,#5589AA,#5A8FAD);background-image:-webkit-gradient(linear,left bottom,left top,from(#5589AA),to(#5A8FAD));background-image:-webkit-linear-gradient(bottom,#5589AA,#5A8FAD);background-image:linear-gradient(bottom,#5589AA,#5A8FAD);}#adminmenu li.wp-has-current-submenu a.wp-has-current-submenu,#adminmenu li.current a.menu-top,#adminmenu .wp-has-current-submenu .wp-submenu .wp-submenu-head{text-shadow:0 -1px 0 #333;color:#fff;border-top-color:#5A8FAD;border-bottom-color:#5589AA;}.folded #adminmenu li.wp-has-current-submenu,.folded #adminmenu li.current.menu-top{border-top-color:#5A8FAD;border-bottom-color:#5589AA;}#adminmenu .wp-submenu a:hover{background-color:#EAF2FA!important;color:#333!important;}#adminmenu .wp-submenu li.current,#adminmenu .wp-submenu li.current a,#adminmenu .wp-submenu li.current a:hover{color:#333;}#adminmenu .wp-submenu ul{background-color:#fff;}.folded #adminmenu .wp-submenu-wrap,.folded #adminmenu .wp-submenu ul{border-color:#d0dfe9;}.folded #adminmenu .wp-submenu-wrap{-moz-box-shadow:2px 2px 5px rgba(0,0,0,0.4);-webkit-box-shadow:2px 2px 5px rgba(0,0,0,0.4);box-shadow:2px 2px 5px rgba(0,0,0,0.4);}#adminmenu .wp-submenu .wp-submenu-head{border-right-color:#d0dfe9;background-color:#EFF8FF;}#adminmenu div.wp-submenu{background-color:transparent;}#collapse-menu{color:#A0C3D5;}#collapse-menu:hover{color:#5A8FAD;}#collapse-button{border-color:#d0dfe9;background-color:#eff8ff;background-image:-ms-linear-gradient(bottom,#eff8ff,#fff);background-image:-moz-linear-gradient(bottom,#eff8ff,#fff);background-image:-o-linear-gradient(bottom,#eff8ff,#fff);background-image:-webkit-gradient(linear,left bottom,left top,from(#eff8ff),to(#fff));background-image:-webkit-linear-gradient(bottom,#eff8ff,#fff);background-image:linear-gradient(bottom,#eff8ff,#fff);}#collapse-menu:hover #collapse-button{border-color:#A0C3D5;}#collapse-button div{background:transparent url(../images/arrows-vs.png) no-repeat 0 -72px;}.folded #collapse-button div{background-position:0 -108px;}#adminmenu .menu-icon-dashboard div.wp-menu-image{background:transparent url('../images/menu-vs.png?ver=20100531') no-repeat scroll -60px -33px;}#adminmenu .menu-icon-dashboard:hover div.wp-menu-image,#adminmenu .menu-icon-dashboard.wp-has-current-submenu div.wp-menu-image,#adminmenu .menu-icon-dashboard.current div.wp-menu-image{background:transparent url('../images/menu-vs.png?ver=20100531') no-repeat scroll -60px -1px;}#adminmenu .menu-icon-post div.wp-menu-image{background:transparent url('../images/menu-vs.png?ver=20100531') no-repeat scroll -271px -33px;}#adminmenu .menu-icon-post:hover div.wp-menu-image,#adminmenu .menu-icon-post.wp-has-current-submenu div.wp-menu-image{background:transparent url('../images/menu-vs.png?ver=20100531') no-repeat scroll -271px -1px;}#adminmenu .menu-icon-media div.wp-menu-image{background:transparent url('../images/menu-vs.png?ver=20100531') no-repeat scroll -120px -33px;}#adminmenu .menu-icon-media:hover div.wp-menu-image,#adminmenu .menu-icon-media.wp-has-current-submenu div.wp-menu-image{background:transparent url('../images/menu-vs.png?ver=20100531') no-repeat scroll -120px -1px;}#adminmenu .menu-icon-links div.wp-menu-image{background:transparent url('../images/menu-vs.png?ver=20100531') no-repeat scroll -90px -33px;}#adminmenu .menu-icon-links:hover div.wp-menu-image,#adminmenu .menu-icon-links.wp-has-current-submenu div.wp-menu-image{background:transparent url('../images/menu-vs.png?ver=20100531') no-repeat scroll -90px -1px;}#adminmenu .menu-icon-page div.wp-menu-image{background:transparent url('../images/menu-vs.png?ver=20100531') no-repeat scroll -150px -33px;}#adminmenu .menu-icon-page:hover div.wp-menu-image,#adminmenu .menu-icon-page.wp-has-current-submenu div.wp-menu-image{background:transparent url('../images/menu-vs.png?ver=20100531') no-repeat scroll -150px -1px;}#adminmenu .menu-icon-comments div.wp-menu-image{background:transparent url('../images/menu-vs.png?ver=20100531') no-repeat scroll -30px -33px;}#adminmenu .menu-icon-comments:hover div.wp-menu-image,#adminmenu .menu-icon-comments.wp-has-current-submenu div.wp-menu-image,#adminmenu .menu-icon-comments.current div.wp-menu-image{background:transparent url('../images/menu-vs.png?ver=20100531') no-repeat scroll -30px -1px;}#adminmenu .menu-icon-appearance div.wp-menu-image{background:transparent url('../images/menu-vs.png?ver=20100531') no-repeat scroll 0 -33px;}#adminmenu .menu-icon-appearance:hover div.wp-menu-image,#adminmenu .menu-icon-appearance.wp-has-current-submenu div.wp-menu-image{background:transparent url('../images/menu-vs.png?ver=20100531') no-repeat scroll 0 -1px;}#adminmenu .menu-icon-plugins div.wp-menu-image{background:transparent url('../images/menu-vs.png?ver=20100531') no-repeat scroll -180px -33px;}#adminmenu .menu-icon-plugins:hover div.wp-menu-image,#adminmenu .menu-icon-plugins.wp-has-current-submenu div.wp-menu-image{background:transparent url('../images/menu-vs.png?ver=20100531') no-repeat scroll -180px -1px;}#adminmenu .menu-icon-users div.wp-menu-image{background:transparent url('../images/menu-vs.png?ver=20100531') no-repeat scroll -300px -33px;}#adminmenu .menu-icon-users:hover div.wp-menu-image,#adminmenu .menu-icon-users.wp-has-current-submenu div.wp-menu-image,#adminmenu .menu-icon-users.current div.wp-menu-image{background:transparent url('../images/menu-vs.png?ver=20100531') no-repeat scroll -300px -1px;}#adminmenu .menu-icon-tools div.wp-menu-image{background:transparent url('../images/menu-vs.png?ver=20100531') no-repeat scroll -210px -33px;}#adminmenu .menu-icon-tools:hover div.wp-menu-image,#adminmenu .menu-icon-tools.wp-has-current-submenu div.wp-menu-image,#adminmenu .menu-icon-tools.current div.wp-menu-image{background:transparent url('../images/menu-vs.png?ver=20100531') no-repeat scroll -210px -1px;}#icon-options-general,#adminmenu .menu-icon-settings div.wp-menu-image{background:transparent url('../images/menu-vs.png?ver=20100531') no-repeat scroll -240px -33px;}#adminmenu .menu-icon-settings:hover div.wp-menu-image,#adminmenu .menu-icon-settings.wp-has-current-submenu div.wp-menu-image{background:transparent url('../images/menu-vs.png?ver=20100531') no-repeat scroll -240px -1px;}#adminmenu .menu-icon-site div.wp-menu-image{background:transparent url('../images/menu-vs.png?ver=20100531') no-repeat scroll -360px -33px;}#adminmenu .menu-icon-site:hover div.wp-menu-image,#adminmenu .menu-icon-site.wp-has-current-submenu div.wp-menu-image{background:transparent url('../images/menu-vs.png?ver=20100531') no-repeat scroll -360px -1px;}#icon-edit,#icon-post{background:transparent url(../images/icons32-vs.png?ver=20100531) no-repeat -552px -5px;}#icon-index{background:transparent url(../images/icons32-vs.png?ver=20100531) no-repeat -137px -5px;}#icon-upload{background:transparent url(../images/icons32-vs.png?ver=20100531) no-repeat -251px -5px;}#icon-link-manager,#icon-link,#icon-link-category{background:transparent url(../images/icons32-vs.png?ver=20100531) no-repeat -190px -5px;}#icon-edit-pages,#icon-page{background:transparent url(../images/icons32-vs.png?ver=20100531) no-repeat -312px -5px;}#icon-edit-comments{background:transparent url(../images/icons32-vs.png?ver=20100531) no-repeat -72px -5px;}#icon-themes{background:transparent url(../images/icons32-vs.png?ver=20100531) no-repeat -11px -5px;}#icon-plugins{background:transparent url(../images/icons32-vs.png?ver=20100531) no-repeat -370px -5px;}#icon-users,#icon-profile,#icon-user-edit{background:transparent url(../images/icons32-vs.png?ver=20100531) no-repeat -600px -5px;}#icon-tools,#icon-admin{background:transparent url(../images/icons32-vs.png?ver=20100531) no-repeat -432px -5px;}#icon-options-general{background:transparent url(../images/icons32-vs.png?ver=20100531) no-repeat -492px -5px;}#icon-ms-admin{background:transparent url(../images/icons32-vs.png?ver=20100531) no-repeat -659px -5px;}table.diff .diff-deletedline{background-color:#fdd;}table.diff .diff-deletedline del{background-color:#f99;}table.diff .diff-addedline{background-color:#dfd;}table.diff .diff-addedline ins{background-color:#9f9;}#att-info{background-color:#E4F2FD;}#sidemenu a{background-color:#f9f9f9;border-color:#f9f9f9;border-bottom-color:#dfdfdf;}#sidemenu a.current{background-color:#fff;border-color:#dfdfdf #dfdfdf #fff;color:#D54E21;}#screen-options-wrap,#contextual-help-wrap{background-color:#f7fcfe;border-color:#D1e5ee;}#screen-options-link-wrap,#contextual-help-link-wrap{background-color:#eff8ff;border-right:1px solid #D1E5EE;border-left:1px solid #D1E5EE;border-bottom:1px solid #D1E5EE;background-image:-ms-linear-gradient(bottom,#eff8ff,#fff);background-image:-moz-linear-gradient(bottom,#eff8ff,#fff);background-image:-o-linear-gradient(bottom,#eff8ff,#fff);background-image:-webkit-gradient(linear,left bottom,left top,from(#eff8ff),to(#fff));background-image:-webkit-linear-gradient(bottom,#eff8ff,#fff);background-image:linear-gradient(bottom,#eff8ff,#fff);}#screen-meta-links a.show-settings{color:#606060;}#screen-meta-links a.show-settings:hover{color:#000;}#replysubmit{background-color:#f1f1f1;border-top-color:#ddd;}#replyerror{border-color:#ddd;background-color:#f9f9f9;}#edithead,#replyhead{background-color:#f1f1f1;}#ed_reply_toolbar{background-color:#e9e9e9;}.vim-current,.vim-current th,.vim-current td{background-color:#E4F2FD!important;}.star-average,.star.star-rating{background-color:#fc0;}div.star.select:hover{background-color:#d00;}div.star img{border-left:1px solid #fff;border-right:1px solid #fff;}#plugin-information .fyi ul{background-color:#eaf3fa;}#plugin-information .fyi h2.mainheader{background-color:#cee1ef;}#plugin-information pre,#plugin-information code{background-color:#ededff;}#plugin-information pre{border:1px solid #ccc;}.inline-edit-row fieldset input[type="text"],.inline-edit-row fieldset textarea,#bulk-titles,#replyrow input{border-color:#ddd;}.inline-editor div.title{background-color:#EAF3FA;}.inline-editor ul.cat-checklist{background-color:#fff;border-color:#ddd;}.inline-editor .categories .catshow,.inline-editor .categories .cathide{color:#21759b;}.inline-editor .quick-edit-save{background-color:#f1f1f1;}#replyrow #ed_reply_toolbar input:hover{border-color:#aaa;background:#ddd;}fieldset.inline-edit-col-right .inline-edit-col{border-color:#dfdfdf;}.attention{color:#D54E21;}.meta-box-sortables .postbox:hover .handlediv{background:transparent url(../images/arrows-vs.png) no-repeat 6px 7px;}.tablenav .tablenav-pages{color:#555;}.tablenav .tablenav-pages a{border-color:#d1e5ee;background:#eee url('../images/menu-bits-vs.gif?ver=20101102') repeat-x scroll left -379px;}.tablenav .tablenav-pages a:hover,.tablenav .tablenav-pages a:focus{color:#d54e21;}.tablenav .tablenav-pages a.disabled,.tablenav .tablenav-pages a.disabled:hover,.tablenav .tablenav-pages a.disabled:focus{color:#aaa;}.tablenav .tablenav-pages .current{background:#dfdfdf;border-color:#d3d3d3;}#availablethemes,#availablethemes td{border-color:#ddd;}#current-theme img{border-color:#999;}#TB_window #TB_title a.tb-theme-preview-link,#TB_window #TB_title a.tb-theme-preview-link:visited{color:#999;}#TB_window #TB_title a.tb-theme-preview-link:hover,#TB_window #TB_title a.tb-theme-preview-link:focus{color:#ccc;}.misc-pub-section{border-top-color:#fff;border-bottom-color:#eee;}#minor-publishing{border-bottom-color:#ddd;}#post-body .misc-pub-section{border-right-color:#eee;}.post-com-count span{background-color:#bbb;}.form-table .color-palette td{border-color:#fff;}.sortable-placeholder{border-color:#bbb;background-color:#f5f5f5;}#post-body ul.category-tabs li.tabs a,#post-body ul.add-menu-item-tabs li.tabs a,body.press-this ul.category-tabs li.tabs a{color:#333;}#wp_editimgbtn,#wp_delimgbtn,#wp_editgallery,#wp_delgallery{border-color:#999;background-color:#eee;}#wp_editimgbtn:hover,#wp_delimgbtn:hover,#wp_editgallery:hover,#wp_delgallery:hover{border-color:#555;background-color:#ccc;}#favorite-first{border-color:#c0c0c0;background:#f1f1f1;background:-moz-linear-gradient(bottom,#e7e7e7,#fff);background:-webkit-gradient(linear,left bottom,left top,from(#e7e7e7),to(#fff));}#favorite-inside{border-color:#c0c0c0;background-color:#fff;}#favorite-toggle{background:transparent url(../images/fav-arrow.gif?ver=20100531) no-repeat 0 -4px;border-color:#d0dfe9;-moz-box-shadow:inset 1px 0 0 #fff;-webkit-box-shadow:inset 1px 0 0 #fff;box-shadow:inset 1px 0 0 #fff;}#favorite-actions a{color:#464646;}#favorite-actions a:hover{color:#000;}#favorite-inside a:hover{text-decoration:underline;}#screen-meta a.show-settings,.toggle-arrow{background:transparent url(../images/arrows-vs.png) no-repeat right 3px;}#screen-meta .screen-meta-active a.show-settings{background:transparent url(../images/arrows-vs.png) no-repeat right -33px;}.view-switch #view-switch-list{background:transparent url(../images/list.png) no-repeat 0 0;}.view-switch .current #view-switch-list{background:transparent url(../images/list.png) no-repeat -40px 0;}.view-switch #view-switch-excerpt{background:transparent url(../images/list.png) no-repeat -20px 0;}.view-switch .current #view-switch-excerpt{background:transparent url(../images/list.png) no-repeat -60px 0;}#header-logo{background:transparent url(../images/wp-logo-vs.png?ver=20101102) no-repeat scroll center center;}.popular-tags,.feature-filter{background-color:#fff;border-color:#DFDFDF;}#theme-information .action-button{border-top-color:#DFDFDF;}.theme-listing br.line{border-bottom-color:#ccc;}div.widgets-sortables,#widgets-left .inactive{background-color:#f7fcfe;border-color:#d0dfe9;}#available-widgets .widget-holder{background-color:#f7fcfe;border-color:#d0dfe9;}#available-widgets .widget-description{color:#555;}.sidebar-name{color:#464646;background-color:#f7fcfe;background-image:-ms-linear-gradient(top,#ECF8FE,#f7fcfe);background-image:-moz-linear-gradient(top,#ECF8FE,#f7fcfe);background-image:-o-linear-gradient(top,#ECF8FE,#f7fcfe);background-image:-webkit-gradient(linear,left top,left bottom,from(#ECF8FE),to(#f7fcfe));background-image:-webkit-linear-gradient(top,#ECF8FE,#f7fcfe);background-image:linear-gradient(top,#ECF8FE,#f7fcfe);text-shadow:#fff 0 1px 0;border-color:#d0dfe9;-moz-box-shadow:inset 0 1px 0 #fff;-webkit-box-shadow:inset 0 1px 0 #fff;box-shadow:inset 0 1px 0 #fff;}.sidebar-name:hover,#removing-widget{color:#d54e21;}#removing-widget span{color:black;}.sidebar-name-arrow{background:transparent url(../images/arrows-vs.png) no-repeat 5px 9px;}.sidebar-name:hover .sidebar-name-arrow{background:transparent url(../images/arrows-dark-vs.png) no-repeat 5px 9px;}.in-widget-title{color:#606060;}.deleting .widget-title *{color:#aaa;}.imgedit-menu div{border-color:#d5d5d5;background-color:#f1f1f1;}.imgedit-menu div:hover{border-color:#c1c1c1;background-color:#eaeaea;}.imgedit-menu div.disabled{border-color:#ccc;background-color:#ddd;filter:alpha(opacity=50);opacity:.5;}#dashboard_recent_comments div.undo{border-top-color:#dfdfdf;}.comment-ays,.comment-ays th{border-color:#ddd;}.comment-ays th{background-color:#f1f1f1;}#menu-management .menu-edit{border-color:#d0dfe9;}#post-body{background:#fff;border-top-color:#fff;border-bottom-color:#d0dfe9;}#nav-menu-header{border-bottom-color:#d0dfe9;}#nav-menu-footer{border-top-color:#fff;}#menu-management .nav-tabs-arrow a{color:#C1C1C1;}#menu-management .nav-tabs-arrow a:hover{color:#D54E21;}#menu-management .nav-tabs-arrow a:active{color:#464646;}#menu-management .nav-tab-active{border-color:#dfdfdf;}#menu-management .nav-tab{background:#f7fcfe;border-color:#d0dfe9;}.js .input-with-default-title{color:#aaa;}#cancel-save{color:#f00;}#cancel-save:hover{background-color:#F00;color:#fff;}.list-container{border-color:#dfdfdf;}.menu-item-handle{border-color:#d0dfe9;}.menu li.deleting .menu-item-handle{background-color:#f66;text-shadow:#ccc;}.item-type{color:#999;}.item-controls .menu-item-delete:hover{color:#f00;}.item-edit{background:transparent url(../images/arrows-vs.png) no-repeat 8px 10px;border-bottom-color:#eee;}.item-edit:hover{background:transparent url(../images/arrows-dark-vs.png) no-repeat 8px 10px;}.menu-item-settings{border-color:#d0dfe9;}.link-to-original{color:#777;border-color:#d0dfe9;}#cancel-save:hover{color:#fff!important;}#update-menu-item{color:#fff!important;}#update-menu-item:hover,#update-menu-item:active,#update-menu-item:focus{color:#eaf2fa!important;border-color:#13455b!important;}.submitbox .submitcancel{color:#21759B;border-bottom-color:#21759B;}.submitbox .submitcancel:hover{background:#21759B;color:#fff;}#menu-management .nav-tab-active,.menu-item-handle,.menu-item-settings{-moz-box-shadow:inset 0 1px 0 #fff;-webkit-box-shadow:inset 0 1px 0 #fff;box-shadow:inset 0 1px 0 #fff;}#menu-management .nav-tab-active{background:#eff8ff;border-bottom-color:#eff8ff;}#upload-form label{color:#777;}.fullscreen-overlay{background:#fff;}.wp-fullscreen-focus #wp-fullscreen-title,.wp-fullscreen-focus #wp-fullscreen-container{border-color:#BED1DD;}#fullscreen-topbar{border-bottom-color:#D1E5EE;} \ No newline at end of file diff --git a/wp-admin/css/colors-classic.dev.css b/wp-admin/css/colors-classic.dev.css index 26cb7081f..329d32e63 100644 --- a/wp-admin/css/colors-classic.dev.css +++ b/wp-admin/css/colors-classic.dev.css @@ -1,6 +1,6 @@ html, .wp-dialog { - background-color: #fcfcfb; + background-color: #fff; } * html input, @@ -49,7 +49,7 @@ a.page-numbers:hover { body, #wpbody, .form-table .pre { - color: #174f69; + color: #333; } body > #upload-menu { @@ -116,12 +116,13 @@ ul.category-tabs li.tabs, ul.add-menu-item-tabs li.tabs, .wp-tab-active { border-color: #dfdfdf; + background-color: #fff; } ul.category-tabs li.tabs, ul.add-menu-item-tabs li.tabs, .wp-tab-active { - background-color: #f1f1f1; + background-color: #fff; } input.disabled, @@ -135,11 +136,37 @@ textarea.disabled { color: #fff; } +.widget .widget-top, +.postbox h3, +.stuffbox h3, +.widefat thead tr th, +.widefat tfoot tr th, +h3.dashboard-widget-title, +h3.dashboard-widget-title span, +h3.dashboard-widget-title small, +.find-box-head, +.sidebar-name, +#nav-menu-header, +#nav-menu-footer, +.menu-item-handle, +#fullscreen-topbar { + background-color: #f5fafd; /* Fallback */ + background-image: -ms-linear-gradient(top, #f7fcfe, #eff8ff); /* IE10 */ + background-image: -moz-linear-gradient(top, #f7fcfe, #eff8ff); /* Firefox */ + background-image: -o-linear-gradient(top, #f7fcfe, #eff8ff); /* Opera */ + background-image: -webkit-gradient(linear, left top, left bottom, from(#f7fcfe), to(#eff8ff)); /* old Webkit */ + background-image: -webkit-linear-gradient(top, #f7fcfe, #eff8ff); /* new Webkit */ + background-image: linear-gradient(top, #f7fcfe, #eff8ff); /* proposed W3C Markup */ +} + .widget .widget-top, .postbox h3, .stuffbox h3 { - background: #cfdfe9 url("../images/blue-grad.png?ver=20101102") repeat-x left top; + border-bottom-color: #D1E5EE; text-shadow: #fff 0 1px 0; + -moz-box-shadow: 0 1px 0 #fff; + -webkit-box-shadow: 0 1px 0 #fff; + box-shadow: 0 1px 0 #fff; } .form-table th, @@ -170,6 +197,14 @@ strong .post-com-count span { color: #174f69; } +.wrap .add-new-h2 { + background: #f1f1f1; +} + +.subtitle { + color: #777; +} + .ac_over { background-color: #f0f0b8; } @@ -185,7 +220,7 @@ strong .post-com-count span { .alternate, .alt { - background-color: #F8F7F3; + background-color: #f7fcfe; } .available-theme a.screenshot { @@ -239,7 +274,6 @@ div.error a { .nonessential, #edit-slug-box, .form-input-tip, -.rss-widget span.rss-date, .subsubsub { color: #666; } @@ -458,13 +492,23 @@ a.page-numbers { .widefat td, .widefat th { - border-color: #dfdfdf; + border-top-color: #fff; + border-bottom-color: #D0DFE9; } .widefat th { text-shadow: rgba(255,255,255,0.8) 0 1px 0; } +.widefat td { + color: #555; +} +.widefat p, +.widefat ol, +.widefat ul { + color: #333; +} + .widefat thead tr th, .widefat tfoot tr th, h3.dashboard-widget-title, @@ -472,7 +516,6 @@ h3.dashboard-widget-title span, h3.dashboard-widget-title small, .find-box-head { color: #333; - background: #cfdfe9 url(../images/blue-grad.png?ver=20101102) repeat-x scroll left top; } th.sortable a:hover, th.sortable a:active, th.sortable a:focus { @@ -499,30 +542,30 @@ a, color: #21759b; } -#adminmenu #awaiting-mod, +#adminmenu .awaiting-mod, #adminmenu .update-plugins, #sidemenu a .update-plugins, #rightnow .reallynow { background-color: #464646; color: #fff; - -moz-box-shadow: #fff 0 -1px 0; - -khtml-box-shadow: #fff 0 -1px 0; - -webkit-box-shadow: #fff 0 -1px 0; - box-shadow: #fff 0 -1px 0; + -moz-box-shadow: rgba(255,255,255,0.5) 0 1px 0; + -khtml-box-shadow: rgba(255,255,255,0.5) 0 1px 0; + -webkit-box-shadow: rgba(255,255,255,0.5) 0 1px 0; + box-shadow: rgba(255,255,255,0.5) 0 1px 0; } #plugin-information .action-button { background-color: #d54e21; color: #fff; } -#adminmenu li.current a #awaiting-mod, -#adminmenu li a.wp-has-current-submenu .update-plugins{ +#adminmenu li.current a .awaiting-mod, +#adminmenu li a.wp-has-current-submenu .update-plugins{ background-color: #464646; color: #fff; - -moz-box-shadow: #fff 0 -1px 0; - -khtml-box-shadow: #fff 0 -1px 0; - -webkit-box-shadow: #fff 0 -1px 0; - box-shadow: #fff 0 -1px 0; + -moz-box-shadow: rgba(255,255,255,0.5) 0 1px 0; + -khtml-box-shadow: rgba(255,255,255,0.5) 0 1px 0; + -webkit-box-shadow: rgba(255,255,255,0.5) 0 1px 0; + box-shadow: rgba(255,255,255,0.5) 0 1px 0; } div#media-upload-header, @@ -559,20 +602,19 @@ input.readonly, textarea.readonly { color: #777; } -.login #nav a { +.login #nav a, +.login #backtoblog a { color: #21759b !important; } -.login #nav a:hover { +.login #nav a:hover, +.login #backtoblog a:hover { color: #d54e21 !important; } #footer { color: #777; border-color: #b0c8d7; - background: #cfdfe9; /* fallback color */ - background:-moz-linear-gradient(bottom, #cfdfe9, #eff8ff); - background:-webkit-gradient(linear, left bottom, left top, from(#cfdfe9), to(#eff8ff)); } #media-items, @@ -584,7 +626,7 @@ input.readonly, textarea.readonly { .side-info, .plugins tr, #your-profile #rich_editing { - background-color: #fff; + background-color: #fcfcfc; } .plugins .inactive, @@ -641,23 +683,36 @@ table.widefat span.spam a, #titlediv, #poststuff .postarea, .stuffbox { - border-color: #D1E5EE; + border-color: #d1e5ee; + -moz-box-shadow: inset 0 1px 0 #fff; + -webkit-box-shadow: inset 0 1px 0 #fff; + box-shadow: inset 0 1px 0 #fff; + -moz-border-radius: 3px; + -khtml-border-radius: 3px; + -webkit-border-radius: 3px; + border-radius: 3px; } .widget, -.postbox { - background-color: #fff; +#widget-list .widget-top, +.postbox, +.menu-item-settings { + background-color: #f7fcfe; } -.ui-sortable .postbox h3 { +.postbox h3 { color: #174f69; } -.widget .widget-top, -.ui-sortable .postbox h3:hover { +.widget .widget-top { color: #174f69; } +.sidebar-name:hover h3, +.postbox h3:hover { + color: #000; +} + .curtime #timestamp { background-image: url(../images/date-button.gif); } @@ -685,8 +740,8 @@ table.widefat span.spam a, } #update-nag, .update-nag { - background-color: #FFFBCC; - border-color: #E6DB55; + background-color: #fffbcc; + border-color: #e6db55; color: #555; } @@ -695,10 +750,7 @@ table.widefat span.spam a, } #wphead { - border-bottom:#b0c8d7 1px solid; - background: #cfdfe9; /* fallback color */ - background:-moz-linear-gradient(bottom, #cfdfe9, #eff8ff); - background:-webkit-gradient(linear, left bottom, left top, from(#cfdfe9), to(#eff8ff)); + border-bottom:#d0dfe9 1px solid; } #wphead h1 a { @@ -709,18 +761,64 @@ table.widefat span.spam a, color: #777; } +#user_info:hover, +#user_info.active { + color: #185069; +} + +#user_info.active { + background-color: #f7fcfe; /* Fallback */ + background-image: -ms-linear-gradient(bottom, #f7fcfe, #f9f9f9); /* IE10 */ + background-image: -moz-linear-gradient(bottom, #f7fcfe, #f9f9f9); /* Firefox */ + background-image: -o-linear-gradient(bottom, #f7fcfe, #f9f9f9); /* Opera */ + background-image: -webkit-gradient(linear, left bottom, left top, from(#f7fcfe), to(#f9f9f9)); /* old Webkit */ + background-image: -webkit-linear-gradient(bottom, #f7fcfe, #f9f9f9); /* new Webkit */ + background-image: linear-gradient(bottom, #f7fcfe, #f9f9f9); /* proposed W3C Markup */ + border-color: #d0dfe9 #d0dfe9 #d0dfe9; +} + +#user_info_arrow { + background: transparent url(../images/arrows-vs.png) no-repeat 6px 5px; +} + +#user_info:hover #user_info_arrow, +#user_info.active #user_info_arrow { + background: transparent url(../images/arrows-dark-vs.png) no-repeat 6px 5px; +} + +#user_info_links { + -moz-box-shadow: 0 3px 2px -2px rgba( 0, 0, 0, 0.2 ); + -webkit-box-shadow: 0 3px 2px -2px rgba( 0, 0, 0, 0.2 ); + box-shadow: 0 3px 2px -2px rgba( 0, 0, 0, 0.2 ); +} + +#user_info_links ul { + background: #f7fcfe; + border-color: #d0dfe9 #d0dfe9 #d0dfe9; + -moz-box-shadow: inset 0 1px 0 #f9f9f9; + -webkit-box-shadow: inset 0 1px 0 #f9f9f9; + box-shadow: inset 0 1px 0 #f9f9f9; +} + +#user_info_links li:hover { + background-color: #ECF8FE; +} + +#user_info_links li:hover a, +#user_info_links li a:hover { + text-decoration: none; +} + #user_info a:link, #user_info a:visited, #footer a:link, #footer a:visited { - color: #174f69; text-decoration: none; } -#user_info a:hover, #footer a:hover { color: #000; - text-decoration: underline !important; + text-decoration: underline; } div#media-upload-error, @@ -778,18 +876,22 @@ table.widefat .spam a:hover, } #poststuff .wp_themeSkin .mceStatusbar { - border-color: #EDEDED; + border-color: #d0dfe9; +} + +#poststuff .wp_themeSkin .mceStatusbar * { + color: #555; } #poststuff #edButtonPreview, #poststuff #edButtonHTML { - background-color: #eff8ff; - border-color: #D1E5EE; + background-color: #f7fcfe; + border-color: #d0dfe9 #d0dfe9 #d0dfe9; color: #999; } #poststuff #editor-toolbar .active { - border-bottom-color: #eff8ff; + border-color: #d0dfe9 #d0dfe9 #eff8ff; background-color: #eff8ff; color: #333; } @@ -804,12 +906,22 @@ table.widefat .spam a:hover, .wp_themeSkin a:link, .wp_themeSkin a:visited, .wp_themeSkin a:active { - color: #000; + color: #000; } /* Containers */ +.wp_themeSkin table.mceLayout { + border-color: #bed1dd #bed1dd #d0dfe9; +} + +#editorcontainer #content, +#editorcontainer .wp_themeSkin .mceIframeContainer { + -moz-box-shadow: inset 1px 1px 2px rgba( 0, 0, 0, 0.1 ); + -webkit-box-shadow: inset 1px 1px 2px rgba( 0, 0, 0, 0.1 ); + box-shadow: inset 1px 1px 2px rgba( 0, 0, 0, 0.1 ); +} .wp_themeSkin iframe { - background: #fff; + background: transparent; } /* Layout */ @@ -820,39 +932,87 @@ table.widefat .spam a:hover, /* Button */ .wp_themeSkin .mceButton { - background-color: #e9e8e8; - border-color: #B2B2B2; -} - -.wp_themeSkin a.mceButtonEnabled:hover, + border-color: #B0C8D7; + background-color: #cfdfe9; /* Fallback */ + background-image: -ms-linear-gradient(bottom, #cfdfe9, #fff); /* IE10 */ + background-image: -moz-linear-gradient(bottom, #cfdfe9, #fff); /* Firefox */ + background-image: -o-linear-gradient(bottom, #cfdfe9, #fff); /* Opera */ + background-image: -webkit-gradient(linear, left bottom, left top, from(#cfdfe9), to(#fff)); /* old Webkit */ + background-image: -webkit-linear-gradient(bottom, #cfdfe9, #fff) !important; /* new Webkit */ + background-image: linear-gradient(bottom, #cfdfe9, #fff); /* proposed W3C Markup */ +} + +.wp_themeSkin a.mceButtonEnabled:hover { + border-color: #5589AA !important; + background-color: #c9c9c9; /* Fallback */ + background-image: -ms-linear-gradient(bottom, #bdccd5, #fff); /* IE10 */ + background-image: -moz-linear-gradient(bottom, #bdccd5, #fff)); /* Firefox */ + background-image: -o-linear-gradient(bottom, #bdccd5, #fff)); /* Opera */ + background-image: -webkit-gradient(linear, left bottom, left top, from(#bdccd5), to(#fff)); /* old Webkit */ + background-image: -webkit-linear-gradient(bottom, #bdccd5, #fff) !important; /* new Webkit */ + background-image: linear-gradient(bottom, #bdccd5, #fff); /* proposed W3C Markup */ +} + +.wp_themeSkin a.mceButton:active, +.wp_themeSkin a.mceButtonEnabled:active, +.wp_themeSkin a.mceButtonSelected:active, .wp_themeSkin a.mceButtonActive, -.wp_themeSkin a.mceButtonSelected { - background: #d5d5d5; - border-color: #777 !important; +.wp_themeSkin a.mceButtonActive:active, +.wp_themeSkin a.mceButtonActive:hover { + background: #B0C8D7 !important; + background-image: -ms-linear-gradient(bottom, #fff, #cfdfe9); /* IE10 */ + background-image: -moz-linear-gradient(bottom, #fff, #cfdfe9)); /* Firefox */ + background-image: -o-linear-gradient(bottom, #fff, #cfdfe9)); /* Opera */ + background-image: -webkit-gradient(linear, left bottom, left top, from(#fff), to(#cfdfe9)); /* old Webkit */ + background-image: -webkit-linear-gradient(bottom, #fff, #cfdfe9) !important; /* new Webkit */ + background-image: linear-gradient(bottom, #fff, #cfdfe9); /* proposed W3C Markup */ + border-color: #5589AA !important; } .wp_themeSkin .mceButtonDisabled { - border-color: #ccc !important; + border-color: #B0C8D7 !important; } /* ListBox */ .wp_themeSkin .mceListBox .mceText, -.wp_themeSkin .mceListBox .mceOpen { - border-color: #B2B2B2; - background-color: #d5d5d5; +.wp_themeSkin .mceListBox .mceOpen { + border-color: #B0C8D7; + background-color: #cfdfe9; /* Fallback */ + background-image: -ms-linear-gradient(bottom, #cfdfe9, #fff); /* IE10 */ + background-image: -moz-linear-gradient(bottom, #cfdfe9, #fff); /* Firefox */ + background-image: -o-linear-gradient(bottom, #cfdfe9, #fff); /* Opera */ + background-image: -webkit-gradient(linear, left bottom, left top, from(#cfdfe9), to(#fff)); /* old Webkit */ + background-image: -webkit-linear-gradient(bottom, #cfdfe9, #fff) !important; /* new Webkit */ + background-image: linear-gradient(bottom, #cfdfe9, #fff); /* proposed W3C Markup */ +} + +.wp_themeSkin .mceListBox .mceOpen { + border-left: 0px !important; } .wp_themeSkin table.mceListBoxEnabled:hover .mceOpen, .wp_themeSkin .mceListBoxHover .mceOpen, +.wp_themeSkin .mceListBoxHover:active .mceOpen, .wp_themeSkin .mceListBoxSelected .mceOpen, -.wp_themeSkin .mceListBoxSelected .mceText { - border-color: #777 !important; - background-color: #d5d5d5; +.wp_themeSkin .mceListBoxSelected .mceText, +.wp_themeSkin table.mceListBoxEnabled:active .mceText { + background: #B0C8D7; + border-color: #5589AA !important; } +/* List Box Hover */ .wp_themeSkin table.mceListBoxEnabled:hover .mceText, -.wp_themeSkin .mceListBoxHover .mceText { - border-color: #777 !important; +.wp_themeSkin .mceListBoxHover .mceText, +.wp_themeSkin table.mceListBoxEnabled:hover .mceOpen, +.wp_themeSkin .mceListBoxHover .mceOpen { + border-color: #5589AA !important; + background-color: #c9c9c9; /* Fallback */ + background-image: -ms-linear-gradient(bottom, #cfdfe9, #fff); /* IE10 */ + background-image: -moz-linear-gradient(bottom, #cfdfe9, #fff); /* Firefox */ + background-image: -o-linear-gradient(bottom, #cfdfe9, #fff); /* Opera */ + background-image: -webkit-gradient(linear, left bottom, left top, from(#cfdfe9), to(#fff)); /* old Webkit */ + background-image: -webkit-linear-gradient(bottom, #cfdfe9, #fff) !important; /* new Webkit */ + background-image: linear-gradient(bottom, #cfdfe9, #fff); /* proposed W3C Markup */ } .wp_themeSkin select.mceListBox { @@ -863,19 +1023,38 @@ table.widefat .spam a:hover, /* SplitButton */ .wp_themeSkin .mceSplitButton a.mceAction, .wp_themeSkin .mceSplitButton a.mceOpen { - border-color: #B2B2B2; + border-color: #B0C8D7; } .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: #d5d5d5; - border-color: #777 !important; + border-color: #5589AA !important; +} + + +.wp_themeSkin table.mceSplitButton td { + background-color: #cfdfe9; /* Fallback */ + background-image: -ms-linear-gradient(bottom, #cfdfe9, #fff); /* IE10 */ + background-image: -moz-linear-gradient(bottom, #cfdfe9, #fff); /* Firefox */ + background-image: -o-linear-gradient(bottom, #cfdfe9, #fff); /* Opera */ + background-image: -webkit-gradient(linear, left bottom, left top, from(#cfdfe9), to(#fff)); /* old Webkit */ + background-image: -webkit-linear-gradient(bottom, #cfdfe9, #fff) !important; /* new Webkit */ + background-image: linear-gradient(bottom, #cfdfe9, #fff); /* proposed W3C Markup */ +} + +.wp_themeSkin table.mceSplitButton:hover td { + background-image: -ms-linear-gradient(bottom, #cfdfe9, #fff); /* IE10 */ + background-image: -moz-linear-gradient(bottom, #cfdfe9, #fff); /* Firefox */ + background-image: -o-linear-gradient(bottom, #cfdfe9, #fff); /* Opera */ + background-image: -webkit-gradient(linear, left bottom, left top, from(#cfdfe9), to(#fff)); /* old Webkit */ + background-image: -webkit-linear-gradient(bottom, #cfdfe9, #fff) !important; /* new Webkit */ + background-image: linear-gradient(bottom, #cfdfe9, #fff); /* proposed W3C Markup */ } .wp_themeSkin .mceSplitButtonActive { - background-color: #B2B2B2; + background-color: #B0C8D7; } /* ColorSplitButton */ @@ -945,20 +1124,20 @@ table.widefat .spam a:hover, background: #444444; border-left: 1px solid #999; border-top: 1px solid #999; - -moz-border-radius: 4px 0 0 0; - -webkit-border-top-left-radius: 4px; - -khtml-border-top-left-radius: 4px; - border-top-left-radius: 4px; + -moz-border-radius: 3px 0 0 0; + -webkit-border-top-left-radius: 3px; + -khtml-border-top-left-radius: 3px; + border-top-left-radius: 3px; } .wp-admin .clearlooks2 .mceFocus .mceTop .mceRight { background: #444444; border-right: 1px solid #999; border-top: 1px solid #999; - border-top-right-radius: 4px; - -khtml-border-top-right-radius: 4px; - -webkit-border-top-right-radius: 4px; - -moz-border-radius: 0 4px 0 0; + border-top-right-radius: 3px; + -khtml-border-top-right-radius: 3px; + -webkit-border-top-right-radius: 3px; + -moz-border-radius: 0 3px 0 0; } .wp-admin .clearlooks2 .mceMiddle .mceLeft { @@ -998,11 +1177,20 @@ table.widefat .spam a:hover, } /* end TinyMCE */ -#editorcontainer, -#post-status-info, -#titlediv #title, +#titlediv #title { + border-color: #bdccd5; +} + +#editorcontainer { + border-color: #bdccd5 #bdccd5 #d0dfe9; +} + +#post-status-info { + border-color: #d0dfe9 #bdccd5 #bdccd5; +} + .editwidget .widget-inside { - border-color: #D1E5EE; + border-color: #d0dfe9; } #titlediv #title { @@ -1021,79 +1209,81 @@ table.widefat .spam a:hover, } /* menu */ -#adminmenu * { - border-color: #d1e5ee; +#adminmenuback, +#adminmenuwrap { + background-color: #EFF8FF; + border-color: #D1E5EE; +} + +#adminmenushadow, +#adminmenuback { + background-image: url(../images/menu-shadow.png); + background-position: top right; + background-repeat: repeat-y; } #adminmenu li.wp-menu-separator { - background: transparent url(../images/menu-arrows.gif) no-repeat scroll left 5px; + background: #D1E5EE; + border-color: #bed1dd; } -.folded #adminmenu li.wp-menu-separator { - background: transparent url(../images/menu-arrows.gif) no-repeat scroll right -34px; +#adminmenu div.separator { + border-color: #D1E5EE; } #adminmenu li.wp-has-current-submenu.wp-menu-open .wp-menu-toggle, #adminmenu li.wp-has-current-submenu:hover .wp-menu-toggle { - background: transparent url(../images/menu-bits-vs.gif?ver=20101102) no-repeat scroll left -207px; + background: transparent url(../images/arrows-dark-vs.png) no-repeat -1px 6px; } #adminmenu .wp-has-submenu:hover .wp-menu-toggle, #adminmenu .wp-menu-open .wp-menu-toggle { - background: transparent url(../images/menu-bits-vs.gif?ver=20101102) no-repeat scroll left -109px; -} - -#adminmenu a.menu-top { - background: #eff8ff url(../images/menu-bits-vs.gif?ver=20101102) repeat-x scroll left -379px; -} - -#adminmenu .wp-submenu a { - background: #fff url(../images/menu-bits-vs.gif?ver=20101102) no-repeat scroll 0 -99px; -} - -#adminmenu .wp-has-current-submenu ul li a { - background: none; -} - -#adminmenu .wp-has-current-submenu ul li a.current { - background: url(../images/menu-dark-vs.gif) top left no-repeat !important; + background: transparent url(../images/arrows-vs.png) no-repeat -2px 6px; } -.wp-has-current-submenu .wp-submenu { - border-top: none !important; +#adminmenu a.menu-top, +.folded #adminmenu li.menu-top, +#adminmenu .wp-submenu .wp-submenu-head { + border-top-color: #ffffff; + border-bottom-color: #d1e5ee; } -#adminmenu li.wp-has-current-submenu a.wp-has-current-submenu { - border-bottom: #aaa 1px solid; +#adminmenu li.wp-menu-open { + border-color: #d1e5ee; } #adminmenu li.wp-has-current-submenu a.wp-has-current-submenu, -#adminmenu li.current a.menu-top { - background: #d0dfe9 url(../images/menu-bits-vs.gif?ver=20101102) top left repeat-x; - border: #5589aa 1px solid; - color: #464646; -} - -#adminmenu li.wp-has-current-submenu .wp-submenu, -#adminmenu li.wp-has-current-submenu ul li a { - border-right-color: #5589aa !important; - border-left-color: #5589aa !important; -} - -#adminmenu li.wp-has-current-submenu ul li a { - background: url(../images/menu-dark-vs.gif) bottom left no-repeat !important; +#adminmenu li.current a.menu-top, +.folded #adminmenu li.wp-has-current-submenu, +.folded #adminmenu li.current.menu-top, +#adminmenu .wp-menu-arrow, +#adminmenu .wp-has-current-submenu .wp-submenu .wp-submenu-head { + background-color: #5589AA; /* Fallback */ + background-image: -ms-linear-gradient(bottom, #5589AA, #5A8FAD); /* IE10 */ + background-image: -moz-linear-gradient(bottom, #5589AA, #5A8FAD); /* Firefox */ + background-image: -o-linear-gradient(bottom, #5589AA, #5A8FAD); /* Opera */ + background-image: -webkit-gradient(linear, left bottom, left top, from(#5589AA), to(#5A8FAD)); /* old Webkit */ + background-image: -webkit-linear-gradient(bottom, #5589AA, #5A8FAD); /* new Webkit */ + background-image: linear-gradient(bottom, #5589AA, #5A8FAD); /* proposed W3C Markup */ } -#adminmenu li.wp-has-current-submenu ul { - border-bottom-color: #5589aa; +#adminmenu li.wp-has-current-submenu a.wp-has-current-submenu, +#adminmenu li.current a.menu-top, +#adminmenu .wp-has-current-submenu .wp-submenu .wp-submenu-head { + text-shadow: 0 -1px 0 #333; + color: #fff; + border-top-color: #5A8FAD; + border-bottom-color: #5589AA; } -#adminmenu .wp-submenu .current a.current { - background: transparent url(../images/menu-bits-vs.gif?ver=20101102) no-repeat scroll 0 -289px; +.folded #adminmenu li.wp-has-current-submenu, +.folded #adminmenu li.current.menu-top { + border-top-color: #5A8FAD; + border-bottom-color: #5589AA; } #adminmenu .wp-submenu a:hover { - background-color: #f8f7f3 !important; + background-color: #EAF2FA !important; color: #333 !important; } @@ -1101,148 +1291,232 @@ table.widefat .spam a:hover, #adminmenu .wp-submenu li.current a, #adminmenu .wp-submenu li.current a:hover { color: #333; - background-color: #efede7; - background-image: none; - border-color: #5589aa; } #adminmenu .wp-submenu ul { background-color: #fff; } -.folded #adminmenu li.menu-top, -#adminmenu .wp-submenu .wp-submenu-head { - background: #eff8ff url(../images/menu-bits-vs.gif?ver=20101102) repeat-x scroll left -379px; +.folded #adminmenu .wp-submenu-wrap, +.folded #adminmenu .wp-submenu ul { + border-color: #d0dfe9; } -.folded #adminmenu li.wp-has-current-submenu, -.folded #adminmenu li.menu-top.current { - background: #e0e0e0 url(../images/menu-bits-vs.gif?ver=20101102) top left repeat-x; - border: #5589aa 1px solid; - color: #464646; +.folded #adminmenu .wp-submenu-wrap { + -moz-box-shadow: 2px 2px 5px rgba( 0, 0, 0, 0.4 ); + -webkit-box-shadow: 2px 2px 5px rgba( 0, 0, 0, 0.4 ); + box-shadow: 2px 2px 5px rgba( 0, 0, 0, 0.4 ); } -#adminmenu .wp-has-current-submenu .wp-submenu .wp-submenu-head { - background: #d0dfe9 url(../images/menu-bits-vs.gif?ver=20101102) repeat-x 0% 0%; - border: 1px solid; - color: #464646; +#adminmenu .wp-submenu .wp-submenu-head { + border-right-color: #d0dfe9; + background-color: #EFF8FF; } #adminmenu div.wp-submenu { background-color: transparent; } -/* menu icons */ +/* collapse menu button */ +#collapse-menu { + color: #A0C3D5; +} + +#collapse-menu:hover { + color: #5A8FAD; +} + +#collapse-button { + border-color: #d0dfe9; + background-color: #eff8ff; /* Fallback */ + background-image: -ms-linear-gradient(bottom, #eff8ff, #fff); /* IE10 */ + background-image: -moz-linear-gradient(bottom, #eff8ff, #fff); /* Firefox */ + background-image: -o-linear-gradient(bottom, #eff8ff, #fff); /* Opera */ + background-image: -webkit-gradient(linear, left bottom, left top, from(#eff8ff), to(#fff)); /* old Webkit */ + background-image: -webkit-linear-gradient(bottom, #eff8ff, #fff); /* new Webkit */ + background-image: linear-gradient(bottom, #eff8ff, #fff); /* proposed W3C Markup */ +} +#collapse-menu:hover #collapse-button { + border-color: #A0C3D5; +} +#collapse-button div { + background: transparent url(../images/arrows-vs.png) no-repeat 0 -72px; +} +.folded #collapse-button div { + background-position: 0 -108px; +} + +/* menu and screen icons */ #adminmenu .menu-icon-dashboard div.wp-menu-image { - background: transparent url('../images/menu-vs.png?ver=20100531') no-repeat scroll -61px -33px; + background: transparent url('../images/menu-vs.png?ver=20100531') no-repeat scroll -60px -33px; } #adminmenu .menu-icon-dashboard:hover div.wp-menu-image, #adminmenu .menu-icon-dashboard.wp-has-current-submenu div.wp-menu-image, #adminmenu .menu-icon-dashboard.current div.wp-menu-image { - background: transparent url('../images/menu-vs.png?ver=20100531') no-repeat scroll -61px -1px; + background: transparent url('../images/menu-vs.png?ver=20100531') no-repeat scroll -60px -1px; } #adminmenu .menu-icon-post div.wp-menu-image { - background: transparent url('../images/menu-vs.png?ver=20100531') no-repeat scroll -272px -33px; + background: transparent url('../images/menu-vs.png?ver=20100531') no-repeat scroll -271px -33px; } #adminmenu .menu-icon-post:hover div.wp-menu-image, #adminmenu .menu-icon-post.wp-has-current-submenu div.wp-menu-image { - background: transparent url('../images/menu-vs.png?ver=20100531') no-repeat scroll -272px -1px; + background: transparent url('../images/menu-vs.png?ver=20100531') no-repeat scroll -271px -1px; } #adminmenu .menu-icon-media div.wp-menu-image { - background: transparent url('../images/menu-vs.png?ver=20100531') no-repeat scroll -121px -33px; + background: transparent url('../images/menu-vs.png?ver=20100531') no-repeat scroll -120px -33px; } #adminmenu .menu-icon-media:hover div.wp-menu-image, #adminmenu .menu-icon-media.wp-has-current-submenu div.wp-menu-image { - background: transparent url('../images/menu-vs.png?ver=20100531') no-repeat scroll -121px -1px; + background: transparent url('../images/menu-vs.png?ver=20100531') no-repeat scroll -120px -1px; } #adminmenu .menu-icon-links div.wp-menu-image { - background: transparent url('../images/menu-vs.png?ver=20100531') no-repeat scroll -91px -33px; + background: transparent url('../images/menu-vs.png?ver=20100531') no-repeat scroll -90px -33px; } #adminmenu .menu-icon-links:hover div.wp-menu-image, #adminmenu .menu-icon-links.wp-has-current-submenu div.wp-menu-image { - background: transparent url('../images/menu-vs.png?ver=20100531') no-repeat scroll -91px -1px; + background: transparent url('../images/menu-vs.png?ver=20100531') no-repeat scroll -90px -1px; } #adminmenu .menu-icon-page div.wp-menu-image { - background: transparent url('../images/menu-vs.png?ver=20100531') no-repeat scroll -151px -33px; + background: transparent url('../images/menu-vs.png?ver=20100531') no-repeat scroll -150px -33px; } #adminmenu .menu-icon-page:hover div.wp-menu-image, #adminmenu .menu-icon-page.wp-has-current-submenu div.wp-menu-image { - background: transparent url('../images/menu-vs.png?ver=20100531') no-repeat scroll -151px -1px; + background: transparent url('../images/menu-vs.png?ver=20100531') no-repeat scroll -150px -1px; } #adminmenu .menu-icon-comments div.wp-menu-image { - background: transparent url('../images/menu-vs.png?ver=20100531') no-repeat scroll -31px -33px; + background: transparent url('../images/menu-vs.png?ver=20100531') no-repeat scroll -30px -33px; } #adminmenu .menu-icon-comments:hover div.wp-menu-image, #adminmenu .menu-icon-comments.wp-has-current-submenu div.wp-menu-image, #adminmenu .menu-icon-comments.current div.wp-menu-image { - background: transparent url('../images/menu-vs.png?ver=20100531') no-repeat scroll -31px -1px; + background: transparent url('../images/menu-vs.png?ver=20100531') no-repeat scroll -30px -1px; } #adminmenu .menu-icon-appearance div.wp-menu-image { - background: transparent url('../images/menu-vs.png?ver=20100531') no-repeat scroll -1px -33px; + background: transparent url('../images/menu-vs.png?ver=20100531') no-repeat scroll 0 -33px; } #adminmenu .menu-icon-appearance:hover div.wp-menu-image, #adminmenu .menu-icon-appearance.wp-has-current-submenu div.wp-menu-image { - background: transparent url('../images/menu-vs.png?ver=20100531') no-repeat scroll -1px -1px; + background: transparent url('../images/menu-vs.png?ver=20100531') no-repeat scroll 0 -1px; } #adminmenu .menu-icon-plugins div.wp-menu-image { - background: transparent url('../images/menu-vs.png?ver=20100531') no-repeat scroll -181px -33px; + background: transparent url('../images/menu-vs.png?ver=20100531') no-repeat scroll -180px -33px; } #adminmenu .menu-icon-plugins:hover div.wp-menu-image, #adminmenu .menu-icon-plugins.wp-has-current-submenu div.wp-menu-image { - background: transparent url('../images/menu-vs.png?ver=20100531') no-repeat scroll -181px -1px; + background: transparent url('../images/menu-vs.png?ver=20100531') no-repeat scroll -180px -1px; } #adminmenu .menu-icon-users div.wp-menu-image { - background: transparent url('../images/menu-vs.png?ver=20100531') no-repeat scroll -301px -33px; + background: transparent url('../images/menu-vs.png?ver=20100531') no-repeat scroll -300px -33px; } #adminmenu .menu-icon-users:hover div.wp-menu-image, -#adminmenu .menu-icon-users.wp-has-current-submenu div.wp-menu-image { - background: transparent url('../images/menu-vs.png?ver=20100531') no-repeat scroll -301px -1px; +#adminmenu .menu-icon-users.wp-has-current-submenu div.wp-menu-image, +#adminmenu .menu-icon-users.current div.wp-menu-image { + background: transparent url('../images/menu-vs.png?ver=20100531') no-repeat scroll -300px -1px; } #adminmenu .menu-icon-tools div.wp-menu-image { - background: transparent url('../images/menu-vs.png?ver=20100531') no-repeat scroll -211px -33px; + background: transparent url('../images/menu-vs.png?ver=20100531') no-repeat scroll -210px -33px; } #adminmenu .menu-icon-tools:hover div.wp-menu-image, -#adminmenu .menu-icon-tools.wp-has-current-submenu div.wp-menu-image { - background: transparent url('../images/menu-vs.png?ver=20100531') no-repeat scroll -211px -1px; +#adminmenu .menu-icon-tools.wp-has-current-submenu div.wp-menu-image, +#adminmenu .menu-icon-tools.current div.wp-menu-image { + background: transparent url('../images/menu-vs.png?ver=20100531') no-repeat scroll -210px -1px; } +#icon-options-general, #adminmenu .menu-icon-settings div.wp-menu-image { - background: transparent url('../images/menu-vs.png?ver=20100531') no-repeat scroll -241px -33px; + background: transparent url('../images/menu-vs.png?ver=20100531') no-repeat scroll -240px -33px; } #adminmenu .menu-icon-settings:hover div.wp-menu-image, #adminmenu .menu-icon-settings.wp-has-current-submenu div.wp-menu-image { - background: transparent url('../images/menu-vs.png?ver=20100531') no-repeat scroll -241px -1px; + background: transparent url('../images/menu-vs.png?ver=20100531') no-repeat scroll -240px -1px; } #adminmenu .menu-icon-site div.wp-menu-image { - background: transparent url('../images/menu-vs.png?ver=20100531') no-repeat scroll -361px -33px; + background: transparent url('../images/menu-vs.png?ver=20100531') no-repeat scroll -360px -33px; } #adminmenu .menu-icon-site:hover div.wp-menu-image, #adminmenu .menu-icon-site.wp-has-current-submenu div.wp-menu-image { - background: transparent url('../images/menu-vs.png?ver=20100531') no-repeat scroll -361px -1px; + background: transparent url('../images/menu-vs.png?ver=20100531') no-repeat scroll -360px -1px; +} +/* end menu and screen icons */ + +/* Screen Icons */ +#icon-edit, +#icon-post { + background: transparent url(../images/icons32-vs.png?ver=20100531) no-repeat -552px -5px; +} + +#icon-index { + background: transparent url(../images/icons32-vs.png?ver=20100531) no-repeat -137px -5px; +} + +#icon-upload { + background: transparent url(../images/icons32-vs.png?ver=20100531) no-repeat -251px -5px; +} + +#icon-link-manager, +#icon-link, +#icon-link-category { + background: transparent url(../images/icons32-vs.png?ver=20100531) no-repeat -190px -5px; +} + +#icon-edit-pages, +#icon-page { + background: transparent url(../images/icons32-vs.png?ver=20100531) no-repeat -312px -5px; +} + +#icon-edit-comments { + background: transparent url(../images/icons32-vs.png?ver=20100531) no-repeat -72px -5px; +} + +#icon-themes { + background: transparent url(../images/icons32-vs.png?ver=20100531) no-repeat -11px -5px; +} + +#icon-plugins { + background: transparent url(../images/icons32-vs.png?ver=20100531) no-repeat -370px -5px; +} + +#icon-users, +#icon-profile, +#icon-user-edit { + background: transparent url(../images/icons32-vs.png?ver=20100531) no-repeat -600px -5px; +} + +#icon-tools, +#icon-admin { + background: transparent url(../images/icons32-vs.png?ver=20100531) no-repeat -432px -5px; +} + +#icon-options-general { + background: transparent url(../images/icons32-vs.png?ver=20100531) no-repeat -492px -5px; +} + +#icon-ms-admin { + background: transparent url(../images/icons32-vs.png?ver=20100531) no-repeat -659px -5px; } -/* end menu */ +/* end screen icons */ /* Diff */ @@ -1281,10 +1555,24 @@ table.diff .diff-addedline ins { #screen-options-wrap, #contextual-help-wrap { - background-color: #F8F7F3; + background-color: #f7fcfe; border-color: #D1e5ee; } +#screen-options-link-wrap, +#contextual-help-link-wrap { + background-color: #eff8ff; /* Fallback */ + border-right: 1px solid #D1E5EE; + border-left: 1px solid #D1E5EE; + border-bottom: 1px solid #D1E5EE; + background-image: -ms-linear-gradient(bottom, #eff8ff, #fff); /* IE10 */ + background-image: -moz-linear-gradient(bottom, #eff8ff, #fff); /* Firefox */ + background-image: -o-linear-gradient(bottom, #eff8ff, #fff); /* Opera */ + background-image: -webkit-gradient(linear, left bottom, left top, from(#eff8ff), to(#fff)); /* old Webkit */ + background-image: -webkit-linear-gradient(bottom, #eff8ff, #fff); /* new Webkit */ + background-image: linear-gradient(bottom, #eff8ff, #fff); /* proposed W3C Markup */ +} + #screen-meta-links a.show-settings { color: #606060; } @@ -1329,6 +1617,11 @@ div.star.select:hover { background-color: #d00; } +div.star img { + border-left: 1px solid #fff; + border-right: 1px solid #fff; +} + #plugin-information .fyi ul { background-color: #eaf3fa; } @@ -1385,14 +1678,8 @@ fieldset.inline-edit-col-right .inline-edit-col { color: #D54E21; } -body.press-this .postbox:hover .handlediv, -body.press-this .stuffbox:hover .handlediv, .meta-box-sortables .postbox:hover .handlediv { - background: transparent url(../images/menu-bits-vs.gif?ver=20101102) no-repeat scroll left -111px; -} - -#major-publishing-actions { - background: #eaf2fa; + background: transparent url(../images/arrows-vs.png) no-repeat 6px 7px; } .tablenav .tablenav-pages { @@ -1440,6 +1727,7 @@ body.press-this .stuffbox:hover .handlediv, } .misc-pub-section { + border-top-color: #fff; border-bottom-color: #eee; } @@ -1489,7 +1777,7 @@ body.press-this ul.category-tabs li.tabs a { #favorite-first { border-color: #c0c0c0; background: #f1f1f1; /* fallback color */ - background:-moz-linear-gradient(bottom, #e7e7e7, #fff); + background:-moz-linear-gradient(bottom, #e7e7e7, #fff); background:-webkit-gradient(linear, left bottom, left top, from(#e7e7e7), to(#fff)); } @@ -1500,6 +1788,10 @@ body.press-this ul.category-tabs li.tabs a { #favorite-toggle { background: transparent url(../images/fav-arrow.gif?ver=20100531) no-repeat 0 -4px; + border-color: #d0dfe9; + -moz-box-shadow: inset 1px 0 0 #fff; + -webkit-box-shadow: inset 1px 0 0 #fff; + box-shadow: inset 1px 0 0 #fff; } #favorite-actions a { @@ -1514,68 +1806,13 @@ body.press-this ul.category-tabs li.tabs a { text-decoration: underline; } -#screen-meta .screen-meta-toggle { - background: #D1E5ee; -} - #screen-meta a.show-settings, .toggle-arrow { - background-image:url("../images/screen-options-toggle-vs.gif?ver=20100531"); -} - -#icon-edit, -#icon-post { - background: transparent url(../images/icons32-vs.png?ver=20100531) no-repeat -552px -5px; -} - -#icon-index { - background: transparent url(../images/icons32-vs.png?ver=20100531) no-repeat -137px -5px; -} - -#icon-upload { - background: transparent url(../images/icons32-vs.png?ver=20100531) no-repeat -251px -5px; -} - -#icon-link-manager, -#icon-link, -#icon-link-category { - background: transparent url(../images/icons32-vs.png?ver=20100531) no-repeat -190px -5px; -} - -#icon-edit-pages, -#icon-page { - background: transparent url(../images/icons32-vs.png?ver=20100531) no-repeat -312px -5px; -} - -#icon-edit-comments { - background: transparent url(../images/icons32-vs.png?ver=20100531) no-repeat -72px -5px; -} - -#icon-themes { - background: transparent url(../images/icons32-vs.png?ver=20100531) no-repeat -11px -5px; + background: transparent url(../images/arrows-vs.png) no-repeat right 3px; } -#icon-plugins { - background: transparent url(../images/icons32-vs.png?ver=20100531) no-repeat -370px -5px; -} - -#icon-users, -#icon-profile, -#icon-user-edit { - background: transparent url(../images/icons32-vs.png?ver=20100531) no-repeat -600px -5px; -} - -#icon-tools, -#icon-admin { - background: transparent url(../images/icons32-vs.png?ver=20100531) no-repeat -432px -5px; -} - -#icon-options-general { - background: transparent url(../images/icons32-vs.png?ver=20100531) no-repeat -492px -5px; -} - -#icon-ms-admin { - background: transparent url(../images/icons32-vs.png?ver=20100531) no-repeat -659px -5px; +#screen-meta .screen-meta-active a.show-settings { + background: transparent url(../images/arrows-vs.png) no-repeat right -33px; } .view-switch #view-switch-list { @@ -1614,30 +1851,33 @@ body.press-this ul.category-tabs li.tabs a { div.widgets-sortables, #widgets-left .inactive { - border-color: #D1E5EE; - background-color: #f8f7f3; - -moz-border-radius-bottomleft:8px; --moz-border-radius-bottomright:8px + background-color: #f7fcfe; + border-color: #d0dfe9; } #available-widgets .widget-holder { - background-color: #fff; - border-color: #ddd; + background-color: #f7fcfe; + border-color: #d0dfe9; } -#widgets-left .sidebar-name { - background-color: #aaa; - background-image: url(../images/ed-bg-vs.gif?ver=20101102); - text-shadow: #fff 0 1px 0; - border-color: #dfdfdf; +#available-widgets .widget-description { + color: #555; } -#widgets-right .sidebar-name { - background-image: url(../images/button-grad.png); - text-shadow: #174f69 0 -1px 0; - background-color: #cfdfe9; - border-color: #174f69; - color: #ffffff; +.sidebar-name { + color: #464646; + background-color: #f7fcfe; /* Fallback */ + background-image: -ms-linear-gradient(top, #ECF8FE, #f7fcfe); /* IE10 */ + background-image: -moz-linear-gradient(top, #ECF8FE, #f7fcfe); /* Firefox */ + background-image: -o-linear-gradient(top, #ECF8FE, #f7fcfe); /* Opera */ + background-image: -webkit-gradient(linear, left top, left bottom, from(#ECF8FE), to(#f7fcfe)); /* old Webkit */ + background-image: -webkit-linear-gradient(top, #ECF8FE, #f7fcfe); /* new Webkit */ + background-image: linear-gradient(top, #ECF8FE, #f7fcfe); /* proposed W3C Markup */ + text-shadow: #fff 0 1px 0; + border-color: #d0dfe9; + -moz-box-shadow: inset 0 1px 0 #fff; + -webkit-box-shadow: inset 0 1px 0 #fff; + box-shadow: inset 0 1px 0 #fff; } .sidebar-name:hover, @@ -1649,12 +1889,12 @@ div.widgets-sortables, color: black; } -#widgets-left .sidebar-name-arrow { - background: transparent url(../images/menu-bits-vs.gif?ver=20101102) no-repeat scroll left -109px; +.sidebar-name-arrow { + background: transparent url(../images/arrows-vs.png) no-repeat 5px 9px; } -#widgets-right .sidebar-name-arrow { - background: url("../images/widgets-arrow-vs.gif?ver=20100531") no-repeat scroll 0 -1px transparent; +.sidebar-name:hover .sidebar-name-arrow { + background: transparent url(../images/arrows-dark-vs.png) no-repeat 5px 9px; } .in-widget-title { @@ -1695,12 +1935,153 @@ div.widgets-sortables, background-color: #f1f1f1; } -#nav-menu-header, #nav-menu-footer, .menu-item-handle { - background: url("../images/ed-bg-vs.gif?ver=20101102") repeat-x scroll left top #cfdfe9; - border-top: solid #D1E5EE 1px; +/* added from nav-menu.css */ +#menu-management .menu-edit { + border-color: #d0dfe9; +} + +#post-body { + background: #ffffff; + border-top-color: #fff; + border-bottom-color: #d0dfe9; +} + +#nav-menu-header { + border-bottom-color: #d0dfe9; +} + +#nav-menu-footer { + border-top-color: #fff; +} + +#menu-management .nav-tabs-arrow a { + color: #C1C1C1; +} + +#menu-management .nav-tabs-arrow a:hover { + color: #D54E21; +} + +#menu-management .nav-tabs-arrow a:active { + color: #464646; +} + +#menu-management .nav-tab-active { + border-color: #dfdfdf; +} + +#menu-management .nav-tab { + background: #f7fcfe; + border-color: #d0dfe9; +} + +.js .input-with-default-title { + color: #aaa; +} + +#cancel-save { + color: #ff0000; +} + +#cancel-save:hover { + background-color: #FF0000; + color: #fff; +} + +.list-container { + border-color: #dfdfdf; +} + +.menu-item-handle { + border-color: #d0dfe9; +} + +.menu li.deleting .menu-item-handle { + background-color: #f66; + text-shadow: #ccc; +} + +.item-type { /* Menu item controls */ + color: #999999; +} + +.item-controls .menu-item-delete:hover { + color: #ff0000; +} + +.item-edit { + background: transparent url(../images/arrows-vs.png) no-repeat 8px 10px; + border-bottom-color: #eee; +} + +.item-edit:hover { + background: transparent url(../images/arrows-dark-vs.png) no-repeat 8px 10px; +} + +.menu-item-settings { /* Menu editing */ + border-color: #d0dfe9; +} + +.link-to-original { + color: #777; + border-color: #d0dfe9; +} + +#cancel-save:hover { + color: #fff !important; +} + +#update-menu-item { + color: #fff !important; +} + +#update-menu-item:hover, +#update-menu-item:active, +#update-menu-item:focus { + color: #eaf2fa !important; + border-color: #13455b !important; +} + +.submitbox .submitcancel { + color: #21759B; + border-bottom-color: #21759B; +} + +.submitbox .submitcancel:hover { + background: #21759B; + color: #fff; +} +/* end added from nav-menu.css */ + +#menu-management .nav-tab-active, +.menu-item-handle, +.menu-item-settings { + -moz-box-shadow: inset 0 1px 0 #fff; + -webkit-box-shadow: inset 0 1px 0 #fff; + box-shadow: inset 0 1px 0 #fff; } #menu-management .nav-tab-active { background: #eff8ff; border-bottom-color: #eff8ff; } + +/* custom header & background pages */ +#upload-form label { + color: #777; +} +/* custom header & background pages */ + +/* full screen */ +.fullscreen-overlay { + background: #fff; +} + +.wp-fullscreen-focus #wp-fullscreen-title, +.wp-fullscreen-focus #wp-fullscreen-container { + border-color: #BED1DD; +} + +#fullscreen-topbar { + border-bottom-color: #D1E5EE; +} diff --git a/wp-admin/css/colors-fresh-rtl.css b/wp-admin/css/colors-fresh-rtl.css index 18930fdcb..bd5b1141c 100644 --- a/wp-admin/css/colors-fresh-rtl.css +++ b/wp-admin/css/colors-fresh-rtl.css @@ -1 +1 @@ -.bar{border-right-color:transparent;border-left-color:#99d;}.plugins .togl{border-right-color:transparent;border-left-color:#ccc;}.post-com-count{background-image:url(../images/bubble_bg-rtl.gif);}.tablenav .tablenav-pages a{background:#eee url('../images/menu-bits-rtl.gif?ver=20100531') repeat-x scroll right -379px;}#upload-menu li.current{border-right-color:transparent;border-left-color:#448abd;}#adminmenu .wp-submenu .current a.current{background:transparent url(../images/menu-bits-rtl.gif?ver=20100531) no-repeat scroll right -289px;}#adminmenu li.wp-menu-separator{background:transparent url(../images/menu-arrows.gif) no-repeat scroll right -34px;}.folded #adminmenu li.wp-menu-separator{background:transparent url(../images/menu-arrows.gif) no-repeat scroll left 5px;}#adminmenu li.wp-has-current-submenu .wp-menu-toggle,#adminmenu li.wp-has-current-submenu:hover .wp-menu-toggle{background:transparent url(../images/menu-bits-rtl.gif?ver=20100531) repeat-x scroll right -207px;}#adminmenu .wp-has-current-submenu ul li a.current{background:url(../images/menu-dark-rtl.gif) top right no-repeat!important;}#adminmenu li.wp-has-current-submenu a.wp-has-current-submenu,#adminmenu .menu-top .current{background:url(../images/menu-bits-rtl.gif?ver=20100531) top right repeat-x;}#adminmenu li.wp-has-current-submenu ul li a{background:url(../images/menu-dark-rtl.gif) bottom right no-repeat!important;}#adminmenu li.wp-has-current-submenu.wp-menu-open .wp-menu-toggle,#adminmenu li.wp-has-current-submenu:hover .wp-menu-toggle{background:transparent url(../images/menu-bits-rtl.gif?ver=20100531) no-repeat right -207px;}#adminmenu .wp-has-submenu:hover .wp-menu-toggle,#adminmenu .wp-menu-open .wp-menu-toggle{background:transparent url(../images/menu-bits-rtl.gif?ver=20100531) repeat-x scroll right -109px;}#adminmenu a.wp-has-submenu{background:#f1f1f1 url(../images/menu-bits-rtl.gif?ver=20100531) repeat-x scroll right -379px;}#adminmenu .wp-submenu a{background:#fff url(../images/menu-bits-rtl.gif?ver=20100531) no-repeat scroll right -310px;}#adminmenu li.wp-has-current-submenu a.wp-has-submenu{background:#b5b5b5 url(../images/menu-bits-rtl.gif?ver=20100531) repeat-x scroll right top;}.meta-box-sortables .postbox:hover .handlediv{background:transparent url(../images/menu-bits-rtl.gif?ver=20100531) no-repeat scroll right -111px;}#favorite-toggle{background:transparent url(../images/fav-arrow-rtl.gif?ver=20100531) no-repeat right -4px;} \ No newline at end of file +.bar{border-right-color:none;border-left-color:#99d;}.post-com-count{background-image:url(../images/bubble_bg-rtl.gif);}#user_info_arrow{background:transparent url(../images/arrows.png) no-repeat 0 5px;}#user_info:hover #user_info_arrow,#user_info.active #user_info_arrow{background:transparent url(../images/arrows-dark.png) no-repeat 0 5px;}#adminmenushadow,#adminmenuback{background-image:url(../images/menu-shadow-rtl.png);background-position:top left;}#adminmenu li.wp-has-current-submenu.wp-menu-open .wp-menu-toggle,#adminmenu li.wp-has-current-submenu:hover .wp-menu-toggle{background:transparent url(../images/arrows-dark.png) no-repeat 8px 6px;}#adminmenu .wp-has-submenu:hover .wp-menu-toggle,#adminmenu .wp-menu-open .wp-menu-toggle{background:transparent url(../images/arrows.png) no-repeat 8px 6px;}#adminmenu .wp-submenu .wp-submenu-head{border-right-color:none;border-left-color:#dfdfdf;}.folded #adminmenu .wp-submenu-wrap{-moz-box-shadow:-2px 2px 5px rgba(0,0,0,0.4);-webkit-box-shadow:-2px 2px 5px rgba(0,0,0,0.4);box-shadow:-2px 2px 5px rgba(0,0,0,0.4);}#collapse-button div{background-position:0 -108px;}.folded #collapse-button div{background-position:0 -72px;}.meta-box-sortables .postbox:hover .handlediv{background:transparent url(../images/arrows.png) no-repeat 6px 7px;}.tablenav .tablenav-pages a{border-color:#e3e3e3;background:#eee url('../images/menu-bits-rtl.gif?ver=20100610') repeat-x scroll right -379px;}#post-body .misc-pub-section{border-right-color:none;border-left-color:#eee;}#favorite-toggle{background:transparent url(../images/arrows.png) no-repeat 4px 2px;}#screen-meta a.show-settings,.toggle-arrow{background:transparent url(../images/arrows.png) no-repeat left 3px;}#screen-meta .screen-meta-active a.show-settings{background:transparent url(../images/arrows.png) no-repeat left -33px;}.sidebar-name-arrow{background:transparent url(../images/arrows.png) no-repeat 5px 9px;}.sidebar-name:hover .sidebar-name-arrow{background:transparent url(../images/arrows-dark.png) no-repeat 5px 9px;} \ No newline at end of file diff --git a/wp-admin/css/colors-fresh-rtl.dev.css b/wp-admin/css/colors-fresh-rtl.dev.css index 8071127d2..58ffe59bb 100644 --- a/wp-admin/css/colors-fresh-rtl.dev.css +++ b/wp-admin/css/colors-fresh-rtl.dev.css @@ -1,78 +1,98 @@ .bar { - border-right-color: transparent; + border-right-color: none; border-left-color: #99d; } -.plugins .togl { - border-right-color: transparent; - border-left-color: #ccc; -} - .post-com-count { background-image: url(../images/bubble_bg-rtl.gif); } -.tablenav .tablenav-pages a { - background: #eee url('../images/menu-bits-rtl.gif?ver=20100531') repeat-x scroll right -379px; + +#user_info_arrow { + background: transparent url(../images/arrows.png) no-repeat 0 5px; } -#upload-menu li.current { - border-right-color: transparent; - border-left-color: #448abd; + +#user_info:hover #user_info_arrow, +#user_info.active #user_info_arrow { + background: transparent url(../images/arrows-dark.png) no-repeat 0 5px; } -#adminmenu .wp-submenu .current a.current { - background: transparent url(../images/menu-bits-rtl.gif?ver=20100531) no-repeat scroll right -289px; +/* editors */ + +/* menu */ + +#adminmenushadow, +#adminmenuback { + background-image: url(../images/menu-shadow-rtl.png); + background-position: top left; } -#adminmenu li.wp-menu-separator { - background: transparent url(../images/menu-arrows.gif) no-repeat scroll right -34px; +#adminmenu li.wp-has-current-submenu.wp-menu-open .wp-menu-toggle, +#adminmenu li.wp-has-current-submenu:hover .wp-menu-toggle { + background: transparent url(../images/arrows-dark.png) no-repeat 8px 6px; } -.folded #adminmenu li.wp-menu-separator { - background: transparent url(../images/menu-arrows.gif) no-repeat scroll left 5px; +#adminmenu .wp-has-submenu:hover .wp-menu-toggle, +#adminmenu .wp-menu-open .wp-menu-toggle { + background: transparent url(../images/arrows.png) no-repeat 8px 6px; } -#adminmenu li.wp-has-current-submenu .wp-menu-toggle, -#adminmenu li.wp-has-current-submenu:hover .wp-menu-toggle { - background: transparent url(../images/menu-bits-rtl.gif?ver=20100531) repeat-x scroll right -207px; + +#adminmenu .wp-submenu .wp-submenu-head { + border-right-color: none; + border-left-color: #dfdfdf; } -#adminmenu .wp-has-current-submenu ul li a.current { - background: url(../images/menu-dark-rtl.gif) top right no-repeat !important; +.folded #adminmenu .wp-submenu-wrap { + -moz-box-shadow: -2px 2px 5px rgba( 0, 0, 0, 0.4 ); + -webkit-box-shadow: -2px 2px 5px rgba( 0, 0, 0, 0.4 ); + box-shadow: -2px 2px 5px rgba( 0, 0, 0, 0.4 ); } -#adminmenu li.wp-has-current-submenu a.wp-has-current-submenu, -#adminmenu .menu-top .current { - background: url(../images/menu-bits-rtl.gif?ver=20100531) top right repeat-x; +/* collapse menu button */ +#collapse-button div { + background-position: 0 -108px; } +.folded #collapse-button div { + background-position: 0 -72px; +} + +/* edit image */ -#adminmenu li.wp-has-current-submenu ul li a { - background: url(../images/menu-dark-rtl.gif) bottom right no-repeat !important; +.meta-box-sortables .postbox:hover .handlediv { + background: transparent url(../images/arrows.png) no-repeat 6px 7px; } -#adminmenu li.wp-has-current-submenu.wp-menu-open .wp-menu-toggle, #adminmenu li.wp-has-current-submenu:hover .wp-menu-toggle { - background: transparent url(../images/menu-bits-rtl.gif?ver=20100531) no-repeat right -207px; +.tablenav .tablenav-pages a { + border-color: #e3e3e3; + background: #eee url('../images/menu-bits-rtl.gif?ver=20100610') repeat-x scroll right -379px; } -#adminmenu .wp-has-submenu:hover .wp-menu-toggle, -#adminmenu .wp-menu-open .wp-menu-toggle { - background: transparent url(../images/menu-bits-rtl.gif?ver=20100531) repeat-x scroll right -109px; +#post-body .misc-pub-section { + border-right-color: none; + border-left-color: #eee; } -#adminmenu a.wp-has-submenu { - background: #f1f1f1 url(../images/menu-bits-rtl.gif?ver=20100531) repeat-x scroll right -379px; +#favorite-toggle { + background: transparent url(../images/arrows.png) no-repeat 4px 2px; } -#adminmenu .wp-submenu a { - background: #fff url(../images/menu-bits-rtl.gif?ver=20100531) no-repeat scroll right -310px; +#screen-meta a.show-settings, +.toggle-arrow { + background: transparent url(../images/arrows.png) no-repeat left 3px; } -#adminmenu li.wp-has-current-submenu a.wp-has-submenu { - background: #b5b5b5 url(../images/menu-bits-rtl.gif?ver=20100531) repeat-x scroll right top; +#screen-meta .screen-meta-active a.show-settings { + background: transparent url(../images/arrows.png) no-repeat left -33px; } -.meta-box-sortables .postbox:hover .handlediv { - background: transparent url(../images/menu-bits-rtl.gif?ver=20100531) no-repeat scroll right -111px; +.sidebar-name-arrow { + background: transparent url(../images/arrows.png) no-repeat 5px 9px; } -#favorite-toggle { - background: transparent url(../images/fav-arrow-rtl.gif?ver=20100531) no-repeat right -4px; +.sidebar-name:hover .sidebar-name-arrow { + background: transparent url(../images/arrows-dark.png) no-repeat 5px 9px; } + + +/* custom header & background pages */ + +/* custom header & background pages */ diff --git a/wp-admin/css/colors-fresh.css b/wp-admin/css/colors-fresh.css index 709b9b04f..760faeee3 100644 --- a/wp-admin/css/colors-fresh.css +++ b/wp-admin/css/colors-fresh.css @@ -1 +1 @@ -html,.wp-dialog{background-color:#f9f9f9;}* html input,* html .widget{border-color:#dfdfdf;}textarea,input[type="text"],input[type="password"],input[type="file"],input[type="button"],input[type="submit"],input[type="reset"],select{border-color:#dfdfdf;background-color:#fff;}kbd,code{background:#eaeaea;}input[readonly]{background-color:#eee;}.find-box-search{border-color:#dfdfdf;background-color:#f1f1f1;}.find-box{background-color:#f1f1f1;}.find-box-inside{background-color:#fff;}a.page-numbers:hover{border-color:#999;}body,#wpbody,.form-table .pre{color:#333;}body>#upload-menu{border-bottom-color:#fff;}#postcustomstuff table,#your-profile fieldset,#rightnow,div.dashboard-widget,#dashboard-widgets p.dashboard-widget-links,#replyrow #ed_reply_toolbar input{border-color:#ccc;}#poststuff .inside label.spam,#poststuff .inside label.deleted{color:red;}#poststuff .inside label.waiting{color:orange;}#poststuff .inside label.approved{color:green;}#postcustomstuff table{border-color:#dfdfdf;background-color:#F9F9F9;}#postcustomstuff thead th{background-color:#F1F1F1;}#postcustomstuff table input,#postcustomstuff table textarea{border-color:#dfdfdf;background-color:#fff;}.widefat{border-color:#dfdfdf;background-color:#fff;}div.dashboard-widget-error{background-color:#c43;}div.dashboard-widget-notice{background-color:#cfe1ef;}div.dashboard-widget-submit{border-top-color:#ccc;}div.tabs-panel,.wp-tab-panel,ul.category-tabs li.tabs,ul.add-menu-item-tabs li.tabs,.wp-tab-active{border-color:#dfdfdf;}ul.category-tabs li.tabs,ul.add-menu-item-tabs li.tabs,.wp-tab-active{background-color:#f1f1f1;}input.disabled,textarea.disabled{background-color:#ccc;}#plugin-information .action-button a,#plugin-information .action-button a:hover,#plugin-information .action-button a:visited{color:#fff;}.widget .widget-top,.postbox h3,.stuffbox h3{background:#dfdfdf url("../images/gray-grad.png") repeat-x left top;text-shadow:#fff 0 1px 0;}.form-table th,.form-wrap label{color:#222;text-shadow:#fff 0 1px 0;}.description,.form-wrap p{color:#666;}strong .post-com-count span{background-color:#21759b;}.sorthelper{background-color:#ccf3fa;}.ac_match,.subsubsub a.current{color:#000;}.wrap h2{color:#464646;}.ac_over{background-color:#f0f0b8;}.ac_results{background-color:#fff;border-color:#808080;}.ac_results li{color:#101010;}.alternate,.alt{background-color:#f9f9f9;}.available-theme a.screenshot{background-color:#f1f1f1;border-color:#ddd;}.bar{background-color:#e8e8e8;border-right-color:#99d;}#media-upload,#media-upload .media-item .slidetoggle{background:#fff;}#media-upload .slidetoggle{border-top-color:#dfdfdf;}div.error,.login #login_error{background-color:#ffebe8;border-color:#c00;}div.error a{color:#c00;}.form-invalid{background-color:#ffebe8!important;}.form-invalid input,.form-invalid select{border-color:#c00!important;}.submit{border-color:#DFDFDF;}.highlight{background-color:#e4f2fd;color:#000;}.howto,.nonessential,#edit-slug-box,.form-input-tip,.rss-widget span.rss-date,.subsubsub{color:#666;}.media-item{border-bottom-color:#dfdfdf;}#wpbody-content #media-items .describe{border-top-color:#dfdfdf;}.media-upload-form label.form-help,td.help{color:#9a9a9a;}.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{border-bottom-color:#dadada;}.side-info ul{color:#666;}.button,.button-secondary,.submit input,input[type=button],input[type=submit]{border-color:#bbb;color:#464646;}.button:hover,.button-secondary:hover,.submit input:hover,input[type=button]:hover,input[type=submit]:hover{color:#000;border-color:#666;}.button,.submit input,.button-secondary{background:#f2f2f2 url(../images/white-grad.png) repeat-x scroll left top;text-shadow:rgba(255,255,255,1) 0 1px 0;}.button:active,.submit input:active,.button-secondary:active{background:#eee url(../images/white-grad-active.png) repeat-x scroll left top;}input.button-primary,button.button-primary,a.button-primary{border-color:#298cba;font-weight:bold;color:#fff;background:#21759B url(../images/button-grad.png) repeat-x scroll left top;text-shadow:rgba(0,0,0,0.3) 0 -1px 0;}input.button-primary:active,button.button-primary:active,a.button-primary:active{background:#21759b url(../images/button-grad-active.png) repeat-x scroll left top;color:#eaf2fa;}input.button-primary:hover,button.button-primary:hover,a.button-primary:hover,a.button-primary:focus,a.button-primary:active{border-color:#13455b;color:#eaf2fa;}.button-disabled,.button[disabled],.button:disabled,.button-secondary[disabled],.button-secondary:disabled,a.button.disabled{color:#aaa!important;border-color:#ddd!important;}.button-primary-disabled,.button-primary[disabled],.button-primary:disabled{color:#9FD0D5!important;background:#298CBA!important;}a:hover,a:active,a:focus{color:#d54e21;}#wphead #viewsite a:hover,#adminmenu a:hover,#adminmenu ul.wp-submenu a:hover,#the-comment-list .comment a:hover,#rightnow a:hover,#media-upload a.del-link:hover,div.dashboard-widget-submit input:hover,.subsubsub a:hover,.subsubsub a.current:hover,.ui-tabs-nav a:hover,.plugins .inactive a:hover,#all-plugins-table .plugins .inactive a:hover,#search-plugins-table .plugins .inactive a:hover{color:#d54e21;}#the-comment-list .comment-item,#dashboard-widgets #dashboard_quick_press form p.submit{border-color:#dfdfdf;}#side-sortables .category-tabs .tabs a,#side-sortables .add-menu-item-tabs .tabs a,.wp-tab-bar .wp-tab-active a{color:#333;}#rightnow .rbutton{background-color:#ebebeb;color:#264761;}.submitbox .submit{background-color:#464646;color:#ccc;}.plugins a.delete:hover,#all-plugins-table .plugins a.delete:hover,#search-plugins-table .plugins a.delete:hover,.submitbox .submitdelete{color:#f00;border-bottom-color:#f00;}.submitbox .submitdelete:hover,#media-items a.delete:hover{color:#fff;background-color:#f00;border-bottom-color:#f00;}#normal-sortables .submitbox .submitdelete:hover{color:#000;background-color:#f00;border-bottom-color:#f00;}.tablenav .dots{border-color:transparent;}.tablenav .next,.tablenav .prev{border-color:transparent;color:#21759b;}.tablenav .next:hover,.tablenav .prev:hover{border-color:transparent;color:#d54e21;}div.updated,.login .message{background-color:#ffffe0;border-color:#e6db55;}.update-message{color:#000;}a.page-numbers{border-bottom-color:#B8D3E2;}.commentlist li{border-bottom-color:#ccc;}.widefat td,.widefat th{border-color:#dfdfdf;}.widefat th{text-shadow:rgba(255,255,255,0.8) 0 1px 0;}.widefat thead tr th,.widefat tfoot tr th,h3.dashboard-widget-title,h3.dashboard-widget-title span,h3.dashboard-widget-title small,.find-box-head{color:#333;background:#dfdfdf url(../images/gray-grad.png) repeat-x scroll left top;}th.sortable a:hover,th.sortable a:active,th.sortable a:focus{color:#333;}h3.dashboard-widget-title small a{color:#d7d7d7;}h3.dashboard-widget-title small a:hover{color:#fff;}a,#adminmenu a,#poststuff #edButtonPreview,#poststuff #edButtonHTML,#the-comment-list p.comment-author strong a,#media-upload a.del-link,#media-items a.delete,.plugins a.delete,.ui-tabs-nav a{color:#21759b;}#adminmenu #awaiting-mod,#adminmenu .update-plugins,#sidemenu a .update-plugins,#rightnow .reallynow{background-color:#464646;color:#fff;-moz-box-shadow:#fff 0 -1px 0;-khtml-box-shadow:#fff 0 -1px 0;-webkit-box-shadow:#fff 0 -1px 0;box-shadow:#fff 0 -1px 0;}#plugin-information .action-button{background-color:#d54e21;color:#fff;}#adminmenu li.current a #awaiting-mod,#adminmenu li a.wp-has-current-submenu .update-plugins{background-color:#464646;color:#fff;-moz-box-shadow:#fff 0 -1px 0;-khtml-box-shadow:#fff 0 -1px 0;-webkit-box-shadow:#fff 0 -1px 0;box-shadow:#fff 0 -1px 0;}div#media-upload-header,div#plugin-information-header{background-color:#f9f9f9;border-bottom-color:#dfdfdf;}#currenttheme img{border-color:#666;}#dashboard_secondary div.dashboard-widget-content ul li a{background-color:#f9f9f9;}input.readonly,textarea.readonly{background-color:#ddd;}#ed_toolbar input,#ed_reply_toolbar input{background:#fff url("../images/fade-butt.png") repeat-x 0 -2px;}#editable-post-name{background-color:#fffbcc;}#edit-slug-box strong,.tablenav .displaying-num,#submitted-on,.submitted-on{color:#777;}.login #nav a{color:#21759b!important;}.login #nav a:hover{color:#d54e21!important;}#footer{color:#777;border-color:#d1d1d1;background:#d9d9d9;background:-moz-linear-gradient(bottom,#d7d7d7,#e4e4e4);background:-webkit-gradient(linear,left bottom,left top,from(#d7d7d7),to(#e4e4e4));}#media-items,.imgedit-group{border-color:#dfdfdf;}.checkbox,.side-info,.plugins tr,#your-profile #rich_editing{background-color:#fff;}.plugins .inactive,.plugins .inactive th,.plugins .inactive td,tr.inactive+tr.plugin-update-tr .plugin-update{background-color:#eee;}.plugin-update-tr .update-message{background-color:#fffbe4;border-color:#dfdfdf;}.plugins .active,.plugins .active th,.plugins .active td{color:#000;}.plugins .inactive a{color:#579;}#the-comment-list tr.undo,#the-comment-list div.undo{background-color:#f4f4f4;}#the-comment-list .unapproved{background-color:#ffffe0;}#the-comment-list .approve a{color:#006505;}#the-comment-list .unapprove a{color:#d98500;}table.widefat span.delete a,table.widefat span.trash a,table.widefat span.spam a,#dashboard_recent_comments .delete a,#dashboard_recent_comments .trash a,#dashboard_recent_comments .spam a{color:#bc0b0b;}.widget,#widget-list .widget-top,.postbox,#titlediv,#poststuff .postarea,.stuffbox{border-color:#dfdfdf;}.widget,.postbox{background-color:#fff;}.ui-sortable .postbox h3{color:#464646;}.widget .widget-top,.ui-sortable .postbox h3:hover{color:#000;}.curtime #timestamp{background-image:url(../images/date-button.gif);}#quicktags #ed_link{color:#00f;}#rightnow .youhave{background-color:#f0f6fb;}#rightnow a{color:#448abd;}.tagchecklist span a,#bulk-titles div a{background:url(../images/xit.gif) no-repeat;}.tagchecklist span a:hover,#bulk-titles div a:hover{background:url(../images/xit.gif) no-repeat -10px 0;}#update-nag,.update-nag{background-color:#FFFBCC;border-color:#E6DB55;color:#555;}.login #backtoblog a{color:#464646;}#wphead{border-bottom:#c6c6c6 1px solid;background:#d9d9d9;background:-moz-linear-gradient(bottom,#d7d7d7,#e4e4e4);background:-webkit-gradient(linear,left bottom,left top,from(#d7d7d7),to(#e4e4e4));}#wphead h1 a{color:#464646;}#user_info{color:#777;}#user_info a:link,#user_info a:visited,#footer a:link,#footer a:visited{color:#222;text-decoration:none;}#user_info a:hover,#footer a:hover{color:#000;text-decoration:underline!important;}div#media-upload-error,.file-error,abbr.required,.widget-control-remove:hover,table.widefat .delete a:hover,table.widefat .trash a:hover,table.widefat .spam a:hover,#dashboard_recent_comments .delete a:hover,#dashboard_recent_comments .trash a:hover #dashboard_recent_comments .spam a:hover{color:#f00;}#pass-strength-result{background-color:#eee;border-color:#ddd!important;}#pass-strength-result.bad{background-color:#ffb78c;border-color:#ff853c!important;}#pass-strength-result.good{background-color:#ffec8b;border-color:#fc0!important;}#pass-strength-result.short{background-color:#ffa0a0;border-color:#f04040!important;}#pass-strength-result.strong{background-color:#c3ff88;border-color:#8dff1c!important;}#quicktags{border-color:#dfdfdf;background-color:#dfdfdf;background-image:url("../images/ed-bg.gif");}#ed_toolbar input{border-color:#C3C3C3;}#ed_toolbar input:hover{border-color:#aaa;background:#ddd;}#poststuff .wp_themeSkin .mceStatusbar{border-color:#EDEDED;}#poststuff #edButtonPreview,#poststuff #edButtonHTML{background-color:#f1f1f1;border-color:#dfdfdf;color:#999;}#poststuff #editor-toolbar .active{border-bottom-color:#e9e9e9;background-color:#e9e9e9;color:#333;}#post-status-info{background-color:#EDEDED;}.wp_themeSkin *,.wp_themeSkin a:hover,.wp_themeSkin a:link,.wp_themeSkin a:visited,.wp_themeSkin a:active{color:#000;}.wp_themeSkin iframe{background:#fff;}.wp_themeSkin .mceStatusbar{color:#000;background-color:#f5f5f5;}.wp_themeSkin .mceButton{background-color:#e9e8e8;border-color:#B2B2B2;}.wp_themeSkin a.mceButtonEnabled:hover,.wp_themeSkin a.mceButtonActive,.wp_themeSkin a.mceButtonSelected{background:#d5d5d5;border-color:#777!important;}.wp_themeSkin .mceButtonDisabled{border-color:#ccc!important;}.wp_themeSkin .mceListBox .mceText,.wp_themeSkin .mceListBox .mceOpen{border-color:#B2B2B2;background-color:#d5d5d5;}.wp_themeSkin table.mceListBoxEnabled:hover .mceOpen,.wp_themeSkin .mceListBoxHover .mceOpen,.wp_themeSkin .mceListBoxSelected .mceOpen,.wp_themeSkin .mceListBoxSelected .mceText{border-color:#777!important;background-color:#d5d5d5;}.wp_themeSkin table.mceListBoxEnabled:hover .mceText,.wp_themeSkin .mceListBoxHover .mceText{border-color:#777!important;}.wp_themeSkin select.mceListBox{border-color:#B2B2B2;background-color:#fff;}.wp_themeSkin .mceSplitButton a.mceAction,.wp_themeSkin .mceSplitButton a.mceOpen{border-color:#B2B2B2;}.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:#d5d5d5;border-color:#777!important;}.wp_themeSkin .mceSplitButtonActive{background-color:#B2B2B2;}.wp_themeSkin div.mceColorSplitMenu table{background-color:#ebebeb;border-color:#B2B2B2;}.wp_themeSkin .mceColorSplitMenu a{border-color:#B2B2B2;}.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;}.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:#f5f5f5;}.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;}.wp_themeSkin tr.mceFirst td.mceToolbar{background:#dfdfdf url("../images/ed-bg.gif") repeat-x scroll left top;border-color:#dfdfdf;}.wp-admin #mceModalBlocker{background:#000;}.wp-admin .clearlooks2 .mceFocus .mceTop .mceLeft{background:#444;border-left:1px solid #999;border-top:1px solid #999;-moz-border-radius:4px 0 0 0;-webkit-border-top-left-radius:4px;-khtml-border-top-left-radius:4px;border-top-left-radius:4px;}.wp-admin .clearlooks2 .mceFocus .mceTop .mceRight{background:#444;border-right:1px solid #999;border-top:1px solid #999;border-top-right-radius:4px;-khtml-border-top-right-radius:4px;-webkit-border-top-right-radius:4px;-moz-border-radius:0 4px 0 0;}.wp-admin .clearlooks2 .mceMiddle .mceLeft{background:#f1f1f1;border-left:1px solid #999;}.wp-admin .clearlooks2 .mceMiddle .mceRight{background:#f1f1f1;border-right:1px solid #999;}.wp-admin .clearlooks2 .mceBottom{background:#f1f1f1;border-bottom:1px solid #999;}.wp-admin .clearlooks2 .mceBottom .mceLeft{background:#f1f1f1;border-bottom:1px solid #999;border-left:1px solid #999;}.wp-admin .clearlooks2 .mceBottom .mceCenter{background:#f1f1f1;border-bottom:1px solid #999;}.wp-admin .clearlooks2 .mceBottom .mceRight{background:#f1f1f1;border-bottom:1px solid #999;border-right:1px solid #999;}.wp-admin .clearlooks2 .mceFocus .mceTop span{color:#e5e5e5;}#editorcontainer,#post-status-info,#titlediv #title,.editwidget .widget-inside{border-color:#dfdfdf;}#titlediv #title{background-color:#fff;}#tTips p#tTips_inside{background-color:#ddd;color:#333;}#timestampdiv input,#namediv input,#poststuff .inside .the-tagcloud{border-color:#ddd;}#adminmenu *{border-color:#e3e3e3;}#adminmenu li.wp-menu-separator{background:transparent url(../images/menu-arrows.gif) no-repeat scroll left 5px;}.folded #adminmenu li.wp-menu-separator{background:transparent url(../images/menu-arrows.gif) no-repeat scroll right -34px;}#adminmenu li.wp-has-current-submenu.wp-menu-open .wp-menu-toggle,#adminmenu li.wp-has-current-submenu:hover .wp-menu-toggle{background:transparent url(../images/menu-bits.gif?ver=20100610) no-repeat scroll left -207px;}#adminmenu .wp-has-submenu:hover .wp-menu-toggle,#adminmenu .wp-menu-open .wp-menu-toggle{background:transparent url(../images/menu-bits.gif?ver=20100610) no-repeat scroll left -109px;}#adminmenu a.menu-top{background:#f1f1f1 url(../images/menu-bits.gif?ver=20100610) repeat-x scroll left -379px;}#adminmenu .wp-submenu a{background:#fff url(../images/menu-bits.gif?ver=20100610) no-repeat scroll 0 -310px;}#adminmenu .wp-has-current-submenu ul li a{background:none;}#adminmenu .wp-has-current-submenu ul li a.current{background:url(../images/menu-dark.gif) top left no-repeat!important;}.wp-has-current-submenu .wp-submenu{border-top:none!important;}#adminmenu li.wp-has-current-submenu a.wp-has-current-submenu{border-bottom:#aaa 1px solid;}#adminmenu li.wp-has-current-submenu a.wp-has-current-submenu,#adminmenu li.current a.menu-top{background:#e0e0e0 url(../images/menu-bits.gif?ver=20100610) top left repeat-x;border:#aaa 1px solid;color:#000;}#adminmenu li.wp-has-current-submenu .wp-submenu,#adminmenu li.wp-has-current-submenu ul li a{border-right-color:#aaa!important;border-left-color:#aaa!important;}#adminmenu li.wp-has-current-submenu ul li a{background:url(../images/menu-dark.gif) bottom left no-repeat!important;}#adminmenu li.wp-has-current-submenu ul{border-bottom-color:#aaa;}#adminmenu .wp-submenu .current a.current{background:transparent url(../images/menu-bits.gif?ver=20100610) no-repeat scroll 0 -289px;}#adminmenu .wp-submenu a:hover{background-color:#EAF2FA!important;color:#333!important;}#adminmenu .wp-submenu li.current,#adminmenu .wp-submenu li.current a,#adminmenu .wp-submenu li.current a:hover{color:#333;background-color:#f5f5f5;background-image:none;border-color:#e3e3e3;}#adminmenu .wp-submenu ul{background-color:#fff;}.folded #adminmenu li.menu-top,#adminmenu .wp-submenu .wp-submenu-head{background-color:#F1F1F1;}.folded #adminmenu li.wp-has-current-submenu,.folded #adminmenu li.menu-top.current{background-color:#e6e6e6;}#adminmenu .wp-has-current-submenu .wp-submenu .wp-submenu-head{background-color:#EAEAEA;border-color:#aaa;}#adminmenu div.wp-submenu{background-color:transparent;}#adminmenu .menu-icon-dashboard div.wp-menu-image{background:transparent url('../images/menu.png?ver=20100531') no-repeat scroll -61px -33px;}#adminmenu .menu-icon-dashboard:hover div.wp-menu-image,#adminmenu .menu-icon-dashboard.wp-has-current-submenu div.wp-menu-image,#adminmenu .menu-icon-dashboard.current div.wp-menu-image{background:transparent url('../images/menu.png?ver=20100531') no-repeat scroll -61px -1px;}#adminmenu .menu-icon-post div.wp-menu-image{background:transparent url('../images/menu.png?ver=20100531') no-repeat scroll -272px -33px;}#adminmenu .menu-icon-post:hover div.wp-menu-image,#adminmenu .menu-icon-post.wp-has-current-submenu div.wp-menu-image{background:transparent url('../images/menu.png?ver=20100531') no-repeat scroll -272px -1px;}#adminmenu .menu-icon-media div.wp-menu-image{background:transparent url('../images/menu.png?ver=20100531') no-repeat scroll -121px -33px;}#adminmenu .menu-icon-media:hover div.wp-menu-image,#adminmenu .menu-icon-media.wp-has-current-submenu div.wp-menu-image{background:transparent url('../images/menu.png?ver=20100531') no-repeat scroll -121px -1px;}#adminmenu .menu-icon-links div.wp-menu-image{background:transparent url('../images/menu.png?ver=20100531') no-repeat scroll -91px -33px;}#adminmenu .menu-icon-links:hover div.wp-menu-image,#adminmenu .menu-icon-links.wp-has-current-submenu div.wp-menu-image{background:transparent url('../images/menu.png?ver=20100531') no-repeat scroll -91px -1px;}#adminmenu .menu-icon-page div.wp-menu-image{background:transparent url('../images/menu.png?ver=20100531') no-repeat scroll -151px -33px;}#adminmenu .menu-icon-page:hover div.wp-menu-image,#adminmenu .menu-icon-page.wp-has-current-submenu div.wp-menu-image{background:transparent url('../images/menu.png?ver=20100531') no-repeat scroll -151px -1px;}#adminmenu .menu-icon-comments div.wp-menu-image{background:transparent url('../images/menu.png?ver=20100531') no-repeat scroll -31px -33px;}#adminmenu .menu-icon-comments:hover div.wp-menu-image,#adminmenu .menu-icon-comments.wp-has-current-submenu div.wp-menu-image,#adminmenu .menu-icon-comments.current div.wp-menu-image{background:transparent url('../images/menu.png?ver=20100531') no-repeat scroll -31px -1px;}#adminmenu .menu-icon-appearance div.wp-menu-image{background:transparent url('../images/menu.png?ver=20100531') no-repeat scroll -1px -33px;}#adminmenu .menu-icon-appearance:hover div.wp-menu-image,#adminmenu .menu-icon-appearance.wp-has-current-submenu div.wp-menu-image{background:transparent url('../images/menu.png?ver=20100531') no-repeat scroll -1px -1px;}#adminmenu .menu-icon-plugins div.wp-menu-image{background:transparent url('../images/menu.png?ver=20100531') no-repeat scroll -181px -33px;}#adminmenu .menu-icon-plugins:hover div.wp-menu-image,#adminmenu .menu-icon-plugins.wp-has-current-submenu div.wp-menu-image{background:transparent url('../images/menu.png?ver=20100531') no-repeat scroll -181px -1px;}#adminmenu .menu-icon-users div.wp-menu-image{background:transparent url('../images/menu.png?ver=20100531') no-repeat scroll -301px -33px;}#adminmenu .menu-icon-users:hover div.wp-menu-image,#adminmenu .menu-icon-users.wp-has-current-submenu div.wp-menu-image{background:transparent url('../images/menu.png?ver=20100531') no-repeat scroll -301px -1px;}#adminmenu .menu-icon-tools div.wp-menu-image{background:transparent url('../images/menu.png?ver=20100531') no-repeat scroll -211px -33px;}#adminmenu .menu-icon-tools:hover div.wp-menu-image,#adminmenu .menu-icon-tools.wp-has-current-submenu div.wp-menu-image{background:transparent url('../images/menu.png?ver=20100531') no-repeat scroll -211px -1px;}#adminmenu .menu-icon-settings div.wp-menu-image{background:transparent url('../images/menu.png?ver=20100531') no-repeat scroll -241px -33px;}#adminmenu .menu-icon-settings:hover div.wp-menu-image,#adminmenu .menu-icon-settings.wp-has-current-submenu div.wp-menu-image{background:transparent url('../images/menu.png?ver=20100531') no-repeat scroll -241px -1px;}#adminmenu .menu-icon-site div.wp-menu-image{background:transparent url('../images/menu.png?ver=20100531') no-repeat scroll -361px -33px;}#adminmenu .menu-icon-site:hover div.wp-menu-image,#adminmenu .menu-icon-site.wp-has-current-submenu div.wp-menu-image{background:transparent url('../images/menu.png?ver=20100531') no-repeat scroll -361px -1px;}table.diff .diff-deletedline{background-color:#fdd;}table.diff .diff-deletedline del{background-color:#f99;}table.diff .diff-addedline{background-color:#dfd;}table.diff .diff-addedline ins{background-color:#9f9;}#att-info{background-color:#E4F2FD;}#sidemenu a{background-color:#f9f9f9;border-color:#f9f9f9;border-bottom-color:#dfdfdf;}#sidemenu a.current{background-color:#fff;border-color:#dfdfdf #dfdfdf #fff;color:#D54E21;}#screen-options-wrap,#contextual-help-wrap{background-color:#f1f1f1;border-color:#dfdfdf;}#screen-meta-links a.show-settings{color:#606060;}#screen-meta-links a.show-settings:hover{color:#000;}#replysubmit{background-color:#f1f1f1;border-top-color:#ddd;}#replyerror{border-color:#ddd;background-color:#f9f9f9;}#edithead,#replyhead{background-color:#f1f1f1;}#ed_reply_toolbar{background-color:#e9e9e9;}.vim-current,.vim-current th,.vim-current td{background-color:#E4F2FD!important;}.star-average,.star.star-rating{background-color:#fc0;}div.star.select:hover{background-color:#d00;}#plugin-information .fyi ul{background-color:#eaf3fa;}#plugin-information .fyi h2.mainheader{background-color:#cee1ef;}#plugin-information pre,#plugin-information code{background-color:#ededff;}#plugin-information pre{border:1px solid #ccc;}.inline-edit-row fieldset input[type="text"],.inline-edit-row fieldset textarea,#bulk-titles,#replyrow input{border-color:#ddd;}.inline-editor div.title{background-color:#EAF3FA;}.inline-editor ul.cat-checklist{background-color:#fff;border-color:#ddd;}.inline-editor .categories .catshow,.inline-editor .categories .cathide{color:#21759b;}.inline-editor .quick-edit-save{background-color:#f1f1f1;}#replyrow #ed_reply_toolbar input:hover{border-color:#aaa;background:#ddd;}fieldset.inline-edit-col-right .inline-edit-col{border-color:#dfdfdf;}.attention{color:#D54E21;}.meta-box-sortables .postbox:hover .handlediv{background:transparent url(../images/menu-bits.gif?ver=20100610) no-repeat scroll left -111px;}#major-publishing-actions{background:#eaf2fa;}.tablenav .tablenav-pages{color:#555;}.tablenav .tablenav-pages a{border-color:#e3e3e3;background:#eee url('../images/menu-bits.gif?ver=20100610') repeat-x scroll left -379px;}.tablenav .tablenav-pages a:hover,.tablenav .tablenav-pages a:focus{color:#d54e21;}.tablenav .tablenav-pages a.disabled,.tablenav .tablenav-pages a.disabled:hover,.tablenav .tablenav-pages a.disabled:focus{color:#aaa;}.tablenav .tablenav-pages .current{background:#dfdfdf;border-color:#d3d3d3;}#availablethemes,#availablethemes td{border-color:#ddd;}#current-theme img{border-color:#999;}#TB_window #TB_title a.tb-theme-preview-link,#TB_window #TB_title a.tb-theme-preview-link:visited{color:#999;}#TB_window #TB_title a.tb-theme-preview-link:hover,#TB_window #TB_title a.tb-theme-preview-link:focus{color:#ccc;}.misc-pub-section{border-bottom-color:#eee;}#minor-publishing{border-bottom-color:#ddd;}#post-body .misc-pub-section{border-right-color:#eee;}.post-com-count span{background-color:#bbb;}.form-table .color-palette td{border-color:#fff;}.sortable-placeholder{border-color:#bbb;background-color:#f5f5f5;}#post-body ul.category-tabs li.tabs a,#post-body ul.add-menu-item-tabs li.tabs a,body.press-this ul.category-tabs li.tabs a{color:#333;}#wp_editimgbtn,#wp_delimgbtn,#wp_editgallery,#wp_delgallery{border-color:#999;background-color:#eee;}#wp_editimgbtn:hover,#wp_delimgbtn:hover,#wp_editgallery:hover,#wp_delgallery:hover{border-color:#555;background-color:#ccc;}#favorite-first{border-color:#c0c0c0;background:#f1f1f1;background:-moz-linear-gradient(bottom,#e7e7e7,#fff);background:-webkit-gradient(linear,left bottom,left top,from(#e7e7e7),to(#fff));}#favorite-inside{border-color:#c0c0c0;background-color:#fff;}#favorite-toggle{background:transparent url(../images/fav-arrow.gif?ver=20100531) no-repeat 0 -4px;}#favorite-actions a{color:#464646;}#favorite-actions a:hover{color:#000;}#favorite-inside a:hover{text-decoration:underline;}#screen-meta a.show-settings,.toggle-arrow{background-image:url("../images/screen-options-toggle.gif?ver=20100531");}#icon-edit,#icon-post{background:transparent url(../images/icons32.png?ver=20100531) no-repeat -552px -5px;}#icon-index{background:transparent url(../images/icons32.png?ver=20100531) no-repeat -137px -5px;}#icon-upload{background:transparent url(../images/icons32.png?ver=20100531) no-repeat -251px -5px;}#icon-link-manager,#icon-link,#icon-link-category{background:transparent url(../images/icons32.png?ver=20100531) no-repeat -190px -5px;}#icon-edit-pages,#icon-page{background:transparent url(../images/icons32.png?ver=20100531) no-repeat -312px -5px;}#icon-edit-comments{background:transparent url(../images/icons32.png?ver=20100531) no-repeat -72px -5px;}#icon-themes{background:transparent url(../images/icons32.png?ver=20100531) no-repeat -11px -5px;}#icon-plugins{background:transparent url(../images/icons32.png?ver=20100531) no-repeat -370px -5px;}#icon-users,#icon-profile,#icon-user-edit{background:transparent url(../images/icons32.png?ver=20100531) no-repeat -600px -5px;}#icon-tools,#icon-admin{background:transparent url(../images/icons32.png?ver=20100531) no-repeat -432px -5px;}#icon-options-general{background:transparent url(../images/icons32.png?ver=20100531) no-repeat -492px -5px;}#icon-ms-admin{background:transparent url(../images/icons32.png?ver=20100531) no-repeat -659px -5px;}.view-switch #view-switch-list{background:transparent url(../images/list.png) no-repeat 0 0;}.view-switch .current #view-switch-list{background:transparent url(../images/list.png) no-repeat -40px 0;}.view-switch #view-switch-excerpt{background:transparent url(../images/list.png) no-repeat -20px 0;}.view-switch .current #view-switch-excerpt{background:transparent url(../images/list.png) no-repeat -60px 0;}#header-logo{background:transparent url(../images/wp-logo.png?ver=20100531) no-repeat scroll center center;}.popular-tags,.feature-filter{background-color:#fff;border-color:#DFDFDF;}#theme-information .action-button{border-top-color:#DFDFDF;}.theme-listing br.line{border-bottom-color:#ccc;}div.widgets-sortables,#widgets-left .inactive{background-color:#f1f1f1;border-color:#ddd;}#available-widgets .widget-holder{background-color:#fff;border-color:#ddd;}#widgets-left .sidebar-name{background-color:#aaa;background-image:url(../images/ed-bg.gif);text-shadow:#fff 0 1px 0;border-color:#dfdfdf;}#widgets-right .sidebar-name{background-image:url(../images/fav.png);text-shadow:#3f3f3f 0 -1px 0;background-color:#636363;border-color:#636363;color:#fff;}.sidebar-name:hover,#removing-widget{color:#d54e21;}#removing-widget span{color:black;}#widgets-left .sidebar-name-arrow{background:transparent url(../images/menu-bits.gif?ver=20100610) no-repeat scroll left -109px;}#widgets-right .sidebar-name-arrow{background:transparent url(../images/widgets-arrow.gif?ver=20100531) no-repeat scroll 0 -1px;}.in-widget-title{color:#606060;}.deleting .widget-title *{color:#aaa;}.imgedit-menu div{border-color:#d5d5d5;background-color:#f1f1f1;}.imgedit-menu div:hover{border-color:#c1c1c1;background-color:#eaeaea;}.imgedit-menu div.disabled{border-color:#ccc;background-color:#ddd;filter:alpha(opacity=50);opacity:.5;}#dashboard_recent_comments div.undo{border-top-color:#dfdfdf;}.comment-ays,.comment-ays th{border-color:#ddd;}.comment-ays th{background-color:#f1f1f1;}#nav-menu-header,#nav-menu-footer,.menu-item-handle{background:url("../images/gray-grad.png") repeat-x scroll left top #dfdfdf;}#menu-management .nav-tab-active{background:#ececec;border-bottom-color:#ececec;} \ No newline at end of file +html,.wp-dialog{background-color:#fff;}* html input,* html .widget{border-color:#dfdfdf;}textarea,input[type="text"],input[type="password"],input[type="file"],input[type="button"],input[type="submit"],input[type="reset"],select{border-color:#dfdfdf;background-color:#fff;}kbd,code{background:#eaeaea;}input[readonly]{background-color:#eee;}.find-box-search{border-color:#dfdfdf;background-color:#f1f1f1;}.find-box{background-color:#f1f1f1;}.find-box-inside{background-color:#fff;}a.page-numbers:hover{border-color:#999;}body,#wpbody,.form-table .pre{color:#333;}body>#upload-menu{border-bottom-color:#fff;}#postcustomstuff table,#your-profile fieldset,#rightnow,div.dashboard-widget,#dashboard-widgets p.dashboard-widget-links,#replyrow #ed_reply_toolbar input{border-color:#ccc;}#poststuff .inside label.spam,#poststuff .inside label.deleted{color:red;}#poststuff .inside label.waiting{color:orange;}#poststuff .inside label.approved{color:green;}#postcustomstuff table{border-color:#dfdfdf;background-color:#F9F9F9;}#postcustomstuff thead th{background-color:#F1F1F1;}#postcustomstuff table input,#postcustomstuff table textarea{border-color:#dfdfdf;background-color:#fff;}.widefat{border-color:#dfdfdf;background-color:#f9f9f9;}div.dashboard-widget-error{background-color:#c43;}div.dashboard-widget-notice{background-color:#cfe1ef;}div.dashboard-widget-submit{border-top-color:#ccc;}div.tabs-panel,.wp-tab-panel,ul.category-tabs li.tabs,ul.add-menu-item-tabs li.tabs,.wp-tab-active{border-color:#dfdfdf;background-color:#fff;}ul.category-tabs li.tabs,ul.add-menu-item-tabs li.tabs,.wp-tab-active{background-color:#fff;}input.disabled,textarea.disabled{background-color:#ccc;}#plugin-information .action-button a,#plugin-information .action-button a:hover,#plugin-information .action-button a:visited{color:#fff;}.widget .widget-top,.postbox h3,.stuffbox h3,.widefat thead tr th,.widefat tfoot tr th,h3.dashboard-widget-title,h3.dashboard-widget-title span,h3.dashboard-widget-title small,.find-box-head,.sidebar-name,#nav-menu-header,#nav-menu-footer,.menu-item-handle,#fullscreen-topbar{background-color:#f1f1f1;background-image:-ms-linear-gradient(top,#f9f9f9,#ececec);background-image:-moz-linear-gradient(top,#f9f9f9,#ececec);background-image:-o-linear-gradient(top,#f9f9f9,#ececec);background-image:-webkit-gradient(linear,left top,left bottom,from(#f9f9f9),to(#ececec));background-image:-webkit-linear-gradient(top,#f9f9f9,#ececec);background-image:linear-gradient(top,#f9f9f9,#ececec);}.widget .widget-top,.postbox h3,.stuffbox h3{border-bottom-color:#dfdfdf;text-shadow:#fff 0 1px 0;-moz-box-shadow:0 1px 0 #fff;-webkit-box-shadow:0 1px 0 #fff;box-shadow:0 1px 0 #fff;}.form-table th,.form-wrap label{color:#222;text-shadow:#fff 0 1px 0;}.description,.form-wrap p{color:#666;}strong .post-com-count span{background-color:#21759b;}.sorthelper{background-color:#ccf3fa;}.ac_match,.subsubsub a.current{color:#000;}.wrap h2{color:#464646;}.wrap .add-new-h2{background:#f1f1f1;}.subtitle{color:#777;}.ac_over{background-color:#f0f0b8;}.ac_results{background-color:#fff;border-color:#808080;}.ac_results li{color:#101010;}.alternate,.alt{background-color:#fcfcfc;}.available-theme a.screenshot{background-color:#f1f1f1;border-color:#ddd;}.bar{background-color:#e8e8e8;border-right-color:#99d;}#media-upload,#media-upload .media-item .slidetoggle{background:#fff;}#media-upload .slidetoggle{border-top-color:#dfdfdf;}div.error,.login #login_error{background-color:#ffebe8;border-color:#c00;}div.error a{color:#c00;}.form-invalid{background-color:#ffebe8!important;}.form-invalid input,.form-invalid select{border-color:#c00!important;}.submit{border-color:#DFDFDF;}.highlight{background-color:#e4f2fd;color:#000;}.howto,.nonessential,#edit-slug-box,.form-input-tip,.subsubsub{color:#666;}.media-item{border-bottom-color:#dfdfdf;}#wpbody-content #media-items .describe{border-top-color:#dfdfdf;}.media-upload-form label.form-help,td.help{color:#9a9a9a;}.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{border-bottom-color:#dadada;}.side-info ul{color:#666;}.button,.button-secondary,.submit input,input[type=button],input[type=submit]{border-color:#bbb;color:#464646;}.button:hover,.button-secondary:hover,.submit input:hover,input[type=button]:hover,input[type=submit]:hover{color:#000;border-color:#666;}.button,.submit input,.button-secondary{background:#f2f2f2 url(../images/white-grad.png) repeat-x scroll left top;text-shadow:rgba(255,255,255,1) 0 1px 0;}.button:active,.submit input:active,.button-secondary:active{background:#eee url(../images/white-grad-active.png) repeat-x scroll left top;}input.button-primary,button.button-primary,a.button-primary{border-color:#298cba;font-weight:bold;color:#fff;background:#21759B url(../images/button-grad.png) repeat-x scroll left top;text-shadow:rgba(0,0,0,0.3) 0 -1px 0;}input.button-primary:active,button.button-primary:active,a.button-primary:active{background:#21759b url(../images/button-grad-active.png) repeat-x scroll left top;color:#eaf2fa;}input.button-primary:hover,button.button-primary:hover,a.button-primary:hover,a.button-primary:focus,a.button-primary:active{border-color:#13455b;color:#eaf2fa;}.button-disabled,.button[disabled],.button:disabled,.button-secondary[disabled],.button-secondary:disabled,a.button.disabled{color:#aaa!important;border-color:#ddd!important;}.button-primary-disabled,.button-primary[disabled],.button-primary:disabled{color:#9FD0D5!important;background:#298CBA!important;}a:hover,a:active,a:focus{color:#d54e21;}#wphead #viewsite a:hover,#adminmenu a:hover,#adminmenu ul.wp-submenu a:hover,#the-comment-list .comment a:hover,#rightnow a:hover,#media-upload a.del-link:hover,div.dashboard-widget-submit input:hover,.subsubsub a:hover,.subsubsub a.current:hover,.ui-tabs-nav a:hover,.plugins .inactive a:hover,#all-plugins-table .plugins .inactive a:hover,#search-plugins-table .plugins .inactive a:hover{color:#d54e21;}#the-comment-list .comment-item,#dashboard-widgets #dashboard_quick_press form p.submit{border-color:#dfdfdf;}#side-sortables .category-tabs .tabs a,#side-sortables .add-menu-item-tabs .tabs a,.wp-tab-bar .wp-tab-active a{color:#333;}#rightnow .rbutton{background-color:#ebebeb;color:#264761;}.submitbox .submit{background-color:#464646;color:#ccc;}.plugins a.delete:hover,#all-plugins-table .plugins a.delete:hover,#search-plugins-table .plugins a.delete:hover,.submitbox .submitdelete{color:#f00;border-bottom-color:#f00;}.submitbox .submitdelete:hover,#media-items a.delete:hover{color:#fff;background-color:#f00;border-bottom-color:#f00;}#normal-sortables .submitbox .submitdelete:hover{color:#000;background-color:#f00;border-bottom-color:#f00;}.tablenav .dots{border-color:transparent;}.tablenav .next,.tablenav .prev{border-color:transparent;color:#21759b;}.tablenav .next:hover,.tablenav .prev:hover{border-color:transparent;color:#d54e21;}div.updated,.login .message{background-color:#ffffe0;border-color:#e6db55;}.update-message{color:#000;}a.page-numbers{border-bottom-color:#B8D3E2;}.commentlist li{border-bottom-color:#ccc;}.widefat td,.widefat th{border-top-color:#fff;border-bottom-color:#dfdfdf;}.widefat th{text-shadow:rgba(255,255,255,0.8) 0 1px 0;}.widefat td{color:#555;}.widefat p,.widefat ol,.widefat ul{color:#333;}.widefat thead tr th,.widefat tfoot tr th,h3.dashboard-widget-title,h3.dashboard-widget-title span,h3.dashboard-widget-title small,.find-box-head{color:#333;}th.sortable a:hover,th.sortable a:active,th.sortable a:focus{color:#333;}h3.dashboard-widget-title small a{color:#d7d7d7;}h3.dashboard-widget-title small a:hover{color:#fff;}a,#adminmenu a,#poststuff #edButtonPreview,#poststuff #edButtonHTML,#the-comment-list p.comment-author strong a,#media-upload a.del-link,#media-items a.delete,.plugins a.delete,.ui-tabs-nav a{color:#21759b;}#adminmenu .awaiting-mod,#adminmenu .update-plugins,#sidemenu a .update-plugins,#rightnow .reallynow{background-color:#464646;color:#fff;-moz-box-shadow:rgba(255,255,255,0.5) 0 1px 0;-khtml-box-shadow:rgba(255,255,255,0.5) 0 1px 0;-webkit-box-shadow:rgba(255,255,255,0.5) 0 1px 0;box-shadow:rgba(255,255,255,0.5) 0 1px 0;}#plugin-information .action-button{background-color:#d54e21;color:#fff;}#adminmenu li.current a .awaiting-mod,#adminmenu li a.wp-has-current-submenu .update-plugins{background-color:#464646;color:#fff;-moz-box-shadow:rgba(255,255,255,0.5) 0 1px 0;-khtml-box-shadow:rgba(255,255,255,0.5) 0 1px 0;-webkit-box-shadow:rgba(255,255,255,0.5) 0 1px 0;box-shadow:rgba(255,255,255,0.5) 0 1px 0;}div#media-upload-header,div#plugin-information-header{background-color:#f9f9f9;border-bottom-color:#dfdfdf;}#currenttheme img{border-color:#666;}#dashboard_secondary div.dashboard-widget-content ul li a{background-color:#f9f9f9;}input.readonly,textarea.readonly{background-color:#ddd;}#ed_toolbar input,#ed_reply_toolbar input{background:#fff url("../images/fade-butt.png") repeat-x 0 -2px;}#editable-post-name{background-color:#fffbcc;}#edit-slug-box strong,.tablenav .displaying-num,#submitted-on,.submitted-on{color:#777;}.login #nav a,.login #backtoblog a{color:#21759b!important;}.login #nav a:hover,.login #backtoblog a:hover{color:#d54e21!important;}#footer{color:#777;border-color:#dfdfdf;}#media-items,.imgedit-group{border-color:#dfdfdf;}.checkbox,.side-info,.plugins tr,#your-profile #rich_editing{background-color:#fcfcfc;}.plugins .inactive,.plugins .inactive th,.plugins .inactive td,tr.inactive+tr.plugin-update-tr .plugin-update{background-color:#f4f4f4;}.plugin-update-tr .update-message{background-color:#fffbe4;border-color:#dfdfdf;}.plugins .active,.plugins .active th,.plugins .active td{color:#000;}.plugins .inactive a{color:#579;}#the-comment-list tr.undo,#the-comment-list div.undo{background-color:#f4f4f4;}#the-comment-list .unapproved{background-color:#ffffe0;}#the-comment-list .approve a{color:#006505;}#the-comment-list .unapprove a{color:#d98500;}table.widefat span.delete a,table.widefat span.trash a,table.widefat span.spam a,#dashboard_recent_comments .delete a,#dashboard_recent_comments .trash a,#dashboard_recent_comments .spam a{color:#bc0b0b;}.widget,#widget-list .widget-top,.postbox,#titlediv,#poststuff .postarea,.stuffbox{border-color:#dfdfdf;-moz-box-shadow:inset 0 1px 0 #fff;-webkit-box-shadow:inset 0 1px 0 #fff;box-shadow:inset 0 1px 0 #fff;-moz-border-radius:3px;-khtml-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;}.widget,#widget-list .widget-top,.postbox,.menu-item-settings{background-color:#f5f5f5;background-image:-ms-linear-gradient(top,#f9f9f9,#f5f5f5);background-image:-moz-linear-gradient(top,#f9f9f9,#f5f5f5);background-image:-o-linear-gradient(top,#f9f9f9,#f5f5f5);background-image:-webkit-gradient(linear,left top,left bottom,from(#f9f9f9),to(#f5f5f5));background-image:-webkit-linear-gradient(top,#f9f9f9,#f5f5f5);background-image:linear-gradient(top,#f9f9f9,#f5f5f5);}.postbox h3{color:#464646;}.widget .widget-top{color:#222;}.sidebar-name:hover h3,.postbox h3:hover{color:#000;}.curtime #timestamp{background-image:url(../images/date-button.gif);}#quicktags #ed_link{color:#00f;}#rightnow .youhave{background-color:#f0f6fb;}#rightnow a{color:#448abd;}.tagchecklist span a,#bulk-titles div a{background:url(../images/xit.gif) no-repeat;}.tagchecklist span a:hover,#bulk-titles div a:hover{background:url(../images/xit.gif) no-repeat -10px 0;}#update-nag,.update-nag{background-color:#FFFBCC;border-color:#E6DB55;color:#555;}.login #backtoblog a{color:#464646;}#wphead{border-bottom:#dfdfdf 1px solid;}#wphead h1 a{color:#464646;}#user_info{color:#555;}#user_info:hover,#user_info.active{color:#222;}#user_info.active{background-color:#f1f1f1;background-image:-ms-linear-gradient(bottom,#e9e9e9,#f9f9f9);background-image:-moz-linear-gradient(bottom,#e9e9e9,#f9f9f9);background-image:-o-linear-gradient(bottom,#e9e9e9,#f9f9f9);background-image:-webkit-gradient(linear,left bottom,left top,from(#e9e9e9),to(#f9f9f9));background-image:-webkit-linear-gradient(bottom,#e9e9e9,#f9f9f9);background-image:linear-gradient(bottom,#e9e9e9,#f9f9f9);border-color:#aaa #aaa #dfdfdf;}#user_info_arrow{background:transparent url(../images/arrows.png) no-repeat 6px 5px;}#user_info:hover #user_info_arrow,#user_info.active #user_info_arrow{background:transparent url(../images/arrows-dark.png) no-repeat 6px 5px;}#user_info_links{-moz-box-shadow:0 3px 2px -2px rgba(0,0,0,0.2);-webkit-box-shadow:0 3px 2px -2px rgba(0,0,0,0.2);box-shadow:0 3px 2px -2px rgba(0,0,0,0.2);}#user_info_links ul{background:#f1f1f1;border-color:#ccc #aaa #aaa;-moz-box-shadow:inset 0 1px 0 #f9f9f9;-webkit-box-shadow:inset 0 1px 0 #f9f9f9;box-shadow:inset 0 1px 0 #f9f9f9;}#user_info_links li:hover{background-color:#dfdfdf;}#user_info_links li:hover a,#user_info_links li a:hover{text-decoration:none;}#user_info a:link,#user_info a:visited,#footer a:link,#footer a:visited{text-decoration:none;}#footer a:hover{color:#000;text-decoration:underline;}div#media-upload-error,.file-error,abbr.required,.widget-control-remove:hover,table.widefat .delete a:hover,table.widefat .trash a:hover,table.widefat .spam a:hover,#dashboard_recent_comments .delete a:hover,#dashboard_recent_comments .trash a:hover #dashboard_recent_comments .spam a:hover{color:#f00;}#pass-strength-result{background-color:#eee;border-color:#ddd!important;}#pass-strength-result.bad{background-color:#ffb78c;border-color:#ff853c!important;}#pass-strength-result.good{background-color:#ffec8b;border-color:#fc0!important;}#pass-strength-result.short{background-color:#ffa0a0;border-color:#f04040!important;}#pass-strength-result.strong{background-color:#c3ff88;border-color:#8dff1c!important;}#quicktags{border-color:#ccc;background-color:#dfdfdf;background-image:url("../images/ed-bg.gif");}#ed_toolbar input{border-color:#C3C3C3;}#ed_toolbar input:hover{border-color:#aaa;background:#ddd;}#poststuff .wp_themeSkin .mceStatusbar{border-color:#dfdfdf;}#poststuff .wp_themeSkin .mceStatusbar *{color:#555;}#poststuff #edButtonPreview,#poststuff #edButtonHTML{background-color:#f1f1f1;border-color:#dfdfdf #dfdfdf #ccc;color:#999;}#poststuff #editor-toolbar .active{border-color:#ccc #ccc #e9e9e9;background-color:#e9e9e9;color:#333;}#post-status-info{background-color:#EDEDED;}.wp_themeSkin *,.wp_themeSkin a:hover,.wp_themeSkin a:link,.wp_themeSkin a:visited,.wp_themeSkin a:active{color:#000;}.wp_themeSkin table.mceLayout{border-color:#ccc #ccc #dfdfdf;}#editorcontainer #content,#editorcontainer .wp_themeSkin .mceIframeContainer{-moz-box-shadow:inset 1px 1px 2px rgba(0,0,0,0.1);-webkit-box-shadow:inset 1px 1px 2px rgba(0,0,0,0.1);box-shadow:inset 1px 1px 2px rgba(0,0,0,0.1);}.wp_themeSkin iframe{background:transparent;}.wp_themeSkin .mceStatusbar{color:#000;background-color:#f5f5f5;}.wp_themeSkin .mceButton{border-color:#ccc;background-color:#eee;background-image:-ms-linear-gradient(bottom,#ddd,#fff);background-image:-moz-linear-gradient(bottom,#ddd,#fff);background-image:-o-linear-gradient(bottom,#ddd,#fff);background-image:-webkit-gradient(linear,left bottom,left top,from(#ddd),to(#fff));background-image:-webkit-linear-gradient(bottom,#ddd,#fff);background-image:linear-gradient(bottom,#ddd,#fff);}.wp_themeSkin a.mceButtonEnabled:hover{border-color:#a0a0a0;background:#ddd;background-image:-ms-linear-gradient(bottom,#ccc,#fff);background-image:-moz-linear-gradient(bottom,#ccc,#fff);background-image:-o-linear-gradient(bottom,#ccc,#fff);background-image:-webkit-gradient(linear,left bottom,left top,from(#ccc),to(#fff));background-image:-webkit-linear-gradient(bottom,#ccc,#fff);background-image:linear-gradient(bottom,#ccc,#fff);}.wp_themeSkin a.mceButton:active,.wp_themeSkin a.mceButtonEnabled:active,.wp_themeSkin a.mceButtonSelected:active,.wp_themeSkin a.mceButtonActive,.wp_themeSkin a.mceButtonActive:active,.wp_themeSkin a.mceButtonActive:hover{background-color:#ddd;background-image:-ms-linear-gradient(bottom,#eee,#bbb);background-image:-moz-linear-gradient(bottom,#eee,#bbb);background-image:-o-linear-gradient(bottom,#eee,#bbb);background-image:-webkit-gradient(linear,left bottom,left top,from(#eee),to(#bbb));background-image:-webkit-linear-gradient(bottom,#eee,#bbb);background-image:linear-gradient(bottom,#eee,#bbb);border-color:#909090;}.wp_themeSkin .mceButtonDisabled{border-color:#ccc!important;}.wp_themeSkin .mceListBox .mceText,.wp_themeSkin .mceListBox .mceOpen{border-color:#ccc;background-color:#eee;background-image:-ms-linear-gradient(bottom,#ddd,#fff);background-image:-moz-linear-gradient(bottom,#ddd,#fff);background-image:-o-linear-gradient(bottom,#ddd,#fff);background-image:-webkit-gradient(linear,left bottom,left top,from(#ddd),to(#fff));background-image:-webkit-linear-gradient(bottom,#ddd,#fff);background-image:linear-gradient(bottom,#ddd,#fff);}.wp_themeSkin .mceListBox .mceOpen{border-left:0!important;}.wp_themeSkin table.mceListBoxEnabled:hover .mceOpen,.wp_themeSkin .mceListBoxHover .mceOpen,.wp_themeSkin .mceListBoxHover:active .mceOpen,.wp_themeSkin .mceListBoxSelected .mceOpen,.wp_themeSkin .mceListBoxSelected .mceText,.wp_themeSkin table.mceListBoxEnabled:active .mceText{background:#ccc;border-color:#999;}.wp_themeSkin table.mceListBoxEnabled:hover .mceText,.wp_themeSkin .mceListBoxHover .mceText,.wp_themeSkin table.mceListBoxEnabled:hover .mceOpen,.wp_themeSkin .mceListBoxHover .mceOpen{border-color:#909090;background-color:#eee;background-image:-ms-linear-gradient(bottom,#ccc,#fff);background-image:-moz-linear-gradient(bottom,#ccc,#fff);background-image:-o-linear-gradient(bottom,#ccc,#fff);background-image:-webkit-gradient(linear,left bottom,left top,from(#ccc),to(#fff));background-image:-webkit-linear-gradient(bottom,#ccc,#fff);background-image:linear-gradient(bottom,#ccc,#fff);}.wp_themeSkin select.mceListBox{border-color:#B2B2B2;background-color:#fff;}.wp_themeSkin .mceSplitButton a.mceAction,.wp_themeSkin .mceSplitButton a.mceOpen{border-color:#ccc;}.wp_themeSkin .mceSplitButton a.mceOpen:hover,.wp_themeSkin .mceSplitButtonSelected a.mceOpen,.wp_themeSkin table.mceSplitButtonEnabled:hover a.mceAction,.wp_themeSkin .mceSplitButton a.mceAction:hover{border-color:#909090;}.wp_themeSkin table.mceSplitButton td{background-color:#eee;background-image:-ms-linear-gradient(bottom,#ddd,#fff);background-image:-moz-linear-gradient(bottom,#ddd,#fff);background-image:-o-linear-gradient(bottom,#ddd,#fff);background-image:-webkit-gradient(linear,left bottom,left top,from(#ddd),to(#fff));background-image:-webkit-linear-gradient(bottom,#ddd,#fff);background-image:linear-gradient(bottom,#ddd,#fff);}.wp_themeSkin table.mceSplitButton:hover td{background-image:-ms-linear-gradient(bottom,#ccc,#fff);background-image:-moz-linear-gradient(bottom,#ccc,#fff);background-image:-o-linear-gradient(bottom,#ccc,#fff);background-image:-webkit-gradient(linear,left bottom,left top,from(#ccc),to(#fff));background-image:-webkit-linear-gradient(bottom,#ccc,#fff);background-image:linear-gradient(bottom,#ccc,#fff);}.wp_themeSkin .mceSplitButtonActive{background-color:#B2B2B2;}.wp_themeSkin div.mceColorSplitMenu table{background-color:#ebebeb;border-color:#B2B2B2;}.wp_themeSkin .mceColorSplitMenu a{border-color:#B2B2B2;}.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;}.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:#f5f5f5;}.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;}.wp_themeSkin tr.mceFirst td.mceToolbar{background:#dfdfdf url("../images/ed-bg.gif") repeat-x scroll left top;border-color:#ccc;}.wp-admin #mceModalBlocker{background:#000;}.wp-admin .clearlooks2 .mceFocus .mceTop .mceLeft{background:#444;border-left:1px solid #999;border-top:1px solid #999;-moz-border-radius:3px 0 0 0;-webkit-border-top-left-radius:3px;-khtml-border-top-left-radius:3px;border-top-left-radius:3px;}.wp-admin .clearlooks2 .mceFocus .mceTop .mceRight{background:#444;border-right:1px solid #999;border-top:1px solid #999;border-top-right-radius:3px;-khtml-border-top-right-radius:3px;-webkit-border-top-right-radius:3px;-moz-border-radius:0 3px 0 0;}.wp-admin .clearlooks2 .mceMiddle .mceLeft{background:#f1f1f1;border-left:1px solid #999;}.wp-admin .clearlooks2 .mceMiddle .mceRight{background:#f1f1f1;border-right:1px solid #999;}.wp-admin .clearlooks2 .mceBottom{background:#f1f1f1;border-bottom:1px solid #999;}.wp-admin .clearlooks2 .mceBottom .mceLeft{background:#f1f1f1;border-bottom:1px solid #999;border-left:1px solid #999;}.wp-admin .clearlooks2 .mceBottom .mceCenter{background:#f1f1f1;border-bottom:1px solid #999;}.wp-admin .clearlooks2 .mceBottom .mceRight{background:#f1f1f1;border-bottom:1px solid #999;border-right:1px solid #999;}.wp-admin .clearlooks2 .mceFocus .mceTop span{color:#e5e5e5;}#titlediv #title{border-color:#ccc;}#editorcontainer{border-color:#ccc #ccc #dfdfdf;}#post-status-info{border-color:#dfdfdf #ccc #ccc;}.editwidget .widget-inside{border-color:#dfdfdf;}#titlediv #title{background-color:#fff;}#tTips p#tTips_inside{background-color:#ddd;color:#333;}#timestampdiv input,#namediv input,#poststuff .inside .the-tagcloud{border-color:#ddd;}#adminmenuback,#adminmenuwrap{background-color:#ececec;border-color:#ccc;}#adminmenushadow,#adminmenuback{background-image:url(../images/menu-shadow.png);background-position:top right;background-repeat:repeat-y;}#adminmenu li.wp-menu-separator{background:#dfdfdf;border-color:#cfcfcf;}#adminmenu div.separator{border-color:#e1e1e1;}#adminmenu li.wp-has-current-submenu.wp-menu-open .wp-menu-toggle,#adminmenu li.wp-has-current-submenu:hover .wp-menu-toggle{background:transparent url(../images/arrows-dark.png) no-repeat -1px 6px;}#adminmenu .wp-has-submenu:hover .wp-menu-toggle,#adminmenu .wp-menu-open .wp-menu-toggle{background:transparent url(../images/arrows.png) no-repeat -2px 6px;}#adminmenu a.menu-top,.folded #adminmenu li.menu-top,#adminmenu .wp-submenu .wp-submenu-head{border-top-color:#f9f9f9;border-bottom-color:#dfdfdf;}#adminmenu li.wp-menu-open{border-color:#dfdfdf;}#adminmenu li.wp-has-current-submenu a.wp-has-current-submenu,#adminmenu li.current a.menu-top,.folded #adminmenu li.wp-has-current-submenu,.folded #adminmenu li.current.menu-top,#adminmenu .wp-menu-arrow,#adminmenu .wp-has-current-submenu .wp-submenu .wp-submenu-head{background-color:#777;background-image:-ms-linear-gradient(bottom,#6d6d6d,#808080);background-image:-moz-linear-gradient(bottom,#6d6d6d,#808080);background-image:-o-linear-gradient(bottom,#6d6d6d,#808080);background-image:-webkit-gradient(linear,left bottom,left top,from(#6d6d6d),to(#808080));background-image:-webkit-linear-gradient(bottom,#6d6d6d,#808080);background-image:linear-gradient(bottom,#6d6d6d,#808080);}#adminmenu li.wp-has-current-submenu a.wp-has-current-submenu,#adminmenu li.current a.menu-top,#adminmenu .wp-has-current-submenu .wp-submenu .wp-submenu-head{text-shadow:0 -1px 0 #333;color:#fff;border-top-color:#808080;border-bottom-color:#6d6d6d;}.folded #adminmenu li.wp-has-current-submenu,.folded #adminmenu li.current.menu-top{border-top-color:#808080;border-bottom-color:#6d6d6d;}#adminmenu .wp-submenu a:hover{background-color:#EAF2FA!important;color:#333!important;}#adminmenu .wp-submenu li.current,#adminmenu .wp-submenu li.current a,#adminmenu .wp-submenu li.current a:hover{color:#333;}#adminmenu .wp-submenu ul{background-color:#fff;}.folded #adminmenu .wp-submenu-wrap,.folded #adminmenu .wp-submenu ul{border-color:#dfdfdf;}.folded #adminmenu .wp-submenu-wrap{-moz-box-shadow:2px 2px 5px rgba(0,0,0,0.4);-webkit-box-shadow:2px 2px 5px rgba(0,0,0,0.4);box-shadow:2px 2px 5px rgba(0,0,0,0.4);}#adminmenu .wp-submenu .wp-submenu-head{border-right-color:#dfdfdf;background-color:#ececec;}#adminmenu div.wp-submenu{background-color:transparent;}#collapse-menu{color:#aaa;}#collapse-menu:hover{color:#999;}#collapse-button{border-color:#ccc;background-color:#f4f4f4;background-image:-ms-linear-gradient(bottom,#dfdfdf,#fff);background-image:-moz-linear-gradient(bottom,#dfdfdf,#fff);background-image:-o-linear-gradient(bottom,#dfdfdf,#fff);background-image:-webkit-gradient(linear,left bottom,left top,from(#dfdfdf),to(#fff));background-image:-webkit-linear-gradient(bottom,#dfdfdf,#fff);background-image:linear-gradient(bottom,#dfdfdf,#fff);}#collapse-menu:hover #collapse-button{border-color:#aaa;}#collapse-button div{background:transparent url(../images/arrows.png) no-repeat 0 -72px;}.folded #collapse-button div{background-position:0 -108px;}#adminmenu .menu-icon-dashboard div.wp-menu-image{background:transparent url('../images/menu.png?ver=20100531') no-repeat scroll -60px -33px;}#adminmenu .menu-icon-dashboard:hover div.wp-menu-image,#adminmenu .menu-icon-dashboard.wp-has-current-submenu div.wp-menu-image,#adminmenu .menu-icon-dashboard.current div.wp-menu-image{background:transparent url('../images/menu.png?ver=20100531') no-repeat scroll -60px -1px;}#adminmenu .menu-icon-post div.wp-menu-image{background:transparent url('../images/menu.png?ver=20100531') no-repeat scroll -271px -33px;}#adminmenu .menu-icon-post:hover div.wp-menu-image,#adminmenu .menu-icon-post.wp-has-current-submenu div.wp-menu-image{background:transparent url('../images/menu.png?ver=20100531') no-repeat scroll -271px -1px;}#adminmenu .menu-icon-media div.wp-menu-image{background:transparent url('../images/menu.png?ver=20100531') no-repeat scroll -120px -33px;}#adminmenu .menu-icon-media:hover div.wp-menu-image,#adminmenu .menu-icon-media.wp-has-current-submenu div.wp-menu-image{background:transparent url('../images/menu.png?ver=20100531') no-repeat scroll -120px -1px;}#adminmenu .menu-icon-links div.wp-menu-image{background:transparent url('../images/menu.png?ver=20100531') no-repeat scroll -90px -33px;}#adminmenu .menu-icon-links:hover div.wp-menu-image,#adminmenu .menu-icon-links.wp-has-current-submenu div.wp-menu-image{background:transparent url('../images/menu.png?ver=20100531') no-repeat scroll -90px -1px;}#adminmenu .menu-icon-page div.wp-menu-image{background:transparent url('../images/menu.png?ver=20100531') no-repeat scroll -150px -33px;}#adminmenu .menu-icon-page:hover div.wp-menu-image,#adminmenu .menu-icon-page.wp-has-current-submenu div.wp-menu-image{background:transparent url('../images/menu.png?ver=20100531') no-repeat scroll -150px -1px;}#adminmenu .menu-icon-comments div.wp-menu-image{background:transparent url('../images/menu.png?ver=20100531') no-repeat scroll -30px -33px;}#adminmenu .menu-icon-comments:hover div.wp-menu-image,#adminmenu .menu-icon-comments.wp-has-current-submenu div.wp-menu-image,#adminmenu .menu-icon-comments.current div.wp-menu-image{background:transparent url('../images/menu.png?ver=20100531') no-repeat scroll -30px -1px;}#adminmenu .menu-icon-appearance div.wp-menu-image{background:transparent url('../images/menu.png?ver=20100531') no-repeat scroll 0 -33px;}#adminmenu .menu-icon-appearance:hover div.wp-menu-image,#adminmenu .menu-icon-appearance.wp-has-current-submenu div.wp-menu-image{background:transparent url('../images/menu.png?ver=20100531') no-repeat scroll 0 -1px;}#adminmenu .menu-icon-plugins div.wp-menu-image{background:transparent url('../images/menu.png?ver=20100531') no-repeat scroll -180px -33px;}#adminmenu .menu-icon-plugins:hover div.wp-menu-image,#adminmenu .menu-icon-plugins.wp-has-current-submenu div.wp-menu-image{background:transparent url('../images/menu.png?ver=20100531') no-repeat scroll -180px -1px;}#adminmenu .menu-icon-users div.wp-menu-image{background:transparent url('../images/menu.png?ver=20100531') no-repeat scroll -300px -33px;}#adminmenu .menu-icon-users:hover div.wp-menu-image,#adminmenu .menu-icon-users.wp-has-current-submenu div.wp-menu-image,#adminmenu .menu-icon-users.current div.wp-menu-image{background:transparent url('../images/menu.png?ver=20100531') no-repeat scroll -300px -1px;}#adminmenu .menu-icon-tools div.wp-menu-image{background:transparent url('../images/menu.png?ver=20100531') no-repeat scroll -210px -33px;}#adminmenu .menu-icon-tools:hover div.wp-menu-image,#adminmenu .menu-icon-tools.wp-has-current-submenu div.wp-menu-image,#adminmenu .menu-icon-tools.current div.wp-menu-image{background:transparent url('../images/menu.png?ver=20100531') no-repeat scroll -210px -1px;}#icon-options-general,#adminmenu .menu-icon-settings div.wp-menu-image{background:transparent url('../images/menu.png?ver=20100531') no-repeat scroll -240px -33px;}#adminmenu .menu-icon-settings:hover div.wp-menu-image,#adminmenu .menu-icon-settings.wp-has-current-submenu div.wp-menu-image{background:transparent url('../images/menu.png?ver=20100531') no-repeat scroll -240px -1px;}#adminmenu .menu-icon-site div.wp-menu-image{background:transparent url('../images/menu.png?ver=20100531') no-repeat scroll -360px -33px;}#adminmenu .menu-icon-site:hover div.wp-menu-image,#adminmenu .menu-icon-site.wp-has-current-submenu div.wp-menu-image{background:transparent url('../images/menu.png?ver=20100531') no-repeat scroll -360px -1px;}#icon-edit,#icon-post{background:transparent url(../images/icons32.png?ver=20100531) no-repeat -552px -5px;}#icon-index{background:transparent url(../images/icons32.png?ver=20100531) no-repeat -137px -5px;}#icon-upload{background:transparent url(../images/icons32.png?ver=20100531) no-repeat -251px -5px;}#icon-link-manager,#icon-link,#icon-link-category{background:transparent url(../images/icons32.png?ver=20100531) no-repeat -190px -5px;}#icon-edit-pages,#icon-page{background:transparent url(../images/icons32.png?ver=20100531) no-repeat -312px -5px;}#icon-edit-comments{background:transparent url(../images/icons32.png?ver=20100531) no-repeat -72px -5px;}#icon-themes{background:transparent url(../images/icons32.png?ver=20100531) no-repeat -11px -5px;}#icon-plugins{background:transparent url(../images/icons32.png?ver=20100531) no-repeat -370px -5px;}#icon-users,#icon-profile,#icon-user-edit{background:transparent url(../images/icons32.png?ver=20100531) no-repeat -600px -5px;}#icon-tools,#icon-admin{background:transparent url(../images/icons32.png?ver=20100531) no-repeat -432px -5px;}#icon-options-general{background:transparent url(../images/icons32.png?ver=20100531) no-repeat -492px -5px;}#icon-ms-admin{background:transparent url(../images/icons32.png?ver=20100531) no-repeat -659px -5px;}table.diff .diff-deletedline{background-color:#fdd;}table.diff .diff-deletedline del{background-color:#f99;}table.diff .diff-addedline{background-color:#dfd;}table.diff .diff-addedline ins{background-color:#9f9;}#att-info{background-color:#E4F2FD;}#sidemenu a{background-color:#f9f9f9;border-color:#f9f9f9;border-bottom-color:#dfdfdf;}#sidemenu a.current{background-color:#fff;border-color:#dfdfdf #dfdfdf #fff;color:#D54E21;}#screen-options-wrap,#contextual-help-wrap{background-color:#f1f1f1;border-color:#dfdfdf;}#screen-options-link-wrap,#contextual-help-link-wrap{background-color:#e3e3e3;border-right:1px solid transparent;border-left:1px solid transparent;border-bottom:1px solid transparent;background-image:-ms-linear-gradient(bottom,#dfdfdf,#f1f1f1);background-image:-moz-linear-gradient(bottom,#dfdfdf,#f1f1f1);background-image:-o-linear-gradient(bottom,#dfdfdf,#f1f1f1);background-image:-webkit-gradient(linear,left bottom,left top,from(#dfdfdf),to(#f1f1f1));background-image:-webkit-linear-gradient(bottom,#dfdfdf,#f1f1f1);background-image:linear-gradient(bottom,#dfdfdf,#f1f1f1);}#screen-meta-links a.show-settings{color:#777;}#screen-meta-links a.show-settings:hover{color:#000;}#replysubmit{background-color:#f1f1f1;border-top-color:#ddd;}#replyerror{border-color:#ddd;background-color:#f9f9f9;}#edithead,#replyhead{background-color:#f1f1f1;}#ed_reply_toolbar{background-color:#e9e9e9;}.vim-current,.vim-current th,.vim-current td{background-color:#E4F2FD!important;}.star-average,.star.star-rating{background-color:#fc0;}div.star.select:hover{background-color:#d00;}div.star img{border-left:1px solid #fff;border-right:1px solid #fff;}.widefat div.star img{border-left:1px solid #f9f9f9;border-right:1px solid #f9f9f9;}#plugin-information .fyi ul{background-color:#eaf3fa;}#plugin-information .fyi h2.mainheader{background-color:#cee1ef;}#plugin-information pre,#plugin-information code{background-color:#ededff;}#plugin-information pre{border:1px solid #ccc;}.inline-edit-row fieldset input[type="text"],.inline-edit-row fieldset textarea,#bulk-titles,#replyrow input{border-color:#ddd;}.inline-editor div.title{background-color:#EAF3FA;}.inline-editor ul.cat-checklist{background-color:#fff;border-color:#ddd;}.inline-editor .categories .catshow,.inline-editor .categories .cathide{color:#21759b;}.inline-editor .quick-edit-save{background-color:#f1f1f1;}#replyrow #ed_reply_toolbar input:hover{border-color:#aaa;background:#ddd;}fieldset.inline-edit-col-right .inline-edit-col{border-color:#dfdfdf;}.attention{color:#D54E21;}.meta-box-sortables .postbox:hover .handlediv{background:transparent url(../images/arrows.png) no-repeat 6px 7px;}.tablenav .tablenav-pages{color:#555;}.tablenav .tablenav-pages a{border-color:#e3e3e3;background:#eee url('../images/menu-bits.gif?ver=20100610') repeat-x scroll left -379px;}.tablenav .tablenav-pages a:hover,.tablenav .tablenav-pages a:focus{color:#d54e21;}.tablenav .tablenav-pages a.disabled,.tablenav .tablenav-pages a.disabled:hover,.tablenav .tablenav-pages a.disabled:focus{color:#aaa;}.tablenav .tablenav-pages .current{background:#dfdfdf;border-color:#d3d3d3;}#availablethemes,#availablethemes td{border-color:#ddd;}#current-theme img{border-color:#999;}#TB_window #TB_title a.tb-theme-preview-link,#TB_window #TB_title a.tb-theme-preview-link:visited{color:#999;}#TB_window #TB_title a.tb-theme-preview-link:hover,#TB_window #TB_title a.tb-theme-preview-link:focus{color:#ccc;}.misc-pub-section{border-top-color:#fff;border-bottom-color:#dfdfdf;}#minor-publishing{border-bottom-color:#dfdfdf;}#post-body .misc-pub-section{border-right-color:#eee;}.post-com-count span{background-color:#bbb;}.form-table .color-palette td{border-color:#fff;}.sortable-placeholder{border-color:#bbb;background-color:#f5f5f5;}#post-body ul.category-tabs li.tabs a,#post-body ul.add-menu-item-tabs li.tabs a,body.press-this ul.category-tabs li.tabs a{color:#333;}#wp_editimgbtn,#wp_delimgbtn,#wp_editgallery,#wp_delgallery{border-color:#999;background-color:#eee;}#wp_editimgbtn:hover,#wp_delimgbtn:hover,#wp_editgallery:hover,#wp_delgallery:hover{border-color:#555;background-color:#ccc;}#favorite-first{border-color:#c0c0c0;background:#f1f1f1;background:-moz-linear-gradient(bottom,#e7e7e7,#fff);background:-webkit-gradient(linear,left bottom,left top,from(#e7e7e7),to(#fff));}#favorite-inside{border-color:#c0c0c0;background-color:#fff;}#favorite-toggle{background:transparent url(../images/arrows.png) no-repeat 4px 2px;border-color:#dfdfdf;-moz-box-shadow:inset 1px 0 0 #fff;-webkit-box-shadow:inset 1px 0 0 #fff;box-shadow:inset 1px 0 0 #fff;}#favorite-actions a{color:#464646;}#favorite-actions a:hover{color:#000;}#favorite-inside a:hover{text-decoration:underline;}#screen-meta a.show-settings,.toggle-arrow{background:transparent url(../images/arrows.png) no-repeat right 3px;}#screen-meta .screen-meta-active a.show-settings{background:transparent url(../images/arrows.png) no-repeat right -33px;}.view-switch #view-switch-list{background:transparent url(../images/list.png) no-repeat 0 0;}.view-switch .current #view-switch-list{background:transparent url(../images/list.png) no-repeat -40px 0;}.view-switch #view-switch-excerpt{background:transparent url(../images/list.png) no-repeat -20px 0;}.view-switch .current #view-switch-excerpt{background:transparent url(../images/list.png) no-repeat -60px 0;}#header-logo{background:transparent url(../images/wp-logo.png?ver=20110504) no-repeat scroll center center;}.popular-tags,.feature-filter{background-color:#fff;border-color:#DFDFDF;}#theme-information .action-button{border-top-color:#DFDFDF;}.theme-listing br.line{border-bottom-color:#ccc;}div.widgets-sortables,#widgets-left .inactive{background-color:#fcfcfc;border-color:#dfdfdf;}#available-widgets .widget-holder{background-color:#fcfcfc;border-color:#dfdfdf;}#available-widgets .widget-description{color:#555;}.sidebar-name{color:#464646;text-shadow:#fff 0 1px 0;border-color:#dfdfdf;-moz-box-shadow:inset 0 1px 0 #fff;-webkit-box-shadow:inset 0 1px 0 #fff;box-shadow:inset 0 1px 0 #fff;}.sidebar-name:hover,#removing-widget{color:#d54e21;}#removing-widget span{color:black;}.sidebar-name-arrow{background:transparent url(../images/arrows.png) no-repeat 5px 9px;}.sidebar-name:hover .sidebar-name-arrow{background:transparent url(../images/arrows-dark.png) no-repeat 5px 9px;}.in-widget-title{color:#606060;}.deleting .widget-title *{color:#aaa;}.imgedit-menu div{border-color:#d5d5d5;background-color:#f1f1f1;}.imgedit-menu div:hover{border-color:#c1c1c1;background-color:#eaeaea;}.imgedit-menu div.disabled{border-color:#ccc;background-color:#ddd;filter:alpha(opacity=50);opacity:.5;}#dashboard_recent_comments div.undo{border-top-color:#dfdfdf;}.comment-ays,.comment-ays th{border-color:#ddd;}.comment-ays th{background-color:#f1f1f1;}#menu-management .menu-edit{border-color:#dfdfdf;}#post-body{background:#fff;border-top-color:#fff;border-bottom-color:#dfdfdf;}#nav-menu-header{border-bottom-color:#dfdfdf;}#nav-menu-footer{border-top-color:#fff;}#menu-management .nav-tabs-arrow a{color:#C1C1C1;}#menu-management .nav-tabs-arrow a:hover{color:#D54E21;}#menu-management .nav-tabs-arrow a:active{color:#464646;}#menu-management .nav-tab-active{border-color:#dfdfdf;}#menu-management .nav-tab{background:#fbfbfb;border-color:#dfdfdf;}.js .input-with-default-title{color:#aaa;}#cancel-save{color:#f00;}#cancel-save:hover{background-color:#F00;color:#fff;}.list-container{border-color:#DFDFDF;}.menu-item-handle{border-color:#dfdfdf;}.menu li.deleting .menu-item-handle{background-color:#f66;text-shadow:#ccc;}.item-type{color:#999;}.item-controls .menu-item-delete:hover{color:#f00;}.item-edit{background:transparent url(../images/arrows.png) no-repeat 8px 10px;border-bottom-color:#eee;}.item-edit:hover{background:transparent url(../images/arrows-dark.png) no-repeat 8px 10px;}.menu-item-settings{border-color:#dfdfdf;}.link-to-original{color:#777;border-color:#dfdfdf;}#cancel-save:hover{color:#fff!important;}#update-menu-item{color:#fff!important;}#update-menu-item:hover,#update-menu-item:active,#update-menu-item:focus{color:#eaf2fa!important;border-color:#13455b!important;}.submitbox .submitcancel{color:#21759B;border-bottom-color:#21759B;}.submitbox .submitcancel:hover{background:#21759B;color:#fff;}#menu-management .nav-tab-active,.menu-item-handle,.menu-item-settings{-moz-box-shadow:inset 0 1px 0 #fff;-webkit-box-shadow:inset 0 1px 0 #fff;box-shadow:inset 0 1px 0 #fff;}#menu-management .nav-tab-active{background:#f9f9f9;border-bottom-color:#f9f9f9;}#upload-form label{color:#777;}.fullscreen-overlay{background:#fff;}.wp-fullscreen-focus #wp-fullscreen-title,.wp-fullscreen-focus #wp-fullscreen-container{border-color:#ccc;}#fullscreen-topbar{border-bottom-color:#DFDFDF;} \ No newline at end of file diff --git a/wp-admin/css/colors-fresh.dev.css b/wp-admin/css/colors-fresh.dev.css index 632591780..eb86042d4 100644 --- a/wp-admin/css/colors-fresh.dev.css +++ b/wp-admin/css/colors-fresh.dev.css @@ -1,6 +1,6 @@ html, .wp-dialog { - background-color: #f9f9f9; + background-color: #fff; } * html input, @@ -95,7 +95,7 @@ div.dashboard-widget, .widefat { border-color: #dfdfdf; - background-color: #fff; + background-color: #f9f9f9; } div.dashboard-widget-error { @@ -116,12 +116,13 @@ ul.category-tabs li.tabs, ul.add-menu-item-tabs li.tabs, .wp-tab-active { border-color: #dfdfdf; + background-color: #fff; } ul.category-tabs li.tabs, ul.add-menu-item-tabs li.tabs, .wp-tab-active { - background-color: #f1f1f1; + background-color: #fff; } input.disabled, @@ -135,11 +136,37 @@ textarea.disabled { color: #fff; } +.widget .widget-top, +.postbox h3, +.stuffbox h3, +.widefat thead tr th, +.widefat tfoot tr th, +h3.dashboard-widget-title, +h3.dashboard-widget-title span, +h3.dashboard-widget-title small, +.find-box-head, +.sidebar-name, +#nav-menu-header, +#nav-menu-footer, +.menu-item-handle, +#fullscreen-topbar { + background-color: #f1f1f1; /* Fallback */ + background-image: -ms-linear-gradient(top, #f9f9f9, #ececec); /* IE10 */ + background-image: -moz-linear-gradient(top, #f9f9f9, #ececec); /* Firefox */ + background-image: -o-linear-gradient(top, #f9f9f9, #ececec); /* Opera */ + background-image: -webkit-gradient(linear, left top, left bottom, from(#f9f9f9), to(#ececec)); /* old Webkit */ + background-image: -webkit-linear-gradient(top, #f9f9f9, #ececec); /* new Webkit */ + background-image: linear-gradient(top, #f9f9f9, #ececec); /* proposed W3C Markup */ +} + .widget .widget-top, .postbox h3, .stuffbox h3 { - background: #dfdfdf url("../images/gray-grad.png") repeat-x left top; + border-bottom-color: #dfdfdf; text-shadow: #fff 0 1px 0; + -moz-box-shadow: 0 1px 0 #fff; + -webkit-box-shadow: 0 1px 0 #fff; + box-shadow: 0 1px 0 #fff; } .form-table th, @@ -170,6 +197,14 @@ strong .post-com-count span { color: #464646; } +.wrap .add-new-h2 { + background: #f1f1f1; +} + +.subtitle { + color: #777; +} + .ac_over { background-color: #f0f0b8; } @@ -185,7 +220,7 @@ strong .post-com-count span { .alternate, .alt { - background-color: #f9f9f9; + background-color: #fcfcfc; } .available-theme a.screenshot { @@ -239,7 +274,6 @@ div.error a { .nonessential, #edit-slug-box, .form-input-tip, -.rss-widget span.rss-date, .subsubsub { color: #666; } @@ -458,13 +492,23 @@ a.page-numbers { .widefat td, .widefat th { - border-color: #dfdfdf; + border-top-color: #fff; + border-bottom-color: #dfdfdf; } .widefat th { text-shadow: rgba(255,255,255,0.8) 0 1px 0; } +.widefat td { + color: #555; +} +.widefat p, +.widefat ol, +.widefat ul { + color: #333; +} + .widefat thead tr th, .widefat tfoot tr th, h3.dashboard-widget-title, @@ -472,7 +516,6 @@ h3.dashboard-widget-title span, h3.dashboard-widget-title small, .find-box-head { color: #333; - background: #dfdfdf url(../images/gray-grad.png) repeat-x scroll left top; } th.sortable a:hover, th.sortable a:active, th.sortable a:focus { @@ -499,30 +542,30 @@ a, color: #21759b; } -#adminmenu #awaiting-mod, +#adminmenu .awaiting-mod, #adminmenu .update-plugins, #sidemenu a .update-plugins, #rightnow .reallynow { background-color: #464646; color: #fff; - -moz-box-shadow: #fff 0 -1px 0; - -khtml-box-shadow: #fff 0 -1px 0; - -webkit-box-shadow: #fff 0 -1px 0; - box-shadow: #fff 0 -1px 0; + -moz-box-shadow: rgba(255,255,255,0.5) 0 1px 0; + -khtml-box-shadow: rgba(255,255,255,0.5) 0 1px 0; + -webkit-box-shadow: rgba(255,255,255,0.5) 0 1px 0; + box-shadow: rgba(255,255,255,0.5) 0 1px 0; } #plugin-information .action-button { background-color: #d54e21; color: #fff; } -#adminmenu li.current a #awaiting-mod, -#adminmenu li a.wp-has-current-submenu .update-plugins{ +#adminmenu li.current a .awaiting-mod, +#adminmenu li a.wp-has-current-submenu .update-plugins{ background-color: #464646; color: #fff; - -moz-box-shadow: #fff 0 -1px 0; - -khtml-box-shadow: #fff 0 -1px 0; - -webkit-box-shadow: #fff 0 -1px 0; - box-shadow: #fff 0 -1px 0; + -moz-box-shadow: rgba(255,255,255,0.5) 0 1px 0; + -khtml-box-shadow: rgba(255,255,255,0.5) 0 1px 0; + -webkit-box-shadow: rgba(255,255,255,0.5) 0 1px 0; + box-shadow: rgba(255,255,255,0.5) 0 1px 0; } div#media-upload-header, @@ -559,20 +602,19 @@ input.readonly, textarea.readonly { color: #777; } -.login #nav a { +.login #nav a, +.login #backtoblog a { color: #21759b !important; } -.login #nav a:hover { +.login #nav a:hover, +.login #backtoblog a:hover { color: #d54e21 !important; } #footer { color: #777; - border-color: #d1d1d1; - background: #d9d9d9; /* fallback color */ - background:-moz-linear-gradient(bottom, #d7d7d7, #e4e4e4); - background:-webkit-gradient(linear, left bottom, left top, from(#d7d7d7), to(#e4e4e4)); + border-color: #dfdfdf; } #media-items, @@ -584,14 +626,14 @@ input.readonly, textarea.readonly { .side-info, .plugins tr, #your-profile #rich_editing { - background-color: #fff; + background-color: #fcfcfc; } .plugins .inactive, .plugins .inactive th, .plugins .inactive td, tr.inactive + tr.plugin-update-tr .plugin-update { - background-color: #eee; + background-color: #f4f4f4; } .plugin-update-tr .update-message { @@ -642,19 +684,38 @@ table.widefat span.spam a, #poststuff .postarea, .stuffbox { border-color: #dfdfdf; + -moz-box-shadow: inset 0 1px 0 #fff; + -webkit-box-shadow: inset 0 1px 0 #fff; + box-shadow: inset 0 1px 0 #fff; + -moz-border-radius: 3px; + -khtml-border-radius: 3px; + -webkit-border-radius: 3px; + border-radius: 3px; } .widget, -.postbox { - background-color: #fff; +#widget-list .widget-top, +.postbox, +.menu-item-settings { + background-color: #f5f5f5; /* Fallback */ + background-image: -ms-linear-gradient(top, #f9f9f9, #f5f5f5); /* IE10 */ + background-image: -moz-linear-gradient(top, #f9f9f9, #f5f5f5); /* Firefox */ + background-image: -o-linear-gradient(top, #f9f9f9, #f5f5f5); /* Opera */ + background-image: -webkit-gradient(linear, left top, left bottom, from(#f9f9f9), to(#f5f5f5)); /* old Webkit */ + background-image: -webkit-linear-gradient(top, #f9f9f9, #f5f5f5); /* new Webkit */ + background-image: linear-gradient(top, #f9f9f9, #f5f5f5); /* proposed W3C Markup */ } -.ui-sortable .postbox h3 { +.postbox h3 { color: #464646; } -.widget .widget-top, -.ui-sortable .postbox h3:hover { +.widget .widget-top { + color: #222; +} + +.sidebar-name:hover h3, +.postbox h3:hover { color: #000; } @@ -695,10 +756,7 @@ table.widefat span.spam a, } #wphead { - border-bottom:#c6c6c6 1px solid; - background: #d9d9d9; /* fallback color */ - background:-moz-linear-gradient(bottom, #d7d7d7, #e4e4e4); - background:-webkit-gradient(linear, left bottom, left top, from(#d7d7d7), to(#e4e4e4)); + border-bottom:#dfdfdf 1px solid; } #wphead h1 a { @@ -706,21 +764,67 @@ table.widefat span.spam a, } #user_info { - color: #777; + color: #555; +} + +#user_info:hover, +#user_info.active { + color: #222; +} + +#user_info.active { + background-color: #f1f1f1; /* Fallback */ + background-image: -ms-linear-gradient(bottom, #e9e9e9, #f9f9f9); /* IE10 */ + background-image: -moz-linear-gradient(bottom, #e9e9e9, #f9f9f9); /* Firefox */ + background-image: -o-linear-gradient(bottom, #e9e9e9, #f9f9f9); /* Opera */ + background-image: -webkit-gradient(linear, left bottom, left top, from(#e9e9e9), to(#f9f9f9)); /* old Webkit */ + background-image: -webkit-linear-gradient(bottom, #e9e9e9, #f9f9f9); /* new Webkit */ + background-image: linear-gradient(bottom, #e9e9e9, #f9f9f9); /* proposed W3C Markup */ + border-color: #aaa #aaa #dfdfdf; +} + +#user_info_arrow { + background: transparent url(../images/arrows.png) no-repeat 6px 5px; +} + +#user_info:hover #user_info_arrow, +#user_info.active #user_info_arrow { + background: transparent url(../images/arrows-dark.png) no-repeat 6px 5px; +} + +#user_info_links { + -moz-box-shadow: 0 3px 2px -2px rgba( 0, 0, 0, 0.2 ); + -webkit-box-shadow: 0 3px 2px -2px rgba( 0, 0, 0, 0.2 ); + box-shadow: 0 3px 2px -2px rgba( 0, 0, 0, 0.2 ); +} + +#user_info_links ul { + background: #f1f1f1; + border-color: #ccc #aaa #aaa; + -moz-box-shadow: inset 0 1px 0 #f9f9f9; + -webkit-box-shadow: inset 0 1px 0 #f9f9f9; + box-shadow: inset 0 1px 0 #f9f9f9; +} + +#user_info_links li:hover { + background-color: #dfdfdf; +} + +#user_info_links li:hover a, +#user_info_links li a:hover { + text-decoration: none; } #user_info a:link, #user_info a:visited, #footer a:link, #footer a:visited { - color: #222; text-decoration: none; } -#user_info a:hover, #footer a:hover { color: #000; - text-decoration: underline !important; + text-decoration: underline; } div#media-upload-error, @@ -763,7 +867,7 @@ table.widefat .spam a:hover, /* editors */ #quicktags { - border-color: #dfdfdf; + border-color: #ccc; background-color: #dfdfdf; background-image: url("../images/ed-bg.gif"); } @@ -778,18 +882,22 @@ table.widefat .spam a:hover, } #poststuff .wp_themeSkin .mceStatusbar { - border-color: #EDEDED; + border-color: #dfdfdf; +} + +#poststuff .wp_themeSkin .mceStatusbar * { + color: #555; } #poststuff #edButtonPreview, #poststuff #edButtonHTML { background-color: #f1f1f1; - border-color: #dfdfdf; + border-color: #dfdfdf #dfdfdf #ccc; color: #999; } #poststuff #editor-toolbar .active { - border-bottom-color: #e9e9e9; + border-color: #ccc #ccc #e9e9e9; background-color: #e9e9e9; color: #333; } @@ -804,12 +912,22 @@ table.widefat .spam a:hover, .wp_themeSkin a:link, .wp_themeSkin a:visited, .wp_themeSkin a:active { - color: #000; + color: #000; } /* Containers */ +.wp_themeSkin table.mceLayout { + border-color: #ccc #ccc #dfdfdf; +} + +#editorcontainer #content, +#editorcontainer .wp_themeSkin .mceIframeContainer { + -moz-box-shadow: inset 1px 1px 2px rgba( 0, 0, 0, 0.1 ); + -webkit-box-shadow: inset 1px 1px 2px rgba( 0, 0, 0, 0.1 ); + box-shadow: inset 1px 1px 2px rgba( 0, 0, 0, 0.1 ); +} .wp_themeSkin iframe { - background: #fff; + background: transparent; } /* Layout */ @@ -820,15 +938,41 @@ table.widefat .spam a:hover, /* Button */ .wp_themeSkin .mceButton { - background-color: #e9e8e8; - border-color: #B2B2B2; -} - -.wp_themeSkin a.mceButtonEnabled:hover, + border-color: #ccc; + background-color: #eee; /* Fallback */ + background-image: -ms-linear-gradient(bottom, #ddd, #fff); /* IE10 */ + background-image: -moz-linear-gradient(bottom, #ddd, #fff); /* Firefox */ + background-image: -o-linear-gradient(bottom, #ddd, #fff); /* Opera */ + background-image: -webkit-gradient(linear, left bottom, left top, from(#ddd), to(#fff)); /* old Webkit */ + background-image: -webkit-linear-gradient(bottom, #ddd, #fff); /* new Webkit */ + background-image: linear-gradient(bottom, #ddd, #fff); /* proposed W3C Markup */ +} + +.wp_themeSkin a.mceButtonEnabled:hover { + border-color: #a0a0a0; + background: #ddd; /* Fallback */ + background-image: -ms-linear-gradient(bottom, #ccc, #fff); /* IE10 */ + background-image: -moz-linear-gradient(bottom, #ccc, #fff); /* Firefox */ + background-image: -o-linear-gradient(bottom, #ccc, #fff); /* Opera */ + background-image: -webkit-gradient(linear, left bottom, left top, from(#ccc), to(#fff)); /* old Webkit */ + background-image: -webkit-linear-gradient(bottom, #ccc, #fff); /* new Webkit */ + background-image: linear-gradient(bottom, #ccc, #fff); /* proposed W3C Markup */ +} + +.wp_themeSkin a.mceButton:active, +.wp_themeSkin a.mceButtonEnabled:active, +.wp_themeSkin a.mceButtonSelected:active, .wp_themeSkin a.mceButtonActive, -.wp_themeSkin a.mceButtonSelected { - background: #d5d5d5; - border-color: #777 !important; +.wp_themeSkin a.mceButtonActive:active, +.wp_themeSkin a.mceButtonActive:hover { + background-color: #ddd; /* Fallback */ + background-image: -ms-linear-gradient(bottom, #eee, #bbb); /* IE10 */ + background-image: -moz-linear-gradient(bottom, #eee, #bbb); /* Firefox */ + background-image: -o-linear-gradient(bottom, #eee, #bbb); /* Opera */ + background-image: -webkit-gradient(linear, left bottom, left top, from(#eee), to(#bbb)); /* old Webkit */ + background-image: -webkit-linear-gradient(bottom, #eee, #bbb); /* new Webkit */ + background-image: linear-gradient(bottom, #eee, #bbb); /* proposed W3C Markup */ + border-color: #909090; } .wp_themeSkin .mceButtonDisabled { @@ -837,22 +981,44 @@ table.widefat .spam a:hover, /* ListBox */ .wp_themeSkin .mceListBox .mceText, -.wp_themeSkin .mceListBox .mceOpen { - border-color: #B2B2B2; - background-color: #d5d5d5; +.wp_themeSkin .mceListBox .mceOpen { + border-color: #ccc; + background-color: #eee; /* Fallback */ + background-image: -ms-linear-gradient(bottom, #ddd, #fff); /* IE10 */ + background-image: -moz-linear-gradient(bottom, #ddd, #fff); /* Firefox */ + background-image: -o-linear-gradient(bottom, #ddd, #fff); /* Opera */ + background-image: -webkit-gradient(linear, left bottom, left top, from(#ddd), to(#fff)); /* old Webkit */ + background-image: -webkit-linear-gradient(bottom, #ddd, #fff); /* new Webkit */ + background-image: linear-gradient(bottom, #ddd, #fff); /* proposed W3C Markup */ +} + +.wp_themeSkin .mceListBox .mceOpen { + border-left: 0 !important; } .wp_themeSkin table.mceListBoxEnabled:hover .mceOpen, .wp_themeSkin .mceListBoxHover .mceOpen, +.wp_themeSkin .mceListBoxHover:active .mceOpen, .wp_themeSkin .mceListBoxSelected .mceOpen, -.wp_themeSkin .mceListBoxSelected .mceText { - border-color: #777 !important; - background-color: #d5d5d5; +.wp_themeSkin .mceListBoxSelected .mceText, +.wp_themeSkin table.mceListBoxEnabled:active .mceText { + background: #ccc; + border-color: #999; } +/* List Box Hover */ .wp_themeSkin table.mceListBoxEnabled:hover .mceText, -.wp_themeSkin .mceListBoxHover .mceText { - border-color: #777 !important; +.wp_themeSkin .mceListBoxHover .mceText, +.wp_themeSkin table.mceListBoxEnabled:hover .mceOpen, +.wp_themeSkin .mceListBoxHover .mceOpen { + border-color: #909090; + background-color: #eee; /* Fallback */ + background-image: -ms-linear-gradient(bottom, #ccc, #fff); /* IE10 */ + background-image: -moz-linear-gradient(bottom, #ccc, #fff); /* Firefox */ + background-image: -o-linear-gradient(bottom, #ccc, #fff); /* Opera */ + background-image: -webkit-gradient(linear, left bottom, left top, from(#ccc), to(#fff)); /* old Webkit */ + background-image: -webkit-linear-gradient(bottom, #ccc, #fff); /* new Webkit */ + background-image: linear-gradient(bottom, #ccc, #fff); /* proposed W3C Markup */ } .wp_themeSkin select.mceListBox { @@ -863,15 +1029,34 @@ table.widefat .spam a:hover, /* SplitButton */ .wp_themeSkin .mceSplitButton a.mceAction, .wp_themeSkin .mceSplitButton a.mceOpen { - border-color: #B2B2B2; + border-color: #ccc; } .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: #d5d5d5; - border-color: #777 !important; + border-color: #909090; +} + + +.wp_themeSkin table.mceSplitButton td { + background-color: #eee; /* Fallback */ + background-image: -ms-linear-gradient(bottom, #ddd, #fff); /* IE10 */ + background-image: -moz-linear-gradient(bottom, #ddd, #fff); /* Firefox */ + background-image: -o-linear-gradient(bottom, #ddd, #fff); /* Opera */ + background-image: -webkit-gradient(linear, left bottom, left top, from(#ddd), to(#fff)); /* old Webkit */ + background-image: -webkit-linear-gradient(bottom, #ddd, #fff); /* new Webkit */ + background-image: linear-gradient(bottom, #ddd, #fff); /* proposed W3C Markup */ +} + +.wp_themeSkin table.mceSplitButton:hover td { + background-image: -ms-linear-gradient(bottom, #ccc, #fff); /* IE10 */ + background-image: -moz-linear-gradient(bottom, #ccc, #fff); /* Firefox */ + background-image: -o-linear-gradient(bottom, #ccc, #fff); /* Opera */ + background-image: -webkit-gradient(linear, left bottom, left top, from(#ccc), to(#fff)); /* old Webkit */ + background-image: -webkit-linear-gradient(bottom, #ccc, #fff); /* new Webkit */ + background-image: linear-gradient(bottom, #ccc, #fff); /* proposed W3C Markup */ } .wp_themeSkin .mceSplitButtonActive { @@ -934,7 +1119,7 @@ table.widefat .spam a:hover, .wp_themeSkin tr.mceFirst td.mceToolbar { background: #dfdfdf url("../images/ed-bg.gif") repeat-x scroll left top; - border-color: #dfdfdf; + border-color: #ccc; } .wp-admin #mceModalBlocker { @@ -945,20 +1130,20 @@ table.widefat .spam a:hover, background: #444444; border-left: 1px solid #999; border-top: 1px solid #999; - -moz-border-radius: 4px 0 0 0; - -webkit-border-top-left-radius: 4px; - -khtml-border-top-left-radius: 4px; - border-top-left-radius: 4px; + -moz-border-radius: 3px 0 0 0; + -webkit-border-top-left-radius: 3px; + -khtml-border-top-left-radius: 3px; + border-top-left-radius: 3px; } .wp-admin .clearlooks2 .mceFocus .mceTop .mceRight { background: #444444; border-right: 1px solid #999; border-top: 1px solid #999; - border-top-right-radius: 4px; - -khtml-border-top-right-radius: 4px; - -webkit-border-top-right-radius: 4px; - -moz-border-radius: 0 4px 0 0; + border-top-right-radius: 3px; + -khtml-border-top-right-radius: 3px; + -webkit-border-top-right-radius: 3px; + -moz-border-radius: 0 3px 0 0; } .wp-admin .clearlooks2 .mceMiddle .mceLeft { @@ -998,9 +1183,18 @@ table.widefat .spam a:hover, } /* end TinyMCE */ -#editorcontainer, -#post-status-info, -#titlediv #title, +#titlediv #title { + border-color: #ccc; +} + +#editorcontainer { + border-color: #ccc #ccc #dfdfdf; +} + +#post-status-info { + border-color: #dfdfdf #ccc #ccc; +} + .editwidget .widget-inside { border-color: #dfdfdf; } @@ -1021,75 +1215,77 @@ table.widefat .spam a:hover, } /* menu */ -#adminmenu * { - border-color: #e3e3e3; +#adminmenuback, +#adminmenuwrap { + background-color: #ececec; + border-color: #ccc; +} + +#adminmenushadow, +#adminmenuback { + background-image: url(../images/menu-shadow.png); + background-position: top right; + background-repeat: repeat-y; } #adminmenu li.wp-menu-separator { - background: transparent url(../images/menu-arrows.gif) no-repeat scroll left 5px; + background: #dfdfdf; + border-color: #cfcfcf; } -.folded #adminmenu li.wp-menu-separator { - background: transparent url(../images/menu-arrows.gif) no-repeat scroll right -34px; +#adminmenu div.separator { + border-color: #e1e1e1; } #adminmenu li.wp-has-current-submenu.wp-menu-open .wp-menu-toggle, #adminmenu li.wp-has-current-submenu:hover .wp-menu-toggle { - background: transparent url(../images/menu-bits.gif?ver=20100610) no-repeat scroll left -207px; + background: transparent url(../images/arrows-dark.png) no-repeat -1px 6px; } #adminmenu .wp-has-submenu:hover .wp-menu-toggle, #adminmenu .wp-menu-open .wp-menu-toggle { - background: transparent url(../images/menu-bits.gif?ver=20100610) no-repeat scroll left -109px; -} - -#adminmenu a.menu-top { - background: #f1f1f1 url(../images/menu-bits.gif?ver=20100610) repeat-x scroll left -379px; -} - -#adminmenu .wp-submenu a { - background: #fff url(../images/menu-bits.gif?ver=20100610) no-repeat scroll 0 -310px; -} - -#adminmenu .wp-has-current-submenu ul li a { - background: none; + background: transparent url(../images/arrows.png) no-repeat -2px 6px; } -#adminmenu .wp-has-current-submenu ul li a.current { - background: url(../images/menu-dark.gif) top left no-repeat !important; -} - -.wp-has-current-submenu .wp-submenu { - border-top: none !important; +#adminmenu a.menu-top, +.folded #adminmenu li.menu-top, +#adminmenu .wp-submenu .wp-submenu-head { + border-top-color: #f9f9f9; + border-bottom-color: #dfdfdf; } -#adminmenu li.wp-has-current-submenu a.wp-has-current-submenu { - border-bottom: #aaa 1px solid; +#adminmenu li.wp-menu-open { + border-color: #dfdfdf; } #adminmenu li.wp-has-current-submenu a.wp-has-current-submenu, -#adminmenu li.current a.menu-top { - background: #e0e0e0 url(../images/menu-bits.gif?ver=20100610) top left repeat-x; - border: #aaa 1px solid; - color: #000; -} - -#adminmenu li.wp-has-current-submenu .wp-submenu, -#adminmenu li.wp-has-current-submenu ul li a { - border-right-color: #aaa !important; - border-left-color: #aaa !important; -} - -#adminmenu li.wp-has-current-submenu ul li a { - background: url(../images/menu-dark.gif) bottom left no-repeat !important; +#adminmenu li.current a.menu-top, +.folded #adminmenu li.wp-has-current-submenu, +.folded #adminmenu li.current.menu-top, +#adminmenu .wp-menu-arrow, +#adminmenu .wp-has-current-submenu .wp-submenu .wp-submenu-head { + background-color: #777; /* Fallback */ + background-image: -ms-linear-gradient(bottom, #6d6d6d, #808080); /* IE10 */ + background-image: -moz-linear-gradient(bottom, #6d6d6d, #808080); /* Firefox */ + background-image: -o-linear-gradient(bottom, #6d6d6d, #808080); /* Opera */ + background-image: -webkit-gradient(linear, left bottom, left top, from(#6d6d6d), to(#808080)); /* old Webkit */ + background-image: -webkit-linear-gradient(bottom, #6d6d6d, #808080); /* new Webkit */ + background-image: linear-gradient(bottom, #6d6d6d, #808080); /* proposed W3C Markup */ } -#adminmenu li.wp-has-current-submenu ul { - border-bottom-color: #aaa; +#adminmenu li.wp-has-current-submenu a.wp-has-current-submenu, +#adminmenu li.current a.menu-top, +#adminmenu .wp-has-current-submenu .wp-submenu .wp-submenu-head { + text-shadow: 0 -1px 0 #333; + color: #fff; + border-top-color: #808080; + border-bottom-color: #6d6d6d; } -#adminmenu .wp-submenu .current a.current { - background: transparent url(../images/menu-bits.gif?ver=20100610) no-repeat scroll 0 -289px; +.folded #adminmenu li.wp-has-current-submenu, +.folded #adminmenu li.current.menu-top { + border-top-color: #808080; + border-bottom-color: #6d6d6d; } #adminmenu .wp-submenu a:hover { @@ -1101,145 +1297,232 @@ table.widefat .spam a:hover, #adminmenu .wp-submenu li.current a, #adminmenu .wp-submenu li.current a:hover { color: #333; - background-color: #f5f5f5; - background-image: none; - border-color: #e3e3e3; } #adminmenu .wp-submenu ul { background-color: #fff; } -.folded #adminmenu li.menu-top, -#adminmenu .wp-submenu .wp-submenu-head { - background-color: #F1F1F1; +.folded #adminmenu .wp-submenu-wrap, +.folded #adminmenu .wp-submenu ul { + border-color: #dfdfdf; } -.folded #adminmenu li.wp-has-current-submenu, -.folded #adminmenu li.menu-top.current { - background-color: #e6e6e6; +.folded #adminmenu .wp-submenu-wrap { + -moz-box-shadow: 2px 2px 5px rgba( 0, 0, 0, 0.4 ); + -webkit-box-shadow: 2px 2px 5px rgba( 0, 0, 0, 0.4 ); + box-shadow: 2px 2px 5px rgba( 0, 0, 0, 0.4 ); } -#adminmenu .wp-has-current-submenu .wp-submenu .wp-submenu-head { - background-color: #EAEAEA; - border-color: #aaa; +#adminmenu .wp-submenu .wp-submenu-head { + border-right-color: #dfdfdf; + background-color: #ececec; } #adminmenu div.wp-submenu { background-color: transparent; } -/* menu icons */ +/* collapse menu button */ +#collapse-menu { + color: #aaa; +} + +#collapse-menu:hover { + color: #999; +} + +#collapse-button { + border-color: #ccc; + background-color: #f4f4f4; /* Fallback */ + background-image: -ms-linear-gradient(bottom, #dfdfdf, #fff); /* IE10 */ + background-image: -moz-linear-gradient(bottom, #dfdfdf, #fff); /* Firefox */ + background-image: -o-linear-gradient(bottom, #dfdfdf, #fff); /* Opera */ + background-image: -webkit-gradient(linear, left bottom, left top, from(#dfdfdf), to(#fff)); /* old Webkit */ + background-image: -webkit-linear-gradient(bottom, #dfdfdf, #fff); /* new Webkit */ + background-image: linear-gradient(bottom, #dfdfdf, #fff); /* proposed W3C Markup */ +} +#collapse-menu:hover #collapse-button { + border-color: #aaa; +} +#collapse-button div { + background: transparent url(../images/arrows.png) no-repeat 0 -72px; +} +.folded #collapse-button div { + background-position: 0 -108px; +} + +/* menu and screen icons */ #adminmenu .menu-icon-dashboard div.wp-menu-image { - background: transparent url('../images/menu.png?ver=20100531') no-repeat scroll -61px -33px; + background: transparent url('../images/menu.png?ver=20100531') no-repeat scroll -60px -33px; } #adminmenu .menu-icon-dashboard:hover div.wp-menu-image, #adminmenu .menu-icon-dashboard.wp-has-current-submenu div.wp-menu-image, #adminmenu .menu-icon-dashboard.current div.wp-menu-image { - background: transparent url('../images/menu.png?ver=20100531') no-repeat scroll -61px -1px; + background: transparent url('../images/menu.png?ver=20100531') no-repeat scroll -60px -1px; } #adminmenu .menu-icon-post div.wp-menu-image { - background: transparent url('../images/menu.png?ver=20100531') no-repeat scroll -272px -33px; + background: transparent url('../images/menu.png?ver=20100531') no-repeat scroll -271px -33px; } #adminmenu .menu-icon-post:hover div.wp-menu-image, #adminmenu .menu-icon-post.wp-has-current-submenu div.wp-menu-image { - background: transparent url('../images/menu.png?ver=20100531') no-repeat scroll -272px -1px; + background: transparent url('../images/menu.png?ver=20100531') no-repeat scroll -271px -1px; } #adminmenu .menu-icon-media div.wp-menu-image { - background: transparent url('../images/menu.png?ver=20100531') no-repeat scroll -121px -33px; + background: transparent url('../images/menu.png?ver=20100531') no-repeat scroll -120px -33px; } #adminmenu .menu-icon-media:hover div.wp-menu-image, #adminmenu .menu-icon-media.wp-has-current-submenu div.wp-menu-image { - background: transparent url('../images/menu.png?ver=20100531') no-repeat scroll -121px -1px; + background: transparent url('../images/menu.png?ver=20100531') no-repeat scroll -120px -1px; } #adminmenu .menu-icon-links div.wp-menu-image { - background: transparent url('../images/menu.png?ver=20100531') no-repeat scroll -91px -33px; + background: transparent url('../images/menu.png?ver=20100531') no-repeat scroll -90px -33px; } #adminmenu .menu-icon-links:hover div.wp-menu-image, #adminmenu .menu-icon-links.wp-has-current-submenu div.wp-menu-image { - background: transparent url('../images/menu.png?ver=20100531') no-repeat scroll -91px -1px; + background: transparent url('../images/menu.png?ver=20100531') no-repeat scroll -90px -1px; } #adminmenu .menu-icon-page div.wp-menu-image { - background: transparent url('../images/menu.png?ver=20100531') no-repeat scroll -151px -33px; + background: transparent url('../images/menu.png?ver=20100531') no-repeat scroll -150px -33px; } #adminmenu .menu-icon-page:hover div.wp-menu-image, #adminmenu .menu-icon-page.wp-has-current-submenu div.wp-menu-image { - background: transparent url('../images/menu.png?ver=20100531') no-repeat scroll -151px -1px; + background: transparent url('../images/menu.png?ver=20100531') no-repeat scroll -150px -1px; } #adminmenu .menu-icon-comments div.wp-menu-image { - background: transparent url('../images/menu.png?ver=20100531') no-repeat scroll -31px -33px; + background: transparent url('../images/menu.png?ver=20100531') no-repeat scroll -30px -33px; } #adminmenu .menu-icon-comments:hover div.wp-menu-image, #adminmenu .menu-icon-comments.wp-has-current-submenu div.wp-menu-image, #adminmenu .menu-icon-comments.current div.wp-menu-image { - background: transparent url('../images/menu.png?ver=20100531') no-repeat scroll -31px -1px; + background: transparent url('../images/menu.png?ver=20100531') no-repeat scroll -30px -1px; } #adminmenu .menu-icon-appearance div.wp-menu-image { - background: transparent url('../images/menu.png?ver=20100531') no-repeat scroll -1px -33px; + background: transparent url('../images/menu.png?ver=20100531') no-repeat scroll 0 -33px; } #adminmenu .menu-icon-appearance:hover div.wp-menu-image, #adminmenu .menu-icon-appearance.wp-has-current-submenu div.wp-menu-image { - background: transparent url('../images/menu.png?ver=20100531') no-repeat scroll -1px -1px; + background: transparent url('../images/menu.png?ver=20100531') no-repeat scroll 0 -1px; } #adminmenu .menu-icon-plugins div.wp-menu-image { - background: transparent url('../images/menu.png?ver=20100531') no-repeat scroll -181px -33px; + background: transparent url('../images/menu.png?ver=20100531') no-repeat scroll -180px -33px; } #adminmenu .menu-icon-plugins:hover div.wp-menu-image, #adminmenu .menu-icon-plugins.wp-has-current-submenu div.wp-menu-image { - background: transparent url('../images/menu.png?ver=20100531') no-repeat scroll -181px -1px; + background: transparent url('../images/menu.png?ver=20100531') no-repeat scroll -180px -1px; } #adminmenu .menu-icon-users div.wp-menu-image { - background: transparent url('../images/menu.png?ver=20100531') no-repeat scroll -301px -33px; + background: transparent url('../images/menu.png?ver=20100531') no-repeat scroll -300px -33px; } #adminmenu .menu-icon-users:hover div.wp-menu-image, -#adminmenu .menu-icon-users.wp-has-current-submenu div.wp-menu-image { - background: transparent url('../images/menu.png?ver=20100531') no-repeat scroll -301px -1px; +#adminmenu .menu-icon-users.wp-has-current-submenu div.wp-menu-image, +#adminmenu .menu-icon-users.current div.wp-menu-image { + background: transparent url('../images/menu.png?ver=20100531') no-repeat scroll -300px -1px; } #adminmenu .menu-icon-tools div.wp-menu-image { - background: transparent url('../images/menu.png?ver=20100531') no-repeat scroll -211px -33px; + background: transparent url('../images/menu.png?ver=20100531') no-repeat scroll -210px -33px; } #adminmenu .menu-icon-tools:hover div.wp-menu-image, -#adminmenu .menu-icon-tools.wp-has-current-submenu div.wp-menu-image { - background: transparent url('../images/menu.png?ver=20100531') no-repeat scroll -211px -1px; +#adminmenu .menu-icon-tools.wp-has-current-submenu div.wp-menu-image, +#adminmenu .menu-icon-tools.current div.wp-menu-image { + background: transparent url('../images/menu.png?ver=20100531') no-repeat scroll -210px -1px; } +#icon-options-general, #adminmenu .menu-icon-settings div.wp-menu-image { - background: transparent url('../images/menu.png?ver=20100531') no-repeat scroll -241px -33px; + background: transparent url('../images/menu.png?ver=20100531') no-repeat scroll -240px -33px; } #adminmenu .menu-icon-settings:hover div.wp-menu-image, #adminmenu .menu-icon-settings.wp-has-current-submenu div.wp-menu-image { - background: transparent url('../images/menu.png?ver=20100531') no-repeat scroll -241px -1px; + background: transparent url('../images/menu.png?ver=20100531') no-repeat scroll -240px -1px; } #adminmenu .menu-icon-site div.wp-menu-image { - background: transparent url('../images/menu.png?ver=20100531') no-repeat scroll -361px -33px; + background: transparent url('../images/menu.png?ver=20100531') no-repeat scroll -360px -33px; } #adminmenu .menu-icon-site:hover div.wp-menu-image, #adminmenu .menu-icon-site.wp-has-current-submenu div.wp-menu-image { - background: transparent url('../images/menu.png?ver=20100531') no-repeat scroll -361px -1px; + background: transparent url('../images/menu.png?ver=20100531') no-repeat scroll -360px -1px; } -/* end menu */ +/* end menu and screen icons */ + +/* Screen Icons */ +#icon-edit, +#icon-post { + background: transparent url(../images/icons32.png?ver=20100531) no-repeat -552px -5px; +} + +#icon-index { + background: transparent url(../images/icons32.png?ver=20100531) no-repeat -137px -5px; +} + +#icon-upload { + background: transparent url(../images/icons32.png?ver=20100531) no-repeat -251px -5px; +} + +#icon-link-manager, +#icon-link, +#icon-link-category { + background: transparent url(../images/icons32.png?ver=20100531) no-repeat -190px -5px; +} + +#icon-edit-pages, +#icon-page { + background: transparent url(../images/icons32.png?ver=20100531) no-repeat -312px -5px; +} + +#icon-edit-comments { + background: transparent url(../images/icons32.png?ver=20100531) no-repeat -72px -5px; +} + +#icon-themes { + background: transparent url(../images/icons32.png?ver=20100531) no-repeat -11px -5px; +} + +#icon-plugins { + background: transparent url(../images/icons32.png?ver=20100531) no-repeat -370px -5px; +} + +#icon-users, +#icon-profile, +#icon-user-edit { + background: transparent url(../images/icons32.png?ver=20100531) no-repeat -600px -5px; +} + +#icon-tools, +#icon-admin { + background: transparent url(../images/icons32.png?ver=20100531) no-repeat -432px -5px; +} + +#icon-options-general { + background: transparent url(../images/icons32.png?ver=20100531) no-repeat -492px -5px; +} + +#icon-ms-admin { + background: transparent url(../images/icons32.png?ver=20100531) no-repeat -659px -5px; +} +/* end screen icons */ /* Diff */ @@ -1282,8 +1565,22 @@ table.diff .diff-addedline ins { border-color: #dfdfdf; } +#screen-options-link-wrap, +#contextual-help-link-wrap { + background-color: #e3e3e3; /* Fallback */ + border-right: 1px solid transparent; + border-left: 1px solid transparent; + border-bottom: 1px solid transparent; + background-image: -ms-linear-gradient(bottom, #dfdfdf, #f1f1f1); /* IE10 */ + background-image: -moz-linear-gradient(bottom, #dfdfdf, #f1f1f1); /* Firefox */ + background-image: -o-linear-gradient(bottom, #dfdfdf, #f1f1f1); /* Opera */ + background-image: -webkit-gradient(linear, left bottom, left top, from(#dfdfdf), to(#f1f1f1)); /* old Webkit */ + background-image: -webkit-linear-gradient(bottom, #dfdfdf, #f1f1f1); /* new Webkit */ + background-image: linear-gradient(bottom, #dfdfdf, #f1f1f1); /* proposed W3C Markup */ +} + #screen-meta-links a.show-settings { - color: #606060; + color: #777; } #screen-meta-links a.show-settings:hover { @@ -1326,6 +1623,16 @@ div.star.select:hover { background-color: #d00; } +div.star img { + border-left: 1px solid #fff; + border-right: 1px solid #fff; +} + +.widefat div.star img { + border-left: 1px solid #f9f9f9; + border-right: 1px solid #f9f9f9; +} + #plugin-information .fyi ul { background-color: #eaf3fa; } @@ -1383,11 +1690,7 @@ fieldset.inline-edit-col-right .inline-edit-col { } .meta-box-sortables .postbox:hover .handlediv { - background: transparent url(../images/menu-bits.gif?ver=20100610) no-repeat scroll left -111px; -} - -#major-publishing-actions { - background: #eaf2fa; + background: transparent url(../images/arrows.png) no-repeat 6px 7px; } .tablenav .tablenav-pages { @@ -1435,11 +1738,12 @@ fieldset.inline-edit-col-right .inline-edit-col { } .misc-pub-section { - border-bottom-color: #eee; + border-top-color: #fff; + border-bottom-color: #dfdfdf; } #minor-publishing { - border-bottom-color: #ddd; + border-bottom-color: #dfdfdf; } #post-body .misc-pub-section { @@ -1484,7 +1788,7 @@ body.press-this ul.category-tabs li.tabs a { #favorite-first { border-color: #c0c0c0; background: #f1f1f1; /* fallback color */ - background:-moz-linear-gradient(bottom, #e7e7e7, #fff); + background:-moz-linear-gradient(bottom, #e7e7e7, #fff); background:-webkit-gradient(linear, left bottom, left top, from(#e7e7e7), to(#fff)); } @@ -1494,7 +1798,11 @@ body.press-this ul.category-tabs li.tabs a { } #favorite-toggle { - background: transparent url(../images/fav-arrow.gif?ver=20100531) no-repeat 0 -4px; + background: transparent url(../images/arrows.png) no-repeat 4px 2px; + border-color: #dfdfdf; + -moz-box-shadow: inset 1px 0 0 #fff; + -webkit-box-shadow: inset 1px 0 0 #fff; + box-shadow: inset 1px 0 0 #fff; } #favorite-actions a { @@ -1511,62 +1819,11 @@ body.press-this ul.category-tabs li.tabs a { #screen-meta a.show-settings, .toggle-arrow { - background-image:url("../images/screen-options-toggle.gif?ver=20100531"); -} - -#icon-edit, -#icon-post { - background: transparent url(../images/icons32.png?ver=20100531) no-repeat -552px -5px; -} - -#icon-index { - background: transparent url(../images/icons32.png?ver=20100531) no-repeat -137px -5px; -} - -#icon-upload { - background: transparent url(../images/icons32.png?ver=20100531) no-repeat -251px -5px; -} - -#icon-link-manager, -#icon-link, -#icon-link-category { - background: transparent url(../images/icons32.png?ver=20100531) no-repeat -190px -5px; -} - -#icon-edit-pages, -#icon-page { - background: transparent url(../images/icons32.png?ver=20100531) no-repeat -312px -5px; -} - -#icon-edit-comments { - background: transparent url(../images/icons32.png?ver=20100531) no-repeat -72px -5px; + background: transparent url(../images/arrows.png) no-repeat right 3px; } -#icon-themes { - background: transparent url(../images/icons32.png?ver=20100531) no-repeat -11px -5px; -} - -#icon-plugins { - background: transparent url(../images/icons32.png?ver=20100531) no-repeat -370px -5px; -} - -#icon-users, -#icon-profile, -#icon-user-edit { - background: transparent url(../images/icons32.png?ver=20100531) no-repeat -600px -5px; -} - -#icon-tools, -#icon-admin { - background: transparent url(../images/icons32.png?ver=20100531) no-repeat -432px -5px; -} - -#icon-options-general { - background: transparent url(../images/icons32.png?ver=20100531) no-repeat -492px -5px; -} - -#icon-ms-admin { - background: transparent url(../images/icons32.png?ver=20100531) no-repeat -659px -5px; +#screen-meta .screen-meta-active a.show-settings { + background: transparent url(../images/arrows.png) no-repeat right -33px; } .view-switch #view-switch-list { @@ -1586,7 +1843,7 @@ body.press-this ul.category-tabs li.tabs a { } #header-logo { - background: transparent url(../images/wp-logo.png?ver=20100531) no-repeat scroll center center; + background: transparent url(../images/wp-logo.png?ver=20110504) no-repeat scroll center center; } .popular-tags, @@ -1605,28 +1862,26 @@ body.press-this ul.category-tabs li.tabs a { div.widgets-sortables, #widgets-left .inactive { - background-color: #f1f1f1; - border-color: #ddd; + background-color: #fcfcfc; + border-color: #dfdfdf; } #available-widgets .widget-holder { - background-color: #fff; - border-color: #ddd; + background-color: #fcfcfc; + border-color: #dfdfdf; } -#widgets-left .sidebar-name { - background-color: #aaa; - background-image: url(../images/ed-bg.gif); - text-shadow: #fff 0 1px 0; - border-color: #dfdfdf; +#available-widgets .widget-description { + color: #555; } -#widgets-right .sidebar-name { - background-image: url(../images/fav.png); - text-shadow: #3f3f3f 0 -1px 0; - background-color: #636363; - border-color: #636363; - color: #fff; +.sidebar-name { + color: #464646; + text-shadow: #fff 0 1px 0; + border-color: #dfdfdf; + -moz-box-shadow: inset 0 1px 0 #fff; + -webkit-box-shadow: inset 0 1px 0 #fff; + box-shadow: inset 0 1px 0 #fff; } .sidebar-name:hover, @@ -1638,12 +1893,12 @@ div.widgets-sortables, color: black; } -#widgets-left .sidebar-name-arrow { - background: transparent url(../images/menu-bits.gif?ver=20100610) no-repeat scroll left -109px; +.sidebar-name-arrow { + background: transparent url(../images/arrows.png) no-repeat 5px 9px; } -#widgets-right .sidebar-name-arrow { - background: transparent url(../images/widgets-arrow.gif?ver=20100531) no-repeat scroll 0 -1px; +.sidebar-name:hover .sidebar-name-arrow { + background: transparent url(../images/arrows-dark.png) no-repeat 5px 9px; } .in-widget-title { @@ -1684,11 +1939,153 @@ div.widgets-sortables, background-color: #f1f1f1; } -#nav-menu-header, #nav-menu-footer, .menu-item-handle { - background: url("../images/gray-grad.png") repeat-x scroll left top #dfdfdf; +/* added from nav-menu.css */ +#menu-management .menu-edit { + border-color: #dfdfdf; +} + +#post-body { + background: #fff; + border-top-color: #fff; + border-bottom-color: #dfdfdf; +} + +#nav-menu-header { + border-bottom-color: #dfdfdf; +} + +#nav-menu-footer { + border-top-color: #fff; +} + +#menu-management .nav-tabs-arrow a { + color: #C1C1C1; +} + +#menu-management .nav-tabs-arrow a:hover { + color: #D54E21; +} + +#menu-management .nav-tabs-arrow a:active { + color: #464646; } #menu-management .nav-tab-active { - background: #ececec; - border-bottom-color: #ececec; + border-color: #dfdfdf; +} + +#menu-management .nav-tab { + background: #fbfbfb; + border-color: #dfdfdf; +} + +.js .input-with-default-title { + color: #aaa; +} + +#cancel-save { + color: #ff0000; +} + +#cancel-save:hover { + background-color: #FF0000; + color: #fff; +} + +.list-container { + border-color: #DFDFDF; +} + +.menu-item-handle { + border-color: #dfdfdf; +} + +.menu li.deleting .menu-item-handle { + background-color: #f66; + text-shadow: #ccc; +} + +.item-type { /* Menu item controls */ + color: #999999; +} + +.item-controls .menu-item-delete:hover { + color: #ff0000; +} + +.item-edit { + background: transparent url(../images/arrows.png) no-repeat 8px 10px; + border-bottom-color: #eee; +} + +.item-edit:hover { + background: transparent url(../images/arrows-dark.png) no-repeat 8px 10px; +} + +.menu-item-settings { /* Menu editing */ + border-color: #dfdfdf; +} + +.link-to-original { + color: #777; + border-color: #dfdfdf; +} + +#cancel-save:hover { + color: #fff !important; +} + +#update-menu-item { + color: #fff !important; +} + +#update-menu-item:hover, +#update-menu-item:active, +#update-menu-item:focus { + color: #eaf2fa !important; + border-color: #13455b !important; +} + +.submitbox .submitcancel { + color: #21759B; + border-bottom-color: #21759B; +} + +.submitbox .submitcancel:hover { + background: #21759B; + color: #fff; +} +/* end added from nav-menu.css */ + +#menu-management .nav-tab-active, +.menu-item-handle, +.menu-item-settings { + -moz-box-shadow: inset 0 1px 0 #fff; + -webkit-box-shadow: inset 0 1px 0 #fff; + box-shadow: inset 0 1px 0 #fff; +} + +#menu-management .nav-tab-active { + background: #f9f9f9; + border-bottom-color: #f9f9f9; +} + +/* custom header & background pages */ +#upload-form label { + color: #777; +} +/* custom header & background pages */ + +/* full screen */ +.fullscreen-overlay { + background: #fff; +} + +.wp-fullscreen-focus #wp-fullscreen-title, +.wp-fullscreen-focus #wp-fullscreen-container { + border-color: #ccc; +} + +#fullscreen-topbar { + border-bottom-color: #DFDFDF; } diff --git a/wp-admin/css/dashboard-rtl.css b/wp-admin/css/dashboard-rtl.css index f7c4949aa..14d25ae42 100644 --- a/wp-admin/css/dashboard-rtl.css +++ b/wp-admin/css/dashboard-rtl.css @@ -1 +1 @@ -#dashboard-widgets-wrap .has-sidebar{margin-right:0;margin-left:-51%;}#dashboard-widgets-wrap .has-sidebar .has-sidebar-content{margin-right:0;margin-left:51%;}.view-all{right:auto;left:0;}#dashboard_right_now p.sub,#dashboard-widgets h4,#dashboard_quick_press h4,a.rsswidget,#dashboard_plugins h4,#dashboard_plugins h5,#dashboard_recent_comments .comment-meta .approve{font-family:Tahoma,Arial;}#dashboard_right_now p.sub{font-style:normal;left:auto;right:15px;}#dashboard_right_now td.b{padding-right:0;padding-left:6px;text-align:left;font-family:Tahoma,Arial;}#dashboard_right_now .t{padding-right:0;padding-left:12px;}#dashboard_right_now .table_content{float:right;}#dashboard_right_now .table_discussion{float:left;}#dashboard_right_now .versions a{font-family:Tahoma,Arial;}#dashboard_right_now a.button{float:left;clear:left;}#dashboard-widgets h3 .postbox-title-action{right:auto;left:30px;}#the-comment-list .pingback{padding-left:0!important;padding-right:9px!important;}#the-comment-list .comment-item{padding:1em 70px 1em 10px;}#the-comment-list .comment-item .avatar{float:right;margin-left:0;margin-right:-60px;}.rss-widget cite{text-align:left;}.rss-widget span.rss-date{font-family:Tahoma,Arial;margin-left:0;margin-right:3px;}#dashboard_quick_press h4{float:right;text-align:left;}#dashboard_quick_press h4 label{margin-right:0;margin-left:10px;}#dashboard_quick_press .input-text-wrap,#dashboard_quick_press .textarea-wrap{margin:0 5em 1em 0;}#dashboard_quick_press #media-buttons{margin:0 5em .5em 0;padding:0 10px 0 0;}#dashboard-widgets #dashboard_quick_press form p.submit{margin-left:0;margin-right:4.6em;}#dashboard-widgets #dashboard_quick_press form p.submit input{float:right;}#dashboard-widgets #dashboard_quick_press form p.submit #save-post{margin:0 10px 0 1em;}#dashboard-widgets #dashboard_quick_press form p.submit #publish{float:left;}#dashboard-widgets #dashboard_quick_press form p.submit img.waiting{margin:4px 0 0 6px;}#dashboard_recent_drafts h4 abbr{font-family:Tahoma,Arial;margin-left:0;margin-right:3px;} \ No newline at end of file +#dashboard-widgets-wrap .has-sidebar{margin-right:0;margin-left:-51%;}#dashboard-widgets-wrap .has-sidebar .has-sidebar-content{margin-right:0;margin-left:51%;}.view-all{right:auto;left:0;}#dashboard_right_now p.sub,#dashboard-widgets h4,#dashboard_quick_press h4,a.rsswidget,#dashboard_plugins h4,#dashboard_plugins h5,#dashboard_recent_comments .comment-meta .approve{font-family:Tahoma,Arial;}#dashboard_right_now p.sub{left:auto;right:15px;}#dashboard_right_now td.b{padding-right:0;padding-left:6px;text-align:left;font-family:Tahoma,Arial;}#dashboard_right_now .t{padding-right:0;padding-left:12px;}#dashboard_right_now .table_content{float:right;}#dashboard_right_now .table_discussion{float:left;}#dashboard_right_now .versions a{font-family:Tahoma,Arial;}#dashboard_right_now a.button{float:left;clear:left;}#dashboard_plugins .inside span{padding-left:0;padding-right:5px;}#dashboard-widgets h3 .postbox-title-action{right:auto;left:30px;}#the-comment-list .pingback{padding-left:0!important;padding-right:9px!important;}#the-comment-list .comment-item{padding:1em 70px 1em 10px;}#the-comment-list .comment-item .avatar{float:right;margin-left:0;margin-right:-60px;}.rss-widget cite{text-align:left;}.rss-widget span.rss-date{font-family:Tahoma,Arial;margin-left:0;margin-right:3px;}#dashboard_quick_press h4{float:right;text-align:left;}#dashboard_quick_press h4 label{margin-right:0;margin-left:10px;}#dashboard_quick_press .input-text-wrap,#dashboard_quick_press .textarea-wrap{margin:0 5em 1em 0;}#dashboard_quick_press #media-buttons{margin:0 5em .5em 0;padding:0 10px 0 0;}#dashboard-widgets #dashboard_quick_press form p.submit{margin-left:0;margin-right:4.6em;}#dashboard-widgets #dashboard_quick_press form p.submit input{float:right;}#dashboard-widgets #dashboard_quick_press form p.submit #save-post{margin:0 10px 0 1em;}#dashboard-widgets #dashboard_quick_press form p.submit #publish{float:left;}#dashboard-widgets #dashboard_quick_press form p.submit img.waiting{margin:4px 0 0 6px;}#dashboard_recent_drafts h4 abbr{font-family:Tahoma,Arial;margin-left:0;margin-right:3px;} \ No newline at end of file diff --git a/wp-admin/css/dashboard-rtl.dev.css b/wp-admin/css/dashboard-rtl.dev.css index b0219f2ad..8617bfa02 100644 --- a/wp-admin/css/dashboard-rtl.dev.css +++ b/wp-admin/css/dashboard-rtl.dev.css @@ -14,7 +14,6 @@ font-family: Tahoma, Arial; } #dashboard_right_now p.sub { - font-style:normal; left:auto; right:15px; } @@ -41,6 +40,10 @@ float: left; clear: left; } +#dashboard_plugins .inside span { + padding-left: 0; + padding-right: 5px; +} #dashboard-widgets h3 .postbox-title-action { right: auto; left: 30px; diff --git a/wp-admin/css/dashboard.css b/wp-admin/css/dashboard.css index 4d8ffddf4..e30d686a2 100644 --- a/wp-admin/css/dashboard.css +++ b/wp-admin/css/dashboard.css @@ -1 +1 @@ -.postbox p,.postbox ul,.postbox ol,.postbox blockquote,#wp-version-message{font-size:11px;}.edit-box{display:none;}h3:hover .edit-box{display:inline;}form .input-text-wrap{border-style:solid;border-width:1px;padding:2px 3px;border-color:#ccc;}#dashboard-widgets form .input-text-wrap input{border:0 none;outline:none;margin:0;padding:0;width:99%;color:#333;}form .textarea-wrap{border-style:solid;border-width:1px;padding:2px;border-color:#ccc;}#dashboard-widgets form .textarea-wrap textarea{border:0 none;padding:0;outline:none;width:99%;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box;}#dashboard-widgets .postbox form .submit{float:none;margin:.5em 0 0;padding:0;border:none;}#dashboard-widgets-wrap #dashboard-widgets .postbox form .submit input{margin:0;}#dashboard-widgets-wrap #dashboard-widgets .postbox form .submit #publish{min-width:0;}div.postbox div.inside{margin:10px;position:relative;}#dashboard-widgets a{text-decoration:none;}#dashboard-widgets h3 a{text-decoration:underline;}#dashboard-widgets h3 .postbox-title-action{position:absolute;right:30px;padding:0;}#dashboard-widgets h4{font-family:Georgia,"Times New Roman","Bitstream Charter",Times,serif;font-size:13px;margin:0 0 .2em;padding:0;}#dashboard_right_now p.sub,#dashboard_right_now .table,#dashboard_right_now .versions{margin:-12px;}#dashboard_right_now .inside{font-size:12px;padding-top:20px;}#dashboard_right_now p.sub{font-style:italic;font-family:Georgia,"Times New Roman","Bitstream Charter",Times,serif;padding:5px 10px 15px;color:#777;font-size:13px;position:absolute;top:-17px;left:15px;}#dashboard_right_now .table{margin:0 -9px;padding:0 10px;position:relative;}#dashboard_right_now .table_content{float:left;border-top:#ececec 1px solid;width:45%;}#dashboard_right_now .table_discussion{float:right;border-top:#ececec 1px solid;width:45%;}#dashboard_right_now table td{padding:3px 0;white-space:nowrap;}#dashboard_right_now table tr.first td{border-top:none;}#dashboard_right_now td.b{padding-right:6px;text-align:right;font-family:Georgia,"Times New Roman","Bitstream Charter",Times,serif;font-size:14px;width:1%;}#dashboard_right_now td.b a{font-size:18px;}#dashboard_right_now td.b a:hover{color:#d54e21;}#dashboard_right_now .t{font-size:12px;padding-right:12px;padding-top:6px;color:#777;}#dashboard_right_now .t a{white-space:nowrap;}#dashboard_right_now .spam{color:red;}#dashboard_right_now .waiting{color:#e66f00;}#dashboard_right_now .approved{color:green;}#dashboard_right_now .versions{padding:6px 10px 12px;clear:both;}#dashboard_right_now .versions .b{font-weight:bold;}#dashboard_right_now a.button{float:right;clear:right;position:relative;top:-5px;}#dashboard_recent_comments h3{margin-bottom:0;}#dashboard_recent_comments .inside{margin-top:0;}#dashboard_recent_comments .comment-meta .approve{font-style:italic;font-family:"Lucida Grande",Verdana,Arial,"Bitstream Vera Sans",sans-serif;font-size:10px;}#the-comment-list{position:relative;}#the-comment-list .comment-item{padding:1em 10px;border-top:1px solid;}#the-comment-list .pingback{padding-left:9px!important;}#the-comment-list .comment-item,#the-comment-list #replyrow{margin:0 -10px;}#the-comment-list .comment-item:first-child{border-top:none;}#the-comment-list .comment-item .avatar{float:left;margin:0 10px 5px 0;}#the-comment-list .comment-item h4{line-height:1.4;margin-top:-.2em;font-weight:normal;color:#999;}#the-comment-list .comment-item h4 cite{font-style:normal;font-weight:normal;}#the-comment-list .comment-item blockquote,#the-comment-list .comment-item blockquote p{margin:0;padding:0;display:inline;}#dashboard_recent_comments #the-comment-list .trackback blockquote,#dashboard_recent_comments #the-comment-list .pingback blockquote{display:block;}#the-comment-list .comment-item p.row-actions{margin:3px 0 0;padding:0;font-size:10px;}#dashboard_quick_press h4{font-family:"Lucida Grande",Verdana,Arial,"Bitstream Vera Sans",sans-serif;float:left;width:5.5em;clear:both;font-weight:normal;text-align:right;padding-top:5px;font-size:12px;}#dashboard_quick_press h4 label{margin-right:10px;}#dashboard_quick_press{min-height:200px;}#dashboard_quick_press.closed{min-height:0;}#dashboard_quick_press .input-text-wrap,#dashboard_quick_press .textarea-wrap{margin:0 0 1em 5em;}#dashboard_quick_press #media-buttons{margin:0 0 .5em 5em;padding:0 0 0 10px;font-size:11px;}#dashboard_quick_press #media-buttons a{vertical-align:bottom;}#dashboard-widgets #dashboard_quick_press form p.submit{margin-left:4.6em;}#dashboard-widgets #dashboard_quick_press form p.submit input{float:left;}#dashboard-widgets #dashboard_quick_press form p.submit #save-post{margin:0 1em 0 10px;}#dashboard-widgets #dashboard_quick_press form p.submit #publish{float:right;}#dashboard-widgets #dashboard_quick_press form p.submit img.waiting{vertical-align:middle;visibility:hidden;margin:4px 6px 0 0;}#dashboard_recent_drafts ul{margin:0;padding:0;list-style:none;}#dashboard_recent_drafts ul li{margin-bottom:.6em;}#dashboard_recent_drafts h4{font-weight:normal;}#dashboard_recent_drafts h4 abbr{font-family:"Lucida Grande",Verdana,Arial,"Bitstream Vera Sans",sans-serif;font-size:11px;color:#999;margin-left:3px;}#dashboard_recent_drafts p{margin:0;padding:0;}.rss-widget ul{margin:0;padding:0;list-style:none;}a.rsswidget{font-size:13px;font-family:Georgia,"Times New Roman","Bitstream Charter",Times,serif;line-height:1.7em;}.rss-widget ul li{line-height:1.5em;margin-bottom:12px;}.rss-widget span.rss-date{margin-left:3px;}.rss-widget cite{display:block;text-align:right;margin:0 0 1em;padding:0;}.rss-widget cite:before{content:'\2014';}#dashboard_plugins h4{font-family:"Lucida Grande",Verdana,Arial,"Bitstream Vera Sans",sans-serif;}#dashboard_plugins h5{font-family:Georgia,"Times New Roman","Bitstream Charter",Times,serif;font-size:13px!important;margin:0;display:inline;line-height:1.4em;}#dashboard_plugins h5 a{font-weight:normal;line-height:1.7em;}#dashboard_plugins p{margin:0 0 1.4em;line-height:1.4em;}.dashboard-comment-wrap{overflow:hidden;word-wrap:break-word;} \ No newline at end of file +.postbox p,.postbox ul,.postbox ol,.postbox blockquote,#wp-version-message{font-size:12px;}.edit-box{display:none;}h3:hover .edit-box{display:inline;}form .input-text-wrap{background:#fff;border-style:solid;border-width:1px;padding:2px 3px;border-color:#ccc;}#dashboard-widgets form .input-text-wrap input{border:0 none;outline:none;margin:0;padding:0;width:99%;color:#333;}form .textarea-wrap{background:#fff;border-style:solid;border-width:1px;padding:2px;border-color:#ccc;}#dashboard-widgets form .textarea-wrap textarea{border:0 none;padding:0;outline:none;width:99%;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box;}#dashboard-widgets .postbox form .submit{float:none;margin:.5em 0 0;padding:0;border:none;}#dashboard-widgets-wrap #dashboard-widgets .postbox form .submit input{margin:0;}#dashboard-widgets-wrap #dashboard-widgets .postbox form .submit #publish{min-width:0;}div.postbox div.inside{margin:10px 0;position:relative;}#dashboard-widgets a{text-decoration:none;}#dashboard-widgets h3 a{text-decoration:underline;}#dashboard-widgets h3 .postbox-title-action{position:absolute;right:30px;padding:0;top:8px;}#dashboard-widgets h4{font-family:Georgia,"Times New Roman","Bitstream Charter",Times,serif;font-weight:normal;font-size:13px;margin:0 0 .2em;padding:0;}#dashboard_right_now p.sub,#dashboard_right_now .table,#dashboard_right_now .versions{margin:-12px;}#dashboard_right_now .inside{font-size:12px;padding-top:20px;}#dashboard_right_now p.sub{padding:5px 0 15px;color:#8f8f8f;font-size:14px;position:absolute;top:-17px;left:15px;}#dashboard_right_now .table{margin:0;padding:0;position:relative;}#dashboard_right_now .table_content{float:left;border-top:#ececec 1px solid;width:45%;}#dashboard_right_now .table_discussion{float:right;border-top:#ececec 1px solid;width:45%;}#dashboard_right_now table td{padding:3px 0;white-space:nowrap;}#dashboard_right_now table tr.first td{border-top:none;}#dashboard_right_now td.b{padding-right:6px;text-align:right;font-family:Georgia,"Times New Roman","Bitstream Charter",Times,serif;font-size:14px;width:1%;}#dashboard_right_now td.b a{font-size:18px;}#dashboard_right_now td.b a:hover{color:#d54e21;}#dashboard_right_now .t{font-size:12px;padding-right:12px;padding-top:6px;color:#777;}#dashboard_right_now .t a{white-space:nowrap;}#dashboard_right_now .spam{color:red;}#dashboard_right_now .waiting{color:#e66f00;}#dashboard_right_now .approved{color:green;}#dashboard_right_now .versions{padding:6px 10px 12px;clear:both;}#dashboard_right_now .versions .b{font-weight:bold;}#dashboard_right_now a.button{float:right;clear:right;position:relative;top:-5px;}#dashboard_recent_comments h3{margin-bottom:0;}#dashboard_recent_comments .inside{margin-top:0;}#dashboard_recent_comments .comment-meta .approve{font-style:italic;font-family:sans-serif;font-size:10px;}#dashboard_recent_comments .subsubsub{float:none;}#the-comment-list{position:relative;}#the-comment-list .comment-item{padding:1em 10px;border-top:1px solid;}#the-comment-list .pingback{padding-left:9px!important;}#the-comment-list .comment-item,#the-comment-list #replyrow{margin:0 -10px;}#the-comment-list .comment-item:first-child{border-top:none;}#the-comment-list .comment-item .avatar{float:left;margin:0 10px 5px 0;}#the-comment-list .comment-item h4{line-height:1.7em;margin-top:-0.4em;color:#777;}#the-comment-list .comment-item h4 cite{font-style:normal;font-weight:normal;}#the-comment-list .comment-item blockquote,#the-comment-list .comment-item blockquote p{margin:0;padding:0;display:inline;}#dashboard_recent_comments #the-comment-list .trackback blockquote,#dashboard_recent_comments #the-comment-list .pingback blockquote{display:block;}#the-comment-list .comment-item p.row-actions{margin:3px 0 0;padding:0;font-size:12px;}#dashboard_quick_press h4{font-family:sans-serif;float:left;width:5.5em;clear:both;font-weight:normal;text-align:right;padding-top:5px;font-size:12px;}#dashboard_quick_press h4 label{margin-right:10px;}#dashboard_quick_press .input-text-wrap,#dashboard_quick_press .textarea-wrap{margin:0 0 1em 5em;}#dashboard_quick_press #media-buttons{margin:0 0 .5em 5em;padding:0 0 0 10px;font-size:12px;line-height:17px;color:#777;}#dashboard_quick_press #media-buttons a{vertical-align:bottom;}#dashboard-widgets #dashboard_quick_press form p.submit{margin-left:4.6em;}#dashboard-widgets #dashboard_quick_press form p.submit input{float:left;}#dashboard-widgets #dashboard_quick_press form p.submit #save-post{margin:0 1em 0 10px;}#dashboard-widgets #dashboard_quick_press form p.submit #publish{float:right;}#dashboard-widgets #dashboard_quick_press form p.submit img.waiting{vertical-align:middle;visibility:hidden;margin:4px 6px 0 0;}#dashboard_recent_drafts ul{margin:0;padding:0;list-style:none;}#dashboard_recent_drafts ul li{margin-bottom:1em;}#dashboard_recent_drafts h4{line-height:1.7em;}#dashboard_recent_drafts h4 abbr{font-weight:normal;font-family:sans-serif;font-size:12px;color:#999;margin-left:3px;}#dashboard_recent_drafts p{margin:0;padding:0;}.rss-widget ul{margin:0;padding:0;list-style:none;}a.rsswidget{font-size:13px;font-family:Georgia,"Times New Roman","Bitstream Charter",Times,serif;line-height:1.7em;}.rss-widget ul li{line-height:1.5em;margin-bottom:12px;}.rss-widget span.rss-date{color:#999;font-size:12px;margin-left:3px;}.rss-widget cite{display:block;text-align:right;margin:0 0 1em;padding:0;}.rss-widget cite:before{content:'\2014';}#dashboard_plugins h4{line-height:1.7em;}#dashboard_plugins h5{font-family:Georgia,"Times New Roman","Bitstream Charter",Times,serif;font-weight:normal;font-size:13px;margin:0;display:inline;line-height:1.4em;}#dashboard_plugins h5 a{line-height:1.4em;}#dashboard_plugins .inside span{font-size:12px;padding-left:5px;}#dashboard_plugins p{margin:.3em 0 1.4em;line-height:1.4em;}.dashboard-comment-wrap{overflow:hidden;word-wrap:break-word;}#dashboard_browser_nag a.update-browser-link{font-size:1.2em;font-weight:bold;}#dashboard_browser_nag a{text-decoration:underline;}#dashboard_browser_nag p.browser-update-nag.has-browser-icon{padding-right:125px;}#dashboard_browser_nag .browser-icon{margin-top:-35px;}#dashboard_browser_nag.postbox.browser-insecure{background-color:#ac1b1b;border-color:#ac1b1b;}#dashboard_browser_nag.postbox{background-color:#e29808;background-image:none;border-color:#edc048;-moz-box-shadow:none;-webkit-box-shadow:none;box-shadow:none;color:#fff;}#dashboard_browser_nag.postbox.browser-insecure h3{border-bottom-color:#cd5a5a;color:#fff;}#dashboard_browser_nag.postbox h3{border-bottom-color:#f6e2ac;text-shadow:none;-moz-box-shadow:none;-webkit-box-shadow:none;box-shadow:none;background:transparent none;color:#fff;}#dashboard_browser_nag a{color:#fff;}#dashboard_browser_nag.browser-insecure a.browse-happy-link,#dashboard_browser_nag.browser-insecure a.update-browser-link{text-shadow:#871b15 0 1px 0;}#dashboard_browser_nag a.browse-happy-link,#dashboard_browser_nag a.update-browser-link{text-shadow:#d29a04 0 1px 0;} \ No newline at end of file diff --git a/wp-admin/css/dashboard.dev.css b/wp-admin/css/dashboard.dev.css index 15da85070..837194168 100644 --- a/wp-admin/css/dashboard.dev.css +++ b/wp-admin/css/dashboard.dev.css @@ -1,4 +1,10 @@ -.postbox p, .postbox ul, .postbox ol, .postbox blockquote, #wp-version-message { font-size: 11px; } +.postbox p, +.postbox ul, +.postbox ol, +.postbox blockquote, +#wp-version-message { + font-size: 12px; +} .edit-box { display: none; @@ -9,6 +15,7 @@ h3:hover .edit-box { } form .input-text-wrap { + background: #fff; border-style: solid; border-width: 1px; padding: 2px 3px; @@ -25,6 +32,7 @@ form .input-text-wrap { } form .textarea-wrap { + background: #fff; border-style: solid; border-width: 1px; padding: 2px; @@ -57,7 +65,7 @@ form .textarea-wrap { } div.postbox div.inside { - margin: 10px; + margin: 10px 0; position: relative; } @@ -73,10 +81,12 @@ div.postbox div.inside { position: absolute; right: 30px; padding: 0; + top: 8px; } #dashboard-widgets h4 { font-family: Georgia, "Times New Roman", "Bitstream Charter", Times, serif; + font-weight: normal; font-size: 13px; margin: 0 0 .2em; padding: 0; @@ -95,19 +105,17 @@ div.postbox div.inside { } #dashboard_right_now p.sub { - font-style: italic; - font-family: Georgia, "Times New Roman", "Bitstream Charter", Times, serif; - padding: 5px 10px 15px; - color: #777; - font-size: 13px; + padding: 5px 0 15px; + color: #8f8f8f; + font-size: 14px; position: absolute; top: -17px; left: 15px; } #dashboard_right_now .table { - margin: 0 -9px; - padding: 0 10px; + margin: 0; + padding: 0; position: relative; } @@ -199,10 +207,14 @@ div.postbox div.inside { #dashboard_recent_comments .comment-meta .approve { font-style: italic; - font-family: "Lucida Grande", Verdana, Arial, "Bitstream Vera Sans", sans-serif; + font-family: sans-serif; font-size: 10px; } +#dashboard_recent_comments .subsubsub { + float: none; +} + #the-comment-list { position: relative; } @@ -231,10 +243,9 @@ div.postbox div.inside { } #the-comment-list .comment-item h4 { - line-height: 1.4; - margin-top: -.2em; - font-weight: normal; - color: #999; + line-height: 1.7em; + margin-top: -0.4em; + color: #777; } #the-comment-list .comment-item h4 cite { @@ -257,13 +268,13 @@ div.postbox div.inside { #the-comment-list .comment-item p.row-actions { margin: 3px 0 0; padding: 0; - font-size: 10px; + font-size: 12px; } /* QuickPress */ #dashboard_quick_press h4 { - font-family: "Lucida Grande", Verdana, Arial, "Bitstream Vera Sans", sans-serif; + font-family: sans-serif; float: left; width: 5.5em; clear: both; @@ -277,14 +288,6 @@ div.postbox div.inside { margin-right: 10px; } -#dashboard_quick_press { - min-height: 200px; -} - -#dashboard_quick_press.closed { - min-height: 0; -} - #dashboard_quick_press .input-text-wrap, #dashboard_quick_press .textarea-wrap { margin: 0 0 1em 5em; @@ -293,7 +296,9 @@ div.postbox div.inside { #dashboard_quick_press #media-buttons { margin: 0 0 .5em 5em; padding: 0 0 0 10px; - font-size: 11px; + font-size: 12px; + line-height: 17px; + color: #777; } #dashboard_quick_press #media-buttons a { @@ -330,16 +335,17 @@ div.postbox div.inside { } #dashboard_recent_drafts ul li { - margin-bottom: 0.6em; + margin-bottom: 1em; } #dashboard_recent_drafts h4 { - font-weight: normal; + line-height: 1.7em; } #dashboard_recent_drafts h4 abbr { - font-family: "Lucida Grande", Verdana, Arial, "Bitstream Vera Sans", sans-serif; - font-size: 11px; + font-weight: normal; + font-family: sans-serif; + font-size: 12px; color: #999; margin-left: 3px; } @@ -369,6 +375,8 @@ a.rsswidget { } .rss-widget span.rss-date { + color: #999; + font-size: 12px; margin-left: 3px; } @@ -384,26 +392,29 @@ a.rsswidget { } /* Plugins */ - #dashboard_plugins h4 { - font-family: "Lucida Grande", Verdana, Arial, "Bitstream Vera Sans", sans-serif; + line-height: 1.7em; } - #dashboard_plugins h5 { font-family: Georgia, "Times New Roman", "Bitstream Charter", Times, serif; - font-size: 13px !important; + font-weight: normal; + font-size: 13px; margin: 0; display: inline; line-height: 1.4em; } #dashboard_plugins h5 a { - font-weight: normal; - line-height: 1.7em; + line-height: 1.4em; +} + +#dashboard_plugins .inside span { + font-size: 12px; + padding-left: 5px; } #dashboard_plugins p { - margin: 0 0 1.4em; + margin: 0.3em 0 1.4em; line-height: 1.4em; } @@ -411,3 +422,65 @@ a.rsswidget { overflow: hidden; word-wrap: break-word; } + +/* Browser Nag */ +#dashboard_browser_nag a.update-browser-link { + font-size: 1.2em; + font-weight: bold; +} + +#dashboard_browser_nag a { + text-decoration: underline; +} + +#dashboard_browser_nag p.browser-update-nag.has-browser-icon { + padding-right: 125px; +} + +#dashboard_browser_nag .browser-icon { + margin-top: -35px; +} + +#dashboard_browser_nag.postbox.browser-insecure { + background-color: #ac1b1b; + border-color: #ac1b1b; +} + +#dashboard_browser_nag.postbox { + background-color: #e29808; + background-image: none; + border-color: #edc048; + -moz-box-shadow: none; + -webkit-box-shadow: none; + box-shadow: none; + color: #fff; +} + +#dashboard_browser_nag.postbox.browser-insecure h3 { + border-bottom-color: #cd5a5a; + color: #fff; +} + +#dashboard_browser_nag.postbox h3 { + border-bottom-color: #f6e2ac; + text-shadow: none; + -moz-box-shadow: none; + -webkit-box-shadow: none; + box-shadow: none; + background: transparent none; + color: #fff; +} + +#dashboard_browser_nag a { + color: #fff; +} + +#dashboard_browser_nag.browser-insecure a.browse-happy-link, +#dashboard_browser_nag.browser-insecure a.update-browser-link { + text-shadow: #871b15 0 1px 0; +} + +#dashboard_browser_nag a.browse-happy-link, +#dashboard_browser_nag a.update-browser-link { + text-shadow: #d29a04 0 1px 0; +} diff --git a/wp-admin/css/global-rtl.css b/wp-admin/css/global-rtl.css index d7a34800e..0a5a8b7cd 100644 --- a/wp-admin/css/global-rtl.css +++ b/wp-admin/css/global-rtl.css @@ -1 +1 @@ -#adminmenu{float:right;clear:right;margin-right:-160px;margin-left:5px;}body.folded #adminmenu{margin-left:0;margin-right:-45px;}.inner-sidebar{float:left;clear:left;}.has-right-sidebar #post-body{clear:right;float:right;margin-right:0;margin-left:-340px;}.has-right-sidebar #post-body-content{margin-left:300px;margin-right:0;}#wpbody{margin-left:0;margin-right:175px;}.folded #wpbody{margin-left:0;margin-right:60px;}#wpbody-content{float:right;}#col-right{float:left;clear:left;}.wrap{margin:0 5px 0 15px;}body,td,textarea,input,select{font-family:Tahoma,arial;}.alignleft{float:right;}.alignright{float:left;}.subsubsub{float:right;}.widefat th{text-align:right;}.widefat th input{margin:0 8px 0 0;}.wrap h2{font-family:arial;padding:14px 0 3px 15px;font-style:normal;}.wrap h2.long-header{padding-left:0;}.updated,.error{clear:both;}.screen-reader-text,.screen-reader-text span{left:auto;text-indent:-1000em;} \ No newline at end of file +#wpcontent{margin-left:0;margin-right:165px;}.wp-admin #footer{margin-left:15px;margin-right:165px;}.js.folded #wpcontent{margin-left:0;margin-right:52px;}.js.folded.wp-admin #footer{margin-left:15px;margin-right:52px;}#wpbody-content{float:right;}#adminmenuwrap{float:right;}#adminmenu{clear:right;}.inner-sidebar{float:left;clear:left;}.has-right-sidebar #post-body{float:right;clear:right;margin-right:0;margin-left:-340px;}.has-right-sidebar #post-body-content{margin-right:0;margin-left:300px;}#col-right{float:left;clear:left;}.alignleft{float:right;}.alignright{float:left;}.textleft{text-align:right;}.textright{text-align:left;}.screen-reader-text,.screen-reader-text span{left:auto;right:-1000em;}body,td,textarea,input,select{font-family:Tahoma,Arial,sans-serif;}ul.ul-disc,ul.ul-square,ol.ol-decimal{margin-left:0;margin-right:1.8em;}.subsubsub{float:right;}.widefat thead th:first-of-type{-moz-border-radius-topleft:0;-moz-border-radius-topright:3px;-khtml-border-top-left-radius:0;-khtml-border-top-right-radius:3px;-webkit-border-top-left-radius:0;-webkit-border-top-right-radius:3px;border-top-left-radius:0;border-top-right-radius:3px;}.widefat thead th:last-of-type{-moz-border-radius-topright:0;-moz-border-radius-topleft:3px;-khtml-border-top-right-radius:0;-khtml-border-top-left-radius:3px;-webkit-border-top-right-radius:0;-webkit-border-top-left-radius:3px;border-top-right-radius:0;border-top-left-radius:3px;}.widefat tfoot th:first-of-type{-moz-border-radius-bottomleft:0;-moz-border-radius-bottomright:3px;-khtml-border-bottom-left-radius:0;-khtml-border-bottom-right-radius:3px;-webkit-border-bottom-left-radius:0;-webkit-border-bottom-right-radius:3px;border-bottom-left-radius:0;border-bottom-right-radius:3px;}.widefat tfoot th:last-of-type{-moz-border-radius-bottomright:0;-moz-border-radius-bottomleft:3px;-khtml-border-bottom-right-radius:0;-khtml-border-bottom-left-radius:3px;-webkit-border-bottom-right-radius:0;-webkit-border-bottom-left-radius:3px;border-bottom-right-radius:0;border-bottom-left-radius:3px;}.widefat th{text-align:right;}.widefat th input{margin:0 8px 0 0;}.wrap{margin:0 0 0 15px;}.wrap h2,.subtitle{font-family:Tahoma,Arial,sans-serif;}.wrap h2{padding:9px 0 4px 15px;}.subtitle{padding-left:0;padding-right:25px;}.wrap .add-new-h2{font-family:Tahoma,Arial,sans-serif;margin-left:0;margin-right:4px;}.wrap h2.long-header{padding-left:0;} \ No newline at end of file diff --git a/wp-admin/css/global-rtl.dev.css b/wp-admin/css/global-rtl.dev.css index 85d21c327..7907b6b49 100644 --- a/wp-admin/css/global-rtl.dev.css +++ b/wp-admin/css/global-rtl.dev.css @@ -1,14 +1,38 @@ + /* 2 column liquid layout */ -#adminmenu { - float: right; - clear: right; - margin-right:-160px; - margin-left: 5px; + +#wpcontent { + margin-left: 0; + margin-right: 165px; +} + +.wp-admin #footer { + margin-left: 15px; + margin-right: 165px; } -body.folded #adminmenu { + +.js.folded #wpcontent { margin-left: 0; - margin-right: -45px; + margin-right: 52px; } + +.js.folded.wp-admin #footer { + margin-left: 15px; + margin-right: 52px; +} + +#wpbody-content { + float: right; +} + +#adminmenuwrap { + float: right; +} + +#adminmenu { + clear: right; +} + /* inner 2 column liquid layout */ .inner-sidebar { float: left; @@ -16,68 +40,142 @@ body.folded #adminmenu { } .has-right-sidebar #post-body { - clear:right; - float:right; - margin-right:0; - margin-left:-340px; + float: right; + clear: right; + margin-right: 0; + margin-left: -340px; } .has-right-sidebar #post-body-content { + margin-right: 0; margin-left: 300px; - margin-right:0; } -#wpbody { - margin-left:0; - margin-right: 175px; -} -.folded #wpbody { - margin-left: 0; - margin-right: 60px; -} -#wpbody-content { - float: right; -} /* 2 columns main area */ + #col-right { float: left; clear: left; } -.wrap { - margin: 0 5px 0 15px; -} -/* styles for use by people extending the WordPress interface */ -body, td, textarea, input, select { - font-family: Tahoma, arial; -} + +/* utility classes*/ .alignleft { float: right; } + .alignright { float: left; } + +.textleft { + text-align: right; +} + +.textright { + text-align: left; +} + +/* Hide visually but not from screen readers */ +.screen-reader-text, .screen-reader-text span { + left: auto; + right: -1000em; +} + +/* styles for use by people extending the WordPress interface */ + +body, +td, +textarea, +input, +select { + font-family: Tahoma, Arial, sans-serif; +} + +ul.ul-disc, +ul.ul-square, +ol.ol-decimal { + margin-left: 0; + margin-right: 1.8em; +} + .subsubsub { float: right; } + +.widefat thead th:first-of-type { + -moz-border-radius-topleft: 0; + -moz-border-radius-topright: 3px; + -khtml-border-top-left-radius: 0; + -khtml-border-top-right-radius: 3px; + -webkit-border-top-left-radius: 0; + -webkit-border-top-right-radius: 3px; + border-top-left-radius: 0; + border-top-right-radius: 3px; +} + +.widefat thead th:last-of-type { + -moz-border-radius-topright: 0; + -moz-border-radius-topleft: 3px; + -khtml-border-top-right-radius: 0; + -khtml-border-top-left-radius: 3px; + -webkit-border-top-right-radius: 0; + -webkit-border-top-left-radius: 3px; + border-top-right-radius: 0; + border-top-left-radius: 3px; +} +.widefat tfoot th:first-of-type { + -moz-border-radius-bottomleft: 0; + -moz-border-radius-bottomright: 3px; + -khtml-border-bottom-left-radius: 0; + -khtml-border-bottom-right-radius: 3px; + -webkit-border-bottom-left-radius: 0; + -webkit-border-bottom-right-radius: 3px; + border-bottom-left-radius: 0; + border-bottom-right-radius: 3px; +} +.widefat tfoot th:last-of-type { + -moz-border-radius-bottomright: 0; + -moz-border-radius-bottomleft: 3px; + -khtml-border-bottom-right-radius: 0; + -khtml-border-bottom-left-radius: 3px; + -webkit-border-bottom-right-radius: 0; + -webkit-border-bottom-left-radius: 3px; + border-bottom-right-radius: 0; + border-bottom-left-radius: 3px; +} + .widefat th { text-align: right; } + .widefat th input { margin: 0 8px 0 0; } + +.wrap { + margin: 0 0 0 15px; +} + + +.wrap h2, +.subtitle { + font-family: Tahoma, Arial, sans-serif; +} .wrap h2 { - font-family: arial; - padding: 14px 0 3px 15px; - font-style: normal; + padding: 9px 0 4px 15px; } -.wrap h2.long-header { + +.subtitle { padding-left: 0; + padding-right: 25px; } -.updated, .error { - clear: both; + +.wrap .add-new-h2 { + font-family: Tahoma, Arial, sans-serif; + margin-left: 0; + margin-right: 4px; } -.screen-reader-text, .screen-reader-text span { - left:auto; - text-indent:-1000em; -} \ No newline at end of file +.wrap h2.long-header { + padding-left: 0; +} diff --git a/wp-admin/css/global.css b/wp-admin/css/global.css index 0fd0af032..739d36574 100644 --- a/wp-admin/css/global.css +++ b/wp-admin/css/global.css @@ -1 +1 @@ -html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,font,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td{margin:0;padding:0;border:0;outline:0;background:transparent;}body{line-height:1;}ol,ul{list-style:none;}blockquote,q{quotes:none;}blockquote:before,blockquote:after,q:before,q:after{content:'';content:none;}ins{text-decoration:none;}del{text-decoration:line-through;}#wpwrap{height:auto;min-height:100%;width:100%;}#wpcontent{height:100%;padding-bottom:50px;}#wpbody{clear:both;margin-left:175px;}.folded #wpbody{margin-left:60px;}#wpbody-content{float:left;width:100%;}#adminmenu{float:left;clear:left;width:145px;margin-top:15px;margin-right:5px;margin-bottom:15px;margin-left:-160px;position:relative;padding:0;list-style:none;}.folded #adminmenu{margin-left:-45px;}.folded #adminmenu,.folded #adminmenu li.menu-top{width:28px;}#footer{clear:both;position:relative;width:100%;}.inner-sidebar{float:right;clear:right;display:none;width:281px;position:relative;}.inner-sidebar #side-sortables{width:280px;min-height:300px;}.has-right-sidebar .inner-sidebar{display:block;}.has-right-sidebar #post-body{float:left;clear:left;width:100%;margin-right:-340px;}.has-right-sidebar #post-body-content{margin-right:300px;}#col-container{overflow:hidden;padding:0;margin:0;}#col-left{padding:0;margin:0;overflow:hidden;width:39%;}#col-right{float:right;clear:right;overflow:hidden;padding:0;margin:0;width:59%;}.alignleft{float:left;}.alignright{float:right;}.textleft{text-align:left;}.textright{text-align:right;}.clear{clear:both;}.screen-reader-text,.screen-reader-text span{position:absolute;left:-1000em;height:1px;width:1px;overflow:hidden;}.hidden,.js .closed .inside,.js .hide-if-js,.no-js .hide-if-no-js{display:none;}input[type="text"],input[type="password"],textarea{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;-ms-box-sizing:border-box;box-sizing:border-box;}input[type="checkbox"],input[type="radio"]{vertical-align:middle;}html,body{height:100%;}body,td,textarea,input,select{font-family:"Lucida Grande",Verdana,Arial,"Bitstream Vera Sans",sans-serif;font-size:13px;}body,textarea{line-height:1.4em;}input,select{line-height:15px;}p{margin:1em 0;}blockquote{margin:1em;}label{cursor:pointer;}li,dd{margin-bottom:6px;}p,li,dl,dd,dt{line-height:140%;}textarea,input,select{margin:1px;padding:3px;}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-size:1em;font-weight:bold;margin:1.33em 0;}h5{display:block;font-size:.83em;font-weight:bold;margin:1.67em 0;}h6{display:block;font-size:.67em;font-weight:bold;margin:2.33em 0;}ul.ul-disc{list-style:disc outside;}ul.ul-square{list-style:square outside;}ol.ol-decimal{list-style:decimal outside;}ul.ul-disc,ul.ul-square,ol.ol-decimal{margin-left:1.8em;}ul.ul-disc>li,ul.ul-square>li,ol.ol-decimal>li{margin:0 0 .5em;}.subsubsub{list-style:none;margin:8px 0 5px;padding:0;white-space:nowrap;font-size:11px;float:left;}.subsubsub a{line-height:2;padding:.2em;text-decoration:none;}.subsubsub a .count,.subsubsub a.current .count{color:#999;font-weight:normal;}.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-spacing:0;width:100%;clear:both;margin:0;-moz-border-radius:4px;-khtml-border-radius:4px;-webkit-border-radius:4px;border-radius:4px;}.widefat *{word-wrap:break-word;}.widefat a{text-decoration:none;}.widefat thead th:first-of-type{-moz-border-radius-topleft:3px;-khtml-border-top-left-radius:3px;-webkit-border-top-left-radius:3px;border-top-left-radius:3px;}.widefat thead th:last-of-type{-moz-border-radius-topright:3px;-khtml-border-top-right-radius:3px;-webkit-border-top-right-radius:3px;border-top-right-radius:3px;}.widefat tfoot th:first-of-type{-moz-border-radius-bottomleft:3px;-khtml-border-bottom-left-radius:3px;-webkit-border-bottom-left-radius:3px;border-bottom-left-radius:3px;}.widefat tfoot th:last-of-type{-moz-border-radius-bottomright:3px;-khtml-border-bottom-right-radius:3px;-webkit-border-bottom-right-radius:3px;border-bottom-right-radius:3px;}.widefat td,.widefat th{border-bottom-width:1px;border-bottom-style:solid;font-size:11px;}.widefat .no-items td{border-bottom-width:0;}.widefat td{padding:3px 7px;vertical-align:top;}.widefat td p,.widefat td ol,.widefat td ul{font-size:11px;}.widefat th{padding:7px 7px 8px;text-align:left;line-height:1.3em;}.widefat th input{margin:0 0 0 8px;padding:0;vertical-align:text-top;}.widefat .check-column{width:2.2em;padding:0;}.widefat tbody th.check-column{padding:7px 0 22px;vertical-align:top;}.widefat .num,.column-comments,.column-links,.column-posts{text-align:center;}.widefat th#comments{vertical-align:middle;}.wrap{margin:0 15px 0 5px;}div.updated,div.error{border-width:1px;border-style:solid;padding:0 .6em;margin:5px 15px 2px;-moz-border-radius:3px;-khtml-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;}div.updated p,div.error p{margin:.5em 0;padding:2px;}.wrap div.updated,.wrap div.error{margin:5px 0 15px;}.wrap h2{font:italic normal normal 24px/29px Georgia,"Times New Roman","Bitstream Charter",Times,serif;margin:0;padding:14px 15px 3px 0;line-height:35px;text-shadow:rgba(255,255,255,1) 0 1px 0;}.wrap h2.long-header{padding-right:0;} \ No newline at end of file +html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,font,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td{margin:0;padding:0;border:0;outline:0;background:transparent;}body{line-height:1;}ol,ul{list-style:none;}blockquote,q{quotes:none;}blockquote:before,blockquote:after,q:before,q:after{content:'';content:none;}ins{text-decoration:none;}del{text-decoration:line-through;}#wpwrap{height:auto;min-height:100%;width:100%;position:relative;}#wpcontent{height:100%;}#wpcontent,#footer{margin-left:165px;}#wpbody-content{padding-bottom:65px;}.js.folded #wpcontent,.js.folded #footer{margin-left:52px;}#wpbody-content{float:left;width:100%;}#adminmenuback,#adminmenuwrap,#adminmenu,.js.folded #adminmenu .wp-submenu.sub-open,.js.folded #adminmenu .wp-submenu-wrap{width:145px;}#adminmenuback{position:absolute;top:0;bottom:0;z-index:-1;}#adminmenuwrap{float:left;}#adminmenu{clear:left;padding:0;list-style:none;}.js.folded #adminmenuback,.js.folded #adminmenuwrap,.js.folded #adminmenu,.js.folded #adminmenu li.menu-top{width:32px;}#footer{position:relative;}.inner-sidebar{float:right;clear:right;display:none;width:281px;position:relative;}.inner-sidebar #side-sortables{width:280px;min-height:300px;}.has-right-sidebar .inner-sidebar{display:block;}.has-right-sidebar #post-body{float:left;clear:left;width:100%;margin-right:-340px;}.has-right-sidebar #post-body-content{margin-right:300px;}#col-container{overflow:hidden;padding:0;margin:0;}#col-left{padding:0;margin:0;overflow:hidden;width:39%;}#col-right{float:right;clear:right;overflow:hidden;padding:0;margin:0;width:59%;}.alignleft{float:left;}.alignright{float:right;}.textleft{text-align:left;}.textright{text-align:right;}.clear{clear:both;}.screen-reader-text,.screen-reader-text span{position:absolute;left:-1000em;height:1px;width:1px;overflow:hidden;}.hidden,.js .closed .inside,.js .hide-if-js,.no-js .hide-if-no-js{display:none;}input[type="text"],input[type="password"],textarea{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;-ms-box-sizing:border-box;box-sizing:border-box;}input[type="checkbox"],input[type="radio"]{vertical-align:middle;}html,body{height:100%;}body,td,textarea,input,select{font-family:sans-serif;font-size:13px;}body,textarea{line-height:1.4em;}input,select{line-height:15px;}p{margin:1em 0;}blockquote{margin:1em;}label{cursor:pointer;}li,dd{margin-bottom:6px;}p,li,dl,dd,dt{line-height:140%;}textarea,input,select{margin:1px;padding:3px;}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-size:1em;font-weight:bold;margin:1.33em 0;}h5{display:block;font-size:.83em;font-weight:bold;margin:1.67em 0;}h6{display:block;font-size:.67em;font-weight:bold;margin:2.33em 0;}ul.ul-disc{list-style:disc outside;}ul.ul-square{list-style:square outside;}ol.ol-decimal{list-style:decimal outside;}ul.ul-disc,ul.ul-square,ol.ol-decimal{margin-left:1.8em;}ul.ul-disc>li,ul.ul-square>li,ol.ol-decimal>li{margin:0 0 .5em;}.subsubsub{list-style:none;margin:8px 0 5px;padding:0;white-space:nowrap;font-size:12px;float:left;}.subsubsub a{line-height:2;padding:.2em;text-decoration:none;}.subsubsub a .count,.subsubsub a.current .count{color:#999;font-weight:normal;}.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-spacing:0;width:100%;clear:both;margin:0;-moz-border-radius:3px;-khtml-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;}.widefat *{word-wrap:break-word;}.widefat a{text-decoration:none;}.widefat thead th:first-of-type{-moz-border-radius-topleft:3px;-khtml-border-top-left-radius:3px;-webkit-border-top-left-radius:3px;border-top-left-radius:3px;}.widefat thead th:last-of-type{-moz-border-radius-topright:3px;-khtml-border-top-right-radius:3px;-webkit-border-top-right-radius:3px;border-top-right-radius:3px;}.widefat tfoot th:first-of-type{-moz-border-radius-bottomleft:3px;-khtml-border-bottom-left-radius:3px;-webkit-border-bottom-left-radius:3px;border-bottom-left-radius:3px;}.widefat tfoot th:last-of-type{-moz-border-radius-bottomright:3px;-khtml-border-bottom-right-radius:3px;-webkit-border-bottom-right-radius:3px;border-bottom-right-radius:3px;}.widefat td,.widefat th{border-width:1px 0;border-style:solid;}.widefat tfoot th{border-bottom:none;}.widefat .no-items td{border-bottom-width:0;}.widefat td{font-size:12px;padding:4px 7px 2px;vertical-align:top;}.widefat td p,.widefat td ol,.widefat td ul{font-size:12px;}.widefat th{padding:7px 7px 8px;text-align:left;line-height:1.3em;font-size:14px;}.widefat th input{margin:0 0 0 8px;padding:0;vertical-align:text-top;}.widefat .check-column{width:2.2em;padding:11px 0 0;vertical-align:top;}.widefat tbody th.check-column{padding:9px 0 22px;}.widefat .num,.column-comments,.column-links,.column-posts{text-align:center;}.widefat th#comments{vertical-align:middle;}.wrap{margin:0 15px 0 0;}div.updated,div.error{border-width:1px;border-style:solid;padding:0 .6em;margin:5px 15px 2px;-moz-border-radius:3px;-khtml-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;}div.updated p,div.error p{margin:.5em 0;padding:2px;}.wrap div.updated,.wrap div.error{margin:5px 0 15px;}.wrap h2,.subtitle{font-family:"HelveticaNeue-Light","Helvetica Neue Light","Helvetica Neue",sans-serif;font-weight:normal;margin:0;text-shadow:rgba(255,255,255,1) 0 1px 0;}.wrap h2{font-size:23px;padding:9px 15px 4px 0;line-height:29px;}.subtitle{font-size:14px;padding-left:25px;}.wrap .add-new-h2{font-family:sans-serif;margin-left:4px;padding:3px 8px;position:relative;top:-3px;-moz-border-radius:3px;-khtml-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;text-decoration:none;font-size:12px;}.wrap h2.long-header{padding-right:0;}.fade-1000{opacity:0;-moz-transition-property:opacity;-moz-transition-duration:1s;-webkit-transition-property:opacity;-webkit-transition-duration:1s;-o-transition-property:opacity;-o-transition-duration:1s;transition-property:opacity;transition-duration:1s;}.fade-600{opacity:0;-moz-transition-property:opacity;-moz-transition-duration:.6s;-webkit-transition-property:opacity;-webkit-transition-duration:.6s;-o-transition-property:opacity;-o-transition-duration:.6s;transition-property:opacity;transition-duration:.6s;}.fade-400{opacity:0;-moz-transition-property:opacity;-moz-transition-duration:.4s;-webkit-transition-property:opacity;-webkit-transition-duration:.4s;-o-transition-property:opacity;-o-transition-duration:.4s;transition-property:opacity;transition-duration:.4s;}.fade-300{opacity:0;-moz-transition-property:opacity;-moz-transition-duration:.3s;-webkit-transition-property:opacity;-webkit-transition-duration:.3s;-o-transition-property:opacity;-o-transition-duration:.3s;transition-property:opacity;transition-duration:.3s;}.fade-trigger{opacity:1;} \ No newline at end of file diff --git a/wp-admin/css/global.dev.css b/wp-admin/css/global.dev.css index 10abf25f0..1a74f128c 100644 --- a/wp-admin/css/global.dev.css +++ b/wp-admin/css/global.dev.css @@ -62,20 +62,25 @@ table { height: auto; min-height: 100%; width: 100%; + position: relative; } #wpcontent { height: 100%; - padding-bottom: 50px; } -#wpbody { - clear: both; - margin-left: 175px; +#wpcontent, +#footer { + margin-left: 165px; +} + +#wpbody-content { + padding-bottom: 65px; } -.folded #wpbody { - margin-left: 60px; +.js.folded #wpcontent, +.js.folded #footer { + margin-left: 52px; } #wpbody-content { @@ -83,32 +88,40 @@ table { width: 100%; } -#adminmenu { +#adminmenuback, +#adminmenuwrap, +#adminmenu, +.js.folded #adminmenu .wp-submenu.sub-open, +.js.folded #adminmenu .wp-submenu-wrap { + width: 145px; +} + +#adminmenuback { + position: absolute; + top: 0; + bottom: 0; + z-index: -1; +} + +#adminmenuwrap { float: left; +} + +#adminmenu { clear: left; - width: 145px; - margin-top: 15px; - margin-right: 5px; - margin-bottom: 15px; - margin-left: -160px; - position: relative; padding: 0; list-style: none; } -.folded #adminmenu { - margin-left: -45px; -} - -.folded #adminmenu, -.folded #adminmenu li.menu-top { - width: 28px; +.js.folded #adminmenuback, +.js.folded #adminmenuwrap, +.js.folded #adminmenu, +.js.folded #adminmenu li.menu-top { + width: 32px; } #footer { - clear: both; position: relative; - width: 100%; } /* inner 2 column liquid layout */ @@ -228,7 +241,7 @@ td, textarea, input, select { - font-family: "Lucida Grande", Verdana, Arial, "Bitstream Vera Sans", sans-serif; + font-family: sans-serif; font-size: 13px; } @@ -345,7 +358,7 @@ ol.ol-decimal > li { margin: 8px 0 5px; padding: 0; white-space: nowrap; - font-size: 11px; + font-size: 12px; float: left; } @@ -379,10 +392,10 @@ ol.ol-decimal > li { width: 100%; clear: both; margin: 0; - -moz-border-radius: 4px; - -khtml-border-radius: 4px; - -webkit-border-radius: 4px; - border-radius: 4px; + -moz-border-radius: 3px; + -khtml-border-radius: 3px; + -webkit-border-radius: 3px; + border-radius: 3px; } .widefat * { @@ -420,9 +433,11 @@ ol.ol-decimal > li { .widefat td, .widefat th { - border-bottom-width: 1px; - border-bottom-style: solid; - font-size: 11px; + border-width: 1px 0; + border-style: solid; +} +.widefat tfoot th { + border-bottom: none; } .widefat .no-items td { @@ -430,20 +445,22 @@ ol.ol-decimal > li { } .widefat td { - padding: 3px 7px; + font-size: 12px; + padding: 4px 7px 2px; vertical-align: top; } .widefat td p, .widefat td ol, .widefat td ul { - font-size: 11px; + font-size: 12px; } .widefat th { padding: 7px 7px 8px; text-align: left; line-height: 1.3em; + font-size: 14px; } .widefat th input { @@ -454,13 +471,12 @@ ol.ol-decimal > li { .widefat .check-column { width: 2.2em; - padding: 0; - + padding: 11px 0 0; + vertical-align: top; } .widefat tbody th.check-column { - padding: 7px 0 22px; - vertical-align: top; + padding: 9px 0 22px; } .widefat .num, @@ -475,7 +491,7 @@ ol.ol-decimal > li { } .wrap { - margin: 0 15px 0 5px; + margin: 0 15px 0 0; } div.updated, @@ -501,14 +517,91 @@ div.error p { margin: 5px 0 15px; } -.wrap h2 { - font: italic normal normal 24px/29px Georgia, "Times New Roman", "Bitstream Charter", Times, serif; +.wrap h2, +.subtitle { + font-family: "HelveticaNeue-Light", "Helvetica Neue Light", "Helvetica Neue", sans-serif; + font-weight: normal; margin: 0; - padding: 14px 15px 3px 0; - line-height: 35px; text-shadow: rgba(255,255,255,1) 0 1px 0; } +.wrap h2 { + font-size: 23px; + padding: 9px 15px 4px 0; + line-height: 29px; +} +.subtitle { + font-size: 14px; + padding-left: 25px; +} +.wrap .add-new-h2 { + font-family: sans-serif; + margin-left: 4px; + padding: 3px 8px; + position: relative; + top: -3px; + -moz-border-radius: 3px; + -khtml-border-radius: 3px; + -webkit-border-radius: 3px; + border-radius: 3px; + text-decoration: none; + font-size: 12px; +} .wrap h2.long-header { padding-right: 0; } + + +/* =CSS 3 transitions +-------------------------------------------------------------- */ +.fade-1000 { + opacity: 0; + -moz-transition-property: opacity; + -moz-transition-duration: 1s; + -webkit-transition-property: opacity; + -webkit-transition-duration: 1s; + -o-transition-property: opacity; + -o-transition-duration: 1s; + transition-property: opacity; + transition-duration: 1s; +} + +.fade-600 { + opacity: 0; + -moz-transition-property: opacity; + -moz-transition-duration: 0.6s; + -webkit-transition-property: opacity; + -webkit-transition-duration: 0.6s; + -o-transition-property: opacity; + -o-transition-duration: 0.6s; + transition-property: opacity; + transition-duration: 0.6s; +} + +.fade-400 { + opacity: 0; + -moz-transition-property: opacity; + -moz-transition-duration: 0.4s; + -webkit-transition-property: opacity; + -webkit-transition-duration: 0.4s; + -o-transition-property: opacity; + -o-transition-duration: 0.4s; + transition-property: opacity; + transition-duration: 0.4s; +} + +.fade-300 { + opacity: 0; + -moz-transition-property: opacity; + -moz-transition-duration: 0.3s; + -webkit-transition-property: opacity; + -webkit-transition-duration: 0.3s; + -o-transition-property: opacity; + -o-transition-duration: 0.3s; + transition-property: opacity; + transition-duration: 0.3s; +} + +.fade-trigger { + opacity: 1; +} diff --git a/wp-admin/css/ie.css b/wp-admin/css/ie.css index ad96e0704..00e1af76b 100644 --- a/wp-admin/css/ie.css +++ b/wp-admin/css/ie.css @@ -1 +1 @@ -#wpbody-content input.button,#wpbody-content input.button-secondary,#wpbody-content input.button-highlighted{padding:2px 3px;}#minor-publishing-actions input,#major-publishing-actions input{min-width:auto;padding-left:0;padding-right:0;}#wpbody-content .postbox{border:1px solid #dfdfdf;}#wpbody-content .postbox h3{margin-bottom:-1px;}* html .meta-box-sortables .postbox .handlediv{background:transparent url(../images/menu-bits-vs.gif) no-repeat scroll left -111px;}* html .edit-box{display:inline;}* html .inner-sidebar #side-sortables,* html .postbox-container .meta-box-sortables{height:300px;}* html #wpbody-content #screen-options-link-wrap{display:inline-block;width:150px;text-align:center;}* html #wpbody-content #contextual-help-link-wrap{display:inline-block;width:100px;text-align:center;}* html #adminmenu{margin-left:-80px;}* html .folded #adminmenu{margin-left:-22px;}* html #wpcontent #adminmenu li.menu-top{display:inline;padding:0;margin:0;}* html #footer{margin:0;}.folded #adminmenu li.menu-top{display:block;zoom:100%;}ul#adminmenu{z-index:99;}#adminmenu li.menu-top a.menu-top{min-width:auto;width:auto;}#wpcontent #adminmenu li.wp-has-current-submenu a.wp-has-submenu{font-style:normal;}* html #wpcontent #adminmenu .wp-menu-open .wp-menu-toggle{background:none;}* html #wpcontent #adminmenu .wp-has-submenu .wp-menu-toggle{background:url(../images/menu-bits.gif?ver=20100610) no-repeat scroll left -109px;}* html #wpcontent #adminmenu li.wp-has-current-submenu .wp-menu-toggle{background:url(../images/menu-bits.gif?ver=20100610) no-repeat scroll left -206px;}* html #adminmenu div.wp-menu-image{height:29px;}#wpcontent #adminmenu .wp-submenu li{padding:0;}#adminmenu,.major-publishing-actions,.wp-submenu,.wp-submenu li,.wp-menu-toggle{zoom:100%;}.folded #adminmenu li.wp-menu-separator{width:28px;}#wpcontent #adminmenu .wp-submenu li.wp-submenu-head{padding:3px 4px 4px 10px;zoom:100%;}.folded #adminmenu .menu-top{height:30px;}.folded #adminmenu .wp-submenu{margin:-1px 0 0 0;}#template,#template div,#editcat,#addcat,* html .stuffbox h3{zoom:100%;}.submitbox{margin-top:10px;}#wpbody-content .quick-edit-row-post .inline-edit-col-left{width:39%;}#wpbody-content .inline-edit-row-post .inline-edit-col-center{width:19%;}#wpbody-content .quick-edit-row-page .inline-edit-col-left{width:49%;}#wpbody-content .bulk-edit-row .inline-edit-col-left{width:29%;}.inline-edit-row p.submit{zoom:100%;}.inline-edit-row fieldset label span.title{display:block;float:left;width:5em;}.inline-edit-row fieldset label span.input-text-wrap{margin-left:0;zoom:100%;}#wpbody-content .inline-edit-row fieldset label span.input-text-wrap input{line-height:130%;}#wpbody-content .inline-edit-row .input-text-wrap input{width:95%;}#wpbody-content .inline-edit-row .input-text-wrap input.inline-edit-password-input{width:8em;}input{line-height:1;}* html .row-actions{visibility:visible;}#dashboard-widgets h3 a{height:20px;line-height:20px;}#wphead-info{float:right;}#titlediv #title{width:98%;}a.button{line-height:1.4em;margin:1px;padding:2px 6px;}* html div.widget-liquid-left,* html div.widget-liquid-right{display:block;position:relative;}#screen-options-wrap{overflow:hidden;}#favorite-actions{z-index:12;}#favorite-inside,#favorite-inside a,.favorite-action{zoom:100%;}#the-comment-list .comment-item,#post-status-info,#wpwrap,#wpcontent,#wrap,#postdivrich,#postdiv,#poststuff,.metabox-holder,#titlediv,#post-body,#editorcontainer,.tablenav,.widget-liquid-left,.widget-liquid-right,#widgets-left,.widgets-sortables,#dragHelper,.widget .widget-top,.widget,.widget-control-actions,.tagchecklist,#col-container,#col-left,#col-right,.fileedit-sub{display:block;zoom:100%;}p.search-box{position:static;float:right;margin:-3px 0 4px;}* html #editorcontainer{padding:0;}#editorcontainer #content{overflow:auto;margin:auto;width:98%;}form#template div{width:100%;}#ed_toolbar input,#ed_reply_toolbar input{overflow:visible;padding:0 4px;}#poststuff h2{font-size:1.6em;}* html #poststuff h2{margin-left:0;}#bh{margin:7px 10px 0 0;float:right;}div#dashboard-widgets{padding-right:1px;}.tagchecklist span,.tagchecklist span a{display:inline-block;display:block;}.tagchecklist span a{margin:4px 0 0 -9px;}.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 .actions select{width:155px;}table.ie-fixed{table-layout:fixed;}.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;}.widefat{empty-cells:show;border-collapse:collapse;}.tablenav a.button-secondary{display:inline-block;padding:2px 5px;}* html .stuffbox,* html .stuffbox input,* html .stuffbox textarea{border:1px solid #DFDFDF;}* html .feature-filter .feature-group li{width:145px;}* html .widget-top .widget-title-action a{background:url("../images/menu-bits.gif?ver=20100610") no-repeat scroll 0 -110px;}* html div.widget-liquid-left{width:99%;}#wp_inactive_widgets{padding-bottom:8px;}* html .widgets-sortables{height:50px;}* html a#content_resize{right:-2px;}* html .widget-title h4{width:205px;}* html #removing-widget .in-widget-title{display:none;}#available-widgets .widget-holder{padding-bottom:65px;}#widgets-left .inactive{padding-bottom:10px;}.widget-liquid-right .widget,#wp_inactive_widgets .widget{position:relative;}* html .media-item .pinkynail{height:32px;width:40px;}#wpcontent .button-primary-disabled{color:#9FD0D5;background:#298CBA;}#wpcontent #ajax-loading,#wpcontent .ajax-loading{vertical-align:baseline;}* html .describe .field input.text,* html .describe .field textarea{width:440px;}#the-comment-list .unapproved tr,#the-comment-list .unapproved td{background-color:#ffffe0;}.imgedit-submit{width:300px;}* html input{border:1px solid #dfdfdf;}#nav-menu-header,#nav-menus-frame,#wpbody,.menu li{zoom:100%;}#update-nav-menu #post-body{overflow:hidden;}.menu li{min-width:100%;}.menu li.sortable-placeholder{min-width:400px;} \ No newline at end of file +#wp-fullscreen-title{width:97%;}#wp_mce_fullscreen_ifr{background-color:#f9f9f9;}#wp-fullscreen-tagline{color:#888;font-size:14px;}#adminmenuback{left:0;}#adminmenu li.wp-menu-separator,#adminmenu li.wp-menu-separator-last{font-size:1px;line-height:1;}#adminmenu a.menu-top{border-bottom:0 none;border-top:1px solid #ddd;}#adminmenu .separator{font-size:1px;line-height:1px;}#wpbody-content input.button,#wpbody-content input.button-primary,#wpbody-content input.button-secondary,#wpbody-content input.button-highlighted{overflow:visible;}#dashboard-widgets #dashboard_quick_press form p.submit #publish{float:none;}#dashboard-widgets h3 a{height:14px;line-height:14px;}.tablenav-pages .current-page{vertical-align:middle;}#wpbody-content .postbox{border:1px solid #dfdfdf;}#wpbody-content .postbox h3{margin-bottom:-1px;}* html .meta-box-sortables .postbox .handlediv{background:transparent url(../images/menu-bits-vs.gif) no-repeat scroll left -111px;}* html .edit-box{display:inline;}* html .inner-sidebar #side-sortables,* html .postbox-container .meta-box-sortables{height:300px;}* html #wpbody-content #screen-options-link-wrap{display:inline-block;width:150px;text-align:center;}* html #wpbody-content #contextual-help-link-wrap{display:inline-block;width:100px;text-align:center;}* html #adminmenu{margin-left:-80px;}* html .folded #adminmenu{margin-left:-22px;}* html #wpcontent #adminmenu li.menu-top{display:inline;padding:0;margin:0;}* html #footer{margin:0;}.js.folded #adminmenu li.menu-top{display:block;zoom:100%;}ul#adminmenu{z-index:99;}#adminmenu li.menu-top a.menu-top{min-width:auto;width:auto;}#wpcontent #adminmenu li.wp-has-current-submenu a.wp-has-submenu{font-style:normal;}* html #wpcontent #adminmenu .wp-menu-open .wp-menu-toggle{background:none;}* html #wpcontent #adminmenu .wp-has-submenu .wp-menu-toggle{background:url(../images/menu-bits.gif?ver=20100610) no-repeat scroll left -109px;}* html #wpcontent #adminmenu li.wp-has-current-submenu .wp-menu-toggle{background:url(../images/menu-bits.gif?ver=20100610) no-repeat scroll left -206px;}* html #adminmenu div.wp-menu-image{height:29px;}#wpcontent #adminmenu .wp-submenu li{padding:0;}#adminmenu,.major-publishing-actions,.wp-submenu,.wp-submenu li,.wp-menu-toggle,#template,#template div,#editcat,#addcat,* html .stuffbox h3{zoom:100%;}#wpcontent #adminmenu .wp-submenu li.wp-submenu-head{padding:3px 4px 4px 10px;zoom:100%;}.js.folded #adminmenu .menu-top{height:30px;}.js.folded #adminmenu .wp-submenu{margin:-1px 0 0 0;}.wp-menu-arrow{height:28px;}.submitbox{margin-top:10px;}#wpbody-content .quick-edit-row-post .inline-edit-col-left{width:39%;}#wpbody-content .inline-edit-row-post .inline-edit-col-center{width:19%;}#wpbody-content .quick-edit-row-page .inline-edit-col-left{width:49%;}#wpbody-content .bulk-edit-row .inline-edit-col-left{width:29%;}.inline-edit-row p.submit{zoom:100%;}.inline-edit-row fieldset label span.title{display:block;float:left;width:5em;}.inline-edit-row fieldset label span.input-text-wrap{margin-left:0;zoom:100%;}#wpbody-content .inline-edit-row fieldset label span.input-text-wrap input{line-height:130%;}#wpbody-content .inline-edit-row .input-text-wrap input{width:95%;}#wpbody-content .inline-edit-row .input-text-wrap input.inline-edit-password-input{width:8em;}* html .row-actions{visibility:visible;}#wphead-info{float:right;}#titlediv #title{width:98%;}a.button{line-height:1.4em;margin:1px;padding:2px 6px;}* html div.widget-liquid-left,* html div.widget-liquid-right{display:block;position:relative;}#screen-options-wrap{overflow:hidden;}#favorite-actions{z-index:12;}#favorite-inside,#favorite-inside a,.favorite-action{zoom:100%;}#the-comment-list .comment-item,#post-status-info,#wpwrap,#wpcontent,#wrap,#postdivrich,#postdiv,#poststuff,.metabox-holder,#titlediv,#post-body,#editorcontainer,.tablenav,.widget-liquid-left,.widget-liquid-right,#widgets-left,.widgets-sortables,#dragHelper,.widget .widget-top,.widget,.widget-control-actions,.tagchecklist,#col-container,#col-left,#col-right,.fileedit-sub{display:block;zoom:100%;}p.search-box{position:static;float:right;margin:-3px 0 4px;}* html #editorcontainer{padding:0;}#editorcontainer #content{overflow:auto;margin:auto;width:98%;}form#template div{width:100%;}#ed_toolbar input,#ed_reply_toolbar input{overflow:visible;padding:0 4px;}#poststuff h2{font-size:1.6em;}* html #poststuff h2{margin-left:0;}#bh{margin:7px 10px 0 0;float:right;}div#dashboard-widgets{padding-right:1px;}.tagchecklist span,.tagchecklist span a{display:inline-block;display:block;}.tagchecklist span a{margin:4px 0 0 -9px;}.tablenav .button-secondary,.nav .button-secondary{padding-top:2px;padding-bottom:2px;}.tablenav select{font-size:13px;display:inline-block;vertical-align:top;margin-top:2px;}.tablenav .actions select{width:155px;}table.ie-fixed{table-layout:fixed;}.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;}.widefat{empty-cells:show;border-collapse:collapse;}.tablenav a.button-secondary{display:inline-block;padding:2px 5px;}* html .stuffbox,* html .stuffbox input,* html .stuffbox textarea{border:1px solid #DFDFDF;}* html .feature-filter .feature-group li{width:145px;}* html .widget-top .widget-title-action a{background:url("../images/menu-bits.gif?ver=20100610") no-repeat scroll 0 -110px;}* html div.widget-liquid-left{width:99%;}#wp_inactive_widgets{padding-bottom:8px;}* html .widgets-sortables{height:50px;}* html a#content_resize{right:-2px;}* html .widget-title h4{width:205px;}* html #removing-widget .in-widget-title{display:none;}#available-widgets .widget-holder{padding-bottom:65px;}#widgets-left .inactive{padding-bottom:10px;}.widget-liquid-right .widget,#wp_inactive_widgets .widget{position:relative;}* html .media-item .pinkynail{height:32px;width:40px;}#wpcontent .button-primary-disabled{color:#9FD0D5;background:#298CBA;}#wpcontent #ajax-loading,#wpcontent .ajax-loading{vertical-align:baseline;}* html .describe .field input.text,* html .describe .field textarea{width:440px;}#the-comment-list .unapproved tr,#the-comment-list .unapproved td{background-color:#ffffe0;}.imgedit-submit{width:300px;}* html input{border:1px solid #dfdfdf;}#nav-menu-header,#nav-menus-frame,#wpbody,.menu li{zoom:100%;}#update-nav-menu #post-body{overflow:hidden;}.menu li{min-width:100%;}.menu li.sortable-placeholder{min-width:400px;} \ No newline at end of file diff --git a/wp-admin/css/ie.dev.css b/wp-admin/css/ie.dev.css index 5e919b45f..a41d08fe8 100644 --- a/wp-admin/css/ie.dev.css +++ b/wp-admin/css/ie.dev.css @@ -1,16 +1,56 @@ /* Fixes for IE bugs */ +#wp-fullscreen-title { + width: 97%; +} + +#wp_mce_fullscreen_ifr { + background-color: #f9f9f9; +} + +#wp-fullscreen-tagline { + color: #888; + font-size: 14px; +} + +#adminmenuback { + left: 0; +} + +#adminmenu li.wp-menu-separator, +#adminmenu li.wp-menu-separator-last { + font-size: 1px; + line-height: 1; +} + +#adminmenu a.menu-top { + border-bottom: 0 none; + border-top: 1px solid #ddd; +} + +#adminmenu .separator { + font-size: 1px; + line-height: 1px; +} + #wpbody-content input.button, +#wpbody-content input.button-primary, #wpbody-content input.button-secondary, #wpbody-content input.button-highlighted { - padding: 2px 3px; + overflow: visible; } -#minor-publishing-actions input, -#major-publishing-actions input { - min-width: auto; - padding-left: 0; - padding-right: 0; +#dashboard-widgets #dashboard_quick_press form p.submit #publish { + float: none; +} + +#dashboard-widgets h3 a { + height: 14px; + line-height: 14px; +} + +.tablenav-pages .current-page { + vertical-align: middle; } #wpbody-content .postbox { @@ -64,7 +104,7 @@ margin: 0; } -.folded #adminmenu li.menu-top { +.js.folded #adminmenu li.menu-top { display: block; zoom: 100%; } @@ -106,33 +146,30 @@ ul#adminmenu { .major-publishing-actions, .wp-submenu, .wp-submenu li, -.wp-menu-toggle { +.wp-menu-toggle, +#template, +#template div, +#editcat, +#addcat, +* html .stuffbox h3 { zoom: 100%; } -.folded #adminmenu li.wp-menu-separator { - width: 28px; -} - #wpcontent #adminmenu .wp-submenu li.wp-submenu-head { padding: 3px 4px 4px 10px; zoom: 100%; } -.folded #adminmenu .menu-top { +.js.folded #adminmenu .menu-top { height: 30px; } -.folded #adminmenu .wp-submenu { +.js.folded #adminmenu .wp-submenu { margin: -1px 0 0 0; } -#template, -#template div, -#editcat, -#addcat, -* html .stuffbox h3 { - zoom: 100%; +.wp-menu-arrow { + height: 28px; } .submitbox { @@ -184,19 +221,10 @@ ul#adminmenu { } /* end Inline Editor */ -input { - line-height: 1; -} - * html .row-actions { visibility: visible; } -#dashboard-widgets h3 a { - height: 20px; - line-height: 20px; -} - #wphead-info { float: right; } @@ -314,9 +342,10 @@ div#dashboard-widgets { margin: 4px 0 0 -9px; } -.tablenav .button-secondary, .nav .button-secondary { - padding: 0 1px; - vertical-align: middle; +.tablenav .button-secondary, +.nav .button-secondary { + padding-top: 2px; + padding-bottom: 2px; } .tablenav select { diff --git a/wp-admin/css/install.css b/wp-admin/css/install.css index ba9fb3982..fa7687249 100644 --- a/wp-admin/css/install.css +++ b/wp-admin/css/install.css @@ -1 +1 @@ -html{background:#f9f9f9;}body{background:#fff;color:#333;font-family:"Lucida Grande",Verdana,Arial,"Bitstream Vera Sans",sans-serif;margin:2em auto;width:700px;padding:1em 2em;-moz-border-radius:11px;-khtml-border-radius:11px;-webkit-border-radius:11px;border-radius:11px;border:1px solid #dfdfdf;}a{color:#2583ad;text-decoration:none;}a:hover{color:#d54e21;}h1{border-bottom:1px solid #dadada;clear:both;color:#666;font:24px Georgia,"Times New Roman",Times,serif;margin:5px 0 0 -4px;padding:0;padding-bottom:7px;}h2{font-size:16px;}p,li,dd,dt{padding-bottom:2px;font-size:12px;line-height:18px;}code,.code{font-size:13px;}ul,ol,dl{padding:5px 5px 5px 22px;}a img{border:0;}abbr{border:0;font-variant:normal;}#logo{margin:6px 0 14px 0;border-bottom:none;text-align:center;}.step{margin:20px 0 15px;}.step,th{text-align:left;padding:0;}.submit input,.button,.button-secondary{font-family:"Lucida Grande",Verdana,Arial,"Bitstream Vera Sans",sans-serif;text-decoration:none;font-size:14px!important;line-height:16px;padding:6px 12px;cursor:pointer;border:1px solid #bbb;color:#464646;-moz-border-radius:15px;-khtml-border-radius:15px;-webkit-border-radius:15px;border-radius:15px;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;-khtml-box-sizing:content-box;box-sizing:content-box;}.button:hover,.button-secondary:hover,.submit input:hover{color:#000;border-color:#666;}.button,.submit input,.button-secondary{background:#f2f2f2 url(../images/white-grad.png) repeat-x scroll left top;}.button:active,.submit input:active,.button-secondary:active{background:#eee url(../images/white-grad-active.png) repeat-x scroll left top;}textarea{border:1px solid #bbb;-moz-border-radius:4px;-khtml-border-radius:4px;-webkit-border-radius:4px;border-radius:4px;}.form-table{border-collapse:collapse;margin-top:1em;width:100%;}.form-table td{margin-bottom:9px;padding:10px;border-bottom:8px solid #fff;font-size:12px;}.form-table th{font-size:13px;text-align:left;padding:16px 10px 10px 10px;border-bottom:8px solid #fff;width:130px;vertical-align:top;}.form-table tr{background:#f3f3f3;}.form-table code{line-height:18px;font-size:18px;}.form-table p{margin:4px 0 0 0;font-size:11px;}.form-table input{line-height:20px;font-size:15px;padding:2px;}.form-table th p{font-weight:normal;}#error-page{margin-top:50px;}#error-page p{font-size:12px;line-height:18px;margin:25px 0 20px;}#error-page code,.code{font-family:Consolas,Monaco,Courier,monospace;}#pass-strength-result{background-color:#eee;border-color:#ddd!important;border-style:solid;border-width:1px;margin:5px 5px 5px 1px;padding:5px;text-align:center;width:200px;display:none;}#pass-strength-result.bad{background-color:#ffb78c;border-color:#ff853c!important;}#pass-strength-result.good{background-color:#ffec8b;border-color:#fc0!important;}#pass-strength-result.short{background-color:#ffa0a0;border-color:#f04040!important;}#pass-strength-result.strong{background-color:#c3ff88;border-color:#8dff1c!important;}.message{border:1px solid #e6db55;padding:.3em .6em;margin:5px 0 15px;background-color:#ffffe0;} \ No newline at end of file +html{background:#f9f9f9;}body{background:#fff;color:#333;font-family:sans-serif;margin:2em auto;width:700px;padding:1em 2em;-moz-border-radius:11px;-khtml-border-radius:11px;-webkit-border-radius:11px;border-radius:11px;border:1px solid #dfdfdf;}a{color:#2583ad;text-decoration:none;}a:hover{color:#d54e21;}h1{border-bottom:1px solid #dadada;clear:both;color:#666;font:24px Georgia,"Times New Roman",Times,serif;margin:5px 0 0 -4px;padding:0;padding-bottom:7px;}h2{font-size:16px;}p,li,dd,dt{padding-bottom:2px;font-size:12px;line-height:18px;}code,.code{font-size:13px;}ul,ol,dl{padding:5px 5px 5px 22px;}a img{border:0;}abbr{border:0;font-variant:normal;}#logo{margin:6px 0 14px 0;border-bottom:none;text-align:center;}.step{margin:20px 0 15px;}.step,th{text-align:left;padding:0;}.submit input,.button,.button-secondary{font-family:sans-serif;text-decoration:none;font-size:14px!important;line-height:16px;padding:6px 12px;cursor:pointer;border:1px solid #bbb;color:#464646;-moz-border-radius:15px;-khtml-border-radius:15px;-webkit-border-radius:15px;border-radius:15px;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;-khtml-box-sizing:content-box;box-sizing:content-box;}.button:hover,.button-secondary:hover,.submit input:hover{color:#000;border-color:#666;}.button,.submit input,.button-secondary{background:#f2f2f2 url(../images/white-grad.png) repeat-x scroll left top;}.button:active,.submit input:active,.button-secondary:active{background:#eee url(../images/white-grad-active.png) repeat-x scroll left top;}textarea{border:1px solid #bbb;-moz-border-radius:3px;-khtml-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;}.form-table{border-collapse:collapse;margin-top:1em;width:100%;}.form-table td{margin-bottom:9px;padding:10px;border-bottom:8px solid #fff;font-size:12px;}.form-table th{font-size:13px;text-align:left;padding:16px 10px 10px 10px;border-bottom:8px solid #fff;width:130px;vertical-align:top;}.form-table tr{background:#f3f3f3;}.form-table code{line-height:18px;font-size:18px;}.form-table p{margin:4px 0 0 0;font-size:11px;}.form-table input{line-height:20px;font-size:15px;padding:2px;}.form-table th p{font-weight:normal;}#error-page{margin-top:50px;}#error-page p{font-size:12px;line-height:18px;margin:25px 0 20px;}#error-page code,.code{font-family:Consolas,Monaco,monospace;}#pass-strength-result{background-color:#eee;border-color:#ddd!important;border-style:solid;border-width:1px;margin:5px 5px 5px 1px;padding:5px;text-align:center;width:200px;display:none;}#pass-strength-result.bad{background-color:#ffb78c;border-color:#ff853c!important;}#pass-strength-result.good{background-color:#ffec8b;border-color:#fc0!important;}#pass-strength-result.short{background-color:#ffa0a0;border-color:#f04040!important;}#pass-strength-result.strong{background-color:#c3ff88;border-color:#8dff1c!important;}.message{border:1px solid #e6db55;padding:.3em .6em;margin:5px 0 15px;background-color:#ffffe0;} \ No newline at end of file diff --git a/wp-admin/css/install.dev.css b/wp-admin/css/install.dev.css index ed334dfb0..d1a389f10 100644 --- a/wp-admin/css/install.dev.css +++ b/wp-admin/css/install.dev.css @@ -5,7 +5,7 @@ html { body { background: #fff; color: #333; - font-family: "Lucida Grande", Verdana, Arial, "Bitstream Vera Sans", sans-serif; + font-family: sans-serif; margin: 2em auto; width: 700px; padding: 1em 2em; @@ -74,7 +74,7 @@ abbr { } .submit input, .button, .button-secondary { - font-family: "Lucida Grande", Verdana, Arial, "Bitstream Vera Sans", sans-serif; + font-family: sans-serif; text-decoration: none; font-size: 14px !important; line-height: 16px; @@ -107,10 +107,10 @@ abbr { textarea { border: 1px solid #bbb; - -moz-border-radius: 4px; - -khtml-border-radius: 4px; - -webkit-border-radius: 4px; - border-radius: 4px; + -moz-border-radius: 3px; + -khtml-border-radius: 3px; + -webkit-border-radius: 3px; + border-radius: 3px; } .form-table { @@ -170,7 +170,7 @@ textarea { } #error-page code, .code { - font-family: Consolas, Monaco, Courier, monospace; + font-family: Consolas, Monaco, monospace; } #pass-strength-result { diff --git a/wp-admin/css/login.css b/wp-admin/css/login.css index 127603168..d0e6f3d4e 100644 --- a/wp-admin/css/login.css +++ b/wp-admin/css/login.css @@ -1 +1 @@ -*{margin:0;padding:0;}body{padding-top:30px;font:11px "Lucida Grande",Verdana,Arial,"Bitstream Vera Sans",sans-serif;}form{margin-left:8px;padding:16px 16px 40px 16px;font-weight:normal;-moz-border-radius:11px;-khtml-border-radius:11px;-webkit-border-radius:11px;border-radius:11px;background:#fff;border:1px solid #e5e5e5;-moz-box-shadow:rgba(200,200,200,1) 0 4px 18px;-webkit-box-shadow:rgba(200,200,200,1) 0 4px 18px;-khtml-box-shadow:rgba(200,200,200,1) 0 4px 18px;box-shadow:rgba(200,200,200,1) 0 4px 18px;}form .forgetmenot{font-weight:normal;float:left;margin-bottom:0;}.button-primary{font-family:"Lucida Grande",Verdana,Arial,"Bitstream Vera Sans",sans-serif;padding:3px 10px;border:none;font-size:12px;border-width:1px;border-style:solid;-moz-border-radius:11px;-khtml-border-radius:11px;-webkit-border-radius:11px;border-radius:11px;cursor:pointer;text-decoration:none;margin-top:-3px;}#login form p{margin-bottom:0;}label{color:#777;font-size:13px;}form .forgetmenot label{font-size:11px;line-height:19px;}form .submit,.alignright{float:right;}form p{margin-bottom:24px;}h1 a{background:url(../images/logo-login.gif) no-repeat top center;width:326px;height:67px;text-indent:-9999px;overflow:hidden;padding-bottom:15px;display:block;}#nav{text-shadow:rgba(255,255,255,1) 0 1px 0;}#backtoblog{position:absolute;top:0;left:0;border-bottom:#c6c6c6 1px solid;background:#d9d9d9;background:-moz-linear-gradient(bottom,#d7d7d7,#e4e4e4);background:-webkit-gradient(linear,left bottom,left top,from(#d7d7d7),to(#e4e4e4));height:30px;width:100%;}#backtoblog a{text-decoration:none;display:block;padding:8px 0 0 15px;}#login{width:320px;margin:7em auto;}#login_error,.message{margin:0 0 16px 8px;border-width:1px;border-style:solid;padding:12px;-moz-border-radius:3px;-khtml-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;}#nav{margin:0 0 0 8px;padding:16px;}body form .input{font-size:24px;width:97%;padding:3px;margin-top:2px;margin-right:6px;margin-bottom:16px;border:1px solid #e5e5e5;background:#fbfbfb;}input{color:#555;}.clear{clear:both;}#pass-strength-result{font-weight:bold;border-style:solid;border-width:1px;margin:12px 0 6px;padding:6px 5px;text-align:center;} \ No newline at end of file +*{margin:0;padding:0;}html{background:#fbfbfb!important;}body{padding-top:30px;font-family:sans-serif;font-size:12px;}form{margin-left:8px;padding:26px 24px 46px;font-weight:normal;-moz-border-radius:3px;-khtml-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;background:#fff;border:1px solid #e5e5e5;-moz-box-shadow:rgba(200,200,200,0.7) 0 4px 10px -1px;-webkit-box-shadow:rgba(200,200,200,0.7) 0 4px 10px -1px;-khtml-box-shadow:rgba(200,200,200,0.7) 0 4px 10px -1px;box-shadow:rgba(200,200,200,0.7) 0 4px 10px -1px;}form .forgetmenot{font-weight:normal;float:left;margin-bottom:0;}.button-primary{font-family:sans-serif;padding:3px 10px;border:none;font-size:13px;border-width:1px;border-style:solid;-moz-border-radius:11px;-khtml-border-radius:11px;-webkit-border-radius:11px;border-radius:11px;cursor:pointer;text-decoration:none;margin-top:-3px;}#login form p{margin-bottom:0;}label{color:#777;font-size:14px;}form .forgetmenot label{font-size:12px;line-height:19px;}form .submit,.alignright{float:right;}form p{margin-bottom:24px;}h1 a{background:url(../images/logo-login.png) no-repeat top center;width:326px;height:67px;text-indent:-9999px;overflow:hidden;padding-bottom:15px;display:block;}#login{width:320px;margin:7em auto;}#login_error,.message{margin:0 0 16px 8px;border-width:1px;border-style:solid;padding:12px;-moz-border-radius:3px;-khtml-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;}#nav,#backtoblog{text-shadow:rgba(255,255,255,1) 0 1px 0;margin:0 0 0 16px;padding:16px 16px 0;}#backtoblog{padding:12px 16px 0;}body form .input{font-family:"HelveticaNeue-Light","Helvetica Neue Light","Helvetica Neue",sans-serif;font-weight:200;font-size:24px;width:97%;padding:3px;margin-top:2px;margin-right:6px;margin-bottom:16px;border:1px solid #e5e5e5;background:#fbfbfb;outline:none;-moz-box-shadow:inset 1px 1px 2px rgba(200,200,200,0.2);-webkit-box-shadow:inset 1px 1px 2px rgba(200,200,200,0.2);box-shadow:inset 1px 1px 2px rgba(200,200,200,0.2);}input{color:#555;}.clear{clear:both;}#pass-strength-result{font-weight:bold;border-style:solid;border-width:1px;margin:12px 0 6px;padding:6px 5px;text-align:center;} \ No newline at end of file diff --git a/wp-admin/css/login.dev.css b/wp-admin/css/login.dev.css index 6124b8777..3dc5b7981 100644 --- a/wp-admin/css/login.dev.css +++ b/wp-admin/css/login.dev.css @@ -1,24 +1,29 @@ * { margin: 0; padding: 0; } +html { + background: #fbfbfb !important; +} + body { padding-top: 30px; - font: 11px "Lucida Grande", Verdana, Arial, "Bitstream Vera Sans", sans-serif; + font-family: sans-serif; + font-size: 12px; } form { margin-left: 8px; - padding: 16px 16px 40px 16px; + padding: 26px 24px 46px; font-weight: normal; - -moz-border-radius: 11px; - -khtml-border-radius: 11px; - -webkit-border-radius: 11px; - border-radius: 11px; + -moz-border-radius: 3px; + -khtml-border-radius: 3px; + -webkit-border-radius: 3px; + border-radius: 3px; background: #fff; border: 1px solid #e5e5e5; - -moz-box-shadow: rgba(200,200,200,1) 0 4px 18px; - -webkit-box-shadow: rgba(200,200,200,1) 0 4px 18px; - -khtml-box-shadow: rgba(200,200,200,1) 0 4px 18px; - box-shadow: rgba(200,200,200,1) 0 4px 18px; + -moz-box-shadow: rgba(200, 200, 200, 0.7) 0px 4px 10px -1px; + -webkit-box-shadow: rgba(200, 200, 200, 0.7) 0px 4px 10px -1px; + -khtml-box-shadow: rgba(200, 200, 200, 0.7) 0px 4px 10px -1px; + box-shadow: rgba(200, 200, 200, 0.7) 0px 4px 10px -1px; } form .forgetmenot { @@ -28,10 +33,10 @@ form .forgetmenot { } .button-primary { - font-family: "Lucida Grande", Verdana, Arial, "Bitstream Vera Sans", sans-serif; + font-family: sans-serif; padding: 3px 10px; border: none; - font-size: 12px; + font-size: 13px; border-width: 1px; border-style: solid; -moz-border-radius: 11px; @@ -49,11 +54,11 @@ form .forgetmenot { label { color: #777; - font-size: 13px; + font-size: 14px; } form .forgetmenot label { - font-size: 11px; + font-size: 12px; line-height: 19px; } @@ -67,7 +72,7 @@ form p { } h1 a { - background: url(../images/logo-login.gif) no-repeat top center; + background: url(../images/logo-login.png) no-repeat top center; width: 326px; height: 67px; text-indent: -9999px; @@ -76,30 +81,11 @@ h1 a { display: block; } -#nav { - text-shadow: rgba(255,255,255,1) 0 1px 0; +#login { + width: 320px; + margin: 7em auto; } -#backtoblog { - position: absolute; - top: 0; - left: 0; - border-bottom: #c6c6c6 1px solid; - background: #d9d9d9; /* fallback color */ - background: -moz-linear-gradient(bottom, #d7d7d7, #e4e4e4); - background: -webkit-gradient(linear, left bottom, left top, from(#d7d7d7), to(#e4e4e4)); - height: 30px; - width: 100%; -} - -#backtoblog a { - text-decoration: none; - display: block; - padding: 8px 0 0 15px; -} - -#login { width: 320px; margin: 7em auto; } - #login_error, .message { margin: 0 0 16px 8px; @@ -112,12 +98,19 @@ h1 a { border-radius: 3px; } -#nav { - margin: 0 0 0 8px; - padding: 16px; +#nav, +#backtoblog { + text-shadow: rgba(255,255,255,1) 0 1px 0; + margin: 0 0 0 16px; + padding: 16px 16px 0; +} +#backtoblog { + padding: 12px 16px 0; } body form .input { + font-family: "HelveticaNeue-Light", "Helvetica Neue Light", "Helvetica Neue", sans-serif; + font-weight: 200; font-size: 24px; width: 97%; padding: 3px; @@ -126,6 +119,10 @@ body form .input { margin-bottom: 16px; border: 1px solid #e5e5e5; background: #fbfbfb; + outline: none; + -moz-box-shadow: inset 1px 1px 2px rgba(200, 200, 200, 0.2); + -webkit-box-shadow: inset 1px 1px 2px rgba(200, 200, 200, 0.2); + box-shadow: inset 1px 1px 2px rgba(200, 200, 200, 0.2); } input { diff --git a/wp-admin/css/media-rtl.css b/wp-admin/css/media-rtl.css index 5b9e94145..19d73663b 100644 --- a/wp-admin/css/media-rtl.css +++ b/wp-admin/css/media-rtl.css @@ -1 +1 @@ -body#media-upload ul#sidemenu{left:auto;right:0;}#search-filter{text-align:left;}.align .field label{padding:0 28px 0 0;margin:0 0 0 1em;}.image-align-none-label,.image-align-left-label,.image-align-center-label,.image-align-right-label{background-position:center right;}tr.image-size div.image-size-item{float:right;}tr.image-size label{margin:0 1em 0 0;}.filename.original{float:right;}.crunching{text-align:left;margin-right:0;margin-left:5px;}button.dismiss{right:auto;left:5px;}.file-error{margin:0 50px 5px 0;}.progress{left:auto;right:0;}.describe td{padding:0 0 0 5px;}.bar{border-right-width:0;border-left-width:3px;border-right-style:none;border-left-style:solid;}#media-upload .media-upload-form p{margin:0 0 1em 1em;}.filename{float:right;margin-left:0;margin-right:10px;}#media-upload .describe th.label{text-align:right;}.menu_order{float:left;}.media-upload-form label.form-help,td.help,#media-upload p.help,#media-upload label.help{font-family:Tahoma,Arial;}#gallery-settings #basic th.label{padding:5px 0 5px 5px;}#gallery-settings .title,h3.media-title{font-family:Tahoma,Arial;}#gallery-settings .describe th.label{text-align:right;}#gallery-settings label,#gallery-settings legend{margin-right:0;margin-left:15px;}#gallery-settings .align .field label{margin:0 0 0 1.5em;} \ No newline at end of file +body#media-upload ul#sidemenu{left:auto;right:0;}#search-filter{text-align:left;}.align .field label{padding:0 28px 0 0;margin:0 0 0 1em;}.image-align-none-label,.image-align-left-label,.image-align-center-label,.image-align-right-label{background-position:center right;}tr.image-size div.image-size-item{float:right;}tr.image-size label{margin:0 1em 0 0;}.crunching{text-align:left;margin-right:0;margin-left:5px;}button.dismiss{right:auto;left:5px;}.file-error{margin:0 50px 5px 0;}.progress{left:auto;right:0;}.describe td{padding:0 0 0 5px;}.bar{border-right-width:0;border-left-width:3px;border-right-style:none;border-left-style:solid;}#media-upload .media-upload-form p{margin:0 0 1em 1em;}#media-upload .describe th.label{text-align:right;}.menu_order{float:left;}.media-upload-form label.form-help,td.help,#media-upload p.help,#media-upload label.help{font-family:Tahoma,Arial;}#gallery-settings #basic th.label{padding:5px 0 5px 5px;}#gallery-settings .title,h3.media-title{font-family:Tahoma,Arial;}#gallery-settings .describe th.label{text-align:right;}#gallery-settings label,#gallery-settings legend{margin-right:0;margin-left:15px;}#gallery-settings .align .field label{margin:0 0 0 1.5em;}#sort-buttons{margin:3px 0 -8px 25px;text-align:left;}#sort-buttons #asc,#sort-buttons #showall{padding-left:0;padding-right:5px;}#sort-buttons span{margin-right:0;margin-left:25px;} \ No newline at end of file diff --git a/wp-admin/css/media-rtl.dev.css b/wp-admin/css/media-rtl.dev.css index fed864442..efa1e2e3d 100644 --- a/wp-admin/css/media-rtl.dev.css +++ b/wp-admin/css/media-rtl.dev.css @@ -19,9 +19,6 @@ tr.image-size div.image-size-item { tr.image-size label { margin: 0 1em 0 0; } -.filename.original { - float: right; -} .crunching { text-align: left; margin-right: 0; @@ -52,11 +49,6 @@ button.dismiss { #media-upload .media-upload-form p { margin: 0 0 1em 1em; } -.filename { - float: right; - margin-left: 0; - margin-right: 10px; -} #media-upload .describe th.label { text-align: right; } @@ -83,3 +75,18 @@ button.dismiss { #gallery-settings .align .field label { margin: 0 0 0 1.5em; } +#sort-buttons { + margin: 3px 0 -8px 25px; + text-align: left; +} + +#sort-buttons #asc, +#sort-buttons #showall { + padding-left: 0; + padding-right: 5px; +} + +#sort-buttons span { + margin-right: 0; + margin-left: 25px; +} diff --git a/wp-admin/css/media.css b/wp-admin/css/media.css index 7daea2604..157ecdf66 100644 --- a/wp-admin/css/media.css +++ b/wp-admin/css/media.css @@ -1 +1 @@ -div#media-upload-header{margin:0;padding:0 5px;font-weight:bold;position:relative;border-bottom-width:1px;border-bottom-style:solid;}body#media-upload ul#sidemenu{font-weight:normal;margin:0 5px;left:0;bottom:-1px;float:none;overflow:hidden;}div#media-upload-error{margin:1em;font-weight:bold;}form{margin:1em;}#search-filter{text-align:right;}th{position:relative;}.media-upload-form label.form-help,td.help{font-family:"Lucida Grande",Verdana,Arial,"Bitstream Vera Sans",sans-serif;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;}.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;}tr.image-size td{width:460px;}tr.image-size div.image-size-item{float:left;width:25%;margin:0;}#library-form .progress,#gallery-form .progress,#flash-upload-ui,.insert-gallery,.describe.startopen,.describe.startclosed{display:none;}.media-item .thumbnail{max-width:128px;max-height:128px;}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;}abbr.required{text-decoration:none;border:none;}.describe label{display:inline;}.describe td{vertical-align:middle;padding:0 5px 8px 0;}.describe td.error{padding:2px 8px;}.describe td.A1{width:132px;}.describe input[type="text"],.describe textarea{width:460px;border-width:1px;border-style:solid;}.hidden{height:0;width:0;overflow:hidden;border:none;}#media-upload p.ml-submit{padding:1em 0;}#media-upload p.help,#media-upload label.help{font-family:"Lucida Grande",Verdana,Arial,"Bitstream Vera Sans",sans-serif;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{border-bottom-width:1px;border-bottom-style:solid;min-height:36px;width:100%;}#media-upload .ui-sortable .media-item{cursor:move;}.filename{line-height:36px;padding:0 10px;overflow:hidden;}#media-upload .describe{width:100%;clear:both;cursor:default;}#media-upload .slidetoggle{border-top-width:1px;border-top-style:solid;}#media-upload .describe th.label{padding-top:.2em;text-align:left;min-width:120px;}#media-upload tr.align td.field{text-align:center;}#media-upload tr.image-size{margin-bottom:1em;height:3em;}#media-upload #filter{width:623px;}#media-upload #filter .subsubsub{margin:8px 0;}#filter .tablenav select{border-style:solid;border-width:1px;padding:2px;vertical-align:top;width:auto;}#media-upload .del-attachment{display:none;margin:5px 0;}.menu_order{float:right;font-size:11px;margin:10px 10px 0;}.menu_order_input{border:1px solid #ddd;font-size:10px;padding:1px;width:23px;}.ui-sortable-helper{background-color:#fff;border:1px solid #aaa;opacity:.6;filter:alpha(opacity=60);}#media-upload th.order-head{width:20%;text-align:center;}#media-upload th.actions-head{width:25%;text-align:center;}#media-upload a.wp-post-thumbnail{margin:0 20px;}#media-items a.delete{display:block;float:right;}#media-upload .widefat{width:626px;border-style:solid solid none;}.sorthelper{height:37px;width:623px;display:block;}#gallery-settings th.label{width:160px;}#gallery-settings #basic th.label{padding:5px 5px 5px 0;}#gallery-settings .title{clear:both;padding:0 0 3px;font-size:1.6em;border-bottom:1px solid #DADADA;}h3.media-title{font-size:1.6em;}h4.media-sub-title{border-bottom:1px solid #DADADA;font-size:1.3em;margin:12px;padding:0 0 3px;}#gallery-settings .title,h3.media-title,h4.media-sub-title{font-family:Georgia,"Times New Roman",Times,serif;font-weight:normal;color:#5A5A5A;}#gallery-settings .describe td{vertical-align:middle;height:3em;}#gallery-settings .describe th.label{padding-top:.5em;text-align:left;}#gallery-settings .describe{padding:5px;width:615px;clear:both;cursor:default;}#gallery-settings .describe select{width:15em;}#gallery-settings .describe select option,#gallery-settings .describe td{padding:0;}#gallery-settings label,#gallery-settings legend{font-size:13px;color:#464646;margin-right:15px;}#gallery-settings .align .field label{margin:0 1.5em 0 0;}#gallery-settings p.ml-submit{border-top:1px solid #dfdfdf;}#gallery-settings select#columns{width:6em;}#sort-buttons{font-size:.8em;margin:3px 25px -8px 0;text-align:right;max-width:625px;}#sort-buttons a{text-decoration:none;}#sort-buttons #asc,#sort-buttons #showall{padding-left:5px;}#sort-buttons span{margin-right:25px;} \ No newline at end of file +div#media-upload-header{margin:0;padding:0 5px;font-weight:bold;position:relative;border-bottom-width:1px;border-bottom-style:solid;}body#media-upload ul#sidemenu{font-weight:normal;margin:0 5px;left:0;bottom:-1px;float:none;overflow:hidden;}div#media-upload-error{margin:1em;font-weight:bold;}form{margin:1em;}#search-filter{text-align:right;}th{position:relative;}.media-upload-form label.form-help,td.help{font-family:sans-serif;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;}.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;}tr.image-size td{width:460px;}tr.image-size div.image-size-item{float:left;width:25%;margin:0;}#library-form .progress,#gallery-form .progress,.insert-gallery,.describe.startopen,.describe.startclosed{display:none;}.media-item .thumbnail{max-width:128px;max-height:128px;}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;}abbr.required{text-decoration:none;border:none;}.describe label{display:inline;}.describe td{vertical-align:middle;padding:0 5px 8px 0;}.describe td.error{padding:2px 8px;}.describe td.A1{width:132px;}.describe input[type="text"],.describe textarea{width:460px;border-width:1px;border-style:solid;}.hidden{height:0;width:0;overflow:hidden;border:none;}#media-upload p.ml-submit{padding:1em 0;}#media-upload p.help,#media-upload label.help{font-family:sans-serif;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{border-bottom-width:1px;border-bottom-style:solid;min-height:36px;width:100%;}#media-upload .ui-sortable .media-item{cursor:move;}.filename{line-height:36px;padding:0 10px;overflow:hidden;}#media-upload .describe{width:100%;clear:both;cursor:default;}#media-upload .slidetoggle{border-top-width:1px;border-top-style:solid;}#media-upload .describe th.label{padding-top:.2em;text-align:left;min-width:120px;}#media-upload tr.align td.field{text-align:center;}#media-upload tr.image-size{margin-bottom:1em;height:3em;}#media-upload #filter{width:623px;}#media-upload #filter .subsubsub{margin:8px 0;}#filter .tablenav select{border-style:solid;border-width:1px;padding:2px;vertical-align:top;width:auto;}#media-upload .del-attachment{display:none;margin:5px 0;}.menu_order{float:right;font-size:11px;margin:10px 10px 0;}.menu_order_input{border:1px solid #ddd;font-size:10px;padding:1px;width:23px;}.ui-sortable-helper{background-color:#fff;border:1px solid #aaa;opacity:.6;filter:alpha(opacity=60);}#media-upload th.order-head{width:20%;text-align:center;}#media-upload th.actions-head{width:25%;text-align:center;}#media-upload a.wp-post-thumbnail{margin:0 20px;}#media-items a.delete{display:block;float:right;}#media-upload .widefat{width:626px;border-style:solid solid none;}.sorthelper{height:37px;width:623px;display:block;}#gallery-settings th.label{width:160px;}#gallery-settings #basic th.label{padding:5px 5px 5px 0;}#gallery-settings .title{clear:both;padding:0 0 3px;font-size:1.6em;border-bottom:1px solid #DADADA;}h3.media-title{font-size:1.6em;}h4.media-sub-title{border-bottom:1px solid #DADADA;font-size:1.3em;margin:12px;padding:0 0 3px;}#gallery-settings .title,h3.media-title,h4.media-sub-title{font-family:Georgia,"Times New Roman",Times,serif;font-weight:normal;color:#5A5A5A;}#gallery-settings .describe td{vertical-align:middle;height:3em;}#gallery-settings .describe th.label{padding-top:.5em;text-align:left;}#gallery-settings .describe{padding:5px;width:615px;clear:both;cursor:default;}#gallery-settings .describe select{width:15em;}#gallery-settings .describe select option,#gallery-settings .describe td{padding:0;}#gallery-settings label,#gallery-settings legend{font-size:13px;color:#464646;margin-right:15px;}#gallery-settings .align .field label{margin:0 1.5em 0 0;}#gallery-settings p.ml-submit{border-top:1px solid #dfdfdf;}#gallery-settings select#columns{width:6em;}#sort-buttons{font-size:.8em;margin:3px 25px -8px 0;text-align:right;max-width:625px;}#sort-buttons a{text-decoration:none;}#sort-buttons #asc,#sort-buttons #showall{padding-left:5px;}#sort-buttons span{margin-right:25px;} \ No newline at end of file diff --git a/wp-admin/css/media.dev.css b/wp-admin/css/media.dev.css index 3c2577287..f439f49a1 100644 --- a/wp-admin/css/media.dev.css +++ b/wp-admin/css/media.dev.css @@ -34,7 +34,7 @@ th { } .media-upload-form label.form-help, td.help { - font-family: "Lucida Grande", Verdana, Arial, "Bitstream Vera Sans", sans-serif; + font-family: sans-serif; font-style: italic; font-weight: normal; } @@ -83,7 +83,6 @@ tr.image-size div.image-size-item { #library-form .progress, #gallery-form .progress, -#flash-upload-ui, .insert-gallery, .describe.startopen, .describe.startclosed { @@ -153,7 +152,7 @@ abbr.required { #media-upload p.help, #media-upload label.help { - font-family: "Lucida Grande", Verdana, Arial, "Bitstream Vera Sans", sans-serif; + font-family: sans-serif; font-style: italic; font-weight: normal; } diff --git a/wp-admin/css/ms.css b/wp-admin/css/ms.css index a7e398234..29d9d5404 100644 --- a/wp-admin/css/ms.css +++ b/wp-admin/css/ms.css @@ -1 +1 @@ -#dashboard_right_now p.musub{margin-top:12px;border-top:1px solid #ececec;padding-left:16px;position:static;}#dashboard_right_now td.b a.musublink{font-size:16px;}#dashboard_right_now div.musubtable{border-top:none;}#dashboard_right_now div.musubtable .t{white-space:normal;}.site-deleted{background:#ff8573;}.site-spammed{background:#faafaa;}.site-archived{background:#ffebe8;}.site-mature{background:#fecac2;} \ No newline at end of file +#dashboard_right_now p.musub{margin-top:12px;border-top:1px solid #ececec;padding-left:16px;position:static;}.rtl #dashboard_right_now p.musub{padding-left:0;padding-right:16px;}#dashboard_right_now td.b a.musublink{font-size:16px;}#dashboard_right_now div.musubtable{border-top:none;}#dashboard_right_now div.musubtable .t{white-space:normal;}.wp-list-table .site-deleted{background:#ff8573;}.wp-list-table .site-spammed{background:#faafaa;}.wp-list-table .site-archived{background:#ffebe8;}.wp-list-table .site-mature{background:#fecac2;} \ No newline at end of file diff --git a/wp-admin/css/ms.dev.css b/wp-admin/css/ms.dev.css index 0fb158a1f..5a5e74918 100644 --- a/wp-admin/css/ms.dev.css +++ b/wp-admin/css/ms.dev.css @@ -6,6 +6,11 @@ position: static; } +.rtl #dashboard_right_now p.musub { + padding-left: 0; + padding-right: 16px; +} + #dashboard_right_now td.b a.musublink { font-size: 16px; } @@ -19,15 +24,15 @@ } /* Background Color for Site Status */ -.site-deleted { +.wp-list-table .site-deleted { background: #ff8573; } -.site-spammed { +.wp-list-table .site-spammed { background: #faafaa; } -.site-archived { +.wp-list-table .site-archived { background: #ffebe8; } -.site-mature { +.wp-list-table .site-mature { background: #fecac2; } diff --git a/wp-admin/css/nav-menu-rtl.css b/wp-admin/css/nav-menu-rtl.css index 9d24ddda8..639f5e9d1 100644 --- a/wp-admin/css/nav-menu-rtl.css +++ b/wp-admin/css/nav-menu-rtl.css @@ -1 +1 @@ -#nav-menus-frame{margin-right:300px;margin-left:0;}#wpbody-content #menu-settings-column{margin-right:-300px;margin-left:0;float:right;}#menu-management-liquid{float:right;}#menu-management{margin-left:20px;margin-right:0;}#post-body{padding:0 10px 10px 0;}.post-body-plain{padding:10px 0 0 10px;}#menu-management .nav-tabs-arrow-left{right:0;left:auto;}#menu-management .nav-tabs-arrow-right{left:0;right:auto;text-align:left;}#menu-management .nav-tabs{padding-right:20px;padding-left:10px;}.js #menu-management .nav-tabs{float:right;margin-right:0;margin-left:-400px;}#select-nav-menu-container{text-align:left;}#wpbody .open-label{float:right;}#wpbody .open-label span{padding-left:10px;padding-right:0;}.js .input-with-default-title{font-style:normal;font-weight:bold;}.postbox .howto input{float:left;}#nav-menu-theme-locations .button-controls{text-align:left;}.meta-sep,.submitdelete,.submitcancel{float:right;}#cancel-save{margin-right:20px;margin-left:0;}.list-controls{float:right;}.add-to-menu{float:left;}#add-custom-link label span{float:right;padding-left:5px;padding-right:0;}.howto span{float:right;}.list li .menu-item-title input{margin-left:3px;margin-right:0;}.menu-item-handle{padding-right:10px;padding-left:0;}.menu-item-edit-active .menu-item-handle{-moz-border-radius:6px 6px 0 0;-webkit-border-bottom-left-radius:0;-webkit-border-bottom-right-radius:0;-khtml-border-bottom-left-radius:0;-khtml-border-bottom-right-radius:0;border-bottom-left-radius:0;border-bottom-right-radius:0;}.menu-item-handle .item-title{margin-left:13em;margin-right:0;}.menu-item-depth-0{margin-right:0;margin-left:0;}.menu-item-depth-1{margin-right:30px;margin-left:0;}.menu-item-depth-2{margin-right:60px;margin-left:0;}.menu-item-depth-3{margin-right:90px;margin-left:0;}.menu-item-depth-4{margin-right:120px;margin-left:0;}.menu-item-depth-5{margin-right:150px;margin-left:0;}.menu-item-depth-6{margin-right:180px;margin-left:0;}.menu-item-depth-7{margin-right:210px;margin-left:0;}.menu-item-depth-8{margin-right:240px;margin-left:0;}.menu-item-depth-9{margin-right:270px;margin-left:0;}.menu-item-depth-10{margin-right:300px;margin-left:0;}.menu-item-depth-11{margin-right:330px;margin-left:0;}.menu-item-depth-0 .menu-item-transport{margin-right:0;margin-left:0;}.menu-item-depth-1 .menu-item-transport{margin-right:-30px;margin-left:0;}.menu-item-depth-2 .menu-item-transport{margin-right:-60px;margin-left:0;}.menu-item-depth-3 .menu-item-transport{margin-right:-90px;margin-left:0;}.menu-item-depth-4 .menu-item-transport{margin-right:-120px;margin-left:0;}.menu-item-depth-5 .menu-item-transport{margin-right:-150px;margin-left:0;}.menu-item-depth-6 .menu-item-transport{margin-right:-180px;margin-left:0;}.menu-item-depth-7 .menu-item-transport{margin-right:-210px;margin-left:0;}.menu-item-depth-8 .menu-item-transport{margin-right:-240px;margin-left:0;}.menu-item-depth-9 .menu-item-transport{margin-right:-270px;margin-left:0;}.menu-item-depth-10 .menu-item-transport{margin-right:-300px;margin-left:0;}.menu-item-depth-11 .menu-item-transport{margin-right:-330px;margin-left:0;}.item-type{padding-left:10px;padding-right:0;}.item-controls{left:20px;right:auto;}.item-controls .item-order{padding-left:10px;padding-right:0;}.item-edit{background-image:url("../images/menu-bits-rtl.gif?ver=20100531");background-position:100% -105px;left:-20px;right:auto;-moz-border-radius-bottomright:3px;-moz-border-radius-bottomleft:0;-webkit-border-bottom-right-radius:3px;-webkit-border-bottom-left-radius:0;-khtml-border-bottom-right-radius:3px;-khtml-border-bottom-left-radius:0;border-bottom-right-radius:3px;border-bottom-left-radius:0;}.menu-item-settings{padding:10px 10px 10px 0;border-width:0 1px 1px 1px;}.link-to-original{font-style:normal;font-weight:bold;}.link-to-original a{padding-right:4px;padding-left:0;}.menu-item-settings .description-thin,.menu-item-settings .description-wide{margin-left:10px;margin-right:0;float:right;}.major-publishing-actions .publishing-action{text-align:left;float:left;}.major-publishing-actions .delete-action{text-align:right;float:right;padding-left:15px;padding-right:0;}.menu-name-label{margin-left:15px;margin-right:0;}.auto-add-pages{float:right;} \ No newline at end of file +#nav-menus-frame{margin-right:300px;margin-left:0;}#wpbody-content #menu-settings-column{margin-right:-300px;margin-left:0;float:right;}#menu-management-liquid{float:right;}#menu-management{margin-left:20px;margin-right:0;}#post-body{padding:0 10px 10px 0;}.post-body-plain{padding:10px 0 0 10px;}#menu-management .nav-tabs-arrow-left{right:0;left:auto;}#menu-management .nav-tabs-arrow-right{left:0;right:auto;text-align:left;font-family:Tahoma,Arial,sans-serif;}#menu-management .nav-tabs{padding-right:20px;padding-left:10px;}.js #menu-management .nav-tabs{float:right;margin-right:0;margin-left:-400px;}#select-nav-menu-container{text-align:left;}#wpbody .open-label{float:right;}#wpbody .open-label span{padding-left:10px;padding-right:0;}.js .input-with-default-title{font-style:normal;font-weight:bold;}.postbox .howto input{float:left;}#nav-menu-theme-locations .button-controls{text-align:left;}.meta-sep,.submitdelete,.submitcancel{float:right;}#cancel-save{margin-left:0;margin-right:20px;}.list-controls{float:right;}.add-to-menu{float:left;}#add-custom-link label span{float:right;padding-left:5px;padding-right:0;}.howto span{float:right;}.list li .menu-item-title input{margin-left:3px;margin-right:0;}.menu-item-handle{padding-right:10px;padding-left:0;}.menu-item-edit-active .menu-item-handle{-moz-border-radius:3px 3px 0 0;-webkit-border-bottom-left-radius:0;-webkit-border-bottom-right-radius:0;-khtml-border-bottom-left-radius:0;-khtml-border-bottom-right-radius:0;border-bottom-left-radius:0;border-bottom-right-radius:0;}.menu-item-handle .item-title{margin-left:13em;margin-right:0;}.menu-item-depth-0{margin-right:0;margin-left:0;}.menu-item-depth-1{margin-right:30px;margin-left:0;}.menu-item-depth-2{margin-right:60px;margin-left:0;}.menu-item-depth-3{margin-right:90px;margin-left:0;}.menu-item-depth-4{margin-right:120px;margin-left:0;}.menu-item-depth-5{margin-right:150px;margin-left:0;}.menu-item-depth-6{margin-right:180px;margin-left:0;}.menu-item-depth-7{margin-right:210px;margin-left:0;}.menu-item-depth-8{margin-right:240px;margin-left:0;}.menu-item-depth-9{margin-right:270px;margin-left:0;}.menu-item-depth-10{margin-right:300px;margin-left:0;}.menu-item-depth-11{margin-right:330px;margin-left:0;}.menu-item-depth-0 .menu-item-transport{margin-right:0;margin-left:0;}.menu-item-depth-1 .menu-item-transport{margin-right:-30px;margin-left:0;}.menu-item-depth-2 .menu-item-transport{margin-right:-60px;margin-left:0;}.menu-item-depth-3 .menu-item-transport{margin-right:-90px;margin-left:0;}.menu-item-depth-4 .menu-item-transport{margin-right:-120px;margin-left:0;}.menu-item-depth-5 .menu-item-transport{margin-right:-150px;margin-left:0;}.menu-item-depth-6 .menu-item-transport{margin-right:-180px;margin-left:0;}.menu-item-depth-7 .menu-item-transport{margin-right:-210px;margin-left:0;}.menu-item-depth-8 .menu-item-transport{margin-right:-240px;margin-left:0;}.menu-item-depth-9 .menu-item-transport{margin-right:-270px;margin-left:0;}.menu-item-depth-10 .menu-item-transport{margin-right:-300px;margin-left:0;}.menu-item-depth-11 .menu-item-transport{margin-right:-330px;margin-left:0;}.item-type{padding-left:10px;padding-right:0;}.item-controls{left:20px;right:auto;}.item-controls .item-order{padding-left:10px;padding-right:0;}.item-edit{left:-20px;right:auto;-moz-border-radius-bottomright:3px;-moz-border-radius-bottomleft:0;-webkit-border-bottom-right-radius:3px;-webkit-border-bottom-left-radius:0;-khtml-border-bottom-right-radius:3px;-khtml-border-bottom-left-radius:0;border-bottom-right-radius:3px;border-bottom-left-radius:0;}.menu-item-settings{padding:10px 10px 10px 0;border-width:0 1px 1px 1px;}.link-to-original{font-style:normal;font-weight:bold;}.link-to-original a{padding-right:4px;padding-left:0;}.menu-item-settings .description-thin,.menu-item-settings .description-wide{margin-left:10px;margin-right:0;float:right;}.major-publishing-actions .publishing-action{text-align:left;float:left;}.major-publishing-actions .delete-action{text-align:right;float:right;padding-left:15px;padding-right:0;}.menu-name-label{margin-left:15px;margin-right:0;}.auto-add-pages{float:right;} \ No newline at end of file diff --git a/wp-admin/css/nav-menu-rtl.dev.css b/wp-admin/css/nav-menu-rtl.dev.css index 523e21654..69d8797a5 100644 --- a/wp-admin/css/nav-menu-rtl.dev.css +++ b/wp-admin/css/nav-menu-rtl.dev.css @@ -37,6 +37,7 @@ left: 0; right:auto; text-align: left; + font-family: Tahoma, Arial, sans-serif; } #menu-management .nav-tabs { @@ -83,10 +84,15 @@ float:right; } -#cancel-save { margin-right: 20px; margin-left: 0; } +#cancel-save { + margin-left: 0; + margin-right: 20px; +} /* Button Secondary Actions */ -.list-controls { float: right; } +.list-controls { + float: right; +} .add-to-menu { float: left; } @@ -103,7 +109,7 @@ padding-left: 0; } .menu-item-edit-active .menu-item-handle { - -moz-border-radius: 6px 6px 0 0; + -moz-border-radius: 3px 3px 0 0; -webkit-border-bottom-left-radius: 0; -webkit-border-bottom-right-radius: 0; -khtml-border-bottom-left-radius: 0; @@ -150,8 +156,6 @@ .item-controls .item-order { padding-left: 10px; padding-right: 0;} .item-edit { - background-image: url("../images/menu-bits-rtl.gif?ver=20100531"); - background-position: 100% -105px; left: -20px; right:auto; -moz-border-radius-bottomright: 3px; diff --git a/wp-admin/css/nav-menu.css b/wp-admin/css/nav-menu.css index 266145b52..a1f5677aa 100644 --- a/wp-admin/css/nav-menu.css +++ b/wp-admin/css/nav-menu.css @@ -1 +1 @@ -html,body{min-width:950px;}#nav-menus-frame{margin-left:300px;}#wpbody-content #menu-settings-column{display:inline;width:281px;margin-left:-300px;clear:both;float:left;padding-top:24px;}.no-js #wpbody-content #menu-settings-column{padding-top:31px;}#menu-settings-column .inside{clear:both;padding:0 10px;}.metabox-holder-disabled .postbox{opacity:.5;filter:alpha(opacity=50);}.metabox-holder-disabled .button-controls .select-all{display:none;}#wpbody{position:relative;}#menu-management-liquid{float:left;min-width:100%;}#menu-management{position:relative;margin-right:20px;margin-top:-3px;width:100%;}#menu-management .menu-edit{margin-bottom:20px;}#nav-menu-header,#post-body,#nav-menu-footer{border-color:#ccc;border-style:solid;}#nav-menu-header{border-width:1px 1px 0 1px;-moz-border-radius-topleft:6px;-webkit-border-top-left-radius:6px;-khtml-border-top-left-radius:6px;border-top-left-radius:6px;-moz-border-radius-topright:6px;-webkit-border-top-right-radius:6px;-khtml-border-top-right-radius:6px;border-top-right-radius:6px;}#post-body{background:#fff;padding:10px;border-width:0 1px;}#post-body div.updated{margin:0;}#post-body-content{position:relative;}#menu-management .menu-add-new abbr{font-weight:bold;}#nav-menu-footer{border-width:0 1px 1px 1px;-moz-border-radius-bottomleft:6px;-webkit-border-bottom-left-radius:6px;-khtml-border-bottom-left-radius:6px;border-bottom-left-radius:6px;-moz-border-radius-bottomright:6px;-webkit-border-bottom-right-radius:6px;-khtml-border-bottom-right-radius:6px;border-bottom-right-radius:6px;}#menu-management .nav-tabs-nav{margin:0 20px;}#menu-management .nav-tabs-arrow{width:10px;padding:0 5px 4px;cursor:pointer;position:absolute;top:0;line-height:22px;font-size:18px;text-shadow:0 1px 0 #fff;}#menu-management .nav-tabs-arrow a{color:#C1C1C1;}#menu-management .nav-tabs-arrow a:hover{color:#D54E21;}#menu-management .nav-tabs-arrow a:active{color:#464646;}#menu-management .nav-tabs-arrow-left{left:0;}#menu-management .nav-tabs-arrow-right{right:0;text-align:right;}#menu-management .nav-tabs-wrapper{width:100%;height:28px;margin-bottom:-1px;overflow:hidden;}#menu-management .nav-tabs{padding-left:20px;padding-right:10px;}.js #menu-management .nav-tabs{float:left;margin-left:0;margin-right:-400px;}#menu-management .nav-tab{margin-bottom:0;background:#f4f4f4;font-weight:bold;border-color:#dfdfdf;}#menu-management .nav-tab-active{border-color:#ccc;}#select-nav-menu-container{text-align:right;padding:0 10px 3px 10px;margin-bottom:5px;}#select-nav-menu{width:100px;display:inline;}#menu-name-label{margin-top:-2px;}#wpbody .open-label{display:block;float:left;}#wpbody .open-label span{padding-right:10px;}.js .input-with-default-title{color:#aaa;font-style:italic;}#menu-management .inside{padding:0 10px;}.postbox .howto input{width:180px;float:right;}.customlinkdiv .howto input{width:210px;}#nav-menu-theme-locations .howto select{width:100%;}#nav-menu-theme-locations .button-controls{text-align:right;}.add-menu-item-view-all{height:400px;}#menu-container .submit{margin:0 0 10px;padding:0;}.meta-sep,.submitdelete,.submitcancel{display:block;float:left;font-size:11px;margin:4px 0;line-height:15px;}.meta-sep{padding:0 2px;}#cancel-save{color:#f00;text-decoration:underline;font-size:11px;margin-left:20px;margin-top:5px;}#cancel-save:hover{background-color:#F00;color:#fff;}.list-controls{float:left;margin-top:5px;}.add-to-menu{float:right;}.postbox img.waiting{display:none;vertical-align:middle;}.button-controls{clear:both;margin:10px 0;}.show-all,.hide-all{cursor:pointer;}.hide-all{display:none;}#menu-name{width:270px;}#manage-menu .inside{padding:0;}#available-links dt{display:block;}#add-custom-link .howto{font-size:11px;}#add-custom-link label span{display:block;float:left;margin-top:5px;padding-right:5px;}.menu-item-textbox{width:180px;}.howto span{margin-top:4px;display:block;float:left;}.quick-search{width:190px;}.list-wrap{display:none;clear:both;margin-bottom:10px;}.list-container{max-height:200px;overflow-y:auto;padding:10px 10px 5px;border:1px solid #DFDFDF;-moz-border-radius:4px;}.postbox p.submit{margin-bottom:0;}.list li{display:none;margin:0;margin-bottom:5px;}.list li .menu-item-title{cursor:pointer;display:block;}.list li .menu-item-title input{margin-right:3px;margin-top:-3px;}#menu-container .inside{padding-bottom:10px;}.menu{padding-top:1em;}#menu-to-edit{padding:1em 0;}.menu ul{width:100%;}.menu li{margin-bottom:0;position:relative;}.menu-item-bar{clear:both;line-height:1.5em;position:relative;margin-top:13px;}.menu-item-handle{border:1px solid #E6E6E6;position:relative;padding-left:10px;height:auto;width:400px;line-height:35px;text-shadow:0 1px 0 #FFF;font-weight:bold;overflow:hidden;border-radius:6px;-webkit-border-radius:6px;-moz-border-radius:6px;-khtml-border-radius:6px;word-wrap:break-word;}.menu-item-edit-active .menu-item-handle{-moz-border-radius:6px 6px 0 0;-webkit-border-bottom-right-radius:0;-webkit-border-bottom-left-radius:0;-khtml-border-bottom-right-radius:0;-khtml-border-bottom-left-radius:0;border-bottom-right-radius:0;border-bottom-left-radius:0;}.no-js .menu-item-edit-active .item-edit{display:none;}.js .menu-item-handle{cursor:move;}.menu li.deleting .menu-item-handle{background-color:#f66;background-image:none;text-shadow:0 0 0 #ccc;}.menu-item-handle .item-title{padding:7px 0;line-height:20px;display:block;margin-right:13em;}li.menu-item.ui-sortable-helper dl{margin-top:0;}li.menu-item.ui-sortable-helper .menu-item-transport dl{margin-top:13px;}.menu .sortable-placeholder{height:35px;width:410px;margin-top:13px;}.menu-item-depth-0{margin-left:0;}.menu-item-depth-1{margin-left:30px;}.menu-item-depth-2{margin-left:60px;}.menu-item-depth-3{margin-left:90px;}.menu-item-depth-4{margin-left:120px;}.menu-item-depth-5{margin-left:150px;}.menu-item-depth-6{margin-left:180px;}.menu-item-depth-7{margin-left:210px;}.menu-item-depth-8{margin-left:240px;}.menu-item-depth-9{margin-left:270px;}.menu-item-depth-10{margin-left:300px;}.menu-item-depth-11{margin-left:330px;}.menu-item-depth-0 .menu-item-transport{margin-left:0;}.menu-item-depth-1 .menu-item-transport{margin-left:-30px;}.menu-item-depth-2 .menu-item-transport{margin-left:-60px;}.menu-item-depth-3 .menu-item-transport{margin-left:-90px;}.menu-item-depth-4 .menu-item-transport{margin-left:-120px;}.menu-item-depth-5 .menu-item-transport{margin-left:-150px;}.menu-item-depth-6 .menu-item-transport{margin-left:-180px;}.menu-item-depth-7 .menu-item-transport{margin-left:-210px;}.menu-item-depth-8 .menu-item-transport{margin-left:-240px;}.menu-item-depth-9 .menu-item-transport{margin-left:-270px;}.menu-item-depth-10 .menu-item-transport{margin-left:-300px;}.menu-item-depth-11 .menu-item-transport{margin-left:-330px;}body.menu-max-depth-0{min-width:950px!important;}body.menu-max-depth-1{min-width:980px!important;}body.menu-max-depth-2{min-width:1010px!important;}body.menu-max-depth-3{min-width:1040px!important;}body.menu-max-depth-4{min-width:1070px!important;}body.menu-max-depth-5{min-width:1100px!important;}body.menu-max-depth-6{min-width:1130px!important;}body.menu-max-depth-7{min-width:1160px!important;}body.menu-max-depth-8{min-width:1190px!important;}body.menu-max-depth-9{min-width:1220px!important;}body.menu-max-depth-10{min-width:1250px!important;}body.menu-max-depth-11{min-width:1280px!important;}.item-type{text-transform:uppercase;font-size:11px;color:#999;padding-right:10px;}.item-controls{font-size:11px;position:absolute;right:20px;top:-1px;}.item-controls a{text-decoration:none;}.item-controls a:hover{cursor:pointer;}.item-controls .item-order{padding-right:10px;}.item-controls .item-order a{font-weight:bold;}body.js .item-order{display:none;}.item-controls .menu-item-delete:hover{color:#f00;}.item-edit{background:url("../images/menu-bits.gif?ver=20100610") no-repeat scroll 0 -105px;position:absolute;right:-20px;top:0;display:block;width:23px;height:36px;overflow:hidden;text-indent:-999em;border-bottom:1px solid #eee;-moz-border-radius-bottomleft:3px;-webkit-border-bottom-left-radius:3px;-khtml-border-bottom-left-radius:3px;border-bottom-left-radius:3px;}.menu-instructions-inactive{display:none;}.menu-item-settings{background:#F9F9F9;display:block;width:400px;padding:10px 0 10px 10px;border:solid #E6E6E6;border-width:0 1px 1px 1px;-moz-border-radius:0 0 6px 6px;-webkit-border-bottom-right-radius:6px;-webkit-border-bottom-left-radius:6px;-khtml-border-bottom-right-radius:6px;-khtml-border-bottom-left-radius:6px;}.menu-item-edit-active .menu-item-settings{display:block;}.menu-item-edit-inactive .menu-item-settings{display:none;}.add-menu-item-pagelinks{margin:.5em auto;text-align:center;}.link-to-original{display:block;margin:0 0 10px;padding:3px 5px 5px;font-size:11px;color:#777;font-style:italic;border:1px solid #dfdfdf;border-radius:6px;-webkit-border-radius:6px;-moz-border-radius:6px;-khtml-border-radius:6px;}.link-to-original a{padding-left:4px;font-style:normal;}.hidden-field{display:none;}.menu-item-settings .description-thin,.menu-item-settings .description-wide{margin-right:10px;float:left;}.description-thin{width:190px;height:40px;}.description-wide{width:390px;}.menu-item-actions{padding-top:15px;}#cancel-save{cursor:pointer;}#cancel-save:hover{color:#fff!important;}#update-menu-item{color:#fff!important;}#update-menu-item:hover,#update-menu-item:active,#update-menu-item:focus{color:#eaf2fa!important;border-color:#13455b!important;}.major-publishing-actions{clear:both;padding:5px 10px;}.major-publishing-actions .publishing-action{text-align:right;float:right;line-height:23px;margin:5px 0 1px;}.major-publishing-actions .delete-action{vertical-align:middle;text-align:left;float:left;padding-right:15px;margin-top:5px;}.menu-name-label span,.auto-add-pages label{font-size:11px;font-style:normal;}.menu-name-label{margin-right:15px;}.auto-add-pages input{margin-top:0;}.auto-add-pages{margin-top:4px;float:left;}.submitbox .submitcancel{color:#21759B;border-bottom:1px solid #21759B;padding:1px 2px;text-decoration:none;}.submitbox .submitcancel:hover{background:#21759B;color:#fff;}.major-publishing-actions .form-invalid{border-radius:4px;-webkit-border-radius:4px;-moz-border-radius:4px;-khtml-border-radius:4px;padding-left:4px;margin-left:-4px;}#menu-item-name-wrap:after,#menu-item-url-wrap:after,#menu-name-label:after,#menu-settings-column .inside:after,#nav-menus-frame:after,#post-body-content:after,.button-controls:after,.major-publishing-actions:after,.menu-item-settings:after{clear:both;content:".";display:block;height:0;visibility:hidden;}#nav-menus-frame,.button-controls,#menu-item-url-wrap,#menu-item-name-wrap{display:block;} \ No newline at end of file +html,body{min-width:950px;}#nav-menus-frame{margin-left:300px;}#wpbody-content #menu-settings-column{display:inline;width:281px;margin-left:-300px;clear:both;float:left;padding-top:24px;}.no-js #wpbody-content #menu-settings-column{padding-top:31px;}#menu-settings-column .inside{clear:both;}.metabox-holder-disabled .postbox{opacity:.5;filter:alpha(opacity=50);}.metabox-holder-disabled .button-controls .select-all{display:none;}#wpbody{position:relative;}#menu-management-liquid{float:left;min-width:100%;}#menu-management{position:relative;margin-right:20px;margin-top:-3px;width:100%;}#menu-management .menu-edit{border:1px solid;-moz-border-radius:3px;-webkit-border-radius:3px;-khtml-border-radius:3px;border-radius:3px;margin-bottom:20px;}#post-body{padding:10px;border-width:1px 0;border-style:solid;}#nav-menu-header,#nav-menu-footer{padding:0 10px;}#nav-menu-header{border-bottom:1px solid;}#nav-menu-footer{border-top:1px solid;}#post-body div.updated,#post-body div.error{margin:0;}#post-body-content{position:relative;}#menu-management .menu-add-new abbr{font-weight:bold;}#menu-management .nav-tabs-nav{margin:0 20px;}#menu-management .nav-tabs-arrow{width:10px;padding:0 5px 4px;cursor:pointer;position:absolute;top:0;line-height:22px;font-size:18px;text-shadow:0 1px 0 #fff;}#menu-management .nav-tabs-arrow-left{left:0;}#menu-management .nav-tabs-arrow-right{right:0;text-align:right;}#menu-management .nav-tabs-wrapper{width:100%;height:28px;margin-bottom:-1px;overflow:hidden;}#menu-management .nav-tabs{padding-left:20px;padding-right:10px;}.js #menu-management .nav-tabs{float:left;margin-left:0;margin-right:-400px;}#menu-management .nav-tab{margin-bottom:0;font-size:14px;font-family:Georgia,"Times New Roman","Bitstream Charter",Times,serif;}#select-nav-menu-container{text-align:right;padding:0 10px 3px 10px;margin-bottom:5px;}#select-nav-menu{width:100px;display:inline;}#menu-name-label{margin-top:-2px;}#wpbody .open-label{display:block;float:left;}#wpbody .open-label span{padding-right:10px;}.js .input-with-default-title{font-style:italic;}#menu-management .inside{padding:0 10px;}.postbox .howto input{width:180px;float:right;}.customlinkdiv .howto input{width:200px;}#nav-menu-theme-locations .howto select{width:100%;}#nav-menu-theme-locations .button-controls{text-align:right;}.add-menu-item-view-all{height:400px;}#menu-container .submit{margin:0 0 10px;padding:0;}.meta-sep,.submitdelete,.submitcancel{display:block;float:left;font-size:12px;margin:4px 0;line-height:15px;}.meta-sep{padding:0 2px;}#cancel-save{text-decoration:underline;font-size:12px;margin-left:20px;margin-top:5px;}.list-controls{float:left;margin-top:5px;}.add-to-menu{float:right;}.postbox img.waiting{display:none;vertical-align:middle;}.button-controls{clear:both;margin:10px 0;}.show-all,.hide-all{cursor:pointer;}.hide-all{display:none;}#menu-name{width:270px;}#manage-menu .inside{padding:0;}#available-links dt{display:block;}#add-custom-link .howto{font-size:12px;}#add-custom-link label span{display:block;float:left;margin-top:5px;padding-right:5px;}.menu-item-textbox{width:180px;}.howto span{margin-top:4px;display:block;float:left;}.quick-search{width:190px;}.list-wrap{display:none;clear:both;margin-bottom:10px;}.list-container{max-height:200px;overflow-y:auto;padding:10px 10px 5px;border:1px solid;-moz-border-radius:3px;}.postbox p.submit{margin-bottom:0;}.list li{display:none;margin:0;margin-bottom:5px;}.list li .menu-item-title{cursor:pointer;display:block;}.list li .menu-item-title input{margin-right:3px;margin-top:-3px;}#menu-container .inside{padding-bottom:10px;}.menu{padding-top:1em;}#menu-to-edit{padding:1em 0;}.menu ul{width:100%;}.menu li{margin-bottom:0;position:relative;}.menu-item-bar{clear:both;line-height:1.5em;position:relative;margin-top:13px;}.menu-item-handle{border:1px solid #dfdfdf;position:relative;padding-left:10px;height:auto;width:400px;line-height:35px;text-shadow:0 1px 0 #FFF;overflow:hidden;word-wrap:break-word;border-radius:3px;-webkit-border-radius:3px;-moz-border-radius:3px;-khtml-border-radius:3px;}#menu-to-edit .menu-item-invalid .menu-item-handle{background-color:#f6c9cc;background-image:-ms-linear-gradient(bottom,#f6c9cc,#fdf8ff);background-image:-moz-linear-gradient(bottom,#f6c9cc,#fdf8ff);background-image:-o-linear-gradient(bottom,#f6c9cc,#fdf8ff);background-image:-webkit-gradient(linear,left bottom,left top,from(#f6c9cc),to(#fdf8ff));background-image:-webkit-linear-gradient(bottom,#f6c9cc,#fdf8ff);background-image:linear-gradient(bottom,#f6c9cc,#fdf8ff);}.menu-item-edit-active .menu-item-handle{-moz-border-radius:3px 3px 0 0;-webkit-border-bottom-right-radius:0;-webkit-border-bottom-left-radius:0;-khtml-border-bottom-right-radius:0;-khtml-border-bottom-left-radius:0;border-bottom-right-radius:0;border-bottom-left-radius:0;}.no-js .menu-item-edit-active .item-edit{display:none;}.js .menu-item-handle{cursor:move;}.menu li.deleting .menu-item-handle{background-image:none;text-shadow:0;}.menu-item-handle .item-title{font-size:12px;font-weight:bold;padding:7px 0;line-height:20px;display:block;margin-right:13em;}li.menu-item.ui-sortable-helper dl{margin-top:0;}li.menu-item.ui-sortable-helper .menu-item-transport dl{margin-top:13px;}.menu .sortable-placeholder{height:35px;width:410px;margin-top:13px;}.menu-item-depth-0{margin-left:0;}.menu-item-depth-1{margin-left:30px;}.menu-item-depth-2{margin-left:60px;}.menu-item-depth-3{margin-left:90px;}.menu-item-depth-4{margin-left:120px;}.menu-item-depth-5{margin-left:150px;}.menu-item-depth-6{margin-left:180px;}.menu-item-depth-7{margin-left:210px;}.menu-item-depth-8{margin-left:240px;}.menu-item-depth-9{margin-left:270px;}.menu-item-depth-10{margin-left:300px;}.menu-item-depth-11{margin-left:330px;}.menu-item-depth-0 .menu-item-transport{margin-left:0;}.menu-item-depth-1 .menu-item-transport{margin-left:-30px;}.menu-item-depth-2 .menu-item-transport{margin-left:-60px;}.menu-item-depth-3 .menu-item-transport{margin-left:-90px;}.menu-item-depth-4 .menu-item-transport{margin-left:-120px;}.menu-item-depth-5 .menu-item-transport{margin-left:-150px;}.menu-item-depth-6 .menu-item-transport{margin-left:-180px;}.menu-item-depth-7 .menu-item-transport{margin-left:-210px;}.menu-item-depth-8 .menu-item-transport{margin-left:-240px;}.menu-item-depth-9 .menu-item-transport{margin-left:-270px;}.menu-item-depth-10 .menu-item-transport{margin-left:-300px;}.menu-item-depth-11 .menu-item-transport{margin-left:-330px;}body.menu-max-depth-0{min-width:950px!important;}body.menu-max-depth-1{min-width:980px!important;}body.menu-max-depth-2{min-width:1010px!important;}body.menu-max-depth-3{min-width:1040px!important;}body.menu-max-depth-4{min-width:1070px!important;}body.menu-max-depth-5{min-width:1100px!important;}body.menu-max-depth-6{min-width:1130px!important;}body.menu-max-depth-7{min-width:1160px!important;}body.menu-max-depth-8{min-width:1190px!important;}body.menu-max-depth-9{min-width:1220px!important;}body.menu-max-depth-10{min-width:1250px!important;}body.menu-max-depth-11{min-width:1280px!important;}.item-type{font-size:12px;padding-right:10px;}.item-controls{font-size:12px;position:absolute;right:20px;top:-1px;}.item-controls a{text-decoration:none;}.item-controls a:hover{cursor:pointer;}.item-controls .item-order{padding-right:10px;}.item-controls .item-order a{font-weight:bold;}body.js .item-order{display:none;}.item-edit{position:absolute;right:-20px;top:0;display:block;width:30px;height:36px;overflow:hidden;text-indent:-999em;border-bottom:1px solid;-moz-border-radius-bottomleft:3px;-webkit-border-bottom-left-radius:3px;-khtml-border-bottom-left-radius:3px;border-bottom-left-radius:3px;}.menu-instructions-inactive{display:none;}.menu-item-settings{display:block;width:400px;padding:10px 0 10px 10px;border:solid;border-width:0 1px 1px 1px;-moz-border-radius:0 0 3px 3px;-webkit-border-bottom-right-radius:3px;-webkit-border-bottom-left-radius:3px;-khtml-border-bottom-right-radius:3px;-khtml-border-bottom-left-radius:3px;}.menu-item-edit-active .menu-item-settings{display:block;}.menu-item-edit-inactive .menu-item-settings{display:none;}.add-menu-item-pagelinks{margin:.5em auto;text-align:center;}.link-to-original{display:block;margin:0 0 10px;padding:3px 5px 5px;font-size:12px;font-style:italic;border:1px solid;border-radius:3px;-webkit-border-radius:3px;-moz-border-radius:3px;-khtml-border-radius:3px;}.link-to-original a{padding-left:4px;font-style:normal;}.hidden-field{display:none;}.menu-item-settings .description-thin,.menu-item-settings .description-wide{margin-right:10px;float:left;}.description-thin{width:190px;height:40px;}.description-wide{width:390px;}.menu-item-actions{padding-top:15px;}#cancel-save{cursor:pointer;}.major-publishing-actions{clear:both;padding:3px 0 5px;}.major-publishing-actions .publishing-action{text-align:right;float:right;line-height:23px;margin:5px 0 1px;}.major-publishing-actions .delete-action{vertical-align:middle;text-align:left;float:left;padding-right:15px;margin-top:5px;}.menu-name-label span,.auto-add-pages label{font-size:12px;font-style:normal;}.menu-name-label{margin-right:15px;}.auto-add-pages input{margin-top:0;}.auto-add-pages{margin-top:4px;float:left;}.submitbox .submitcancel{border-bottom:1px solid;padding:1px 2px;text-decoration:none;}.major-publishing-actions .form-invalid{padding-left:4px;margin-left:-4px;border-radius:3px;-webkit-border-radius:3px;-moz-border-radius:3px;-khtml-border-radius:3px;}#menu-item-name-wrap:after,#menu-item-url-wrap:after,#menu-name-label:after,#menu-settings-column .inside:after,#nav-menus-frame:after,#post-body-content:after,.button-controls:after,.major-publishing-actions:after,.menu-item-settings:after{clear:both;content:".";display:block;height:0;visibility:hidden;}#nav-menus-frame,.button-controls,#menu-item-url-wrap,#menu-item-name-wrap{display:block;} \ No newline at end of file diff --git a/wp-admin/css/nav-menu.dev.css b/wp-admin/css/nav-menu.dev.css index 601b8bf53..7224ee354 100644 --- a/wp-admin/css/nav-menu.dev.css +++ b/wp-admin/css/nav-menu.dev.css @@ -31,7 +31,6 @@ body { #menu-settings-column .inside { clear: both; - padding:0 10px; } .metabox-holder-disabled .postbox { @@ -51,61 +50,52 @@ body { float: left; min-width: 100%; } + #menu-management { position: relative; margin-right: 20px; margin-top: -3px; width: 100%; } - #menu-management .menu-edit { - margin-bottom: 20px; - } - #nav-menu-header, #post-body, #nav-menu-footer { - border-color: #ccc; - border-style: solid; - } +#menu-management .menu-edit { + border: 1px solid; + -moz-border-radius: 3px; + -webkit-border-radius: 3px; + -khtml-border-radius: 3px; + border-radius: 3px; + margin-bottom: 20px; +} - #nav-menu-header { - border-width: 1px 1px 0 1px; - -moz-border-radius-topleft: 6px; - -webkit-border-top-left-radius: 6px; - -khtml-border-top-left-radius: 6px; - border-top-left-radius: 6px; - -moz-border-radius-topright: 6px; - -webkit-border-top-right-radius: 6px; - -khtml-border-top-right-radius: 6px; - border-top-right-radius: 6px; - } +#post-body { + padding: 10px; + border-width: 1px 0; + border-style: solid; +} - #post-body { - background: #fff; - padding: 10px; - border-width: 0 1px; - } +#nav-menu-header, +#nav-menu-footer { + padding: 0 10px; +} - #post-body div.updated { - margin: 0; - } +#nav-menu-header { + border-bottom: 1px solid; +} - #post-body-content { - position: relative; - } +#nav-menu-footer { + border-top: 1px solid; +} - #menu-management .menu-add-new abbr { - font-weight:bold; - } +#post-body div.updated, #post-body div.error { + margin: 0; +} -#nav-menu-footer { - border-width: 0 1px 1px 1px; - -moz-border-radius-bottomleft: 6px; - -webkit-border-bottom-left-radius: 6px; - -khtml-border-bottom-left-radius: 6px; - border-bottom-left-radius: 6px; - -moz-border-radius-bottomright: 6px; - -webkit-border-bottom-right-radius: 6px; - -khtml-border-bottom-right-radius: 6px; - border-bottom-right-radius: 6px; +#post-body-content { + position: relative; +} + +#menu-management .menu-add-new abbr { + font-weight:bold; } /* Menu Tabs */ @@ -124,17 +114,21 @@ body { font-size: 18px; text-shadow: 0 1px 0 #fff; } - #menu-management .nav-tabs-arrow a { color: #C1C1C1; } - #menu-management .nav-tabs-arrow a:hover { color: #D54E21; } - #menu-management .nav-tabs-arrow a:active { color: #464646; } - #menu-management .nav-tabs-arrow-left { + +#menu-management .nav-tabs-arrow a:hover{ +} + +#menu-management .nav-tabs-arrow a:active { +} + +#menu-management .nav-tabs-arrow-left { left: 0; - } - #menu-management .nav-tabs-arrow-right { +} + +#menu-management .nav-tabs-arrow-right { right: 0; text-align: right; - } - +} #menu-management .nav-tabs-wrapper { width: 100%; @@ -147,6 +141,7 @@ body { padding-left: 20px; padding-right: 10px; } + .js #menu-management .nav-tabs { float: left; margin-left: 0px; @@ -155,24 +150,21 @@ body { #menu-management .nav-tab { margin-bottom: 0; - background: #f4f4f4; - font-weight: bold; - border-color: #dfdfdf; + font-size: 14px; + font-family: Georgia, "Times New Roman", "Bitstream Charter", Times, serif; } -#menu-management .nav-tab-active { - border-color:#ccc; -} #select-nav-menu-container { text-align: right; padding: 0 10px 3px 10px; margin-bottom: 5px; } - #select-nav-menu { - width: 100px; - display: inline; - } + +#select-nav-menu { + width: 100px; + display: inline; +} #menu-name-label { margin-top: -2px; @@ -182,56 +174,74 @@ body { display: block; float:left; } + #wpbody .open-label span { padding-right: 10px; } - .js .input-with-default-title { - color: #aaa; - font-style: italic; - } +.js .input-with-default-title { + font-style: italic; +} -#menu-management .inside { padding: 0 10px; } +#menu-management .inside { + padding: 0 10px; +} /* Add Menu Item Boxes */ .postbox .howto input { width: 180px; float: right; } + .customlinkdiv .howto input { - width: 210px; + width: 200px; } + #nav-menu-theme-locations .howto select { width: 100%; } + #nav-menu-theme-locations .button-controls { text-align: right; } + .add-menu-item-view-all { height: 400px; } /* Button Primary Actions */ -#menu-container .submit { margin: 0px 0px 10px; padding: 0px; } +#menu-container .submit { + margin: 0px 0px 10px; + padding: 0px; +} .meta-sep, .submitdelete, .submitcancel { display:block; float:left; - font-size: 11px; + font-size: 12px; margin: 4px 0; line-height: 15px; } + .meta-sep { padding: 0 2px; } -#cancel-save { color: #ff0000; text-decoration: underline; font-size: 11px; margin-left: 20px; margin-top: 5px; } -#cancel-save:hover { background-color: #FF0000; color: #fff; } +#cancel-save { + text-decoration: underline; + font-size: 12px; + margin-left: 20px; + margin-top: 5px; +} /* Button Secondary Actions */ -.list-controls { float: left; margin-top: 5px; } +.list-controls { + float: left; + margin-top: 5px; +} + .add-to-menu { float: right; } @@ -245,34 +255,94 @@ body { clear:both; margin: 10px 0; } -.show-all, .hide-all { cursor: pointer; } -.hide-all { display: none; } + +.show-all, .hide-all { + cursor: pointer; +} + +.hide-all { + display: none; +} /* Create Menu */ -#menu-name { width: 270px; } -#manage-menu .inside { padding: 0px 0px; } +#menu-name { + width: 270px; +} + +#manage-menu .inside { + padding: 0px 0px; +} /* Custom Links */ -#available-links dt { display: block; } -#add-custom-link .howto { font-size: 11px; } -#add-custom-link label span { display: block; float: left; margin-top: 5px; padding-right: 5px; } -.menu-item-textbox { width: 180px; } -.howto span { margin-top: 4px; display: block; float: left; } +#available-links dt { + display: block; +} + +#add-custom-link .howto { + font-size: 12px; +} + +#add-custom-link label span { + display: block; + float: left; + margin-top: 5px; + padding-right: 5px; +} + +.menu-item-textbox { + width: 180px; +} + +.howto span { + margin-top: 4px; + display: block; + float: left; +} /* Menu item types */ -.quick-search { width: 190px; } -.list-wrap { display: none; clear: both; margin-bottom: 10px; } -.list-container { max-height: 200px; overflow-y: auto; padding: 10px 10px 5px; border: 1px solid #DFDFDF; -moz-border-radius: 4px; } -.postbox p.submit { margin-bottom: 0; } +.quick-search { + width: 190px; +} + +.list-wrap { + display: none; + clear: both; + margin-bottom: 10px; +} + +.list-container { + max-height: 200px; + overflow-y: auto; + padding: 10px 10px 5px; + border: 1px solid; + -moz-border-radius: 3px; +} + +.postbox p.submit { + margin-bottom: 0; +} /* Listings */ -.list li { display: none; margin: 0; margin-bottom: 5px; } +.list li { + display: none; + margin: 0; + margin-bottom: 5px; +} + +.list li .menu-item-title { + cursor: pointer; + display: block; +} -.list li .menu-item-title { cursor: pointer; display: block; } -.list li .menu-item-title input { margin-right: 3px; margin-top: -3px; } +.list li .menu-item-title input { + margin-right: 3px; + margin-top: -3px; +} /* Nav Menu */ -#menu-container .inside { padding-bottom: 10px; } +#menu-container .inside { + padding-bottom: 10px; +} .menu { padding-top:1em; @@ -285,36 +355,50 @@ body { .menu ul { width: 100%; } + .menu ul.sub-menu { } + .menu li { margin-bottom: 0; position:relative; } + .menu-item-bar { clear:both; line-height:1.5em; position:relative; margin-top: 13px; } + .menu-item-handle { - border: 1px solid #E6E6E6; + border: 1px solid #dfdfdf; position: relative; padding-left: 10px; height: auto; width: 400px; line-height: 35px; text-shadow: 0 1px 0 #FFFFFF; - font-weight:bold; overflow: hidden; - border-radius: 6px; - -webkit-border-radius: 6px; - -moz-border-radius: 6px; - -khtml-border-radius: 6px; word-wrap: break-word; + border-radius: 3px; + -webkit-border-radius: 3px; + -moz-border-radius: 3px; + -khtml-border-radius: 3px; +} + +#menu-to-edit .menu-item-invalid .menu-item-handle { + background-color: #f6c9cc; /* Fallback */ + background-image: -ms-linear-gradient(bottom, #f6c9cc, #fdf8ff); /* IE10 */ + background-image: -moz-linear-gradient(bottom, #f6c9cc, #fdf8ff); /* Firefox */ + background-image: -o-linear-gradient(bottom, #f6c9cc, #fdf8ff); /* Opera */ + background-image: -webkit-gradient(linear, left bottom, left top, from(#f6c9cc), to(#fdf8ff)); /* old Webkit */ + background-image: -webkit-linear-gradient(bottom, #f6c9cc, #fdf8ff); /* new Webkit */ + background-image: linear-gradient(bottom, #f6c9cc, #fdf8ff); /* proposed W3C Markup */ } + .menu-item-edit-active .menu-item-handle { - -moz-border-radius: 6px 6px 0 0; + -moz-border-radius: 3px 3px 0 0; -webkit-border-bottom-right-radius: 0; -webkit-border-bottom-left-radius: 0; -khtml-border-bottom-right-radius: 0; @@ -322,19 +406,23 @@ body { border-bottom-right-radius: 0; border-bottom-left-radius: 0; } + .no-js .menu-item-edit-active .item-edit { display: none; } + .js .menu-item-handle { cursor: move; } + .menu li.deleting .menu-item-handle { - background-color: #f66; background-image: none; - text-shadow: 0 0 0 #ccc; + text-shadow: 0 0 0; } .menu-item-handle .item-title { + font-size: 12px; + font-weight: bold; padding: 7px 0; line-height: 20px; display:block; @@ -345,9 +433,11 @@ body { li.menu-item.ui-sortable-helper dl { margin-top: 0; } - li.menu-item.ui-sortable-helper .menu-item-transport dl { + +li.menu-item.ui-sortable-helper .menu-item-transport dl { margin-top: 13px; - } +} + .menu .sortable-placeholder { height: 35px; width: 410px; @@ -395,11 +485,30 @@ body.menu-max-depth-10 { min-width: 1250px !important; } body.menu-max-depth-11 { min-width: 1280px !important; } /* Menu item controls */ -.item-type { text-transform: uppercase; font-size: 11px; color: #999999; padding-right: 10px; } -.item-controls { font-size: 11px; position: absolute; right: 20px; top: -1px; } -.item-controls a { text-decoration: none; } -.item-controls a:hover { cursor: pointer; } -.item-controls .item-order { padding-right: 10px;} +.item-type { + font-size: 12px; + padding-right: 10px; +} + +.item-controls { + font-size: 12px; + position: absolute; + right: 20px; + top: -1px; +} + +.item-controls a { + text-decoration: none; +} + +.item-controls a:hover { + cursor: pointer; +} + +.item-controls .item-order { + padding-right: 10px; +} + .item-controls .item-order a { font-weight:bold; } @@ -408,42 +517,46 @@ body.js .item-order { display:none; } -.item-controls .menu-item-delete:hover { color: #ff0000; } +.item-controls .menu-item-delete:hover { +} .item-edit { - background: url("../images/menu-bits.gif?ver=20100610") no-repeat scroll 0 -105px; position: absolute; right: -20px; top: 0; display: block; - width: 23px; + width:30px; height: 36px; overflow: hidden; text-indent:-999em; - border-bottom: 1px solid #eee; + border-bottom: 1px solid; -moz-border-radius-bottomleft: 3px; -webkit-border-bottom-left-radius: 3px; -khtml-border-bottom-left-radius: 3px; border-bottom-left-radius: 3px; } +.item-edit:hover { +} + /* Menu editing */ .menu-instructions-inactive { display: none; } + .menu-item-settings { - background: #F9F9F9; display:block; width: 400px; padding: 10px 0 10px 10px; - border: solid #E6E6E6; + border: solid; border-width: 0 1px 1px 1px; - -moz-border-radius: 0 0 6px 6px; - -webkit-border-bottom-right-radius: 6px; - -webkit-border-bottom-left-radius: 6px; - -khtml-border-bottom-right-radius: 6px; - -khtml-border-bottom-left-radius: 6px; + -moz-border-radius: 0 0 3px 3px; + -webkit-border-bottom-right-radius: 3px; + -webkit-border-bottom-left-radius: 3px; + -khtml-border-bottom-right-radius: 3px; + -khtml-border-bottom-left-radius: 3px; } + .menu-item-edit-active .menu-item-settings { display:block; } @@ -461,19 +574,19 @@ body.js .item-order { display: block; margin: 0 0 10px; padding: 3px 5px 5px; - font-size: 11px; - color: #777; + font-size: 12px; font-style: italic; - border: 1px solid #dfdfdf; - border-radius: 6px; - -webkit-border-radius: 6px; - -moz-border-radius: 6px; - -khtml-border-radius: 6px; + border: 1px solid; + border-radius: 3px; + -webkit-border-radius: 3px; + -moz-border-radius: 3px; + -khtml-border-radius: 3px; } - .link-to-original a { + +.link-to-original a { padding-left: 4px; font-style: normal; - } +} .hidden-field { display: none; @@ -484,10 +597,12 @@ body.js .item-order { margin-right: 10px; float: left; } + .description-thin { width: 190px; height: 40px; } + .description-wide { width: 390px; } @@ -496,24 +611,34 @@ body.js .item-order { padding-top: 15px; } -#cancel-save { cursor: pointer; } -#cancel-save:hover { color: #fff !important; } -#update-menu-item { color: #fff !important; } +#cancel-save { + cursor: pointer; +} + +#cancel-save:hover { +} + +#update-menu-item { +} + #update-menu-item:hover, #update-menu-item:active, -#update-menu-item:focus { color: #eaf2fa !important; border-color: #13455b !important; } +#update-menu-item:focus { +} /* Major/minor publishing actions (classes) */ .major-publishing-actions { clear:both; - padding: 5px 10px; + padding: 3px 0 5px; } + .major-publishing-actions .publishing-action { text-align: right; float: right; line-height: 23px; margin: 5px 0 1px; } + .major-publishing-actions .delete-action { vertical-align: middle; text-align: left; @@ -521,38 +646,41 @@ body.js .item-order { padding-right: 15px; margin-top: 5px; } + .menu-name-label span, .auto-add-pages label { - font-size: 11px; + font-size: 12px; font-style: normal; } + .menu-name-label { margin-right: 15px; } + .auto-add-pages input { margin-top: 0; } + .auto-add-pages { margin-top: 4px; float: left; } + .submitbox .submitcancel { - color: #21759B; - border-bottom: 1px solid #21759B; + border-bottom: 1px solid; padding: 1px 2px; text-decoration: none; } + .submitbox .submitcancel:hover { - background: #21759B; - color: #fff; } .major-publishing-actions .form-invalid { - border-radius: 4px; - -webkit-border-radius: 4px; - -moz-border-radius: 4px; - -khtml-border-radius: 4px; padding-left: 4px; margin-left: -4px; + border-radius: 3px; + -webkit-border-radius: 3px; + -moz-border-radius: 3px; + -khtml-border-radius: 3px; } /* Clearfix */ @@ -571,4 +699,7 @@ body.js .item-order { height: 0; visibility: hidden; } -#nav-menus-frame, .button-controls, #menu-item-url-wrap, #menu-item-name-wrap { display: block; } + +#nav-menus-frame, .button-controls, #menu-item-url-wrap, #menu-item-name-wrap { + display: block; +} diff --git a/wp-admin/css/plugin-install.css b/wp-admin/css/plugin-install.css index 50d3c0380..939408f72 100644 --- a/wp-admin/css/plugin-install.css +++ b/wp-admin/css/plugin-install.css @@ -1 +1 @@ -div.star-holder{position:relative;height:19px;width:100px;font-size:19px;}div.action-links{font-weight:normal;margin:6px 0 0;}div.star{height:100%;position:absolute;top:0;left:0;background-color:transparent;letter-spacing:1ex;border:none;}.star1{width:20%;}.star2{width:40%;}.star3{width:60%;}.star4{width:80%;}.star5{width:100%;}.star img,div.star a,div.star a:hover,div.star a:visited{display:block;position:absolute;right:0;border:none;text-decoration:none;}div.star img{width:19px;height:19px;border-left:1px solid #fff;border-right:1px solid #fff;}#plugin-information-header{margin:0;padding:0 5px;font-weight:bold;position:relative;border-bottom-width:1px;border-bottom-style:solid;height:2.5em;}#plugin-information ul#sidemenu{font-weight:normal;margin:0 5px;position:absolute;left:0;bottom:-1px;}#plugin-information p.action-button{width:100%;padding-bottom:0;margin-bottom:0;margin-top:10px;-moz-border-radius:3px 0 0 3px;-webkit-border-top-left-radius:3px;-khtml-border-top-left-radius:3px;border-top-left-radius:3px;-webkit-border-bottom-left-radius:3px;-khtml-border-bottom-left-radius:3px;border-bottom-left-radius:3px;}#plugin-information .action-button a{text-align:center;font-weight:bold;text-decoration:none;display:block;line-height:2em;}#plugin-information h2{clear:none!important;margin-right:200px;}#plugin-information .fyi{margin:0 10px 50px;width:210px;}#plugin-information .fyi h2{font-size:.9em;margin-bottom:0;margin-right:0;}#plugin-information .fyi h2.mainheader{padding:5px;-moz-border-radius-topleft:3px;-webkit-border-top-left-radius:3px;-khtml-border-top-left-radius:3px;border-top-left-radius:3px;}#plugin-information .fyi ul{padding:10px 5px 10px 7px;margin:0;list-style:none;-moz-border-radius-bottomleft:3px;-webkit-border-bottom-left-radius:3px;-khtml-border-bottom-left-radius:3px;border-bottom-left-radius:3px;}#plugin-information .fyi li{margin-right:0;}#plugin-information #section-holder{padding:10px;}#plugin-information .section ul,#plugin-information .section ol{margin-left:16px;list-style-type:square;list-style-image:none;}#plugin-information #section-screenshots li img{vertical-align:text-top;}#plugin-information #section-screenshots li p{font-style:italic;padding-left:20px;padding-bottom:2em;}#plugin-information .updated,#plugin-information pre{margin-right:215px;}#plugin-information pre{padding:7px;} \ No newline at end of file +div.star-holder{position:relative;height:19px;width:100px;font-size:19px;}div.action-links{font-weight:normal;margin:6px 0 0;}div.star{height:100%;position:absolute;top:0;left:0;background-color:transparent;letter-spacing:1ex;border:none;}.star1{width:20%;}.star2{width:40%;}.star3{width:60%;}.star4{width:80%;}.star5{width:100%;}.star img,div.star a,div.star a:hover,div.star a:visited{display:block;position:absolute;right:0;border:none;text-decoration:none;}div.star img{width:19px;height:19px;}#plugin-information-header{margin:0;padding:0 5px;font-weight:bold;position:relative;border-bottom-width:1px;border-bottom-style:solid;height:2.5em;}#plugin-information ul#sidemenu{font-weight:normal;margin:0 5px;position:absolute;left:0;bottom:-1px;}#plugin-information p.action-button{width:100%;padding-bottom:0;margin-bottom:0;margin-top:10px;-moz-border-radius:3px 0 0 3px;-webkit-border-top-left-radius:3px;-khtml-border-top-left-radius:3px;border-top-left-radius:3px;-webkit-border-bottom-left-radius:3px;-khtml-border-bottom-left-radius:3px;border-bottom-left-radius:3px;}#plugin-information .action-button a{text-align:center;font-weight:bold;text-decoration:none;display:block;line-height:2em;}#plugin-information h2{clear:none!important;margin-right:200px;}#plugin-information .fyi{margin:0 10px 50px;width:210px;}#plugin-information .fyi h2{font-size:.9em;margin-bottom:0;margin-right:0;}#plugin-information .fyi h2.mainheader{padding:5px;-moz-border-radius-topleft:3px;-webkit-border-top-left-radius:3px;-khtml-border-top-left-radius:3px;border-top-left-radius:3px;}#plugin-information .fyi ul{padding:10px 5px 10px 7px;margin:0;list-style:none;-moz-border-radius-bottomleft:3px;-webkit-border-bottom-left-radius:3px;-khtml-border-bottom-left-radius:3px;border-bottom-left-radius:3px;}#plugin-information .fyi li{margin-right:0;}#plugin-information #section-holder{padding:10px;}#plugin-information .section ul,#plugin-information .section ol{margin-left:16px;list-style-type:square;list-style-image:none;}#plugin-information #section-screenshots li img{vertical-align:text-top;}#plugin-information #section-screenshots li p{font-style:italic;padding-left:20px;padding-bottom:2em;}#plugin-information .updated,#plugin-information pre{margin-right:215px;}#plugin-information pre{padding:7px;} \ No newline at end of file diff --git a/wp-admin/css/plugin-install.dev.css b/wp-admin/css/plugin-install.dev.css index c9e98b842..2204257c5 100644 --- a/wp-admin/css/plugin-install.dev.css +++ b/wp-admin/css/plugin-install.dev.css @@ -38,8 +38,6 @@ div.star { div.star img { width: 19px; height: 19px; - border-left: 1px solid #fff; - border-right: 1px solid #fff; } /* Header on thickbox */ diff --git a/wp-admin/css/press-this-rtl.css b/wp-admin/css/press-this-rtl.css index 0f378c622..a19d20c32 100644 --- a/wp-admin/css/press-this-rtl.css +++ b/wp-admin/css/press-this-rtl.css @@ -1 +1 @@ -body{font-family:Tahoma,Arial;}#poststuff #edButtonPreview,#poststuff #edButtonHTML{margin:0 0 0 5px;float:right;}div#poststuff{padding-left:0;padding-right:10px;}.posting{margin-right:0;margin-left:228px;left:auto;right:0;}#side-info-column{float:left;right:auto;left:0;margin-right:0;margin-left:10px;}#side-info-column .sleeve{padding-left:0;padding-right:10px;}h3.tb{margin-left:0;margin-right:5px;}#actions{float:left;}#extra_fields #actions{right:auto;left:4px;}#actions li{float:right;margin-right:0;margin-left:10px;}#extra_fields .button{margin-right:0;margin-left:5px;}#img_container a{float:right;}#category-add input,#category-add select{font-family:Tahoma,Arial;}.inline-editor ul.cat-checklist ul,.categorydiv ul.categorychecklist ul,#linkcategorydiv ul.categorychecklist ul{margin-left:0;margin-right:18px;}#tagsdiv #newtag{margin-right:0;margin-left:5px;}#tagadd{margin-left:0;margin-right:3px;}#tagchecklist span{margin-left:.5em;margin-right:10px;float:right;}#tagchecklist span a{margin:6px -9px 0 0;float:right;}#content{margin-left:0;margin-right:1%;}.submit input,.button,.button-primary,.button-secondary,.button-highlighted,#postcustomstuff .submit input{font-family:Tahoma,Arial,sans-serif;}.ac_results li{text-align:right;}#TB_ajaxContent #options{right:auto;left:25px;}#post_status{margin-left:0;margin-right:10px;}#footer{padding:10px 60px 0 0;} \ No newline at end of file +body{font-family:Tahoma,Arial;}#poststuff #edButtonPreview,#poststuff #edButtonHTML{float:left;}#poststuff #edButtonHTML{margin-left:15px;margin-right:5px;}#header-logo,#wphead h1{float:right;}div#poststuff{padding-left:0;padding-right:10px;}.posting{margin-left:212px;margin-right:0;position:relative;}#side-info-column{float:left;right:auto;left:0;}h3.tb{margin-left:0;margin-right:5px;}#publish{float:left;}.postbox .handlediv{float:left;}.actions{float:left;}.actions li{float:right;margin-right:0;margin-left:10px;}#extra-fields .actions{margin:-23px 0 0 -7px;}#img_container a{float:right;}#category-add input,#category-add select{font-family:Tahoma,Arial;}.inline-editor ul.cat-checklist ul,.categorydiv ul.categorychecklist ul,#linkcategorydiv ul.categorychecklist ul{margin-left:0;margin-right:18px;}.category-tabs li{padding-left:0;padding-right:8px;}#tagsdiv #newtag{margin-right:0;margin-left:5px;}#tagadd{margin-left:0;margin-right:3px;}#tagchecklist span{margin-left:.5em;margin-right:10px;float:right;}#tagchecklist span a{margin:6px -9px 0 0;float:right;}#content{margin-left:0;margin-right:1%;}.submit input,.button,.button-primary,.button-secondary,.button-highlighted,#postcustomstuff .submit input{font-family:Tahoma,Arial,sans-serif;}.ac_results li{text-align:right;}#TB_ajaxContent #options{right:auto;left:25px;}#post_status{margin-left:0;margin-right:10px;}#footer{padding:10px 60px 0 0;} \ No newline at end of file diff --git a/wp-admin/css/press-this-rtl.dev.css b/wp-admin/css/press-this-rtl.dev.css index b056591cb..fbb1456bd 100644 --- a/wp-admin/css/press-this-rtl.dev.css +++ b/wp-admin/css/press-this-rtl.dev.css @@ -4,7 +4,16 @@ body { #poststuff #edButtonPreview, #poststuff #edButtonHTML { - margin: 0 0 0 5px; + float: left; +} + +#poststuff #edButtonHTML { + margin-left: 15px; + margin-right: 5px; +} + +#header-logo, +#wphead h1 { float: right; } @@ -15,23 +24,15 @@ div#poststuff { } .posting { + margin-left: 212px; margin-right: 0; - margin-left: 228px; - left: auto; - right: 0; + position: relative; } #side-info-column { float: left; right: auto; left: 0; - margin-right: 0; - margin-left: 10px; -} - -#side-info-column .sleeve { - padding-left: 0; - padding-right: 10px; } h3.tb { @@ -39,24 +40,26 @@ h3.tb { margin-right: 5px; } -#actions { +#publish { float: left; } -#extra_fields #actions { - right: auto; - left: 4px; +.postbox .handlediv { + float: left; +} + +.actions { + float: left; } -#actions li { +.actions li { float: right; margin-right: 0; margin-left: 10px; } -#extra_fields .button { - margin-right: 0; - margin-left: 5px; +#extra-fields .actions { + margin: -23px 0 0 -7px; } /* Photo Styles */ @@ -64,7 +67,8 @@ h3.tb { float: right; } -#category-add input, #category-add select { +#category-add input, +#category-add select { font-family: Tahoma, Arial; } @@ -75,6 +79,12 @@ h3.tb { margin-right: 18px; } +/* Categories */ +.category-tabs li { + padding-left: 0; + padding-right: 8px; +} + /* Tags */ #tagsdiv #newtag { margin-right: 0; diff --git a/wp-admin/css/press-this.css b/wp-admin/css/press-this.css index c91f43b23..fd1970aa3 100644 --- a/wp-admin/css/press-this.css +++ b/wp-admin/css/press-this.css @@ -1 +1 @@ -body{font:13px "Lucida Grande",Verdana,Arial,"Bitstream Vera Sans",sans-serif;color:#333;margin:0;padding:0;min-width:675px;min-height:400px;}img{border:none;}#wphead{border-top:none;padding-top:4px;background:#444!important;}.tagchecklist span a{background:transparent url(../images/xit.gif) no-repeat 0 0;}#poststuff #edButtonPreview,#poststuff #edButtonHTML{-moz-border-radius:3px 3px 0 0;-webkit-border-top-right-radius:3px;-webkit-border-top-left-radius:3px;-khtml-border-top-right-radius:3px;-khtml-border-top-left-radius:3px;border-top-right-radius:3px;border-top-left-radius:3px;border-style:solid;border-width:1px;cursor:pointer;display:block;height:18px;margin:0 5px 0 0;padding:0 5px 0;font-size:10px;line-height:18px;float:left;}.howto{margin-top:2px;margin-bottom:3px;font-size:11px;font-style:italic;display:block;}input.text{outline-color:-moz-use-text-color;outline-style:none;outline-width:medium;width:100%;}#message{-moz-border-radius:6px;-khtml-border-radius:6px;-webkit-border-radius:6px;border-radius:6px;}div#poststuff{margin:10px;}div.zerosize{border:0 none;height:0;margin:0;overflow:hidden;padding:0;width:0;}#poststuff #edButtonPreview.active,#poststuff #edButtonHTML.active{display:none;}.posting{margin-right:212px;position:relative;}#side-info-column{float:right;width:200px;position:relative;right:0;}#side-info-column .sleeve{padding-top:5px;}#poststuff .inside{font-size:11px;margin:8px;}#poststuff h2,#poststuff h3{font-size:12px;font-weight:bold;line-height:1;margin:0;padding:7px 9px;}#tagsdiv-post_tag h3,#categorydiv h3{cursor:pointer;}h3.tb{text-shadow:0 1px 0 #fff;font-weight:bold;font-size:12px;margin-left:5px;}#TB_window{border:1px solid #333;-moz-border-radius:6px;-khtml-border-radius:6px;-webkit-border-radius:6px;border-radius:6px;}.postbox,.stuffbox{margin-bottom:10px;border-width:1px;border-style:solid;line-height:1;-moz-border-radius:6px;-khtml-border-radius:6px;-webkit-border-radius:6px;border-radius:6px;}.postbox:hover .handlediv,.stuffbox:hover .handlediv{background:transparent url(../images/menu-bits.gif) no-repeat scroll left -111px;}.handlediv{float:right;height:26px;width:23px;}#title,.tbtitle{-moz-border-radius:6px;-khtml-border-radius:6px;-webkit-border-radius:6px;border-radius:6px;border-style:solid;border-width:1px;font-size:1.7em;outline:none;padding:3px 4px;border-color:#dfdfdf;}.tbtitle{font-size:12px;padding:3px;}#title{width:97%;}.editor-container{-moz-border-radius:6px;-khtml-border-radius:6px;-webkit-border-radius:6px;border-radius:6px;border:1px solid #dfdfdf;background-color:#fff;}.postdivrich{padding-top:25px;position:relative;}.actions{float:right;margin:-19px 0 0;}#extra-fields .actions{margin:-15px -5px 0 0;}.actions li{float:left;list-style:none;margin-right:10px;}#extra-fields .button{margin-right:5px;padding:3px 6px;border-radius:10px;-webkit-border-radius:10px;-khtml-border-radius:10px;-moz-border-radius:10px;}.photolist{margin-top:-10px;}#photo_saving{margin:0 8px 8px;vertical-align:middle;}#img_container{background-color:#fff;}#img_container_container{overflow:auto;}#extra-fields{margin-top:10px;position:relative;}#waiting{margin-top:10px;}#extra-fields .postbox{margin-bottom:5px;}#extra-fields .titlewrap{padding:0;overflow:auto;height:100px;}#img_container a{display:block;float:left;overflow:hidden;vertical-align:center;}#img_container img,#img_container a{width:68px;height:68px;}#img_container img{border:none;background-color:#f4f4f4;cursor:pointer;}#img_container a,#img_container a:link,#img_container a:visited{border:1px solid #ccc;display:block;position:relative;}#img_container a:hover,#img_container a:active{border-color:#000;z-index:1000;border-width:2px;margin:-1px;}#embed-code{width:100%;height:98px;}#viewsite{padding:0;margin:0 0 20px 5px;font-size:10px;clear:both;}.wp-hidden-children .wp-hidden-child{display:none;}.category-add input{width:94%;font-family:"Lucida Grande",Verdana,Arial,"Bitstream Vera Sans",sans-serif;font-size:12px;margin:1px;}.category-add select{width:100%;-x-system-font:none;border-style:solid;border-width:1px;font-family:"Lucida Grande",Verdana,Arial,"Bitstream Vera Sans",sans-serif;font-size:11px;height:2em;line-height:20px;padding:2px;margin:1px;vertical-align:top;}.category-add input.category-add-sumbit{width:auto;}.categorydiv div.tabs-panel,#linkcategorydiv div.tabs-panel{height:100px;overflow:auto;padding:.5em .9em;border-style:solid;border-width:1px;}.category-tabs li{display:inline;padding-right:8px;}.category-tabs a{text-decoration:none;}.categorydiv ul,#linkcategorydiv ul{list-style:none;padding:0;margin:0;}.inline-editor ul.cat-checklist ul,.categorydiv ul.categorychecklist ul,#linkcategorydiv ul.categorychecklist ul{margin-left:18px;}ul.categorychecklist li{margin:0;padding:0;line-height:19px;}.categorydiv .tabs-panel{border-width:3px;border-style:solid;}ul.category-tabs{margin-top:12px;margin-bottom:6px;}ul.category-tabs li.tabs{border-style:solid solid none;border-width:1px 1px 0;}ul.category-tabs li{padding:5px 8px;-moz-border-radius:3px 3px 0 0;-webkit-border-top-left-radius:3px;-webkit-border-top-right-radius:3px;-khtml-border-top-left-radius:3px;-khtml-border-top-right-radius:3px;border-top-left-radius:3px;border-top-right-radius:3px;}.screen-reader-text{display:none;}.tagsdiv .newtag{margin-right:5px;}.jaxtag{clear:both;margin:0;}.tagadd{margin-left:3px;}.tagchecklist{margin-top:3px;margin-bottom:1em;font-size:12px;overflow:auto;}.tagchecklist strong{position:absolute;font-size:.75em;}.tagchecklist span{margin-right:.5em;margin-left:10px;display:block;float:left;font-size:11px;line-height:1.8em;white-space:nowrap;cursor:default;}.tagchecklist span a{margin:6px 0 0 -9px;cursor:pointer;width:10px;height:10px;display:block;float:left;text-indent:-9999px;overflow:hidden;position:absolute;}#content{margin:5px 0;padding:0 5px;border:0 none;height:365px;width:97%!important;}* html .postdivrich{zoom:1;}#saving{display:inline;vertical-align:middle;}.submit input,.button,.button-primary,.button-secondary,.button-highlighted,#postcustomstuff .submit input{font-family:"Lucida Grande",Verdana,Arial,"Bitstream Vera Sans",sans-serif;text-decoration:none;font-size:11px!important;line-height:16px;padding:2px 8px;cursor:pointer;border-width:1px;border-style:solid;-moz-border-radius:11px;-khtml-border-radius:11px;-webkit-border-radius:11px;border-radius:11px;}.button-primary{background:#21759B url(../images/button-grad.png) repeat-x scroll left top;border-color:#21759B;color:#fff;}.ac_results{padding:0;margin:0;list-style:none;position:absolute;z-index:10000;display:none;border-width:1px;border-style:solid;}.ac_results li{padding:2px 5px;white-space:nowrap;text-align:left;}.ac_over{cursor:pointer;}.ac_match{text-decoration:underline;}#TB_ajaxContent #options{position:absolute;top:20px;right:25px;padding:5px;}#TB_ajaxContent h3{margin-bottom:.25em;}.updated{margin:10px 0;padding:0;border-width:1px;border-style:solid;width:99%;}.updated p,.error p{margin:.6em 0;padding:0 .6em;}.error a{text-decoration:underline;}.updated a{text-decoration:none;padding-bottom:2px;}#post_status{margin-left:10px;margin-bottom:1em;display:block;}#footer{height:65px;display:block;width:640px;padding:10px 0 0 60px;margin:0;position:absolute;bottom:0;font-size:12px;}#footer p{margin:0;padding:7px 0;}#footer p a{text-decoration:none;}#footer p a:hover{text-decoration:underline;}.centered{text-align:center;}.hidden{display:none;}.postbox input[type="text"],.postbox textarea,.stuffbox input[type="text"],.stuffbox textarea{border-width:1px;border-style:solid;}.taghint{color:#aaa;margin:-17px 0 0 7px;visibility:hidden;}input.newtag ~ div.taghint{visibility:visible;}input.newtag:focus ~ div.taghint{visibility:hidden;} \ No newline at end of file +body{font-size:13px;font-family:sans-serif;color:#333;margin:0;padding:0;min-width:675px;min-height:400px;}img{border:none;}#wphead{height:32px;margin-right:5px;margin-bottom:5px;}#header-logo{float:left;margin:7px 7px 0;-webkit-user-select:none;-moz-user-select:none;-khtml-user-select:none;user-select:none;}#wphead h1{font:normal 16px Georgia,"Times New Roman","Bitstream Charter",Times,serif;padding:6px 0 0;margin:0;float:left;}#wphead h1 a{text-decoration:none;}#wphead h1 a:hover{text-decoration:underline;}.tagchecklist span a{background:transparent url(../images/xit.gif) no-repeat 0 0;}#edButtonPreview,#edButtonHTML{height:18px;margin:5px 5px 0 0;padding:4px 5px 2px;float:right;cursor:pointer;border-width:1px;border-style:solid;-moz-border-radius:3px 3px 0 0;-webkit-border-top-right-radius:3px;-webkit-border-top-left-radius:3px;-khtml-border-top-right-radius:3px;-khtml-border-top-left-radius:3px;border-top-right-radius:3px;border-top-left-radius:3px;}#poststuff #edButtonHTML{margin-right:15px;}#media-buttons{cursor:default;padding:8px 8px 0;}#media-buttons a{cursor:pointer;padding:0 0 5px 10px;}#media-buttons img,#submitpost #ajax-loading,#submitpost .ajax-loading{vertical-align:middle;}.howto{margin-top:2px;margin-bottom:3px;font-size:12px;font-style:italic;display:block;}input.text{outline-color:-moz-use-text-color;outline-style:none;outline-width:medium;width:100%;}#message{-moz-border-radius:3px;-khtml-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;}div#poststuff{margin:0 10px 10px;}#poststuff #editor-toolbar{height:30px;}div.zerosize{border:0 none;height:0;margin:0;overflow:hidden;padding:0;width:0;}.posting{margin-right:212px;position:relative;}#side-info-column{float:right;width:200px;position:relative;right:0;}#side-info-column .sleeve{padding-top:5px;}#poststuff .inside{font-size:12px;margin:8px;}#submitdiv .inside{margin:0;}#submitdiv .inside p{padding:5px 8px;margin:0;}#submitdiv #publishing-actions{padding-left:6px;border-bottom:1px solid #dfdfdf;-webkit-box-shadow:0 1px 0 #fff;-moz-box-shadow:0 1px 0 #fff;box-shadow:0 1px 0 #fff;}#publish{float:right;}#poststuff h2,#poststuff h3{font-size:13px;font-family:Georgia,"Times New Roman","Bitstream Charter",Times,serif;font-weight:normal;line-height:1;margin:0;padding:7px 9px;border-width:0 0 1px 0;border-style:solid;}#poststuff h2{border-color:#dfdfdf;}#tagsdiv-post_tag h3,#categorydiv h3{cursor:pointer;}h3.tb{text-shadow:0 1px 0 #fff;font-weight:bold;font-size:12px;margin-left:5px;}#TB_window{border:1px solid #333;-moz-border-radius:3px;-khtml-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;}.postbox,.stuffbox{margin-bottom:10px;border-width:1px;border-style:solid;line-height:1;-moz-border-radius:3px;-khtml-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;}.postbox:hover .handlediv,.stuffbox:hover .handlediv{background:transparent url(../images/arrows.png) no-repeat 6px 7px;}.postbox .handlediv{float:right;width:27px;height:30px;cursor:pointer;}#title,.tbtitle{font-family:sans-serif;-moz-border-radius:3px;-khtml-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;border-style:solid;border-width:1px;font-size:1.7em;outline:none;padding:3px 4px;border-color:#dfdfdf;}.tbtitle{font-size:12px;padding:3px;}#title{width:97%;}.editor-container{-moz-border-radius:3px;-khtml-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;border:1px solid #ccc;background-color:#fff;}.actions{float:right;margin:-19px 0 0;}#extra-fields .actions{margin:-23px -7px 0 0;}.actions li{float:left;list-style:none;margin-right:10px;}#extra-fields .button{margin-right:5px;padding:3px 6px;border-radius:10px;-webkit-border-radius:10px;-khtml-border-radius:10px;-moz-border-radius:10px;}#photo_saving{margin:0 8px 8px;vertical-align:middle;}#img_container_container{overflow:auto;}#extra-fields{margin-top:10px;position:relative;}#waiting{margin-top:10px;}#extra-fields .postbox{margin-bottom:5px;}#extra-fields .titlewrap{padding:0;overflow:auto;height:100px;}#img_container a{display:block;float:left;overflow:hidden;vertical-align:center;}#img_container img,#img_container a{width:68px;height:68px;}#img_container img{border:none;background-color:#f4f4f4;cursor:pointer;}#img_container a,#img_container a:link,#img_container a:visited{border:1px solid #ccc;display:block;position:relative;}#img_container a:hover,#img_container a:active{border-color:#000;z-index:1000;border-width:2px;margin:-1px;}#embed-code{width:100%;height:98px;}.wp-hidden-children .wp-hidden-child{display:none;}.category-add input{width:94%;font-family:sans-serif;font-size:12px;margin:1px;}select{width:100%;-x-system-font:none;border-style:solid;border-width:1px;font-family:sans-serif;font-size:12px;height:2em;line-height:20px;padding:2px;margin:1px;vertical-align:top;}.category-add input.category-add-sumbit{width:auto;}.categorydiv div.tabs-panel,#linkcategorydiv div.tabs-panel{height:100px;overflow:auto;padding:.5em .9em;border-style:solid;border-width:1px;}.category-tabs li{display:inline;padding-right:8px;}.category-tabs a{text-decoration:none;}.categorydiv ul,#linkcategorydiv ul{list-style:none;padding:0;margin:0;}.inline-editor ul.cat-checklist ul,.categorydiv ul.categorychecklist ul,#linkcategorydiv ul.categorychecklist ul{margin-left:18px;}ul.categorychecklist li{margin:0;padding:0;line-height:19px;}.categorydiv .tabs-panel{border-width:3px;border-style:solid;}ul.category-tabs{margin-top:12px;margin-bottom:5px;}ul.category-tabs li.tabs{border-style:solid solid none;border-width:1px 1px 0;}ul.category-tabs li{padding:5px 8px;-moz-border-radius:3px 3px 0 0;-webkit-border-top-left-radius:3px;-webkit-border-top-right-radius:3px;-khtml-border-top-left-radius:3px;-khtml-border-top-right-radius:3px;border-top-left-radius:3px;border-top-right-radius:3px;}.screen-reader-text{display:none;}.tagsdiv .newtag{margin-right:5px;}.jaxtag{clear:both;margin:0;}.tagadd{margin-left:3px;}.tagchecklist{margin-top:3px;margin-bottom:1em;font-size:12px;overflow:auto;}.tagchecklist strong{position:absolute;font-size:.75em;}.tagchecklist span{margin-right:.5em;margin-left:10px;display:block;float:left;font-size:12px;line-height:1.8em;white-space:nowrap;cursor:default;}.tagchecklist span a{margin:6px 0 0 -9px;cursor:pointer;width:10px;height:10px;display:block;float:left;text-indent:-9999px;overflow:hidden;position:absolute;}#content{margin:5px 0;padding:0 5px;border:0 none;height:365px;width:97%!important;font-family:Consolas,Monaco,monospace;font-size:13px;line-height:19px;background:transparent;}* html .postdivrich{zoom:1;}#saving{display:inline;vertical-align:middle;}.submit input,.button,.button-primary,.button-secondary,.button-highlighted,#postcustomstuff .submit input{font-family:sans-serif;text-decoration:none;font-size:12px!important;line-height:16px;padding:2px 8px;margin:2px;cursor:pointer;border-width:1px;border-style:solid;-moz-border-radius:11px;-khtml-border-radius:11px;-webkit-border-radius:11px;border-radius:11px;}.button-primary{background:#21759B url(../images/button-grad.png) repeat-x scroll left top;border-color:#21759B;color:#fff;}.ac_results{padding:0;margin:0;list-style:none;position:absolute;z-index:10000;display:none;border-width:1px;border-style:solid;}.ac_results li{padding:2px 5px;white-space:nowrap;text-align:left;}.ac_over{cursor:pointer;}.ac_match{text-decoration:underline;}#TB_ajaxContent #options{position:absolute;top:20px;right:25px;padding:5px;}#TB_ajaxContent h3{margin-bottom:.25em;}.updated{margin:10px 0;padding:0;border-width:1px;border-style:solid;width:99%;}.updated p,.error p{margin:.6em 0;padding:0 .6em;}.error a{text-decoration:underline;}.updated a{text-decoration:none;padding-bottom:2px;}#post_status{margin-left:10px;margin-bottom:1em;display:block;}#footer{height:65px;display:block;width:640px;padding:10px 0 0 60px;margin:0;position:absolute;bottom:0;font-size:12px;}#footer p{margin:0;padding:7px 0;}#footer p a{text-decoration:none;}#footer p a:hover{text-decoration:underline;}.centered{text-align:center;}.hidden{display:none;}.postbox input[type="text"],.postbox textarea,.stuffbox input[type="text"],.stuffbox textarea{border-width:1px;border-style:solid;}.taghint{color:#aaa;margin:-17px 0 0 7px;visibility:hidden;}input.newtag ~ div.taghint{visibility:visible;}input.newtag:focus ~ div.taghint{visibility:hidden;}#mce_fullscreen_container{background:#fff;} \ No newline at end of file diff --git a/wp-admin/css/press-this.dev.css b/wp-admin/css/press-this.dev.css index 225512c6e..416227c38 100644 --- a/wp-admin/css/press-this.dev.css +++ b/wp-admin/css/press-this.dev.css @@ -1,5 +1,6 @@ body { - font: 13px "Lucida Grande", Verdana, Arial, "Bitstream Vera Sans", sans-serif; + font-size: 13px; + font-family: sans-serif; color: #333; margin: 0; padding: 0; @@ -13,17 +14,47 @@ img { /* Header */ #wphead { - border-top: none; - padding-top: 4px; - background: #444 !important; + height: 32px; + margin-right: 5px; + margin-bottom: 5px; +} + +#header-logo { + float: left; + margin: 7px 7px 0; + -webkit-user-select: none; + -moz-user-select: none; + -khtml-user-select: none; + user-select: none; +} + +#wphead h1 { + font: normal 16px Georgia, "Times New Roman", "Bitstream Charter", Times, serif; + padding: 6px 0 0; + margin: 0; + float: left; +} + +#wphead h1 a { + text-decoration: none; +} +#wphead h1 a:hover { + text-decoration: underline; } .tagchecklist span a { background: transparent url(../images/xit.gif) no-repeat 0 0; } -#poststuff #edButtonPreview, -#poststuff #edButtonHTML { +#edButtonPreview, +#edButtonHTML { + height: 18px; + margin: 5px 5px 0 0; + padding: 4px 5px 2px; + float: right; + cursor: pointer; + border-width: 1px; + border-style: solid; -moz-border-radius: 3px 3px 0 0; -webkit-border-top-right-radius: 3px; -webkit-border-top-left-radius: 3px; @@ -31,22 +62,32 @@ img { -khtml-border-top-left-radius: 3px; border-top-right-radius: 3px; border-top-left-radius: 3px; - border-style: solid; - border-width: 1px; +} + +#poststuff #edButtonHTML { + margin-right: 15px; +} + +#media-buttons { + cursor: default; + padding: 8px 8px 0; +} + +#media-buttons a { cursor: pointer; - display: block; - height: 18px; - margin: 0 5px 0 0; - padding: 0 5px 0; - font-size: 10px; - line-height: 18px; - float: left; + padding: 0 0 5px 10px; +} + +#media-buttons img, +#submitpost #ajax-loading, +#submitpost .ajax-loading { + vertical-align: middle; } .howto { margin-top: 2px; margin-bottom: 3px; - font-size: 11px; + font-size: 12px; font-style: italic; display: block; } @@ -59,15 +100,19 @@ input.text { } #message { - -moz-border-radius: 6px; - -khtml-border-radius: 6px; - -webkit-border-radius: 6px; - border-radius: 6px; + -moz-border-radius: 3px; + -khtml-border-radius: 3px; + -webkit-border-radius: 3px; + border-radius: 3px; } /* Editor/Main Column */ div#poststuff { - margin: 10px; + margin: 0 10px 10px; +} + +#poststuff #editor-toolbar { + height: 30px; } div.zerosize { @@ -79,11 +124,6 @@ div.zerosize { width: 0; } -#poststuff #edButtonPreview.active, -#poststuff #edButtonHTML.active { - display: none; -} - .posting { margin-right: 212px; position: relative; @@ -101,16 +141,44 @@ div.zerosize { } #poststuff .inside { - font-size: 11px; + font-size: 12px; margin: 8px; } +#submitdiv .inside { + margin: 0; +} + +#submitdiv .inside p { + padding: 5px 8px; + margin: 0; +} + +#submitdiv #publishing-actions { + padding-left: 6px; + border-bottom: 1px solid #dfdfdf; + -webkit-box-shadow: 0 1px 0 #fff; + -moz-box-shadow: 0 1px 0 #fff; + box-shadow: 0 1px 0 #fff; +} + +#publish { + float: right; +} + #poststuff h2,#poststuff h3 { - font-size: 12px; - font-weight: bold; + font-size: 13px; + font-family: Georgia, "Times New Roman", "Bitstream Charter", Times, serif; + font-weight: normal; line-height: 1; margin: 0; padding: 7px 9px; + border-width: 0 0 1px 0; + border-style: solid; +} + +#poststuff h2 { + border-color: #dfdfdf; } #tagsdiv-post_tag h3, @@ -127,10 +195,10 @@ h3.tb { #TB_window { border: 1px solid #333; - -moz-border-radius: 6px; - -khtml-border-radius: 6px; - -webkit-border-radius: 6px; - border-radius: 6px; + -moz-border-radius: 3px; + -khtml-border-radius: 3px; + -webkit-border-radius: 3px; + border-radius: 3px; } .postbox, @@ -139,29 +207,31 @@ h3.tb { border-width: 1px; border-style: solid; line-height: 1; - -moz-border-radius: 6px; - -khtml-border-radius: 6px; - -webkit-border-radius: 6px; - border-radius: 6px; + -moz-border-radius: 3px; + -khtml-border-radius: 3px; + -webkit-border-radius: 3px; + border-radius: 3px; } .postbox:hover .handlediv, .stuffbox:hover .handlediv { - background: transparent url(../images/menu-bits.gif) no-repeat scroll left -111px; + background: transparent url(../images/arrows.png) no-repeat 6px 7px; } -.handlediv { +.postbox .handlediv { float: right; - height: 26px; - width: 23px; + width: 27px; + height: 30px; + cursor: pointer; } #title, .tbtitle { - -moz-border-radius: 6px; - -khtml-border-radius: 6px; - -webkit-border-radius: 6px; - border-radius: 6px; + font-family: sans-serif; + -moz-border-radius: 3px; + -khtml-border-radius: 3px; + -webkit-border-radius: 3px; + border-radius: 3px; border-style: solid; border-width: 1px; font-size: 1.7em; @@ -180,26 +250,21 @@ h3.tb { } .editor-container { - -moz-border-radius: 6px; - -khtml-border-radius: 6px; - -webkit-border-radius: 6px; - border-radius: 6px; - border: 1px solid #dfdfdf; + -moz-border-radius: 3px; + -khtml-border-radius: 3px; + -webkit-border-radius: 3px; + border-radius: 3px; + border: 1px solid #ccc; background-color: #fff; } -.postdivrich { - padding-top: 25px; - position: relative; -} - .actions { float: right; margin: -19px 0 0; } #extra-fields .actions { - margin: -15px -5px 0 0; + margin: -23px -7px 0 0; } .actions li { @@ -218,19 +283,11 @@ h3.tb { } /* Photo Styles */ -.photolist { - margin-top: -10px; -} - #photo_saving { margin: 0 8px 8px; vertical-align: middle; } -#img_container { - background-color: #fff; -} - #img_container_container { overflow: auto; } @@ -296,13 +353,6 @@ h3.tb { } /* Submit Column */ -#viewsite { - padding: 0; - margin: 0 0 20px 5px; - font-size: 10px; - clear: both; -} - .wp-hidden-children .wp-hidden-child { display: none; @@ -312,18 +362,18 @@ h3.tb { .category-add input { width: 94%; - font-family: "Lucida Grande", Verdana, Arial, "Bitstream Vera Sans", sans-serif; + font-family: sans-serif; font-size: 12px; margin: 1px; } -.category-add select { +select { width: 100%; -x-system-font: none; border-style: solid; border-width: 1px; - font-family: "Lucida Grande", Verdana, Arial, "Bitstream Vera Sans", sans-serif; - font-size: 11px; + font-family: sans-serif; + font-size: 12px; height: 2em; line-height: 20px; padding: 2px; @@ -379,7 +429,7 @@ ul.categorychecklist li { ul.category-tabs { margin-top: 12px; - margin-bottom: 6px; + margin-bottom: 5px; } ul.category-tabs li.tabs { @@ -433,7 +483,7 @@ ul.category-tabs li { margin-left: 10px; display: block; float: left; - font-size: 11px; + font-size: 12px; line-height: 1.8em; white-space: nowrap; cursor: default; @@ -457,6 +507,10 @@ ul.category-tabs li { border: 0 none; height: 365px; width: 97% !important; + font-family: Consolas, Monaco, monospace; + font-size: 13px; + line-height: 19px; + background: transparent; } * html .postdivrich { @@ -475,11 +529,12 @@ ul.category-tabs li { .button-secondary, .button-highlighted, #postcustomstuff .submit input { - font-family: "Lucida Grande", Verdana, Arial, "Bitstream Vera Sans", sans-serif; + font-family: sans-serif; text-decoration: none; - font-size: 11px !important; + font-size: 12px !important; line-height: 16px; padding: 2px 8px; + margin: 2px; cursor: pointer; border-width: 1px; border-style: solid; @@ -616,3 +671,8 @@ input.newtag ~ div.taghint { input.newtag:focus ~ div.taghint { visibility: hidden; } + +/* TinyMCE */ +#mce_fullscreen_container { + background: #fff; +} diff --git a/wp-admin/css/theme-editor.css b/wp-admin/css/theme-editor.css index f66a1ca26..fe03629bf 100644 --- a/wp-admin/css/theme-editor.css +++ b/wp-admin/css/theme-editor.css @@ -1 +1 @@ -.alignleft h3{margin:0;}h3 span{font-weight:normal;}#template textarea{font-family:Consolas,Monaco,Courier,monospace;font-size:12px;width:97%;}#template p{width:97%;}#templateside{float:right;width:190px;word-wrap:break-word;}#templateside h3,#postcustomstuff p.submit{margin:0;}#templateside h4{margin:1em 0 0;}#templateside ol,#templateside ul{margin:.5em;padding:0;}#templateside li{margin:4px 0;}#templateside ul li a span.highlight{display:block;}.nonessential{font-size:11px;font-style:italic;padding-left:12px;}.highlight{padding:3px 3px 3px 12px;margin-left:-12px;font-weight:bold;-moz-border-radius:8px;-khtml-border-radius:8px;-webkit-border-radius:8px;border-radius:8px;}div.tablenav{margin-right:210px;}#documentation{margin-top:10px;}#documentation label{line-height:22px;vertical-align:top;font-weight:bold;}.fileedit-sub{padding:10px 0 8px;line-height:180%;} \ No newline at end of file +.alignleft h3{margin:0;}h3 span{font-weight:normal;}#template textarea{font-family:Consolas,Monaco,monospace;font-size:12px;width:97%;background:#f9f9f9;outline:none;}#template p{width:97%;}#templateside{float:right;width:190px;word-wrap:break-word;}#templateside h3,#postcustomstuff p.submit{margin:0;}#templateside h4{margin:1em 0 0;}#templateside ol,#templateside ul{margin:.5em;padding:0;}#templateside li{margin:4px 0;}#templateside ul li a span.highlight{display:block;}.nonessential{font-size:11px;font-style:italic;padding-left:12px;}.highlight{padding:3px 3px 3px 12px;margin-left:-12px;font-weight:bold;-moz-border-radius:3px;-khtml-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;}div.tablenav{margin-right:210px;}#documentation{margin-top:10px;}#documentation label{line-height:22px;vertical-align:top;font-weight:bold;}.fileedit-sub{padding:10px 0 8px;line-height:180%;} \ No newline at end of file diff --git a/wp-admin/css/theme-editor.dev.css b/wp-admin/css/theme-editor.dev.css index d7effcea8..b06837be3 100644 --- a/wp-admin/css/theme-editor.dev.css +++ b/wp-admin/css/theme-editor.dev.css @@ -7,9 +7,11 @@ h3 span { } #template textarea { - font-family: Consolas, Monaco, Courier, monospace; + font-family: Consolas, Monaco, monospace; font-size: 12px; width: 97%; + background: #f9f9f9; + outline: none; } #template p { @@ -55,10 +57,10 @@ h3 span { padding: 3px 3px 3px 12px; margin-left: -12px; font-weight: bold; - -moz-border-radius: 8px; - -khtml-border-radius: 8px; - -webkit-border-radius: 8px; - border-radius: 8px; + -moz-border-radius: 3px; + -khtml-border-radius: 3px; + -webkit-border-radius: 3px; + border-radius: 3px; } div.tablenav { diff --git a/wp-admin/css/theme-install.css b/wp-admin/css/theme-install.css index cd8e31a72..e96844e2a 100644 --- a/wp-admin/css/theme-install.css +++ b/wp-admin/css/theme-install.css @@ -1 +1 @@ -div.star-holder{position:relative;height:19px;width:100px;font-size:19px;}div.star{height:100%;position:absolute;top:0;left:0;background-color:transparent;letter-spacing:1ex;border:none;}.star1{width:20%;}.star2{width:40%;}.star3{width:60%;}.star4{width:80%;}.star5{width:100%;}.star img,div.star a,div.star a:hover,div.star a:visited{display:block;position:absolute;right:0;border:none;text-decoration:none;}div.star img{width:19px;height:19px;border-left:1px solid #fff;border-right:1px solid #fff;}.theme-listing .theme-item{display:inline-block;width:200px;border:thin solid #ccc;vertical-align:top;}.theme-listing .theme-item h3{text-align:center;font-size:14px;font-style:italic;margin:0;padding:0;}.theme-listing .theme-item img{max-width:150px;max-height:150px;}.theme-listing .theme-item-info span{display:none;}.theme-listing .theme-item:hover .theme-item-info span{display:inline;}.theme-listing .theme-item:hover .theme-item-info span.dots{display:none;}.theme-listing .theme-item-info span.action-links{font-weight:bold;text-align:center;}.theme-listing br.line{border-bottom-width:1px;border-bottom-style:solid;margin-bottom:3px;}.available-theme{padding:20px 15px;}#theme-information .theme-preview-img{float:left;margin:5px 25px 10px 15px;width:300px;}#theme-information .action-button{border-top-width:1px;border-top-style:solid;margin:10px 5px 0;}#theme-information .action-button #cancel{float:left;margin:10px 15px;}#theme-information .action-button #install{float:right;margin:10px 15px;}#theme-information .available-theme h3{margin:1em 0;}body#theme-information{height:auto;}.feature-filter{-moz-border-radius:8px;-khtml-border-radius:8px;-webkit-border-radius:8px;border-radius:8px;border-width:1px;border-style:solid;padding:8px 12px 0;}.feature-filter .feature-group{float:left;margin-bottom:20px;width:725px;}.feature-filter .feature-name{float:left;text-align:right;width:95px;}.feature-filter .feature-group li{display:inline;float:left;list-style-type:none;padding-right:25px;min-width:145px;}.feature-container{width:100%;overflow:auto;margin-bottom:10px;}.feature-group{margin-bottom:0!important;} \ No newline at end of file +div.star-holder{position:relative;height:19px;width:100px;font-size:19px;}div.star{height:100%;position:absolute;top:0;left:0;background-color:transparent;letter-spacing:1ex;border:none;}.star1{width:20%;}.star2{width:40%;}.star3{width:60%;}.star4{width:80%;}.star5{width:100%;}.star img,div.star a,div.star a:hover,div.star a:visited{display:block;position:absolute;right:0;border:none;text-decoration:none;}div.star img{width:19px;height:19px;border-left:1px solid #fff;border-right:1px solid #fff;}.theme-listing .theme-item{display:inline-block;width:200px;border:thin solid #ccc;vertical-align:top;}.theme-listing .theme-item h3{text-align:center;font-size:14px;font-style:italic;margin:0;padding:0;}.theme-listing .theme-item img{max-width:150px;max-height:150px;}.theme-listing .theme-item-info span{display:none;}.theme-listing .theme-item:hover .theme-item-info span{display:inline;}.theme-listing .theme-item:hover .theme-item-info span.dots{display:none;}.theme-listing .theme-item-info span.action-links{font-weight:bold;text-align:center;}.theme-listing br.line{border-bottom-width:1px;border-bottom-style:solid;margin-bottom:3px;}.available-theme{padding:20px 15px;}#theme-information .theme-preview-img{float:left;margin:5px 25px 10px 15px;width:300px;}#theme-information .action-button{border-top-width:1px;border-top-style:solid;margin:10px 5px 0;}#theme-information .action-button #cancel{float:left;margin:10px 15px;}#theme-information .action-button #install{float:right;margin:10px 15px;}#theme-information .available-theme h3{margin:1em 0;}body#theme-information{height:auto;}.feature-filter{-moz-border-radius:3px;-khtml-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;border-width:1px;border-style:solid;padding:8px 12px 0;}.feature-filter .feature-group{float:left;margin-bottom:20px;width:725px;}.feature-filter .feature-name{float:left;text-align:right;width:95px;}.feature-filter .feature-group li{display:inline;float:left;list-style-type:none;padding-right:25px;min-width:145px;}.feature-container{width:100%;overflow:auto;margin-bottom:10px;}.feature-group{margin-bottom:0!important;} \ No newline at end of file diff --git a/wp-admin/css/theme-install.dev.css b/wp-admin/css/theme-install.dev.css index 3fce3587c..70dee71b8 100644 --- a/wp-admin/css/theme-install.dev.css +++ b/wp-admin/css/theme-install.dev.css @@ -115,10 +115,10 @@ body#theme-information { } .feature-filter { - -moz-border-radius: 8px; - -khtml-border-radius: 8px; - -webkit-border-radius: 8px; - border-radius: 8px; + -moz-border-radius: 3px; + -khtml-border-radius: 3px; + -webkit-border-radius: 3px; + border-radius: 3px; border-width: 1px; border-style: solid; padding: 8px 12px 0; diff --git a/wp-admin/css/widgets-rtl.css b/wp-admin/css/widgets-rtl.css index 417995c66..1f8b2a58f 100644 --- a/wp-admin/css/widgets-rtl.css +++ b/wp-admin/css/widgets-rtl.css @@ -1 +1 @@ -#widget-list .widget,#wp_inactive_widgets .widget{float: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{margin-right:0;margin-left:8px;float:right;} \ No newline at end of file +div.widget-liquid-left{float:right;clear:right;margin-right:0;margin-left:-325px;}div#widgets-left{margin-right:5px;margin-left:325px;}div.widget-liquid-right{float:left;clear:left;}#wp_inactive_widgets .widget{float:right;}div.sidebar-name h3{font-family:Tahoma,Arial,sans-serif;}#widget-list .widget{float:right;}#wp_inactive_widgets .widget-placeholder{float:right;}.widget-top .widget-title-action{float:left;}.widget-control-edit{padding:0 0 0 8px;}.sidebar-name-arrow{float:left;} \ No newline at end of file diff --git a/wp-admin/css/widgets-rtl.dev.css b/wp-admin/css/widgets-rtl.dev.css index d2ccce59a..672f66974 100644 --- a/wp-admin/css/widgets-rtl.dev.css +++ b/wp-admin/css/widgets-rtl.dev.css @@ -1,14 +1,47 @@ -#widget-list .widget, +/* 2 column liquid layout */ +div.widget-liquid-left { + float: right; + clear: right; + margin-right: 0; + margin-left: -325px; +} + +div#widgets-left { + margin-right: 5px; + margin-left: 325px; +} + +div.widget-liquid-right { + float: left; + clear: left; +} + #wp_inactive_widgets .widget { float: right; } -ul#widget-list li.widget-list-item div.widget-description { - margin: 0 200px 0 0; - padding: 0 4em 0 0; + +div.sidebar-name h3 { + font-family: Tahoma, Arial, sans-serif; } -.widget-control-save, -.widget-control-remove { - margin-right: 0; - margin-left: 8px; + +#widget-list .widget { float: right; } + +#wp_inactive_widgets .widget-placeholder { + float: right; +} + +.widget-top .widget-title-action { + float: left; +} + +.widget-control-edit { + padding: 0 0 0 8px; +} + + +.sidebar-name-arrow { + float: left; +} + diff --git a/wp-admin/css/widgets.css b/wp-admin/css/widgets.css index 44eb420ea..729bcaf75 100644 --- a/wp-admin/css/widgets.css +++ b/wp-admin/css/widgets.css @@ -1 +1 @@ -html,body{min-width:950px;}div.widget-liquid-left{float:left;clear:left;width:100%;margin-right:-325px;}div#widgets-left{margin-left:5px;margin-right:325px;}div#widgets-right{width:285px;margin:0 auto;}div.widget-liquid-right{float:right;clear:right;width:300px;}.widget-liquid-right .widget,#wp_inactive_widgets .widget,.widget-liquid-right .sidebar-description{width:250px;margin:0 auto 20px;overflow:hidden;}.widget-liquid-right .sidebar-description{margin-bottom:10px;}#wp_inactive_widgets .widget{margin:0 10px 20px;float:left;}div.sidebar-name h3{margin:0;padding:5px 12px;font-size:13px;height:19px;overflow:hidden;white-space:nowrap;}div.sidebar-name{background-repeat:repeat-x;background-position:0 0;cursor:pointer;font-size:13px;border-width:1px;border-style:solid;-moz-border-radius-topleft:8px;-moz-border-radius-topright:8px;-webkit-border-top-right-radius:8px;-webkit-border-top-left-radius:8px;-khtml-border-top-right-radius:8px;-khtml-border-top-left-radius:8px;border-top-right-radius:8px;border-top-left-radius:8px;}.js .closed .sidebar-name{-moz-border-radius-bottomleft:8px;-moz-border-radius-bottomright:8px;-webkit-border-bottom-right-radius:8px;-webkit-border-bottom-left-radius:8px;-khtml-border-bottom-right-radius:8px;-khtml-border-bottom-left-radius:8px;border-bottom-right-radius:8px;border-bottom-left-radius:8px;}.widget-liquid-right .widgets-sortables,#widgets-left .widget-holder{border-width:0 1px 1px;border-style:none solid solid;-moz-border-radius-bottomleft:8px;-moz-border-radius-bottomright:8px;-webkit-border-bottom-right-radius:8px;-webkit-border-bottom-left-radius:8px;-khtml-border-bottom-right-radius:8px;-khtml-border-bottom-left-radius:8px;border-bottom-right-radius:8px;border-bottom-left-radius:8px;}.js .closed .widgets-sortables,.js .closed .widget-holder{display:none;}.widget-liquid-right .widgets-sortables{padding:15px 0 0;}#available-widgets .widget-holder{padding:7px 5px 0;}#wp_inactive_widgets{padding:5px 5px 0;}#widget-list .widget{width:250px;margin:0 10px 15px;border:0 none;float:left;}#widget-list .widget-description{padding:5px 8px;}#widget-list .widget-top{border-width:1px;border-style:solid;-moz-border-radius:6px;-khtml-border-radius:6px;-webkit-border-radius:6px;border-radius:6px;}.widget-placeholder{border-width:1px;border-style:dashed;margin:0 auto 20px;height:26px;width:250px;}#wp_inactive_widgets .widget-placeholder{margin:0 10px 20px;float:left;}div.widgets-holder-wrap{padding:0;margin:10px 0 20px;}#widgets-left #available-widgets{background-color:transparent;border:0 none;}ul#widget-list{list-style:none;margin:0;padding:0;min-height:100px;}.widget .widget-top{font-size:12px;font-weight:bold;height:26px;overflow:hidden;}.widget-top .widget-title{padding:5px 9px;}.widget-top .widget-title-action{float:right;}a.widget-action{display:block;width:24px;height:26px;}#available-widgets a.widget-action{display:none;}.widget-top a.widget-action{background:url("../images/menu-bits.gif?ver=20100610") no-repeat scroll 0 -110px;}.widget .widget-inside,.widget .widget-description{padding:12px 12px 10px;font-size:11px;line-height:16px;}.widget-inside,.widget-description{display:none;}#available-widgets .widget-description{display:block;}.widget .widget-inside p{margin:0 0 1em;padding:0;}.widget-title h4{margin:0;line-height:1.3;overflow:hidden;white-space:nowrap;}.widgets-sortables{min-height:90px;}.widget-control-actions{margin-top:8px;}.widget-control-actions a{text-decoration:none;}.widget-control-actions a:hover{text-decoration:underline;}.widget-control-actions .ajax-feedback{padding-bottom:3px;}.widget-control-actions div.alignleft{margin-top:6px;}div#sidebar-info{padding:0 1em;margin-bottom:1em;font-size:11px;}.widget-title a,.widget-title a:hover{text-decoration:none;border-bottom:none;}.widget-control-edit{display:block;font-size:11px;font-weight:normal;line-height:26px;padding:0 8px 0 0;}a.widget-control-edit{text-decoration:none;}.widget-control-edit .add,.widget-control-edit .edit{display:none;}#available-widgets .widget-control-edit .add,#widgets-right .widget-control-edit .edit,#wp_inactive_widgets .widget-control-edit .edit{display:inline;}.editwidget{margin:0 auto 15px;}.editwidget .widget-inside{display:block;border-width:1px;border-style:solid;padding:10px;-moz-border-radius:6px;-khtml-border-radius:6px;-webkit-border-radius:6px;border-radius:6px;}.inactive p.description{margin:5px 15px 8px;}#available-widgets p.description{margin:0 12px 12px;}.widget-position{margin-top:8px;}.inactive{padding-top:2px;}.sidebar-name-arrow{float:right;height:29px;width:26px;}.widget-title .in-widget-title{font-size:11px;white-space:nowrap;}#removing-widget{display:none;font-weight:normal;padding-left:15px;font-size:12px;}.widget-control-noform,#access-off,.widgets_access .widget-action,.widgets_access .sidebar-name-arrow,.widgets_access #access-on,.widgets_access .widget-holder .description{display:none;}.widgets_access .widget-holder,.widgets_access #widget-list{padding-top:10px;}.widgets_access #access-off{display:inline;}.widgets_access #wpbody-content .widget-title-action,.widgets_access #wpbody-content .widget-control-edit,.widgets_access .closed .widgets-sortables,.widgets_access .closed .widget-holder{display:block;}.widgets_access .closed .sidebar-name{-moz-border-radius-bottomleft:0;-moz-border-radius-bottomright:0;-webkit-border-bottom-right-radius:0;-webkit-border-bottom-left-radius:0;-khtml-border-bottom-right-radius:0;-khtml-border-bottom-left-radius:0;border-bottom-right-radius:0;border-bottom-left-radius:0;}.widgets_access .sidebar-name,.widgets_access .widget .widget-top{cursor:default;} \ No newline at end of file +html,body{min-width:950px;}div.widget-liquid-left{float:left;clear:left;width:100%;margin-right:-325px;}div#widgets-left{margin-left:5px;margin-right:325px;}div#widgets-right{width:285px;margin:0 auto;}div.widget-liquid-right{float:right;clear:right;width:300px;}.widget-liquid-right .widget,#wp_inactive_widgets .widget,.widget-liquid-right .sidebar-description{width:250px;margin:0 auto 20px;overflow:hidden;}.widget-liquid-right .sidebar-description{margin-bottom:10px;}#wp_inactive_widgets .widget{margin:0 10px 20px;float:left;}div.sidebar-name h3{font-family:Georgia,"Times New Roman","Bitstream Charter",Times,serif;font-weight:normal;font-size:15px;margin:0;padding:8px 10px;overflow:hidden;white-space:nowrap;}div.sidebar-name{cursor:pointer;font-size:13px;border-width:1px;border-style:solid;-moz-border-radius-topleft:3px;-moz-border-radius-topright:3px;-webkit-border-top-right-radius:3px;-webkit-border-top-left-radius:3px;-khtml-border-top-right-radius:3px;-khtml-border-top-left-radius:3px;border-top-right-radius:3px;border-top-left-radius:3px;}.js .closed .sidebar-name{-moz-border-radius-bottomleft:3px;-moz-border-radius-bottomright:3px;-webkit-border-bottom-right-radius:3px;-webkit-border-bottom-left-radius:3px;-khtml-border-bottom-right-radius:3px;-khtml-border-bottom-left-radius:3px;border-bottom-right-radius:3px;border-bottom-left-radius:3px;}.widget-liquid-right .widgets-sortables,#widgets-left .widget-holder{border-width:0 1px 1px;border-style:none solid solid;-moz-border-radius-bottomleft:3px;-moz-border-radius-bottomright:3px;-webkit-border-bottom-right-radius:3px;-webkit-border-bottom-left-radius:3px;-khtml-border-bottom-right-radius:3px;-khtml-border-bottom-left-radius:3px;border-bottom-right-radius:3px;border-bottom-left-radius:3px;}.js .closed .widgets-sortables,.js .closed .widget-holder{display:none;}.widget-liquid-right .widgets-sortables{padding:15px 0 0;}#available-widgets .widget-holder{padding:7px 5px 0;}#available-widgets .widget{-moz-box-shadow:none;-webkit-box-shadow:none;box-shadow:none;}#wp_inactive_widgets{padding:5px 5px 0;}#widget-list .widget{width:250px;margin:0 10px 15px;border:0 none;background:transparent;float:left;}#widget-list .widget-description{padding:5px 8px;}#widget-list .widget-top{border-width:1px;border-style:solid;-moz-border-radius:3px;-khtml-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;}.widget-placeholder{border-width:1px;border-style:dashed;margin:0 auto 20px;height:26px;width:250px;}#wp_inactive_widgets .widget-placeholder{margin:0 10px 20px;float:left;}div.widgets-holder-wrap{padding:0;margin:10px 0 20px;}#widgets-left #available-widgets{background-color:transparent;border:0 none;}ul#widget-list{list-style:none;margin:0;padding:0;min-height:100px;}.widget .widget-top{margin-bottom:-1px;font-size:12px;font-weight:bold;height:26px;overflow:hidden;}.widget-top .widget-title{padding:7px 9px;}.widget-top .widget-title-action{float:right;}a.widget-action{display:block;width:24px;height:26px;}#available-widgets a.widget-action{display:none;}.widget-top a.widget-action{background:transparent url(../images/arrows.png) no-repeat 4px 6px;}.widget-top a.widget-action:hover{background:transparent url(../images/arrows-dark.png) no-repeat 4px 6px;}.widget .widget-inside,.widget .widget-description{padding:12px 12px 10px;font-size:12px;line-height:16px;}.widget-inside,.widget-description{display:none;}#available-widgets .widget-description{display:block;}.widget .widget-inside p{margin:0 0 1em;padding:0;}.widget-title h4{margin:0;line-height:1;overflow:hidden;white-space:nowrap;}.widgets-sortables{min-height:90px;}.widget-control-actions{margin-top:8px;}.widget-control-actions a{text-decoration:none;}.widget-control-actions a:hover{text-decoration:underline;}.widget-control-actions .ajax-feedback{padding-bottom:3px;}.widget-control-actions div.alignleft{margin-top:6px;}div#sidebar-info{padding:0 1em;margin-bottom:1em;font-size:12px;}.widget-title a,.widget-title a:hover{text-decoration:none;border-bottom:none;}.widget-control-edit{display:block;font-size:12px;font-weight:normal;line-height:26px;padding:0 8px 0 0;}a.widget-control-edit{text-decoration:none;}.widget-control-edit .add,.widget-control-edit .edit{display:none;}#available-widgets .widget-control-edit .add,#widgets-right .widget-control-edit .edit,#wp_inactive_widgets .widget-control-edit .edit{display:inline;}.editwidget{margin:0 auto 15px;}.editwidget .widget-inside{display:block;border-width:1px;border-style:solid;padding:10px;-moz-border-radius:3px;-khtml-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;}.inactive p.description{margin:5px 15px 8px;}#available-widgets p.description{margin:0 12px 12px;}.widget-position{margin-top:8px;}.inactive{padding-top:2px;}.sidebar-name-arrow{float:right;height:29px;width:26px;}.widget-title .in-widget-title{font-size:12px;white-space:nowrap;}#removing-widget{display:none;font-weight:normal;padding-left:15px;font-size:12px;line-height:1;}.widget-control-noform,#access-off,.widgets_access .widget-action,.widgets_access .sidebar-name-arrow,.widgets_access #access-on,.widgets_access .widget-holder .description{display:none;}.widgets_access .widget-holder,.widgets_access #widget-list{padding-top:10px;}.widgets_access #access-off{display:inline;}.widgets_access #wpbody-content .widget-title-action,.widgets_access #wpbody-content .widget-control-edit,.widgets_access .closed .widgets-sortables,.widgets_access .closed .widget-holder{display:block;}.widgets_access .closed .sidebar-name{-moz-border-radius-bottomleft:0;-moz-border-radius-bottomright:0;-webkit-border-bottom-right-radius:0;-webkit-border-bottom-left-radius:0;-khtml-border-bottom-right-radius:0;-khtml-border-bottom-left-radius:0;border-bottom-right-radius:0;border-bottom-left-radius:0;}.widgets_access .sidebar-name,.widgets_access .widget .widget-top{cursor:default;} \ No newline at end of file diff --git a/wp-admin/css/widgets.dev.css b/wp-admin/css/widgets.dev.css index 0ce9fd3ce..8b4736fd9 100644 --- a/wp-admin/css/widgets.dev.css +++ b/wp-admin/css/widgets.dev.css @@ -45,54 +45,53 @@ div.widget-liquid-right { } div.sidebar-name h3 { + font-family: Georgia, "Times New Roman", "Bitstream Charter", Times, serif; + font-weight: normal; + font-size: 15px; margin: 0; - padding: 5px 12px; - font-size: 13px; - height: 19px; + padding: 8px 10px; overflow: hidden; white-space: nowrap; } div.sidebar-name { - background-repeat: repeat-x; - background-position: 0 0; cursor: pointer; font-size: 13px; border-width: 1px; border-style: solid; - -moz-border-radius-topleft: 8px; - -moz-border-radius-topright: 8px; - -webkit-border-top-right-radius: 8px; - -webkit-border-top-left-radius: 8px; - -khtml-border-top-right-radius: 8px; - -khtml-border-top-left-radius: 8px; - border-top-right-radius: 8px; - border-top-left-radius: 8px; + -moz-border-radius-topleft: 3px; + -moz-border-radius-topright: 3px; + -webkit-border-top-right-radius: 3px; + -webkit-border-top-left-radius: 3px; + -khtml-border-top-right-radius: 3px; + -khtml-border-top-left-radius: 3px; + border-top-right-radius: 3px; + border-top-left-radius: 3px; } .js .closed .sidebar-name { - -moz-border-radius-bottomleft: 8px; - -moz-border-radius-bottomright: 8px; - -webkit-border-bottom-right-radius: 8px; - -webkit-border-bottom-left-radius: 8px; - -khtml-border-bottom-right-radius: 8px; - -khtml-border-bottom-left-radius: 8px; - border-bottom-right-radius: 8px; - border-bottom-left-radius: 8px; + -moz-border-radius-bottomleft: 3px; + -moz-border-radius-bottomright: 3px; + -webkit-border-bottom-right-radius: 3px; + -webkit-border-bottom-left-radius: 3px; + -khtml-border-bottom-right-radius: 3px; + -khtml-border-bottom-left-radius: 3px; + border-bottom-right-radius: 3px; + border-bottom-left-radius: 3px; } .widget-liquid-right .widgets-sortables, #widgets-left .widget-holder { border-width: 0 1px 1px; border-style: none solid solid; - -moz-border-radius-bottomleft: 8px; - -moz-border-radius-bottomright: 8px; - -webkit-border-bottom-right-radius: 8px; - -webkit-border-bottom-left-radius: 8px; - -khtml-border-bottom-right-radius: 8px; - -khtml-border-bottom-left-radius: 8px; - border-bottom-right-radius: 8px; - border-bottom-left-radius: 8px; + -moz-border-radius-bottomleft: 3px; + -moz-border-radius-bottomright: 3px; + -webkit-border-bottom-right-radius: 3px; + -webkit-border-bottom-left-radius: 3px; + -khtml-border-bottom-right-radius: 3px; + -khtml-border-bottom-left-radius: 3px; + border-bottom-right-radius: 3px; + border-bottom-left-radius: 3px; } .js .closed .widgets-sortables, @@ -108,6 +107,12 @@ div.sidebar-name { padding: 7px 5px 0; } +#available-widgets .widget { + -moz-box-shadow: none; + -webkit-box-shadow: none; + box-shadow: none; +} + #wp_inactive_widgets { padding: 5px 5px 0; } @@ -116,6 +121,7 @@ div.sidebar-name { width: 250px; margin: 0 10px 15px; border: 0 none; + background: transparent; float: left; } @@ -126,10 +132,10 @@ div.sidebar-name { #widget-list .widget-top { border-width: 1px; border-style: solid; - -moz-border-radius: 6px; - -khtml-border-radius: 6px; - -webkit-border-radius: 6px; - border-radius: 6px; + -moz-border-radius: 3px; + -khtml-border-radius: 3px; + -webkit-border-radius: 3px; + border-radius: 3px; } .widget-placeholder { @@ -163,6 +169,7 @@ ul#widget-list { } .widget .widget-top { + margin-bottom: -1px; font-size: 12px; font-weight: bold; height: 26px; @@ -170,7 +177,7 @@ ul#widget-list { } .widget-top .widget-title { - padding: 5px 9px; + padding: 7px 9px; } .widget-top .widget-title-action { @@ -188,13 +195,17 @@ a.widget-action { } .widget-top a.widget-action { - background: url("../images/menu-bits.gif?ver=20100610") no-repeat scroll 0 -110px; + background: transparent url(../images/arrows.png) no-repeat 4px 6px; +} + +.widget-top a.widget-action:hover { + background: transparent url(../images/arrows-dark.png) no-repeat 4px 6px; } .widget .widget-inside, .widget .widget-description { padding: 12px 12px 10px; - font-size: 11px; + font-size: 12px; line-height: 16px; } @@ -214,7 +225,7 @@ a.widget-action { .widget-title h4 { margin: 0; - line-height: 1.3; + line-height: 1; overflow: hidden; white-space: nowrap; } @@ -246,7 +257,7 @@ a.widget-action { div#sidebar-info { padding: 0 1em; margin-bottom: 1em; - font-size: 11px; + font-size: 12px; } .widget-title a, @@ -257,7 +268,7 @@ div#sidebar-info { .widget-control-edit { display: block; - font-size: 11px; + font-size: 12px; font-weight: normal; line-height: 26px; padding: 0 8px 0 0; @@ -287,10 +298,10 @@ a.widget-control-edit { border-width: 1px; border-style: solid; padding: 10px; - -moz-border-radius: 6px; - -khtml-border-radius: 6px; - -webkit-border-radius: 6px; - border-radius: 6px; + -moz-border-radius: 3px; + -khtml-border-radius: 3px; + -webkit-border-radius: 3px; + border-radius: 3px; } .inactive p.description { @@ -316,7 +327,7 @@ a.widget-control-edit { } .widget-title .in-widget-title { - font-size: 11px; + font-size: 12px; white-space: nowrap; } @@ -325,6 +336,7 @@ a.widget-control-edit { font-weight: normal; padding-left: 15px; font-size: 12px; + line-height: 1; } .widget-control-noform, diff --git a/wp-admin/css/wp-admin-rtl.css b/wp-admin/css/wp-admin-rtl.css index bf2988271..f9ea458b2 100644 --- a/wp-admin/css/wp-admin-rtl.css +++ b/wp-admin/css/wp-admin-rtl.css @@ -1 +1 @@ -td.available-theme{text-align:right;}#current-theme img{float:right;margin-right:0;margin-left:1em;}.quicktags,.search{font-family:Tahoma,Arial,sans-serif;}#doaction,#doaction2,#post-query-submit{margin-right:0;margin-left:8px;}#save-post{float:right;}#minor-publishing .ajax-loading{padding:3px 4px 0 0;float:right;}.preview{float:left;}#sticky-span{margin-left:0;margin-right:18px;}#post-body .misc-pub-section{border-right-width:0;border-left-width:1px;border-right-style:none;border-left-style:solid;float:right;}#post-body .misc-pub-section-last{border-left:0;}#delete-action{text-align:right;float:right;}#publishing-action{text-align:left;float:left;}.side-info ul{padding-left:0;padding-right:18px;}.submit input,.button,.button-primary,.button-secondary,.button-highlighted,#postcustomstuff .submit input{font-family:Tahoma,Arial,sans-serif;}#wpcontent select{font-family:Tahoma,Arial,sans-serif;}#quicktags{background-position:right top;}#template div{margin-right:0;margin-left:190px;}* html #template div{margin-left:0;}.list-ajax-loading{float:left;margin-right:0;margin-left:9px;}#your-profile legend{font-family:Tahoma,Arial,sans-serif;}#ajax-response.alignleft{margin-left:0;margin-right:2em;}.page-numbers{margin-right:0;margin-left:1px;}.column-author img,.column-username img{float:right;margin-right:0;margin-left:10px;}.tablenav a.button-secondary{margin-right:0;margin-left:8px;}.tablenav .actions{padding-right:0;padding-left:8px;}.tablenav .tablenav-pages{float:left;}.tablenav .displaying-num{margin-right:0;margin-left:10px;font-family:Tahoma,Arial,sans-serif;font-style:normal;}#postcustomstuff table input,#postcustomstuff table select,#postcustomstuff table textarea{margin:8px 8px 8px 0;}#pass-strength-result{float:right;margin:12px 1px 5px 5px;}#user_info{float:left;}#header-logo{float:right;margin:7px 15px 0 0;}#wphead h1{font-family:Tahoma,Arial,sans-serif;float:right;}#wphead h1.long-title{font-family:Tahoma,Arial,sans-serif;}#adminmenu .wp-submenu a{padding-left:0;padding-right:12px;border-width:0 0 0 1px;border-style:none none none solid;font-family:Tahoma,Arial,sans-serif;}#adminmenu a.menu-top,#adminmenu .wp-submenu-head{font-family:Tahoma,Arial,sans-serif;}#adminmenu img.wp-menu-image{float:right;}.folded #adminmenu img.wp-menu-image{padding:7px 6px 0 0;}#adminmenu a.separator{cursor:e-resize;}.folded #adminmenu a.separator{cursor:w-resize;}#adminmenu .wp-submenu .wp-submenu-head{padding:6px 10px 6px 4px;}.folded #adminmenu .wp-submenu{margin:-1px 28px 0 0;}.folded #adminmenu .wp-submenu a{padding-left:0;padding-right:10px;}.folded #adminmenu a.wp-has-submenu{margin-left:0;margin-right:40px;}#adminmenu .wp-menu-toggle{float:left;padding:1px 0 0 2px;clear:left;}#adminmenu div.wp-menu-image{float:right;}#wphead-info{margin:0 15px 0 0;padding-right:0;padding-left:15px;}#adminmenu #awaiting-mod,#adminmenu span.update-plugins,#sidemenu li a span.update-plugins{font-family:Tahoma,Arial,sans-serif;margin-left:0;margin-right:7px;}.post-com-count-wrapper{font-family:Tahoma,Arial,sans-serif;}.column-response .post-com-count{float:right;margin-right:0;margin-left:5px;}.form-table th{text-align:right;}.form-table input.tog{margin-right:0;margin-left:2px;float:right;}.form-table table.color-palette{float:right;}#profile-page .form-table #rich_editing{margin-right:0;margin-left:5px;}#normal-sortables .postbox .submit{float:left;}#post-body .tagsdiv #newtag{margin-right:0;margin-left:5px;}#post-status-info{padding:0 7px 0 15px;}#comment-status-radio input{margin:2px 0 5px 3px;}.tagchecklist{margin-left:0;margin-right:10px;}.tagchecklist strong{margin-left:0;margin-right:-8px;}.tagchecklist span{float:right;}.tagchecklist span a{margin:6px -9px 0 0;float:right;}.ac_results li{text-align:right;}#poststuff h2{clear:right;}.description,.form-wrap p{font-family:Tahoma,Arial,sans-serif;}.sorting-indicator{margin-left:0;margin-right:7px;}th.sortable a span,th.sorted a span{float:right;}.fixed .column-comments a{float:right;}.autosave-info{padding:2px 2px 2px 15px;text-align:left;}.meta-box-sortables .postbox .handlediv{float:left;}.howto{font-family:Tahoma,Arial,sans-serif;}.postarea h3 label{float:right;}.postarea #add-media-button{float:left;right:auto;left:10px;}.wp_themeSkin tr.mceFirst td.mceToolbar{background-position:right top;}#poststuff #edButtonPreview,#poststuff #edButtonHTML{margin:5px 0 0 5px;float:left;}#poststuff #edButtonHTML{margin-right:0;margin-left:15px;}#media-buttons a{padding:0 10px 5px 0;}.submitbox .submit{text-align:right;}.inside-submitbox #post_status{margin:2px -2px 2px 0;}.submitbox .submit input{margin-right:0;margin-left:4px;}.category-adder{margin-left:0;margin-right:120px;}#post-body ul.category-tabs li.tabs,#post-body ul.add-menu-item-tabs li.tabs{-moz-border-radius:0 3px 3px 0;-webkit-border-top-left-radius:0;-webkit-border-top-right-radius:3px;-webkit-border-bottom-left-radius:0;-webkit-border-bottom-right-radius:3px;border-top-left-radius:0;border-top-right-radius:3px;border-bottom-left-radius:0;border-bottom-right-radius:3px;}#post-body ul.category-tabs,#post-body ul.add-menu-item-tabs{float:right;text-align:left;margin:0 0 0 -120px;}#post-body .categorydiv div.tabs-panel,#post-body .taxonomy div.tabs-panel,#post-body #linkcategorydiv div.tabs-panel{margin:0 120px 0 5px;}#front-page-warning,#front-static-pages ul,.inline-editor ul.cat-checklist ul,.categorydiv ul.categorychecklist ul,.customlinkdiv ul.categorychecklist ul,.posttypediv ul.categorychecklist ul,.taxonomydiv ul.categorychecklist ul,#linkcategorydiv ul.categorychecklist ul{margin-left:0;margin-right:18px;}p.search-box{float:left;}#posts-filter fieldset{float:right;margin:0 0 1em 1.5ex;}#posts-filter fieldset legend{padding:0 1px .2em 0;}.view-switch{float:left;}.filter{float:right;margin:-5px 10px 0 0;}#the-comment-list td.comment p.comment-author{margin-right:0;}#the-comment-list p.comment-author img{float:right;margin-right:0;margin-left:8px;}.tablenav .delete{margin-right:0;margin-left:20px;}td.action-links,th.action-links{text-align:left;}.filter .subsubsub{margin-left:0;margin-right:-10px;}#wp-word-count{margin-right:10px;}.tool-box .title{font-family:Tahoma,Arial,sans-serif;}.settings-toggle{text-align:left;margin:5px 0 15px 7px;}.curtime #timestamp{background-position:right top;padding-left:0;padding-right:18px;}#sidemenu{margin:-30px 315px 0 15px;float:left;padding-left:0;padding-right:10px;}#sidemenu a{float:right;}#replysubmit .button{margin-right:0;margin-left:5px;}#edithead .inside{float:right;margin:3px 5px 2px 0;}#replyrow #ed_reply_toolbar input{margin:1px 1px 1px 2px;}#screen-meta-links{margin:0 0 0 18px;}#screen-options-link-wrap,#contextual-help-link-wrap{float:left;font-family:Tahoma,Arial,sans-serif;margin:0 0 0 6px;}#contextual-help-wrap li{margin-left:0;margin-right:18px;}#screen-meta a.show-settings{padding:0 6px 0 16px;background-position:left top;}.metabox-prefs label{padding-right:0;padding-left:15px;}.metabox-prefs label input{margin:0 2px 0 5px;}.inline-editor .save,.inline-editor .cancel{margin-right:0;margin-left:5px;}#replysubmit img.waiting,.inline-edit-save img.waiting{float:left;}.trash-undo-inside,.spam-undo-inside,.spam-undo-inside .avatar,.trash-undo-inside .avatar{margin-right:0;margin-left:8px;}#bulk-titles div a{float:right;margin:3px -2px 0 3px;}#wpbody-content .filename{margin-left:0;margin-right:10px;}#wpbody-content .inline-edit-row fieldset{float:right;}#wpbody-content .quick-edit-row-page fieldset.inline-edit-col-right .inline-edit-col{border-left:0 none;border-right:1px solid;}#wpbody-content .bulk-edit-row .inline-edit-col-bottom{float:left;}.inline-edit-row fieldset label span.title{float:right;}.inline-edit-row fieldset label span.input-text-wrap{margin-left:0;margin-right:5em;}.quick-edit-row-post fieldset.inline-edit-col-right label span.title{padding-right:0;padding-left:.5em;}#wpbody-content .quick-edit-row fieldset .inline-edit-group label.alignleft:first-child{margin-right:0;margin-left:.5em;}.inline-edit-row fieldset span.title,.inline-edit-row fieldset span.checkbox-title{font-family:Tahoma,Arial,sans-serif;}.inline-edit-row fieldset .inline-edit-date{float:right;}.inline-edit-row fieldset ul.cat-checklist label,.inline-edit-row .catshow,.inline-edit-row .cathide,.inline-edit-row #bulk-titles div{font-family:Tahoma,Arial,sans-serif;}.quick-edit-row-post fieldset label.inline-edit-status{float:right;}.describe-toggle-on,.describe-toggle-off{float:left;margin-right:0;margin-left:20px;}#wpbody-content #media-items .filename{float:right;margin-left:0;margin-right:10px;}.media-item .pinkynail{float:right;}#find-posts-response .found-radio{padding:8px 8px 0 0;}.find-box-buttons{left:auto;right:12px;}.find-box-search label{padding-right:0;padding-left:6px;}#favorite-actions{float:left;}#favorite-first{padding:3px 12px 4px 30px;}#favorite-inside a{padding:3px 10px 3px 5px;}#favorite-toggle{right:auto;left:0;background:transparent url(../images/fav-arrow-rtl.gif?ver=20100531) no-repeat 10px -4px;}#utc-time,#local-time{padding-left:0;padding-right:25px;font-family:Tahoma,Arial;}.icon32{float:right;margin:14px 0 0 6px;}.subtitle{padding-left:0;padding-right:25px;}ol{list-style-type:decimal;margin-left:0;margin-right:2em;}.postbox-container{float:right;padding-left:.5%;padding-right:0;}#wpbody-content .describe th{text-align:right;}.describe .media-item-info .A1B1{padding:0 10px 0 0;}.media-upload-form td label{margin-left:6px;margin-right:2px;}.media-upload-form .align .field label{padding:0 22px 0 0;margin:0 0 0 1em;}.media-upload-form tr.image-size label{margin:0 3px 0 0;}#wpbody-content .describe p.help{padding:0 5px 0 0;}.media-item .error-div a.dismiss,.describe-toggle-on,.describe-toggle-off{float:left;margin-right:0;margin-left:20px;}.describe-toggle-on,.describe-toggle-off{float:left;margin-left:20px;margin-right:0;}.media-item .error-div{padding-left:0;padding-right:10px;}.media-item .pinkynail{float:right;}.crunching{text-align:left;margin-left:5px;margin-right:0;}.bar{border-left-width:3px;border-left-style:solid;border-right:none;}.clearlooks2 .mceTop .mceLeft{width:100%!important;}.taghint{margin:15px 12px -24px 0;}#poststuff .tagsdiv .howto{margin:0 8px 6px 0;}#broken-themes{text-align:right;}.describe .del-link{padding-right:5px;padding-left:0;}.comment-ays th{border-left-style:solid;border-left-width:1px;}.appearance_page_custom-header #available-headers .default-header{float:right;margin:0 0 20px 20px;}.appearance_page_custom-header #available-headers label input{margin-right:0;margin-left:10px;}#custom-background label{padding-right:0;padding-left:15px;}#author-email,#author-url,#rss-url-1,#edit-slug-box,#post_name,#trackback_url,#metakeyinput,#post_password,#slug,#category_nicename,#link_url,#link_image,#rss_uri,#menu_order,#email,#newcomment_author_url,#pages-exclude,#template textarea,#user_login,#url,#pass1,#pass2,#aim,#yim,#jabber,#siteurl,#home,#admin_email,#gmt_offset,#default_post_edit_rows,#mailserver_url,#mailserver_login,#mailserver_pass,#mailserver_port,#ping_sites,#posts_per_page,#posts_per_rss,#blog_charset,#close_comments_days_old,#comments_per_page,#comment_max_links,#moderation_keys,#blacklist_keys,#thumbnail_size_w,#thumbnail_size_h,#medium_size_w,#medium_size_h,#large_size_w,#large_size_h,#permalink_structure,#category_base,#tag_base,#upload_path,#upload_url_path,#rules{direction:ltr;}#quicktags #ed_em,#ed_reply_toolbar #ed_reply_em,.tablenav .displaying-num,#footer,#footer a,p.help,p.description,span.description,.form-wrap p,#side-sortables .comments-box thead th,#normal-sortables .comments-box thead th,.howto,.inline-edit-row fieldset span.title,.inline-edit-row fieldset span.checkbox-title,#utc-time,#local-time,form.upgrade .hint,p.install-help,.imgedit-help{font-style:normal;} \ No newline at end of file +ol{margin-left:0;margin-right:2em;}.code,code{font-family:Tahoma,Arial,sans-serif;}.quicktags,.search{font:12px Tahoma,Arial,sans-serif;}.icon32{float:right;margin:7px 0 0 8px;}.howto{font-style:normal;font-family:Tahoma,Arial,sans-serif;}p.install-help{font-style:normal;}#doaction,#doaction2,#post-query-submit{margin-right:0;margin-left:8px;}#timezone_string option{margin-left:0;margin-right:1em;}#pass-strength-result{float:right;margin:13px 1px 5px 5px;}p.search-box{float:left;}#delete-action{text-align:right;float:right;}#publishing-action{text-align:left;float:left;}#post-body .misc-pub-section{border-right:0;border-left-width:1px;border-left-style:solid;float:right;}#post-body .misc-pub-section-last{border-left:0;}#minor-publishing-actions{padding:10px 8px 2px 10px;text-align:left;}#save-post{float:right;}#minor-publishing .ajax-loading{padding:3px 4px 0 0;float:right;}.preview{float:left;}#sticky-span{margin-left:0;margin-right:18px;}.side-info ul{padding-left:0;padding-right:18px;}td.action-links,th.action-links{text-align:left;}.describe .del-link{padding-left:0;padding-right:5px;}.plugin-update .update-message{margin:0 31px 8px 10px;}form.upgrade .hint{font-style:normal;}#ajax-response.alignleft{margin-left:0;margin-right:2em;}#quicktags{background-position:right top;}#ed_reply_toolbar input{margin:1px 1px 1px 2px;}#wp-fullscreen-body{right:0;left:auto;}#wp-fullscreen-tagline{float:left;}#fullscreen-topbar{left:auto;right:0;}#wp-fullscreen-mode-bar,#wp-fullscreen-button-bar,#wp-fullscreen-close,#wp-fullscreen-count{float:right;}#wp-fullscreen-save{float:left;}#wp-fullscreen-save{padding:2px 5px 0 2px;}#wp-fullscreen-buttons>div{float:right;}#wp-fullscreen-mode-bar{padding:1px 0 0 14px;}#wp-fullscreen-modes a{float:right;border-width:1px 0 1px 1px;}#wp-fullscreen-modes a:first-child{border-width:1px;-moz-border-radius:3px 3px 0 0;-webkit-border-top-left-radius:0;-webkit-border-top-right-radius:3px;-webkit-border-bottom-left-radius:0;-webkit-border-bottom-right-radius:3px;-khtml-border-top-left-radius:0;-khtml-border-top-right-radius:3px;-khtml-border-bottom-left-radius:0;-khtml-border-bottom-right-radius:3px;border-top-left-radius:0;border-top-right-radius:3px;border-bottom-right-left:0;border-bottom-right-radius:3px;}#wp-fullscreen-modes a:last-child{-moz-border-radius:0 0 3px 3px;-webkit-border-top-right-radius:0;-webkit-border-top-left-radius:3px;-webkit-border-bottom-right-radius:0;-webkit-border-bottom-left-radius:3px;-khtml-border-top-right-radius:0;-khtml-border-top-left-radius:3px;-khtml-border-bottom-right-radius:0;-khtml-border-bottom-left-radius:3px;border-top-right-radius:0;border-top-left-radius:3px;border-bottom-right-radius:0;border-bottom-left-radius:3px;}#wp-fullscreen-save img,#wp-fullscreen-save span{padding-right:0;padding-left:4px;}#wphead-info{margin:0 15px 0 0;}#user_info{float:left;padding:0 6px 0 2px;}#user_info.active{margin-right:0;margin-left:-1px;}#user_info .hide-if-no-js p{margin:0 0 0 20px;}#user_info_arrow{right:auto;left:3px;}#user_info_links_wrap{right:auto;left:0;}#wphead{height:32px;margin-left:15px;margin-right:2px;}#header-logo{float:right;}#wphead h1{font:Tahoma,Arial,sans-serif;float:right;}#favorite-actions{margin:0 15px 0 12px;}#favorite-first a{padding:2px 12px 2px 0;}#favorite-inside a{padding:3px 10px 3px 5px;}#favorite-toggle{right:auto;left:0;}#screen-meta-links{margin:0 0 0 19px;}#screen-meta .screen-reader-text{visibility:hidden;}#screen-options-link-wrap,#contextual-help-link-wrap{float:left;margin:0 6px 0 0;font-family:Tahoma,Arial,sans-serif;}#contextual-help-wrap li{list-style-type:disc;margin-left:auto;margin-right:18px;}.toggle-arrow{background-position:top right;}.toggle-arrow-active{background-position:bottom right;}#screen-meta a.show-settings{padding:0 6px 0 16px;}#screen-options-wrap,#contextual-help-wrap{margin:0 0 0 15px;}.metabox-prefs label{padding-right:auto;padding-left:15px;}.metabox-prefs label input{margin:0 2px 0 5px;}#adminmenushadow{right:auto;left:0;}#adminmenu div.wp-menu-image{float:right;}#adminmenu .wp-submenu a{padding-left:0;padding-right:12px;}#adminmenu li.wp-has-current-submenu .wp-menu-arrow,#adminmenu li.menu-top.current .wp-menu-arrow{right:auto;left:-9px;}#adminmenu .wp-menu-arrow div{background:url(../images/menu-arrow-frame-rtl.png) top left no-repeat;}#adminmenu .wp-menu-image img{float:right;}.js.folded #adminmenu .wp-submenu{display:block;left:auto;right:26px;}.js.folded #adminmenu .wp-submenu.sub-open{padding:0 0 8px 8px;}#adminmenu .wp-submenu .wp-submenu-head{padding:6px 10px 5px 4px;}.js.folded #adminmenu .wp-submenu-wrap{-webkit-border-bottom-right-radius:0;-webkit-border-bottom-left-radius:3px;-webkit-border-top-right-radius:0;-webkit-border-top-left-radius:3px;-khtml-border-bottom-right-radius:0;-khtml-border-bottom-left-radius:3px;-khtml-border-top-left-radius:0;-khtml-border-top-left-radius:3px;-moz-border-radius-bottomright:0;-moz-border-radius-bottomleft:3px;-moz-border-radius-topright:0;-moz-border-radius-topleft:3px;border-bottom-right-radius:0;border-bottom-left-radius:3px;border-top-right-radius:0;border-top-left-radius:3px;border-width:0 0 1px 1px;}.js.folded #adminmenu .wp-submenu ul{border-width:0 1px 0 0;}.js.folded #adminmenu .wp-submenu a{padding-left:0;padding-right:10px;}.js.folded #adminmenu a.wp-has-submenu{margin-left:0;margin-right:40px;}#adminmenu .wp-menu-toggle{clear:left;float:left;padding:1px 0 0 2px;}#adminmenu .wp-menu-image img{padding:6px 1px 0 0;}#adminmenu .awaiting-mod,#adminmenu span.update-plugins,#sidemenu li a span.update-plugins{font-family:Tahoma,Arial,sans-serif;margin-left:0;margin-right:7px;}.post-com-count-wrapper{font-family:Tahoma,Arial,sans-serif;}.column-response .post-com-count{float:right;margin-right:0;margin-left:5px;}.response-links{float:right;}#collapse-button{float:right;}.widefat th{font-family:Tahoma,Arial,sans-serif;}.widefat td p{margin:2px 0 .8em;}.postbox-container{float:right;padding-right:0;padding-left:.5%;}.postbox .handlediv{float:left;}#the-comment-list p.comment-author img{float:right;margin-right:0;margin-left:8px;}.fixed .column-comments{text-align:right;}.fixed .column-comments .vers{padding-left:0;padding-right:3px;}.fixed .column-comments a{float:right;}.sorting-indicator{margin-left:0;margin-right:7px;}th.sortable a span,th.sorted a span{float:right;}.tablenav-pages a{margin-right:0;margin-left:1px;}.tablenav-pages .next-page{margin-left:0;margin-right:2px;}.tablenav a.button-secondary{margin:3px 0 0 8px;}.tablenav .tablenav-pages{float:left;}.tablenav .displaying-num{margin-right:0;margin-left:10px;font-family:Tahoma,Arial,sans-serif;font-style:bold;}.tablenav .actions{padding:2px 0 0 8px;}.tablenav .delete{margin-right:0;margin-left:20px;}.view-switch{float:left;}.filter{float:right;margin:-5px 10px 0 0;}.filter .subsubsub{margin-left:0;margin-right:-10px;}#posts-filter fieldset{float:right;margin:0 0 1em 1.5ex;}#posts-filter fieldset legend{padding:0 1px .2em 0;}#wpbody-content .inline-edit-row fieldset{float:right;}#wpbody-content .quick-edit-row-page fieldset.inline-edit-col-right .inline-edit-col{border-width:0 1px 0 0;}#wpbody-content .bulk-edit-row .inline-edit-col-bottom{float:left;}.inline-edit-row fieldset label span.title{float:right;}.inline-edit-row fieldset label span.input-text-wrap{margin-left:0;margin-right:5em;}.quick-edit-row-post fieldset.inline-edit-col-right label span.title{padding-right:0;padding-left:.5em;}#wpbody-content .quick-edit-row fieldset .inline-edit-group label.alignleft:first-child{margin-right:0;margin-left:.5em;}.inline-edit-row fieldset span.title,.inline-edit-row fieldset span.checkbox-title{font-family:Tahoma,Arial,sans-serif;font-style:normal;}.inline-edit-row fieldset .inline-edit-date{float:right;}.inline-edit-row fieldset ul.cat-checklist label,.inline-edit-row .catshow,.inline-edit-row .cathide,.inline-edit-row #bulk-titles div{font-family:Tahoma,Arial,sans-serif;}.quick-edit-row-post fieldset label.inline-edit-status{float:right;}#bulk-titles div a{float:right;margin:3px -2px 0 3px;overflow:hidden;text-indent:-9999px;}#titlediv #title-prompt-text,#wp-fullscreen-title-prompt-text{right:0;}#sample-permalink{direction:ltr;}#sample-permalink #editable-post-name{unicode-bidi:embed;}#wp-fullscreen-title-prompt-text{left:auto;right:0;}.postarea h3 label{float:right;}.postarea #add-media-button{float:left;right:auto;left:10px;}#edButtonPreview,#edButtonHTML{margin:5px 0 0 5px;float:left;}#poststuff #edButtonHTML{margin-right:0;margin-left:15px;}#media-buttons a{padding:0 10px 5px 0;}.submitbox .submit{text-align:right;}.inside-submitbox #post_status{margin:2px -2px 2px 0;}.submitbox .submit input{margin-right:0;margin-left:4px;}#normal-sortables .postbox .submit{float:left;}#post-body ul.category-tabs,#post-body ul.add-menu-item-tabs{float:right;text-align:left;margin:0 5px 0 -120px;}#post-body ul.category-tabs li.tabs,#post-body ul.add-menu-item-tabs li.tabs{-moz-border-radius:3px 3px 0 0;-webkit-border-top-left-radius:0;-webkit-border-top-right-radius:3px;-webkit-border-bottom-left-radius:0;-webkit-border-bottom-right-radius:3px;-khtml-border-top-left-radius:0;-khtml-border-top-right-radius:3px;-khtml-border-bottom-left-radius:0;-khtml-border-bottom-right-radius:3px;border-top-left-radius:0;border-top-right-radius:3px;border-bottom-left-radius:0;border-bottom-right-radius:3px;}#post-body .categorydiv div.tabs-panel,.taxonomy div.tabs-panel,#post-body #linkcategorydiv div.tabs-panel{margin:0 125px 0 5px;}#side-sortables .comments-box thead th,#normal-sortables .comments-box thead th{font-style:normal;}#commentsdiv img.waiting{padding-left:0;padding-right:5px;}#post-body .category-tabs li.tabs,#post-body .add-menu-item-tabs li.tabs{border-width:1px 1px 1px 0;margin-right:0;margin-left:-1px;}#posts-filter fieldset{float:right;margin:0 0 1em 1.5ex;}#posts-filter fieldset legend{padding:0 1px .2em 0;}#post-body .tagsdiv #newtag{margin-right:0;margin-left:5px;}.autosave-info{padding:2px 2px 2px 15px;text-align:left;}#post-body .wp_themeSkin .mceStatusbar a.mceResize{background:transparent url(../images/resize-rtl.gif) no-repeat scroll left bottom;cursor:sw-resize;}.curtime #timestamp{background-position:right top;padding-left:0;padding-right:18px;}#postcustomstuff table input,#postcustomstuff table select,#postcustomstuff table textarea{margin:8px 8px 8px 0;}table.diff td,table.diff th{font-family:Consolas,Monaco,monospace;}.category-adder{margin-left:0;margin-right:120px;}#post-body ul.category-tabs,#post-body ul.add-menu-item-tabs{float:right;text-align:left;margin:0 5px 0 -120px;}#post-body ul.category-tabs li.tabs,#post-body ul.add-menu-item-tabs li.tabs{-moz-border-radius:3px 3px 0 0;-webkit-border-top-left-radius:0;-webkit-border-top-right-radius:3px;-webkit-border-bottom-left-radius:0;-webkit-border-bottom-right-radius:3px;-khtml-border-top-left-radius:0;-khtml-border-top-right-radius:3px;-khtml-border-bottom-left-radius:0;-khtml-border-bottom-right-radius:3px;border-top-left-radius:0;border-top-right-radius:3px;border-bottom-left-radius:0;border-bottom-right-radius:3px;}#front-page-warning,#front-static-pages ul,ul.export-filters,.inline-editor ul.cat-checklist ul,.categorydiv ul.categorychecklist ul,.customlinkdiv ul.categorychecklist ul,.posttypediv ul.categorychecklist ul,.taxonomydiv ul.categorychecklist ul,#linkcategorydiv ul.categorychecklist ul{margin-left:0;margin-right:18px;}#post-body .category-tabs li.tabs,#post-body .add-menu-item-tabs li.tabs{border-style:solid solid solid none;border-width:1px 1px 1px 0;margin-right:0;margin-left:-1px;}p.help,p.description,span.description,.form-wrap p{font-style:normal;font-family:Tahoma,Arial,sans-serif;}.taghint{margin:15px 12px -24px 0;}#poststuff .tagsdiv .howto{margin:0 8px 6px 0;}.ac_results li{text-align:right;}#wpbody-content .describe th{text-align:right;}.describe .media-item-info .A1B1{padding:0 10px 0 0;}.media-upload-form td label{margin-left:6px;margin-right:2px;}.media-upload-form .align .field label{padding:0 22px 0 0;margin:0 0 0 1em;}.media-upload-form tr.image-size label{margin:0 3px 0 0;}#wpbody-content .describe p.help{padding:0 5px 0 0;}.media-item .error-div a.dismiss,.describe-toggle-on,.describe-toggle-off{float:left;margin-right:0;margin-left:20px;}.media-item .error-div{padding-left:0;padding-right:10px;}.media-item .pinkynail{float:right;}.crunching{text-align:left;margin-right:0;margin-left:5px;}.bar{border-right-width:0;border-left-width:3px;border-right-style:none;border-left-style:solid;}#find-posts-response .found-radio{padding:5px 8px 0 0;}.find-box-search label{padding-right:0;padding-left:6px;}.find-box #resize-se{right:auto;left:1px;}form.upgrade .hint{font-style:normal;}.imgedit-menu div{float:right;}.imgedit-help{font-style:normal;}.imgedit-submit-btn{margin-left:0;margin-right:20px;}.form-table th{text-align:right;}.form-table input.tog{margin-right:0;margin-left:2px;float:right;}.form-table table.color-palette{float:right;}#replysubmit img.waiting,.inline-edit-save img.waiting{float:left;}#replysubmit .button{margin-right:0;margin-left:5px;}#edithead .inside{float:right;padding:3px 5px 2px 0;}.comment-ays th{border-right-style:none;border-left-style:solid;border-right-width:0;border-left-width:1px;}.spam-undo-inside .avatar,.trash-undo-inside .avatar{margin-left:8px;}#comment-status-radio input{margin:2px 0 5px 3px;}td.available-theme{text-align:right;}#current-theme img{float:right;margin-right:0;margin-left:1em;}#broken-themes{text-align:right;}.appearance_page_custom-header .available-headers .default-header{float:right;margin:0 0 20px 20px;}.appearance_page_custom-header .random-header{margin:0 0 20px 20px;}.appearance_page_custom-header .available-headers label input,.appearance_page_custom-header .random-header label input{margin-right:0;margin-left:10px;}.nav-tab{margin:0 0 -1px 6px;}h2 .nav-tab{font-family:Tahoma,Arial,sans-serif;}.plugins .desc ul,.plugins .desc ol{margin:0 2em 0 0;}#wpbody-content .plugins .plugin-title,#wpbody-content .plugins .theme-title{padding-right:0;padding-left:12px;}#profile-page .form-table #rich_editing{margin-right:0;margin-left:5px;}#your-profile legend{font-family:Tahoma,Arial,sans-serif;}#utc-time,#local-time{padding-left:0;padding-right:25px;font-style:normal;font-family:Tahoma,Arial,sans-serif;}#footer{margin-right:0;margin-left:15px;}#template div{margin-right:0;margin-left:190px;}.column-author img,.column-username img{float:right;margin-right:0;margin-left:10px;}.tagchecklist{margin-left:0;margin-right:14px;}.tagchecklist strong{margin-left:0;margin-right:-8px;}.tagchecklist span{margin-right:0;margin-left:25px;float:right;}.tagchecklist span a{margin:6px -9px 0 0;float:right;}#poststuff h2{clear:right;}#poststuff h3,.metabox-holder h3{font-family:Tahoma,Arial,sans-serif;}.tool-box .title{font-family:Tahoma,Arial,sans-serif;}#sidemenu{margin:-30px 315px 0 15px;float:left;padding-left:0;padding-right:10px;}#sidemenu a{float:right;}table .vers,table .column-visible,table .column-rating{text-align:right;}* html #template div{margin-left:0;}.list-ajax-loading{float:left;margin-right:0;margin-left:9px;}#editorcontainer .wp_themeSkin .mceStatusbar{padding-left:0;padding-right:5px;}#editorcontainer .wp_themeSkin .mceStatusbar div{float:right;}#editorcontainer .wp_themeSkin .mceStatusbar a.mceResize{float:left;} \ No newline at end of file diff --git a/wp-admin/css/wp-admin-rtl.dev.css b/wp-admin/css/wp-admin-rtl.dev.css index 463be7016..e208a165e 100644 --- a/wp-admin/css/wp-admin-rtl.dev.css +++ b/wp-admin/css/wp-admin-rtl.dev.css @@ -1,320 +1,765 @@ -/* 0 - 200 -=================================== */ -td.available-theme { - text-align: right; +/*------------------------------------------------------------------------------ + + +Hello, this is the RTL version of the main WordPress admin CSS file. +All the important stuff is in here. + + +TABLE OF CONTENTS: +------------------ + 1.0 - Text Elements + 2.0 - Forms + 3.0 - Actions + 4.0 - Notifications + 5.0 - TinyMCE + 6.0 - Admin Header + 6.1 - Favorites Menu + 6.2 - Screen Options Tabs + 7.0 - Main Navigation + 8.0 - Layout Blocks + 9.0 - Dashboard +10.0 - List Posts + 10.1 - Inline Editing +11.0 - Write/Edit Post Screen + 11.1 - Custom Fields + 11.2 - Post Revisions +12.0 - Categories +13.0 - Tags +14.0 - Media Screen + 14.1 - Media Uploader + 14.2 - Image Editor +15.0 - Comments Screen +16.0 - Themes + 16.1 - Custom Header + 16.2 - Custom Background + 16.3 - Tabbed Admin Screen Interface +17.0 - Plugins +18.0 - Users +19.0 - Tools +20.0 - Settings +21.0 - Admin Footer +22.0 - Misc +23.0 - Dead +24.0 - TinyMCE tweaks + + +------------------------------------------------------------------------------*/ + + + + +/*------------------------------------------------------------------------------ + 1.0 - Text Styles +------------------------------------------------------------------------------*/ + +ol { + margin-left: 0; + margin-right: 2em; } -#current-theme img { - float: right; - margin-right: 0; - margin-left: 1em; + +.code, code { + font-family: Tahoma, Arial, sans-serif; } + + .quicktags, .search { + font: 12px Tahoma, Arial, sans-serif; +} + +.icon32 { + float: right; + margin: 7px 0 0 8px; +} + +.howto { + font-style: normal; font-family: Tahoma, Arial, sans-serif; } -/* 200 - 500 -=================================== */ + +p.install-help { + font-style: normal; +} + + +/*------------------------------------------------------------------------------ + 2.0 - Forms +------------------------------------------------------------------------------*/ + #doaction, #doaction2, #post-query-submit { margin-right: 0; margin-left: 8px; } -#save-post { - float: right; + +#timezone_string option { + margin-left: 0; + margin-right: 1em; } -#minor-publishing .ajax-loading { - padding: 3px 4px 0 0; + +#pass-strength-result { float: right; + margin: 13px 1px 5px 5px; } -.preview { + +p.search-box { float: left; } -#sticky-span { - margin-left: 0; - margin-right: 18px; + + +/*------------------------------------------------------------------------------ + 3.0 - Actions +------------------------------------------------------------------------------*/ + +#delete-action { + text-align: right; + float: right; } + +#publishing-action { + text-align: left; + float: left; +} + #post-body .misc-pub-section { - border-right-width: 0; + border-right:0; border-left-width: 1px; - border-right-style: none; border-left-style: solid; float: right; } + #post-body .misc-pub-section-last { border-left: 0; } -#delete-action { - text-align: right; + +#minor-publishing-actions { + padding: 10px 8px 2px 10px; + text-align: left; +} + +#save-post { float: right; } -#publishing-action { - text-align: left; + +#minor-publishing .ajax-loading { + padding: 3px 4px 0 0; + float: right; +} + +.preview { float: left; } + +#sticky-span { + margin-left: 0; + margin-right: 18px; +} + .side-info ul { padding-left: 0; padding-right: 18px; } -.submit input, -.button, -.button-primary, -.button-secondary, -.button-highlighted, -#postcustomstuff .submit input { - font-family: Tahoma, Arial, sans-serif; + +td.action-links, +th.action-links { + text-align: left; } -#wpcontent select { - font-family: Tahoma, Arial, sans-serif; + +.describe .del-link { + padding-left: 0; + padding-right: 5px; +} + + +/*------------------------------------------------------------------------------ + 4.0 - Notifications +------------------------------------------------------------------------------*/ + +.plugin-update .update-message { + margin: 0 31px 8px 10px; +} + +form.upgrade .hint { + font-style: normal; +} + +#ajax-response.alignleft { + margin-left: 0; + margin-right: 2em; } + + +/*------------------------------------------------------------------------------ + 5.0 - TinyMCE +------------------------------------------------------------------------------*/ + #quicktags { background-position: right top; } -/* 500 - 700 -=================================== */ -#template div { - margin-right: 0; - margin-left: 190px; + +#ed_reply_toolbar input { + margin: 1px 1px 1px 2px; } -* html #template div { - margin-left: 0; + +/* Distraction Free Writing mode + * =Overlay Styles +-------------------------------------------------------------- */ + +/* No RTL for now, this space intentionally left blank */ + +/* =Overlay Body +-------------------------------------------------------------- */ +#wp-fullscreen-body { + right: 0; + left:auto; } -.list-ajax-loading { +#wp-fullscreen-tagline { float: left; - margin-right: 0; - margin-left: 9px; } -#your-profile legend { - font-family: Tahoma, Arial, sans-serif; +/* =Top bar +-------------------------------------------------------------- */ +#fullscreen-topbar { + left:auto; + right: 0; } -#ajax-response.alignleft { - margin-left: 0; - margin-right: 2em; + +#wp-fullscreen-mode-bar, +#wp-fullscreen-button-bar, +#wp-fullscreen-close, +#wp-fullscreen-count { + float: right; } -.page-numbers { - margin-right: 0; - margin-left: 1px; + +#wp-fullscreen-save { + float: left; } -.column-author img, .column-username img { + +#wp-fullscreen-save { + padding: 2px 5px 0 2px; +} + +#wp-fullscreen-buttons > div { float: right; - margin-right: 0; - margin-left: 10px; } -.tablenav a.button-secondary { - margin-right: 0; - margin-left: 8px; + +#wp-fullscreen-mode-bar { + padding: 1px 0 0 14px; } -.tablenav .actions { + +#wp-fullscreen-modes a { + float: right; + border-width: 1px 0 1px 1px; +} + +#wp-fullscreen-modes a:first-child { + border-width: 1px; + -moz-border-radius: 3px 3px 0 0; + -webkit-border-top-left-radius: 0; + -webkit-border-top-right-radius: 3px; + -webkit-border-bottom-left-radius: 0; + -webkit-border-bottom-right-radius: 3px; + -khtml-border-top-left-radius: 0; + -khtml-border-top-right-radius: 3px; + -khtml-border-bottom-left-radius: 0; + -khtml-border-bottom-right-radius: 3px; + border-top-left-radius: 0; + border-top-right-radius: 3px; + border-bottom-right-left: 0; + border-bottom-right-radius: 3px; +} + +#wp-fullscreen-modes a:last-child { + -moz-border-radius: 0 0 3px 3px; + -webkit-border-top-right-radius: 0; + -webkit-border-top-left-radius: 3px; + -webkit-border-bottom-right-radius: 0; + -webkit-border-bottom-left-radius: 3px; + -khtml-border-top-right-radius: 0; + -khtml-border-top-left-radius: 3px; + -khtml-border-bottom-right-radius: 0; + -khtml-border-bottom-left-radius: 3px; + border-top-right-radius: 0; + border-top-left-radius: 3px; + border-bottom-right-radius: 0; + border-bottom-left-radius: 3px; +} + +#wp-fullscreen-save img, +#wp-fullscreen-save span { padding-right: 0; - padding-left: 8px; + padding-left: 4px; } -.tablenav .tablenav-pages { + +/* =Thickbox Adjustments +-------------------------------------------------------------- */ +/* No RTL for now, this space intentionally left blank */ + + +/* =TinyMCE Adjustments +-------------------------------------------------------------- */ +/* No RTL for now, this space intentionally left blank */ + + + +/*------------------------------------------------------------------------------ + 6.0 - Admin Header +------------------------------------------------------------------------------*/ +#wphead-info { + margin: 0 15px 0 0; +} + +#user_info { float: left; + padding: 0 6px 0 2px; } -.tablenav .displaying-num { + +#user_info.active { margin-right: 0; - margin-left: 10px; - font-family: Tahoma, Arial, sans-serif; - font-style: normal; + margin-left: -1px; } -#postcustomstuff table input, -#postcustomstuff table select, -#postcustomstuff table textarea { - margin: 8px 8px 8px 0; + +#user_info .hide-if-no-js p { + margin: 0 0 0 20px; } -/* 700 - 1000 -=================================== */ -#pass-strength-result { - float: right; - margin: 12px 1px 5px 5px; + +#user_info_arrow { + right: auto; + left: 3px; } -/* Admin Header */ -#user_info { - float: left; + +#user_info_links_wrap { + right: auto; + left: 0; +} + +#wphead { + height: 32px; + margin-left: 15px; + margin-right: 2px; } + #header-logo { float: right; - margin: 7px 15px 0 0; } + #wphead h1 { - font-family: Tahoma, Arial, sans-serif; + font: Tahoma, Arial, sans-serif; float: right; } -#wphead h1.long-title { + +/*------------------------------------------------------------------------------ + 6.1 - Favorites Menu +------------------------------------------------------------------------------*/ + +#favorite-actions { + margin: 0 15px 0 12px; +} + +#favorite-first a { + padding: 2px 12px 2px 0; +} + +#favorite-inside a { + padding: 3px 10px 3px 5px; +} + +#favorite-toggle { + right: auto; + left: 0; +} + + +/*------------------------------------------------------------------------------ + 6.2 - Screen Options Tabs +------------------------------------------------------------------------------*/ + +#screen-meta-links { + margin: 0 0 0 19px; +} + +#screen-meta .screen-reader-text { + visibility: hidden; +} + +#screen-options-link-wrap, +#contextual-help-link-wrap { + float: left; + margin: 0 6px 0 0; font-family: Tahoma, Arial, sans-serif; } + +#contextual-help-wrap li { + list-style-type: disc; + margin-left: auto; + margin-right: 18px; +} +.toggle-arrow { + background-position: top right; +} +.toggle-arrow-active { + background-position: bottom right; +} +#screen-meta a.show-settings { + padding: 0 6px 0 16px; +} + +#screen-options-wrap, +#contextual-help-wrap { + margin: 0 0 0 15px; +} + +.metabox-prefs label { + padding-right: auto; + padding-left: 15px; +} + +.metabox-prefs label input { + margin: 0 2px 0 5px; +} + +/*------------------------------------------------------------------------------ + 7.0 - Main Navigation (Right Menu) (RTL: Left Menu) +------------------------------------------------------------------------------*/ + +#adminmenushadow { + right: auto; + left: 0; +} + +#adminmenu div.wp-menu-image { + float: right; +} + #adminmenu .wp-submenu a { padding-left: 0; padding-right: 12px; - border-width: 0 0 0 1px; - border-style: none none none solid; - font-family: Tahoma, Arial, sans-serif; } -#adminmenu a.menu-top, -#adminmenu .wp-submenu-head { - font-family: Tahoma, Arial, sans-serif; + +#adminmenu li.wp-has-current-submenu .wp-menu-arrow, +#adminmenu li.menu-top.current .wp-menu-arrow { + right: auto; + left: -9px; } -#adminmenu img.wp-menu-image { - float: right; +#adminmenu .wp-menu-arrow div { + background: url(../images/menu-arrow-frame-rtl.png) top left no-repeat; } -.folded #adminmenu img.wp-menu-image { - padding: 7px 6px 0 0; + +#adminmenu .wp-menu-image img { + float: right; } -#adminmenu a.separator { - cursor: e-resize; + +.js.folded #adminmenu .wp-submenu { + display: block; + left: auto; + right: 26px; } -.folded #adminmenu a.separator { - cursor: w-resize; + +.js.folded #adminmenu .wp-submenu.sub-open { + padding: 0 0 8px 8px; } + #adminmenu .wp-submenu .wp-submenu-head { - padding: 6px 10px 6px 4px; + padding: 6px 10px 5px 4px; } -.folded #adminmenu .wp-submenu { - margin: -1px 28px 0 0; + +.js.folded #adminmenu .wp-submenu-wrap { + -webkit-border-bottom-right-radius: 0; + -webkit-border-bottom-left-radius: 3px; + -webkit-border-top-right-radius: 0; + -webkit-border-top-left-radius: 3px; + -khtml-border-bottom-right-radius: 0; + -khtml-border-bottom-left-radius: 3px; + -khtml-border-top-left-radius: 0; + -khtml-border-top-left-radius: 3px; + -moz-border-radius-bottomright: 0; + -moz-border-radius-bottomleft: 3px; + -moz-border-radius-topright: 0; + -moz-border-radius-topleft: 3px; + border-bottom-right-radius: 0; + border-bottom-left-radius: 3px; + border-top-right-radius: 0; + border-top-left-radius: 3px; + border-width: 0 0 1px 1px; } -.folded #adminmenu .wp-submenu a { + +.js.folded #adminmenu .wp-submenu ul { + border-width: 0 1px 0 0; +} + +.js.folded #adminmenu .wp-submenu a { padding-left: 0; padding-right: 10px; } -.folded #adminmenu a.wp-has-submenu { + +.js.folded #adminmenu a.wp-has-submenu { margin-left: 0; margin-right: 40px; } + #adminmenu .wp-menu-toggle { + clear: left; float: left; padding: 1px 0 0 2px; - clear: left; -} -#adminmenu div.wp-menu-image { - float: right; } -#wphead-info { - margin: 0 15px 0 0; - padding-right:0; - padding-left: 15px; + +#adminmenu .wp-menu-image img { + padding: 6px 1px 0 0; } -/* end side admin menu */ -/* 1000 - 1300 -=================================== */ -#adminmenu #awaiting-mod, + +#adminmenu .awaiting-mod, #adminmenu span.update-plugins, #sidemenu li a span.update-plugins { font-family: Tahoma, Arial, sans-serif; margin-left: 0; margin-right: 7px; } + .post-com-count-wrapper { font-family: Tahoma, Arial, sans-serif; } + .column-response .post-com-count { float: right; margin-right: 0; margin-left: 5px; } -/* Tables used on comment.php and option/setting pages */ -.form-table th { - text-align: right; + +.response-links { + float: right; } -.form-table input.tog { + +#collapse-button { + float: right; +} + +/*------------------------------------------------------------------------------ + 8.0 - Layout Blocks +------------------------------------------------------------------------------*/ + +.widefat th { + font-family: Tahoma, Arial, sans-serif; +} + +.widefat td p { + margin: 2px 0 0.8em; +} + +.postbox-container { + float: right; + padding-right: 0; + padding-left: 0.5%; +} + +.postbox .handlediv { + float: left; +} + +/*------------------------------------------------------------------------------ + 9.0 - Dashboard +------------------------------------------------------------------------------*/ + +#the-comment-list p.comment-author img { + float: right; margin-right: 0; - margin-left: 2px; + margin-left: 8px; +} + +/*------------------------------------------------------------------------------ + 10.0 - List Posts (/Pages/etc) +------------------------------------------------------------------------------*/ + +.fixed .column-comments { + text-align: right; +} +.fixed .column-comments .vers { + padding-left: 0; + padding-right: 3px; +} +.fixed .column-comments a { float: right; } -.form-table table.color-palette { +.sorting-indicator { + margin-left: 0; + margin-right: 7px; +} +th.sortable a span, +th.sorted a span { float: right; } -#profile-page .form-table #rich_editing { + +/* Bulk Actions */ + +.tablenav-pages a { margin-right: 0; - margin-left: 5px; + margin-left: 1px; } -/* Post Screen */ -/* 1300 - 1500 -=================================== */ -#normal-sortables .postbox .submit { +.tablenav-pages .next-page { + margin-left: 0; + margin-right: 2px; +} + +.tablenav a.button-secondary { + margin: 3px 0 0 8px; +} + +.tablenav .tablenav-pages { float: left; } -#post-body .tagsdiv #newtag { + +.tablenav .displaying-num { margin-right: 0; - margin-left: 5px; + margin-left: 10px; + font-family: Tahoma, Arial, sans-serif; + font-style: bold; } -#post-status-info { - padding: 0 7px 0 15px; + +.tablenav .actions { + padding: 2px 0 0 8px; } -#comment-status-radio input { - margin: 2px 0 5px 3px; + +.tablenav .delete { + margin-right: 0; + margin-left: 20px; } -.tagchecklist { - margin-left: 0; - margin-right: 10px; + +.view-switch { + float: left; } -.tagchecklist strong { + +.filter { + float: right; + margin: -5px 10px 0 0; +} + +.filter .subsubsub { margin-left: 0; - margin-right: -8px; + margin-right: -10px; } -.tagchecklist span { + +#posts-filter fieldset { float: right; + margin: 0 0 1em 1.5ex; } -.tagchecklist span a { - margin: 6px -9px 0 0; + +#posts-filter fieldset legend { + padding: 0 1px .2em 0; +} + +/*------------------------------------------------------------------------------ + 10.1 - Inline Editing +------------------------------------------------------------------------------*/ + +#wpbody-content .inline-edit-row fieldset { float: right; } -.ac_results li { - text-align: right; + +#wpbody-content .quick-edit-row-page fieldset.inline-edit-col-right .inline-edit-col { + border-width: 0 1px 0 0; } -#poststuff h2 { - clear: right; + +#wpbody-content .bulk-edit-row .inline-edit-col-bottom { + float: left; +} + +.inline-edit-row fieldset label span.title { + float: right; +} + +.inline-edit-row fieldset label span.input-text-wrap { + margin-left: 0; + margin-right: 5em; +} + +.quick-edit-row-post fieldset.inline-edit-col-right label span.title { + padding-right: 0; + padding-left: 0.5em; +} + +#wpbody-content .quick-edit-row fieldset .inline-edit-group label.alignleft:first-child { + margin-right: 0; + margin-left: 0.5em +} + +/* Styling */ + +.inline-edit-row fieldset span.title, +.inline-edit-row fieldset span.checkbox-title { + font-family: Tahoma, Arial, sans-serif; + font-style: normal; +} + +.inline-edit-row fieldset .inline-edit-date { + float: right; } -.description, .form-wrap p { + +.inline-edit-row fieldset ul.cat-checklist label, +.inline-edit-row .catshow, +.inline-edit-row .cathide, +.inline-edit-row #bulk-titles div { font-family: Tahoma, Arial, sans-serif; } -.sorting-indicator { - margin-left: 0; - margin-right: 7px; -} -th.sortable a span, -th.sorted a span { + +.quick-edit-row-post fieldset label.inline-edit-status { float: right; } -.fixed .column-comments a { + +#bulk-titles div a { float: right; + margin: 3px -2px 0 3px; + overflow: hidden; + text-indent: -9999px; } -/* 1500 - 1800 -=================================== */ -.autosave-info { - padding: 2px 2px 2px 15px; - text-align: left; + +/*------------------------------------------------------------------------------ + 11.0 - Write/Edit Post Screen +------------------------------------------------------------------------------*/ + +#titlediv #title-prompt-text, +#wp-fullscreen-title-prompt-text { + right:0; } -.meta-box-sortables .postbox .handlediv { - float: left; + +#sample-permalink { + direction:ltr; } -.howto { - font-family: Tahoma, Arial, sans-serif; + +#sample-permalink #editable-post-name { + unicode-bidi:embed; } +#wp-fullscreen-title-prompt-text { + left: auto; + right: 0; +} + .postarea h3 label { float: right; } + .postarea #add-media-button { float: left; right: auto; left: 10px; } -.wp_themeSkin tr.mceFirst td.mceToolbar { - background-position: right top; -} -#poststuff #edButtonPreview, -#poststuff #edButtonHTML { + + +#edButtonPreview, +#edButtonHTML { margin: 5px 0 0 5px; float: left; } + #poststuff #edButtonHTML { margin-right: 0; margin-left: 15px; } + #media-buttons a { padding: 0 10px 5px 0; } + .submitbox .submit { text-align: right; } @@ -322,292 +767,205 @@ th.sorted a span { .inside-submitbox #post_status { margin: 2px -2px 2px 0; } + .submitbox .submit input { margin-right: 0; margin-left: 4px; } -/* Categories */ -.category-adder { - margin-left: 0; - margin-right: 120px; + +#normal-sortables .postbox .submit { + float: left; +} + + +#post-body ul.category-tabs, +#post-body ul.add-menu-item-tabs { + float: right; + text-align: left; + /* Negative margin for the sake of those without JS: all tabs display */ + margin: 0 5px 0 -120px; } + + #post-body ul.category-tabs li.tabs, #post-body ul.add-menu-item-tabs li.tabs { - -moz-border-radius: 0 3px 3px 0; + -moz-border-radius: 3px 3px 0 0; -webkit-border-top-left-radius: 0; -webkit-border-top-right-radius: 3px; -webkit-border-bottom-left-radius: 0; -webkit-border-bottom-right-radius: 3px; + -khtml-border-top-left-radius: 0; + -khtml-border-top-right-radius: 3px; + -khtml-border-bottom-left-radius: 0; + -khtml-border-bottom-right-radius: 3px; border-top-left-radius: 0; border-top-right-radius: 3px; border-bottom-left-radius: 0; border-bottom-right-radius: 3px; } -#post-body ul.category-tabs, -#post-body ul.add-menu-item-tabs { - float: right; - text-align: left; - margin: 0 0 0 -120px; -} + #post-body .categorydiv div.tabs-panel, -#post-body .taxonomy div.tabs-panel, +.taxonomy div.tabs-panel, #post-body #linkcategorydiv div.tabs-panel { - margin: 0 120px 0 5px; + margin: 0 125px 0 5px; } -/* 1800 - 2000 -=================================== */ -#front-page-warning, -#front-static-pages ul, -.inline-editor ul.cat-checklist ul, -.categorydiv ul.categorychecklist ul, -.customlinkdiv ul.categorychecklist ul, -.posttypediv ul.categorychecklist ul, -.taxonomydiv ul.categorychecklist ul, -#linkcategorydiv ul.categorychecklist ul{ - margin-left: 0; - margin-right: 18px; + +#side-sortables .comments-box thead th, +#normal-sortables .comments-box thead th { + font-style: normal; } -/* positioning etc. */ -p.search-box { - float: left; + +#commentsdiv img.waiting { + padding-left: 0; + padding-right: 5px; +} + +#post-body .category-tabs li.tabs, +#post-body .add-menu-item-tabs li.tabs { + border-width: 1px 1px 1px 0; + margin-right: 0; + margin-left: -1px; } + +/* positioning etc. */ + #posts-filter fieldset { float: right; margin: 0 0 1em 1.5ex; } + #posts-filter fieldset legend { padding: 0 1px .2em 0; } -.view-switch { - float: left; -} -.filter { - float: right; - margin: -5px 10px 0 0; -} -#the-comment-list td.comment p.comment-author { - margin-right: 0; -} -#the-comment-list p.comment-author img { - float: right; - margin-right: 0; - margin-left: 8px; -} -.tablenav .delete { + +/* Global classes */ + +#post-body .tagsdiv #newtag { margin-right: 0; - margin-left: 20px; + margin-left: 5px; } -td.action-links, th.action-links { + +.autosave-info { + padding: 2px 2px 2px 15px; text-align: left; } -/* 2000 - 2300 -=================================== */ -.filter .subsubsub { - margin-left: 0; - margin-right: -10px; -} -#wp-word-count { - margin-right: 10px; -} -.tool-box .title { - font-family: Tahoma, Arial, sans-serif; -} -.settings-toggle { - text-align: left; - margin: 5px 0 15px 7px; + +#post-body .wp_themeSkin .mceStatusbar a.mceResize { + background: transparent url(../images/resize-rtl.gif) no-repeat scroll left bottom; + cursor: sw-resize; } + .curtime #timestamp { background-position: right top; padding-left: 0; padding-right: 18px; } -/* media popup 0819 */ -#sidemenu { - margin: -30px 315px 0 15px; - float: left; - padding-left: 0; - padding-right: 10px; -} -#sidemenu a { - float: right; -} -#replysubmit .button { - margin-right: 0; - margin-left: 5px; -} -/* 2300 - 2500 -=================================== */ -#edithead .inside { - float: right; - margin: 3px 5px 2px 0; -} -#replyrow #ed_reply_toolbar input { - margin: 1px 1px 1px 2px; -} -/* show/hide settings */ -#screen-meta-links { - margin: 0 0 0 18px; -} -#screen-options-link-wrap, -#contextual-help-link-wrap { - float: left; - font-family: Tahoma, Arial, sans-serif; - margin: 0 0 0 6px; -} -#contextual-help-wrap li { - margin-left: 0; - margin-right: 18px; -} -#screen-meta a.show-settings { - padding: 0 6px 0 16px; - background-position: left top; -} -.metabox-prefs label { - padding-right: 0; - padding-left: 15px; -} -.metabox-prefs label input { - margin: 0 2px 0 5px; -} -.inline-editor .save, -.inline-editor .cancel { - margin-right: 0; - margin-left: 5px; -} -#replysubmit img.waiting, -.inline-edit-save img.waiting { - float: left; -} -.trash-undo-inside, -.spam-undo-inside, -.spam-undo-inside .avatar, -.trash-undo-inside .avatar { - margin-right: 0; - margin-left: 8px; -} -/* 2500 - 2700 -=================================== */ -#bulk-titles div a { - float: right; - margin: 3px -2px 0 3px; -} -#wpbody-content .filename { - margin-left: 0; - margin-right: 10px; -} -#wpbody-content .inline-edit-row fieldset { - float: right; -} -#wpbody-content .quick-edit-row-page fieldset.inline-edit-col-right .inline-edit-col { - border-left: 0 none; - border-right: 1px solid; -} -#wpbody-content .bulk-edit-row .inline-edit-col-bottom { - float: left; -} -.inline-edit-row fieldset label span.title { - float: right; -} -.inline-edit-row fieldset label span.input-text-wrap { - margin-left: 0; - margin-right: 5em; -} -.quick-edit-row-post fieldset.inline-edit-col-right label span.title { - padding-right: 0; - padding-left: 0.5em; -} -#wpbody-content .quick-edit-row fieldset .inline-edit-group label.alignleft:first-child { - margin-right: 0; - margin-left: 0.5em; -} -/* 2700 - 3000 -=================================== */ -.inline-edit-row fieldset span.title, -.inline-edit-row fieldset span.checkbox-title { - font-family: Tahoma, Arial, sans-serif; -} -.inline-edit-row fieldset .inline-edit-date { - float: right; -} -.inline-edit-row fieldset ul.cat-checklist label, -.inline-edit-row .catshow, -.inline-edit-row .cathide, -.inline-edit-row #bulk-titles div { - font-family: Tahoma, Arial, sans-serif; -} -.quick-edit-row-post fieldset label.inline-edit-status { - float: right; + +/*------------------------------------------------------------------------------ + 11.1 - Custom Fields +------------------------------------------------------------------------------*/ + +#postcustomstuff table input, +#postcustomstuff table select, +#postcustomstuff table textarea { + margin: 8px 8px 8px 0; } -.describe-toggle-on, .describe-toggle-off { - float: left; - margin-right: 0; - margin-left: 20px; + +/*------------------------------------------------------------------------------ + 11.2 - Post Revisions +------------------------------------------------------------------------------*/ + +table.diff td, table.diff th { + font-family: Consolas, Monaco, monospace; } -#wpbody-content #media-items .filename { - float: right; + +/*------------------------------------------------------------------------------ + 12.0 - Categories +------------------------------------------------------------------------------*/ + +.category-adder { margin-left: 0; - margin-right: 10px; + margin-right: 120px; } -.media-item .pinkynail { + + +#post-body ul.category-tabs, +#post-body ul.add-menu-item-tabs { float: right; + text-align: left; + /* Negative margin for the sake of those without JS: all tabs display */ + margin: 0 5px 0 -120px; } -#find-posts-response .found-radio { - padding: 8px 8px 0 0; -} -.find-box-buttons { - left: auto; - right: 12px; -} -.find-box-search label { - padding-right: 0; - padding-left: 6px; -} -/* favorite-actions */ -#favorite-actions { - float: left; -} -#favorite-first { - padding: 3px 12px 4px 30px; -} -#favorite-inside { -} -#favorite-inside a { - padding: 3px 10px 3px 5px; + +#post-body ul.category-tabs li.tabs, +#post-body ul.add-menu-item-tabs li.tabs { + -moz-border-radius: 3px 3px 0 0; + -webkit-border-top-left-radius: 0; + -webkit-border-top-right-radius: 3px; + -webkit-border-bottom-left-radius: 0; + -webkit-border-bottom-right-radius: 3px; + -khtml-border-top-left-radius: 0; + -khtml-border-top-right-radius: 3px; + -khtml-border-bottom-left-radius: 0; + -khtml-border-bottom-right-radius: 3px; + border-top-left-radius: 0; + border-top-right-radius: 3px; + border-bottom-left-radius: 0; + border-bottom-right-radius: 3px; } -#favorite-toggle { - right: auto; - left: 0; - background:transparent url(../images/fav-arrow-rtl.gif?ver=20100531) no-repeat 10px -4px; + +#front-page-warning, +#front-static-pages ul, +ul.export-filters, +.inline-editor ul.cat-checklist ul, +.categorydiv ul.categorychecklist ul, +.customlinkdiv ul.categorychecklist ul, +.posttypediv ul.categorychecklist ul, +.taxonomydiv ul.categorychecklist ul, +#linkcategorydiv ul.categorychecklist ul { + margin-left: 0; + margin-right: 18px; } -#utc-time, #local-time { - padding-left: 0; - padding-right: 25px; - font-family: Tahoma, Arial; + +#post-body .category-tabs li.tabs, +#post-body .add-menu-item-tabs li.tabs { + border-style: solid solid solid none; + border-width: 1px 1px 1px 0; + margin-right: 0; + margin-left: -1px; } -.icon32 { - float: right; - margin: 14px 0 0 6px; + +p.help, +p.description, +span.description, +.form-wrap p { + font-style: normal; + font-family: Tahoma, Arial, sans-serif; } -.subtitle { - padding-left: 0; - padding-right: 25px; + +/*------------------------------------------------------------------------------ + 13.0 - Tags +------------------------------------------------------------------------------*/ + +.taghint { + margin: 15px 12px -24px 0; } -ol { - list-style-type:decimal; - margin-left:0; - margin-right:2em; +#poststuff .tagsdiv .howto { + margin: 0 8px 6px 0; } -.postbox-container { - float: right; - padding-left: 0.5%; - padding-right: 0; +.ac_results li { + text-align: right; } -/* Media library */ +/*------------------------------------------------------------------------------ + 14.0 - Media Screen +------------------------------------------------------------------------------*/ + #wpbody-content .describe th { text-align: right; + } .describe .media-item-info .A1B1 { @@ -625,11 +983,11 @@ ol { } .media-upload-form tr.image-size label { - margin: 0 3px 0 0 ; + margin: 0 3px 0 0; } #wpbody-content .describe p.help { - padding: 0 5px 0 0 ; + padding: 0 5px 0 0; } .media-item .error-div a.dismiss, @@ -640,13 +998,6 @@ ol { margin-left: 20px; } -.describe-toggle-on, -.describe-toggle-off { - float: left; - margin-left: 20px; - margin-right: 0; -} - .media-item .error-div { padding-left: 0; padding-right: 10px; @@ -658,71 +1009,328 @@ ol { .crunching { text-align: left; - margin-left: 5px; margin-right: 0; + margin-left: 5px; } .bar { + border-right-width: 0; border-left-width: 3px; + border-right-style: none; border-left-style: solid; - border-right: none; } +/*------------------------------------------------------------------------------ + 14.1 - Media Uploader +------------------------------------------------------------------------------*/ -/* TinyMCE -=================================== */ -.clearlooks2 .mceTop .mceLeft { - width:100% !important; +#find-posts-response .found-radio { + padding: 5px 8px 0 0; } -/* tag hints */ -.taghint { - margin: 15px 12px -24px 0; + +.find-box-search label { + padding-right: 0; + padding-left: 6px; } -#poststuff .tagsdiv .howto { - margin: 0 8px 6px 0; +.find-box #resize-se { + right: auto; + left: 1px; } -#broken-themes { + +form.upgrade .hint { + font-style: normal; +} + + +/*------------------------------------------------------------------------------ + 14.2 - Image Editor +------------------------------------------------------------------------------*/ + +.imgedit-menu div { + float: right; +} + +.imgedit-help { + font-style: normal; +} + +.imgedit-submit-btn { + margin-left: 0; + margin-right: 20px; +} + + +/*------------------------------------------------------------------------------ + 15.0 - Comments Screen +------------------------------------------------------------------------------*/ + +.form-table th { text-align: right; } -.describe .del-link { - padding-right: 5px; - padding-left: 0; +.form-table input.tog { + margin-right: 0; + margin-left: 2px; + float: right; +} + +.form-table table.color-palette { + float: right; +} + +/* reply to comments */ + +#replysubmit img.waiting, +.inline-edit-save img.waiting { + float: left; +} + +#replysubmit .button { + margin-right: 0; + margin-left: 5px; +} + +#edithead .inside { + float: right; + padding: 3px 5px 2px 0; } .comment-ays th { + border-right-style: none; border-left-style: solid; + border-right-width: 0; border-left-width: 1px; } -/* Custom Header */ -.appearance_page_custom-header #available-headers .default-header { +.spam-undo-inside .avatar, +.trash-undo-inside .avatar { + margin-left: 8px; +} + +#comment-status-radio input { + margin: 2px 0 5px 3px; +} + + + +/*------------------------------------------------------------------------------ + 16.0 - Themes +------------------------------------------------------------------------------*/ + +td.available-theme { + text-align: right; +} + +#current-theme img { + float: right; + margin-right: 0; + margin-left: 1em; +} + +#broken-themes { + text-align: right; +} + +/*------------------------------------------------------------------------------ + 16.1 - Custom Header Screen +------------------------------------------------------------------------------*/ + +.appearance_page_custom-header .available-headers .default-header { float: right; margin: 0 0 20px 20px; } -.appearance_page_custom-header #available-headers label input { + +.appearance_page_custom-header .random-header { + margin: 0 0 20px 20px; +} + +.appearance_page_custom-header .available-headers label input, +.appearance_page_custom-header .random-header label input { margin-right: 0; margin-left: 10px; } -#custom-background label { +/*------------------------------------------------------------------------------ + 16.2 - Custom Background Screen +------------------------------------------------------------------------------*/ + +/* No RTL for now, this space intentionally left blank */ + + +/*------------------------------------------------------------------------------ + 16.3 - Tabbed Admin Screen Interface (Experimental) +------------------------------------------------------------------------------*/ + +.nav-tab { + margin: 0 0 -1px 6px; +} + +h2 .nav-tab { + font-family: Tahoma, Arial, sans-serif; +} + + +/*------------------------------------------------------------------------------ + 17.0 - Plugins +------------------------------------------------------------------------------*/ + +.plugins .desc ul, +.plugins .desc ol { + margin: 0 2em 0 0; +} + +#wpbody-content .plugins .plugin-title, #wpbody-content .plugins .theme-title { padding-right: 0; - padding-left: 15px; + padding-left: 12px; +} + + +/*------------------------------------------------------------------------------ + 18.0 - Users +------------------------------------------------------------------------------*/ + +#profile-page .form-table #rich_editing { + margin-right: 0; + margin-left: 5px } -/* ltr -=================================== */ -#author-email, #author-url, #rss-url-1, #edit-slug-box, #post_name, #trackback_url, #metakeyinput, #post_password, #slug, #category_nicename, #link_url, #link_image, #rss_uri, #menu_order, #email, #newcomment_author_url, #pages-exclude, #template textarea, #user_login, #url, #pass1, #pass2, #aim, #yim, #jabber, #siteurl, #home, #admin_email, #gmt_offset, #default_post_edit_rows, #mailserver_url, #mailserver_login, #mailserver_pass, #mailserver_port, #ping_sites, #posts_per_page, #posts_per_rss, #blog_charset, #close_comments_days_old, #comments_per_page, #comment_max_links, #moderation_keys, #blacklist_keys, #thumbnail_size_w, #thumbnail_size_h, #medium_size_w, #medium_size_h, #large_size_w, #large_size_h, #permalink_structure, #category_base, #tag_base, #upload_path, #upload_url_path, #rules { - direction: ltr; +#your-profile legend { + font-family: Tahoma, Arial, sans-serif; } -/* no italic -=================================== */ +/*------------------------------------------------------------------------------ + 19.0 - Tools +------------------------------------------------------------------------------*/ + +/* Intentionally didn't RTLized the new press-this button; -#quicktags #ed_em, #ed_reply_toolbar #ed_reply_em, .tablenav .displaying-num, #footer, #footer a, p.help, p.description, span.description, .form-wrap p, #side-sortables .comments-box thead th, -#normal-sortables .comments-box thead th, .howto, .inline-edit-row fieldset span.title, .inline-edit-row fieldset span.checkbox-title, #utc-time, #local-time, form.upgrade .hint, p.install-help, .imgedit-help { +/*------------------------------------------------------------------------------ + 20.0 - Settings +------------------------------------------------------------------------------*/ + +#utc-time, #local-time { + padding-left: 0; + padding-right: 25px; font-style: normal; + font-family: Tahoma, Arial, sans-serif; +} + +/*------------------------------------------------------------------------------ + 21.0 - Admin Footer +------------------------------------------------------------------------------*/ + +#footer { + margin-right: 0; + margin-left: 15px; +} + +/*------------------------------------------------------------------------------ + 22.0 - Misc +------------------------------------------------------------------------------*/ + +#template div { + margin-right: 0; + margin-left: 190px; +} + +.column-author img, .column-username img { + float: right; + margin-right: 0; + margin-left: 10px; +} + +.tagchecklist { + margin-left: 0; + margin-right: 14px; +} + +.tagchecklist strong { + margin-left: 0; + margin-right: -8px; +} + +.tagchecklist span { + margin-right: 0; + margin-left: 25px; + float: right; + +} +.tagchecklist span a { + margin: 6px -9px 0pt 0pt; + float: right; +} + +#poststuff h2 { + clear: right; +} + +#poststuff h3, +.metabox-holder h3 { + font-family: Tahoma, Arial, sans-serif; +} + +.tool-box .title { + font-family: Tahoma, Arial, sans-serif; +} + +#sidemenu { + margin: -30px 315px 0 15px; + float: left; + padding-left: 0; + padding-right: 10px; +} +#sidemenu a { + float: right; +} + +table .vers, +table .column-visible, +table .column-rating { + text-align: right; +} + + +/*------------------------------------------------------------------------------ + 23.0 - Dead +------------------------------------------------------------------------------*/ + +/* - Not used anywhere in WordPress - verify and then deprecate +------------------------------------------------------------------------------*/ + +/* No RTL for now, this space intentionally left blank */ + + +/* - Only used once or twice in all of WP - deprecate for global style +------------------------------------------------------------------------------*/ + +* html #template div {margin-left: 0;} + +.list-ajax-loading { + float: left; + margin-right: 0; + margin-left: 9px; +} + +/* - Used - but could/should be deprecated with a CSS reset +------------------------------------------------------------------------------*/ +/* No RTL for now, this space intentionally left blank */ + + +/*------------------------------------------------------------------------------ + 24.0 - TinyMCE tweaks + Small tweaks for until tinymce css files are proprely RTLized +------------------------------------------------------------------------------*/ +#editorcontainer .wp_themeSkin .mceStatusbar { + padding-left: 0; + padding-right: 5px; +} +#editorcontainer .wp_themeSkin .mceStatusbar div { + float: right; +} + +#editorcontainer .wp_themeSkin .mceStatusbar a.mceResize { + float: left; } diff --git a/wp-admin/css/wp-admin.css b/wp-admin/css/wp-admin.css index 731bfa3ad..3468a62f4 100644 --- a/wp-admin/css/wp-admin.css +++ b/wp-admin/css/wp-admin.css @@ -1 +1 @@ -p,ul,ol,blockquote,input,select{font-size:12px;}ol{list-style-type:decimal;margin-left:2em;}.code,code{font-family:Consolas,Monaco,Courier,monospace;}kbd,code{padding:1px 3px;margin:0 1px;font-size:11px;}.quicktags,.search{font:12px Georgia,"Times New Roman","Bitstream Charter",Times,serif;}.icon32{float:left;height:36px;margin:14px 6px 0 0;width:36px;}.key-labels label{line-height:24px;}.subtitle{font-size:.75em;line-height:1;padding-left:25px;}.pre{white-space:pre-wrap;white-space:-moz-pre-wrap!important;white-space:-pre-wrap;white-space:-o-pre-wrap;word-wrap:break-word;}.howto{font-style:italic;display:block;font-family:"Lucida Grande",Verdana,Arial,"Bitstream Vera Sans",sans-serif;}p.install-help{margin:8px 0;font-style:italic;}textarea,input[type="text"],input[type="password"],input[type="file"],input[type="button"],input[type="submit"],input[type="reset"],select{border-width:1px;border-style:solid;-moz-border-radius:4px;-khtml-border-radius:4px;-webkit-border-radius:4px;border-radius:4px;}select option{padding:2px;}.submit{padding:1.5em 0;margin:5px 0;-moz-border-radius:0 0 3px 3px;-webkit-border-bottom-left-radius:3px;-webkit-border-bottom-right-radius:3px;-khtml-border-bottom-left-radius:3px;-khtml-border-bottom-right-radius:3px;border-bottom-left-radius:3px;border-bottom-right-radius:3px;}form p.submit a.cancel:hover{text-decoration:none;}.submit input,.button,input.button,.button-primary,input.button-primary,.button-secondary,input.button-secondary,.button-highlighted,input.button-highlighted,#postcustomstuff .submit input{text-decoration:none;font-size:11px!important;line-height:13px;padding:3px 8px;cursor:pointer;border-width:1px;border-style:solid;-moz-border-radius:11px;-khtml-border-radius:11px;-webkit-border-radius:11px;border-radius:11px;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;-khtml-box-sizing:content-box;box-sizing:content-box;}#minor-publishing-actions input,#major-publishing-actions input,#minor-publishing-actions .preview{min-width:80px;text-align:center;}textarea.all-options,input.all-options{width:250px;}input.large-text,textarea.large-text{width:99%;}input.regular-text,#adduser .form-field input{width:25em;}input.small-text{width:50px;}#doaction,#doaction2,#post-query-submit{margin-right:8px;}.tablenav select[name="action"],.tablenav select[name="action2"]{width:130px;}.tablenav select[name="m"]{width:155px;}.tablenav select#cat{width:170px;}#wpcontent select{padding:2px;height:2em;font-size:11px;}#wpcontent option{padding:2px;}#timezone_string option{margin-left:1em;}label,#your-profile label+a{vertical-align:middle;}#misc-publishing-actions label{vertical-align:baseline;}#pass-strength-result{border-style:solid;border-width:1px;float:left;margin:12px 5px 5px 1px;padding:3px 5px;text-align:center;width:200px;display:none;}.indicator-hint{padding-top:8px;}p.search-box{float:right;margin:-5px 0 0;}#major-publishing-actions{padding:6px;clear:both;border-top:none;}#delete-action{line-height:25px;vertical-align:middle;text-align:left;float:left;}#publishing-action{text-align:right;float:right;line-height:23px;}#post-body #minor-publishing{padding-bottom:10px;}#post-body #misc-publishing-actions{padding:0;}#post-body .misc-pub-section{border-right-width:1px;border-right-style:solid;border-bottom:0 none;min-height:30px;float:left;max-width:32%;}#post-body .misc-pub-section-last{border-right:0;}#misc-publishing-actions{padding:6px 0 16px 0;}.misc-pub-section{padding:6px;border-bottom-width:1px;border-bottom-style:solid;}.misc-pub-section-last{border-bottom:0 none;}#minor-publishing-actions{padding:6px;text-align:right;}#minor-publishing{border-bottom-width:1px;border-bottom-style:solid;}#save-post{float:left;}#minor-publishing .ajax-loading{padding:3px 0 0 4px;float:left;}.preview{float:right;}#sticky-span{margin-left:18px;}#post-status-display,#post-visibility-display{font-weight:bold;}.side-info{margin:0;padding:4px;font-size:11px;}.side-info h5{padding-bottom:7px;font-size:14px;margin:12px 2px 5px;border-bottom-width:1px;border-bottom-style:solid;}.side-info ul{margin:0;padding-left:18px;list-style:square;}a.button,a.button-primary,a.button-secondary{line-height:15px;padding:3px 10px;white-space:nowrap;-webkit-border-radius:10px;}.approve{display:none;}.unapproved .approve,.spam .approve,.trash .approve{display:inline;}.unapproved .unapprove{display:none;}.add-new-h2{font-style:normal;margin:0 6px;position:relative;top:-3px;}td.action-links,th.action-links{text-align:right;}.describe .del-link{padding-left:5px;}#update-nag,.update-nag{line-height:19px;padding:5px 0;font-size:12px;text-align:center;margin:0 15px;border-width:1px;border-style:solid;border-top-width:0;border-top-style:none;-moz-border-radius:0 0 6px 6px;-webkit-border-bottom-right-radius:6px;-webkit-border-bottom-left-radius:6px;-khtml-border-bottom-right-radius:6px;-khtml-border-bottom-left-radius:6px;border-bottom-right-radius:6px;border-bottom-left-radius:6px;}.plugins .plugin-update{padding:0;}.plugin-update .update-message{margin:0 10px 8px 31px;font-weight:bold;}ul#dismissed-updates{display:none;}form.upgrade{margin-top:8px;}form.upgrade .hint{font-style:italic;font-size:85%;margin:-0.5em 0 2em 0;}.ajax-feedback{visibility:hidden;vertical-align:bottom;}#ajax-response.alignleft{margin-left:2em;}#editorcontainer #content{padding:6px;line-height:150%;border:0 none;outline:none;resize:vertical;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;-khtml-box-sizing:border-box;box-sizing:border-box;}#editorcontainer,#quicktags{border-style:solid;border-width:1px;border-collapse:separate;-moz-border-radius:6px 6px 0 0;-webkit-border-top-right-radius:6px;-webkit-border-top-left-radius:6px;-khtml-border-top-right-radius:6px;-khtml-border-top-left-radius:6px;border-top-right-radius:6px;border-top-left-radius:6px;}#quicktags{padding:0;margin-bottom:-3px;border-bottom-width:3px;background-image:url("../images/ed-bg.gif");background-position:left top;background-repeat:repeat-x;}#quicktags #ed_toolbar{padding:2px 4px 0;}#ed_toolbar input,#ed_reply_toolbar input{margin:3px 1px 4px;line-height:18px;display:inline-block;min-width:26px;padding:2px 4px;font-size:12px;}#ed_reply_toolbar input{margin:1px 2px 1px 1px;}#quicktags #ed_link,#ed_reply_toolbar #ed_reply_link{text-decoration:underline;}#quicktags #ed_del,#ed_reply_toolbar #ed_reply_del{text-decoration:line-through;}#quicktags #ed_em,#ed_reply_toolbar #ed_reply_em{font-style:italic;}#wp_editbtns,#wp_gallerybtns{padding:2px;position:absolute;display:none;z-index:999998;}#wp_editimgbtn,#wp_delimgbtn,#wp_editgallery,#wp_delgallery{margin:2px;padding:2px;border-width:1px;border-style:solid;-moz-border-radius:3px;-khtml-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;}#wphead-info{margin:0 0 0 15px;padding-right:15px;}#user_info{float:right;font-size:12px;line-height:46px;height:46px;}#user_info p{margin:0;padding:0;line-height:46px;}#wphead{height:46px;}#wphead a,#adminmenu a,#sidemenu a,#taglist a,#catlist a,#show-settings a{text-decoration:none;}#header-logo{float:left;margin:7px 0 0 15px;}#wphead h1{font:normal 22px Georgia,"Times New Roman","Bitstream Charter",Times,serif;padding:10px 8px 5px;margin:0;float:left;}#wphead h1.long-title{font:normal 18px Georgia,"Times New Roman","Bitstream Charter",Times,serif;padding:12px 10px 5px;}#wphead #privacy-on-link{font-size:50%;font-style:normal;line-height:17px;padding:0 6px;vertical-align:middle;}#wphead h1 a:hover{text-decoration:none;}#wphead h1 a:hover #site-title,#wphead h1 a#privacy-on-link:hover{text-decoration:underline;}#favorite-actions{float:right;margin:11px 12px 0;min-width:130px;position:relative;}#favorite-first{-moz-border-radius:12px;-khtml-border-radius:12px;-webkit-border-radius:12px;border-radius:12px;line-height:15px;padding:3px 30px 4px 12px;border-width:1px;border-style:solid;}#favorite-inside{margin:0;padding:2px 1px;border-width:1px;border-style:solid;position:absolute;z-index:11;display:none;-moz-border-radius:0 0 12px 12px;-webkit-border-bottom-right-radius:12px;-webkit-border-bottom-left-radius:12px;-khtml-border-bottom-right-radius:12px;-khtml-border-bottom-left-radius:12px;border-bottom-right-radius:12px;border-bottom-left-radius:12px;}#favorite-actions a{display:block;text-decoration:none;font-size:11px;}#favorite-inside a{padding:3px 5px 3px 10px;}#favorite-toggle{height:22px;position:absolute;right:0;top:1px;width:28px;}#favorite-actions .slide-down{-moz-border-radius:12px 12px 0 0;-webkit-border-bottom-right-radius:0;-webkit-border-bottom-left-radius:0;-khtml-border-bottom-right-radius:0;-khtml-border-bottom-left-radius:0;border-bottom-right-radius:0;border-bottom-left-radius:0;border-bottom:none;}#screen-meta{position:relative;clear:both;}#screen-meta-links{margin:0 18px 0 0;}#screen-meta .screen-reader-text{visibility:hidden;}#screen-options-link-wrap,#contextual-help-link-wrap{float:right;height:22px;padding:0;margin:0 6px 0 0;font-family:"Lucida Grande",Verdana,Arial,"Bitstream Vera Sans",sans-serif;background:#e3e3e3;-moz-border-radius-bottomleft:3px;-moz-border-radius-bottomright:3px;-webkit-border-bottom-left-radius:3px;-webkit-border-bottom-right-radius:3px;}#contextual-help-wrap li{list-style-type:disc;margin-left:18px;}.toggle-arrow{background-repeat:no-repeat;background-position:top left;background-color:transparent;height:22px;line-height:22px;display:block;}.toggle-arrow-active{background-position:bottom left;}#screen-meta a.show-settings{text-decoration:none;z-index:1;padding:0 16px 0 6px;height:22px;line-height:22px;font-size:10px;display:block;background-repeat:no-repeat;background-position:top right;background-color:transparent;text-shadow:rgba(255,255,255,0.7) 0 1px 0;}#screen-meta a.show-settings:hover{text-decoration:none;}#screen-options-wrap h5,#contextual-help-wrap h5{margin:8px 0;font-size:13px;}#screen-options-wrap,#contextual-help-wrap{border-style:none solid solid;border-top:0 none;border-width:0 1px 1px;margin:0 15px;padding:8px 12px 12px;-moz-border-radius:0 0 4px 4px;-webkit-border-radius:0 0 4px 4px;-khtml-border-radius:0 0 4px 4px;border-radius:0 0 4px 4px;}.metabox-prefs label{display:inline-block;padding-right:15px;white-space:nowrap;line-height:30px;}.metabox-prefs label input{margin:0 5px 0 2px;}.metabox-prefs label a{display:none;}#adminmenu *{-webkit-user-select:none;-moz-user-select:none;-khtml-user-select:none;user-select:none;}#adminmenu .wp-submenu{display:none;list-style:none;padding:0;margin:0;position:relative;z-index:2;border-width:1px 0 0;border-style:solid none none;}#adminmenu .wp-submenu a{font:normal 11px/18px "Lucida Grande",Verdana,Arial,"Bitstream Vera Sans",sans-serif;}#adminmenu .wp-submenu li.current,#adminmenu .wp-submenu li.current a,#adminmenu .wp-submenu li.current a:hover{font-weight:bold;}#adminmenu a.menu-top,#adminmenu .wp-submenu-head{font:normal 13px/18px Georgia,"Times New Roman","Bitstream Charter",Times,serif;}#adminmenu div.wp-submenu-head{display:none;}.folded #adminmenu div.wp-submenu-head,.folded #adminmenu li.wp-has-submenu div.sub-open{display:block;}.folded #adminmenu a.menu-top,.folded #adminmenu .wp-submenu,.folded #adminmenu li.wp-menu-open .wp-submenu,.folded #adminmenu div.wp-menu-toggle{display:none;}#adminmenu li.wp-menu-open .wp-submenu,.no-js #adminmenu .open-if-no-js .wp-submenu{display:block;}#adminmenu div.wp-menu-image{float:left;width:28px;height:28px;}#adminmenu li{margin:0;padding:0;cursor:pointer;}#adminmenu a{display:block;line-height:18px;padding:1px 5px 3px;}#adminmenu li.menu-top{min-height:26px;}#adminmenu a.menu-top{line-height:18px;min-width:10em;padding:5px 5px;border-width:1px 1px 0;border-style:solid solid none;}#adminmenu .wp-submenu a{margin:0;padding-left:12px;border-width:0 1px 0 0;border-style:none solid none none;}#adminmenu .menu-top-last ul.wp-submenu{border-width:0 0 1px;border-style:none none solid;}#adminmenu .wp-submenu li{padding:0;margin:0;}.folded #adminmenu li.menu-top{width:28px;height:30px;overflow:hidden;border-width:1px 1px 0;border-style:solid solid none;}#adminmenu .menu-top-first a.menu-top,.folded #adminmenu li.menu-top-first,#adminmenu .wp-submenu .wp-submenu-head{border-width:1px 1px 0;border-style:solid solid none;-moz-border-radius-topleft:6px;-moz-border-radius-topright:6px;-webkit-border-top-right-radius:6px;-webkit-border-top-left-radius:6px;-khtml-border-top-right-radius:6px;-khtml-border-top-left-radius:6px;border-top-right-radius:6px;border-top-left-radius:6px;}#adminmenu .menu-top-last a.menu-top,.folded #adminmenu li.menu-top-last{border-width:1px;border-style:solid;-moz-border-radius-bottomleft:6px;-moz-border-radius-bottomright:6px;-webkit-border-bottom-right-radius:6px;-webkit-border-bottom-left-radius:6px;-khtml-border-bottom-right-radius:6px;-khtml-border-bottom-left-radius:6px;border-bottom-right-radius:6px;border-bottom-left-radius:6px;}#adminmenu li.wp-menu-open a.menu-top-last{border-bottom:0 none;-moz-border-radius-bottomright:0;-moz-border-radius-bottomleft:0;-webkit-border-bottom-right-radius:0;-webkit-border-bottom-left-radius:0;-khtml-border-bottom-right-radius:0;-khtml-border-bottom-left-radius:0;border-bottom-right-radius:0;border-bottom-left-radius:0;}#adminmenu .wp-menu-image img{float:left;padding:8px 6px 0;opacity:.6;filter:alpha(opacity=60);}#adminmenu li.menu-top:hover .wp-menu-image img,#adminmenu li.wp-has-current-submenu .wp-menu-image img{opacity:1;filter:alpha(opacity=100);}#adminmenu li.wp-menu-separator{height:21px;padding:0;margin:0;}#adminmenu a.separator{cursor:w-resize;height:20px;padding:0;}.folded #adminmenu a.separator{cursor:e-resize;}#adminmenu .wp-menu-separator-last{height:10px;width:1px;}#adminmenu .wp-submenu .wp-submenu-head{border-width:1px;border-style:solid;padding:6px 4px 6px 10px;cursor:default;}.folded #adminmenu .wp-submenu{position:absolute;margin:-1px 0 0 28px;padding:0 8px 8px;z-index:999;border:0 none;}.folded #adminmenu .wp-submenu ul{width:140px;border-width:0 0 1px;border-style:none none solid;}.folded #adminmenu .wp-submenu li.wp-first-item{border-top:0 none;}.folded #adminmenu .wp-submenu a{padding-left:10px;}.folded #adminmenu a.wp-has-submenu{margin-left:40px;}#adminmenu li.menu-top-last .wp-submenu ul{border-width:0 0 1px;border-style:none none solid;}#adminmenu .wp-menu-toggle{width:22px;clear:right;float:right;margin:1px 0 0;height:27px;padding:1px 2px 0 0;cursor:default;}#adminmenu li.wp-has-current-submenu ul{border-bottom-width:1px;border-bottom-style:solid;}#adminmenu .wp-menu-image a{height:24px;}#adminmenu .wp-menu-image img{padding:6px 0 0 1px;}#adminmenu #awaiting-mod,#adminmenu span.update-plugins,#sidemenu li a span.update-plugins{position:absolute;font-family:Helvetica,Arial,sans-serif;font-size:9px;line-height:17px;font-weight:bold;margin-top:1px;margin-left:7px;-moz-border-radius:10px;-khtml-border-radius:10px;-webkit-border-radius:10px;border-radius:10px;}#adminmenu li #awaiting-mod span,#adminmenu li span.update-plugins span,#sidemenu li a span.update-plugins span{display:block;padding:0 6px;}#adminmenu li span.count-0,#sidemenu li a .count-0{display:none;}.post-com-count-wrapper{min-width:22px;font-family:Helvetica,Arial,sans-serif;}.post-com-count{height:1.3em;line-height:1.1em;display:block;text-decoration:none;padding:0 0 6px;cursor:pointer;background-position:center -80px;background-repeat:no-repeat;}.post-com-count span{font-size:9px;font-weight:bold;height:1.7em;line-height:1.70em;min-width:.7em;padding:0 6px;display:inline-block;cursor:pointer;-moz-border-radius:5px;-khtml-border-radius:5px;-webkit-border-radius:5px;border-radius:5px;}strong .post-com-count{background-position:center -55px;}.post-com-count:hover{background-position:center -3px;}.column-response .post-com-count{float:left;margin-right:5px;text-align:center;}.response-links{float:left;}#the-comment-list .attachment-80x60{padding:4px 8px;}body.wp-admin{min-width:785px;}body.admin-bar #wphead{padding-top:28px;}.narrow{width:70%;margin-bottom:40px;}.narrow p{line-height:150%;}.widefat th,.widefat td{overflow:hidden;}.widefat td p{margin:2px 0 .8em;}.widefat .column-comment p{margin:.6em 0;}.widget .widget-top,.postbox h3{cursor:move;-webkit-user-select:none;-moz-user-select:none;-khtml-user-select:none;user-select:none;}.postbox-container{float:left;padding-right:.5%;}.postbox-container .meta-box-sortables{min-height:300px;}.postbox .hndle span{padding:6px 0;}.postbox .hndle{cursor:move;}.hndle a{font-size:11px;font-weight:normal;}.postbox .handlediv{float:right;width:23px;height:26px;}.sortable-placeholder{border-width:1px;border-style:dashed;margin-bottom:20px;}.widget,.postbox,.stuffbox{margin-bottom:20px;border-width:1px;border-style:solid;line-height:1;-moz-border-radius:6px;-khtml-border-radius:6px;-webkit-border-radius:6px;border-radius:6px;}.widget .widget-top,.postbox h3,.postbox h3,.stuffbox h3{-moz-border-radius:6px 6px 0 0;-webkit-border-top-right-radius:6px;-webkit-border-top-left-radius:6px;-khtml-border-top-right-radius:6px;-khtml-border-top-left-radius:6px;border-top-right-radius:6px;border-top-left-radius:6px;}.postbox.closed h3{-moz-border-radius-bottomleft:4px;-webkit-border-bottom-left-radius:4px;-khtml-border-bottom-left-radius:4px;border-bottom-left-radius:4px;-moz-border-radius-bottomright:4px;-webkit-border-bottom-right-radius:4px;-khtml-border-bottom-right-radius:4px;border-bottom-right-radius:4px;}.postbox table.form-table{margin-bottom:0;}.postbox input[type="text"],.postbox textarea,.stuffbox input[type="text"],.stuffbox textarea{border-width:1px;border-style:solid;}.temp-border{border:1px dotted #ccc;}.columns-prefs label{padding:0 5px;}#wpbody-content .metabox-holder{padding-top:10px;}#dashboard-widgets .meta-box-sortables{margin:0 5px;}#dashboard_recent_comments div.undo{border-top-style:solid;border-top-width:1px;margin:0 -10px;padding:3px 8px;font-size:11px;}#the-comment-list td.comment p.comment-author{margin-top:0;margin-left:0;}#the-comment-list p.comment-author img{float:left;margin-right:8px;}#the-comment-list p.comment-author strong a{border:none;}#the-comment-list td{vertical-align:top;}#the-comment-list td.comment{word-wrap:break-word;}#the-comment-list .check-column{padding-top:8px;}table.fixed{table-layout:fixed;}.fixed .column-rating,.fixed .column-visible{width:8%;}.fixed .column-date,.fixed .column-parent,.fixed .column-links{width:10%;}.fixed .column-response,.fixed .column-author,.fixed .column-categories,.fixed .column-tags,.fixed .column-rel,.fixed .column-role{width:15%;}.fixed .column-comments{width:4em;padding:8px 0;text-align:left;}.fixed .column-comments .vers{padding-left:3px;}.fixed .column-comments a{float:left;}.fixed .column-slug{width:25%;}.fixed .column-posts{width:10%;}.fixed .column-icon{width:80px;}#commentsdiv .fixed .column-author,#comments-form .fixed .column-author{width:20%;}#commentsdiv.postbox .inside{line-height:1.4em;margin:0;}#commentsdiv.postbox .inside .row-actions{line-height:18px;}#commentsdiv.postbox .inside td{padding:1em 10px;}#commentsdiv.postbox .inside .column-author{width:33%;}#commentsdiv.postbox .inside p{margin:6px 10px 8px;}#commentsdiv.postbox .column-comment p{margin:.6em 0;}#commentsdiv.postbox #replyrow td{padding:0;}.sorting-indicator{display:none;width:7px;height:4px;margin-top:5px;margin-left:7px;background-image:url(../images/sort.gif);background-repeat:no-repeat;}.fixed .column-comments .sorting-indicator{margin-top:3px;}.widefat th.sortable,.widefat th.sorted{padding:0;}th.sortable a,th.sorted a{display:block;overflow:hidden;padding:7px 7px 8px;}.fixed .column-comments.sortable a,.fixed .column-comments.sorted a{padding:8px 0;}th.sortable a span,th.sorted a span{float:left;cursor:pointer;}th.sorted.asc .sorting-indicator,th.desc:hover span.sorting-indicator{display:block;background-position:0 0;}th.sorted.desc .sorting-indicator,th.asc:hover span.sorting-indicator{display:block;background-position:-7px 0;}.tablenav-pages a{border-bottom-style:solid;border-bottom-width:2px;font-weight:bold;margin-right:1px;padding:0 2px;}.tablenav-pages .current-page{text-align:center;}.tablenav-pages .next-page{margin-left:2px;}.tablenav a.button-secondary{display:block;margin:3px 8px 0 0;}.tablenav{clear:both;height:30px;margin:6px 0 4px;vertical-align:middle;}.tablenav .tablenav-pages{float:right;display:block;cursor:default;height:30px;line-height:30px;font-size:11px;}.tablenav .one-page{display:none;}.tablenav .tablenav-pages a,.tablenav-pages span.current{text-decoration:none;border:none;padding:3px 6px;border-width:1px;border-style:solid;-moz-border-radius:5px;-khtml-border-radius:5px;-webkit-border-radius:5px;border-radius:5px;}.tablenav .tablenav-pages a.disabled:hover{cursor:default;}.tablenav .tablenav-pages a.disabled:active{cursor:default;}.tablenav .displaying-num{margin-right:10px;font-size:12px;font-family:Georgia,"Times New Roman","Bitstream Charter",Times,serif;font-style:italic;}.tablenav .actions{padding:2px 8px 0 0;}.tablenav .delete{margin-right:20px;}.view-switch{float:right;margin:6px 8px 0;}.view-switch a{text-decoration:none;}.filter{float:left;margin:-5px 0 0 10px;}.filter .subsubsub{margin-left:-10px;margin-top:13px;}.screen-per-page{width:3em;}#posts-filter fieldset{float:left;margin:0 1.5ex 1em 0;padding:0;}#posts-filter fieldset legend{padding:0 0 .2em 1px;}span.post-state-format{font-weight:normal;}tr.inline-edit-row td{padding:0 .5em;}#wpbody-content .inline-edit-row fieldset{font-size:12px;float:left;margin:0;padding:0;width:100%;}#wpbody-content .inline-edit-row fieldset .inline-edit-col{padding:0 .5em;}#wpbody-content .quick-edit-row-page fieldset.inline-edit-col-right .inline-edit-col{border-width:0 0 0 1px;border-style:none none none solid;}#wpbody-content .quick-edit-row-post .inline-edit-col-left{width:40%;}#wpbody-content .quick-edit-row-post .inline-edit-col-right{width:39%;}#wpbody-content .inline-edit-row-post .inline-edit-col-center{width:20%;}#wpbody-content .quick-edit-row-page .inline-edit-col-left{width:50%;}#wpbody-content .quick-edit-row-page .inline-edit-col-right,#wpbody-content .bulk-edit-row-post .inline-edit-col-right{width:49%;}#wpbody-content .bulk-edit-row .inline-edit-col-left{width:30%;}#wpbody-content .bulk-edit-row-page .inline-edit-col-right{width:69%;}#wpbody-content .bulk-edit-row .inline-edit-col-bottom{float:right;width:69%;}#wpbody-content .inline-edit-row-page .inline-edit-col-right,#wpbody-content .bulk-edit-row-post .inline-edit-col-right{margin-top:27px;}.inline-edit-row fieldset .inline-edit-group{clear:both;}.inline-edit-row fieldset .inline-edit-group:after{content:".";display:block;height:0;clear:both;visibility:hidden;}.inline-edit-row p.submit{clear:both;padding:.5em;margin:.5em 0 0;}.inline-edit-row span.error{line-height:22px;margin:0 15px;padding:3px 5px;}.inline-edit-row h4{margin:.2em 0;padding:0;line-height:23px;}.inline-edit-row fieldset span.title,.inline-edit-row fieldset span.checkbox-title{margin:0;padding:0;line-height:27px;}.inline-edit-row fieldset label,.inline-edit-row fieldset span.inline-edit-categories-label{display:block;margin:.2em 0;}.inline-edit-row fieldset label.inline-edit-tags{margin-top:0;}.inline-edit-row fieldset label.inline-edit-tags span.title{margin:.2em 0;}.inline-edit-row fieldset label span.title{display:block;float:left;width:5em;}.inline-edit-row fieldset label span.input-text-wrap{display:block;margin-left:5em;}.quick-edit-row-post fieldset.inline-edit-col-right label span.title{width:auto;padding-right:.5em;}.inline-edit-row .input-text-wrap input[type=text]{width:100%;}.inline-edit-row fieldset label input[type=checkbox]{vertical-align:text-bottom;}.inline-edit-row fieldset label textarea{width:100%;height:4em;}#wpbody-content .bulk-edit-row fieldset .inline-edit-group label{max-width:50%;}#wpbody-content .quick-edit-row fieldset .inline-edit-group label.alignleft:first-child{margin-right:.5em;}.inline-edit-row h4{text-transform:uppercase;}.inline-edit-row fieldset span.title,.inline-edit-row fieldset span.checkbox-title{font-family:Georgia,"Times New Roman","Bitstream Charter",Times,serif;font-style:italic;line-height:1.8em;}.inline-edit-row fieldset input[type="text"],.inline-edit-row fieldset textarea{border-style:solid;border-width:1px;}.inline-edit-row fieldset .inline-edit-date{float:left;}.inline-edit-row fieldset input[name=jj],.inline-edit-row fieldset input[name=hh],.inline-edit-row fieldset input[name=mn]{font-size:12px;width:2.1em;}.inline-edit-row fieldset input[name=aa]{font-size:12px;width:3.5em;}.inline-edit-row fieldset label input.inline-edit-password-input{width:8em;}.inline-edit-row .catshow,.inline-edit-row .cathide{cursor:pointer;}ul.cat-checklist{height:12em;border-style:solid;border-width:1px;overflow-y:scroll;padding:0 5px;margin:0;}#bulk-titles{display:block;height:12em;border-style:solid;border-width:1px;overflow-y:scroll;padding:0 5px;margin:0 0 5px;}.inline-edit-row fieldset ul.cat-checklist li,.inline-edit-row fieldset ul.cat-checklist input{margin:0;}.inline-edit-row fieldset ul.cat-checklist label,.inline-edit-row .catshow,.inline-edit-row .cathide,.inline-edit-row #bulk-titles div{font-family:"Lucida Grande",Verdana,Arial,"Bitstream Vera Sans",sans-serif;font-style:normal;font-size:11px;}table .inline-edit-row fieldset ul.cat-hover{height:auto;max-height:30em;overflow-y:auto;position:absolute;}.inline-edit-row fieldset label input.inline-edit-menu-order-input{width:3em;}.inline-edit-row fieldset label input.inline-edit-slug-input{width:75%;}.quick-edit-row-post fieldset label.inline-edit-status{float:left;}#bulk-titles{line-height:140%;}#bulk-titles div{margin:.2em .3em;}#bulk-titles div a{cursor:pointer;display:block;float:left;height:10px;margin:3px 3px 0 -2px;overflow:hidden;position:relative;text-indent:-9999px;width:10px;}#titlediv{position:relative;margin-bottom:20px;}#titlediv label{cursor:text;}#titlediv div.inside{margin:0;}#poststuff #titlewrap{border:0;padding:0;}#titlediv #title{padding:3px 4px;border-width:1px;border-style:solid;-moz-border-radius:6px;-khtml-border-radius:6px;-webkit-border-radius:6px;border-radius:6px;font-size:1.7em;line-height:100%;width:100%;outline:none;}#titlediv #title-prompt-text{color:#bbb;position:absolute;font-size:1.7em;padding:8px;}#poststuff .inside-submitbox,#side-sortables .inside-submitbox{margin:0 3px;font-size:11px;}input#link_description,input#link_url{width:98%;}#pending{background:0 none;border:0 none;padding:0;font-size:11px;margin-top:-1px;}#edit-slug-box{height:1em;margin-top:8px;padding:0 7px;}#editable-post-name-full{display:none;}#editable-post-name input{width:16em;}.postarea h3 label{float:left;}.postarea #add-media-button{float:right;margin:7px 0 0;position:relative;right:10px;}#poststuff #editor-toolbar{height:30px;}.wp_themeSkin tr.mceFirst td.mceToolbar{border-width:0 0 1px;border-style:none none solid;}#edButtonPreview,#edButtonHTML{height:18px;margin:5px 5px 0 0;padding:4px 5px 2px;float:right;cursor:pointer;border-width:1px;border-style:solid;-moz-border-radius:3px 3px 0 0;-webkit-border-top-right-radius:3px;-webkit-border-top-left-radius:3px;-khtml-border-top-right-radius:3px;-khtml-border-top-left-radius:3px;border-top-right-radius:3px;border-top-left-radius:3px;}.js .theEditor{color:white;}#poststuff #edButtonHTML{margin-right:15px;}#media-buttons{cursor:default;padding:8px 8px 0;}#media-buttons a{cursor:pointer;padding:0 0 5px 10px;}#media-buttons img,#submitpost #ajax-loading,#submitpost .ajax-loading{vertical-align:middle;}#wpcontent .ajax-loading{visibility:hidden;}.submitbox .submit{text-align:left;padding:12px 10px 10px;font-size:11px;}.submitbox .submitdelete{border-bottom-width:1px;border-bottom-style:solid;text-decoration:none;padding:1px 2px;}.inside-submitbox #post_status{margin:2px 0 2px -2px;}.submitbox .submit a:hover{border-bottom-width:1px;border-bottom-style:solid;}.submitbox .submit input{margin-bottom:8px;margin-right:4px;padding:6px;}#post-status-select,#post-format{line-height:2.5em;margin-top:3px;}#post-body #normal-sortables{min-height:50px;}#post-body #advanced-sortables{min-height:20px;}.postbox{position:relative;min-width:255px;width:99.5%;}#trackback_url{width:99%;}#normal-sortables .postbox .submit{background:transparent none;border:0 none;float:right;padding:0 12px;margin:0;}#side-sortables .category-add input{width:94%;}#side-sortables .category-add select{width:100%;}#side-sortables .category-add input.category-add-sumbit,#post-body .category-add input.category-add input.category-add-sumbit{width:auto;}#post-body ul.category-tabs,#post-body ul.add-menu-item-tabs{float:left;width:120px;text-align:right;margin:0 -120px 0 5px;padding:0;}#post-body ul.category-tabs li,#post-body ul.add-menu-item-tabs li{padding:8px;}#post-body ul.category-tabs li.tabs,#post-body ul.add-menu-item-tabs li.tabs{-moz-border-radius:3px 0 0 3px;-webkit-border-top-left-radius:3px;-webkit-border-bottom-left-radius:3px;-khtml-border-top-left-radius:3px;-khtml-border-bottom-left-radius:3px;border-top-left-radius:3px;border-bottom-left-radius:3px;}#post-body ul.category-tabs li.tabs a,#post-body ul.add-menu-item-tabs li.tabs a{font-weight:bold;text-decoration:none;}.wp-tab-panel,.categorydiv div.tabs-panel,.customlinkdiv div.tabs-panel,.posttypediv div.tabs-panel,.taxonomydiv div.tabs-panel,#linkcategorydiv div.tabs-panel{height:200px;overflow:auto;padding:.5em .9em;border-style:solid;border-width:1px;}.nav-menus-php .customlinkdiv div.tabs-panel,.nav-menus-php .posttypediv div.tabs-panel,.nav-menus-php .taxonomydiv div.tabs-panel{height:auto;max-height:205px;}div.tabs-panel-active{display:block;}div.tabs-panel-inactive{display:none;}#post-body .categorydiv div.tabs-panel,.taxonomy div.tabs-panel,#post-body #linkcategorydiv div.tabs-panel{margin:0 5px 0 125px;}#side-sortables .category-tabs li,#side-sortables .add-menu-item-tabs li,.wp-tab-bar li{display:inline;}#side-sortables .category-tabs a,#side-sortables .add-menu-item-tabs a,.wp-tab-bar a{text-decoration:none;}#side-sortables .category-tabs,#side-sortables .add-menu-item-tabs,.wp-tab-bar{margin-bottom:3px;}.categorydiv ul,.customlinkdiv ul,.posttypediv ul,.taxonomydiv ul,#linkcategorydiv ul{list-style:none;padding:0;margin:0;}#normal-sortables .postbox #replyrow .submit{float:none;margin:0;padding:3px 7px;}#side-sortables .submitbox .submit input,#side-sortables .submitbox .submit .preview,#side-sortables .submitbox .submit a.preview:hover{border:0 none;}#side-sortables .inside-submitbox .insidebox,.stuffbox .insidebox{margin:11px 0;}#side-sortables .comments-box,#normal-sortables .comments-box{border:0 none;}ul.category-tabs,ul.add-menu-item-tabs,ul.wp-tab-bar{margin-top:12px;}#side-sortables .comments-box thead th,#normal-sortables .comments-box thead th{background:transparent;padding:0 7px 4px;font-style:italic;}ul.category-tabs li.tabs,ul.add-menu-item-tabs li.tabs,.wp-tab-active{border-style:solid solid none;border-width:1px 1px 0;}#commentsdiv img.waiting{padding-left:5px;}#post-body .category-tabs li.tabs,#post-body .add-menu-item-tabs li.tabs{border-style:solid none solid solid;border-width:1px 0 1px 1px;margin-right:-1px;}ul.category-tabs li,ul.add-menu-item-tabs li,ul.wp-tab-bar li{padding:5px;-moz-border-radius:3px 3px 0 0;-webkit-border-top-left-radius:3px;-webkit-border-top-right-radius:3px;-khtml-border-top-left-radius:3px;-khtml-border-top-right-radius:3px;border-top-left-radius:3px;border-top-right-radius:3px;}form#tags-filter{position:relative;}p.search-box{float:right;margin:-5px 0 0;}.screen-per-page{width:3em;}#posts-filter fieldset{float:left;margin:0 1.5ex 1em 0;padding:0;}#posts-filter fieldset legend{padding:0 0 .2em 1px;}td.post-title strong,td.plugin-title strong{display:block;margin-bottom:.2em;}td.post-title p,td.plugin-title p{margin:6px 0;}.wp-hidden-children .wp-hidden-child,.ui-tabs-hide{display:none;}.commentlist .avatar{vertical-align:text-top;}#post-body .tagsdiv #newtag{margin-right:5px;width:16em;}#side-sortables input#post_password{width:94%;}#side-sortables .tagsdiv #newtag{width:68%;}#post-status-info{border-width:0 1px 1px;border-style:none solid solid;width:100%;-moz-border-radius:0 0 6px 6px;-webkit-border-bottom-left-radius:6px;-webkit-border-bottom-right-radius:6px;-khtml-border-bottom-left-radius:6px;-khtml-border-bottom-right-radius:6px;border-bottom-left-radius:6px;border-bottom-right-radius:6px;}#post-status-info td{font-size:11px;}.autosave-info{padding:2px 15px 2px 2px;text-align:right;}#editorcontent #post-status-info{border:none;}#post-body .wp_themeSkin .mceStatusbar a.mceResize{display:block;background:transparent url(../images/resize.gif) no-repeat scroll right bottom;width:12px;cursor:se-resize;margin:0 2px;position:relative;top:22px;}#wp-word-count{display:block;padding:2px 7px;}#timestampdiv select{height:20px;line-height:14px;padding:0;vertical-align:top;}#jj,#hh,#mn{width:2em;padding:1px;font-size:12px;}#aa{width:3.4em;padding:1px;font-size:12px;}.curtime #timestamp{background-repeat:no-repeat;background-position:left top;padding-left:18px;}#timestampdiv{padding-top:5px;line-height:23px;}#timestampdiv p{margin:8px 0 6px;}#timestampdiv input{border-width:1px;border-style:solid;}#postcustomstuff table,#postcustomstuff input,#postcustomstuff textarea{border-width:1px;border-style:solid;-moz-border-radius:3px;-khtml-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;}#postcustomstuff .updatemeta,#postcustomstuff .deletemeta{margin:auto;}#postcustomstuff thead th{padding:5px 8px 8px;}#postcustom #postcustomstuff .submit{border:0 none;float:none;padding:5px 8px;}#side-sortables #postcustom #postcustomstuff .submit{padding:0 5px;}#side-sortables #postcustom #postcustomstuff td.left input{margin:3px 3px 0;}#side-sortables #postcustom #postcustomstuff #the-list textarea{height:85px;margin:3px;}#postcustomstuff table{margin:0;width:100%;border-width:1px;border-style:solid;border-spacing:0;}#postcustomstuff table input,#postcustomstuff table select,#postcustomstuff table textarea{width:95%;margin:8px 0 8px 8px;}#postcustomstuff th.left,#postcustomstuff td.left{width:38%;}#postcustomstuff .submit input{width:auto;}#postcustomstuff #newmeta .submit{padding:0 8px;}#postcustomstuff table #addmetasub{width:auto;}#postcustomstuff #newmetaleft{vertical-align:top;}#postcustomstuff #newmetaleft a{padding:0 10px;text-decoration:none;}table.diff{width:100%;}table.diff col.content{width:50%;}table.diff tr{background-color:transparent;}table.diff td,table.diff th{padding:.5em;font-family:Consolas,Monaco,Courier,monospace;border:none;}table.diff .diff-deletedline del,table.diff .diff-addedline ins{text-decoration:none;}.category-adder{margin-left:120px;padding:4px 0;}.category-adder h4{margin:0 0 8px;}#side-sortables .category-adder{margin:0;}#post-body .category-add input,.category-add select{width:30%;}#side-sortables .category-add select{width:100%;}#side-sortables .category-add input.category-add-sumbit,#post-body .category-add input.category-add input.category-add-sumbit{width:auto;}#post-body ul.category-tabs,#post-body ul.add-menu-item-tabs{float:left;width:120px;text-align:right;margin:0 -120px 0 5px;padding:0;}#post-body ul.category-tabs li,#post-body ul.add-menu-item-tabs li{padding:8px;}#post-body ul.category-tabs li.tabs,#post-body ul.add-menu-item-tabs li.tabs{-moz-border-radius:3px 0 0 3px;-webkit-border-top-left-radius:3px;-webkit-border-bottom-left-radius:3px;-khtml-border-top-left-radius:3px;-khtml-border-bottom-left-radius:3px;border-top-left-radius:3px;border-bottom-left-radius:3px;}#post-body ul.category-tabs li.tabs a,#post-body ul.add-menu-item-tabs li.tabs a{font-weight:bold;text-decoration:none;}.categorydiv div.tabs-panel,.customlinkdiv div.tabs-panel,.posttypediv div.tabs-panel,.taxonomydiv div.tabs-panel,#linkcategorydiv div.tabs-panel{height:200px;overflow:auto;padding:.5em .9em;border-style:solid;border-width:1px;}.nav-menus-php .customlinkdiv div.tabs-panel,.nav-menus-php .posttypediv div.tabs-panel,.nav-menus-php .taxonomydiv div.tabs-panel{height:auto;max-height:205px;}div.tabs-panel-active{display:block;}div.tabs-panel-inactive{display:none;}#post-body .categorydiv div.tabs-panel,.taxonomy div.tabs-panel,#post-body #linkcategorydiv div.tabs-panel{margin:0 5px 0 125px;}#side-sortables .category-tabs li,#side-sortables .add-menu-item-tabs li{display:inline;}#side-sortables .category-tabs a,#side-sortables .add-menu-item-tabs a{text-decoration:none;}#side-sortables .category-tabs,#side-sortables .add-menu-item-tabs{margin-bottom:3px;}.categorydiv ul,.customlinkdiv ul,.posttypediv ul,.taxonomydiv ul,#linkcategorydiv ul{list-style:none;padding:0;margin:0;}#front-page-warning,#front-static-pages ul,ul.export-filters,.inline-editor ul.cat-checklist ul,.categorydiv ul.categorychecklist ul,.customlinkdiv ul.categorychecklist ul,.posttypediv ul.categorychecklist ul,.taxonomydiv ul.categorychecklist ul,#linkcategorydiv ul.categorychecklist ul{margin-left:18px;}ul.categorychecklist li{margin:0;padding:0;line-height:19px;word-wrap:break-word;}.categorydiv .tabs-panel,.customlinkdiv .tabs-panel,.posttypediv .tabs-panel,.taxonomydiv .tabs-panel{border-width:3px;border-style:solid;}ul.category-tabs,ul.add-menu-item-tabs{margin-top:12px;}ul.category-tabs li.tabs,ul.add-menu-item-tabs li.tabs{border-style:solid solid none;border-width:1px 1px 0;}#post-body .category-tabs li.tabs,#post-body .add-menu-item-tabs li.tabs{border-style:solid none solid solid;border-width:1px 0 1px 1px;margin-right:-1px;}ul.category-tabs li,ul.add-menu-item-tabs li{padding:5px;-moz-border-radius:3px 3px 0 0;-webkit-border-top-left-radius:3px;-webkit-border-top-right-radius:3px;-khtml-border-top-left-radius:3px;-khtml-border-top-right-radius:3px;border-top-left-radius:3px;border-top-right-radius:3px;}.form-wrap{margin:10px 0;width:97%;}.form-wrap p,.form-wrap label{font-size:11px;}.form-wrap label{display:block;padding:2px;font-size:12px;}.form-field input,.form-field textarea{border-style:solid;border-width:1px;width:95%;}p.description,.form-wrap p{margin:2px 0 5px;}p.help,p.description,span.description,.form-wrap p{font-size:12px;font-style:italic;font-family:"Lucida Grande",Verdana,Arial,"Bitstream Vera Sans",sans-serif;}.form-wrap .form-field{margin:0 0 10px;padding:8px;}.col-wrap h3{margin:12px 0;font-size:1.1em;}.col-wrap p.submit{margin-top:-10px;}.taghint{color:#aaa;margin:15px 0 -24px 12px;}#poststuff .tagsdiv .howto{margin:0 0 6px 8px;}.ajaxtag .newtag{background:transparent;position:relative;}.tagsdiv .newtag{width:180px;}.tagsdiv .the-tags{display:block;height:60px;margin:0 auto;overflow:auto;width:260px;}#post-body-content .tagsdiv .the-tags{margin:0 5px;}p.popular-tags{-moz-border-radius:8px;-khtml-border-radius:8px;-webkit-border-radius:8px;border-radius:8px;border-width:1px;border-style:solid;line-height:2em;padding:8px 12px 12px;text-align:justify;}p.popular-tags a{padding:0 3px;}.tagcloud{width:97%;margin:0 0 40px;text-align:justify;}.tagcloud h3{margin:2px 0 12px;}.ac_results{padding:0;margin:0;list-style:none;position:absolute;z-index:10000;display:none;border-width:1px;border-style:solid;}.ac_results li{padding:2px 5px;white-space:nowrap;text-align:left;}.ac_over{cursor:pointer;}.ac_match{text-decoration:underline;}#wpbody-content #media-items .describe{border-collapse:collapse;width:100%;border-top-style:solid;border-top-width:1px;clear:both;cursor:default;padding:5px;}#wpbody-content .describe th{vertical-align:top;text-align:left;padding:10px;width:140px;}#wpbody-content .describe .media-item-info tr{background-color:transparent;}#wpbody-content .describe .media-item-info td{padding:4px 10px 0;}.describe .media-item-info .A1B1{padding:0 0 0 10px;}#wpbody-content .filename{padding:0 10px;}#wpbody-content .media-item .thumbnail{max-height:128px;max-width:128px;}#wpbody-content #async-upload-wrap a{display:none;}.media-upload-form td label{margin-right:6px;margin-left:2px;}.media-upload-form .align .field label{display:inline;padding:0 0 0 22px;margin:0 1em 0 0;font-weight:bold;}.media-upload-form tr.image-size label{margin:0 0 0 3px;font-weight:bold;}.media-upload-form th.label label{font-weight:bold;margin:.5em;font-size:13px;}.media-upload-form th.label label span{padding:0 5px;}abbr.required{border:medium none;text-decoration:none;}#wpbody-content .describe input[type="text"],#wpbody-content .describe textarea{width:460px;}#wpbody-content .describe p.help{margin:0;padding:0 0 0 5px;}.media-item .error-div a.dismiss,.describe-toggle-on,.describe-toggle-off{display:block;line-height:36px;float:right;margin-right:20px;}.describe-toggle-off{display:none;}#wpbody-content .media-item{border-bottom-style:solid;border-bottom-width:1px;min-height:36px;position:relative;width:100%;}#wpbody-content .media-single .media-item{border-bottom-style:none;border-bottom-width:0;}#wpbody-content #media-items{border-style:solid solid none;border-width:1px;width:670px;}#wpbody-content #media-items .filename{line-height:36px;overflow:hidden;}.media-item .error-div{padding-left:10px;}.media-item .pinkynail{float:left;margin:2px;max-width:40px;max-height:32px;}.media-item .startopen,.media-item .startclosed{display:none;}.media-item .original{position:relative;height:34px;width:503px;}.media-item .percent{font-weight:bold;}.crunching{display:block;line-height:32px;text-align:right;margin-right:5px;}.progress{position:relative;margin-bottom:-36px;height:36px;}.bar{width:0;height:100%;border-right-width:3px;border-right-style:solid;}.upload-php .fixed .column-parent{width:25%;}.find-box{width:500px;height:300px;overflow:hidden;padding:33px 5px 40px;position:absolute;z-index:1000;}.find-box-head{cursor:move;font-weight:bold;height:2em;line-height:2em;padding:1px 12px;position:absolute;top:5px;width:100%;}.find-box-inside{overflow:auto;width:100%;height:100%;}.find-box-search{padding:12px;border-width:1px;border-style:none none solid;}#find-posts-response{margin:8px 0;padding:0 1px;}#find-posts-response table{width:100%;}#find-posts-response .found-radio{padding:5px 0 0 8px;width:15px;}.find-box-buttons{width:480px;margin:8px;}.find-box-search label{padding-right:6px;}.find-box #resize-se{position:absolute;right:1px;bottom:1px;}#favorite-actions{float:right;margin:11px 12px 0;min-width:130px;position:relative;}#favorite-first{-moz-border-radius:12px;-khtml-border-radius:12px;-webkit-border-radius:12px;border-radius:12px;line-height:15px;padding:3px 30px 4px 12px;border-width:1px;border-style:solid;}#favorite-inside{margin:0;padding:2px 1px;border-width:1px;border-style:solid;position:absolute;z-index:11;display:none;-moz-border-radius:0 0 12px 12px;-webkit-border-bottom-right-radius:12px;-webkit-border-bottom-left-radius:12px;-khtml-border-bottom-right-radius:12px;-khtml-border-bottom-left-radius:12px;border-bottom-right-radius:12px;border-bottom-left-radius:12px;}#favorite-actions a{display:block;text-decoration:none;font-size:11px;}#favorite-inside a{padding:3px 5px 3px 10px;}#favorite-toggle{height:22px;position:absolute;right:0;top:1px;width:28px;}#favorite-actions .slide-down{-moz-border-radius:12px 12px 0 0;-webkit-border-bottom-right-radius:0;-webkit-border-bottom-left-radius:0;-khtml-border-bottom-right-radius:0;-khtml-border-bottom-left-radius:0;border-bottom-right-radius:0;border-bottom-left-radius:0;border-bottom:none;}ul#dismissed-updates{display:none;}form.upgrade{margin-top:8px;}form.upgrade .hint{font-style:italic;font-size:85%;margin:-0.5em 0 2em 0;}#poststuff .inside .the-tagcloud{margin:5px 0 10px;padding:8px;border-width:1px;border-style:solid;line-height:1.8em;word-spacing:3px;-moz-border-radius:6px;-khtml-border-radius:6px;-webkit-border-radius:6px;border-radius:6px;}br.clear{height:2px;line-height:2px;}.swfupload{margin:5px 10px;vertical-align:middle;}.describe .image-editor{vertical-align:top;}.imgedit-wrap{position:relative;}.imgedit-settings p{margin:8px 0;}.describe .imgedit-wrap table td{vertical-align:top;padding-top:0;}.imgedit-wrap p,.describe .imgedit-wrap table td{font-size:11px;line-height:18px;}.describe .imgedit-wrap table td.imgedit-settings{padding:0 5px;}td.imgedit-settings input{vertical-align:middle;}.imgedit-wait{position:absolute;top:0;background:#FFF url(../images/wpspin_light.gif) no-repeat scroll 22px 10px;opacity:.7;filter:alpha(opacity=70);width:100%;height:500px;display:none;}.media-disabled,.imgedit-settings .disabled{color:grey;}.imgedit-wait-spin{padding:0 4px 4px;vertical-align:bottom;visibility:hidden;}.imgedit-menu{margin:0 0 12px;min-width:300px;}.imgedit-menu div{float:left;width:32px;height:32px;-moz-border-radius:4px;-khtml-border-radius:4px;-webkit-border-radius:4px;border-radius:4px;border-width:1px;border-style:solid;}.imgedit-crop-wrap{position:relative;}.imgedit-crop{background:transparent url(../images/imgedit-icons.png) no-repeat scroll -9px -31px;margin:0 8px 0 0;}.imgedit-crop.disabled:hover{background-position:-9px -31px;}.imgedit-crop:hover{background-position:-9px -1px;}.imgedit-rleft{background:transparent url(../images/imgedit-icons.png) no-repeat scroll -46px -31px;margin:0 3px;}.imgedit-rleft.disabled:hover{background-position:-46px -31px;}.imgedit-rleft:hover{background-position:-46px -1px;}.imgedit-rright{background:transparent url(../images/imgedit-icons.png) no-repeat scroll -77px -31px;margin:0 8px 0 3px;}.imgedit-rright.disabled:hover{background-position:-77px -31px;}.imgedit-rright:hover{background-position:-77px -1px;}.imgedit-flipv{background:transparent url(../images/imgedit-icons.png) no-repeat scroll -115px -31px;margin:0 3px;}.imgedit-flipv.disabled:hover{background-position:-115px -31px;}.imgedit-flipv:hover{background-position:-115px -1px;}.imgedit-fliph{background:transparent url(../images/imgedit-icons.png) no-repeat scroll -147px -31px;margin:0 8px 0 3px;}.imgedit-fliph.disabled:hover{background-position:-147px -31px;}.imgedit-fliph:hover{background-position:-147px -1px;}.imgedit-undo{background:transparent url(../images/imgedit-icons.png) no-repeat scroll -184px -31px;margin:0 3px;}.imgedit-undo.disabled:hover{background-position:-184px -31px;}.imgedit-undo:hover{background-position:-184px -1px;}.imgedit-redo{background:transparent url(../images/imgedit-icons.png) no-repeat scroll -215px -31px;margin:0 8px 0 3px;}.imgedit-redo.disabled:hover{background-position:-215px -31px;}.imgedit-redo:hover{background-position:-215px -1px;}.imgedit-applyto img{margin:0 8px 0 0;}.imgedit-group-top{margin:5px 0;}.imgedit-applyto .imgedit-label{padding:2px 0 0;display:block;}.imgedit-help{display:none;font-style:italic;margin-bottom:8px;}.imgedit-help ul li{font-size:11px;}a.imgedit-help-toggle{text-decoration:none;}#wpbody-content .imgedit-response div{width:600px;margin:8px;}.form-table td.imgedit-response{padding:0;}.imgedit-submit{margin:8px 0;}.imgedit-submit-btn{margin-left:20px;}.imgedit-wrap .nowrap{white-space:nowrap;}span.imgedit-scale-warn{color:red;font-size:20px;font-style:normal;visibility:hidden;vertical-align:middle;}.imgedit-group{border-width:1px;border-style:solid;-moz-border-radius:8px;-khtml-border-radius:8px;-webkit-border-radius:8px;border-radius:8px;margin-bottom:8px;padding:2px 10px;}.form-table{border-collapse:collapse;margin-top:.5em;width:100%;margin-bottom:-8px;clear:both;}.form-table td{margin-bottom:9px;padding:8px 10px;line-height:20px;font-size:11px;}.form-table th,.form-wrap label{font-weight:normal;text-shadow:rgba(255,255,255,1) 0 1px 0;}.form-table th{vertical-align:top;text-align:left;padding:10px;width:200px;}.form-table th.th-full{width:auto;}.form-table div.color-option{display:block;clear:both;margin-top:12px;}.form-table input.tog{margin-top:2px;margin-right:2px;float:left;}.form-table td p{margin-top:4px;}.form-table table.color-palette{vertical-align:bottom;float:left;margin:-12px 3px 11px;}.form-table .color-palette td{border-width:1px 1px 0;border-style:solid solid none;height:10px;line-height:20px;width:10px;}.commentlist li{padding:1em 1em .2em;margin:0;border-bottom-width:1px;border-bottom-style:solid;}.commentlist li li{border-bottom:0;padding:0;}.commentlist p{padding:0;margin:0 0 .8em;}#replyrow{font-size:11px;}#replyrow input{border-width:1px;border-style:solid;}#replyrow td{padding:2px;}#replyrow #editorcontainer{border:0 none;}#replysubmit{margin:0;padding:3px 7px;text-align:center;}#replysubmit img.waiting,.inline-edit-save img.waiting{padding:4px 10px 0;vertical-align:top;float:right;}#replysubmit .button{margin-right:5px;}#replysubmit .error{color:red;line-height:21px;text-align:center;vertical-align:center;}#replyrow #editor-toolbar{display:none;}#replyhead{font-size:12px;font-weight:bold;padding:2px 10px 4px;}#edithead .inside{float:left;padding:3px 0 2px 5px;margin:0;text-align:center;font-size:11px;}#edithead .inside input{width:180px;font-size:11px;}#edithead label{padding:2px 0;}#replycontainer{padding:5px;border:0 none;height:120px;overflow:hidden;position:relative;}#replycontent{resize:none;margin:0;width:100%;height:100%;padding:0;line-height:150%;border:0 none;outline:none;font-size:12px;}#replyrow #ed_reply_toolbar{margin:0;padding:2px 3px;}.comment-ays{margin-bottom:0;border-style:solid;border-width:1px;}.comment-ays th{border-right-style:solid;border-right-width:1px;}.trash-undo-inside,.spam-undo-inside{margin:1px 8px 1px 0;line-height:16px;}.spam-undo-inside .avatar,.trash-undo-inside .avatar{height:20px;width:20px;margin-right:8px;vertical-align:middle;}.stuffbox .editcomment{clear:none;}#comment-status-radio p{margin:3px 0 5px;}#comment-status-radio input{margin:2px 3px 5px 0;vertical-align:middle;}#comment-status-radio label{padding:5px 0;}.commentlist .avatar{vertical-align:text-top;}.theme-install-php .tablenav{height:auto;}table#availablethemes{border-spacing:0;border-width:1px 0;border-style:solid none;margin:10px auto;width:100%;}table#availablethemes .no-items td{border-width:0;padding:5px;}td.available-theme{vertical-align:top;width:240px;margin:0;padding:20px;text-align:left;}table#availablethemes td{border-width:0 1px 1px;border-style:none solid solid;}table#availablethemes td.right,table#availablethemes td.left{border-right:0 none;border-left:0 none;}table#availablethemes td.bottom{border-bottom:0 none;}.available-theme a.screenshot{width:240px;height:180px;display:block;border-width:1px;border-style:solid;margin-bottom:10px;overflow:hidden;}.available-theme img{width:240px;}.available-theme h3{margin:15px 0 5px;}#current-theme{margin:1em 0 1.5em;}#current-theme a{border-bottom:none;}#current-theme h3{font-size:17px;font-weight:normal;margin:0;}#current-theme .theme-description{margin-top:5px;}#current-theme img{float:left;border-width:1px;border-style:solid;margin-right:1em;margin-bottom:1.5em;width:150px;}.theme-options span{text-transform:uppercase;font-size:13px;}.theme-options a{font-size:15px;}#TB_window #TB_title a.tb-theme-preview-link,#TB_window #TB_title a.tb-theme-preview-link:visited{font-weight:bold;text-decoration:none;}#TB_window #TB_title{background-color:#222;color:#cfcfcf;}#broken-themes{text-align:left;width:50%;border-spacing:3px;padding:3px;}.theme-install-php h4{margin:2.5em 0 8px;}.appearance_page_custom-header #headimg{border:1px solid #DFDFDF;min-height:100px;width:100%;}.appearance_page_custom-header #upload-form p label{font-size:11px;}.appearance_page_custom-header #available-headers .default-header{float:left;margin:0 20px 20px 0;}.appearance_page_custom-header #available-headers label input{margin-right:10px;}.appearance_page_custom-header #available-headers label img{vertical-align:middle;}div#custom-background-image{min-height:100px;border:1px solid #dfdfdf;}div#custom-background-image img{max-width:400px;max-height:300px;}#custom-background label{padding-right:15px;}.nav-tab{border-style:solid;border-color:#ccc #ccc #f9f9f9;border-width:1px 1px 0;color:#c1c1c1;text-shadow:rgba(255,255,255,1) 0 1px 0;font-size:12px;line-height:16px;display:inline-block;padding:4px 14px 6px;text-decoration:none;margin:0 6px -1px 0;-moz-border-radius:5px 5px 0 0;-webkit-border-top-left-radius:5px;-webkit-border-top-right-radius:5px;-khtml-border-top-left-radius:5px;-khtml-border-top-right-radius:5px;border-top-left-radius:5px;border-top-right-radius:5px;}.nav-tab-active{border-width:1px;color:#464646;}h2.nav-tab-wrapper,h3.nav-tab-wrapper{border-bottom:1px solid #ccc;padding-bottom:0;}h2 .nav-tab{padding:4px 20px 6px;font:italic normal normal 24px/35px Georgia,"Times New Roman","Bitstream Charter",Times,serif;}.plugins .name,#pass-strength-result.strong,#pass-strength-result.short,.button-highlighted,input.button-highlighted,#quicktags #ed_strong,#ed_reply_toolbar #ed_reply_strong{font-weight:bold;}.plugins p{margin:0 4px;padding:0;}.plugins .desc p{margin:0 0 8px;}.plugins td.desc{line-height:1.5em;}.plugins .desc ul,.plugins .desc ol{margin:0 0 0 2em;}.plugins .desc ul{list-style-type:disc;}.plugins .row-actions-visible{padding:0;}.plugins tbody th.check-column{padding:7px 0;}.plugins td,.plugins th{border-bottom:0 none;}.plugins .inactive td,.plugins .inactive th,.plugins .active td,.plugins .active th{border-top-style:solid;border-top-width:1px;padding:5px 7px 0;}#wpbody-content .plugins .plugin-title,#wpbody-content .plugins .theme-title{padding-right:12px;white-space:nowrap;}.plugins .second,.plugins .row-actions-visible{padding:0 0 5px;}.plugins-php .widefat tfoot th,.plugins-php .widefat tfoot td{border-top-style:solid;border-top-width:1px;}.plugin-update-tr .update-message{margin:5px;padding:3px 5px;border-width:1px;border-style:solid;-moz-border-radius:5px;-khtml-border-radius:5px;-webkit-border-radius:5px;border-radius:5px;}.plugin-install-php h4{margin:2.5em 0 8px;}#profile-page .form-table textarea{width:500px;margin-bottom:6px;}#profile-page .form-table #rich_editing{margin-right:5px;}#your-profile legend{font-family:Georgia,"Times New Roman","Bitstream Charter",Times,serif;font-size:22px;}#your-profile #rich_editing{border:none;}#display_name{width:15em;}#createuser .form-field input{width:25em;}#utc-time,#local-time{padding-left:25px;font-style:italic;font-family:"Lucida Grande",Verdana,Arial,"Bitstream Vera Sans",sans-serif;}.defaultavatarpicker .avatar{margin:2px 0;vertical-align:middle;}#footer{margin-top:-46px;border-top:1px;border-style:solid;}#footer,#footer a{font-size:12px;font-family:Georgia,"Times New Roman","Bitstream Charter",Times,serif;font-style:italic;}#footer p{margin:0;padding:15px;line-height:15px;}#footer a{text-decoration:none;}#footer a:hover{text-decoration:underline;}#excerpt,.attachmentlinks{margin:0;height:4em;width:98%;}#template div{margin-right:190px;}p.pagenav{margin:0;display:inline;}.pagenav span{font-weight:bold;margin:0 6px;}.row-title{font-size:12px!important;font-weight:bold;}.column-author img,.column-username img{float:left;margin-right:10px;margin-top:3px;}.row-actions{visibility:hidden;padding:2px 0 0;}tr:hover .row-actions,div.comment-item:hover .row-actions{visibility:visible;}.row-actions-visible{padding:2px 0 0;}.form-table .pre{padding:8px;margin:0;}table.form-table td .updated{font-size:13px;}.tagchecklist{margin-left:14px;font-size:12px;overflow:auto;}.tagchecklist strong{margin-left:-8px;position:absolute;}.tagchecklist span{margin-right:25px;display:block;float:left;font-size:11px;line-height:1.8em;white-space:nowrap;cursor:default;}.tagchecklist span a{margin:6px 0 0 -9px;cursor:pointer;width:10px;height:10px;display:block;float:left;text-indent:-9999px;overflow:hidden;position:absolute;}#poststuff h2{margin-top:20px;font-size:1.5em;margin-bottom:15px;padding:0 0 3px;clear:left;}#poststuff h3,.metabox-holder h3{font-size:12px;font-weight:bold;padding:7px 9px;margin:0;line-height:1;}#poststuff .inside,#poststuff .inside p{font-size:11px;margin:6px 6px 8px;}#poststuff .inside .submitbox p{margin:1em 0;}#post-visibility-select,#post-formats-select{line-height:1.5em;margin-top:3px;}#poststuff #submitdiv .inside{margin:0;}#titlediv,#poststuff .postarea{margin-bottom:20px;}td.post-title strong,td.plugin-title strong{display:block;margin-bottom:.2em;}td.post-title p,td.plugin-title p{margin:6px 0;}.wp-hidden-children .wp-hidden-child,.ui-tabs-hide{display:none;}#templateside ul li a{text-decoration:none;}.tool-box{margin:15px 0 35px;}.tool-box .buttons{margin:15px 0;}.tool-box .title{margin:8px 0;font:18px/24px Georgia,"Times New Roman","Bitstream Charter",Times,serif;}.pressthis a{font-size:1.2em;}#sidemenu{margin:-30px 15px 0 315px;list-style:none;position:relative;float:right;padding-left:10px;font-size:12px;}#sidemenu a{padding:0 7px;display:block;float:left;line-height:28px;border-top-width:1px;border-top-style:solid;border-bottom-width:1px;border-bottom-style:solid;}#sidemenu li{display:inline;line-height:200%;list-style:none;text-align:center;white-space:nowrap;margin:0;padding:0;}#sidemenu a.current{font-weight:normal;padding-left:6px;padding-right:6px;-moz-border-radius:4px 4px 0 0;-webkit-border-top-left-radius:4px;-webkit-border-top-right-radius:4px;-khtml-border-top-left-radius:4px;-khtml-border-top-right-radius:4px;border-top-left-radius:4px;border-top-right-radius:4px;border-width:1px;border-style:solid;}#sidemenu li a .count-0{display:none;}#poststuff .inside .the-tagcloud{margin:5px 0 10px;padding:8px;border-width:1px;border-style:solid;line-height:1.8em;word-spacing:3px;-moz-border-radius:6px;-khtml-border-radius:6px;-webkit-border-radius:6px;border-radius:6px;}.plugin-install #description,.plugin-install-network #description{width:60%;}table .vers,table .column-visible,table .column-rating{text-align:left;}body.iframe{height:98%;}.anchors{margin:10px 20px 10px 20px;}div.nav{height:2em;padding:7px 10px;vertical-align:text-top;margin:5px 0;}.nav .button-secondary{padding:2px 4px;}* html #themeselect{padding:0 3px;height:22px;}.settings-toggle{text-align:right;margin:5px 7px 15px 0;font-size:12px;}.settings-toggle h3{margin:0;}form#tags-filter{position:relative;}td.media-icon{text-align:center;width:80px;padding-top:8px;padding-bottom:8px;}td.media-icon img{max-width:80px;max-height:60px;}.screen-per-page{width:3em;}* html #template div{margin-right:0;}.list-ajax-loading{float:right;margin-right:9px;margin-top:-1px;}.tablenav .list-ajax-loading{margin-top:7px;}#howto{font-size:11px;margin:0 5px;display:block;}.import-system{font-size:16px;}#namediv table{width:100%;}#namediv td.first{width:10px;white-space:nowrap;}#namediv input{width:98%;}#namediv p{margin:10px 0;}#submitdiv h3{margin-bottom:0!important;}.zerosize{height:0;width:0;margin:0;border:0;padding:0;overflow:hidden;position:absolute;}br.clear{height:2px;line-height:2px;}.checkbox{border:none;margin:0;padding:0;}#content{margin:0;width:100%;}fieldset{border:0;padding:0;margin:0;}#linksubmitdiv div.inside,div.inside{padding:0;margin:0;}.post-categories{display:inline;margin:0;padding:0;}.post-categories li{display:inline;} \ No newline at end of file +p,ul,ol,blockquote,input,select{font-size:12px;}ol{list-style-type:decimal;margin-left:2em;}.code,code{font-family:Consolas,Monaco,monospace;}kbd,code{padding:1px 3px;margin:0 1px;font-size:11px;}.quicktags,.search{font:12px Georgia,"Times New Roman","Bitstream Charter",Times,serif;}.icon32{float:left;height:34px;margin:7px 8px 0 0;width:36px;}.key-labels label{line-height:24px;}.pre{white-space:pre-wrap;white-space:-moz-pre-wrap!important;white-space:-pre-wrap;white-space:-o-pre-wrap;word-wrap:break-word;}.howto{font-style:italic;display:block;font-family:sans-serif;}p.install-help{margin:8px 0;font-style:italic;}textarea,input[type="text"],input[type="password"],input[type="file"],input[type="button"],input[type="submit"],input[type="reset"],select{border-width:1px;border-style:solid;-moz-border-radius:3px;-khtml-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;}select option{padding:2px;}.submit{padding:1.5em 0;margin:5px 0;-moz-border-radius:0 0 3px 3px;-webkit-border-bottom-left-radius:3px;-webkit-border-bottom-right-radius:3px;-khtml-border-bottom-left-radius:3px;-khtml-border-bottom-right-radius:3px;border-bottom-left-radius:3px;border-bottom-right-radius:3px;}form p.submit a.cancel:hover{text-decoration:none;}.submit input,.button,input.button,.button-primary,input.button-primary,.button-secondary,input.button-secondary,.button-highlighted,input.button-highlighted,#postcustomstuff .submit input{text-decoration:none;font-size:12px!important;line-height:13px;padding:3px 8px;cursor:pointer;border-width:1px;border-style:solid;-moz-border-radius:11px;-khtml-border-radius:11px;-webkit-border-radius:11px;border-radius:11px;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;-khtml-box-sizing:content-box;box-sizing:content-box;}#minor-publishing-actions input,#major-publishing-actions input,#minor-publishing-actions .preview{min-width:80px;text-align:center;}textarea.all-options,input.all-options{width:250px;}input.large-text,textarea.large-text{width:99%;}input.regular-text,#adduser .form-field input{width:25em;}input.small-text{width:50px;}#doaction,#doaction2,#post-query-submit{margin-right:8px;}.tablenav select[name="action"],.tablenav select[name="action2"]{width:130px;}.tablenav select[name="m"]{width:155px;}.tablenav select#cat{width:170px;}#wpcontent select{padding:2px;height:2em;font-size:12px;}#wpcontent option{padding:2px;}#timezone_string option{margin-left:1em;}label,#your-profile label+a{vertical-align:middle;}#misc-publishing-actions label{vertical-align:baseline;}#pass-strength-result{border-style:solid;border-width:1px;float:left;margin:13px 5px 5px 1px;padding:3px 5px;text-align:center;width:200px;display:none;}.indicator-hint{padding-top:8px;}p.search-box{float:right;margin:0;}#major-publishing-actions{padding:10px 10px 8px;clear:both;border-top:none;}#delete-action{line-height:25px;vertical-align:middle;text-align:left;float:left;}#publishing-action{text-align:right;float:right;line-height:23px;}#post-body #minor-publishing{padding-bottom:10px;}#post-body #misc-publishing-actions{padding:0;}#post-body .misc-pub-section{border-right-width:1px;border-right-style:solid;border-bottom:0 none;min-height:30px;float:left;max-width:32%;}#post-body .misc-pub-section-last{border-right:0;}#misc-publishing-actions{padding:6px 0 16px 0;}.misc-pub-section{padding:6px 10px;border-width:1px 0;border-style:solid;}.misc-pub-section:first-child{border-top-width:0;}.misc-pub-section-last{border-bottom-width:0;}#minor-publishing-actions{padding:10px 10px 2px 8px;text-align:right;}#minor-publishing{border-bottom-width:1px;border-bottom-style:solid;-webkit-box-shadow:0 1px 0 #fff;-moz-box-shadow:0 1px 0 #fff;box-shadow:0 1px 0 #fff;}#save-post{float:left;}#minor-publishing .ajax-loading{padding:3px 0 0 4px;float:left;}.preview{float:right;}#sticky-span{margin-left:18px;}#post-status-display,#post-visibility-display{font-weight:bold;}.side-info{margin:0;padding:4px;font-size:11px;}.side-info h5{padding-bottom:7px;font-size:14px;margin:12px 2px 5px;border-bottom-width:1px;border-bottom-style:solid;}.side-info ul{margin:0;padding-left:18px;list-style:square;}a.button,a.button-primary,a.button-secondary{line-height:15px;padding:3px 10px;white-space:nowrap;-webkit-border-radius:10px;}.approve{display:none;}.unapproved .approve,.spam .approve,.trash .approve{display:inline;}.unapproved .unapprove{display:none;}td.action-links,th.action-links{text-align:right;}.describe .del-link{padding-left:5px;}#update-nag,.update-nag{line-height:19px;padding:5px 0;font-size:12px;text-align:center;margin:0 15px;border-width:1px;border-style:solid;border-top-width:0;border-top-style:none;-moz-border-radius:0 0 3px 3px;-webkit-border-bottom-right-radius:3px;-webkit-border-bottom-left-radius:3px;-khtml-border-bottom-right-radius:3px;-khtml-border-bottom-left-radius:3px;border-bottom-right-radius:3px;border-bottom-left-radius:3px;}.plugins .plugin-update{padding:0;}.plugin-update .update-message{margin:0 10px 8px 31px;font-weight:bold;}ul#dismissed-updates{display:none;}form.upgrade{margin-top:8px;}form.upgrade .hint{font-style:italic;font-size:85%;margin:-0.5em 0 2em 0;}.ajax-feedback{visibility:hidden;vertical-align:bottom;}#ajax-response.alignleft{margin-left:2em;}#editorcontainer #content{font-family:Consolas,Monaco,monospace;padding:6px;line-height:150%;border:0 none;outline:none;resize:vertical;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;-khtml-box-sizing:border-box;box-sizing:border-box;}#editorcontainer,#quicktags{border-style:solid;border-width:1px;border-collapse:separate;-moz-border-radius:3px 3px 0 0;-webkit-border-top-right-radius:3px;-webkit-border-top-left-radius:3px;-khtml-border-top-right-radius:3px;-khtml-border-top-left-radius:3px;border-top-right-radius:3px;border-top-left-radius:3px;}#quicktags{padding:0;margin-bottom:-3px;border-bottom-width:3px;background-image:url("../images/ed-bg.gif");background-position:left top;background-repeat:repeat-x;}#quicktags #ed_toolbar{padding:2px 4px 0;}#ed_toolbar input,#ed_reply_toolbar input{margin:3px 1px 4px;line-height:18px;display:inline-block;min-width:26px;padding:2px 4px;font-size:12px;}#ed_reply_toolbar input{margin:1px 2px 1px 1px;}#quicktags #ed_link,#ed_reply_toolbar #ed_reply_link{text-decoration:underline;}#quicktags #ed_del,#ed_reply_toolbar #ed_reply_del{text-decoration:line-through;}#quicktags #ed_em,#ed_reply_toolbar #ed_reply_em{font-style:italic;}#wp_editbtns,#wp_gallerybtns{padding:2px;position:absolute;display:none;z-index:999998;}#wp_editimgbtn,#wp_delimgbtn,#wp_editgallery,#wp_delgallery{margin:2px;padding:2px;border-width:1px;border-style:solid;-moz-border-radius:3px;-khtml-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;}.fullscreen-overlay{z-index:149999;display:none;position:fixed;top:0;bottom:0;left:0;right:0;filter:inherit;}.fullscreen-active .fullscreen-overlay,.fullscreen-active #wp-fullscreen-body{display:block;}.fullscreen-fader{z-index:200000;}.fullscreen-active .fullscreen-fader{display:none;}#wp-fullscreen-body{width:100%;z-index:150005;display:none;position:absolute;top:0;left:0;}#wp-fullscreen-wrap{margin:0 auto 50px;position:relative;padding-top:60px;}#wp-fullscreen-title{font-size:1.7em;line-height:100%;outline:medium none;padding:6px 7px;width:100%;margin-bottom:30px;}#wp-fullscreen-container{padding:4px 10px 50px;}#wp-fullscreen-title,#wp-fullscreen-container{-moz-border-radius:0;-khtml-border-radius:0;-webkit-border-radius:0;border-radius:0;border:1px dashed transparent;background:transparent;-moz-transition-property:border-color;-moz-transition-duration:.6s;-webkit-transition-property:border-color;-webkit-transition-duration:.6s;-o-transition-property:border-color;-o-transition-duration:.6s;transition-property:border-color;transition-duration:.6s;}#wp_mce_fullscreen{width:100%;min-height:300px;border:0;background:transparent;font-family:Consolas,Monaco,monospace;line-height:1.6em;padding:0;overflow-y:hidden;outline:none;resize:none;}#wp-fullscreen-tagline{color:#BBB;font-size:18px;float:right;padding-top:5px;}#fullscreen-topbar{position:fixed;top:0;left:0;z-index:150050;border-bottom-style:solid;border-bottom-width:1px;min-width:800px;width:100%;height:40px;}#wp-fullscreen-toolbar{padding:6px 10px 0;clear:both;max-width:1100px;min-width:820px;margin:0 auto;}#wp-fullscreen-mode-bar,#wp-fullscreen-button-bar,#wp-fullscreen-close,#wp-fullscreen-count{float:left;}#wp-fullscreen-save{float:right;}#wp-fullscreen-save{padding:2px 2px 0 5px;}#wp-fullscreen-count,#wp-fullscreen-close{padding-top:5px;}#wp-fullscreen-central-toolbar{margin:auto;padding:0;}#wp-fullscreen-buttons>div{float:left;}#wp-fullscreen-mode-bar{padding:1px 14px 0 0;}#wp-fullscreen-modes a{display:block;font-size:11px;text-decoration:none;float:left;margin:1px 0 0 0;padding:2px 6px 2px;border-width:1px 1px 1px 0;border-style:solid;border-color:#bbb;color:#777;text-shadow:0 1px 0 #fff;background-color:#f4f4f4;background-image:-moz-linear-gradient(bottom,#e4e4e4,#f9f9f9);background-image:-webkit-gradient(linear,left bottom,left top,from(#e4e4e4),to(#f9f9f9));}#wp-fullscreen-modes a:hover,.wp-html-mode #wp-fullscreen-modes a:last-child,.wp-tmce-mode #wp-fullscreen-modes a:first-child{color:#333;border-color:#999;background-color:#eee;background-image:-moz-linear-gradient(bottom,#f9f9f9,#e0e0e0);background-image:-webkit-gradient(linear,left bottom,left top,from(#f9f9f9),to(#e0e0e0));}#wp-fullscreen-modes a:first-child{border-width:1px;-moz-border-radius:3px 0 0 3px;-webkit-border-top-left-radius:3px;-webkit-border-bottom-left-radius:3px;-khtml-border-top-left-radius:3px;-khtml-border-bottom-left-radius:3px;border-top-left-radius:3px;border-bottom-left-radius:3px;}#wp-fullscreen-modes a:last-child{-moz-border-radius:0 3px 3px 0;-webkit-border-top-right-radius:3px;-webkit-border-bottom-right-radius:3px;-khtml-border-top-right-radius:3px;-khtml-border-bottom-right-radius:3px;border-top-right-radius:3px;border-bottom-right-radius:3px;}#wp-fullscreen-buttons .active a{background:inherit;}#wp-fullscreen-buttons .hidden{display:none;}#wp-fullscreen-buttons .disabled{opacity:.5;}.wp-html-mode #wp-fullscreen-buttons div{display:none;}.wp-html-mode #wp-fullscreen-buttons div.wp-fullscreen-both{display:block;}#fullscreen-topbar.fullscreen-make-sticky{display:block!important;}#wp-fullscreen-save img{vertical-align:middle;}#wp-fullscreen-save img,#wp-fullscreen-save span{padding-right:4px;display:none;}#wp-fullscreen-buttons .mce_image .mce_image{background-image:url("../images/menu.png?ver=20100531");background-position:-124px -38px;}#wp-fullscreen-buttons .mce_image .mce_image:hover{background-position:-124px -6px;}.fullscreen-active #TB_overlay{z-index:150100;}.fullscreen-active #TB_window{z-index:150102;}#wp_mce_fullscreen_ifr{background:transparent;}#wp_mce_fullscreen_parent #wp_mce_fullscreen_tbl tr.mceFirst{display:none;}#wp-fullscreen-container .wp_themeSkin table td{vertical-align:top;}#wphead-info{margin:0 0 0 15px;}#user_info{float:right;font-size:12px;line-height:26px;height:25px;position:relative;z-index:49;border-style:solid;border-width:0;margin-top:3px;padding:0 2px 0 6px;}#user_info.active{border-width:1px;margin-right:-1px;margin-top:2px;-moz-border-radius:3px 3px 0 0;-webkit-border-top-right-radius:3px;-webkit-border-top-left-radius:3px;-khtml-border-top-right-radius:3px;-khtml-border-top-left-radius:3px;border-top-right-radius:3px;border-top-left-radius:3px;}#user_info p{margin:0;padding:0;line-height:25px;cursor:pointer;}#user_info .hide-if-no-js p{margin:0 20px 0 0;}#user_info:hover .hide-if-no-js p{text-decoration:underline;}#user_info.active .hide-if-no-js p{text-decoration:none;}#user_info_arrow{height:22px;width:22px;position:absolute;right:3px;top:0;cursor:pointer;}#user_info_links_wrap{min-width:100px;width:100%;position:absolute;top:25px;right:0;padding:0;text-shadow:rgba(255,255,255,0.7) 0 1px 0;}#user_info_links{position:absolute;left:-1px;right:-1px;overflow:hidden;}#user_info.active #user_info_links ul{margin-top:0;-moz-transition:margin-top 200ms;-webkit-transition:margin-top 200ms;-o-transition:margin-top 200ms;transition:margin-top 200ms;}#user_info_links ul{border-width:1px;border-style:solid;margin-top:-1000px;-moz-transition:margin-top 500ms ease-in;-webkit-transition:margin-top 500ms ease-in;-o-transition:margin-top 500ms ease-in;transition:margin-top 500ms ease-in;}#user_info_links,#user_info_links ul,#user_info_links li:last-child{-moz-border-radius:0 0 3px 3px;-webkit-border-bottom-right-radius:3px;-webkit-border-bottom-left-radius:3px;-khtml-border-bottom-right-radius:3px;-khtml-border-bottom-left-radius:3px;border-bottom-right-radius:3px;border-bottom-left-radius:3px;}#user_info_links li{display:block;margin:0;}#user_info_links a{display:block;padding:6px 8px;}#wphead{height:32px;margin-right:20px;margin-left:2px;}#wphead a,#adminmenu a,#sidemenu a,#taglist a,#catlist a,#show-settings a{text-decoration:none;}#header-logo{float:left;margin:7px 0;-webkit-user-select:none;-moz-user-select:none;-khtml-user-select:none;user-select:none;}#wphead h1{font:normal 16px Georgia,"Times New Roman","Bitstream Charter",Times,serif;padding:6px 8px 5px;margin:0;float:left;}#wphead h1 a:hover{text-decoration:none;}#wphead h1 a:hover #site-title{text-decoration:underline;}#favorite-actions{margin:0 12px 0 15px;min-width:130px;position:relative;display:inline-block;top:-1px;}#favorite-first{-moz-border-radius:12px;-khtml-border-radius:12px;-webkit-border-radius:12px;border-radius:12px;line-height:15px;padding:0 30px 0 0;border-width:1px;border-style:solid;}#favorite-inside{margin:0;padding:2px 1px;border-width:1px;border-style:solid;position:absolute;z-index:11;display:none;-moz-border-radius:0 0 12px 12px;-webkit-border-bottom-right-radius:12px;-webkit-border-bottom-left-radius:12px;-khtml-border-bottom-right-radius:12px;-khtml-border-bottom-left-radius:12px;border-bottom-right-radius:12px;border-bottom-left-radius:12px;}#favorite-first a{padding:2px 0 2px 12px;}#favorite-actions a{display:block;text-decoration:none;font-size:11px;}#favorite-inside a{padding:3px 5px 3px 10px;line-height:20px;}#favorite-toggle{height:18px;position:absolute;right:0;top:1px;width:28px;border-width:0 0 0 1px;border-style:solid;}#favorite-actions .slide-down{-moz-border-radius:12px 12px 0 0;-webkit-border-bottom-right-radius:0;-webkit-border-bottom-left-radius:0;-khtml-border-bottom-right-radius:0;-khtml-border-bottom-left-radius:0;border-bottom-right-radius:0;border-bottom-left-radius:0;border-bottom:none;}#screen-meta{position:relative;clear:both;}#screen-meta-links{margin:0 24px 0 0;}#screen-meta .screen-reader-text{visibility:hidden;}#screen-options-link-wrap,#contextual-help-link-wrap{float:right;height:22px;padding:0;margin:0 0 0 6px;font-family:sans-serif;-moz-border-radius-bottomleft:3px;-moz-border-radius-bottomright:3px;-webkit-border-bottom-left-radius:3px;-webkit-border-bottom-right-radius:3px;border-bottom-left-radius:3px;border-bottom-right-radius:3px;}#contextual-help-wrap li{list-style-type:disc;margin-left:18px;}.toggle-arrow{background-repeat:no-repeat;background-position:top left;background-color:transparent;height:22px;line-height:22px;display:block;}.toggle-arrow-active{background-position:bottom left;}#screen-meta a.show-settings{text-decoration:none;z-index:1;padding:0 16px 0 6px;height:22px;line-height:22px;font-size:12px;display:block;text-shadow:rgba(255,255,255,0.7) 0 1px 0;}#screen-meta a.show-settings:hover{text-decoration:none;}#screen-options-wrap h5,#contextual-help-wrap h5{margin:8px 0;font-size:13px;}#screen-options-wrap,#contextual-help-wrap{border-style:none solid solid;border-top:0 none;border-width:0 1px 1px;margin:0 20px 0 0;padding:8px 12px 12px;}.metabox-prefs label{display:inline-block;padding-right:15px;white-space:nowrap;line-height:30px;}.metabox-prefs label input{margin:0 5px 0 2px;}.metabox-prefs label a{display:none;}#adminmenuback,#adminmenuwrap{border-width:0 1px 0 0;border-style:solid;}#adminmenuwrap{position:relative;}#adminmenushadow{position:absolute;top:0;right:0;bottom:0;width:6px;z-index:20;}#adminmenu *{-webkit-user-select:none;-moz-user-select:none;-khtml-user-select:none;user-select:none;}#adminmenu .wp-submenu{display:none;list-style:none;padding:0;margin:0;position:relative;z-index:2;}#adminmenu .wp-submenu a{font-size:12px;line-height:18px;}#adminmenu .wp-submenu li.current,#adminmenu .wp-submenu li.current a,#adminmenu .wp-submenu li.current a:hover{font-weight:bold;}#adminmenu a.menu-top,#adminmenu .wp-submenu-head{font-size:13px;line-height:18px;}#adminmenu div.wp-submenu-head{display:none;}.js.folded #adminmenu div.wp-submenu-head{display:block;}.js.folded #adminmenu a.menu-top,body.no-js #adminmenu .wp-menu-toggle,.js.folded #adminmenu div.wp-menu-toggle{display:none;}body.js #adminmenu li.wp-menu-open .wp-submenu,body.no-js #adminmenu .open-if-no-js .wp-submenu,body.no-js #adminmenu li.wp-has-current-submenu .wp-submenu{display:block;}#adminmenu div.wp-menu-image{float:left;width:28px;height:28px;}.js.folded #adminmenu div.wp-menu-image{width:32px;}#adminmenu li{margin:0;padding:0;cursor:pointer;}#adminmenu a{display:block;line-height:18px;padding:2px 5px;}#adminmenu li.menu-top{min-height:26px;position:relative;}#adminmenu a.menu-top{font-weight:bold;line-height:18px;min-width:10em;padding:5px 5px;border-width:1px 0 1px;border-style:solid;}#adminmenu li.wp-menu-open{border-width:0 0 1px;border-style:solid;}#adminmenu .wp-submenu a{margin:0;padding-left:12px;}.wp-menu-arrow{display:none;}#adminmenu li.wp-has-current-submenu .wp-menu-arrow,#adminmenu li.menu-top.current .wp-menu-arrow{display:block;position:absolute;right:-9px;top:0;cursor:auto;z-index:25;}#adminmenu .wp-menu-arrow div{width:15px;height:30px;background:url(../images/menu-arrow-frame.png) top right no-repeat;}#adminmenu .wp-submenu li{padding:0;margin:0;}.js.folded #adminmenu li.menu-top{width:32px;height:29px;border-width:1px 0;border-style:solid;}#adminmenu .wp-menu-image img{float:left;padding:8px 6px 0;opacity:.6;filter:alpha(opacity=60);}#adminmenu li.menu-top:hover .wp-menu-image img,#adminmenu li.wp-has-current-submenu .wp-menu-image img{opacity:1;filter:alpha(opacity=100);}#adminmenu li.wp-menu-separator{height:3px;padding:0;margin:0;border-width:1px 0;border-style:solid;cursor:inherit;}#adminmenu div.separator{height:1px;padding:0;border-width:1px 0 0 0;border-style:solid;}.js.folded #adminmenu .wp-submenu{display:block;position:absolute;top:-5px;left:26px;z-index:999;width:0;padding:0;overflow:hidden;-moz-transition:width 200ms ease-out;-webkit-transition:width 200ms ease-out;-o-transition:width 200ms ease-out;transition:width 200ms ease-out;}.js.folded #adminmenu .wp-submenu.sub-open{padding:0 8px 8px 0;}#adminmenu .wp-submenu .wp-submenu-head{padding:6px 4px 5px 10px;cursor:default;border-width:1px 0;border-style:solid;}.js.folded #adminmenu .wp-submenu-wrap{margin-top:4px;border-width:0 1px 1px 0;border-style:solid;position:relative;-webkit-border-bottom-right-radius:3px;-webkit-border-top-right-radius:3px;-khtml-border-bottom-right-radius:3px;-khtml-border-top-right-radius:3px;-moz-border-radius-bottomright:3px;-moz-border-radius-topright:3px;border-bottom-right-radius:3px;border-top-right-radius:3px;}.js.folded #adminmenu .wp-submenu ul{border-width:0 0 0 1px;border-style:solid;}.js.folded #adminmenu .wp-submenu a{padding-left:10px;}.js.folded #adminmenu a.wp-has-submenu{margin-left:40px;}#adminmenu .wp-menu-toggle{width:18px;clear:right;float:right;margin:1px 0 0;height:27px;padding:1px 2px 0 0;cursor:pointer;}#adminmenu .wp-menu-image a{height:24px;}#adminmenu .wp-menu-image img{padding:6px 0 0 1px;}#adminmenu .awaiting-mod,#adminmenu span.update-plugins,#sidemenu li a span.update-plugins{position:absolute;font-family:sans-serif;font-size:9px;line-height:17px;font-weight:bold;margin-top:1px;margin-left:7px;-moz-border-radius:10px;-khtml-border-radius:10px;-webkit-border-radius:10px;border-radius:10px;}#adminmenu li .awaiting-mod span,#adminmenu li span.update-plugins span,#sidemenu li a span.update-plugins span{display:block;padding:0 6px;}#adminmenu li span.count-0,#sidemenu li a .count-0{display:none;}.post-com-count-wrapper{min-width:22px;font-family:sans-serif;}.post-com-count{height:1.3em;line-height:1.1em;display:block;text-decoration:none;padding:0 0 6px;cursor:pointer;background-position:center -80px;background-repeat:no-repeat;}.post-com-count span{font-size:11px;font-weight:bold;height:1.4em;line-height:1.4em;min-width:.7em;padding:0 6px;display:inline-block;cursor:pointer;-moz-border-radius:5px;-khtml-border-radius:5px;-webkit-border-radius:5px;border-radius:5px;}strong .post-com-count{background-position:center -55px;}.post-com-count:hover{background-position:center -3px;}.column-response .post-com-count{float:left;margin-right:5px;text-align:center;}.response-links{float:left;}#the-comment-list .attachment-80x60{padding:4px 8px;}#collapse-menu{font-size:12px;line-height:34px;}.js.folded #collapse-menu span{display:none;}#collapse-button,#collapse-button div{width:15px;height:15px;}#collapse-button{float:left;margin:8px 6px;border-width:1px;border-style:solid;-moz-border-radius:10px;-khtml-border-radius:10px;-webkit-border-radius:10px;border-radius:10px;}body.wp-admin{min-width:785px;}body.admin-bar #wphead,body.admin-bar #adminmenu{padding-top:28px;}.narrow{width:70%;margin-bottom:40px;}.narrow p{line-height:150%;}.widefat th,.widefat td{overflow:hidden;}.widefat th{font-family:Georgia,"Times New Roman","Bitstream Charter",Times,serif;font-weight:normal;}.widefat td p{margin:2px 0 .8em;}.widefat .column-comment p{margin:.6em 0;}.postbox-container{float:left;padding-right:.5%;}.postbox-container .meta-box-sortables{min-height:300px;}.postbox .hndle{cursor:move;}.hndle a{font-size:11px;font-weight:normal;}.postbox .handlediv{float:right;width:27px;height:30px;cursor:pointer;}.sortable-placeholder{border-width:1px;border-style:dashed;margin-bottom:20px;}.widget,.postbox,.stuffbox{margin-bottom:20px;padding:0;border-width:1px;border-style:solid;line-height:1;}.widget .widget-top,.postbox h3,.stuffbox h3{margin-top:1px;border-bottom-width:1px;border-style:solid;cursor:move;-webkit-user-select:none;-moz-user-select:none;-khtml-user-select:none;user-select:none;}.postbox .inside,.stuffbox .inside{padding:0 10px;}.postbox.closed h3{border:none;-moz-box-shadow:none;-webkit-box-shadow:none;box-shadow:none;}.postbox table.form-table{margin-bottom:0;}.postbox input[type="text"],.postbox textarea,.stuffbox input[type="text"],.stuffbox textarea{border-width:1px;border-style:solid;}.temp-border{border:1px dotted #ccc;}.columns-prefs label{padding:0 5px;}#wpbody-content .metabox-holder{padding-top:10px;}#dashboard-widgets .meta-box-sortables{margin:0 5px;}#dashboard_recent_comments div.undo{border-top-style:solid;border-top-width:1px;margin:0 -10px;padding:3px 8px;font-size:11px;}#the-comment-list td.comment p.comment-author{margin-top:0;margin-left:0;}#the-comment-list p.comment-author img{float:left;margin-right:8px;}#the-comment-list p.comment-author strong a{border:none;}#the-comment-list td{vertical-align:top;}#the-comment-list td.comment{word-wrap:break-word;}table.fixed{table-layout:fixed;}.fixed .column-rating,.fixed .column-visible{width:8%;}.fixed .column-date,.fixed .column-parent,.fixed .column-links{width:10%;}.fixed .column-response,.fixed .column-author,.fixed .column-categories,.fixed .column-tags,.fixed .column-rel,.fixed .column-role{width:15%;}.fixed .column-comments{width:4em;padding:8px 0;text-align:left;}.fixed .column-comments .vers{padding-left:3px;}.fixed .column-comments a{float:left;}.fixed .column-slug{width:25%;}.fixed .column-posts{width:10%;}.fixed .column-icon{width:80px;}#commentsdiv .fixed .column-author,#comments-form .fixed .column-author{width:20%;}#commentsdiv.postbox .inside{line-height:1.4em;margin:0;padding:0;}#commentsdiv.postbox .inside .row-actions{line-height:18px;}#commentsdiv.postbox .inside td{padding:1em 10px;}#commentsdiv.postbox .inside .column-author{width:33%;}#commentsdiv.postbox .inside p{margin:6px 10px 8px;}#commentsdiv.postbox .column-comment p{margin:.6em 0;}#commentsdiv.postbox #replyrow td{padding:0;}.sorting-indicator{display:none;width:7px;height:4px;margin-top:8px;margin-left:7px;background-image:url(../images/sort.gif);background-repeat:no-repeat;}.fixed .column-comments .sorting-indicator{margin-top:3px;}.widefat th.sortable,.widefat th.sorted{padding:0;}th.sortable a,th.sorted a{display:block;overflow:hidden;padding:7px 7px 8px;}.fixed .column-comments.sortable a,.fixed .column-comments.sorted a{padding:8px 0;}th.sortable a span,th.sorted a span{float:left;cursor:pointer;}th.sorted.asc .sorting-indicator,th.desc:hover span.sorting-indicator{display:block;background-position:0 0;}th.sorted.desc .sorting-indicator,th.asc:hover span.sorting-indicator{display:block;background-position:-7px 0;}.tablenav-pages a{border-bottom-style:solid;border-bottom-width:2px;font-weight:bold;margin-right:1px;padding:0 2px;}.tablenav-pages .current-page{text-align:center;}.tablenav-pages .next-page{margin-left:2px;}.tablenav a.button-secondary{display:block;margin:3px 8px 0 0;}.tablenav{clear:both;height:30px;margin:6px 0 4px;vertical-align:middle;}.tablenav .tablenav-pages{float:right;display:block;cursor:default;height:30px;line-height:30px;font-size:12px;}.tablenav .no-pages,.tablenav .one-page .pagination-links{display:none;}.tablenav .tablenav-pages a,.tablenav-pages span.current{text-decoration:none;border:none;padding:3px 6px;border-width:1px;border-style:solid;-moz-border-radius:3px;-khtml-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;}.tablenav .tablenav-pages a.disabled:hover{cursor:default;}.tablenav .tablenav-pages a.disabled:active{cursor:default;}.tablenav .displaying-num{margin-right:10px;font-size:12px;font-family:Georgia,"Times New Roman","Bitstream Charter",Times,serif;font-style:italic;}.tablenav .actions{padding:2px 8px 0 0;}.tablenav .delete{margin-right:20px;}.view-switch{float:right;margin:6px 8px 0;}.view-switch a{text-decoration:none;}.filter{float:left;margin:-5px 0 0 10px;}.filter .subsubsub{margin-left:-10px;margin-top:13px;}.screen-per-page{width:3em;}#posts-filter fieldset{float:left;margin:0 1.5ex 1em 0;padding:0;}#posts-filter fieldset legend{padding:0 0 .2em 1px;}span.post-state-format{font-weight:normal;}tr.inline-edit-row td{padding:0 .5em;}#wpbody-content .inline-edit-row fieldset{font-size:12px;float:left;margin:0;padding:0;width:100%;}#wpbody-content .inline-edit-row fieldset .inline-edit-col{padding:0 .5em;}#wpbody-content .quick-edit-row-page fieldset.inline-edit-col-right .inline-edit-col{border-width:0 0 0 1px;border-style:none none none solid;}#wpbody-content .quick-edit-row-post .inline-edit-col-left{width:40%;}#wpbody-content .quick-edit-row-post .inline-edit-col-right{width:39%;}#wpbody-content .inline-edit-row-post .inline-edit-col-center{width:20%;}#wpbody-content .quick-edit-row-page .inline-edit-col-left{width:50%;}#wpbody-content .quick-edit-row-page .inline-edit-col-right,#wpbody-content .bulk-edit-row-post .inline-edit-col-right{width:49%;}#wpbody-content .bulk-edit-row .inline-edit-col-left{width:30%;}#wpbody-content .bulk-edit-row-page .inline-edit-col-right{width:69%;}#wpbody-content .bulk-edit-row .inline-edit-col-bottom{float:right;width:69%;}#wpbody-content .inline-edit-row-page .inline-edit-col-right{margin-top:27px;}.inline-edit-row fieldset .inline-edit-group{clear:both;}.inline-edit-row fieldset .inline-edit-group:after{content:".";display:block;height:0;clear:both;visibility:hidden;}.inline-edit-row p.submit{clear:both;padding:.5em;margin:.5em 0 0;}.inline-edit-row span.error{line-height:22px;margin:0 15px;padding:3px 5px;}.inline-edit-row h4{margin:.2em 0;padding:0;line-height:23px;}.inline-edit-row fieldset span.title,.inline-edit-row fieldset span.checkbox-title{margin:0;padding:0;line-height:27px;}.inline-edit-row fieldset label,.inline-edit-row fieldset span.inline-edit-categories-label{display:block;margin:.2em 0;}.inline-edit-row fieldset label.inline-edit-tags{margin-top:0;}.inline-edit-row fieldset label.inline-edit-tags span.title{margin:.2em 0;}.inline-edit-row fieldset label span.title{display:block;float:left;width:5em;}.inline-edit-row fieldset label span.input-text-wrap{display:block;margin-left:5em;}.quick-edit-row-post fieldset.inline-edit-col-right label span.title{width:auto;padding-right:.5em;}.inline-edit-row .input-text-wrap input[type=text]{width:100%;}.inline-edit-row fieldset label input[type=checkbox]{vertical-align:text-bottom;}.inline-edit-row fieldset label textarea{width:100%;height:4em;}#wpbody-content .bulk-edit-row fieldset .inline-edit-group label{max-width:50%;}#wpbody-content .quick-edit-row fieldset .inline-edit-group label.alignleft:first-child{margin-right:.5em;}.inline-edit-col-right .input-text-wrap input.inline-edit-menu-order-input{width:6em;}.inline-edit-row h4{text-transform:uppercase;}.inline-edit-row fieldset span.title,.inline-edit-row fieldset span.checkbox-title{font-family:Georgia,"Times New Roman","Bitstream Charter",Times,serif;font-style:italic;line-height:1.8em;}.inline-edit-row fieldset input[type="text"],.inline-edit-row fieldset textarea{border-style:solid;border-width:1px;}.inline-edit-row fieldset .inline-edit-date{float:left;}.inline-edit-row fieldset input[name=jj],.inline-edit-row fieldset input[name=hh],.inline-edit-row fieldset input[name=mn]{font-size:12px;width:2.1em;}.inline-edit-row fieldset input[name=aa]{font-size:12px;width:3.5em;}.inline-edit-row fieldset label input.inline-edit-password-input{width:8em;}.inline-edit-row .catshow,.inline-edit-row .cathide{cursor:pointer;}ul.cat-checklist{height:12em;border-style:solid;border-width:1px;overflow-y:scroll;padding:0 5px;margin:0;}#bulk-titles{display:block;height:12em;border-style:solid;border-width:1px;overflow-y:scroll;padding:0 5px;margin:0 0 5px;}.inline-edit-row fieldset ul.cat-checklist li,.inline-edit-row fieldset ul.cat-checklist input{margin:0;}.inline-edit-row fieldset ul.cat-checklist label,.inline-edit-row .catshow,.inline-edit-row .cathide,.inline-edit-row #bulk-titles div{font-family:sans-serif;font-style:normal;font-size:11px;}table .inline-edit-row fieldset ul.cat-hover{height:auto;max-height:30em;overflow-y:auto;position:absolute;}.inline-edit-row fieldset label input.inline-edit-menu-order-input{width:3em;}.inline-edit-row fieldset label input.inline-edit-slug-input{width:75%;}.quick-edit-row-post fieldset label.inline-edit-status{float:left;}#bulk-titles{line-height:140%;}#bulk-titles div{margin:.2em .3em;}#bulk-titles div a{cursor:pointer;display:block;float:left;height:10px;margin:3px 3px 0 -2px;overflow:hidden;position:relative;text-indent:-9999px;width:10px;}#titlediv{position:relative;margin-bottom:20px;}#titlediv label{cursor:text;}#titlediv div.inside{margin:0;}#poststuff #titlewrap{border:0;padding:0;}#titlediv #title{padding:3px 4px;border-width:1px;border-style:solid;-moz-border-radius:3px;-khtml-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;font-size:1.7em;line-height:100%;width:100%;outline:none;}#titlediv #title-prompt-text,#wp-fullscreen-title-prompt-text{color:#bbb;position:absolute;font-size:1.7em;padding:8px;}#wp-fullscreen-title-prompt-text{left:0;padding:11px;}#poststuff .inside-submitbox,#side-sortables .inside-submitbox{margin:0 3px;font-size:11px;}input#link_description,input#link_url{width:98%;}#pending{background:0 none;border:0 none;padding:0;font-size:11px;margin-top:-1px;}#edit-slug-box{height:1em;margin-top:8px;padding:0 7px;}#editable-post-name-full{display:none;}#editable-post-name input{width:16em;}.postarea h3 label{float:left;}.postarea #add-media-button{float:right;margin:7px 0 0;position:relative;right:10px;}#poststuff #editor-toolbar{height:30px;}.wp_themeSkin tr.mceFirst td.mceToolbar{border-width:0 0 1px;border-style:none none solid;}#edButtonPreview,#edButtonHTML{height:18px;margin:5px 5px 0 0;padding:4px 5px 2px;float:right;cursor:pointer;border-width:1px;border-style:solid;-moz-border-radius:3px 3px 0 0;-webkit-border-top-right-radius:3px;-webkit-border-top-left-radius:3px;-khtml-border-top-right-radius:3px;-khtml-border-top-left-radius:3px;border-top-right-radius:3px;border-top-left-radius:3px;}.js .theEditor{color:white;}#poststuff #edButtonHTML{margin-right:15px;}#media-buttons{cursor:default;padding:8px 8px 0;}#media-buttons a{cursor:pointer;padding:0 0 5px 10px;}#media-buttons img,#submitpost #ajax-loading,#submitpost .ajax-loading{vertical-align:middle;}#wpcontent .ajax-loading{visibility:hidden;}.submitbox .submit{text-align:left;padding:12px 10px 10px;font-size:11px;}.submitbox .submitdelete{border-bottom-width:1px;border-bottom-style:solid;text-decoration:none;padding:1px 2px;}.inside-submitbox #post_status{margin:2px 0 2px -2px;}.submitbox .submit a:hover{border-bottom-width:1px;border-bottom-style:solid;}.submitbox .submit input{margin-bottom:8px;margin-right:4px;padding:6px;}#post-status-select,#post-format{line-height:2.5em;margin-top:3px;}#post-body #normal-sortables{min-height:50px;}#post-body #advanced-sortables{min-height:20px;}.postbox{-moz-border-radius:3px;-webkit-border-radius:3px;-khtml-border-radius:3px;border-radius:3px;position:relative;min-width:255px;}#trackback_url{width:99%;}#normal-sortables .postbox .submit{background:transparent none;border:0 none;float:right;padding:0 12px;margin:0;}#side-sortables .category-add input{width:94%;}#side-sortables .category-add select{width:100%;}#side-sortables .category-add input.category-add-sumbit,#post-body .category-add input.category-add input.category-add-sumbit{width:auto;}#post-body ul.category-tabs,#post-body ul.add-menu-item-tabs{float:left;width:120px;text-align:right;margin:0 -120px 0 5px;padding:0;}#post-body ul.category-tabs li,#post-body ul.add-menu-item-tabs li{padding:8px;}#post-body ul.category-tabs li.tabs,#post-body ul.add-menu-item-tabs li.tabs{-moz-border-radius:3px 0 0 3px;-webkit-border-top-left-radius:3px;-webkit-border-bottom-left-radius:3px;-khtml-border-top-left-radius:3px;-khtml-border-bottom-left-radius:3px;border-top-left-radius:3px;border-bottom-left-radius:3px;}#post-body ul.category-tabs li.tabs a,#post-body ul.add-menu-item-tabs li.tabs a{font-weight:bold;text-decoration:none;}.wp-tab-panel,.categorydiv div.tabs-panel,.customlinkdiv div.tabs-panel,.posttypediv div.tabs-panel,.taxonomydiv div.tabs-panel,#linkcategorydiv div.tabs-panel{height:200px;overflow:auto;padding:.5em .9em;border-style:solid;border-width:1px;}.nav-menus-php .customlinkdiv div.tabs-panel,.nav-menus-php .posttypediv div.tabs-panel,.nav-menus-php .taxonomydiv div.tabs-panel{height:auto;max-height:205px;}div.tabs-panel-active{display:block;}div.tabs-panel-inactive{display:none;}#post-body .categorydiv div.tabs-panel,.taxonomy div.tabs-panel,#post-body #linkcategorydiv div.tabs-panel{margin:0 5px 0 125px;}#side-sortables .category-tabs li,#side-sortables .add-menu-item-tabs li,.wp-tab-bar li{display:inline;line-height:1.35em;}#side-sortables .category-tabs a,#side-sortables .add-menu-item-tabs a,.wp-tab-bar a{text-decoration:none;}#side-sortables .category-tabs,#side-sortables .add-menu-item-tabs,.wp-tab-bar{margin-bottom:3px;}.categorydiv ul,.customlinkdiv ul,.posttypediv ul,.taxonomydiv ul,#linkcategorydiv ul{list-style:none;padding:0;margin:0;}#normal-sortables .postbox #replyrow .submit{float:none;margin:0;padding:3px 7px;}#side-sortables .submitbox .submit input,#side-sortables .submitbox .submit .preview,#side-sortables .submitbox .submit a.preview:hover{border:0 none;}#side-sortables .inside-submitbox .insidebox,.stuffbox .insidebox{margin:11px 0;}#side-sortables .comments-box,#normal-sortables .comments-box{border:0 none;}ul.category-tabs,ul.add-menu-item-tabs,ul.wp-tab-bar{margin-top:12px;}#side-sortables .comments-box thead th,#normal-sortables .comments-box thead th{background:transparent;padding:0 7px 4px;font-style:italic;}ul.category-tabs li.tabs,ul.add-menu-item-tabs li.tabs,.wp-tab-active{border-style:solid solid none;border-width:1px 1px 0;}#commentsdiv img.waiting{padding-left:5px;}#post-body .category-tabs li.tabs,#post-body .add-menu-item-tabs li.tabs{border-style:solid none solid solid;border-width:1px 0 1px 1px;margin-right:-1px;}ul.category-tabs li,ul.add-menu-item-tabs li,ul.wp-tab-bar li{padding:5px;-moz-border-radius:3px 3px 0 0;-webkit-border-top-left-radius:3px;-webkit-border-top-right-radius:3px;-khtml-border-top-left-radius:3px;-khtml-border-top-right-radius:3px;border-top-left-radius:3px;border-top-right-radius:3px;}form#tags-filter{position:relative;}.screen-per-page{width:3em;}#posts-filter fieldset{float:left;margin:0 1.5ex 1em 0;padding:0;}#posts-filter fieldset legend{padding:0 0 .2em 1px;}td.post-title strong,td.plugin-title strong{display:block;margin-bottom:.2em;}td.post-title p,td.plugin-title p{margin:6px 0;}.wp-hidden-children .wp-hidden-child,.ui-tabs-hide{display:none;}.commentlist .avatar{vertical-align:text-top;}#post-body .tagsdiv #newtag{margin-right:5px;width:16em;}#side-sortables input#post_password{width:94%;}#side-sortables .tagsdiv #newtag{width:68%;}#post-status-info{border-width:0 1px 1px;border-style:none solid solid;width:100%;-moz-border-radius:0 0 3px 3px;-webkit-border-bottom-left-radius:3px;-webkit-border-bottom-right-radius:3px;-khtml-border-bottom-left-radius:3px;-khtml-border-bottom-right-radius:3px;border-bottom-left-radius:3px;border-bottom-right-radius:3px;}#post-status-info td{font-size:12px;}.autosave-info{padding:2px 15px 2px 2px;text-align:right;}#editorcontent #post-status-info{border:none;}#post-body .wp_themeSkin .mceStatusbar a.mceResize{display:block;background:transparent url(../images/resize.gif) no-repeat scroll right bottom;width:12px;cursor:se-resize;margin:0 2px;position:relative;top:22px;}#wp-word-count{display:block;padding:2px 7px;}#timestampdiv select{height:20px;line-height:14px;padding:0;vertical-align:top;}#jj,#hh,#mn{width:2em;padding:1px;font-size:12px;}#aa{width:3.4em;padding:1px;font-size:12px;}.curtime #timestamp{background-repeat:no-repeat;background-position:left top;padding-left:18px;}#timestampdiv{padding-top:5px;line-height:23px;}#timestampdiv p{margin:8px 0 6px;}#timestampdiv input{border-width:1px;border-style:solid;}#postcustomstuff table,#postcustomstuff input,#postcustomstuff textarea{border-width:1px;border-style:solid;-moz-border-radius:3px;-khtml-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;}#postcustomstuff .updatemeta,#postcustomstuff .deletemeta{margin:auto;}#postcustomstuff thead th{padding:5px 8px 8px;}#postcustom #postcustomstuff .submit{border:0 none;float:none;padding:5px 8px;}#side-sortables #postcustom #postcustomstuff .submit{padding:0 5px;}#side-sortables #postcustom #postcustomstuff td.left input{margin:3px 3px 0;}#side-sortables #postcustom #postcustomstuff #the-list textarea{height:85px;margin:3px;}#postcustomstuff table{margin:0;width:100%;border-width:1px;border-style:solid;border-spacing:0;}#postcustomstuff table input,#postcustomstuff table select,#postcustomstuff table textarea{width:95%;margin:8px 0 8px 8px;}#postcustomstuff th.left,#postcustomstuff td.left{width:38%;}#postcustomstuff .submit input{width:auto;}#postcustomstuff #newmeta .submit{padding:0 8px;}#postcustomstuff table #addmetasub{width:auto;}#postcustomstuff #newmetaleft{vertical-align:top;}#postcustomstuff #newmetaleft a{padding:0 10px;text-decoration:none;}table.diff{width:100%;}table.diff col.content{width:50%;}table.diff tr{background-color:transparent;}table.diff td,table.diff th{padding:.5em;font-family:Consolas,Monaco,monospace;border:none;}table.diff .diff-deletedline del,table.diff .diff-addedline ins{text-decoration:none;}.category-adder{margin-left:120px;padding:4px 0;}.category-adder h4{margin:0 0 8px;}#side-sortables .category-adder{margin:0;}#post-body .category-add input,.category-add select{width:30%;}#side-sortables .category-add select{width:100%;}#side-sortables .category-add input.category-add-sumbit,#post-body .category-add input.category-add input.category-add-sumbit{width:auto;}#post-body ul.category-tabs,#post-body ul.add-menu-item-tabs{float:left;width:120px;text-align:right;margin:0 -120px 0 5px;padding:0;}#post-body ul.category-tabs li,#post-body ul.add-menu-item-tabs li{padding:8px;}#post-body ul.category-tabs li.tabs,#post-body ul.add-menu-item-tabs li.tabs{-moz-border-radius:3px 0 0 3px;-webkit-border-top-left-radius:3px;-webkit-border-bottom-left-radius:3px;-khtml-border-top-left-radius:3px;-khtml-border-bottom-left-radius:3px;border-top-left-radius:3px;border-bottom-left-radius:3px;}#post-body ul.category-tabs li.tabs a,#post-body ul.add-menu-item-tabs li.tabs a{font-weight:bold;text-decoration:none;}.categorydiv div.tabs-panel,.customlinkdiv div.tabs-panel,.posttypediv div.tabs-panel,.taxonomydiv div.tabs-panel,#linkcategorydiv div.tabs-panel{height:200px;overflow:auto;padding:.5em .9em;border-style:solid;border-width:1px;}.nav-menus-php .customlinkdiv div.tabs-panel,.nav-menus-php .posttypediv div.tabs-panel,.nav-menus-php .taxonomydiv div.tabs-panel{height:auto;max-height:205px;}div.tabs-panel-active{display:block;}div.tabs-panel-inactive{display:none;}#post-body .categorydiv div.tabs-panel,.taxonomy div.tabs-panel,#post-body #linkcategorydiv div.tabs-panel{margin:0 5px 0 125px;}.categorydiv ul,.customlinkdiv ul,.posttypediv ul,.taxonomydiv ul,#linkcategorydiv ul{list-style:none;padding:0;margin:0;}#front-page-warning,#front-static-pages ul,ul.export-filters,.inline-editor ul.cat-checklist ul,.categorydiv ul.categorychecklist ul,.customlinkdiv ul.categorychecklist ul,.posttypediv ul.categorychecklist ul,.taxonomydiv ul.categorychecklist ul,#linkcategorydiv ul.categorychecklist ul{margin-left:18px;}ul.categorychecklist li{margin:0;padding:0;line-height:19px;word-wrap:break-word;}.categorydiv .tabs-panel,.customlinkdiv .tabs-panel,.posttypediv .tabs-panel,.taxonomydiv .tabs-panel{border-width:3px;border-style:solid;}ul.category-tabs,ul.add-menu-item-tabs{margin-top:12px;}ul.category-tabs li.tabs,ul.add-menu-item-tabs li.tabs{border-style:solid solid none;border-width:1px 1px 0;}#post-body .category-tabs li.tabs,#post-body .add-menu-item-tabs li.tabs{border-style:solid none solid solid;border-width:1px 0 1px 1px;margin-right:-1px;}ul.category-tabs li,ul.add-menu-item-tabs li{padding:5px;-moz-border-radius:3px 3px 0 0;-webkit-border-top-left-radius:3px;-webkit-border-top-right-radius:3px;-khtml-border-top-left-radius:3px;-khtml-border-top-right-radius:3px;border-top-left-radius:3px;border-top-right-radius:3px;}.form-wrap{margin:10px 0;width:97%;}.form-wrap p,.form-wrap label{font-size:11px;}.form-wrap label{display:block;padding:2px;font-size:12px;}.form-field input,.form-field textarea{border-style:solid;border-width:1px;width:95%;}p.description,.form-wrap p{margin:2px 0 5px;}p.help,p.description,span.description,.form-wrap p{font-size:12px;font-style:italic;font-family:sans-serif;}.form-wrap .form-field{margin:0 0 10px;padding:8px;}.col-wrap h3{margin:12px 0;font-size:1.1em;}.col-wrap p.submit{margin-top:-10px;}.taghint{color:#aaa;margin:15px 0 -24px 12px;}#poststuff .tagsdiv .howto{margin:0 0 6px 8px;}.ajaxtag .newtag{position:relative;}.tagsdiv .newtag{width:180px;}.tagsdiv .the-tags{display:block;height:60px;margin:0 auto;overflow:auto;width:260px;}#post-body-content .tagsdiv .the-tags{margin:0 5px;}p.popular-tags{-moz-border-radius:8px;-khtml-border-radius:8px;-webkit-border-radius:8px;border-radius:8px;border-width:1px;border-style:solid;line-height:2em;padding:8px 12px 12px;text-align:justify;}p.popular-tags a{padding:0 3px;}.tagcloud{width:97%;margin:0 0 40px;text-align:justify;}.tagcloud h3{margin:2px 0 12px;}.ac_results{padding:0;margin:0;list-style:none;position:absolute;z-index:10000;display:none;border-width:1px;border-style:solid;}.ac_results li{padding:2px 5px;white-space:nowrap;text-align:left;}.ac_over{cursor:pointer;}.ac_match{text-decoration:underline;}#wpbody-content #media-items .describe{border-collapse:collapse;width:100%;border-top-style:solid;border-top-width:1px;clear:both;cursor:default;padding:5px;}#wpbody-content .describe th{vertical-align:top;text-align:left;padding:10px;width:140px;}#wpbody-content .describe .media-item-info tr{background-color:transparent;}#wpbody-content .describe .media-item-info td{padding:4px 10px 0;}.describe .media-item-info .A1B1{padding:0 0 0 10px;}#wpbody-content .filename{padding:0 10px;}#wpbody-content .media-item .thumbnail{max-height:128px;max-width:128px;}#wpbody-content #async-upload-wrap a{display:none;}.media-upload-form td label{margin-right:6px;margin-left:2px;}.media-upload-form .align .field label{display:inline;padding:0 0 0 22px;margin:0 1em 0 0;font-weight:bold;}.media-upload-form tr.image-size label{margin:0 0 0 3px;font-weight:bold;}.media-upload-form th.label label{font-weight:bold;margin:.5em;font-size:13px;}.media-upload-form th.label label span{padding:0 5px;}abbr.required{border:medium none;text-decoration:none;}#wpbody-content .describe input[type="text"],#wpbody-content .describe textarea{width:460px;}#wpbody-content .describe p.help{margin:0;padding:0 0 0 5px;}.media-item .error-div a.dismiss,.describe-toggle-on,.describe-toggle-off{display:block;line-height:36px;float:right;margin-right:20px;}.describe-toggle-off{display:none;}#wpbody-content .media-item{border-bottom-style:solid;border-bottom-width:1px;min-height:36px;position:relative;width:100%;}#wpbody-content .media-single .media-item{border-bottom-style:none;border-bottom-width:0;}#wpbody-content #media-items{border-style:solid solid none;border-width:1px;width:670px;}#wpbody-content #media-items .filename{line-height:36px;overflow:hidden;}.media-item .error-div{padding-left:10px;}.media-item .pinkynail{float:left;margin:2px;max-width:40px;max-height:32px;}.media-item .startopen,.media-item .startclosed{display:none;}.media-item .original{position:relative;height:34px;width:503px;}.media-item .percent{font-weight:bold;}.crunching{display:block;line-height:32px;text-align:right;margin-right:5px;}.progress{position:relative;margin-bottom:-36px;height:36px;}.bar{width:0;height:100%;border-right-width:3px;border-right-style:solid;}.upload-php .fixed .column-parent{width:25%;}.find-box{width:500px;height:300px;overflow:hidden;padding:33px 5px 40px;position:absolute;z-index:1000;}.find-box-head{cursor:move;font-weight:bold;height:2em;line-height:2em;padding:1px 12px;position:absolute;top:5px;width:100%;}.find-box-inside{overflow:auto;width:100%;height:100%;}.find-box-search{padding:12px;border-width:1px;border-style:none none solid;}#find-posts-response{margin:8px 0;padding:0 1px;}#find-posts-response table{width:100%;}#find-posts-response .found-radio{padding:5px 0 0 8px;width:15px;}.find-box-buttons{width:480px;margin:8px;}.find-box-search label{padding-right:6px;}.find-box #resize-se{position:absolute;right:1px;bottom:1px;}ul#dismissed-updates{display:none;}form.upgrade{margin-top:8px;}form.upgrade .hint{font-style:italic;font-size:85%;margin:-0.5em 0 2em 0;}#poststuff .inside .the-tagcloud{margin:5px 0 10px;padding:8px;border-width:1px;border-style:solid;line-height:1.8em;word-spacing:3px;-moz-border-radius:6px;-khtml-border-radius:6px;-webkit-border-radius:6px;border-radius:6px;}br.clear{height:2px;line-height:2px;}.swfupload{margin:5px 10px;vertical-align:middle;}.describe .image-editor{vertical-align:top;}.imgedit-wrap{position:relative;}.imgedit-settings p{margin:8px 0;}.describe .imgedit-wrap table td{vertical-align:top;padding-top:0;}.imgedit-wrap p,.describe .imgedit-wrap table td{font-size:11px;line-height:18px;}.describe .imgedit-wrap table td.imgedit-settings{padding:0 5px;}td.imgedit-settings input{vertical-align:middle;}.imgedit-wait{position:absolute;top:0;background:#FFF url(../images/wpspin_light.gif) no-repeat scroll 22px 10px;opacity:.7;filter:alpha(opacity=70);width:100%;height:500px;display:none;}.media-disabled,.imgedit-settings .disabled{color:grey;}.imgedit-wait-spin{padding:0 4px 4px;vertical-align:bottom;visibility:hidden;}.imgedit-menu{margin:0 0 12px;min-width:300px;}.imgedit-menu div{float:left;width:32px;height:32px;-moz-border-radius:3px;-khtml-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;border-width:1px;border-style:solid;}.imgedit-crop-wrap{position:relative;}.imgedit-crop{background:transparent url(../images/imgedit-icons.png) no-repeat scroll -9px -31px;margin:0 8px 0 0;}.imgedit-crop.disabled:hover{background-position:-9px -31px;}.imgedit-crop:hover{background-position:-9px -1px;}.imgedit-rleft{background:transparent url(../images/imgedit-icons.png) no-repeat scroll -46px -31px;margin:0 3px;}.imgedit-rleft.disabled:hover{background-position:-46px -31px;}.imgedit-rleft:hover{background-position:-46px -1px;}.imgedit-rright{background:transparent url(../images/imgedit-icons.png) no-repeat scroll -77px -31px;margin:0 8px 0 3px;}.imgedit-rright.disabled:hover{background-position:-77px -31px;}.imgedit-rright:hover{background-position:-77px -1px;}.imgedit-flipv{background:transparent url(../images/imgedit-icons.png) no-repeat scroll -115px -31px;margin:0 3px;}.imgedit-flipv.disabled:hover{background-position:-115px -31px;}.imgedit-flipv:hover{background-position:-115px -1px;}.imgedit-fliph{background:transparent url(../images/imgedit-icons.png) no-repeat scroll -147px -31px;margin:0 8px 0 3px;}.imgedit-fliph.disabled:hover{background-position:-147px -31px;}.imgedit-fliph:hover{background-position:-147px -1px;}.imgedit-undo{background:transparent url(../images/imgedit-icons.png) no-repeat scroll -184px -31px;margin:0 3px;}.imgedit-undo.disabled:hover{background-position:-184px -31px;}.imgedit-undo:hover{background-position:-184px -1px;}.imgedit-redo{background:transparent url(../images/imgedit-icons.png) no-repeat scroll -215px -31px;margin:0 8px 0 3px;}.imgedit-redo.disabled:hover{background-position:-215px -31px;}.imgedit-redo:hover{background-position:-215px -1px;}.imgedit-applyto img{margin:0 8px 0 0;}.imgedit-group-top{margin:5px 0;}.imgedit-applyto .imgedit-label{padding:2px 0 0;display:block;}.imgedit-help{display:none;font-style:italic;margin-bottom:8px;}.imgedit-help ul li{font-size:11px;}a.imgedit-help-toggle{text-decoration:none;}#wpbody-content .imgedit-response div{width:600px;margin:8px;}.form-table td.imgedit-response{padding:0;}.imgedit-submit{margin:8px 0;}.imgedit-submit-btn{margin-left:20px;}.imgedit-wrap .nowrap{white-space:nowrap;}span.imgedit-scale-warn{color:red;font-size:20px;font-style:normal;visibility:hidden;vertical-align:middle;}.imgedit-group{border-width:1px;border-style:solid;-moz-border-radius:8px;-khtml-border-radius:8px;-webkit-border-radius:8px;border-radius:8px;margin-bottom:8px;padding:2px 10px;}.form-table{border-collapse:collapse;margin-top:.5em;width:100%;margin-bottom:-8px;clear:both;}.form-table td{margin-bottom:9px;padding:8px 10px;line-height:20px;font-size:12px;}.form-table th,.form-wrap label{font-weight:normal;text-shadow:rgba(255,255,255,1) 0 1px 0;}.form-table th{vertical-align:top;text-align:left;padding:10px;width:200px;}.form-table th.th-full{width:auto;}.form-table div.color-option{display:block;clear:both;margin-top:12px;}.form-table input.tog{margin-top:2px;margin-right:2px;float:left;}.form-table td p{margin-top:4px;}.form-table table.color-palette{vertical-align:bottom;float:left;margin:-12px 3px 11px;}.form-table .color-palette td{border-width:1px 1px 0;border-style:solid solid none;height:10px;line-height:20px;width:10px;}.commentlist li{padding:1em 1em .2em;margin:0;border-bottom-width:1px;border-bottom-style:solid;}.commentlist li li{border-bottom:0;padding:0;}.commentlist p{padding:0;margin:0 0 .8em;}#replyrow{font-size:11px;}#replyrow input{border-width:1px;border-style:solid;}#replyrow td{padding:2px;}#replyrow #editorcontainer{border:0 none;}#replysubmit{margin:0;padding:3px 7px;text-align:center;}#replysubmit img.waiting,.inline-edit-save img.waiting{padding:4px 10px 0;vertical-align:top;float:right;}#replysubmit .button{margin-right:5px;}#replysubmit .error{color:red;line-height:21px;text-align:center;vertical-align:center;}#replyrow #editor-toolbar{display:none;}#replyhead{font-size:12px;font-weight:bold;padding:2px 10px 4px;}#edithead .inside{float:left;padding:3px 0 2px 5px;margin:0;text-align:center;font-size:11px;}#edithead .inside input{width:180px;font-size:11px;}#edithead label{padding:2px 0;}#replycontainer{padding:5px;border:0 none;height:120px;overflow:hidden;position:relative;}#replycontent{resize:none;margin:0;width:100%;height:100%;padding:0;line-height:150%;border:0 none;outline:none;font-size:12px;}#replyrow #ed_reply_toolbar{margin:0;padding:2px 3px;}.comment-ays{margin-bottom:0;border-style:solid;border-width:1px;}.comment-ays th{border-right-style:solid;border-right-width:1px;}.trash-undo-inside,.spam-undo-inside{margin:1px 8px 1px 0;line-height:16px;}.spam-undo-inside .avatar,.trash-undo-inside .avatar{height:20px;width:20px;margin-right:8px;vertical-align:middle;}.stuffbox .editcomment{clear:none;}#comment-status-radio p{margin:3px 0 5px;}#comment-status-radio input{margin:2px 3px 5px 0;vertical-align:middle;}#comment-status-radio label{padding:5px 0;}.commentlist .avatar{vertical-align:text-top;}.theme-install-php .tablenav{height:auto;}table#availablethemes{border-spacing:0;border-width:1px 0;border-style:solid none;margin:10px auto;width:100%;}table#availablethemes .no-items td{border-width:0;padding:5px;}td.available-theme{vertical-align:top;width:240px;margin:0;padding:20px;text-align:left;}table#availablethemes td{border-width:0 1px 1px;border-style:none solid solid;}table#availablethemes td.right,table#availablethemes td.left{border-right:0 none;border-left:0 none;}table#availablethemes td.bottom{border-bottom:0 none;}.available-theme a.screenshot{width:240px;height:180px;display:block;border-width:1px;border-style:solid;margin-bottom:10px;overflow:hidden;}.available-theme img{width:240px;}.available-theme h3{margin:15px 0 5px;}#current-theme{margin:1em 0 1.5em;}#current-theme a{border-bottom:none;}#current-theme h3{font-size:17px;font-weight:normal;margin:0;}#current-theme .theme-description{margin-top:5px;}#current-theme img{float:left;border-width:1px;border-style:solid;margin-right:1em;margin-bottom:1.5em;width:150px;}.theme-options span{text-transform:uppercase;font-size:13px;}.theme-options a{font-size:15px;}#TB_window #TB_title a.tb-theme-preview-link,#TB_window #TB_title a.tb-theme-preview-link:visited{font-weight:bold;text-decoration:none;}#TB_window #TB_title{background-color:#222;color:#cfcfcf;}#broken-themes{text-align:left;width:50%;border-spacing:3px;padding:3px;}.theme-install-php h4{margin:2.5em 0 8px;}.appearance_page_custom-header #headimg{border:1px solid #DFDFDF;min-height:100px;width:100%;}.appearance_page_custom-header #upload-form p label{font-size:12px;}.appearance_page_custom-header .available-headers .default-header{float:left;margin:0 20px 20px 0;}.appearance_page_custom-header .random-header{clear:both;margin:0 20px 20px 0;vertical-align:middle;}.appearance_page_custom-header .available-headers label input,.appearance_page_custom-header .random-header label input{margin-right:10px;}.appearance_page_custom-header .available-headers label img{vertical-align:middle;}div#custom-background-image{min-height:100px;border:1px solid #dfdfdf;}div#custom-background-image img{max-width:400px;max-height:300px;}.nav-tab{border-style:solid;border-color:#dfdfdf #dfdfdf #fff;border-width:1px 1px 0;color:#aaa;text-shadow:rgba(255,255,255,1) 0 1px 0;font-size:12px;line-height:16px;display:inline-block;padding:4px 14px 6px;text-decoration:none;margin:0 6px -1px 0;-moz-border-radius:3px 3px 0 0;-webkit-border-top-left-radius:3px;-webkit-border-top-right-radius:3px;-khtml-border-top-left-radius:3px;-khtml-border-top-right-radius:3px;border-top-left-radius:3px;border-top-right-radius:3px;}.nav-tab-active{border-width:1px;color:#464646;}.nav-tab:hover,.nav-tab-active{border-color:#ccc #ccc #fff;}h2.nav-tab-wrapper,h3.nav-tab-wrapper{border-bottom:1px solid #ccc;padding-bottom:0;}h2 .nav-tab{padding:4px 10px 6px;font-family:"HelveticaNeue-Light","Helvetica Neue Light","Helvetica Neue",sans-serif;font-weight:200;font-size:20px;line-height:24px;}.plugins .name,#pass-strength-result.strong,#pass-strength-result.short,.button-highlighted,input.button-highlighted,#quicktags #ed_strong,#ed_reply_toolbar #ed_reply_strong{font-weight:bold;}.plugins p{margin:0 4px;padding:0;}.plugins .desc p{margin:0 0 8px;}.plugins td.desc{line-height:1.5em;}.plugins .desc ul,.plugins .desc ol{margin:0 0 0 2em;}.plugins .desc ul{list-style-type:disc;}.plugins .row-actions-visible{padding:0;}.plugins tbody th.check-column{padding:7px 0;}.plugins .inactive td,.plugins .inactive th,.plugins .active td,.plugins .active th{border-top-style:solid;border-top-width:1px;padding:5px 7px 0;}#wpbody-content .plugins .plugin-title,#wpbody-content .plugins .theme-title{padding-right:12px;white-space:nowrap;}.plugins .second,.plugins .row-actions-visible{padding:0 0 5px;}.plugins-php .widefat tfoot th,.plugins-php .widefat tfoot td{border-top-style:solid;border-top-width:1px;}.plugin-update-tr .update-message{margin:5px;padding:3px 5px;border-width:1px;border-style:solid;-moz-border-radius:3px;-khtml-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;}.plugin-install-php h4{margin:2.5em 0 8px;}#profile-page .form-table textarea{width:500px;margin-bottom:6px;}#profile-page .form-table #rich_editing{margin-right:5px;}#your-profile legend{font-family:Georgia,"Times New Roman","Bitstream Charter",Times,serif;font-size:22px;}#your-profile #rich_editing{border:none;}#display_name{width:15em;}#createuser .form-field input{width:25em;}.pressthis{margin:20px 0;}.pressthis a{display:inline-block;width:113px;position:relative;cursor:move;color:#333;background:#dfdfdf;-webkit-gradient(linear,left bottom,left top,color-stop(0.07,#e6e6e6),color-stop(0.77,#d8d8d8));-moz-linear-gradient(center bottom,#e6e6e6 7%,#d8d8d8 77%);background-repeat:no-repeat;background-image-position:10px 8px;border-radius:5px;-webkit-border-radius:5px;-moz-border-radius:5px;-o-border-radius:5px;border:1px #b4b4b4 solid;font:normal normal normal 14px/16px Georgia,"Times New Roman","Bitstream Charter",Times,serif;text-decoration:none;text-shadow:#fff 0 1px 0;-webkit-text-shadow:#fff 0 1px 0;-moz-text-shadow:#fff 0 1px 0;-o-text-shadow:#fff 0 1px 0;}.pressthis a:hover,.pressthis a:active{color:#333;}.pressthis a:hover:after{transform:skew(20deg) rotate(9deg);-webkit-transform:skew(20deg) rotate(9deg);-moz-transform:skew(20deg) rotate(9deg);box-shadow:0 10px 8px rgba(0,0,0,0.7);-webkit-box-shadow:0 10px 8px rgba(0,0,0,0.7);-moz-box-shadow:0 10px 8px rgba(0,0,0,0.7);}.pressthis a span{background:url(../images/press-this.png) no-repeat -45px 5px;padding:8px 0 8px 32px;display:inline-block;}.pressthis a:after{content:'';width:70%;height:55%;z-index:-1;position:absolute;right:10px;bottom:9px;background:transparent;transform:skew(20deg) rotate(6deg);-webkit-transform:skew(20deg) rotate(6deg);-moz-transform:skew(20deg) rotate(6deg);box-shadow:0 10px 8px rgba(0,0,0,0.6);-webkit-box-shadow:0 10px 8px rgba(0,0,0,0.6);-moz-box-shadow:0 10px 8px rgba(0,0,0,0.6);}#utc-time,#local-time{padding-left:25px;font-style:italic;font-family:sans-serif;}.defaultavatarpicker .avatar{margin:2px 0;vertical-align:middle;}#footer{position:absolute;bottom:0;left:0;right:0;padding:10px 0;margin-right:20px;border-top:1px;border-style:solid;}#footer,#footer a{font-size:12px;}#footer p{margin:0;line-height:20px;}#footer a{text-decoration:none;}#footer a:hover{text-decoration:underline;}#excerpt,.attachmentlinks{margin:0;height:4em;width:98%;}#template div{margin-right:190px;}p.pagenav{margin:0;display:inline;}.pagenav span{font-weight:bold;margin:0 6px;}.row-title{font-size:13px!important;font-weight:bold;}.column-author img,.column-username img{float:left;margin-right:10px;margin-top:1px;}.row-actions{visibility:hidden;padding:2px 0 0;}tr:hover .row-actions,div.comment-item:hover .row-actions{visibility:visible;}.row-actions-visible{padding:2px 0 0;}.form-table .pre{padding:8px;margin:0;}table.form-table td .updated{font-size:13px;}.tagchecklist{margin-left:14px;font-size:12px;overflow:auto;}.tagchecklist strong{margin-left:-8px;position:absolute;}.tagchecklist span{margin-right:25px;display:block;float:left;font-size:11px;line-height:1.8em;white-space:nowrap;cursor:default;}.tagchecklist span a{margin:6px 0 0 -9px;cursor:pointer;width:10px;height:10px;display:block;float:left;text-indent:-9999px;overflow:hidden;position:absolute;}#poststuff h2{margin-top:20px;font-size:1.5em;margin-bottom:15px;padding:0 0 3px;clear:left;}#poststuff h3,.metabox-holder h3{font-size:15px;font-family:Georgia,"Times New Roman","Bitstream Charter",Times,serif;font-weight:normal;padding:7px 10px;margin:0;line-height:1;}#poststuff .inside,#poststuff .inside p{font-size:12px;margin:6px 0 8px;}#poststuff .inside .submitbox p{margin:1em 0;}#post-visibility-select,#post-formats-select{line-height:1.5em;margin-top:3px;}#poststuff #submitdiv .inside{margin:0;padding:0;}#titlediv,#poststuff .postarea{margin-bottom:20px;}td.post-title strong,td.plugin-title strong{display:block;margin-bottom:.2em;}td.post-title p,td.plugin-title p{margin:6px 0;}.wp-hidden-children .wp-hidden-child,.ui-tabs-hide{display:none;}#templateside ul li a{text-decoration:none;}.tool-box{margin:15px 0 35px;}.tool-box .buttons{margin:15px 0;}.tool-box .title{margin:8px 0;font:18px/24px Georgia,"Times New Roman","Bitstream Charter",Times,serif;}.pressthis a{font-size:1.2em;}#sidemenu{margin:-30px 15px 0 315px;list-style:none;position:relative;float:right;padding-left:10px;font-size:12px;}#sidemenu a{padding:0 7px;display:block;float:left;line-height:28px;border-top-width:1px;border-top-style:solid;border-bottom-width:1px;border-bottom-style:solid;}#sidemenu li{display:inline;line-height:200%;list-style:none;text-align:center;white-space:nowrap;margin:0;padding:0;}#sidemenu a.current{font-weight:normal;padding-left:6px;padding-right:6px;-moz-border-radius:3px 3px 0 0;-webkit-border-top-left-radius:3px;-webkit-border-top-right-radius:3px;-khtml-border-top-left-radius:3px;-khtml-border-top-right-radius:3px;border-top-left-radius:3px;border-top-right-radius:3px;border-width:1px;border-style:solid;}#sidemenu li a .count-0{display:none;}#poststuff .inside .the-tagcloud{margin:5px 0 10px;padding:8px;border-width:1px;border-style:solid;line-height:1.8em;word-spacing:3px;-moz-border-radius:3px;-khtml-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;}.plugin-install #description,.plugin-install-network #description{width:60%;}table .vers,table .column-visible,table .column-rating{text-align:left;}body.iframe{height:98%;}.anchors{margin:10px 20px 10px 20px;}div.nav{height:2em;padding:7px 10px;vertical-align:text-top;margin:5px 0;}.nav .button-secondary{padding:2px 4px;}.settings-toggle{text-align:right;margin:5px 7px 15px 0;font-size:12px;}.settings-toggle h3{margin:0;}form#tags-filter{position:relative;}td.media-icon{text-align:center;width:80px;padding-top:8px;padding-bottom:8px;}td.media-icon img{max-width:80px;max-height:60px;}.screen-per-page{width:3em;}.list-ajax-loading{float:right;margin-right:9px;margin-top:-1px;}.tablenav .list-ajax-loading{margin-top:7px;}#howto{font-size:11px;margin:0 5px;display:block;}.import-system{font-size:16px;}#namediv table{width:100%;}#namediv td.first{width:10px;white-space:nowrap;}#namediv input{width:98%;}#namediv p{margin:10px 0;}#submitdiv h3{margin-bottom:0!important;}.zerosize{height:0;width:0;margin:0;border:0;padding:0;overflow:hidden;position:absolute;}br.clear{height:2px;line-height:2px;}.checkbox{border:none;margin:0;padding:0;}#content{margin:0;width:100%;}fieldset{border:0;padding:0;margin:0;}.post-categories{display:inline;margin:0;padding:0;}.post-categories li{display:inline;} \ No newline at end of file diff --git a/wp-admin/css/wp-admin.dev.css b/wp-admin/css/wp-admin.dev.css index 3165a5e02..82a0c68f2 100644 --- a/wp-admin/css/wp-admin.dev.css +++ b/wp-admin/css/wp-admin.dev.css @@ -66,7 +66,7 @@ ol { } .code, code { - font-family: Consolas, Monaco, Courier, monospace; + font-family: Consolas, Monaco, monospace; } kbd, code { @@ -81,8 +81,8 @@ kbd, code { .icon32 { float: left; - height: 36px; - margin: 14px 6px 0 0; + height: 34px; + margin: 7px 8px 0 0; width: 36px; } @@ -90,12 +90,6 @@ kbd, code { line-height: 24px; } -.subtitle { - font-size: 0.75em; - line-height: 1; - padding-left: 25px; -} - .pre { /* http://www.longren.org/2006/09/27/wrapping-text-inside-pre-tags/ */ white-space: pre-wrap; /* css-3 */ @@ -108,7 +102,7 @@ kbd, code { .howto { font-style: italic; display: block; - font-family: "Lucida Grande", Verdana, Arial, "Bitstream Vera Sans", sans-serif; + font-family: sans-serif; } p.install-help { @@ -131,10 +125,10 @@ input[type="reset"], select { border-width: 1px; border-style: solid; - -moz-border-radius: 4px; - -khtml-border-radius: 4px; - -webkit-border-radius: 4px; - border-radius: 4px; + -moz-border-radius: 3px; + -khtml-border-radius: 3px; + -webkit-border-radius: 3px; + border-radius: 3px; } select option { @@ -168,7 +162,7 @@ input.button-secondary, input.button-highlighted, #postcustomstuff .submit input { text-decoration: none; - font-size: 11px !important; + font-size: 12px !important; line-height: 13px; padding: 3px 8px; cursor: pointer; @@ -231,7 +225,7 @@ input.small-text { #wpcontent select { padding: 2px; height: 2em; - font-size: 11px; + font-size: 12px; } #wpcontent option { @@ -255,7 +249,7 @@ label, border-style: solid; border-width: 1px; float: left; - margin: 12px 5px 5px 1px; + margin: 13px 5px 5px 1px; padding: 3px 5px; text-align: center; width: 200px; @@ -267,7 +261,7 @@ label, p.search-box { float: right; - margin: -5px 0 0; + margin: 0; } @@ -276,13 +270,11 @@ p.search-box { ------------------------------------------------------------------------------*/ #major-publishing-actions { - padding: 6px; + padding: 10px 10px 8px; clear: both; border-top: none; } - - #delete-action { line-height: 25px; vertical-align: middle; @@ -322,23 +314,29 @@ p.search-box { } .misc-pub-section { - padding: 6px; - border-bottom-width: 1px; - border-bottom-style: solid; + padding: 6px 10px; + border-width: 1px 0; + border-style: solid; } +.misc-pub-section:first-child { + border-top-width: 0; +} .misc-pub-section-last { - border-bottom: 0 none; + border-bottom-width: 0; } #minor-publishing-actions { - padding: 6px; + padding: 10px 10px 2px 8px; text-align: right; } #minor-publishing { border-bottom-width: 1px; border-bottom-style: solid; + -webkit-box-shadow: 0 1px 0 #fff; + -moz-box-shadow: 0 1px 0 #fff; + box-shadow: 0 1px 0 #fff; } #save-post { @@ -408,13 +406,6 @@ a.button-secondary { display: none; } -.add-new-h2 { - font-style: normal; - margin: 0 6px; - position: relative; - top: -3px; -} - td.action-links, th.action-links { text-align: right; @@ -439,13 +430,13 @@ th.action-links { border-style: solid; border-top-width: 0; border-top-style: none; - -moz-border-radius: 0 0 6px 6px; - -webkit-border-bottom-right-radius: 6px; - -webkit-border-bottom-left-radius: 6px; - -khtml-border-bottom-right-radius: 6px; - -khtml-border-bottom-left-radius: 6px; - border-bottom-right-radius: 6px; - border-bottom-left-radius: 6px; + -moz-border-radius: 0 0 3px 3px; + -webkit-border-bottom-right-radius: 3px; + -webkit-border-bottom-left-radius: 3px; + -khtml-border-bottom-right-radius: 3px; + -khtml-border-bottom-left-radius: 3px; + border-bottom-right-radius: 3px; + border-bottom-left-radius: 3px; } .plugins .plugin-update { @@ -485,6 +476,7 @@ form.upgrade .hint { ------------------------------------------------------------------------------*/ #editorcontainer #content { + font-family: Consolas, Monaco, monospace; padding: 6px; line-height: 150%; border: 0 none; @@ -501,13 +493,13 @@ form.upgrade .hint { border-style: solid; border-width: 1px; border-collapse: separate; - -moz-border-radius: 6px 6px 0 0; - -webkit-border-top-right-radius: 6px; - -webkit-border-top-left-radius: 6px; - -khtml-border-top-right-radius: 6px; - -khtml-border-top-left-radius: 6px; - border-top-right-radius: 6px; - border-top-left-radius: 6px; + -moz-border-radius: 3px 3px 0 0; + -webkit-border-top-right-radius: 3px; + -webkit-border-top-left-radius: 3px; + -khtml-border-top-right-radius: 3px; + -khtml-border-top-left-radius: 3px; + border-top-right-radius: 3px; + border-top-left-radius: 3px; } #quicktags { @@ -574,30 +566,394 @@ form.upgrade .hint { border-radius: 3px; } +/* Distraction Free Writing mode + * =Overlay Styles +-------------------------------------------------------------- */ +.fullscreen-overlay { + z-index: 149999; + display: none; + position: fixed; + top: 0; + bottom: 0; + left: 0; + right: 0; + filter: inherit; +} + +.fullscreen-active .fullscreen-overlay, +.fullscreen-active #wp-fullscreen-body { + display: block; +} + +.fullscreen-fader { + z-index: 200000; +} + +.fullscreen-active .fullscreen-fader { + display: none; +} + +/* =Overlay Body +-------------------------------------------------------------- */ +#wp-fullscreen-body { + width: 100%; + z-index: 150005; + display: none; + position: absolute; + top: 0; + left: 0; +} + +#wp-fullscreen-wrap { + margin: 0 auto 50px; + position: relative; + padding-top: 60px; +} + +#wp-fullscreen-title { + font-size: 1.7em; + line-height: 100%; + outline: medium none; + padding: 6px 7px; + width: 100%; + margin-bottom: 30px; +} + +#wp-fullscreen-container { + padding: 4px 10px 50px; +} + +#wp-fullscreen-title, +#wp-fullscreen-container { + -moz-border-radius: 0; + -khtml-border-radius: 0; + -webkit-border-radius: 0; + border-radius: 0; + border: 1px dashed transparent; + background: transparent; + -moz-transition-property: border-color; + -moz-transition-duration: 0.6s; + -webkit-transition-property: border-color; + -webkit-transition-duration: 0.6s; + -o-transition-property: border-color; + -o-transition-duration: 0.6s; + transition-property: border-color; + transition-duration: 0.6s; +} + + +#wp_mce_fullscreen { + width: 100%; + min-height: 300px; + border: 0; + background: transparent; + font-family: Consolas, Monaco, monospace; + line-height: 1.6em; + padding: 0; + overflow-y: hidden; + outline: none; + resize: none; +} + +#wp-fullscreen-tagline { + color: #BBBBBB; + font-size: 18px; + float: right; + padding-top: 5px; +} + +/* =Top bar +-------------------------------------------------------------- */ +#fullscreen-topbar { + position: fixed; + top: 0; + left: 0; + z-index: 150050; + border-bottom-style: solid; + border-bottom-width: 1px; + min-width: 800px; + width: 100%; + height: 40px; +} + +#wp-fullscreen-toolbar { + padding: 6px 10px 0; + clear: both; + max-width: 1100px; + min-width: 820px; + margin: 0 auto; +} + +#wp-fullscreen-mode-bar, +#wp-fullscreen-button-bar, +#wp-fullscreen-close, +#wp-fullscreen-count { + float: left; +} + +#wp-fullscreen-save { + float: right; +} + +#wp-fullscreen-save { + padding: 2px 2px 0 5px; +} + +#wp-fullscreen-count, +#wp-fullscreen-close { + padding-top: 5px; +} + +#wp-fullscreen-central-toolbar { + margin: auto; + padding: 0; +} + +#wp-fullscreen-buttons > div { + float: left; +} + +#wp-fullscreen-mode-bar { + padding: 1px 14px 0 0; +} + +#wp-fullscreen-modes a { + display: block; + font-size: 11px; + text-decoration: none; + float: left; + margin: 1px 0 0 0; + padding: 2px 6px 2px; + border-width: 1px 1px 1px 0; + border-style: solid; + border-color: #bbb; + color: #777; + text-shadow: 0 1px 0 #fff; + background-color: #f4f4f4; + background-image: -moz-linear-gradient(bottom, #e4e4e4, #f9f9f9); + background-image: -webkit-gradient(linear, left bottom, left top, from(#e4e4e4), to(#f9f9f9)); +} + +#wp-fullscreen-modes a:hover, +.wp-html-mode #wp-fullscreen-modes a:last-child, +.wp-tmce-mode #wp-fullscreen-modes a:first-child { + color: #333; + border-color: #999; + background-color: #eee; + background-image: -moz-linear-gradient(bottom, #f9f9f9, #e0e0e0); + background-image: -webkit-gradient(linear, left bottom, left top, from(#f9f9f9), to(#e0e0e0)); +} + +#wp-fullscreen-modes a:first-child { + border-width: 1px; + -moz-border-radius: 3px 0 0 3px; + -webkit-border-top-left-radius: 3px; + -webkit-border-bottom-left-radius: 3px; + -khtml-border-top-left-radius: 3px; + -khtml-border-bottom-left-radius: 3px; + border-top-left-radius: 3px; + border-bottom-left-radius: 3px; +} + +#wp-fullscreen-modes a:last-child { + -moz-border-radius: 0 3px 3px 0; + -webkit-border-top-right-radius: 3px; + -webkit-border-bottom-right-radius: 3px; + -khtml-border-top-right-radius: 3px; + -khtml-border-bottom-right-radius: 3px; + border-top-right-radius: 3px; + border-bottom-right-radius: 3px; +} + +#wp-fullscreen-buttons .active a { + background: inherit; +} + +#wp-fullscreen-buttons .hidden { + display: none; +} + +#wp-fullscreen-buttons .disabled { + opacity: 0.5; +} + +.wp-html-mode #wp-fullscreen-buttons div { + display: none; +} + +.wp-html-mode #wp-fullscreen-buttons div.wp-fullscreen-both { + display: block; +} + +#fullscreen-topbar.fullscreen-make-sticky { + display: block !important; +} + +#wp-fullscreen-save img { + vertical-align: middle; +} + +#wp-fullscreen-save img, +#wp-fullscreen-save span { + padding-right: 4px; + display: none; +} + +#wp-fullscreen-buttons .mce_image .mce_image { + background-image: url("../images/menu.png?ver=20100531"); + background-position: -124px -38px; +} + +#wp-fullscreen-buttons .mce_image .mce_image:hover { + background-position: -124px -6px; +} + +/* =Thickbox Adjustments +-------------------------------------------------------------- */ +.fullscreen-active #TB_overlay { + z-index: 150100; +} + +.fullscreen-active #TB_window { + z-index: 150102; +} + +/* =TinyMCE Adjustments +-------------------------------------------------------------- */ +#wp_mce_fullscreen_ifr { + background: transparent; +} + +#wp_mce_fullscreen_parent #wp_mce_fullscreen_tbl tr.mceFirst { + display : none; +} + +#wp-fullscreen-container .wp_themeSkin table td { + vertical-align: top; +} + /*------------------------------------------------------------------------------ 6.0 - Admin Header ------------------------------------------------------------------------------*/ #wphead-info { margin: 0 0 0 15px; - padding-right: 15px; } #user_info { float: right; font-size: 12px; - line-height: 46px; - height: 46px; + line-height: 26px; + height: 25px; + position: relative; + z-index: 49; + border-style: solid; + border-width: 0; + margin-top: 3px; + padding: 0 2px 0 6px; +} + +#user_info.active { + border-width: 1px; + margin-right: -1px; + margin-top: 2px; + -moz-border-radius: 3px 3px 0 0; + -webkit-border-top-right-radius: 3px; + -webkit-border-top-left-radius: 3px; + -khtml-border-top-right-radius: 3px; + -khtml-border-top-left-radius: 3px; + border-top-right-radius: 3px; + border-top-left-radius: 3px; } #user_info p { margin: 0; padding: 0; - line-height: 46px; + line-height: 25px; + cursor: pointer; +} + +#user_info .hide-if-no-js p { + margin: 0 20px 0 0; +} + +#user_info:hover .hide-if-no-js p { + text-decoration: underline; +} +#user_info.active .hide-if-no-js p { + text-decoration: none; +} + +#user_info_arrow { + height: 22px; + width: 22px; + position: absolute; + right: 3px; + top: 0; + cursor: pointer; +} + +#user_info_links_wrap { + min-width: 100px; + width: 100%; + position: absolute; + top: 25px; + right: 0; + padding: 0; + text-shadow: rgba(255,255,255,0.7) 0 1px 0; +} + +#user_info_links { + position: absolute; + left: -1px; + right: -1px; + overflow: hidden; +} + +#user_info.active #user_info_links ul { + margin-top: 0; + -moz-transition: margin-top 200ms; + -webkit-transition: margin-top 200ms; + -o-transition: margin-top 200ms; + transition: margin-top 200ms; +} + +#user_info_links ul { + border-width: 1px; + border-style: solid; + margin-top: -1000px; + -moz-transition: margin-top 500ms ease-in; + -webkit-transition: margin-top 500ms ease-in; + -o-transition: margin-top 500ms ease-in; + transition: margin-top 500ms ease-in; +} + +#user_info_links, +#user_info_links ul, +#user_info_links li:last-child { + -moz-border-radius: 0 0 3px 3px; + -webkit-border-bottom-right-radius: 3px; + -webkit-border-bottom-left-radius: 3px; + -khtml-border-bottom-right-radius: 3px; + -khtml-border-bottom-left-radius: 3px; + border-bottom-right-radius: 3px; + border-bottom-left-radius: 3px; +} + +#user_info_links li { + display: block; + margin: 0; +} + +#user_info_links a { + display: block; + padding: 6px 8px; } #wphead { - height: 46px; + height: 32px; + margin-right: 20px; + margin-left: 2px; } #wphead a, @@ -611,34 +967,24 @@ form.upgrade .hint { #header-logo { float: left; - margin: 7px 0 0 15px; + margin: 7px 0; + -webkit-user-select: none; + -moz-user-select: none; + -khtml-user-select: none; + user-select: none; } #wphead h1 { - font: normal 22px Georgia, "Times New Roman", "Bitstream Charter", Times, serif; - padding: 10px 8px 5px; + font: normal 16px Georgia, "Times New Roman", "Bitstream Charter", Times, serif; + padding: 6px 8px 5px; margin: 0; float: left; } -#wphead h1.long-title { - font: normal 18px Georgia, "Times New Roman", "Bitstream Charter", Times, serif; - padding: 12px 10px 5px; -} - -#wphead #privacy-on-link { - font-size: 50%; - font-style: normal; - line-height: 17px; - padding: 0 6px; - vertical-align: middle; -} - #wphead h1 a:hover { text-decoration:none; } -#wphead h1 a:hover #site-title, -#wphead h1 a#privacy-on-link:hover { +#wphead h1 a:hover #site-title { text-decoration:underline; } @@ -648,10 +994,11 @@ form.upgrade .hint { ------------------------------------------------------------------------------*/ #favorite-actions { - float: right; - margin: 11px 12px 0; + margin: 0 12px 0 15px; min-width: 130px; position: relative; + display: inline-block; + top: -1px; } #favorite-first { @@ -660,13 +1007,13 @@ form.upgrade .hint { -webkit-border-radius: 12px; border-radius: 12px; line-height: 15px; - padding: 3px 30px 4px 12px; + padding: 0 30px 0 0; border-width: 1px; border-style: solid; } #favorite-inside { - margin: 0 0 0 0px; + margin: 0; padding: 2px 1px; border-width: 1px; border-style: solid; @@ -682,6 +1029,10 @@ form.upgrade .hint { border-bottom-left-radius: 12px; } +#favorite-first a { + padding: 2px 0 2px 12px; +} + #favorite-actions a { display: block; text-decoration: none; @@ -690,14 +1041,17 @@ form.upgrade .hint { #favorite-inside a { padding: 3px 5px 3px 10px; + line-height: 20px; } #favorite-toggle { - height: 22px; + height: 18px; position: absolute; right: 0; top: 1px; width: 28px; + border-width: 0 0 0 1px; + border-style: solid; } #favorite-actions .slide-down { @@ -722,7 +1076,7 @@ form.upgrade .hint { } #screen-meta-links { - margin: 0 18px 0 0; + margin: 0 24px 0 0; } #screen-meta .screen-reader-text { @@ -734,13 +1088,14 @@ form.upgrade .hint { float: right; height: 22px; padding: 0; - margin: 0 6px 0 0; - font-family: "Lucida Grande", Verdana, Arial, "Bitstream Vera Sans", sans-serif; - background: #e3e3e3; + margin: 0 0 0 6px; + font-family: sans-serif; -moz-border-radius-bottomleft: 3px; -moz-border-radius-bottomright: 3px; -webkit-border-bottom-left-radius: 3px; -webkit-border-bottom-right-radius: 3px; + border-bottom-left-radius: 3px; + border-bottom-right-radius: 3px; } #contextual-help-wrap li { @@ -764,11 +1119,8 @@ form.upgrade .hint { padding: 0 16px 0 6px; height: 22px; line-height: 22px; - font-size: 10px; + font-size: 12px; display: block; - background-repeat: no-repeat; - background-position: top right; - background-color: transparent; text-shadow: rgba(255,255,255,0.7) 0 1px 0; } @@ -787,12 +1139,8 @@ form.upgrade .hint { border-style: none solid solid; border-top: 0 none; border-width: 0 1px 1px; - margin: 0 15px; + margin: 0 20px 0 0; padding: 8px 12px 12px; - -moz-border-radius: 0 0 4px 4px; - -webkit-border-radius: 0 0 4px 4px; - -khtml-border-radius: 0 0 4px 4px; - border-radius: 0 0 4px 4px; } .metabox-prefs label { @@ -815,6 +1163,24 @@ form.upgrade .hint { 7.0 - Main Navigation (Left Menu) ------------------------------------------------------------------------------*/ +#adminmenuback, +#adminmenuwrap { + border-width: 0 1px 0 0; + border-style: solid; +} +#adminmenuwrap { + position: relative; +} + +#adminmenushadow { + position: absolute; + top: 0; + right: 0; + bottom: 0; + width: 6px; + z-index: 20; +} + /* side admin menu */ #adminmenu * { -webkit-user-select: none; @@ -830,12 +1196,11 @@ form.upgrade .hint { margin: 0; position: relative; z-index: 2; - border-width: 1px 0 0; - border-style: solid none none; } #adminmenu .wp-submenu a { - font: normal 11px/18px "Lucida Grande", Verdana, Arial, "Bitstream Vera Sans", sans-serif; + font-size: 12px; + line-height: 18px; } #adminmenu .wp-submenu li.current, @@ -846,27 +1211,27 @@ form.upgrade .hint { #adminmenu a.menu-top, #adminmenu .wp-submenu-head { - font: normal 13px/18px Georgia, "Times New Roman", "Bitstream Charter", Times, serif; + font-size: 13px; + line-height: 18px; } #adminmenu div.wp-submenu-head { display: none; } -.folded #adminmenu div.wp-submenu-head, -.folded #adminmenu li.wp-has-submenu div.sub-open { +.js.folded #adminmenu div.wp-submenu-head { display: block; } -.folded #adminmenu a.menu-top, -.folded #adminmenu .wp-submenu, -.folded #adminmenu li.wp-menu-open .wp-submenu, -.folded #adminmenu div.wp-menu-toggle { +.js.folded #adminmenu a.menu-top, +body.no-js #adminmenu .wp-menu-toggle, +.js.folded #adminmenu div.wp-menu-toggle { display: none; } -#adminmenu li.wp-menu-open .wp-submenu, -.no-js #adminmenu .open-if-no-js .wp-submenu { +body.js #adminmenu li.wp-menu-open .wp-submenu, +body.no-js #adminmenu .open-if-no-js .wp-submenu, +body.no-js #adminmenu li.wp-has-current-submenu .wp-submenu { display: block; } @@ -875,6 +1240,9 @@ form.upgrade .hint { width: 28px; height: 28px; } +.js.folded #adminmenu div.wp-menu-image { + width: 32px; +} #adminmenu li { margin: 0; @@ -885,31 +1253,49 @@ form.upgrade .hint { #adminmenu a { display: block; line-height: 18px; - padding: 1px 5px 3px; + padding: 2px 5px; } #adminmenu li.menu-top { min-height: 26px; + position: relative; } #adminmenu a.menu-top { + font-weight: bold; line-height: 18px; min-width: 10em; padding: 5px 5px; - border-width: 1px 1px 0; - border-style: solid solid none; + border-width: 1px 0 1px; + border-style: solid; +} + +#adminmenu li.wp-menu-open { + border-width: 0 0 1px; + border-style: solid; } #adminmenu .wp-submenu a { margin: 0; padding-left: 12px; - border-width: 0 1px 0 0; - border-style: none solid none none; } -#adminmenu .menu-top-last ul.wp-submenu { - border-width: 0 0 1px; - border-style: none none solid; +.wp-menu-arrow { + display: none; +} +#adminmenu li.wp-has-current-submenu .wp-menu-arrow, +#adminmenu li.menu-top.current .wp-menu-arrow { + display: block; + position: absolute; + right: -9px; + top: 0; + cursor: auto; + z-index: 25; +} +#adminmenu .wp-menu-arrow div { + width: 15px; + height: 30px; + background: url(../images/menu-arrow-frame.png) top right no-repeat; } #adminmenu .wp-submenu li { @@ -917,53 +1303,11 @@ form.upgrade .hint { margin: 0; } -.folded #adminmenu li.menu-top { - width: 28px; - height: 30px; - overflow: hidden; - border-width: 1px 1px 0; - border-style: solid solid none; -} - -#adminmenu .menu-top-first a.menu-top, -.folded #adminmenu li.menu-top-first, -#adminmenu .wp-submenu .wp-submenu-head { - border-width: 1px 1px 0; - border-style: solid solid none; - -moz-border-radius-topleft :6px; - -moz-border-radius-topright: 6px; - -webkit-border-top-right-radius: 6px; - -webkit-border-top-left-radius: 6px; - -khtml-border-top-right-radius: 6px; - -khtml-border-top-left-radius: 6px; - border-top-right-radius: 6px; - border-top-left-radius: 6px; -} - -#adminmenu .menu-top-last a.menu-top, -.folded #adminmenu li.menu-top-last { - border-width: 1px; +.js.folded #adminmenu li.menu-top { + width: 32px; + height: 29px; + border-width: 1px 0; border-style: solid; - -moz-border-radius-bottomleft: 6px; - -moz-border-radius-bottomright: 6px; - -webkit-border-bottom-right-radius: 6px; - -webkit-border-bottom-left-radius: 6px; - -khtml-border-bottom-right-radius: 6px; - -khtml-border-bottom-left-radius: 6px; - border-bottom-right-radius: 6px; - border-bottom-left-radius: 6px; -} - -#adminmenu li.wp-menu-open a.menu-top-last { - border-bottom: 0 none; - -moz-border-radius-bottomright: 0; - -moz-border-radius-bottomleft: 0; - -webkit-border-bottom-right-radius: 0; - -webkit-border-bottom-left-radius: 0; - -khtml-border-bottom-right-radius: 0; - -khtml-border-bottom-left-radius: 0; - border-bottom-right-radius: 0; - border-bottom-left-radius: 0; } #adminmenu .wp-menu-image img { @@ -980,77 +1324,82 @@ form.upgrade .hint { } #adminmenu li.wp-menu-separator { - height: 21px; + height: 3px; padding: 0; margin: 0; + border-width: 1px 0; + border-style: solid; + cursor: inherit; } -#adminmenu a.separator { - cursor: w-resize; - height: 20px; +#adminmenu div.separator { + height: 1px; padding: 0; + border-width: 1px 0 0 0; + border-style: solid; } -.folded #adminmenu a.separator { - cursor: e-resize; +.js.folded #adminmenu .wp-submenu { + display: block; + position: absolute; + top: -5px; + left: 26px; + z-index: 999; + width: 0; + padding: 0; + overflow: hidden; + -moz-transition: width 200ms ease-out; + -webkit-transition: width 200ms ease-out; + -o-transition: width 200ms ease-out; + transition: width 200ms ease-out; } - -#adminmenu .wp-menu-separator-last { - height: 10px; - width: 1px; +.js.folded #adminmenu .wp-submenu.sub-open { + padding: 0 8px 8px 0; } #adminmenu .wp-submenu .wp-submenu-head { - border-width: 1px; - border-style: solid; - padding: 6px 4px 6px 10px; + padding: 6px 4px 5px 10px; cursor: default; + border-width: 1px 0; + border-style: solid; } -.folded #adminmenu .wp-submenu { - position: absolute; - margin: -1px 0 0 28px; - padding: 0 8px 8px; - z-index: 999; - border: 0 none; -} - -.folded #adminmenu .wp-submenu ul { - width: 140px; - border-width: 0 0 1px; - border-style: none none solid; +.js.folded #adminmenu .wp-submenu-wrap { + margin-top: 4px; + border-width: 0 1px 1px 0; + border-style: solid; + position: relative; + -webkit-border-bottom-right-radius: 3px; + -webkit-border-top-right-radius: 3px; + -khtml-border-bottom-right-radius: 3px; + -khtml-border-top-right-radius: 3px; + -moz-border-radius-bottomright: 3px; + -moz-border-radius-topright: 3px; + border-bottom-right-radius: 3px; + border-top-right-radius: 3px; } -.folded #adminmenu .wp-submenu li.wp-first-item { - border-top: 0 none; +.js.folded #adminmenu .wp-submenu ul { + border-width: 0 0 0 1px; + border-style: solid; } -.folded #adminmenu .wp-submenu a { +.js.folded #adminmenu .wp-submenu a { padding-left: 10px; } -.folded #adminmenu a.wp-has-submenu { +.js.folded #adminmenu a.wp-has-submenu { margin-left: 40px; } -#adminmenu li.menu-top-last .wp-submenu ul { - border-width: 0 0 1px; - border-style: none none solid; -} - #adminmenu .wp-menu-toggle { - width: 22px; + width: 18px; clear: right; float: right; margin: 1px 0 0; height: 27px; padding: 1px 2px 0 0; - cursor: default; -} - -#adminmenu li.wp-has-current-submenu ul { - border-bottom-width: 1px; - border-bottom-style: solid; + cursor: pointer; } #adminmenu .wp-menu-image a { @@ -1061,11 +1410,11 @@ form.upgrade .hint { padding: 6px 0 0 1px; } -#adminmenu #awaiting-mod, +#adminmenu .awaiting-mod, #adminmenu span.update-plugins, #sidemenu li a span.update-plugins { position: absolute; - font-family: Helvetica, Arial, sans-serif; + font-family: sans-serif; font-size: 9px; line-height: 17px; font-weight: bold; @@ -1077,7 +1426,7 @@ form.upgrade .hint { border-radius: 10px; } -#adminmenu li #awaiting-mod span, +#adminmenu li .awaiting-mod span, #adminmenu li span.update-plugins span, #sidemenu li a span.update-plugins span { display: block; @@ -1091,7 +1440,7 @@ form.upgrade .hint { .post-com-count-wrapper { min-width: 22px; - font-family: Helvetica, Arial, sans-serif; + font-family: sans-serif; } .post-com-count { @@ -1106,10 +1455,10 @@ form.upgrade .hint { } .post-com-count span { - font-size: 9px; + font-size: 11px; font-weight: bold; - height: 1.7em; - line-height: 1.70em; + height: 1.4em; + line-height: 1.4em; min-width: 0.7em; padding: 0 6px; display: inline-block; @@ -1142,6 +1491,32 @@ strong .post-com-count { padding: 4px 8px; } +#collapse-menu { + font-size: 12px; + line-height: 34px; +} + +.js.folded #collapse-menu span { + display: none; +} + +#collapse-button, +#collapse-button div { + width: 15px; + height: 15px; +} + +#collapse-button { + float: left; + margin: 8px 6px; + border-width: 1px; + border-style: solid; + -moz-border-radius: 10px; + -khtml-border-radius: 10px; + -webkit-border-radius: 10px; + border-radius: 10px; +} + /*------------------------------------------------------------------------------ 8.0 - Layout Blocks @@ -1151,7 +1526,8 @@ body.wp-admin { min-width: 785px; } -body.admin-bar #wphead { +body.admin-bar #wphead, +body.admin-bar #adminmenu { padding-top: 28px; } @@ -1169,6 +1545,11 @@ body.admin-bar #wphead { overflow: hidden; } +.widefat th { + font-family: Georgia, "Times New Roman", "Bitstream Charter", Times, serif; + font-weight: normal; +} + .widefat td p { margin: 2px 0 0.8em; } @@ -1177,15 +1558,6 @@ body.admin-bar #wphead { margin: 0.6em 0; } -.widget .widget-top, -.postbox h3 { - cursor: move; - -webkit-user-select: none; - -moz-user-select: none; - -khtml-user-select: none; - user-select: none; -} - .postbox-container { float: left; padding-right: 0.5%; @@ -1195,10 +1567,6 @@ body.admin-bar #wphead { min-height: 300px; } -.postbox .hndle span { - padding: 6px 0; -} - .postbox .hndle { cursor: move; } @@ -1210,8 +1578,9 @@ body.admin-bar #wphead { .postbox .handlediv { float: right; - width: 23px; - height: 26px; + width: 27px; + height: 30px; + cursor: pointer; } .sortable-placeholder { @@ -1224,37 +1593,35 @@ body.admin-bar #wphead { .postbox, .stuffbox { margin-bottom: 20px; + padding: 0; border-width: 1px; border-style: solid; line-height: 1; - -moz-border-radius: 6px; - -khtml-border-radius: 6px; - -webkit-border-radius: 6px; - border-radius: 6px; } .widget .widget-top, .postbox h3, -.postbox h3, .stuffbox h3 { - -moz-border-radius: 6px 6px 0 0; - -webkit-border-top-right-radius: 6px; - -webkit-border-top-left-radius: 6px; - -khtml-border-top-right-radius: 6px; - -khtml-border-top-left-radius: 6px; - border-top-right-radius: 6px; - border-top-left-radius: 6px; + margin-top: 1px; + border-bottom-width: 1px; + border-style: solid; + cursor: move; + -webkit-user-select: none; + -moz-user-select: none; + -khtml-user-select: none; + user-select: none; +} + +.postbox .inside, +.stuffbox .inside { + padding: 0 10px; } .postbox.closed h3 { - -moz-border-radius-bottomleft: 4px; - -webkit-border-bottom-left-radius: 4px; - -khtml-border-bottom-left-radius: 4px; - border-bottom-left-radius: 4px; - -moz-border-radius-bottomright: 4px; - -webkit-border-bottom-right-radius: 4px; - -khtml-border-bottom-right-radius: 4px; - border-bottom-right-radius: 4px; + border: none; + -moz-box-shadow: none; + -webkit-box-shadow: none; + box-shadow: none; } .postbox table.form-table { @@ -1320,10 +1687,6 @@ body.admin-bar #wphead { word-wrap: break-word; } -#the-comment-list .check-column { - padding-top: 8px; -} - /*------------------------------------------------------------------------------ 10.0 - List Posts (/Pages/etc) @@ -1374,8 +1737,9 @@ table.fixed { width: 20%; } #commentsdiv.postbox .inside { - line-height:1.4em; - margin:0; + line-height: 1.4em; + margin: 0; + padding: 0; } #commentsdiv.postbox .inside .row-actions { line-height:18px; @@ -1401,7 +1765,7 @@ table.fixed { display: none; width: 7px; height: 4px; - margin-top: 5px; + margin-top: 8px; margin-left: 7px; background-image: url(../images/sort.gif); background-repeat: no-repeat; @@ -1473,10 +1837,11 @@ th.asc:hover span.sorting-indicator { cursor: default; height: 30px; line-height: 30px; - font-size: 11px; + font-size: 12px; } -.tablenav .one-page { +.tablenav .no-pages, +.tablenav .one-page .pagination-links { display: none; } @@ -1487,10 +1852,10 @@ th.asc:hover span.sorting-indicator { padding: 3px 6px; border-width: 1px; border-style: solid; - -moz-border-radius: 5px; - -khtml-border-radius: 5px; - -webkit-border-radius: 5px; - border-radius: 5px; + -moz-border-radius: 3px; + -khtml-border-radius: 3px; + -webkit-border-radius: 3px; + border-radius: 3px; } .tablenav .tablenav-pages a.disabled:hover { @@ -1619,8 +1984,7 @@ tr.inline-edit-row td { width: 69%; } -#wpbody-content .inline-edit-row-page .inline-edit-col-right, -#wpbody-content .bulk-edit-row-post .inline-edit-col-right { +#wpbody-content .inline-edit-row-page .inline-edit-col-right { margin-top: 27px; } @@ -1712,6 +2076,11 @@ tr.inline-edit-row td { margin-right: 0.5em } +.inline-edit-col-right .input-text-wrap input.inline-edit-menu-order-input { + width: 6em; +} + + /* Styling */ .inline-edit-row h4 { text-transform: uppercase; @@ -1784,7 +2153,7 @@ ul.cat-checklist { .inline-edit-row .catshow, .inline-edit-row .cathide, .inline-edit-row #bulk-titles div { - font-family: "Lucida Grande", Verdana, Arial, "Bitstream Vera Sans", sans-serif; + font-family: sans-serif; font-style: normal; font-size: 11px; } @@ -1852,23 +2221,29 @@ table .inline-edit-row fieldset ul.cat-hover { padding: 3px 4px; border-width: 1px; border-style: solid; - -moz-border-radius: 6px; - -khtml-border-radius: 6px; - -webkit-border-radius: 6px; - border-radius: 6px; + -moz-border-radius: 3px; + -khtml-border-radius: 3px; + -webkit-border-radius: 3px; + border-radius: 3px; font-size: 1.7em; line-height: 100%; width: 100%; outline: none; } -#titlediv #title-prompt-text { +#titlediv #title-prompt-text, +#wp-fullscreen-title-prompt-text { color: #bbb; position: absolute; font-size: 1.7em; padding: 8px; } +#wp-fullscreen-title-prompt-text { + left: 0; + padding: 11px; +} + #poststuff .inside-submitbox, #side-sortables .inside-submitbox { margin: 0 3px; @@ -2011,9 +2386,12 @@ input#link_url { } .postbox { + -moz-border-radius: 3px; + -webkit-border-radius: 3px; + -khtml-border-radius: 3px; + border-radius: 3px; position: relative; min-width: 255px; - width: 99.5%; } #trackback_url { @@ -2036,7 +2414,8 @@ input#link_url { width: 100%; } -#side-sortables .category-add input.category-add-sumbit, #post-body .category-add input.category-add input.category-add-sumbit { +#side-sortables .category-add input.category-add-sumbit, +#post-body .category-add input.category-add input.category-add-sumbit { width: auto; } @@ -2110,6 +2489,7 @@ div.tabs-panel-inactive { #side-sortables .add-menu-item-tabs li, .wp-tab-bar li { display: inline; + line-height: 1.35em; } #side-sortables .category-tabs a, @@ -2205,11 +2585,6 @@ form#tags-filter { position: relative; } -p.search-box { - float: right; - margin: -5px 0 0; -} - .screen-per-page { width: 3em; } @@ -2263,17 +2638,17 @@ td.post-title p, td.plugin-title p { border-width: 0 1px 1px; border-style: none solid solid; width: 100%; - -moz-border-radius: 0 0 6px 6px; - -webkit-border-bottom-left-radius: 6px; - -webkit-border-bottom-right-radius: 6px; - -khtml-border-bottom-left-radius: 6px; - -khtml-border-bottom-right-radius: 6px; - border-bottom-left-radius: 6px; - border-bottom-right-radius: 6px; + -moz-border-radius: 0 0 3px 3px; + -webkit-border-bottom-left-radius: 3px; + -webkit-border-bottom-right-radius: 3px; + -khtml-border-bottom-left-radius: 3px; + -khtml-border-bottom-right-radius: 3px; + border-bottom-left-radius: 3px; + border-bottom-right-radius: 3px; } #post-status-info td { - font-size: 11px; + font-size: 12px; } .autosave-info { @@ -2443,7 +2818,7 @@ table.diff tr { table.diff td, table.diff th { padding: .5em; - font-family: Consolas, Monaco, Courier, monospace; + font-family: Consolas, Monaco, monospace; border: none; } @@ -2546,21 +2921,6 @@ div.tabs-panel-inactive { margin: 0 5px 0 125px; } -#side-sortables .category-tabs li, -#side-sortables .add-menu-item-tabs li { - display: inline; -} - -#side-sortables .category-tabs a, -#side-sortables .add-menu-item-tabs a { - text-decoration: none; -} - -#side-sortables .category-tabs, -#side-sortables .add-menu-item-tabs { - margin-bottom: 3px; -} - .categorydiv ul, .customlinkdiv ul, .posttypediv ul, @@ -2662,7 +3022,7 @@ span.description, .form-wrap p { font-size: 12px; font-style: italic; - font-family: "Lucida Grande", Verdana, Arial, "Bitstream Vera Sans", sans-serif; + font-family: sans-serif; } .form-wrap .form-field { @@ -2694,7 +3054,6 @@ span.description, } .ajaxtag .newtag { - background: transparent; position: relative; } @@ -3007,71 +3366,6 @@ abbr.required { bottom: 1px; } -/* favorite-actions */ -#favorite-actions { - float: right; - margin: 11px 12px 0; - min-width: 130px; - position: relative; -} - -#favorite-first { - -moz-border-radius: 12px; - -khtml-border-radius: 12px; - -webkit-border-radius: 12px; - border-radius: 12px; - line-height: 15px; - padding: 3px 30px 4px 12px; - border-width: 1px; - border-style: solid; -} - -#favorite-inside { - margin: 0 0 0 0px; - padding: 2px 1px; - border-width: 1px; - border-style: solid; - position: absolute; - z-index: 11; - display: none; - -moz-border-radius: 0 0 12px 12px; - -webkit-border-bottom-right-radius: 12px; - -webkit-border-bottom-left-radius: 12px; - -khtml-border-bottom-right-radius: 12px; - -khtml-border-bottom-left-radius: 12px; - border-bottom-right-radius: 12px; - border-bottom-left-radius: 12px; -} - -#favorite-actions a { - display: block; - text-decoration: none; - font-size: 11px; -} - -#favorite-inside a { - padding: 3px 5px 3px 10px; -} - -#favorite-toggle { - height: 22px; - position: absolute; - right: 0; - top: 1px; - width: 28px; -} - -#favorite-actions .slide-down { - -moz-border-radius: 12px 12px 0 0; - -webkit-border-bottom-right-radius: 0; - -webkit-border-bottom-left-radius: 0; - -khtml-border-bottom-right-radius: 0; - -khtml-border-bottom-left-radius: 0; - border-bottom-right-radius: 0; - border-bottom-left-radius: 0; - border-bottom: none; -} - ul#dismissed-updates { display: none; } @@ -3176,10 +3470,10 @@ td.imgedit-settings input { float: left; width: 32px; height: 32px; - -moz-border-radius: 4px; - -khtml-border-radius: 4px; - -webkit-border-radius: 4px; - border-radius: 4px; + -moz-border-radius: 3px; + -khtml-border-radius: 3px; + -webkit-border-radius: 3px; + border-radius: 3px; border-width: 1px; border-style: solid; } @@ -3363,7 +3657,7 @@ span.imgedit-scale-warn { margin-bottom: 9px; padding: 8px 10px; line-height: 20px; - font-size: 11px; + font-size: 12px; } .form-table th, @@ -3703,19 +3997,26 @@ table#availablethemes td.bottom { } .appearance_page_custom-header #upload-form p label { - font-size: 11px; + font-size: 12px; } -.appearance_page_custom-header #available-headers .default-header { +.appearance_page_custom-header .available-headers .default-header { float: left; margin: 0 20px 20px 0; } -.appearance_page_custom-header #available-headers label input { +.appearance_page_custom-header .random-header { + clear: both; + margin: 0 20px 20px 0; + vertical-align: middle; +} + +.appearance_page_custom-header .available-headers label input, +.appearance_page_custom-header .random-header label input { margin-right: 10px; } -.appearance_page_custom-header #available-headers label img { +.appearance_page_custom-header .available-headers label img { vertical-align: middle; } @@ -3734,10 +4035,6 @@ div#custom-background-image img { max-height: 300px; } -#custom-background label { - padding-right: 15px; -} - /*------------------------------------------------------------------------------ 16.3 - Tabbed Admin Screen Interface (Experimental) @@ -3745,9 +4042,9 @@ div#custom-background-image img { .nav-tab { border-style: solid; - border-color: #ccc #ccc #f9f9f9; + border-color: #dfdfdf #dfdfdf #fff; border-width: 1px 1px 0; - color: #c1c1c1; + color: #aaa; text-shadow: rgba(255,255,255,1) 0 1px 0; font-size: 12px; line-height: 16px; @@ -3755,13 +4052,13 @@ div#custom-background-image img { padding: 4px 14px 6px; text-decoration: none; margin: 0 6px -1px 0; - -moz-border-radius: 5px 5px 0 0; - -webkit-border-top-left-radius: 5px; - -webkit-border-top-right-radius: 5px; - -khtml-border-top-left-radius: 5px; - -khtml-border-top-right-radius: 5px; - border-top-left-radius: 5px; - border-top-right-radius: 5px; + -moz-border-radius: 3px 3px 0 0; + -webkit-border-top-left-radius: 3px; + -webkit-border-top-right-radius: 3px; + -khtml-border-top-left-radius: 3px; + -khtml-border-top-right-radius: 3px; + border-top-left-radius: 3px; + border-top-right-radius: 3px; } .nav-tab-active { @@ -3769,14 +4066,23 @@ div#custom-background-image img { color: #464646; } +.nav-tab:hover, +.nav-tab-active { + border-color: #ccc #ccc #fff; +} + h2.nav-tab-wrapper, h3.nav-tab-wrapper { border-bottom: 1px solid #ccc; padding-bottom: 0; } h2 .nav-tab { - padding: 4px 20px 6px; - font: italic normal normal 24px/35px Georgia, "Times New Roman", "Bitstream Charter", Times, serif; + padding: 4px 10px 6px; + font-family: "HelveticaNeue-Light", "Helvetica Neue Light", "Helvetica Neue", sans-serif; + font-weight: 200; + font-size: 20px; + line-height: 24px; + } @@ -3824,10 +4130,6 @@ input.button-highlighted, padding: 7px 0; } -.plugins td, .plugins th { - border-bottom: 0 none; -} - .plugins .inactive td, .plugins .inactive th, .plugins .active td, @@ -3857,10 +4159,10 @@ input.button-highlighted, padding: 3px 5px; border-width: 1px; border-style: solid; - -moz-border-radius: 5px; - -khtml-border-radius: 5px; - -webkit-border-radius: 5px; - border-radius: 5px; + -moz-border-radius: 3px; + -khtml-border-radius: 3px; + -webkit-border-radius: 3px; + border-radius: 3px; } .plugin-install-php h4 { @@ -3902,7 +4204,80 @@ input.button-highlighted, 19.0 - Tools ------------------------------------------------------------------------------*/ +.pressthis { + margin: 20px 0; +} + +.pressthis a { + display: inline-block; + width: 113px; + position: relative; + cursor: move; + color: #333; + background: #dfdfdf; + -webkit-gradient( + linear, + left bottom, + left top, + color-stop(0.07, rgb(230,230,230)), + color-stop(0.77, rgb(216,216,216)) + ); + -moz-linear-gradient( + center bottom, + rgb(230,230,230) 7%, + rgb(216,216,216) 77% + ); + background-repeat: no-repeat; + background-image-position: 10px 8px; + border-radius: 5px; + -webkit-border-radius: 5px; + -moz-border-radius: 5px; + -o-border-radius: 5px; + border: 1px #b4b4b4 solid; + font: normal normal normal 14px/16px Georgia, "Times New Roman", "Bitstream Charter", Times, serif; + text-decoration: none; + text-shadow: #fff 0 1px 0px; + -webkit-text-shadow: #fff 0 1px 0px; + -moz-text-shadow: #fff 0 1px 0px; + -o-text-shadow: #fff 0 1px 0px; +} + +.pressthis a:hover, +.pressthis a:active { + color: #333 +} + +.pressthis a:hover:after { + transform: skew(20deg) rotate(9deg); + -webkit-transform: skew(20deg) rotate(9deg); + -moz-transform: skew(20deg) rotate(9deg); + box-shadow: 0 10px 8px rgba(0, 0, 0, 0.7); + -webkit-box-shadow: 0 10px 8px rgba(0, 0, 0, 0.7); + -moz-box-shadow: 0 10px 8px rgba(0, 0, 0, 0.7); +} + +.pressthis a span { + background: url(../images/press-this.png) no-repeat -45px 5px ; + padding: 8px 0 8px 32px; + display: inline-block; +} +.pressthis a:after { + content: ''; + width: 70%; + height: 55%; + z-index: -1; + position: absolute; + right: 10px; + bottom: 9px; + background: transparent; + transform: skew(20deg) rotate(6deg); + -webkit-transform: skew(20deg) rotate(6deg); + -moz-transform: skew(20deg) rotate(6deg); + box-shadow: 0 10px 8px rgba(0, 0, 0, 0.6); + -webkit-box-shadow: 0 10px 8px rgba(0, 0, 0, 0.6); + -moz-box-shadow: 0 10px 8px rgba(0, 0, 0, 0.6); +} /*------------------------------------------------------------------------------ @@ -3912,7 +4287,7 @@ input.button-highlighted, #utc-time, #local-time { padding-left: 25px; font-style: italic; - font-family: "Lucida Grande", Verdana, Arial, "Bitstream Vera Sans", sans-serif; + font-family: sans-serif; } .defaultavatarpicker .avatar { @@ -3926,7 +4301,12 @@ input.button-highlighted, ------------------------------------------------------------------------------*/ #footer { - margin-top: -46px; + position: absolute; + bottom: 0; + left: 0; + right: 0; + padding: 10px 0; + margin-right: 20px; border-top: 1px; border-style: solid; } @@ -3934,14 +4314,11 @@ input.button-highlighted, #footer, #footer a { font-size: 12px; - font-family: Georgia, "Times New Roman", "Bitstream Charter", Times, serif; - font-style: italic; } #footer p { margin: 0; - padding: 15px; - line-height: 15px; + line-height: 20px; } #footer a { @@ -3978,14 +4355,14 @@ p.pagenav { } .row-title { - font-size: 12px !important; + font-size: 13px !important; font-weight: bold; } .column-author img, .column-username img { float: left; margin-right: 10px; - margin-top: 3px; + margin-top: 1px; } .row-actions { @@ -4042,7 +4419,6 @@ table.form-table td .updated { position: absolute; } - #poststuff h2 { margin-top: 20px; font-size: 1.5em; @@ -4050,43 +4426,50 @@ table.form-table td .updated { padding: 0 0 3px; clear: left; } + #poststuff h3, .metabox-holder h3 { - font-size: 12px; - font-weight: bold; - padding: 7px 9px; + font-size: 15px; + font-family: Georgia, "Times New Roman", "Bitstream Charter", Times, serif; + font-weight: normal; + padding: 7px 10px; margin: 0; line-height: 1; } + #poststuff .inside, #poststuff .inside p { - font-size: 11px; - margin: 6px 6px 8px; + font-size: 12px; + margin: 6px 0 8px; } + #poststuff .inside .submitbox p { margin: 1em 0; } + #post-visibility-select, #post-formats-select { line-height: 1.5em; margin-top: 3px; } + #poststuff #submitdiv .inside { margin: 0; + padding: 0; } + #titlediv, #poststuff .postarea { margin-bottom: 20px; } - td.post-title strong, td.plugin-title strong { display: block; margin-bottom: .2em; } + td.post-title p, td.plugin-title p { margin: 6px 0; } - .wp-hidden-children .wp-hidden-child, .ui-tabs-hide { display: none; @@ -4096,7 +4479,6 @@ td.post-title p, td.plugin-title p { text-decoration: none; } - .tool-box { margin: 15px 0 35px; } @@ -4108,12 +4490,10 @@ td.post-title p, td.plugin-title p { font: 18px/24px Georgia, "Times New Roman", "Bitstream Charter", Times, serif; } - .pressthis a { font-size: 1.2em; } - #sidemenu { margin: -30px 15px 0 315px; list-style: none; @@ -4122,6 +4502,7 @@ td.post-title p, td.plugin-title p { padding-left: 10px; font-size: 12px; } + #sidemenu a { padding: 0 7px; display: block; @@ -4132,6 +4513,7 @@ td.post-title p, td.plugin-title p { border-bottom-width: 1px; border-bottom-style: solid; } + #sidemenu li { display: inline; line-height: 200%; @@ -4141,20 +4523,22 @@ td.post-title p, td.plugin-title p { margin: 0; padding: 0; } + #sidemenu a.current { font-weight: normal; padding-left: 6px; padding-right: 6px; - -moz-border-radius: 4px 4px 0 0; - -webkit-border-top-left-radius: 4px; - -webkit-border-top-right-radius: 4px; - -khtml-border-top-left-radius: 4px; - -khtml-border-top-right-radius: 4px; - border-top-left-radius: 4px; - border-top-right-radius: 4px; + -moz-border-radius: 3px 3px 0 0; + -webkit-border-top-left-radius: 3px; + -webkit-border-top-right-radius: 3px; + -khtml-border-top-left-radius: 3px; + -khtml-border-top-right-radius: 3px; + border-top-left-radius: 3px; + border-top-right-radius: 3px; border-width: 1px; border-style: solid; } + #sidemenu li a .count-0 { display: none; } @@ -4166,10 +4550,10 @@ td.post-title p, td.plugin-title p { border-style: solid; line-height: 1.8em; word-spacing: 3px; - -moz-border-radius: 6px; - -khtml-border-radius: 6px; - -webkit-border-radius: 6px; - border-radius: 6px; + -moz-border-radius: 3px; + -khtml-border-radius: 3px; + -webkit-border-radius: 3px; + border-radius: 3px; } .plugin-install #description, .plugin-install-network #description { @@ -4198,27 +4582,28 @@ body.iframe { .anchors { margin: 10px 20px 10px 20px; } + div.nav { height: 2em; padding: 7px 10px; vertical-align: text-top; margin: 5px 0; } + .nav .button-secondary { padding: 2px 4px; } -* html #themeselect { - padding: 0 3px; - height: 22px; -} + .settings-toggle { text-align: right; margin: 5px 7px 15px 0; font-size: 12px; } + .settings-toggle h3 { margin: 0; } + form#tags-filter { position: relative; } @@ -4236,38 +4621,45 @@ td.media-icon img { max-width: 80px; max-height: 60px; } + .screen-per-page { width: 3em; } -* html #template div {margin-right: 0;} .list-ajax-loading { float: right; margin-right: 9px; margin-top: -1px; } + .tablenav .list-ajax-loading { margin-top: 7px; } + #howto { font-size: 11px; margin: 0 5px; display: block; } + .import-system {font-size: 16px;} #namediv table { width: 100%; } + #namediv td.first { width: 10px; white-space: nowrap; } + #namediv input { width: 98%; } + #namediv p { margin: 10px 0; } + #submitdiv h3 { margin-bottom: 0 !important; } @@ -4283,34 +4675,35 @@ td.media-icon img { overflow: hidden; position: absolute; } + br.clear { height: 2px; line-height: 2px; } + .checkbox { border: none; margin: 0; padding: 0; } + #content { margin: 0; width: 100%; } + fieldset { border: 0; padding: 0; margin: 0; } -#linksubmitdiv div.inside, -div.inside { - padding: 0; - margin: 0; -} + .post-categories { display: inline; margin: 0; padding: 0; } + .post-categories li { display: inline; } diff --git a/wp-admin/custom-background.php b/wp-admin/custom-background.php index e3fc23eb4..62ebacf48 100644 --- a/wp-admin/custom-background.php +++ b/wp-admin/custom-background.php @@ -43,14 +43,14 @@ class Custom_Background { var $page = ''; /** - * PHP4 Constructor - Register administration header callback. + * Constructor - Register administration header callback. * * @since 3.0.0 * @param callback $admin_header_callback * @param callback $admin_image_div_callback Optional custom image div output callback. * @return Custom_Background */ - function Custom_Background($admin_header_callback = '', $admin_image_div_callback = '') { + function __construct($admin_header_callback = '', $admin_image_div_callback = '') { $this->admin_header_callback = $admin_header_callback; $this->admin_image_div_callback = $admin_image_div_callback; } @@ -85,7 +85,7 @@ class Custom_Background { '<p>' . __( 'You can also choose a background color. If you know the hexadecimal code for the color you want, enter it in the Color field. If not, click on the Select a Color link, and a color picker will allow you to choose the exact shade you want.' ) . '</p>' . '<p>' . __( 'Don’t forget to click on the Save Changes button when you are finished.' ) . '</p>' . '<p><strong>' . __( 'For more information:' ) . '</strong></p>' . - '<p>' . __( '<a href="http://codex.wordpress.org/Appearance_Background_SubPanel" target="_blank">Documentation on Custom Background</a>' ) . '</p>' . + '<p>' . __( '<a href="http://codex.wordpress.org/Appearance_Background_Screen" target="_blank">Documentation on Custom Background</a>' ) . '</p>' . '<p>' . __( '<a href="http://wordpress.org/support/" target="_blank">Support Forums</a>' ) . '</p>' ); wp_enqueue_script('custom-background'); wp_enqueue_style('farbtastic'); @@ -237,7 +237,6 @@ if ( get_background_image() ) { <input type="hidden" name="action" value="save" /> <?php wp_nonce_field('custom-background-upload', '_wpnonce-custom-background-upload') ?> <?php submit_button( __( 'Upload' ), 'button', 'submit', false ); ?> -</p> </form> </td> </tr> @@ -270,10 +269,10 @@ if ( get_background_image() ) { <tr valign="top"> <th scope="row"><?php _e( 'Repeat' ); ?></th> <td><fieldset><legend class="screen-reader-text"><span><?php _e( 'Background Repeat' ); ?></span></legend> -<label><input type="radio" name="background-repeat" value="no-repeat"<?php checked('no-repeat', get_theme_mod('background_repeat', 'repeat')); ?>> <?php _e('No Repeat'); ?></option></label> - <label><input type="radio" name="background-repeat" value="repeat"<?php checked('repeat', get_theme_mod('background_repeat', 'repeat')); ?>> <?php _e('Tile'); ?></option></label> - <label><input type="radio" name="background-repeat" value="repeat-x"<?php checked('repeat-x', get_theme_mod('background_repeat', 'repeat')); ?>> <?php _e('Tile Horizontally'); ?></option></label> - <label><input type="radio" name="background-repeat" value="repeat-y"<?php checked('repeat-y', get_theme_mod('background_repeat', 'repeat')); ?>> <?php _e('Tile Vertically'); ?></option></label> +<label><input type="radio" name="background-repeat" value="no-repeat"<?php checked('no-repeat', get_theme_mod('background_repeat', 'repeat')); ?> /> <?php _e('No Repeat'); ?></label> + <label><input type="radio" name="background-repeat" value="repeat"<?php checked('repeat', get_theme_mod('background_repeat', 'repeat')); ?> /> <?php _e('Tile'); ?></label> + <label><input type="radio" name="background-repeat" value="repeat-x"<?php checked('repeat-x', get_theme_mod('background_repeat', 'repeat')); ?> /> <?php _e('Tile Horizontally'); ?></label> + <label><input type="radio" name="background-repeat" value="repeat-y"<?php checked('repeat-y', get_theme_mod('background_repeat', 'repeat')); ?> /> <?php _e('Tile Vertically'); ?></label> </fieldset></td> </tr> @@ -294,8 +293,9 @@ if ( get_background_image() ) { <tr valign="top"> <th scope="row"><?php _e( 'Color' ); ?></th> <td><fieldset><legend class="screen-reader-text"><span><?php _e( 'Background Color' ); ?></span></legend> +<?php $show_clear = get_background_color() ? '' : ' style="display:none"'; ?> <input type="text" name="background-color" id="background-color" value="#<?php echo esc_attr(get_background_color()) ?>" /> -<a class="hide-if-no-js" href="#" id="pickcolor"><?php _e('Select a Color'); ?></a> +<a class="hide-if-no-js" href="#" id="pickcolor"><?php _e('Select a Color'); ?></a> <span <?php echo $show_clear; ?>class="hide-if-no-js" id="clearcolor"> (<a href="#"><?php _e( 'Clear' ); ?></a>)</span> <div id="colorPickerDiv" style="z-index: 100; background:#eee; border:1px solid #ccc; position:absolute; display:none;"></div> </fieldset></td> </tr> @@ -337,7 +337,8 @@ if ( get_background_image() ) { 'post_title' => $filename, 'post_content' => $url, 'post_mime_type' => $type, - 'guid' => $url + 'guid' => $url, + 'context' => 'custom-background' ); // Save the data @@ -345,6 +346,7 @@ if ( get_background_image() ) { // Add the meta-data wp_update_attachment_metadata( $id, wp_generate_attachment_metadata( $id, $file ) ); + update_post_meta( $id, '_wp_attachment_is_custom_background', get_option('stylesheet' ) ); set_theme_mod('background_image', esc_url($url)); diff --git a/wp-admin/custom-header.php b/wp-admin/custom-header.php index f1567f09d..24ec9b8be 100644 --- a/wp-admin/custom-header.php +++ b/wp-admin/custom-header.php @@ -42,6 +42,16 @@ class Custom_Image_Header { */ var $default_headers = array(); + + /** + * Holds custom headers uploaded by the user + * + * @var array + * @since 3.2.0 + * @access private + */ + var $uploaded_headers = array(); + /** * Holds the page menu hook. * @@ -52,14 +62,14 @@ class Custom_Image_Header { var $page = ''; /** - * PHP4 Constructor - Register administration header callback. + * Constructor - Register administration header callback. * * @since 2.1.0 * @param callback $admin_header_callback * @param callback $admin_image_div_callback Optional custom image div output callback. * @return Custom_Image_Header */ - function Custom_Image_Header($admin_header_callback, $admin_image_div_callback = '') { + function __construct($admin_header_callback, $admin_image_div_callback = '') { $this->admin_header_callback = $admin_header_callback; $this->admin_image_div_callback = $admin_image_div_callback; } @@ -93,7 +103,7 @@ class Custom_Image_Header { '<p>' . __( 'If you want to discard your custom header and go back to the default included in your theme, click on the buttons to remove the custom image and restore the original header image.' ) . '</p>' . '<p>' . __( 'Some themes come with additional header images bundled. If you see multiple images displayed, select the one you’d like and click the Save Changes button.' ) . '</p>' . '<p><strong>' . __( 'For more information:' ) . '</strong></p>' . - '<p>' . __( '<a href="http://codex.wordpress.org/Appearance_Header_SubPanel" target="_blank">Documentation on Custom Header</a>' ) . '</p>' . + '<p>' . __( '<a href="http://codex.wordpress.org/Appearance_Header_Screen" target="_blank">Documentation on Custom Header</a>' ) . '</p>' . '<p>' . __( '<a href="http://wordpress.org/support/" target="_blank">Support Forums</a>' ) . '</p>' ); } @@ -183,7 +193,7 @@ class Custom_Image_Header { if ( isset( $_POST['removeheader'] ) ) { check_admin_referer( 'custom-header-options', '_wpnonce-custom-header-options' ); - set_theme_mod( 'header_image', '' ); + set_theme_mod( 'header_image', 'remove-header' ); return; } @@ -199,11 +209,20 @@ class Custom_Image_Header { } } - if ( isset($_POST['default-header']) ) { + if ( isset( $_POST['default-header'] ) ) { check_admin_referer( 'custom-header-options', '_wpnonce-custom-header-options' ); - $this->process_default_headers(); - if ( isset($this->default_headers[$_POST['default-header']]) ) - set_theme_mod('header_image', esc_url($this->default_headers[$_POST['default-header']]['url'])); + if ( 'random-default-image' == $_POST['default-header'] ) { + set_theme_mod( 'header_image', 'random-default-image' ); + } elseif ( 'random-uploaded-image' == $_POST['default-header'] ) { + set_theme_mod( 'header_image', 'random-uploaded-image' ); + } else { + $this->process_default_headers(); + $uploaded = get_uploaded_header_images(); + if ( isset( $uploaded[$_POST['default-header']] ) ) + set_theme_mod( 'header_image', esc_url( $uploaded[$_POST['default-header']]['url'] ) ); + elseif ( isset( $this->default_headers[$_POST['default-header']] ) ) + set_theme_mod( 'header_image', esc_url( $this->default_headers[$_POST['default-header']]['url'] ) ); + } } } @@ -226,22 +245,44 @@ class Custom_Image_Header { $this->default_headers[$header]['url'] = sprintf( $this->default_headers[$header]['url'], get_template_directory_uri(), get_stylesheet_directory_uri() ); $this->default_headers[$header]['thumbnail_url'] = sprintf( $this->default_headers[$header]['thumbnail_url'], get_template_directory_uri(), get_stylesheet_directory_uri() ); } + } /** * Display UI for selecting one of several default headers. * + * Show the random image option if this theme has multiple header images. + * Random image option is on by default if no header has been set. + * * @since 3.0.0 */ - function show_default_header_selector() { - echo '<div id="available-headers">'; - foreach ( $this->default_headers as $header_key => $header ) { + function show_header_selector( $type = 'default' ) { + if ( 'default' == $type ) { + $headers = $this->default_headers; + } else { + $headers = get_uploaded_header_images(); + $type = 'uploaded'; + } + + if ( 1 < count( $headers ) ) { + echo '<div class="random-header">'; + echo '<label><input name="default-header" type="radio" value="random-' . $type . '-image"' . checked( is_random_header_image( $type ), true, false ) . ' />'; + echo __( '<strong>Random:</strong> Show a different image on each page.' ); + echo '</label>'; + echo '</div>'; + } + + echo '<div class="available-headers">'; + foreach ( $headers as $header_key => $header ) { $header_thumbnail = $header['thumbnail_url']; $header_url = $header['url']; - $header_desc = $header['description']; + $header_desc = empty( $header['description'] ) ? '' : $header['description']; echo '<div class="default-header">'; - echo '<label><input name="default-header" type="radio" value="' . esc_attr($header_key) . '" ' . checked($header_url, get_theme_mod( 'header_image' ), false) . ' />'; - echo '<img src="' . $header_thumbnail . '" alt="' . esc_attr($header_desc) .'" title="' . esc_attr($header_desc) .'" /></label>'; + echo '<label><input name="default-header" type="radio" value="' . esc_attr( $header_key ) . '" ' . checked( $header_url, get_theme_mod( 'header_image' ), false ) . ' />'; + $width = ''; + if ( !empty( $header['uploaded'] ) ) + $width = ' width="230"'; + echo '<img src="' . $header_thumbnail . '" alt="' . esc_attr( $header_desc ) .'" title="' . esc_attr( $header_desc ) . '"' . $width . ' /></label>'; echo '</div>'; } echo '<div class="clear"></div></div>'; @@ -347,7 +388,8 @@ class Custom_Image_Header { <?php if ( 'blank' == get_theme_mod( 'header_textcolor', HEADER_TEXTCOLOR ) || '' == get_theme_mod('header_textcolor', HEADER_TEXTCOLOR) || ! $this->header_text() ) { ?> toggle_text(); <?php } ?> - }); + }); +/* ]]> */ </script> <?php } @@ -431,7 +473,6 @@ class Custom_Image_Header { </div> <?php } ?> -<h3><?php _e( 'Header Image' ) ?></h3> <table class="form-table"> <tbody> @@ -480,22 +521,32 @@ class Custom_Image_Header { <form method="post" action="<?php echo esc_attr( add_query_arg( 'step', 1 ) ) ?>"> <table class="form-table"> <tbody> - <?php if ( ! empty( $this->default_headers ) ) : ?> + <?php if ( get_uploaded_header_images() ) : ?> +<tr valign="top"> +<th scope="row"><?php _e( 'Uploaded Images' ); ?></th> +<td> + <p><?php _e( 'You can choose one of your previously uploaded headers, or show a random one.' ) ?></p> + <?php + $this->show_header_selector( 'uploaded' ); + ?> +</td> +</tr> + <?php endif; + if ( ! empty( $this->default_headers ) ) : ?> <tr valign="top"> <th scope="row"><?php _e( 'Default Images' ); ?></th> <td> <?php if ( current_theme_supports( 'custom-header-uploads' ) ) : ?> - <p><?php _e( 'If you don‘t want to upload your own image, you can use one of these cool headers.' ) ?></p> + <p><?php _e( 'If you don‘t want to upload your own image, you can use one of these cool headers, or show a random one.' ) ?></p> <?php else: ?> - <p><?php _e( 'You can use one of these cool headers.' ) ?> + <p><?php _e( 'You can use one of these cool headers or show a random one on each page.' ) ?></p> <?php endif; ?> <?php - $this->show_default_header_selector(); + $this->show_header_selector( 'default' ); ?> </td> </tr> <?php endif; - if ( get_header_image() ) : ?> <tr valign="top"> <th scope="row"><?php _e( 'Remove Image' ); ?></th> @@ -506,7 +557,7 @@ class Custom_Image_Header { </tr> <?php endif; - if ( defined( 'HEADER_IMAGE' ) ) : ?> + if ( defined( 'HEADER_IMAGE' ) && '' != HEADER_IMAGE ) : ?> <tr valign="top"> <th scope="row"><?php _e( 'Reset Image' ); ?></th> <td> @@ -519,7 +570,6 @@ class Custom_Image_Header { </table> <?php if ( $this->header_text() ) : ?> -<h3><?php _e( 'Header Text' ) ?></h3> <table class="form-table"> <tbody> <tr valign="top" class="hide-if-no-js"> @@ -595,7 +645,9 @@ wp_nonce_field( 'custom-header-options', '_wpnonce-custom-header-options' ); ?> 'post_title' => $filename, 'post_content' => $url, 'post_mime_type' => $type, - 'guid' => $url); + 'guid' => $url, + 'context' => 'custom-header' + ); // Save the data $id = wp_insert_attachment($object, $file); @@ -605,6 +657,7 @@ wp_nonce_field( 'custom-header-options', '_wpnonce-custom-header-options' ); ?> if ( $width == HEADER_IMAGE_WIDTH && $height == HEADER_IMAGE_HEIGHT ) { // Add the meta-data wp_update_attachment_metadata( $id, wp_generate_attachment_metadata( $id, $file ) ); + update_post_meta( $id, '_wp_attachment_is_custom_header', get_option('stylesheet' ) ); set_theme_mod('header_image', esc_url($url)); do_action('wp_create_file_in_uploads', $file, $id); // For replication @@ -669,30 +722,33 @@ wp_nonce_field( 'custom-header-options', '_wpnonce-custom-header-options' ); ?> $_POST['height'] = $_POST['height'] * $_POST['oitar']; } - $original = get_attached_file( $_POST['attachment_id'] ); + $attachment_id = absint( $_POST['attachment_id'] ); + $original = get_attached_file($attachment_id); - $cropped = wp_crop_image($_POST['attachment_id'], $_POST['x1'], $_POST['y1'], $_POST['width'], $_POST['height'], HEADER_IMAGE_WIDTH, HEADER_IMAGE_HEIGHT); + $cropped = wp_crop_image( $attachment_id, (int) $_POST['x1'], (int) $_POST['y1'], (int) $_POST['width'], (int) $_POST['height'], HEADER_IMAGE_WIDTH, HEADER_IMAGE_HEIGHT ); if ( is_wp_error( $cropped ) ) wp_die( __( 'Image could not be processed. Please go back and try again.' ), __( 'Image Processing Error' ) ); - $cropped = apply_filters('wp_create_file_in_uploads', $cropped, $_POST['attachment_id']); // For replication + $cropped = apply_filters('wp_create_file_in_uploads', $cropped, $attachment_id); // For replication - $parent = get_post($_POST['attachment_id']); + $parent = get_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'], + 'ID' => $attachment_id, 'post_title' => basename($cropped), 'post_content' => $url, 'post_mime_type' => 'image/jpeg', - 'guid' => $url + 'guid' => $url, + 'context' => 'custom-header' ); // Update the attachment wp_insert_attachment($object, $cropped); - wp_update_attachment_metadata( $_POST['attachment_id'], wp_generate_attachment_metadata( $_POST['attachment_id'], $cropped ) ); + wp_update_attachment_metadata( $attachment_id, wp_generate_attachment_metadata( $attachment_id, $cropped ) ); + update_post_meta( $attachment_id, '_wp_attachment_is_custom_header', get_option('stylesheet' ) ); set_theme_mod('header_image', $url); diff --git a/wp-admin/edit-comments.php b/wp-admin/edit-comments.php index 40ef4a4dc..cce196b78 100644 --- a/wp-admin/edit-comments.php +++ b/wp-admin/edit-comments.php @@ -1,6 +1,6 @@ <?php /** - * Edit Comments Administration Panel. + * Edit Comments Administration Screen. * * @package WordPress * @subpackage Administration @@ -101,12 +101,6 @@ if ( $doaction ) { $wp_list_table->prepare_items(); -$total_pages = $wp_list_table->get_pagination_arg( 'total_pages' ); -if ( $pagenum > $total_pages && $total_pages > 0 ) { - wp_redirect( add_query_arg( 'paged', $total_pages ) ); - exit; -} - wp_enqueue_script('admin-comments'); enqueue_comment_hotkeys_js(); @@ -120,11 +114,11 @@ add_screen_option( 'per_page', array('label' => _x( 'Comments', 'comments per pa add_contextual_help( $current_screen, '<p>' . __( 'You can manage comments made on your site similar to the way you manage Posts and other content. This screen is customizable in the same ways as other management screens, and you can act on comments using the on-hover action links or the Bulk Actions.' ) . '</p>' . '<p>' . __( 'A yellow row means the comment is waiting for you to moderate it.' ) . '</p>' . '<p>' . __( 'In the Author column, in addition to the author’s name, email address, and blog URL, the commenter’s IP address is shown. Clicking on this link will show you all the comments made from this IP address.' ) . '</p>' . - '<p>' . __( 'In the Comment column, above each comment it says “Submitted on,” followed by the date and time the comment was left on your site. Clicking on the date/time link will take you to that comment on your live site.' ) . '</p>' . + '<p>' . __( 'In the Comment column, above each comment it says “Submitted on,” followed by the date and time the comment was left on your site. Clicking on the date/time link will take you to that comment on your live site. Hovering over any comment gives you options to approve, reply (and approve), quick edit, edit, spam mark, or trash that comment.' ) . '</p>' . '<p>' . __( 'In the In Response To column, there are three elements. The text is the name of the post that inspired the comment, and links to the post editor for that entry. The “#” permalink symbol below leads to that post on your live site. The small bubble with the number in it shows how many comments that post has received. If the bubble is gray, you have moderated all comments for that post. If it is blue, there are pending comments. Clicking the bubble will filter the comments screen to show only comments on that post.' ) . '</p>' . '<p>' . __( 'Many people take advantage of keyboard shortcuts to moderate their comments more quickly. Use the link below to learn more.' ) . '</p>' . '<p><strong>' . __( 'For more information:' ) . '</strong></p>' . - '<p>' . __( '<a href="http://codex.wordpress.org/Administration_Panels#Comments" target="_blank">Documentation on Comments</a>' ) . '</p>' . + '<p>' . __( '<a href="http://codex.wordpress.org/Administration_Screens#Comments" target="_blank">Documentation on Comments</a>' ) . '</p>' . '<p>' . __( '<a href="http://codex.wordpress.org/Comment_Spam" target="_blank">Documentation on Comment Spam</a>' ) . '</p>' . '<p>' . __( '<a href="http://codex.wordpress.org/Keyboard_Shortcuts" target="_blank">Documentation on Keyboard Shortcuts</a>' ) . '</p>' . '<p>' . __( '<a href="http://wordpress.org/support/" target="_blank">Support Forums</a>' ) . '</p>' diff --git a/wp-admin/edit-form-advanced.php b/wp-admin/edit-form-advanced.php index 720e51044..aed7b647d 100644 --- a/wp-admin/edit-form-advanced.php +++ b/wp-admin/edit-form-advanced.php @@ -12,12 +12,6 @@ if ( !defined('ABSPATH') ) wp_enqueue_script('post'); -if ( post_type_supports($post_type, 'editor') ) { - if ( user_can_richedit() ) - wp_enqueue_script('editor'); - wp_enqueue_script('word-count'); -} - if ( post_type_supports($post_type, 'editor') || post_type_supports($post_type, 'thumbnail') ) { add_thickbox(); wp_enqueue_script('media-upload'); @@ -170,28 +164,28 @@ add_screen_option('layout_columns', array('max' => 2) ); if ( 'post' == $post_type ) { add_contextual_help($current_screen, - '<p>' . __('The title field and the big Post Editing Area are fixed in place, but you can reposition all the other boxes using drag and drop, and can minimize or expand them by clicking the title bar of the box. Use the Screen Options tab to unhide more boxes (Excerpt, Send Trackbacks, Custom Fields, Discussion, Slug, Author) or to choose a 1- or 2-column layout for this screen.') . '</p>' . + '<p>' . __('The title field and the big Post Editing Area are fixed in place, but you can reposition all the other boxes using drag and drop, and can minimize or expand them by clicking the title bar of each box. Use the Screen Options tab to unhide more boxes (Excerpt, Send Trackbacks, Custom Fields, Discussion, Slug, Author) or to choose a 1- or 2-column layout for this screen.') . '</p>' . '<p>' . __('<strong>Title</strong> - Enter a title for your post. After you enter a title, you’ll see the permalink below, which you can edit.') . '</p>' . - '<p>' . __('<strong>Post editor</strong> - Enter the text for your post. There are two modes of editing: Visual and HTML. Choose the mode by clicking on the appropriate tab. Visual mode gives you a WYSIWYG editor. Click the last icon in the row to get a second row of controls. The screen icon just before that allows you to expand the edit box to full screen. The HTML mode allows you to enter raw HTML along with your post text. You can insert media files by clicking the icons above the post editor and following the directions.') . '</p>' . + '<p>' . __('<strong>Post editor</strong> - Enter the text for your post. There are two modes of editing: Visual and HTML. Choose the mode by clicking on the appropriate tab. Visual mode gives you a WYSIWYG editor. Click the last icon in the row to get a second row of controls. The HTML mode allows you to enter raw HTML along with your post text. You can insert media files by clicking the icons above the post editor and following the directions. You can go the distraction-free writing screen, new in 3.2, via the Fullscreen icon in Visual mode (second to last in the top row) or the Fullscreen button in HTML mode (last in the row). Once there, you can make buttons visible by hovering over the top area. Exit Fullscreen back to the regular post editor.') . '</p>' . '<p>' . __('<strong>Publish</strong> - You can set the terms of publishing your post in the Publish box. For Status, Visibility, and Publish (immediately), click on the Edit link to reveal more options. Visibility includes options for password-protecting a post or making it stay at the top of your blog indefinitely (sticky). Publish (immediately) allows you to set a future or past date and time, so you can schedule a post to be published in the future or backdate a post.') . '</p>' . - ( ( current_theme_supports( 'post-formats' ) && post_type_supports( 'post', 'post-formats' ) ) ? '<p>' . __( '<strong>Post Format</strong> - This designates how your theme will display a specific post. For example, you could have a <em>standard</em> blog post with a title and paragraphs, or a short <em>aside</em> that omits the title and contains a short text blurb. Please refer to the Codex for <a href="http://codex.wordpress.org/Post_Formats#Supported_Formats">descriptions of each post format</a>.' ) . '</p>' : '' ) . + ( ( current_theme_supports( 'post-formats' ) && post_type_supports( 'post', 'post-formats' ) ) ? '<p>' . __( '<strong>Post Format</strong> - This designates how your theme will display a specific post. For example, you could have a <em>standard</em> blog post with a title and paragraphs, or a short <em>aside</em> that omits the title and contains a short text blurb. Please refer to the Codex for <a href="http://codex.wordpress.org/Post_Formats#Supported_Formats">descriptions of each post format</a>. Your theme could enable all or some of 10 possible formats.' ) . '</p>' : '' ) . '<p>' . __('<strong>Featured Image</strong> - This allows you to associate an image with your post without inserting it. This is usually useful only if your theme makes use of the featured image as a post thumbnail on the home page, a custom header, etc.') . '</p>' . '<p>' . __('<strong>Send Trackbacks</strong> - Trackbacks are a way to notify legacy blog systems that you’ve linked to them. Enter the URL(s) you want to send trackbacks. If you link to other WordPress sites they’ll be notified automatically using pingbacks, and this field is unnecessary.') . '</p>' . '<p>' . __('<strong>Discussion</strong> - You can turn comments and pings on or off, and if there are comments on the post, you can see them here and moderate them.') . '</p>' . '<p>' . sprintf(__('You can also create posts with the <a href="%s">Press This bookmarklet</a>.'), 'options-writing.php') . '</p>' . '<p><strong>' . __('For more information:') . '</strong></p>' . - '<p>' . __('<a href="http://codex.wordpress.org/Posts_Add_New_SubPanel" target="_blank">Documentation on Writing and Editing Posts</a>') . '</p>' . + '<p>' . __('<a href="http://codex.wordpress.org/Posts_Add_New_Screen" target="_blank">Documentation on Writing and Editing Posts</a>') . '</p>' . '<p>' . __('<a href="http://wordpress.org/support/" target="_blank">Support Forums</a>') . '</p>' ); } elseif ( 'page' == $post_type ) { add_contextual_help($current_screen, '<p>' . __('Pages are similar to Posts in that they have a title, body text, and associated metadata, but they are different in that they are not part of the chronological blog stream, kind of like permanent posts. Pages are not categorized or tagged, but can have a hierarchy. You can nest Pages under other Pages by making one the “Parent” of the other, creating a group of Pages.') . '</p>' . - '<p>' . __('Creating a Page is very similar to creating a Post, and the screens can be customized in the same way using drag and drop, the Screen Options tab, and expanding/collapsing boxes as you choose. The Page editor mostly works the same Post editor, but there are some Page-specific features in the Page Attributes box:') . '</p>' . + '<p>' . __('Creating a Page is very similar to creating a Post, and the screens can be customized in the same way using drag and drop, the Screen Options tab, and expanding/collapsing boxes as you choose. This screen also has the new in 3.2 distraction-free writing space, available in both the Visual and HTML modes via the Fullscreen buttons. The Page editor mostly works the same as the Post editor, but there are some Page-specific features in the Page Attributes box:') . '</p>' . '<p>' . __('<strong>Parent</strong> - You can arrange your pages in hierarchies. For example, you could have an “About” page that has “Life Story” and “My Dog” pages under it. There are no limits to how many levels you can nest pages.') . '</p>' . '<p>' . __('<strong>Template</strong> - Some themes have custom templates you can use for certain pages that might have additional features or custom layouts. If so, you’ll see them in this dropdown menu.') . '</p>' . '<p>' . __('<strong>Order</strong> - Pages are usually ordered alphabetically, but you can choose your own order by entering a number (1 for first, etc.) in this field.') . '</p>' . '<p><strong>' . __('For more information:') . '</strong></p>' . - '<p>' . __('<a href="http://codex.wordpress.org/Pages_Add_New_SubPanel" target="_blank">Documentation on Adding New Pages</a>') . '</p>' . - '<p>' . __('<a href="http://codex.wordpress.org/Pages_Pages_SubPanel#Editing_Individual_Pages" target="_blank">Documentation on Editing Pages</a>') . '</p>' . + '<p>' . __('<a href="http://codex.wordpress.org/Pages_Add_New_Screen" target="_blank">Documentation on Adding New Pages</a>') . '</p>' . + '<p>' . __('<a href="http://codex.wordpress.org/Pages_Screen#Editing_Individual_Pages" target="_blank">Documentation on Editing Pages</a>') . '</p>' . '<p>' . __('<a href="http://wordpress.org/support/" target="_blank">Support Forums</a>') . '</p>' ); } @@ -201,7 +195,7 @@ require_once('./admin-header.php'); <div class="wrap"> <?php screen_icon(); ?> -<h2><?php echo esc_html( $title ); ?></h2> +<h2><?php echo esc_html( $title ); ?><?php if ( isset( $post_new_file ) ) : ?> <a href="<?php echo esc_url( $post_new_file ) ?>" class="add-new-h2"><?php echo esc_html($post_type_object->labels->add_new); ?></a><?php endif; ?></h2> <?php if ( $notice ) : ?> <div id="notice" class="error"><p><?php echo $notice ?></p></div> <?php endif; ?> @@ -210,7 +204,6 @@ require_once('./admin-header.php'); <?php endif; ?> <form name="post" action="post.php" method="post" id="post"<?php do_action('post_edit_form_tag'); ?>> <?php wp_nonce_field($nonce_action); ?> -<input type="hidden" name="parent_id" value="<?php echo esc_attr( $post->post_parent ); ?>" /> <input type="hidden" id="user-id" name="user_ID" value="<?php echo (int) $user_ID ?>" /> <input type="hidden" id="hiddenaction" name="action" value="<?php echo esc_attr( $form_action ) ?>" /> <input type="hidden" id="originalaction" name="originalaction" value="<?php echo esc_attr( $form_action ) ?>" /> @@ -248,12 +241,12 @@ $side_meta_boxes = do_meta_boxes($post_type, 'side', $post); </div> <div class="inside"> <?php -$sample_permalink_html = ! empty( $post_type_object->publicly_queryable ) ? get_sample_permalink_html($post->ID) : ''; +$sample_permalink_html = $post_type_object->public ? get_sample_permalink_html($post->ID) : ''; $shortlink = wp_get_shortlink($post->ID, 'post'); if ( !empty($shortlink) ) $sample_permalink_html .= '<input id="shortlink" type="hidden" value="' . esc_attr($shortlink) . '" /><a href="#" class="button" onclick="prompt('URL:', jQuery(\'#shortlink\').val()); return false;">' . __('Get Shortlink') . '</a>'; -if ( ! empty( $post_type_object->publicly_queryable ) && ! ( 'pending' == $post->post_status && !current_user_can( $post_type_object->cap->publish_posts ) ) ) { ?> +if ( $post_type_object->public && ! ( 'pending' == $post->post_status && !current_user_can( $post_type_object->cap->publish_posts ) ) ) { ?> <div id="edit-slug-box"> <?php if ( ! empty($post->ID) && ! empty($sample_permalink_html) && 'auto-draft' != $post->post_status ) @@ -276,9 +269,9 @@ wp_nonce_field( 'samplepermalink', 'samplepermalinknonce', false ); <?php the_editor($post->post_content); ?> <table id="post-status-info" cellspacing="0"><tbody><tr> - <td id="wp-word-count"></td> + <td id="wp-word-count"><?php printf( __( 'Word count: %s' ), '<span class="word-count">0</span>' ); ?></td> <td class="autosave-info"> - <span id="autosave"> </span> + <span class="autosave-message"> </span> <?php if ( 'auto-draft' != $post->post_status ) { echo '<span id="last-edit">'; diff --git a/wp-admin/edit-form-comment.php b/wp-admin/edit-form-comment.php index b35953660..6767ffe4a 100644 --- a/wp-admin/edit-form-comment.php +++ b/wp-admin/edit-form-comment.php @@ -120,7 +120,7 @@ $date = date_i18n( $datef, strtotime( $comment->comment_date ) ); </div> <div id="postdiv" class="postarea"> -<?php the_editor($comment->comment_content, 'content', 'newcomment_author_url', false, 4); ?> +<?php the_editor($comment->comment_content, 'content', 'newcomment_author_url', false, 4, false); ?> <?php wp_nonce_field( 'closedpostboxes', 'closedpostboxesnonce', false ); ?> </div> diff --git a/wp-admin/edit-link-form.php b/wp-admin/edit-link-form.php index f5bc0304c..2835787c4 100644 --- a/wp-admin/edit-link-form.php +++ b/wp-admin/edit-link-form.php @@ -44,7 +44,7 @@ add_contextual_help($current_screen, '<p>' . __( 'The boxes for link name, web address, and description have fixed positions, while the others may be repositioned using drag and drop. You can also hide boxes you don’t use in the Screen Options tab, or minimize boxes by clicking on the title bar of the box.' ) . '</p>' . '<p>' . __( 'XFN stands for <a href="http://gmpg.org/xfn/" target="_blank">XHTML Friends Network</a>, which is optional. WordPress allows the generation of XFN attributes to show how you are related to the authors/owners of the site to which you are linking.' ) . '</p>' . '<p><strong>' . __( 'For more information:' ) . '</strong></p>' . - '<p>' . __( '<a href="http://codex.wordpress.org/Links_Add_New_SubPanel" target="_blank">Documentation on Creating Links</a>' ) . '</p>' . + '<p>' . __( '<a href="http://codex.wordpress.org/Links_Add_New_Screen" target="_blank">Documentation on Creating Links</a>' ) . '</p>' . '<p>' . __( '<a href="http://wordpress.org/support/" target="_blank">Support Forums</a>' ) . '</p>' ); @@ -53,7 +53,7 @@ require_once ('admin-header.php'); ?> <div class="wrap"> <?php screen_icon(); ?> -<h2><?php echo esc_html( $title ); ?></h2> +<h2><?php echo esc_html( $title ); ?> <a href="link-add.php" class="add-new-h2"><?php echo esc_html_x('Add New', 'link'); ?></a></h2> <?php if ( isset( $_GET['added'] ) ) : ?> <div id="message" class="updated"><p><?php _e('Link added.'); ?></p></div> @@ -83,7 +83,7 @@ $side_meta_boxes = do_meta_boxes( 'link', 'side', $link ); <div id="post-body"> <div id="post-body-content"> <div id="namediv" class="stuffbox"> -<h3><label for="link_name"><?php _e('Name') ?></label></h3> +<h3><label for="link_name"><?php _ex('Name', 'link name') ?></label></h3> <div class="inside"> <input type="text" name="link_name" size="30" tabindex="1" value="<?php echo esc_attr($link->link_name); ?>" id="link_name" /> <p><?php _e('Example: Nifty blogging software'); ?></p> diff --git a/wp-admin/edit-tag-form.php b/wp-admin/edit-tag-form.php index daac92371..92f074a79 100644 --- a/wp-admin/edit-tag-form.php +++ b/wp-admin/edit-tag-form.php @@ -68,7 +68,7 @@ do_action($taxonomy . '_pre_edit_form', $tag, $taxonomy); ?> // Back compat hooks if ( 'category' == $taxonomy ) do_action('edit_category_form_fields', $tag); - if ( 'link_category' == $taxonomy ) + elseif ( 'link_category' == $taxonomy ) do_action('edit_link_category_form_fields', $tag); else do_action('edit_tag_form_fields', $tag); @@ -80,7 +80,7 @@ do_action($taxonomy . '_pre_edit_form', $tag, $taxonomy); ?> // Back compat hooks if ( 'category' == $taxonomy ) do_action('edit_category_form', $tag); -if ( 'link_category' == $taxonomy ) +elseif ( 'link_category' == $taxonomy ) do_action('edit_link_category_form', $tag); else do_action('edit_tag_form', $tag); diff --git a/wp-admin/edit-tags.php b/wp-admin/edit-tags.php index 0a82e29f3..12867a280 100644 --- a/wp-admin/edit-tags.php +++ b/wp-admin/edit-tags.php @@ -1,6 +1,6 @@ <?php /** - * Edit Tags Administration Panel. + * Edit Tags Administration Screen. * * @package WordPress * @subpackage Administration @@ -34,7 +34,7 @@ switch ( $wp_list_table->current_action() ) { case 'add-tag': - check_admin_referer( 'add-tag' ); + check_admin_referer( 'add-tag', '_wpnonce_add-tag' ); if ( !current_user_can( $tax->cap->edit_terms ) ) wp_die( __( 'Cheatin’ uh?' ) ); @@ -209,11 +209,11 @@ if ( 'category' == $taxonomy || 'link_category' == $taxonomy || 'post_tag' == $t '<p><strong>' . __( 'For more information:' ) . '</strong></p>'; if ( 'category' == $taxonomy ) - $help .= '<p>' . __( '<a href="http://codex.wordpress.org/Posts_Categories_SubPanel" target="_blank">Documentation on Categories</a>' ) . '</p>'; + $help .= '<p>' . __( '<a href="http://codex.wordpress.org/Posts_Categories_Screen" target="_blank">Documentation on Categories</a>' ) . '</p>'; elseif ( 'link_category' == $taxonomy ) - $help .= '<p>' . __( '<a href="http://codex.wordpress.org/Links_Link_Categories_SubPanel" target="_blank">Documentation on Link Categories</a>' ) . '</p>'; + $help .= '<p>' . __( '<a href="http://codex.wordpress.org/Links_Link_Categories_Screen" target="_blank">Documentation on Link Categories</a>' ) . '</p>'; else - $help .= '<p>' . __( '<a href="http://codex.wordpress.org/Posts_Post_Tags_SubPanel" target="_blank">Documentation on Post Tags</a>' ) . '</p>'; + $help .= '<p>' . __( '<a href="http://codex.wordpress.org/Posts_Post_Tags_Screen" target="_blank">Documentation on Post Tags</a>' ) . '</p>'; $help .= '<p>' . __('<a href="http://wordpress.org/support/" target="_blank">Support Forums</a>') . '</p>'; @@ -328,7 +328,7 @@ if ( current_user_can($tax->cap->edit_terms) ) { <input type="hidden" name="screen" value="<?php echo esc_attr($current_screen->id); ?>" /> <input type="hidden" name="taxonomy" value="<?php echo esc_attr($taxonomy); ?>" /> <input type="hidden" name="post_type" value="<?php echo esc_attr($post_type); ?>" /> -<?php wp_nonce_field('add-tag'); ?> +<?php wp_nonce_field('add-tag', '_wpnonce_add-tag'); ?> <div class="form-field form-required"> <label for="tag-name"><?php _ex('Name', 'Taxonomy Name'); ?></label> diff --git a/wp-admin/edit.php b/wp-admin/edit.php index 39424ac92..933219ea6 100644 --- a/wp-admin/edit.php +++ b/wp-admin/edit.php @@ -1,6 +1,6 @@ <?php /** - * Edit Posts Administration Panel. + * Edit Posts Administration Screen. * * @package WordPress * @subpackage Administration @@ -120,13 +120,15 @@ if ( $doaction ) { $sendback = add_query_arg('deleted', $deleted, $sendback); break; case 'edit': - $done = bulk_edit_posts($_REQUEST); - - if ( is_array($done) ) { - $done['updated'] = count( $done['updated'] ); - $done['skipped'] = count( $done['skipped'] ); - $done['locked'] = count( $done['locked'] ); - $sendback = add_query_arg( $done, $sendback ); + if ( isset($_REQUEST['bulk_edit']) ) { + $done = bulk_edit_posts($_REQUEST); + + if ( is_array($done) ) { + $done['updated'] = count( $done['updated'] ); + $done['skipped'] = count( $done['skipped'] ); + $done['locked'] = count( $done['locked'] ); + $sendback = add_query_arg( $done, $sendback ); + } } break; } @@ -142,12 +144,6 @@ if ( $doaction ) { $wp_list_table->prepare_items(); -$total_pages = $wp_list_table->get_pagination_arg( 'total_pages' ); -if ( $pagenum > $total_pages && $total_pages > 0 ) { - wp_redirect( add_query_arg( 'paged', $total_pages ) ); - exit; -} - wp_enqueue_script('inline-edit-post'); $title = $post_type_object->labels->name; @@ -170,7 +166,7 @@ if ( 'post' == $post_type ) { '</ul>' . '<p>' . __('You can also edit multiple posts at once. Select the posts you want to edit using the checkboxes, select Edit from the Bulk Actions menu and click Apply. You will be able to change the metadata (categories, author, etc.) for all selected posts at once. To remove a post from the grouping, just click the x next to its name in the Bulk Edit area that appears.') . '</p>' . '<p><strong>' . __('For more information:') . '</strong></p>' . - '<p>' . __('<a href="http://codex.wordpress.org/Posts_Posts_SubPanel" target="_blank">Documentation on Managing Posts</a>') . '</p>' . + '<p>' . __('<a href="http://codex.wordpress.org/Posts_Screen" target="_blank">Documentation on Managing Posts</a>') . '</p>' . '<p>' . __('<a href="http://wordpress.org/support/" target="_blank">Support Forums</a>') . '</p>' ); } elseif ( 'page' == $post_type ) { @@ -179,7 +175,7 @@ if ( 'post' == $post_type ) { '<p>' . __('Managing Pages is very similar to managing Posts, and the screens can be customized in the same way.') . '</p>' . '<p>' . __('You can also perform the same types of actions, including narrowing the list by using the filters, acting on a Page using the action links that appear when you hover over a row, or using the Bulk Actions menu to edit the metadata for multiple Pages at once.') . '</p>' . '<p><strong>' . __('For more information:') . '</strong></p>' . - '<p>' . __('<a href="http://codex.wordpress.org/Pages_Pages_SubPanel" target="_blank">Documentation on Managing Pages</a>') . '</p>' . + '<p>' . __('<a href="http://codex.wordpress.org/Pages_Screen" target="_blank">Documentation on Managing Pages</a>') . '</p>' . '<p>' . __('<a href="http://wordpress.org/support/" target="_blank">Support Forums</a>') . '</p>' ); } @@ -190,7 +186,7 @@ require_once('./admin-header.php'); ?> <div class="wrap"> <?php screen_icon(); ?> -<h2><?php echo esc_html( $post_type_object->labels->name ); ?> <a href="<?php echo $post_new_file ?>" class="button add-new-h2"><?php echo esc_html($post_type_object->labels->add_new); ?></a> <?php +<h2><?php echo esc_html( $post_type_object->labels->name ); ?> <a href="<?php echo $post_new_file ?>" class="add-new-h2"><?php echo esc_html($post_type_object->labels->add_new); ?></a> <?php if ( isset($_REQUEST['s']) && $_REQUEST['s'] ) printf( '<span class="subtitle">' . __('Search results for “%s”') . '</span>', get_search_query() ); ?> </h2> diff --git a/wp-admin/export.php b/wp-admin/export.php index b765fa02f..024ccf6cf 100644 --- a/wp-admin/export.php +++ b/wp-admin/export.php @@ -1,6 +1,6 @@ <?php /** - * WordPress Export Administration Panel + * WordPress Export Administration Screen * * @package WordPress * @subpackage Administration @@ -42,7 +42,7 @@ add_contextual_help( $current_screen, '<p>' . __('You can export a file of your site’s content in order to import it into another installation or platform. The export file will be an XML file format called WXR. Posts, pages, comments, custom fields, categories, and tags can be included. You can choose for the WXR file to include only certain posts or pages by setting the dropdown filters to limit the export by category, author, date range by month, or publishing status.') . '</p>' . '<p>' . __('Once generated, your WXR file can be imported by another WordPress site or by another blogging platform able to access this format.') . '</p>' . '<p><strong>' . __('For more information:') . '</strong></p>' . - '<p>' . __('<a href="http://codex.wordpress.org/Tools_Export_SubPanel" target="_blank">Documentation on Export</a>') . '</p>' . + '<p>' . __('<a href="http://codex.wordpress.org/Tools_Export_Screen" target="_blank">Documentation on Export</a>') . '</p>' . '<p>' . __('<a href="http://wordpress.org/support/" target="_blank">Support Forums</a>') . '</p>' ); @@ -109,7 +109,7 @@ function export_date_options() { continue; $month = zeroise( $date->month, 2 ); - echo '<option value="' . $date->year . '-' . $month . '" />' . $wp_locale->get_month( $month ) . ' ' . $date->year . '</option>'; + echo '<option value="' . $date->year . '-' . $month . '">' . $wp_locale->get_month( $month ) . ' ' . $date->year . '</option>'; } } ?> diff --git a/wp-admin/freedoms.php b/wp-admin/freedoms.php new file mode 100644 index 000000000..cf7309a27 --- /dev/null +++ b/wp-admin/freedoms.php @@ -0,0 +1,42 @@ +<?php +/** + * Your Rights administration panel. + * + * @package WordPress + * @subpackage Administration + */ + +/** WordPress Administration Bootstrap */ +require_once( './admin.php' ); + +$title = __( 'Freedoms' ); +$parent_file = 'index.php'; + +include( './admin-header.php' ); +?> +<div class="wrap"> +<?php screen_icon(); ?> +<h2><?php _e( 'Freedoms' ); ?></h2> + +<p><?php printf( __( 'WordPress is Free and open source software, built by a distributed community of mostly volunteer developers from around the world. WordPress comes with some awesome, worldview-changing rights courtesy of its <a href="%s">license</a>, the GPL.' ), 'http://wordpress.org/about/license/' ); ?></p> + +<ol start="0"> + <li><?php _e( 'You have the freedom to run the program, for any purpose.' ); ?></li> + <li><?php _e( 'You have access to the source code, the freedom to study how the program works, and the freedom to change it to make it do what you wish.' ); ?></li> + <li><?php _e( 'You have the freedom to redistribute copies of the original program so you can help your neighbor.' ); ?></li> + <li><?php _e( 'You have the freedom to distribute copies of your modified versions to others. By doing this you can give the whole community a chance to benefit from your changes.' ); ?></li> +</ol> + +<p><?php printf( __( 'WordPress grows when people like you tell their friends about it, and the thousands of businesses and services that are built on and around WordPress share that fact with their users. We’re flattered every time someone spreads the good word, just make sure to <a href="%s">check out our trademark guidelines</a> first.' ), 'http://wordpressfoundation.org/trademark-policy/' ); ?></p> + +<p><?php + +$plugins_url = current_user_can( 'activate_plugins' ) ? admin_url( 'plugins.php' ) : 'http://wordpress.org/extend/plugins/'; +$themes_url = current_user_can( 'switch_themes' ) ? admin_url( 'themes.php' ) : 'http://wordpress.org/extend/themes/'; + +printf( __( 'Every plugin and theme in WordPress.org’s directory is 100%% GPL or a similarly free and compatible license, so you can feel safe finding <a href="%1$s">plugins</a> and <a href="%2$s">themes</a> there. If you get a plugin or theme from another source, make sure to <a href="%3$s">ask them if it’s GPL</a> first. If they don’t respect the WordPress license, we don’t recommend them.' ), $plugins_url, $themes_url, 'http://wordpress.org/about/license/' ); ?></p> + +<p><?php _e( 'Don’t you wish all software came with these freedoms? So do we! For more information, check out the <a href="http://www.fsf.org/">Free Software Foundation</a>.' ); ?></p> + +</div> +<?php include( './admin-footer.php' ); ?> diff --git a/wp-admin/images/arrows-dark-vs.png b/wp-admin/images/arrows-dark-vs.png new file mode 100644 index 0000000000000000000000000000000000000000..0d1dc7adaddcae26915f927c0a6bd6a435ad9ad8 GIT binary patch literal 1376 zcmeAS@N?(olHy`uVBq!ia0y~yVBlw9V5sI`V_;xdoqB670|SF(iEBhjaDG}zd16s2 zgJVj5QmTSyZen_BP-<dIW#P$G8wLjEw9Jr*k_cZPtK|G#y+n{2y^7od1`x2ZuP8`N z&Q2{+NJ>r5%(GQ`zk9!uLS~AsQn;zFfp39xYDT6<RZ(him0w75Rd%vvijuvZf=z{0 zMQ%ZEYDuC(MQ%=Bu~mhw64+d;ykaYmu)dN4SV>8?trEmh5xxNm&iO^D3Z{Any2%D+ z1`1||dWOa(=H}))3PuKo2Koj@`i4fjhUQkrMpgy}3Q(YAr(jc*l4cd;;s&*=C?(BS zDWjyMz)D}gyu4hm+*mKaC|%#s($W%ShLMqOQA(O_ab;dfVufyAu`<jAm(=3qqRfJl z%=|nBkco*&`K2YcN=i^;D{>2bec=Y@6+;6mIX_pwBC$Z<P|rX=Hy7kDu!oCFf>IIA zz^b}9q_QAYKPa_0zqBYhH7GSr8ObXA7J(EN`1)G;7iFer<|XF1<R_QrrskD+y4WgJ z<QC|qWTsfTIhwl}8k(CJm>U_GSr{5RnORyonOhpUxtSU`x)>S5%)qAC)zH+?!qL>p z+`!n)(9qSu(Z$T!&DhP=%*55yz}3|irq?sCxFj(zITdDaW@d^NRIejmy;jaesfi`| zMIrh5Ij|HEkda@KU!0L&px_*AqTrjDoS6sWgQ5o<_Es*bMVV!(DQ-pixeDO$waUa| zzk#8J0kXd>4Gk<^OwC;!%`KeV93736pn6lt2{U~=1si=(;y_9)Frgq9HxLt?u0d(s zP63g5Qu9)5m5P+??IbUzJ!N2EoZ#u=7*cWT&CHE{hYbYUWE1p)t}>RXv8ml#koEkT z>V#V>t0iaK22cDYP_q0HuTg2jt8+~gPRY&uzodS{8jG?+4Fc&euiwnv7xTz%SN!xd zQQ5!xj6XMjbbrYG|3K-!6#{uXWE|q>$louY{X60r)2<~(>2W{Q(|qeiH|<yOnd4lY zGIyEXXQ5S=>v#IyHb|*-zEQOE>8{Ip_D<6_R-Q0!FEO3nf4lDdm%CvRiLIhxKc**M zd0BY-{lO^Kf{qW2y#Yz~yVK$>hpn+rb-Nbb!d&8)UT{6+f%8o7rnZefyK+;`+8Qe- zA9{T8jP?tc$n<?)_i}5ui$ct@C~LZsy3PJkt<d?XDLP-4Ur{?fLG9VWjbb19cx$iE z(>o#C{KEL~$30!|o94~2>nx12c`L2f#v9d9`zUrs+*-bE)<r8Wg|#2z(q6OS5ZC4t z;l8#_SI&HT`z&(bk_)rH?8-GXW{*j5UO$Otx15X5*_bHXy7d|?yXBTFbC<lh`ADrq vd&Q*G7q@*m?3`E^#NM9zf3f;cu>=N%d8aSTRo~$aD)T&D{an^LB{Ts5`GNA? literal 0 HcmV?d00001 diff --git a/wp-admin/images/arrows-dark.png b/wp-admin/images/arrows-dark.png new file mode 100644 index 0000000000000000000000000000000000000000..29f814d2982a8925ab0ec46d171a2f95239f99f1 GIT binary patch literal 495 zcmeAS@N?(olHy`uVBq!ia0y~yVBlw9V5sI`V_;xdoqB670|SF(iEBhjaDG}zd16s2 zgJVj5QmTSyZen_BP-<dIW#P$G8wLi(iJmTwAr-gY%rx{n>>%KJ-9dJVhWmm=3m&lr zz6ieI?$D%FtMT}rsE1_}_lwRQjjKgMESa3R_HO+%v2J5j<=*UIg(GXenC|YIfBas= zto4OyYfY1ncm6#1WATTX^$Rq**d8{W=KON>=fZWbUq?I>vRZDG9`{Q<Ew)~C(|#qL zInLH8dp&EPiC!tXS2TB9;)zdv8=e-O{<`39U4u^Y_X+8In&&@P-hV%H-)%1KH5(3b z{Wt2dvVH&CHexk{pP=0WNv}80FPxFS)pd5knG;o=8`}L|@~qp%Rijbtdch#fb9?U^ z@AGF)M0}_)`7C7>bZzGP$>q`ab6Z8jA`)9g`{pW?&V1WnG5^SBF;VWnhFeb>E$!S{ zy2f>nv-AC}i@A%AtNc1sV3Yr7_X73h{z-Gh{QtLgCN{r2YWGp^%!)Af+p^v(E{3%q zg1Bt+3G-OnrYmPYy?qwBZ^?z(J-c!ZjjLlGOpH_IEVJ#HG0Qsh>yN#Q1m09lm?oF% zc3$XvqRb=Du!Z^Nia!{pHpKl}_eb9L<aP#ThQz?La~3ZUVq{=oVDNPHb6Mw<&;$U? C)8_90 literal 0 HcmV?d00001 diff --git a/wp-admin/images/arrows-vs.png b/wp-admin/images/arrows-vs.png new file mode 100644 index 0000000000000000000000000000000000000000..d2536b9c7ee88be7d2b0eb26fb931a0b7512a6da GIT binary patch literal 1378 zcmeAS@N?(olHy`uVBq!ia0y~yVBlw9V5sI`V_;xdoqB670|SF(iEBhjaDG}zd16s2 zgJVj5QmTSyZen_BP-<dIW#P$G8wLjEw9Jr*k_cZPtK|G#y+n{2y^7od1`x2ZuP8`N z&Q2{+NJ>r5%(GQ`zk9!uLS~AsQn;zFfp39xYDT6<RZ(him0w75Rd%vvijuvZf=z{0 zMQ%ZEYDuC(MQ%=Bu~mhw64+d;ykaYmu)dN4SV>8?trEmh5xxNm&iO^D3Z{Any2%D+ z1`1||dWOa(=H}))3PuKo2Koj@`i4fjhUQkrMpgy}3Q(YAr(jc*l4cd;;s&*=C?(BS zDWjyMz)D}gyu4hm+*mKaC|%#s($W%ShLMqOQA(O_ab;dfVufyAu`<jAm(=3qqRfJl z%=|nBkco*&`K2YcN=i^;D{>2bec=Y@6+;6mIX_pwBC$Z<P|rX=Hy7kDu!oCFf>IIA zz^b}9q_QAYKPa_0zqBYhH7GSr8ObXA7J(EN`1)G;7iFer<|XF1<R_QrrskD+y4WgJ z<QC|qWTsfTIhwl}8k(CJm>U_GSr{5RnORyonOhpUxtSU`x)>S5%)qAC)y>q^)!fC* z%+<))(9qSu(Z$T!&DhP=%*55yz}3|irq?sCxFj(zITdDaW@d^NRIe#sy;jaesfi`| zMIrh5Ij|HEkda@KU!0L&px_*AqTrjDoS6sWgQ5o<_Es*bMVV!(DQ-pixeDO$waUa| zzk#8J0kXd>4Gk<^OwC;!%`KeV93736pn6lt2{U~=1si=(;y_9)Frgq9HxLt?u0d(s zP63g5Qu9)5m5P+??M_+c9bsT#oaE`^7*cWT%}hhT!wv$j*BxY+XsA1ch^*Yf&^5_! zx<ivzt;XYfq8^qkUtC(acN}C5eZaz@`Q_Rt_g_b|o_<~D+bFR4()Bl1b#m3onfs2- z+<NVcEc-L|$Nh)g|1~~;wb#YsX%Rzh;lAAx^XD8ldVaxhs^#Z9_J-NNR!{gVnD|QO zmcnbDuQSC1&Q_i+z1608TKmwf)27$wmi=bi)N|H(p5>Car*AKL``zb$ZmVcmL}F{b zq}$wiTmH(e31w*KkiWp8`fYReGtu0mtAf)~Y@JsuaJFhL3~uC4)#H#lru1^##L{;& zB_)I9`qSc^s!v&cPW_bkdiUB5hq$!YY&f)0c!}QTzk=^4S6o|^u<-tJv&c3R!|8on zJIXU&>^3WLd?(>DU$XDHXN`Et^Dmw~mmg)`H!#e(u=R%ez1EjkUnT5L=9_x!RX{`{ z*lA)vH?4G^Fe`H3-8-kJi&RaH+pe3o>=0|-%g{*)*PA<5?wl0Xe_xyH;5zn|F9Y4a z=oHEyQ=FF~_^V8~sXT!1#lp9z{$HG2!)?Ie$9MalOf~yNP^stX>gTe~DWM4fz6SNp literal 0 HcmV?d00001 diff --git a/wp-admin/images/arrows.png b/wp-admin/images/arrows.png new file mode 100644 index 0000000000000000000000000000000000000000..775a7a0329ea8be6b070b9491f3b4acaaac653f8 GIT binary patch literal 494 zcmeAS@N?(olHy`uVBq!ia0y~yVBlw9V5sI`V_;xdoqB670|SF(iEBhjaDG}zd16s2 zgJVj5QmTSyZen_BP-<dIW#P$G8wLi(37#&FAr-gY%rx{n>>%KJ-9dJVhWmm=3m&lr zPPiSz#JTFr!k+4Ig{J}mx0D{StqTfx%E6)e<=Q9rUq`c^eqHC=D6sj`^*2^^a@EP1 z`;N`rdaXxR{Tch?{zK{i8h5ReZsFEbzaaj+-RAuI<eA(r=A4>S`EdS>(!Zf6{&j6A z;CnmatJ>F@;Q^;BPnX_mQ#@^bXxeGr>&<1q88`LZb)ILrWYwx?wfob5<!P_kaEMF$ z&uN2KU-rEJp0Jk5!u3Z(n#RWY&c^u}+Gfp0%CA)q$yqHm-tkK7!@@JFj)x=E?wW1V zvo%&uKKS_Jnd}!Hk?H&V?&a2Q7Y&O@Y!wZ&C~LZsy3PJkt<d?XDLP+{Ur{?fMeW(O zjbb19cx$is>79_B{KEL~$330zo94~2>nx12`75o~#=A@W_mSNOi=$+7%5@gHMayzQ zTy{q3e#uvkAmh{9XQ%(1<dkppYTMB>ZwedTtEQ^l_^ObU^=`@4$KSi0HoSI>s+uBc z>wTxautPnvb>H2V2h1T1RWEmcs{f*LpNWUzq{mH(YQ1NZ85kHCJYD@<);T3K0RZsP B=FtEE literal 0 HcmV?d00001 diff --git a/wp-admin/images/gray-star.png b/wp-admin/images/gray-star.png new file mode 100644 index 0000000000000000000000000000000000000000..a32b058bab68d77648dc1d8189b0d459b43dfc6c GIT binary patch literal 625 zcmeAS@N?(olHy`uVBq!ia0y~yU=Rjj4mJh`hN1woGYkw2k|nMYCBgY=CFO}lsSJ)O z`AMk?p1FzXsX?iUDV2pMQ*9U+n1nrD978H@&6%=4J1S7*xc{T`d|4S4e0+jTjJ#a3 zuP(VxSk%2N<EUz|T6<G4`(NfL7b^=9D^|@Zew{~e={!=>$j=C8f4ykM50ijZdS4?e zY>&$=$$eCtt6yXB{m$p7tDoOnY<>D^5c9!9R!=@xo=DrAurb0V=*C6k)gfBamqWBv zO^ln)t-Ag?mM8ED^DNoUExQ*zs<2tMKxuxa@m#-$`_D$L6>HV@yMKDqpZv7dSGm$Q zOMdxXn_(iwZBun@>GT^#`!By-^ZH0HyM|cztpbZBd(Gyb7wsvZsDFYZQ^CLf;(mvB zipS^N-+22i-=~j1Yc^<m3Pr5FmM_=euJ_X}$u-8~0l)HtKZ@5oou{Av%CS2z*X;KB zixRzV0a{b1O+NWVhSmSUdokZb+S_l}PV-yNE4{h2f7UnK$tUL&bE}^SZ@egH>ti5M zGr>n~JAdxhsMe^pVaMJkH{MLOknuZ`WcV?=YHu9ZB)@K<*GJOcmd$QjldQJcFQ;wu z7tX`2eK%QOZ=0<vX0o`Tq2|fr+9$kcjgH&eE&s*%I^X<o=kgDIm!EeCb-MT!Zs@Ie zxO_(Z=byjQkNvuRwra0jLH8HkKJL~gL#f`Tg9!{(mZv`6>EGjaZ_~eL87o$C?Tq1* z;bZ^tx31&(<7oXgF?!D1Z?n1vzF<C(V)XZ4eVW;9MF9>64H2g0mo@kNbx~q$KFBcZ i?6YGX*Z3LP7_1%7PWHN&l*quqz~JfX=d#Wzp$Py@7##rs literal 0 HcmV?d00001 diff --git a/wp-admin/images/logo-login.png b/wp-admin/images/logo-login.png new file mode 100644 index 0000000000000000000000000000000000000000..497f683cf239c7f52f09d8270352bca2f84a4aea GIT binary patch literal 8891 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 X{K2K(9u7>gpyec<u6{1-oD!M<VV;JD literal 0 HcmV?d00001 diff --git a/wp-admin/images/menu-arrow-frame-rtl.png b/wp-admin/images/menu-arrow-frame-rtl.png new file mode 100644 index 0000000000000000000000000000000000000000..b0e120bd519ea1f35b350b79598be2c10b43321a GIT binary patch literal 1391 zcmeAS@N?(olHy`uVBq!ia0y~yU=UznV36ZrV_;xV{W(vNfr05=rn7T^r?ay{Kv8~L zW=<*tLj_}N$oXtxN0EPKc`Gj{aYSYFZK{}{<Qcg-!}W^UU%{kop4;-<TqmR$dtS>k zd;Lyr>(Y)Vk1lH6bA7vz{eOd8)rS;)uhuA6jeDy#k`{{VemtA!vu)|C1Lx{K-!p$- zn_qUHfw$<A$=3#!C%ngl771qN)Hr4R>0szv#OY|F8hZPUp9-5}bMepW=QpbO8>7Px zSN|^GRK9lBrERm=TmCvcaG!NkYr}i-Las<5rVg9?3pJ0IaNK`<<I|gdOTWsBgIoEv zZI47M)i{{yo~!rW5qwtlvO}|n#gwmwL3VSlcTc%4%buB+cI<?}UjGTpcAt5-I%(k? zzi)gK_RjrM=ePNu-66$8+>&eU-FEcO``UBW{!!w?CC`qu*~&<me)*9gx?O7J57R>; z@dCc;i$V%->hXS@vF>l!C$FZ02^ObP5*v!6Jp8Zw<o(#y&RVN>U3mSY^02^%mHoo$ z_paQ1?|O@Ay#b#rj}*@=UXK6)SC+&X8v-2KY@`fLHWk?`uV#~;Ty0dUlC`@e$z`Ks zwb>op?SV_~+WgZ{DxBiHm1EK$$A4PuPx?Qt{CPTN!;P@-Q`XL&wd>OZ>!VL+?v#?d ze)+`XV&Ax$saMJ-hr3T(Q(3iV)*C7NH{sI_pEa5GA1U7O`=f6B)HBmHdqj>t4*mSf zyQMVB(ER@VoO)~9M|$V=wq7e<+u3a%HhX&d-z<;c?^f-Z{4DgRf85uPf6~t$Nq(eh zs8-hXT(NWdQN53oZg{Weew2`VoMZ0PHqA@96Mv~(O-Puv=c|6KeRRcMw|bthfm0;U zTng#@UVlg{#boYIzWiVPw~zl3fAYQS`Fsr~{hS9UX70)jE_^SrFm-8O@j52){TFLL zY|G1DTxaozCBkO4*xDe|`3id&Wy;#C<X&jbxIAszS<9eyo%xe@y*!l^bSB`ob5PKA z)$6I=Vw-1%CcP}XG4rx)p3Fi^r|(CWd!<hPwf>{vhQAwve*Rn&bhFM+>RRLUU-<|2 z{B=E0(cQ_wz`$AH5n0T@z%2~Ij105pNH8!kse8IOhFAzLood@J6e!ZR{`9KX>~(A8 zxhKUwW;eW*lbqD}-$8f9AIa#Tn;S1?W#3X2F}WQy;X<^a^4ybcEo@GS9BUj>ZhWkC zf5*XNJ-amTQ%c%{ImPd5?^~z$NE@k5?u^!({=LW0UxD+x0-v;i^3@p=YPMg^s_j4i zSf9i1AoC99>ko}$f*MWp!umc|<a8Z<^e@3cLfByL!!zra&${7llg--e_PC=V{R79l z!?`=yUOzbd?rKEng8T31r)<8toh9$ESk58d9bDO7TUbmAWR9=Bnl+!ZhHF;rp}S0+ z+w+9qng%Sm{dSvB=Mn8D)jQ5RxP{(v{qWw-D&}&;EO>1gzt!Ax6CMOls0iDk=~>_U z*uDORyY;NI&%*yz@I~#)nOwlVP4M;m`0xL?+!kNl5}@&B@(1ZRZ?5gTx>@)|cEI}U z{FOG>w>=fDV6EDF@4S!N=UGhG%sAC=tK4bIZDiWS`*5FtMg6_=TXX{!+|83$pL}w< z$cAmK=YAJm`ctek*YE$M-rtUlH%({8+P>zPGGpQ4azzuZH|JMG8whO-T3M4c>A&#A z+FcWKLKu5J*gaX>4lkU1`l;Q9sj?moRR?@IzAzm6`~9H(DJ`LwsYz;+y_Vja;<fbq zomU*IOFJb_yt_Ir``J%NXUlya&XG5oxLorxwS-o#T-D&VWZOEX5)JeD=j&be9N&<$ z`g^4En|Sx2OP?NG{??oF^+b35Ef1qFow0FW%kM-*r>;D@`73{9s@~n6y%+iz7#J8l MUHx3vIVCg!0B1U%6aWAK literal 0 HcmV?d00001 diff --git a/wp-admin/images/menu-arrow-frame.png b/wp-admin/images/menu-arrow-frame.png new file mode 100644 index 0000000000000000000000000000000000000000..33d19d8547050470dfea18c81469816b60807abf GIT binary patch literal 564 zcmeAS@N?(olHy`uVBq!ia0y~yU=UznV36ZrV_;xV{W(vNfq_A?#5JNMI6tkVJh3R1 z!7(L2DOJHUH!(dmC^a#qvhZZ84Fdz?HBT4EkcwM-rk?d;3KTiMzTEEAnm30Fe=V3e zM<FYboBh_AORfe_SAAlvX_&X5^e4-@>V~i;eFcwqN*sz4RRm%?6qjlA+}L?}D%<6c zW{&K2JUqqkZJ+<2U##a8e~|I>0ig|iIZV56=6pM4a&}?xg|8==ISw#wVDdOnrXX-* z{q@)We$oXmtZmE;7T$iV6dD?@Jn@9(@tgK@Wl|LRD;Vts7`8EN4bi&0ImLi0=W=UK zm%`*E9Wif?CIzLo2P+qx4hfj#x+6g24i8)NN~ON(N<og{jS7Mxfm05rZT@*I=+KT8 z(-y1^%U<#NSG9$V-9ZUsPOD8<{c}~9z6o7@mHiq|U5aDeiA{eNW!_Rf|M|w&wMUaa z_L(+!MuuojeO_Txr`WaVdhgn>`A<Ioj84){I&<Kj`n0tR170k+m@y^NOG3Zd#xg0} zL~3o)7ygG4P1%CQJMWlwcg*<K+W)PU=Z!?$!mYR8KHHM^>uSHr>o1lGf)UJS460MT z=6<cRExyKf=4^|s-|-Tyk0OSXPtIX$KA0?adl~N(qth<GE_+CGK3{w&a+~U8&%Kvl z)>y>qtUJD|mN~B}cVUUu+!x<}zguUP6umaAx@6a_4QtEJwWUhOtZP&8boZN9%Vof@ YDRLvHZ-qn#0|Nttr>mdKI;Vst00OxBBLDyZ literal 0 HcmV?d00001 diff --git a/wp-admin/images/menu-shadow-rtl.png b/wp-admin/images/menu-shadow-rtl.png new file mode 100644 index 0000000000000000000000000000000000000000..a7507719fc9580fdc7c4edf06eddd97ff471aa24 GIT binary patch literal 891 zcmeAS@N?(olHy`uVBq!ia0y~yU|?flU@+nUk@f1UJ~J>dy~}iV4)An#RtPA{Ps_|n zWnidaYz;Y|E$k@r&n$1{1tpHCY`#qu6O=q7S7*3hG5af+l+ANnew*ur6l2e8d1kNQ zscl`_@#N7(t$VI-7qb6vkgNKTqVLrj<*IRSwMNoHaovw+^L(}~eRbem-RFDe?`!kR z?lbTfT{8LF!19Fmc+euj%$yphtUnzLeTz69O;kf~zwuLHb8IgDS^fM*6@O!N*x~Bm z<(taa&bqX17JJKIhX?MnZfb3KFJ8zMDa6!abAO@c@e+>vk8gZ>({JflS#fYHzqaj> zNTnJFQ{8j*zB_`?s$O<z_OO`pwJ^wT&h_po*Jar=^U{u;5ZLQKVcG68?^Y)*oa6V6 zZ^GWWU+Vle-?KZUc!*nat-afh-g#epuG&9Je7NM<kv3Zy3DYk>5=6I4t^8qnNF-js zSA9`P;Y~f>k2BW&4g2KPR4~EfR7zq)ag>Mub)UQ+yV_Z6)vgP#e^ee8_^`5HIQ`z0 zyYF3ZF|9Y?ljV`(nZ@f7AmGZ9IAcSALz|71p~<Eqd*#(^(vz!=N>#FUmn6AtbgVYJ zW4k?Y$z7X&8cKyzoVRjJ`s4UdYyC<8r<FfX$85L}_I=9Q*|T<idSHF@>CBx{a@Q}P zcwFooS2OiW+2nBdX=^I0_RM-CW&b98y5X}X)BYpH8-9P(jh}jEx@M2a(Z`{mUwOBb zMj4vlpPy52ZTm>?yx!Jp#cMme&BJC-Pyd_c@%!DXJ(Hh>{`8Og`teWt*(1r1G!50t zx}Ga`PCu&mancR%)!dH~a*uP&o!X{(DR<&8m8%H}v-W(|kF}4k*y~o$^EGga<e5t$ zo!{#ZX{DIV-N~2#tN-@#KjKfmcRio4!K9z_;Ka;bxxt0+1s0|*%`0BVB)<P*?T2l7 z*^BEe{;)*YtQK1vWIA7A52H+3dzIV^%^8=cO*?BD)UGps@~)Ssl7h|z+;$EMx~_UX z)mv=y%+RElWjAJCmd%q{XzBF*$a1gL$-mZr6x{H4L(tEkYl3dp`AJ=Coc=5Sz@ERZ z2P(Qd85kHi3p^r=85p>QL70(Y)*J~21_onK7sn6_!Q`}r1OfIWKZP{bBr%0FmLxVc zfkxgQuY{IU854TgIBi(mgqdwL5_%YUg&5B5WSF4-@L(_l0|SGntDnm{r-UW|4mp|r literal 0 HcmV?d00001 diff --git a/wp-admin/images/menu-shadow.png b/wp-admin/images/menu-shadow.png new file mode 100644 index 0000000000000000000000000000000000000000..b0883a8cb7309236dc8d403bf87618be8478c17b GIT binary patch literal 131 zcmeAS@N?(olHy`uVBq!ia0y~yU|?flU@+nUk@f1UJ~J>dNS3%plmzFem6RtIr7}3C z<R_&nc;+Uirv{}arc@T5OtoQPU{LjRaSW-rm6Vu}kkFPCrjXWn>5LDL#eo$^ATVGe d1BU@a*<OaaZIS2BF)%PNc)I$ztaD0e0ssuYDZ~H( literal 0 HcmV?d00001 diff --git a/wp-admin/images/press-this.png b/wp-admin/images/press-this.png new file mode 100644 index 0000000000000000000000000000000000000000..26c96975bf6383df9de265f69e2472e21900ee53 GIT binary patch literal 818 zcmeAS@N?(olHy`uVBq!ia0y~yU~pq#U=ZP8V_;w~$ndUUU|^6eag8Vm&QB{TPb^Ah za7@WhN>%X8O-xS>N=;0uEIgTN!@$6F#nZ(xq~g|_h`rrXjw1D|wKcN16hj?cgH--I zD5Or(o^<Gum$u+zc0v1DyI<vmd^zCOq$H;mAseQd6BP5Rp|@=3DTPTMPu6udRlS;7 z`FP!$``JM$?{=`Czd5sV*Sq|>_utc|&GuXVAz}5g$Lz-oZzp{@GN0qReMh-D>pk@e zKV=;hIL>#(bNqGYw1{^6b$^<NirG2S*=MI3F24BV)vsT_V%CP0ms;KZ{WR1q;NF8r z-2W2YT4s74TkbTcZl>Xy3LClQdg|96f0SrC_`sp&T!hZI?!%m(T8h^DIukk{U;20H z4)-Jb&i`)THcazsF^%{5Torxh?Af!|%Xa^r5o7oD_umqo`RBj?tlwjP@5_`Qj32eU zSB9<(d7*VP$1Ff=s)1bp%KP{39ZE28a99ww+Hr4Oy{1md@&FB+OBp84Yr~|Y*w{)R zPhhDP%G~BW!@pJH%7W)d^dm1zZNAB)uC8t%!{@j#py6&_d(cXjxqj?AV%!ouY&&-C z+LW^S=KI-4!nJm7%IUQ;%(R=&@3vSlHYKI^^2;T<Mx6%S9m{kY9(}EPe&7Y`UV+u; z-9ITaPBbmwEAza_a+Z_cbnbKK&S_K&h_oNxXm&5f=xn3ovKWsR(+%p;4Nou0a<FJP zPcW>w`~G|8{O3RSelslElA7l<XUG1;V@v+qPd*v2(RJE{OFT!D1l1;U?zsDI?tur+ zvI{!8d~O)$&barc_3*=1yNe>XCK>JhXwBs*71G-E#r%63pUBHYYLh)*e614bbyF1T zywKIM_Kvb+`Te5PSyH;og~C*)da)iqe!PUgxj3S-z-QgDHA|-O>`s|$xH6<`+rj{j zOD|2<dTH!=<QL9okmU82r9E|<$J&b-2QFT`_$HB4;)K-2sI}LQIjiq?)L(T;_Cu^_ zY|{MGPe0v`HQaRit6bG#9gVQnQ-$v_>B!VwKe9J^wqW!(okxO>`&p;39=o$#JoL`t h)n~tcb8lc|cp!E2L|3c-O$G)A22WQ%mvv4FO#riSfCT^m literal 0 HcmV?d00001 diff --git a/wp-admin/images/resize-rtl.gif b/wp-admin/images/resize-rtl.gif new file mode 100644 index 0000000000000000000000000000000000000000..95e7b32a4ae89140c2fa2001deb443dc402f1d5e GIT binary patch literal 1418 zcmZ?wbhEHb<YwSzn8?7eZQHj0|Nk?9f#OdVP7wws2F3q>Je{3`+@0JF4GfJK7+4Jw z3kq_W6c`wC^Gb?>+?^C6BBK=8Z!$13NHTCUNHK6HCKnet1_bzki~*?y(Wv;_H3mkI z$YovZ@*p{!m^-C7IhTQfk%NJO=~GH-aWVq~^B)EVhWzx1$S4K|mK+8K29ffTf)WM> zmIe^J2qHcO#7=^+SAf_>AwkXz3@m#X7#R4H3yMJM&oD4BSR`j8rZ6zDvM?|(=%oKg zQj~<m&dn)JhB{G@fq{W1H7_)nfq_Adfq|(mwb&KPW^77Hbn#|jV9;Y=V0@L5>f#DA zl!1Y9MOvntCj$e61_J}bowOpiPzak*E3?Ei1j1$t%ggZt1)>H61CvBvlAk}sd`6an z5~m<2yQ#P=7-Xgz0|O&VR-#t`0|SE;0|R4FcD^@AjTi$1lS5TTNH_xngBSw?V@_3u zvmcawrKmIrWUmqf1Jja%9B_o`FfcG3V~AwPVMt}jWXNMk{m+ocpuiBs;LhO0pvzFe zP{feWkj9Y7kjaq4kjdcAkP1@7P{feQP|T2xRb>uC09;oNg93v)!%K!dhL>PHg$$(( zsbF1U3{HLwO*&vU$Swtg>jrNPt{N;fSYq&cf>fynLZ+!GJ~R1z{|ANuhE#?kuxmi( zLfi;4ALJ&8`N<6V42}#r3^@$x45<vcFi$ZQ!%fpgc3oQD1Sz<T0?3Zk|LuO?ki417 zfUruJA&DUs>}`<u%NRg%#SE!n3t`rQoPsU*QW<iN*X)r%Say|VN6clO<2A_6VaP|w zBe@}y0pu;@pif3phaA|cEOIP{ES@YDES3xkEcPr8EOsm|EEX)*EIx1@p$vHpnGEIN zpe$xcWXNI2W2j_MfJOCxa7@FzzyQf_;Dj&Yo|>0hl$opmDgy$F^3yVNQo#}sf`Bwc z5kV4Ewm=j`l`=4_DP~|0H$jMf4g!}WjAG{zVkN!|47TqW7?>|0#5ANB7)0kYFzhf( zE-fm9n8(1#c$R^oB(<Uh#COgws4U7%&nQtaGB7Y#a4aauNmcO7OV)GNQAo_mQ2@&o zD-@*`rxul^rsy#grx_c8G%_&qI59A=-uwUmvl;^f`y>X2zZ3ue|Gnt{|G$eF7?|%c rFdWEX&;h9gm9Y#=;w^oW)AshBY0kGgxoAaY^7<OF6Rj!%3=Gx)<RcoH literal 0 HcmV?d00001 diff --git a/wp-admin/images/star.png b/wp-admin/images/star.png new file mode 100644 index 0000000000000000000000000000000000000000..4ca526143840ced37df04eb8c9997d98562ca74a GIT binary patch literal 611 zcmeAS@N?(olHy`uVBq!ia0y~yU=Rjj4mJh`hN1woGYkw2k|nMYCBgY=CFO}lsSJ)O z`AMk?p1FzXsX?iUDV2pMQ*9U+m{>hs978H@%?UBgkV+J(b7S3oWAW2zN{(ESen<G; zUh;jhXo|+#=1D7OKX~=zo*%1gm#m7jtCdHRs!GS?kO@3zpD9ELxUN=jRVv$X?9kWh z>+{XFo~+N5uc_Pj-Olda-~YRn4=YVOy>#Nq6rXKe(*Gx@th&1D<m#(kLY*x>UVNK6 z+!lWn{32n|cC*iCw`#VZn((sX1;^{tHcS599=ZBzl9k}gz}<KMnQ#7D<@@>P9JXdg z)7fX&YuJjf4VS3A@wV)&U9xe`&zgG@y>3UuH%91`T*+gMZ}2}*tx)UuUuXw=hSL6r zWxMll3DoVMzbzzGb^7VAzL!nxp8Rg$-ob2h!$4`Gy-@A3*#6_f2Th(Es1}<Zdu%A$ zeRS%&*S`gpyr?=j`@^l*U+uh?27QZ9yTe%PuQvI2QcG-to?+0Bq^5%p4p-Rx`+df2 z`nIsufqUbg`_^h1TJy9z`7gS-;*VLao&4l1!$n#pMVtMWA1=vCEYm6}GJbPO^2LEe zZya8%Gdn!bFqc{0<)vA`vske;9ai7BxBe?K&at^{J#inymja7D;Tj?`79VV%%y+$8 zbGGGQ(dN4S{z)!%T)MN*S}9HBxcRp1(d@@ErS>1#Dzv}UuV<@Yf9a)(W|vc=LqpQW z8&lcCR)(y&{`z8x)zTO}cfaMI(;q*Yz9~jex`Mms^^pP#6R)M0<hRN*@i6%61=%Ys T?|II^z`)??>gTe~DWM4fn)DTx literal 0 HcmV?d00001 diff --git a/wp-admin/images/wp-logo-vs.png b/wp-admin/images/wp-logo-vs.png index f364b266313ee1d9ec254670ea936c6622258ab0..13f3fa64dd7aee3835861516bd4a5e51de297ac7 100644 GIT binary patch delta 934 zcmbOtw2xh}Gr-TCmrII^fq{Y7)59f*fq_8)ggMw47#QR~|4*E#s9w*U;OXKRQgJIL zIMydPU83%sf2-&V{)i=ur-*6U@7iWmub?%{;(5WWvoDUCsdvsiy(vZ9Tcv8NPTI{@ z!<pvZ(|DfgJ==6vXQsVytjQ4r5B6P*OAP}w|C(NFzEHMhX~3=GZ*}f^XZ$|Rne+bd zyyuqhf7iZ0ee?X6hxPu(50wwa)gPL+^#)7ggbUsu_IrrkTz&Xun7Fdt`^?7Y_SPGA z)_t1$Ep6Yv5YNpODKj6h@A<X;UZup()f%Vch5kR1lD`wh_L}4R*|tq>@9kea+Iw)v zVPjcW53hu!0WQhDs^50Y7TnHG+x0t7^J9pa$Di$-l?Qjc)=m2`b@8nar>6GvN1u<E ztvBPh<4IPW+`NWC=D70I*n<%UeODL7TrFSaefvG{I+abQdzb7!Y*Y|*tNHQsT}!>c z@6l~t#M5uzCM%t-_-Rj6RMQ!?Lqc`0ExUwzJ7V?;6xaT9ww$_owxQqNmz(;#nXZ3& zc`*0J)fn!$D-MkPm)o~3e*S^)#1vNjt`GLUtJ+@H-|>>YY@loW;?=#ItNy1QSe}>V z?Y+V4(ZmHU7b87;B~QgQIV{_MZ+__Y#}_LNcrP0<@7}%cmYvWn_Y%csvCV?JjC3s= zna}&kbS+A_uf{FQ)*qp@T8fAL*@Z0&H#OR2UsYPE=67Yy;R9cUGg#!RXPs$KIvln% zlr{IO+7xcCYvJ`7f;0V<O{TXTD9-UtV7urZq?BR$@?odS%O|2GlN<|8`=eqx^Zr!M zkFdF=!&WlG`=Y&B^QK2a%N}vR(OP`wLI3G_E9<SLS5G{tEm1#b(U&h3SJMu;C^X$~ z|Ht_Ix^%Qm!7UvLiP?wdg=x=dJ5)Z?@qKRmiMw&}KTkx3^7&gVtY7x`<m=oY)+X%< zNt`Eh_-3z_{-86vJ#hWu#<gqfmMPv+O?$9-_y3=N@6DcR{Ck$s$D^rF!n$8AJX+k~ z7T&sWrG%-7!R(kr;_vrPv%GkHzUtY2pVRBlx}5KsGRykg*Q+;9=1y~PWLvh>^+oUN zz~q(9Qzl1xFFKsZCG-DVT1%m4am_T&tC0zZzXX3TGnw<(Pj*?e-|X*qzlq)TJAT^C z?GwwqmU_v#aeLl!@4jiks$Wy_@yAp4^X;8q`4-Ok%6%~6;hndu3QFY!dDX%d=WbY` z93A*`$Al`gne$|JP5Z{{AJnlmrE9`Z{{}{eLd%$+$9c_`GB7YOc)I$ztaD0e0s!RV B$;AKw delta 2311 zcmdnTK1E2eGr-TCmrII^fq{Y7)59f*fq_8*ggMw47#NDHs=iEARIlgQ=IP=XQgLfe zcx6DyciI1+zNJ}C`yCOnQ*6a9DG{;c5+9?52YI$y`Q2Jpe`VR_S0T5pR$iW2cFcb6 zz1*Cw%L*Sw7|ROZcAF#?+^f<hQ`G4w5V5ZHX;egl|2Ml|fB${c;Lj-eHM{cjjpN^I z?e9PSY#SG&A=0$mw)gMkt-CUV>(B1ExJO-rhcj(@&iM<U?`&Ce-cnC5V9MM}L95Q} zh+TZM<g@3lG#$SHtw)OQGI@Ud-EVcT&cf<@R9)JsFYAn!W~K+0O^VSv<v*!&@{9jw z)30xP^v%~+!u-~|*J(z}#LrZUs#?DP`$PNc@p(&rbMx+~`2BF^wuLVr>t}GW$K8#c zS1+$Gw(7;s)34hrUvvHV!>Fb%%&n+vIPdODi@kM+@851)_U_9|^Y?n^cNc6~_UKF2 z-pem)<*NR-vd!65v)g&1gns4Xby}K^T6!^CEFXrgm&^OsbFk|!TlW3#?r!GFB%v$s zG}``(x=xs-z}$X&b^Ydrr_%~8Z1?{z^Zgp^{-9dCKF?==&`LS`CAxRL@9isH%^oG! z>!2agV$s*lP_(DqX<@<-xrsM7`|=*&7sFW8$??j%eRh5c@9O)Ofzv;`Fz@@lylv;= ztyBNrdh}+xTW^|0?N-h`>qH+|Fn*r2_ei0%TknCFEFa}~emJU3Jh(o7ePdHk$_p7| zv$#Ds_m-{|ymPC5!}ZXqFFE#99$>KFThrah&EoWcg^A5aoH4hg^}oJDvSr$vg?DF5 zTF73C3=dtU+{4TJ<MZ2j#+h9#4;|N5$yffno!$Fj)69drli2s4Kb=yOCvLGe?c1Hy z?M=rMlf{4cPQRVD(BcSB<=2}<aV>mV-roh;64!bkoM`{=a?!&Zb@j$Zdk^e+)K;;P z!{)>%hN^2H5_qJn*dAtAn|@f7CfsJh;#hNjLq_|P3d1EQmin~Ir~2>v%;~1gP$;oA zdpX})@5zVXO4}EHyq_6fSK=Vpec)!>xnli1?N`o+L;_xP91POYTz;H={ue)o-FdSr zuNYaJt&5&3cfx0yb84a4isGR9jV!4bZkTh*Z+We>Qo!NBYsSS#H=b)?S-GNP!?}Ae zY{ZQhWLG>ZT~i!d5Sz*P=W(3Aj`bY{G0uZ6TjT5N1@7g(iVtsk{5dV7Y6<&9k0U9p zNt}DCx7W{Q)P8a0`uyLMR#jJg<1k*ZFZ;>tS9^LAvy5((R2+(Yu{1`Hoso%yRi<7` z%;2eWu-b;*du(n#-@YQ^ooC-kF4hkTIecyD(<_T&7jIS&<qT0h_2uI0j<dbzb>H5O zT^6IJ7xV9p;14FpdFj>W&)aWy)psj(wMGc$TJ75?6`Hn&hc!lK^5WO0?%K_hSvp|@ zM{xg*J9joYZ!QgX6Pv_*=SGR#tLK&aHsSNw>lterFDZ6ZwNKn(Zg6z6_moaX<&!;P z1^;`S>h3XJaXoxii^aIxOi3vxG&M!gY<o(yrl<FWRQ-gymo>M{4+i_FD4&mX`OxKd zFkzF^m$@$%X0V32Hufy|eWqwePslxy#47&I*}gYqw%tkznbpJ0;<BRRKthsEzg*BF z-LtJ4_Vp`I7EBb-zZGl4TqcrsG{{3!*|LjG(($?9f0g2<L`Aj4<5GfG%dWiI-Op=t z^wy-94~vtQO>yc8U*^Pj>Wa%enW<@hUQRvsD(VMIQWxul-e@*dzI^_5i-ptLjIE-t zji+t@_E2)3z`6Qm3Q@~S^v?w)2v0h2;f#>~wp}5T-ps4(RalN^cD<R;+^>It=TO&T zk4Vnh-o9P(v72`Hq}aL??P*yedAMe+pYu#3UMIl<E^Wr%GrEVjUOQ-d@f73q<L5b! z^PKfd^zEG^#C_PfX#>aP4Lj#tIkNBHN>^pqhPXvSi#1GmC9Z`wi`y#940%(t>WfN- z+?+=n=lD6M89mr`M5|t1q*E?*I-jy@UqA`R>yKX+8LF#p?AJcymwSk9ircizt2=uv zT#nTpRytk%<&9Inr=aEufA5rs^(Ki)aciIP6sA~Dn%Ltz$@78&>lU{vHdj7#6|vT9 z2Va^Tdd8RSy}s|<46m4d4G$frS~<D(t&N_0W9y>!Yr3In6<fj-H4FdOJ2Pu8KUBIm z*}u{**LlL^SqJvKb&PaOak>6hhw+fonZs9?hD)kycNPEpwSC(`&QrZs=BhDiD|QHX zZvGV@@<=sFEbUrQVbZb3$C|k{A3J}Uq8$Ii@?&GvHxWNyqXj-QPkr)_u)ex8Jn8U@ zD~++o?cd7Y_gnnw#OK=wI<E!q_0y}5h`iqQae)tKYvjqCvzN|CM}~AH9Lag){N=*? z!#lV|5|`GrZS~)?Fk@ogp&gg4*HtcF_p5zRE6eq_pX-0@IPIip9T_gFz4Pi^Lt9O` zeOvv7y?Gg3dnJscD(0-LUB+>#Fu1O#xqFZL+$FOOwxpioer>ksvHp7-+wB=sua)=R zSzQ0E+GBOvdHeXu@vnY{TxRjR>XhnTFZ|=xKgXW!yKOc!X#aQ^yL8Rc`YX0Y(+xPX z56}JZ=i=XJyIuAhmL`{MD}0|ODzpAB<L1+4Z=Qae!L#*N<!WQGDk-0!C*3@kosPuR zMwJ>DB>m@8h+VRIU#Ww$#Q$Q=rJtuyj`!VPu{!<r*LuEK<H*`?)}|X14^83oHLNR` z$ZJ`(qIYuQmSgVcy=O5!`^mndyJXV4trgPmu1_y0&6Ark<<Fn0X!Eu(|C~O#D1(lh zB^Lt}C(YU*sQWl!lSRxP&X@dcU-tjnuy-?SY3!{BvmbQMPkWwU_J2`v#kb%38C<{i zZA|a>YMbp-vesx;z3h!Chu#NC8BJJl<?+gEE6?4}uguwT*?i$a&tKR0v$X5K)z?b9 zozJ)1^S^BUy&q9=Za*GxS!Ka)f2(D-NRg&=`!vz*cVB+=FY7&f^Y+WfS5nU1j+^oK zo<E=6?uW-;YD_ElT(a^gkHo?D{C}T%4n6<4WXIjS*7MJUf9#o;vgSTZR_v=e5n5Bl z@~V$&d#>Xtm~=+KH^#6`^;XFqIejA~6^<&gBXZf>qwoJNyzsp6a<$XK3yMPBYj>=P qQVCkg`f-|mtVMdS)Mt4{HikOBm`-Eu*D(wX3=E#GelF{r5}E*Qt!M54 diff --git a/wp-admin/images/wp-logo.png b/wp-admin/images/wp-logo.png index 81e7d599b833246da488017c8d53dac5862b6504..224f7c8da356a1eae25daea11a4d1a6db5778e3d 100644 GIT binary patch delta 825 zcmX>tc#%!9Gr-TCmrII^fq{Y7)59f*fq_8)ggMw47#QR~|4*E#s9w+X+0(@_q~cag zaJ)xwp@`l0ylp?z*X3%R`<b41@>s-elaHpXu7NA$YA&#|E3!EG@BMKpnSY<i7p*U0 zEnGqQfj%BBK4IR>#ksz*%}Y1!T>E<4tm4||$D3Xp+J3kCo#p-a*7q&Lqaq>}{MTbI zVBf*_W7S6g1JMbB9RFvpc{cxB{kO7@6FgMjo!nHjfBEwC<FCJ-%G&x%{rLIw=byfP z`!;)`$CJB9j~-=yV!!Iy<dDz;&Wf8iZe+}!GiS=g3RM}t%O5`)PW4jF%FR_3m~=O< zUq@Frv}k7x&rkEl`>P&4OjN7LFq(NMI5>Fj>eZ{C-Mt$dB+{ximCI4^>F3I>qe&rp z_0xSXU%p&gU0uDOtF=kCbbacd7}rVlX=!e|ckWziJp1gDt63-CmQ6nXSn$BfB|$4! zR7I@4|K5DzGqZQGJ_fH#teiP4+}+(zJ}eNZ5}()8-+%eY5f;x$DoH2hJq7i}xMX7v zZ}l;_cKi0~_~>Y1eN(C43FjtBK00wLYT*Ot4~r}6`;PAyzFwd!T;g2z{op~yrI#}w ziM@LL`e>&?@PwT)dRn60Q!H&oSuW-WX65B=dw5ML{J6^1D^~=p&#M<o$8aROI);af zUwv6}WkL3W5G~bZhjSkW89M%X@<ip@l`Af5nz%QzhuByv%XVG6e*LJ5j#zhqI9F?h zl+U5RM`u0|ZK{tfo0Wd<^u<e;oXjS;EDpSN<A#FW>F1v(Ud>vXVBldep>q?*{=_EN zGgrB1#z%g7_;BHbv&y&c-xuGf5penDMbFAV(mZUh-oNKB=Djq};9&Zi=fycQj4Uix zB%E#$dbg3|@s}!F#hE*vn)n>qq<Q-E>GTzqr?%Fc8#d(bW)xmJabo>M9k)y$waFzV zB`y*9j)&Zo<YFTuJsm~$kLU!5vHY+&Ra{(ro~f~cP5x|z+T_an*RD;Ilajjh<?C0` z2|rlV+CJ`+*8WpbSNBgZN_TVAx8-~p40_CLU!F@!NbE>8k+Qv+6IQb<V8Vfw*3r?? n`U#Ktoc0JvI{Z{Vz~Ff?LVP2CqU(AF1_lOCS3j3^P6<r_E*yw_ delta 2238 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 VVV<|nk%57M!PC{xWt~$(69CD#SfKy_ diff --git a/wp-admin/import.php b/wp-admin/import.php index f94f7047b..0200e5613 100644 --- a/wp-admin/import.php +++ b/wp-admin/import.php @@ -1,6 +1,6 @@ <?php /** - * Import WordPress Administration Panel + * Import WordPress Administration Screen * * @package WordPress * @subpackage Administration @@ -20,7 +20,7 @@ add_contextual_help($current_screen, '<p>' . __('This screen lists links to plugins to import data from blogging/content management platforms. Choose the platform you want to import from, and click Install Now when you are prompted in the popup window. If your platform is not listed, click the link to search the plugin directory for other importer plugins to see if there is one for your platform.') . '</p>' . '<p>' . __('In previous versions of WordPress, all the importers were built-in, but they have been turned into plugins as of version 3.0 since most people only use them once or infrequently.') . '</p>' . '<p><strong>' . __('For more information:') . '</strong></p>' . - '<p>' . __('<a href="http://codex.wordpress.org/Tools_Import_SubPanel" target="_blank">Documentation on Import</a>') . '</p>' . + '<p>' . __('<a href="http://codex.wordpress.org/Tools_Import_Screen" target="_blank">Documentation on Import</a>') . '</p>' . '<p>' . __('<a href="http://wordpress.org/support/" target="_blank">Support Forums</a>') . '</p>' ); diff --git a/wp-admin/includes/class-wp-comments-list-table.php b/wp-admin/includes/class-wp-comments-list-table.php index 90c158fe6..fd25129b6 100644 --- a/wp-admin/includes/class-wp-comments-list-table.php +++ b/wp-admin/includes/class-wp-comments-list-table.php @@ -21,7 +21,7 @@ class WP_Comments_List_Table extends WP_List_Table { var $pending_count = array(); - function WP_Comments_List_Table() { + function __construct() { global $post_id; $post_id = isset( $_REQUEST['p'] ) ? absint( $_REQUEST['p'] ) : 0; @@ -29,7 +29,7 @@ class WP_Comments_List_Table extends WP_List_Table { if ( get_option('show_avatars') ) add_filter( 'comment_author', 'floated_admin_avatar' ); - parent::WP_List_Table( array( + parent::__construct( array( 'plural' => 'comments', 'singular' => 'comment', 'ajax' => true, @@ -110,6 +110,8 @@ class WP_Comments_List_Table extends WP_List_Table { $_comment_post_ids[] = $_c->comment_post_ID; } + $_comment_post_ids = array_unique( $_comment_post_ids ); + $this->pending_count = get_pending_comments_num( $_comment_post_ids ); $this->set_pagination_args( array( diff --git a/wp-admin/includes/class-wp-filesystem-base.php b/wp-admin/includes/class-wp-filesystem-base.php index 0aaadeba4..fd3fdc33b 100644 --- a/wp-admin/includes/class-wp-filesystem-base.php +++ b/wp-admin/includes/class-wp-filesystem-base.php @@ -21,7 +21,7 @@ class WP_Filesystem_Base { */ var $verbose = false; /** - * Cached list of local filepaths to maped remote filepaths. + * Cached list of local filepaths to mapped remote filepaths. * * @since 2.7 * @access private @@ -82,7 +82,18 @@ class WP_Filesystem_Base { * @return string The location of the remote path. */ function wp_themes_dir() { - return $this->wp_content_dir() . '/themes'; + return $this->wp_content_dir() . 'themes/'; + } + /** + * Returns the path on the remote filesystem of WP_LANG_DIR + * + * @since 3.2.0 + * @access public + * + * @return string The location of the remote path. + */ + function wp_lang_dir() { + return $this->find_folder(WP_LANG_DIR); } /** @@ -137,7 +148,7 @@ class WP_Filesystem_Base { function find_folder($folder) { if ( strpos($this->method, 'ftp') !== false ) { - $constant_overrides = array( 'FTP_BASE' => ABSPATH, 'FTP_CONTENT_DIR' => WP_CONTENT_DIR, 'FTP_PLUGIN_DIR' => WP_PLUGIN_DIR ); + $constant_overrides = array( 'FTP_BASE' => ABSPATH, 'FTP_CONTENT_DIR' => WP_CONTENT_DIR, 'FTP_PLUGIN_DIR' => WP_PLUGIN_DIR, 'FTP_LANG_DIR' => WP_LANG_DIR ); foreach ( $constant_overrides as $constant => $dir ) if ( defined($constant) && $folder === $dir ) return trailingslashit(constant($constant)); @@ -204,14 +215,14 @@ class WP_Filesystem_Base { } } - //Only check this as a last resort, to prevent locating the incorrect install. All above proceeedures will fail quickly if this is the right branch to take. + //Only check this as a last resort, to prevent locating the incorrect install. All above procedures will fail quickly if this is the right branch to take. if (isset( $files[ $last_path ] ) ) { if ( $this->verbose ) printf( __('Found %s') . '<br/>', $base . $last_path ); return trailingslashit($base . $last_path); } if ( $loop ) - return false; //Prevent tihs function looping again. + return false; //Prevent this function from looping again. //As an extra last resort, Change back to / if the folder wasnt found. This comes into effect when the CWD is /home/user/ but WP is at /var/www/.... mainly dedicated setups. return $this->search_for_folder($folder, '/', true); diff --git a/wp-admin/includes/class-wp-filesystem-direct.php b/wp-admin/includes/class-wp-filesystem-direct.php index 94319bce0..9703d73ad 100644 --- a/wp-admin/includes/class-wp-filesystem-direct.php +++ b/wp-admin/includes/class-wp-filesystem-direct.php @@ -19,9 +19,9 @@ class WP_Filesystem_Direct extends WP_Filesystem_Base { /** * constructor * - * @param mixed $arg ingored argument + * @param mixed $arg ignored argument */ - function WP_Filesystem_Direct($arg) { + function __construct($arg) { $this->method = 'direct'; $this->errors = new WP_Error(); } @@ -193,11 +193,14 @@ class WP_Filesystem_Direct extends WP_Filesystem_Base { return $grouparray['name']; } - function copy($source, $destination, $overwrite = false) { + function copy($source, $destination, $overwrite = false, $mode = false) { if ( ! $overwrite && $this->exists($destination) ) return false; - return copy($source, $destination); + $rtval = copy($source, $destination); + if ( $mode ) + $this->chmod($destination, $mode); + return $rtval; } function move($source, $destination, $overwrite = false) { @@ -216,12 +219,12 @@ class WP_Filesystem_Direct extends WP_Filesystem_Base { } } - function delete($file, $recursive = false) { + function delete($file, $recursive = false, $type = false) { if ( empty($file) ) //Some filesystems report this as /, which can cause non-expected recursive deletion of all files in the filesystem. return false; - $file = str_replace('\\', '/', $file); //for win32, occasional problems deleteing files otherwise + $file = str_replace('\\', '/', $file); //for win32, occasional problems deleting files otherwise - if ( $this->is_file($file) ) + if ( 'f' == $type || $this->is_file($file) ) return @unlink($file); if ( ! $recursive && $this->is_dir($file) ) return @rmdir($file); @@ -233,7 +236,7 @@ class WP_Filesystem_Direct extends WP_Filesystem_Base { $retval = true; if ( is_array($filelist) ) //false if no files, So check first. foreach ($filelist as $filename => $fileinfo) - if ( ! $this->delete($file . $filename, $recursive) ) + if ( ! $this->delete($file . $filename, $recursive, $fileinfo['type']) ) $retval = false; if ( file_exists($file) && ! @rmdir($file) ) diff --git a/wp-admin/includes/class-wp-filesystem-ftpext.php b/wp-admin/includes/class-wp-filesystem-ftpext.php index df4ce0ad5..ff65d4c35 100644 --- a/wp-admin/includes/class-wp-filesystem-ftpext.php +++ b/wp-admin/includes/class-wp-filesystem-ftpext.php @@ -19,7 +19,7 @@ class WP_Filesystem_FTPext extends WP_Filesystem_Base { var $errors = null; var $options = array(); - function WP_Filesystem_FTPext($opt='') { + function __construct($opt='') { $this->method = 'ftpext'; $this->errors = new WP_Error(); @@ -183,22 +183,22 @@ class WP_Filesystem_FTPext extends WP_Filesystem_Base { $dir = $this->dirlist($file); return $dir[$file]['group']; } - function copy($source, $destination, $overwrite = false ) { + function copy($source, $destination, $overwrite = false, $mode = false) { if ( ! $overwrite && $this->exists($destination) ) return false; $content = $this->get_contents($source); if ( false === $content) return false; - return $this->put_contents($destination, $content); + return $this->put_contents($destination, $content, $mode); } function move($source, $destination, $overwrite = false) { return ftp_rename($this->link, $source, $destination); } - function delete($file, $recursive = false ) { + function delete($file, $recursive = false, $type = false) { if ( empty($file) ) return false; - if ( $this->is_file($file) ) + if ( 'f' == $type || $this->is_file($file) ) return @ftp_delete($this->link, $file); if ( !$recursive ) return @ftp_rmdir($this->link, $file); @@ -206,7 +206,7 @@ class WP_Filesystem_FTPext extends WP_Filesystem_Base { $filelist = $this->dirlist( trailingslashit($file) ); if ( !empty($filelist) ) foreach ( $filelist as $delete_file ) - $this->delete( trailingslashit($file) . $delete_file['name'], $recursive); + $this->delete( trailingslashit($file) . $delete_file['name'], $recursive, $delete_file['type'] ); return @ftp_rmdir($this->link, $file); } diff --git a/wp-admin/includes/class-wp-filesystem-ftpsockets.php b/wp-admin/includes/class-wp-filesystem-ftpsockets.php index efd19d1f6..1dc170a93 100644 --- a/wp-admin/includes/class-wp-filesystem-ftpsockets.php +++ b/wp-admin/includes/class-wp-filesystem-ftpsockets.php @@ -19,7 +19,7 @@ class WP_Filesystem_ftpsockets extends WP_Filesystem_Base { var $errors = null; var $options = array(); - function WP_Filesystem_ftpsockets($opt = '') { + function __construct($opt = '') { $this->method = 'ftpsockets'; $this->errors = new WP_Error(); @@ -193,7 +193,7 @@ class WP_Filesystem_ftpsockets extends WP_Filesystem_Base { return $dir[$file]['group']; } - function copy($source, $destination, $overwrite = false ) { + function copy($source, $destination, $overwrite = false, $mode = false) { if ( ! $overwrite && $this->exists($destination) ) return false; @@ -201,17 +201,17 @@ class WP_Filesystem_ftpsockets extends WP_Filesystem_Base { if ( false === $content ) return false; - return $this->put_contents($destination, $content); + return $this->put_contents($destination, $content, $mode); } function move($source, $destination, $overwrite = false ) { return $this->ftp->rename($source, $destination); } - function delete($file, $recursive = false ) { + function delete($file, $recursive = false, $type = false) { if ( empty($file) ) return false; - if ( $this->is_file($file) ) + if ( 'f' == $type || $this->is_file($file) ) return $this->ftp->delete($file); if ( !$recursive ) return $this->ftp->rmdir($file); diff --git a/wp-admin/includes/class-wp-filesystem-ssh2.php b/wp-admin/includes/class-wp-filesystem-ssh2.php index f5a64021c..b809f4554 100644 --- a/wp-admin/includes/class-wp-filesystem-ssh2.php +++ b/wp-admin/includes/class-wp-filesystem-ssh2.php @@ -48,7 +48,7 @@ class WP_Filesystem_SSH2 extends WP_Filesystem_Base { var $errors = array(); var $options = array(); - function WP_Filesystem_SSH2($opt='') { + function __construct($opt='') { $this->method = 'ssh2'; $this->errors = new WP_Error(); @@ -238,28 +238,28 @@ class WP_Filesystem_SSH2 extends WP_Filesystem_Base { return $grouparray['name']; } - function copy($source, $destination, $overwrite = false ) { + function copy($source, $destination, $overwrite = false, $mode = false) { if ( ! $overwrite && $this->exists($destination) ) return false; $content = $this->get_contents($source); if ( false === $content) return false; - return $this->put_contents($destination, $content); + return $this->put_contents($destination, $content, $mode); } function move($source, $destination, $overwrite = false) { return @ssh2_sftp_rename($this->link, $source, $destination); } - function delete($file, $recursive = false) { - if ( $this->is_file($file) ) + function delete($file, $recursive = false, $type = false) { + if ( 'f' == $type || $this->is_file($file) ) return ssh2_sftp_unlink($this->sftp_link, $file); if ( ! $recursive ) return ssh2_sftp_rmdir($this->sftp_link, $file); $filelist = $this->dirlist($file); if ( is_array($filelist) ) { foreach ( $filelist as $filename => $fileinfo) { - $this->delete($file . '/' . $filename, $recursive); + $this->delete($file . '/' . $filename, $recursive, $fileinfo['type']); } } return ssh2_sftp_rmdir($this->sftp_link, $file); diff --git a/wp-admin/includes/class-wp-importer.php b/wp-admin/includes/class-wp-importer.php index 8115ff2ec..2b4774bcf 100644 --- a/wp-admin/includes/class-wp-importer.php +++ b/wp-admin/includes/class-wp-importer.php @@ -10,10 +10,6 @@ class WP_Importer { */ function __construct() {} - function WP_Importer() { - $this->__construct(); - } - /** * Returns array with imported permalinks from WordPress database * diff --git a/wp-admin/includes/class-wp-links-list-table.php b/wp-admin/includes/class-wp-links-list-table.php index bf1c0bc63..cbe3ed54a 100644 --- a/wp-admin/includes/class-wp-links-list-table.php +++ b/wp-admin/includes/class-wp-links-list-table.php @@ -9,8 +9,8 @@ */ class WP_Links_List_Table extends WP_List_Table { - function WP_Links_List_Table() { - parent::WP_List_Table( array( + function __construct() { + parent::__construct( array( 'plural' => 'bookmarks', ) ); } @@ -77,7 +77,7 @@ class WP_Links_List_Table extends WP_List_Table { function get_columns() { return array( 'cb' => '<input type="checkbox" />', - 'name' => __( 'Name' ), + 'name' => _x( 'Name', 'link name' ), 'url' => __( 'URL' ), 'categories' => __( 'Categories' ), 'rel' => __( 'Relationship' ), diff --git a/wp-admin/includes/class-wp-list-table.php b/wp-admin/includes/class-wp-list-table.php index 1d80a7ba4..6420ee781 100644 --- a/wp-admin/includes/class-wp-list-table.php +++ b/wp-admin/includes/class-wp-list-table.php @@ -77,7 +77,7 @@ class WP_List_Table { * @param array $args An associative array with information about the current table * @access protected */ - function WP_List_Table( $args = array() ) { + function __construct( $args = array() ) { $args = wp_parse_args( $args, array( 'plural' => '', 'singular' => '', @@ -139,6 +139,12 @@ class WP_List_Table { if ( !$args['total_pages'] && $args['per_page'] > 0 ) $args['total_pages'] = ceil( $args['total_items'] / $args['per_page'] ); + // redirect if page number is invalid and headers are not already sent + if ( ! headers_sent() && ( ! defined( 'DOING_AJAX' ) || ! DOING_AJAX ) && $args['total_pages'] > 0 && $this->get_pagenum() > $args['total_pages'] ) { + wp_redirect( add_query_arg( 'paged', $args['total_pages'] ) ); + exit; + } + $this->_pagination_args = $args; } @@ -282,8 +288,13 @@ class WP_List_Table { echo "<select name='action$two'>\n"; echo "<option value='-1' selected='selected'>" . __( 'Bulk Actions' ) . "</option>\n"; - foreach ( $this->_actions as $name => $title ) - echo "\t<option value='$name'>$title</option>\n"; + + foreach ( $this->_actions as $name => $title ) { + $class = 'edit' == $name ? ' class="hide-if-no-js"' : ''; + + echo "\t<option value='$name'$class>$title</option>\n"; + } + echo "</select>\n"; submit_button( __( 'Apply' ), 'button-secondary action', false, false, array( 'id' => "doaction$two" ) ); @@ -528,9 +539,12 @@ class WP_List_Table { '»' ); - $output .= "\n" . join( "\n", $page_links ); + $output .= "\n<span class='pagination-links'>" . join( "\n", $page_links ) . '</span>'; - $page_class = $total_pages < 2 ? ' one-page' : ''; + if ( $total_pages ) + $page_class = $total_pages < 2 ? ' one-page' : ''; + else + $page_class = ' no-pages'; $this->_pagination = "<div class='tablenav-pages{$page_class}'>$output</div>"; diff --git a/wp-admin/includes/class-wp-media-list-table.php b/wp-admin/includes/class-wp-media-list-table.php index 5e05f01e7..531fe60fd 100644 --- a/wp-admin/includes/class-wp-media-list-table.php +++ b/wp-admin/includes/class-wp-media-list-table.php @@ -9,10 +9,10 @@ */ class WP_Media_List_Table extends WP_List_Table { - function WP_Media_List_Table() { + function __construct() { $this->detached = isset( $_REQUEST['detached'] ) || isset( $_REQUEST['find_detached'] ); - parent::WP_List_Table( array( + parent::__construct( array( 'plural' => 'media' ) ); } @@ -137,7 +137,7 @@ class WP_Media_List_Table extends WP_List_Table { /* translators: column name */ if ( !$this->detached ) { $posts_columns['parent'] = _x( 'Attached to', 'column name' ); - $posts_columns['comments'] = '<div class="vers"><img alt="Comments" src="' . esc_url( admin_url( 'images/comment-grey-bubble.png' ) ) . '" /></div>'; + $posts_columns['comments'] = '<span class="vers"><img alt="Comments" src="' . esc_url( admin_url( 'images/comment-grey-bubble.png' ) ) . '" /></span>'; } /* translators: column name */ $posts_columns['date'] = _x( 'Date', 'column name' ); @@ -215,7 +215,7 @@ foreach ( $columns as $column_name => $column_display_name ) { case 'title': ?> - <td <?php echo $attributes ?>><strong><?php if ( $this->is_trash ) echo $att_title; else { ?><a href="<?php echo get_edit_post_link( $post->ID, true ); ?>" title="<?php echo esc_attr( sprintf( __( 'Edit “%s”' ), $att_title ) ); ?>"><?php echo $att_title; ?></a><?php } ?></strong> + <td <?php echo $attributes ?>><strong><?php if ( $this->is_trash ) echo $att_title; else { ?><a href="<?php echo get_edit_post_link( $post->ID, true ); ?>" title="<?php echo esc_attr( sprintf( __( 'Edit “%s”' ), $att_title ) ); ?>"><?php echo $att_title; ?></a><?php }; _media_states( $post ); ?></strong> <p> <?php if ( preg_match( '/^.*?\.(\w+)$/', get_attached_file( $post->ID ), $matches ) ) diff --git a/wp-admin/includes/class-wp-ms-sites-list-table.php b/wp-admin/includes/class-wp-ms-sites-list-table.php index 5414d2c08..baefc8276 100644 --- a/wp-admin/includes/class-wp-ms-sites-list-table.php +++ b/wp-admin/includes/class-wp-ms-sites-list-table.php @@ -9,8 +9,8 @@ */ class WP_MS_Sites_List_Table extends WP_List_Table { - function WP_MS_Sites_List_Table() { - parent::WP_List_Table( array( + function __construct() { + parent::__construct( array( 'plural' => 'sites', ) ); } diff --git a/wp-admin/includes/class-wp-ms-themes-list-table.php b/wp-admin/includes/class-wp-ms-themes-list-table.php index 6e34a163d..cd9841da0 100644 --- a/wp-admin/includes/class-wp-ms-themes-list-table.php +++ b/wp-admin/includes/class-wp-ms-themes-list-table.php @@ -12,7 +12,7 @@ class WP_MS_Themes_List_Table extends WP_List_Table { var $site_id; var $is_site_themes; - function WP_MS_Themes_List_Table() { + function __construct() { global $status, $page; $default_status = get_user_option( 'themes_last_view' ); @@ -32,7 +32,7 @@ class WP_MS_Themes_List_Table extends WP_List_Table { if ( $this->is_site_themes ) $this->site_id = isset( $_REQUEST['id'] ) ? intval( $_REQUEST['id'] ) : 0; - parent::WP_List_Table( array( + parent::__construct( array( 'plural' => 'themes' ) ); } diff --git a/wp-admin/includes/class-wp-ms-users-list-table.php b/wp-admin/includes/class-wp-ms-users-list-table.php index 36d55e1ca..66c41c4c6 100644 --- a/wp-admin/includes/class-wp-ms-users-list-table.php +++ b/wp-admin/includes/class-wp-ms-users-list-table.php @@ -192,6 +192,7 @@ class WP_MS_Users_List_Table extends WP_List_Table { $actions['delete'] = '<a href="' . $delete = esc_url( network_admin_url( add_query_arg( '_wp_http_referer', urlencode( stripslashes( $_SERVER['REQUEST_URI'] ) ), wp_nonce_url( 'edit.php', 'deleteuser' ) . '&action=deleteuser&id=' . $user->ID ) ) ) . '" class="delete">' . __( 'Delete' ) . '</a>'; } + $actions = apply_filters( 'ms_user_row_actions', $actions, $user ); echo $this->row_actions( $actions ); ?> </td> diff --git a/wp-admin/includes/class-wp-plugin-install-list-table.php b/wp-admin/includes/class-wp-plugin-install-list-table.php index 4893ae669..1f809b37a 100644 --- a/wp-admin/includes/class-wp-plugin-install-list-table.php +++ b/wp-admin/includes/class-wp-plugin-install-list-table.php @@ -138,7 +138,7 @@ class WP_Plugin_Install_List_Table extends WP_List_Table { function get_columns() { return array( - 'name' => __( 'Name' ), + 'name' => _x( 'Name', 'plugin name' ), 'version' => __( 'Version' ), 'rating' => __( 'Rating' ), 'description' => __( 'Description' ), @@ -220,11 +220,18 @@ class WP_Plugin_Install_List_Table extends WP_List_Table { <td class="vers column-rating"<?php echo $style['rating']; ?>> <div class="star-holder" title="<?php printf( _n( '(based on %s rating)', '(based on %s ratings)', $plugin['num_ratings'] ), number_format_i18n( $plugin['num_ratings'] ) ) ?>"> <div class="star star-rating" style="width: <?php echo esc_attr( $plugin['rating'] ) ?>px"></div> - <div class="star star5"><img src="<?php echo admin_url( 'images/star.gif' ); ?>" alt="<?php _e( '5 stars' ) ?>" /></div> - <div class="star star4"><img src="<?php echo admin_url( 'images/star.gif' ); ?>" alt="<?php _e( '4 stars' ) ?>" /></div> - <div class="star star3"><img src="<?php echo admin_url( 'images/star.gif' ); ?>" alt="<?php _e( '3 stars' ) ?>" /></div> - <div class="star star2"><img src="<?php echo admin_url( 'images/star.gif' ); ?>" alt="<?php _e( '2 stars' ) ?>" /></div> - <div class="star star1"><img src="<?php echo admin_url( 'images/star.gif' ); ?>" alt="<?php _e( '1 star' ) ?>" /></div> + <?php + $color = get_user_option('admin_color'); + if ( empty($color) || 'fresh' == $color ) + $star_url = admin_url( 'images/gray-star.png?v=20110615' ); // 'Fresh' Gray star for list tables + else + $star_url = admin_url( 'images/star.png?v=20110615' ); // 'Classic' Blue star + ?> + <div class="star star5"><img src="<?php echo $star_url; ?>" alt="<?php _e( '5 stars' ) ?>" /></div> + <div class="star star4"><img src="<?php echo $star_url; ?>" alt="<?php _e( '4 stars' ) ?>" /></div> + <div class="star star3"><img src="<?php echo $star_url; ?>" alt="<?php _e( '3 stars' ) ?>" /></div> + <div class="star star2"><img src="<?php echo $star_url; ?>" alt="<?php _e( '2 stars' ) ?>" /></div> + <div class="star star1"><img src="<?php echo $star_url; ?>" alt="<?php _e( '1 star' ) ?>" /></div> </div> </td> <td class="desc column-description"<?php echo $style['description']; ?>><?php echo $description, $author; ?></td> diff --git a/wp-admin/includes/class-wp-plugins-list-table.php b/wp-admin/includes/class-wp-plugins-list-table.php index eefffb103..99ce21278 100644 --- a/wp-admin/includes/class-wp-plugins-list-table.php +++ b/wp-admin/includes/class-wp-plugins-list-table.php @@ -9,7 +9,7 @@ */ class WP_Plugins_List_Table extends WP_List_Table { - function WP_Plugins_List_Table() { + function __construct() { global $status, $page; $default_status = get_user_option( 'plugins_last_view' ); @@ -21,13 +21,17 @@ class WP_Plugins_List_Table extends WP_List_Table { if ( $status != $default_status && 'search' != $status ) update_user_meta( get_current_user_id(), 'plugins_last_view', $status ); + + if ( isset($_REQUEST['s']) ) + $_SERVER['REQUEST_URI'] = add_query_arg('s', stripslashes($_REQUEST['s']) ); + $page = $this->get_pagenum(); - parent::WP_List_Table( array( + parent::__construct( array( 'plural' => 'plugins', ) ); } - + function get_table_classes() { return array( 'widefat', $this->_args['plural'] ); } @@ -132,7 +136,7 @@ class WP_Plugins_List_Table extends WP_List_Table { uasort( $this->items, array( &$this, '_order_callback' ) ); } - $plugins_per_page = $this->get_items_per_page( str_replace( '-', '_', $screen->id . '_per_page' ) ); + $plugins_per_page = $this->get_items_per_page( str_replace( '-', '_', $screen->id . '_per_page' ), 999 ); $start = ( $page - 1 ) * $plugins_per_page; @@ -195,13 +199,6 @@ class WP_Plugins_List_Table extends WP_List_Table { return array(); } - function display_tablenav( $which ) { - global $status; - - if ( !in_array( $status, array( 'mustuse', 'dropins' ) ) ) - parent::display_tablenav( $which ); - } - function get_views() { global $totals, $status; @@ -286,11 +283,19 @@ class WP_Plugins_List_Table extends WP_List_Table { function extra_tablenav( $which ) { global $status; - if ( 'recently_activated' == $status ) { ?> - <div class="alignleft actions"> - <?php submit_button( __( 'Clear List' ), 'secondary', 'clear-recent-list', false ); ?> - </div> - <?php } + if ( ! in_array($status, array('recently_activated', 'mustuse', 'dropins') ) ) + return; + + echo '<div class="alignleft actions">'; + + if ( 'recently_activated' == $status ) + submit_button( __( 'Clear List' ), 'secondary', 'clear-recent-list', false ); + elseif ( 'top' == $which && 'mustuse' == $status ) + echo '<p>' . sprintf( __( 'Files in the <code>%s</code> directory are executed automatically.' ), str_replace( ABSPATH, '/', WPMU_PLUGIN_DIR ) ) . '</p>'; + elseif ( 'top' == $which && 'dropins' == $status ) + echo '<p>' . sprintf( __( 'Drop-ins are advanced plugins in the <code>%s</code> directory that replace WordPress functionality when present.' ), str_replace( ABSPATH, '', WP_CONTENT_DIR ) ) . '</p>'; + + echo '</div>'; } function current_action() { diff --git a/wp-admin/includes/class-wp-posts-list-table.php b/wp-admin/includes/class-wp-posts-list-table.php index c1b4c3441..bdd24a62e 100644 --- a/wp-admin/includes/class-wp-posts-list-table.php +++ b/wp-admin/includes/class-wp-posts-list-table.php @@ -45,7 +45,7 @@ class WP_Posts_List_Table extends WP_List_Table { */ var $sticky_posts_count = 0; - function WP_Posts_List_Table() { + function __construct() { global $post_type_object, $post_type, $wpdb; if ( !isset( $_REQUEST['post_type'] ) ) @@ -74,7 +74,7 @@ class WP_Posts_List_Table extends WP_List_Table { $this->sticky_posts_count = $wpdb->get_var( $wpdb->prepare( "SELECT COUNT( 1 ) FROM $wpdb->posts WHERE post_type = %s AND post_status != 'trash' AND ID IN ($sticky_posts)", $post_type ) ); } - parent::WP_List_Table( array( + parent::__construct( array( 'plural' => 'posts', ) ); } @@ -281,7 +281,7 @@ class WP_Posts_List_Table extends WP_List_Table { $post_status = !empty( $_REQUEST['post_status'] ) ? $_REQUEST['post_status'] : 'all'; if ( post_type_supports( $post_type, 'comments' ) && !in_array( $post_status, array( 'pending', 'draft', 'future' ) ) ) - $posts_columns['comments'] = '<div class="vers"><img alt="' . esc_attr__( 'Comments' ) . '" src="' . esc_url( admin_url( 'images/comment-grey-bubble.png' ) ) . '" /></div>'; + $posts_columns['comments'] = '<span class="vers"><img alt="' . esc_attr__( 'Comments' ) . '" src="' . esc_url( admin_url( 'images/comment-grey-bubble.png' ) ) . '" /></span>'; $posts_columns['date'] = __( 'Date' ); @@ -550,11 +550,13 @@ class WP_Posts_List_Table extends WP_List_Table { if ( 'trash' == $post->post_status || !EMPTY_TRASH_DAYS ) $actions['delete'] = "<a class='submitdelete' title='" . esc_attr( __( 'Delete this item permanently' ) ) . "' href='" . get_delete_post_link( $post->ID, '', true ) . "'>" . __( 'Delete Permanently' ) . "</a>"; } - if ( in_array( $post->post_status, array( 'pending', 'draft' ) ) ) { - if ( $can_edit_post ) - $actions['view'] = '<a href="' . esc_url( add_query_arg( 'preview', 'true', get_permalink( $post->ID ) ) ) . '" title="' . esc_attr( sprintf( __( 'Preview “%s”' ), $title ) ) . '" rel="permalink">' . __( 'Preview' ) . '</a>'; - } elseif ( 'trash' != $post->post_status ) { - $actions['view'] = '<a href="' . get_permalink( $post->ID ) . '" title="' . esc_attr( sprintf( __( 'View “%s”' ), $title ) ) . '" rel="permalink">' . __( 'View' ) . '</a>'; + if ( $post_type_object->public ) { + if ( in_array( $post->post_status, array( 'pending', 'draft' ) ) ) { + if ( $can_edit_post ) + $actions['view'] = '<a href="' . esc_url( add_query_arg( 'preview', 'true', get_permalink( $post->ID ) ) ) . '" title="' . esc_attr( sprintf( __( 'Preview “%s”' ), $title ) ) . '" rel="permalink">' . __( 'Preview' ) . '</a>'; + } elseif ( 'trash' != $post->post_status ) { + $actions['view'] = '<a href="' . get_permalink( $post->ID ) . '" title="' . esc_attr( sprintf( __( 'View “%s”' ), $title ) ) . '" rel="permalink">' . __( 'View' ) . '</a>'; + } } $actions = apply_filters( is_post_type_hierarchical( $post->post_type ) ? 'page_row_actions' : 'post_row_actions', $actions, $post ); @@ -1003,6 +1005,7 @@ class WP_Posts_List_Table extends WP_List_Table { } ?> <input type="hidden" name="post_view" value="<?php echo esc_attr( $m ); ?>" /> <input type="hidden" name="screen" value="<?php echo esc_attr( $screen->id ); ?>" /> + <span class="error" style="display:none"></span> <br class="clear" /> </p> </td></tr> diff --git a/wp-admin/includes/class-wp-terms-list-table.php b/wp-admin/includes/class-wp-terms-list-table.php index ac4d963c5..7778d8862 100644 --- a/wp-admin/includes/class-wp-terms-list-table.php +++ b/wp-admin/includes/class-wp-terms-list-table.php @@ -11,7 +11,7 @@ class WP_Terms_List_Table extends WP_List_Table { var $callback_args; - function WP_Terms_List_Table() { + function __construct() { global $post_type, $taxonomy, $tax; wp_reset_vars( array( 'action', 'taxonomy', 'post_type' ) ); @@ -27,7 +27,7 @@ class WP_Terms_List_Table extends WP_List_Table { if ( empty( $post_type ) || !in_array( $post_type, get_post_types( array( 'public' => true ) ) ) ) $post_type = 'post'; - parent::WP_List_Table( array( + parent::__construct( array( 'plural' => 'tags', 'singular' => 'tag', ) ); @@ -97,7 +97,7 @@ class WP_Terms_List_Table extends WP_List_Table { $columns = array( 'cb' => '<input type="checkbox" />', - 'name' => __( 'Name' ), + 'name' => _x( 'Name', 'term name' ), 'description' => __( 'Description' ), 'slug' => __( 'Slug' ), ); @@ -250,7 +250,7 @@ class WP_Terms_List_Table extends WP_List_Table { $pad = str_repeat( '— ', max( 0, $this->level ) ); $name = apply_filters( 'term_name', $pad . ' ' . $tag->name, $tag ); $qe_data = get_term( $tag->term_id, $taxonomy, OBJECT, 'edit' ); - $edit_link = get_edit_term_link( $tag->term_id, $taxonomy, $post_type ); + $edit_link = esc_url( get_edit_term_link( $tag->term_id, $taxonomy, $post_type ) ); $out = '<strong><a class="row-title" href="' . $edit_link . '" title="' . esc_attr( sprintf( __( 'Edit “%s”' ), $name ) ) . '">' . $name . '</a></strong><br />'; @@ -261,6 +261,7 @@ class WP_Terms_List_Table extends WP_List_Table { } if ( current_user_can( $tax->cap->delete_terms ) && $tag->term_id != $default_term ) $actions['delete'] = "<a class='delete-tag' href='" . wp_nonce_url( "edit-tags.php?action=delete&taxonomy=$taxonomy&tag_ID=$tag->term_id", 'delete-tag_' . $tag->term_id ) . "'>" . __( 'Delete' ) . "</a>"; + $actions['view'] = '<a href="' . get_term_link( $tag ) . '">' . __( 'View' ) . '</a>'; $actions = apply_filters( 'tag_row_actions', $actions, $tag ); $actions = apply_filters( "{$taxonomy}_row_actions", $actions, $tag ); @@ -269,7 +270,7 @@ class WP_Terms_List_Table extends WP_List_Table { $out .= '<div class="hidden" id="inline_' . $qe_data->term_id . '">'; $out .= '<div class="name">' . $qe_data->name . '</div>'; $out .= '<div class="slug">' . apply_filters( 'editable_slug', $qe_data->slug ) . '</div>'; - $out .= '<div class="parent">' . $qe_data->parent . '</div></div></td>'; + $out .= '<div class="parent">' . $qe_data->parent . '</div></div>'; return $out; } @@ -300,7 +301,7 @@ class WP_Terms_List_Table extends WP_List_Table { $args['post_type'] = $post_type; - return "<a href='" . add_query_arg( $args, 'edit.php' ) . "'>$count</a>"; + return "<a href='" . esc_url ( add_query_arg( $args, 'edit.php' ) ) . "'>$count</a>"; } function column_links( $tag ) { @@ -335,7 +336,7 @@ class WP_Terms_List_Table extends WP_List_Table { <h4><?php _e( 'Quick Edit' ); ?></h4> <label> - <span class="title"><?php _e( 'Name' ); ?></span> + <span class="title"><?php _ex( 'Name', 'term name' ); ?></span> <span class="input-text-wrap"><input type="text" name="name" class="ptitle" value="" /></span> </label> <?php if ( !global_terms_enabled() ) { ?> diff --git a/wp-admin/includes/class-wp-themes-list-table.php b/wp-admin/includes/class-wp-themes-list-table.php index 91e1d254a..5cb7648e6 100644 --- a/wp-admin/includes/class-wp-themes-list-table.php +++ b/wp-admin/includes/class-wp-themes-list-table.php @@ -24,9 +24,8 @@ class WP_Themes_List_Table extends WP_List_Table { $themes = get_allowed_themes(); - $search = !empty( $_REQUEST['s'] ) ? trim( stripslashes( $_REQUEST['s'] ) ) : ''; - - if ( '' !== $search ) { + if ( ! empty( $_REQUEST['s'] ) ) { + $search = strtolower( stripslashes( $_REQUEST['s'] ) ); $this->search = array_merge( $this->search, array_filter( array_map( 'trim', explode( ',', $search ) ) ) ); $this->search = array_unique( $this->search ); } diff --git a/wp-admin/includes/class-wp-upgrader.php b/wp-admin/includes/class-wp-upgrader.php index d81b30564..1cf4c41c2 100644 --- a/wp-admin/includes/class-wp-upgrader.php +++ b/wp-admin/includes/class-wp-upgrader.php @@ -25,9 +25,6 @@ class WP_Upgrader { var $skin = null; var $result = array(); - function WP_Upgrader($skin = null) { - return $this->__construct($skin); - } function __construct($skin = null) { if ( null == $skin ) $this->skin = new WP_Upgrader_Skin(); @@ -211,25 +208,25 @@ class WP_Upgrader { $destination = trailingslashit($destination) . trailingslashit(basename($source)); } - if ( $wp_filesystem->exists($remote_destination) ) { - if ( $clear_destination ) { - //We're going to clear the destination if theres something there - $this->skin->feedback('remove_old'); + if ( $clear_destination ) { + //We're going to clear the destination if theres something there + $this->skin->feedback('remove_old'); + $removed = true; + if ( $wp_filesystem->exists($remote_destination) ) $removed = $wp_filesystem->delete($remote_destination, true); - $removed = apply_filters('upgrader_clear_destination', $removed, $local_destination, $remote_destination, $hook_extra); - - if ( is_wp_error($removed) ) - return $removed; - else if ( ! $removed ) - return new WP_Error('remove_old_failed', $this->strings['remove_old_failed']); - } else { - //If we're not clearing the destination folder and something exists there allready, Bail. - //But first check to see if there are actually any files in the folder. - $_files = $wp_filesystem->dirlist($remote_destination); - if ( ! empty($_files) ) { - $wp_filesystem->delete($remote_source, true); //Clear out the source files. - return new WP_Error('folder_exists', $this->strings['folder_exists'], $remote_destination ); - } + $removed = apply_filters('upgrader_clear_destination', $removed, $local_destination, $remote_destination, $hook_extra); + + if ( is_wp_error($removed) ) + return $removed; + else if ( ! $removed ) + return new WP_Error('remove_old_failed', $this->strings['remove_old_failed']); + } elseif ( $wp_filesystem->exists($remote_destination) ) { + //If we're not clearing the destination folder and something exists there allready, Bail. + //But first check to see if there are actually any files in the folder. + $_files = $wp_filesystem->dirlist($remote_destination); + if ( ! empty($_files) ) { + $wp_filesystem->delete($remote_source, true); //Clear out the source files. + return new WP_Error('folder_exists', $this->strings['folder_exists'], $remote_destination ); } } @@ -302,8 +299,10 @@ class WP_Upgrader { return $download; } + $delete_package = ($download != $package); // Do not delete a "local" file + //Unzip's the file into a temporary directory - $working_dir = $this->unpack_package( $download ); + $working_dir = $this->unpack_package( $download, $delete_package ); if ( is_wp_error($working_dir) ) { $this->skin->error($working_dir); $this->skin->after(); @@ -581,7 +580,7 @@ class Plugin_Upgrader extends WP_Upgrader { return $removed; // If plugin is in its own directory, recursively delete the directory. - if ( strpos($plugin, '/') && $this_plugin_dir != $plugins_dir ) //base check on if plugin includes directory seperator AND that its not the root plugin folder + if ( strpos($plugin, '/') && $this_plugin_dir != $plugins_dir ) //base check on if plugin includes directory separator AND that its not the root plugin folder $deleted = $wp_filesystem->delete($this_plugin_dir, true); else $deleted = $wp_filesystem->delete($plugins_dir . $plugin); @@ -589,7 +588,7 @@ class Plugin_Upgrader extends WP_Upgrader { if ( ! $deleted ) return new WP_Error('remove_old_failed', $this->strings['remove_old_failed']); - return $removed; + return true; } } @@ -868,7 +867,7 @@ class Core_Upgrader extends WP_Upgrader { } function upgrade($current) { - global $wp_filesystem; + global $wp_filesystem, $wp_version; $this->init(); $this->upgrade_strings(); @@ -886,7 +885,21 @@ class Core_Upgrader extends WP_Upgrader { $wp_dir = trailingslashit($wp_filesystem->abspath()); - $download = $this->download_package( $current->package ); + // If partial update is returned from the API, use that, unless we're doing a reinstall. + // If we cross the new_bundled version number, then use the new_bundled zip. + // Don't though if the constant is set to skip bundled items. + // If the API returns a no_content zip, go with it. Finally, default to the full zip. + if ( $current->packages->partial && 'reinstall' != $current->response && $wp_version == $current->partial_version ) + $to_download = 'partial'; + elseif ( $current->packages->new_bundled && version_compare( $wp_version, $current->new_bundled, '<' ) + && ( ! defined( 'CORE_UPGRADE_SKIP_NEW_BUNDLED' ) || ! CORE_UPGRADE_SKIP_NEW_BUNDLED ) ) + $to_download = 'new_bundled'; + elseif ( $current->packages->no_content ) + $to_download = 'no_content'; + else + $to_download = 'full'; + + $download = $this->download_package( $current->packages->$to_download ); if ( is_wp_error($download) ) return $download; @@ -923,9 +936,6 @@ class WP_Upgrader_Skin { var $done_header = false; var $result = false; - function WP_Upgrader_Skin($args = array()) { - return $this->__construct($args); - } function __construct($args = array()) { $defaults = array( 'url' => '', 'nonce' => '', 'title' => '', 'context' => false ); $this->options = wp_parse_args($args, $defaults); @@ -1012,10 +1022,6 @@ class Plugin_Upgrader_Skin extends WP_Upgrader_Skin { var $plugin_active = false; var $plugin_network_active = false; - function Plugin_Upgrader_Skin($args = array()) { - return $this->__construct($args); - } - function __construct($args = array()) { $defaults = array( 'url' => '', 'plugin' => '', 'nonce' => '', 'title' => __('Update Plugin') ); $args = wp_parse_args($args, $defaults); @@ -1068,10 +1074,6 @@ class Bulk_Upgrader_Skin extends WP_Upgrader_Skin { var $in_loop = false; var $error = false; - function Bulk_Upgrader_Skin($args = array()) { - return $this->__construct($args); - } - function __construct($args = array()) { $defaults = array( 'url' => '', 'nonce' => '' ); $args = wp_parse_args($args, $defaults); @@ -1176,7 +1178,8 @@ class Bulk_Upgrader_Skin extends WP_Upgrader_Skin { class Bulk_Plugin_Upgrader_Skin extends Bulk_Upgrader_Skin { var $plugin_info = array(); // Plugin_Upgrader::bulk() will fill this in. - function Plugin_Upgrader_Skin($args = array()) { + + function __construct($args = array()) { parent::__construct($args); } @@ -1207,7 +1210,8 @@ class Bulk_Plugin_Upgrader_Skin extends Bulk_Upgrader_Skin { class Bulk_Theme_Upgrader_Skin extends Bulk_Upgrader_Skin { var $theme_info = array(); // Theme_Upgrader::bulk() will fill this in. - function Theme_Upgrader_Skin($args = array()) { + + function __construct($args = array()) { parent::__construct($args); } @@ -1249,10 +1253,6 @@ class Plugin_Installer_Skin extends WP_Upgrader_Skin { var $api; var $type; - function Plugin_Installer_Skin($args = array()) { - return $this->__construct($args); - } - function __construct($args = array()) { $defaults = array( 'type' => 'web', 'url' => '', 'plugin' => '', 'nonce' => '', 'title' => '' ); $args = wp_parse_args($args, $defaults); @@ -1317,10 +1317,6 @@ class Theme_Installer_Skin extends WP_Upgrader_Skin { var $api; var $type; - function Theme_Installer_Skin($args = array()) { - return $this->__construct($args); - } - function __construct($args = array()) { $defaults = array( 'type' => 'web', 'url' => '', 'theme' => '', 'nonce' => '', 'title' => '' ); $args = wp_parse_args($args, $defaults); @@ -1383,10 +1379,6 @@ class Theme_Installer_Skin extends WP_Upgrader_Skin { class Theme_Upgrader_Skin extends WP_Upgrader_Skin { var $theme = ''; - function Theme_Upgrader_Skin($args = array()) { - return $this->__construct($args); - } - function __construct($args = array()) { $defaults = array( 'url' => '', 'theme' => '', 'nonce' => '', 'title' => __('Update Theme') ); $args = wp_parse_args($args, $defaults); @@ -1438,9 +1430,6 @@ class File_Upload_Upgrader { var $package; var $filename; - function File_Upload_Upgrader($form, $urlholder) { - return $this->__construct($form, $urlholder); - } function __construct($form, $urlholder) { if ( ! ( ( $uploads = wp_upload_dir() ) && false === $uploads['error'] ) ) wp_die($uploads['error']); diff --git a/wp-admin/includes/class-wp-users-list-table.php b/wp-admin/includes/class-wp-users-list-table.php index d52d75f09..de22748be 100644 --- a/wp-admin/includes/class-wp-users-list-table.php +++ b/wp-admin/includes/class-wp-users-list-table.php @@ -12,14 +12,14 @@ class WP_Users_List_Table extends WP_List_Table { var $site_id; var $is_site_users; - function WP_Users_List_Table() { + function __construct() { $screen = get_current_screen(); $this->is_site_users = 'site-users-network' == $screen->id; if ( $this->is_site_users ) $this->site_id = isset( $_REQUEST['id'] ) ? intval( $_REQUEST['id'] ) : 0; - parent::WP_List_Table( array( + parent::__construct( array( 'singular' => 'user', 'plural' => 'users' ) ); @@ -52,7 +52,8 @@ class WP_Users_List_Table extends WP_List_Table { 'fields' => 'all_with_meta' ); - $args['search'] = '*' . $args['search'] . '*'; + if ( '' !== $args['search'] ) + $args['search'] = '*' . $args['search'] . '*'; if ( $this->is_site_users ) $args['blog_id'] = $this->site_id; @@ -112,7 +113,7 @@ class WP_Users_List_Table extends WP_List_Table { $name = translate_user_role( $name ); /* translators: User role name with count */ $name = sprintf( __('%1$s <span class="count">(%2$s)</span>'), $name, $avail_roles[$this_role] ); - $role_links[$this_role] = "<a href='" . add_query_arg( 'role', $this_role, $url ) . "'$class>$name</a>"; + $role_links[$this_role] = "<a href='" . esc_url( add_query_arg( 'role', $this_role, $url ) ) . "'$class>$name</a>"; } return $role_links; diff --git a/wp-admin/includes/dashboard.php b/wp-admin/includes/dashboard.php index 2b10928b0..1d3f373f7 100644 --- a/wp-admin/includes/dashboard.php +++ b/wp-admin/includes/dashboard.php @@ -1,6 +1,6 @@ <?php /** - * WordPress Dashboard Widget Administration Panel API + * WordPress Dashboard Widget Administration Screen API * * @package WordPress * @subpackage Administration @@ -25,6 +25,16 @@ function wp_dashboard_setup() { /* Register Widgets and Controls */ + $response = wp_check_browser_version(); + + if ( $response && $response['upgrade'] ) { + add_filter( 'postbox_classes_dashboard_dashboard_browser_nag', 'dashboard_browser_nag_class' ); + if ( $response['insecure'] ) + wp_add_dashboard_widget( 'dashboard_browser_nag', __( 'You are using an insecure browser!' ), 'wp_dashboard_browser_nag' ); + else + wp_add_dashboard_widget( 'dashboard_browser_nag', __( 'Your browser is out of date!' ), 'wp_dashboard_browser_nag' ); + } + // Right Now if ( is_blog_admin() && current_user_can('edit_posts') ) wp_add_dashboard_widget( 'dashboard_right_now', __( 'Right Now' ), 'wp_dashboard_right_now' ); @@ -161,7 +171,12 @@ function wp_add_dashboard_widget( $widget_id, $widget_name, $callback, $control_ $location = 'normal'; if ( in_array($widget_id, $side_widgets) ) $location = 'side'; - add_meta_box( $widget_id, $widget_name , $callback, $screen->id, $location, 'core' ); + + $priority = 'core'; + if ( 'dashboard_browser_nag' === $widget_id ) + $priority = 'high'; + + add_meta_box( $widget_id, $widget_name, $callback, $screen->id, $location, $priority ); } function _wp_dashboard_control_callback( $dashboard, $meta_box ) { @@ -384,25 +399,29 @@ function wp_dashboard_right_now() { $num = number_format_i18n( $num_widgets ); $switch_themes = $ct->title; - if ( current_user_can( 'switch_themes') ) { - echo '<a href="themes.php" class="button rbutton">' . __('Change Theme') . '</a>'; + if ( current_user_can( 'switch_themes') ) $switch_themes = '<a href="themes.php">' . $switch_themes . '</a>'; - } if ( current_user_can( 'edit_theme_options' ) ) { printf(_n('Theme <span class="b">%1$s</span> with <span class="b"><a href="widgets.php">%2$s Widget</a></span>', 'Theme <span class="b">%1$s</span> with <span class="b"><a href="widgets.php">%2$s Widgets</a></span>', $num_widgets), $switch_themes, $num); } else { printf(_n('Theme <span class="b">%1$s</span> with <span class="b">%2$s Widget</span>', 'Theme <span class="b">%1$s</span> with <span class="b">%2$s Widgets</span>', $num_widgets), $switch_themes, $num); } } else { - if ( current_user_can( 'switch_themes' ) ) { - echo '<a href="themes.php" class="button rbutton">' . __('Change Theme') . '</a>'; + if ( current_user_can( 'switch_themes' ) ) printf( __('Theme <span class="b"><a href="themes.php">%1$s</a></span>'), $ct->title ); - } else { + else printf( __('Theme <span class="b">%1$s</span>'), $ct->title ); - } } echo '</p>'; + // Check if search engines are blocked. + if ( !is_network_admin() && !is_user_admin() && current_user_can('manage_options') && '1' != get_option('blog_public') ) { + $title = apply_filters('privacy_on_link_title', __('Your site is asking search engines not to index its content') ); + $content = apply_filters('privacy_on_link_text', __('Search Engines Blocked') ); + + echo "<p><a href='options-privacy.php' title='$title'>$content</a></p>"; + } + update_right_now_message(); echo "\n\t".'<br class="clear" /></div>'; @@ -457,7 +476,7 @@ function wp_network_dashboard_right_now() { do_action( 'mu_activity_box_end' ); } -function wp_dashboard_quick_press_output() { +function wp_dashboard_quick_press() { global $post_ID; $drafts = false; @@ -538,7 +557,7 @@ function wp_dashboard_quick_press_output() { <input type="reset" value="<?php esc_attr_e( 'Reset' ); ?>" class="button" /> <span id="publishing-action"> <input type="submit" name="publish" id="publish" accesskey="p" tabindex="5" class="button-primary" value="<?php current_user_can('publish_posts') ? esc_attr_e('Publish') : esc_attr_e('Submit for Review'); ?>" /> - <img class="waiting" src="<?php echo esc_url( admin_url( 'images/wpspin_light.gif' ) ); ?>" /> + <img class="waiting" src="<?php echo esc_url( admin_url( 'images/wpspin_light.gif' ) ); ?>" alt="" /> </span> <br class="clear" /> </p> @@ -550,10 +569,6 @@ function wp_dashboard_quick_press_output() { wp_dashboard_recent_drafts( $drafts ); } -function wp_dashboard_quick_press() { - echo '<p class="widget-loading hide-if-no-js">' . __( 'Loading…' ) . '</p><p class="describe hide-if-js">' . __('This widget requires JavaScript.') . '</p>'; -} - function wp_dashboard_recent_drafts( $drafts = false ) { if ( !$drafts ) { $drafts_query = new WP_Query( array( @@ -581,7 +596,7 @@ function wp_dashboard_recent_drafts( $drafts = false ) { <ul> <li><?php echo join( "</li>\n<li>", $list ); ?></li> </ul> - <p class="textright"><a href="edit.php?post_status=draft" class="button"><?php _e('View all'); ?></a></p> + <p class="textright"><a href="edit.php?post_status=draft" ><?php _e('View all'); ?></a></p> <?php } else { _e('There are no drafts at the moment'); @@ -634,7 +649,7 @@ function wp_dashboard_recent_comments() { <?php if ( current_user_can('edit_posts') ) { ?> - <p class="textright"><a href="edit-comments.php" class="button"><?php _e('View all'); ?></a></p> + <?php _get_list_table('WP_Comments_List_Table')->views(); ?> <?php } wp_comment_reply( -1, false, 'dashboard', false ); @@ -767,7 +782,7 @@ function wp_dashboard_recent_comments_control() { } function wp_dashboard_incoming_links() { - echo '<p class="widget-loading hide-if-no-js">' . __( 'Loading…' ) . '</p><p class="describe hide-if-js">' . __('This widget requires JavaScript.') . '</p>'; + wp_dashboard_cached_rss_widget( 'dashboard_incoming_links', 'wp_dashboard_incoming_links_output' ); } /** @@ -855,7 +870,7 @@ function wp_dashboard_incoming_links_control() { } function wp_dashboard_primary() { - echo '<p class="widget-loading hide-if-no-js">' . __( 'Loading…' ) . '</p><p class="describe hide-if-js">' . __('This widget requires JavaScript.') . '</p>'; + wp_dashboard_cached_rss_widget( 'dashboard_primary', 'wp_dashboard_rss_output' ); } function wp_dashboard_primary_control() { @@ -877,7 +892,7 @@ function wp_dashboard_rss_output( $widget_id ) { } function wp_dashboard_secondary() { - echo '<p class="widget-loading hide-if-no-js">' . __( 'Loading…' ) . '</p><p class="describe hide-if-js">' . __('This widget requires JavaScript.') . '</p>'; + wp_dashboard_cached_rss_widget( 'dashboard_secondary', 'wp_dashboard_secondary_output' ); } function wp_dashboard_secondary_control() { @@ -916,7 +931,11 @@ function wp_dashboard_secondary_output() { } function wp_dashboard_plugins() { - echo '<p class="widget-loading hide-if-no-js">' . __( 'Loading…' ) . '</p><p class="describe hide-if-js">' . __('This widget requires JavaScript.') . '</p>'; + wp_dashboard_cached_rss_widget( 'dashboard_plugins', 'wp_dashboard_plugins_output', array( + 'http://wordpress.org/extend/plugins/rss/browse/popular/', + 'http://wordpress.org/extend/plugins/rss/browse/new/', + 'http://wordpress.org/extend/plugins/rss/browse/updated/' + ) ); } /** @@ -1016,30 +1035,35 @@ function wp_dashboard_plugins_output() { * @return bool False on failure. True on success. */ function wp_dashboard_cached_rss_widget( $widget_id, $callback, $check_urls = array() ) { - $loading = '<p class="widget-loading">' . __( 'Loading…' ) . '</p>'; + $loading = '<p class="widget-loading hide-if-no-js">' . __( 'Loading…' ) . '</p><p class="hide-if-js">' . __( 'This widget requires JavaScript.' ) . '</p>'; + $doing_ajax = ( defined('DOING_AJAX') && DOING_AJAX ); if ( empty($check_urls) ) { $widgets = get_option( 'dashboard_widget_options' ); - if ( empty($widgets[$widget_id]['url']) ) { + if ( empty($widgets[$widget_id]['url']) && ! $doing_ajax ) { echo $loading; return false; } $check_urls = array( $widgets[$widget_id]['url'] ); } - include_once ABSPATH . WPINC . '/class-feed.php'; - foreach ( $check_urls as $check_url ) { - $cache = new WP_Feed_Cache_Transient('', md5($check_url), ''); - if ( ! $cache->load() ) { - echo $loading; - return false; - } + $cache_key = 'dash_' . md5( $widget_id ); + if ( false !== ( $output = get_transient( $cache_key ) ) ) { + echo $output; + return true; + } + + if ( ! $doing_ajax ) { + echo $loading; + return false; } if ( $callback && is_callable( $callback ) ) { $args = array_slice( func_get_args(), 2 ); array_unshift( $args, $widget_id ); + ob_start(); call_user_func_array( $callback, $args ); + set_transient( $cache_key, ob_get_flush(), 43200); // Default lifetime in cache of 12 hours (same as the feeds) } return true; @@ -1099,6 +1123,8 @@ function wp_dashboard_rss_control( $widget_id, $form_inputs = array() ) { } } update_option( 'dashboard_widget_options', $widget_options ); + $cache_key = 'dash_' . md5( $widget_id ); + delete_transient( $cache_key ); } wp_widget_rss_form( $widget_options[$widget_id], $form_inputs ); @@ -1106,7 +1132,7 @@ function wp_dashboard_rss_control( $widget_id, $form_inputs = array() ) { // Display File upload quota on dashboard function wp_dashboard_quota() { - if ( !is_multisite() || !current_user_can('edit_posts') || get_site_option( 'upload_space_check_disabled' ) ) + if ( !is_multisite() || !current_user_can('upload_files') || get_site_option( 'upload_space_check_disabled' ) ) return true; $quota = get_space_allowed(); @@ -1116,7 +1142,7 @@ function wp_dashboard_quota() { $percentused = '100'; else $percentused = ( $used / $quota ) * 100; - $used_color = ( $percentused < 70 ) ? ( ( $percentused >= 40 ) ? 'waiting' : 'approved' ) : 'spam'; + $used_color = ( $percentused >= 70 ) ? ' spam' : ''; $used = round( $used, 2 ); $percentused = number_format( $percentused ); @@ -1134,7 +1160,7 @@ function wp_dashboard_quota() { <table> <tr class="first"> <td class="b b-comments"><?php printf( __( '<a href="%1$s" title="Manage Uploads" class="musublink">%2$sMB (%3$s%%)</a>' ), esc_url( admin_url( 'upload.php' ) ), $used, $percentused ); ?></td> - <td class="last t comments <?php echo $used_color;?>"><?php _e( 'Space Used' );?></td> + <td class="last t comments<?php echo $used_color;?>"><?php _e( 'Space Used' );?></td> </tr> </table> </div> @@ -1143,6 +1169,91 @@ function wp_dashboard_quota() { } add_action( 'activity_box_end', 'wp_dashboard_quota' ); +// Display Browser Nag Meta Box +function wp_dashboard_browser_nag() { + $notice = ''; + $response = wp_check_browser_version(); + + if ( $response ) { + if ( $response['insecure'] ) { + $msg = sprintf( __( "It looks like you're using an insecure version of <a href='%s'>%s</a>. Using an outdated browser makes your computer unsafe. For the best WordPress experience, please update your browser." ), esc_attr( $response['update_url'] ), esc_html( $response['name'] ) ); + } else { + $msg = sprintf( __( "It looks like you're using an old version of <a href='%s'>%s</a>. For the best WordPress experience, please update your browser." ), esc_attr( $response['update_url'] ), esc_html( $response['name'] ) ); + } + + $browser_nag_class = ''; + if ( !empty( $response['img_src'] ) ) { + $img_src = ( is_ssl() && ! empty( $response['img_src_ssl'] ) )? $response['img_src_ssl'] : $response['img_src']; + + $notice .= '<div class="alignright browser-icon"><a href="' . esc_attr($response['update_url']) . '"><img src="' . esc_attr( $img_src ) . '" alt="" /></a></div>'; + $browser_nag_class = ' has-browser-icon'; + } + $notice .= "<p class='browser-update-nag{$browser_nag_class}'>{$msg}</p>"; + $notice .= sprintf( __( '<p><a href="%1$s" class="update-browser-link">Update %2$s</a> or learn how to <a href="%3$s" class="browse-happy-link">browse happy</a></p>' ), esc_attr( $response['update_url'] ), esc_html( $response['name'] ), 'http://browsehappy.com/' ); + $notice .= '<p class="hide-if-no-js"><a href="" class="dismiss">' . __( 'Dismiss' ) . '</a></p>'; + $notice .= '<div class="clear"></div>'; + } + + echo apply_filters( 'browse-happy-notice', $notice, $response ); +} + +function dashboard_browser_nag_class( $classes ) { + $response = wp_check_browser_version(); + + if ( $response && $response['insecure'] ) + $classes[] = 'browser-insecure'; + + return $classes; +} + +/** + * Check if the user needs a browser update + * + * @since 3.2.0 + * + * @return array|bool False on failure, array of browser data on success. + */ +function wp_check_browser_version() { + if ( empty( $_SERVER['HTTP_USER_AGENT'] ) ) + return false; + + $key = md5( $_SERVER['HTTP_USER_AGENT'] ); + + if ( false === ($response = get_site_transient('browser_' . $key) ) ) { + global $wp_version; + + $options = array( + 'body' => array( 'useragent' => $_SERVER['HTTP_USER_AGENT'] ), + 'user-agent' => 'WordPress/' . $wp_version . '; ' . get_bloginfo( 'url' ) + ); + + $response = wp_remote_post( 'http://api.wordpress.org/core/browse-happy/1.0/', $options ); + + if ( is_wp_error( $response ) || 200 != wp_remote_retrieve_response_code( $response ) ) + return false; + + /** + * Response should be an array with: + * 'name' - string - A user friendly browser name + * 'version' - string - The most recent version of the browser + * 'current_version' - string - The version of the browser the user is using + * 'upgrade' - boolean - Whether the browser needs an upgrade + * 'insecure' - boolean - Whether the browser is deemed insecure + * 'upgrade_url' - string - The url to visit to upgrade + * 'img_src' - string - An image representing the browser + * 'img_src_ssl' - string - An image (over SSL) representing the browser + */ + $response = unserialize( wp_remote_retrieve_body( $response ) ); + + if ( ! $response ) + return false; + + set_site_transient( 'browser_' . $key, $response, 604800 ); // cache for 1 week + } + + return $response; +} + /** * Empty function usable by plugins to output empty dashboard widget (to be populated later by JS). */ diff --git a/wp-admin/includes/deprecated.php b/wp-admin/includes/deprecated.php index b91c64fc7..3e02dbc2e 100644 --- a/wp-admin/includes/deprecated.php +++ b/wp-admin/includes/deprecated.php @@ -454,7 +454,7 @@ class WP_User_Search { function WP_User_Search ($search_term = '', $page = '', $role = '') { _deprecated_function( __FUNCTION__, '3.1', 'WP_User_Query' ); - $this->search_term = $search_term; + $this->search_term = stripslashes( $search_term ); $this->raw_page = ( '' == $page ) ? false : (int) $page; $this->page = (int) ( '' == $page ) ? 1 : $page; $this->role = $role; @@ -485,7 +485,7 @@ class WP_User_Search { $searches = array(); $search_sql = 'AND ('; foreach ( array('user_login', 'user_nicename', 'user_email', 'user_url', 'display_name') as $col ) - $searches[] = $col . " LIKE '%$this->search_term%'"; + $searches[] = $wpdb->prepare( $col . ' LIKE %s', '%' . like_escape($this->search_term) . '%' ); $search_sql .= implode(' OR ', $searches); $search_sql .= ')'; } @@ -688,3 +688,16 @@ function get_others_pending($user_id) { return get_others_unpublished_posts($user_id, 'pending'); } + +/** + * Output the QuickPress dashboard widget. + * + * @since 3.0.0 + * @deprecated 3.2.0 + * @deprecated Use wp_dashboard_quick_press() + * @see wp_dashboard_quick_press() + */ +function wp_dashboard_quick_press_output() { + _deprecated_function( __FUNCTION__, '3.2', 'wp_dashboard_quick_press()' ); + wp_dashboard_quick_press(); +} diff --git a/wp-admin/includes/export.php b/wp-admin/includes/export.php index 2efd0405a..cfdc3dded 100644 --- a/wp-admin/includes/export.php +++ b/wp-admin/includes/export.php @@ -49,7 +49,7 @@ function export_wp( $args = array() ) { } else { $post_types = get_post_types( array( 'can_export' => true ) ); $esses = array_fill( 0, count($post_types), '%s' ); - $where = $wpdb->prepare( "{$wpdb->posts}.post_type IN (". implode(',',$esses) .")", $post_types ); + $where = $wpdb->prepare( "{$wpdb->posts}.post_type IN (" . implode( ',', $esses ) . ')', $post_types ); } if ( $args['status'] && ( 'post' == $args['content'] || 'page' == $args['content'] ) ) @@ -123,7 +123,7 @@ function export_wp( $args = array() ) { $str = utf8_encode( $str ); // $str = ent2ncr(esc_html($str)); - $str = "<![CDATA[$str" . ( ( substr( $str, -1 ) == ']' ) ? ' ' : '') . "]]>"; + $str = "<![CDATA[$str" . ( ( substr( $str, -1 ) == ']' ) ? ' ' : '' ) . ']]>'; return $str; } @@ -350,7 +350,7 @@ function export_wp( $args = array() ) { // fetch 20 posts at a time rather than loading the entire table into memory while ( $next_posts = array_splice( $post_ids, 0, 20 ) ) { - $where = "WHERE ID IN (" . join( ',', $next_posts ) . ")"; + $where = 'WHERE ID IN (' . join( ',', $next_posts ) . ')'; $posts = $wpdb->get_results( "SELECT * FROM {$wpdb->posts} $where" ); // Begin Loop @@ -384,14 +384,14 @@ function export_wp( $args = array() ) { <?php endif; ?> <?php wxr_post_taxonomy(); ?> <?php $postmeta = $wpdb->get_results( $wpdb->prepare( "SELECT * FROM $wpdb->postmeta WHERE post_id = %d", $post->ID ) ); - if ( $postmeta ) : foreach( $postmeta as $meta ) : if ( $meta->meta_key != '_edit_lock' ) : ?> + foreach( $postmeta as $meta ) : if ( $meta->meta_key != '_edit_lock' ) : ?> <wp:postmeta> <wp:meta_key><?php echo $meta->meta_key; ?></wp:meta_key> <wp:meta_value><?php echo wxr_cdata( $meta->meta_value ); ?></wp:meta_value> </wp:postmeta> -<?php endif; endforeach; endif; ?> +<?php endif; endforeach; ?> <?php $comments = $wpdb->get_results( $wpdb->prepare( "SELECT * FROM $wpdb->comments WHERE comment_post_ID = %d AND comment_approved <> 'spam'", $post->ID ) ); - if ( $comments ) : foreach ( $comments as $c ) : ?> + foreach ( $comments as $c ) : ?> <wp:comment> <wp:comment_id><?php echo $c->comment_ID; ?></wp:comment_id> <wp:comment_author><?php echo wxr_cdata( $c->comment_author ); ?></wp:comment_author> @@ -405,8 +405,15 @@ function export_wp( $args = array() ) { <wp:comment_type><?php echo $c->comment_type; ?></wp:comment_type> <wp:comment_parent><?php echo $c->comment_parent; ?></wp:comment_parent> <wp:comment_user_id><?php echo $c->user_id; ?></wp:comment_user_id> +<?php $c_meta = $wpdb->get_results( $wpdb->prepare( "SELECT * FROM $wpdb->commentmeta WHERE comment_id = %d", $c->comment_ID ) ); + foreach ( $c_meta as $meta ) : ?> + <wp:commentmeta> + <wp:meta_key><?php echo $meta->meta_key; ?></wp:meta_key> + <wp:meta_value><?php echo wxr_cdata( $meta->meta_value ); ?></wp:meta_value> + </wp:commentmeta> +<?php endforeach; ?> </wp:comment> -<?php endforeach; endif; ?> +<?php endforeach; ?> </item> <?php } diff --git a/wp-admin/includes/file.php b/wp-admin/includes/file.php index 20d136161..04bb40392 100644 --- a/wp-admin/includes/file.php +++ b/wp-admin/includes/file.php @@ -80,9 +80,9 @@ function get_home_path() { $home = get_option( 'home' ); $siteurl = get_option( 'siteurl' ); if ( $home != '' && $home != $siteurl ) { - $wp_path_rel_to_home = str_replace($home, '', $siteurl); /* $siteurl - $home */ - $pos = strpos($_SERVER["SCRIPT_FILENAME"], $wp_path_rel_to_home); - $home_path = substr($_SERVER["SCRIPT_FILENAME"], 0, $pos); + $wp_path_rel_to_home = str_replace($home, '', $siteurl); /* $siteurl - $home */ + $pos = strpos($_SERVER["SCRIPT_FILENAME"], $wp_path_rel_to_home); + $home_path = substr($_SERVER["SCRIPT_FILENAME"], 0, $pos); $home_path = trailingslashit( $home_path ); } else { $home_path = ABSPATH; @@ -152,42 +152,6 @@ function list_files( $folder = '', $levels = 100 ) { return $files; } -/** - * Determines a writable directory for temporary files. - * Function's preference is to WP_CONTENT_DIR followed by the return value of <code>sys_get_temp_dir()</code>, before finally defaulting to /tmp/ - * - * In the event that this function does not find a writable location, It may be overridden by the <code>WP_TEMP_DIR</code> constant in your <code>wp-config.php</code> file. - * - * @since 2.5.0 - * - * @return string Writable temporary directory - */ -function get_temp_dir() { - static $temp; - if ( defined('WP_TEMP_DIR') ) - return trailingslashit(WP_TEMP_DIR); - - if ( $temp ) - return trailingslashit($temp); - - $temp = WP_CONTENT_DIR . '/'; - if ( is_dir($temp) && @is_writable($temp) ) - return $temp; - - if ( function_exists('sys_get_temp_dir') ) { - $temp = sys_get_temp_dir(); - if ( @is_writable($temp) ) - return trailingslashit($temp); - } - - $temp = ini_get('upload_tmp_dir'); - if ( is_dir($temp) && @is_writable($temp) ) - return trailingslashit($temp); - - $temp = '/tmp/'; - return $temp; -} - /** * Returns a filename of a Temporary unique file. * Please note that the calling function must unlink() this itself. @@ -288,8 +252,8 @@ function wp_handle_upload( &$file, $overrides = false, $time = null ) { // Courtesy of php.net, the strings that describe the error indicated in $_FILES[{form field}]['error']. $upload_error_strings = array( false, - __( "The uploaded file exceeds the <code>upload_max_filesize</code> directive in <code>php.ini</code>." ), - __( "The uploaded file exceeds the <em>MAX_FILE_SIZE</em> directive that was specified in the HTML form." ), + __( "The uploaded file exceeds the upload_max_filesize directive in php.ini." ), + __( "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form." ), __( "The uploaded file was only partially uploaded." ), __( "No file was uploaded." ), '', @@ -519,27 +483,18 @@ function download_url( $url, $timeout = 300 ) { if ( ! $tmpfname ) return new WP_Error('http_no_file', __('Could not create Temporary file.')); - $handle = @fopen($tmpfname, 'wb'); - if ( ! $handle ) - return new WP_Error('http_no_file', __('Could not create Temporary file.')); - - $response = wp_remote_get($url, array('timeout' => $timeout)); + $response = wp_remote_get( $url, array( 'timeout' => $timeout, 'stream' => true, 'filename' => $tmpfname ) ); - if ( is_wp_error($response) ) { - fclose($handle); - unlink($tmpfname); + if ( is_wp_error( $response ) ) { + unlink( $tmpfname ); return $response; } - if ( $response['response']['code'] != '200' ){ - fclose($handle); - unlink($tmpfname); - return new WP_Error('http_404', trim($response['response']['message'])); + if ( 200 != wp_remote_retrieve_response_code( $response ) ){ + unlink( $tmpfname ); + return new WP_Error( 'http_404', trim( wp_remote_retrieve_response_message( $response ) ) ); } - fwrite($handle, $response['body']); - fclose($handle); - return $tmpfname; } @@ -563,7 +518,7 @@ function unzip_file($file, $to) { return new WP_Error('fs_unavailable', __('Could not access filesystem.')); // Unzip can use a lot of memory, but not this much hopefully - @ini_set('memory_limit', '256M'); + @ini_set( 'memory_limit', apply_filters( 'admin_memory_limit', WP_MAX_MEMORY_LIMIT ) ); $needed_dirs = array(); $to = trailingslashit($to); @@ -697,12 +652,23 @@ function _unzip_file_ziparchive($file, $to, $needed_dirs = array() ) { function _unzip_file_pclzip($file, $to, $needed_dirs = array()) { global $wp_filesystem; + // See #15789 - PclZip uses string functions on binary data, If it's overloaded with Multibyte safe functions the results are incorrect. + if ( ini_get('mbstring.func_overload') && function_exists('mb_internal_encoding') ) { + $previous_encoding = mb_internal_encoding(); + mb_internal_encoding('ISO-8859-1'); + } + require_once(ABSPATH . 'wp-admin/includes/class-pclzip.php'); $archive = new PclZip($file); + $archive_files = $archive->extract(PCLZIP_OPT_EXTRACT_AS_STRING); + + if ( isset($previous_encoding) ) + mb_internal_encoding($previous_encoding); + // Is the archive valid? - if ( false == ($archive_files = $archive->extract(PCLZIP_OPT_EXTRACT_AS_STRING)) ) + if ( !is_array($archive_files) ) return new WP_Error('incompatible_archive', __('Incompatible Archive.'), $archive->errorInfo(true)); if ( 0 == count($archive_files) ) @@ -761,9 +727,10 @@ function _unzip_file_pclzip($file, $to, $needed_dirs = array()) { * * @param string $from source directory * @param string $to destination directory + * @param array $skip_list a list of files/folders to skip copying * @return mixed WP_Error on failure, True on success. */ -function copy_dir($from, $to) { +function copy_dir($from, $to, $skip_list = array() ) { global $wp_filesystem; $dirlist = $wp_filesystem->dirlist($from); @@ -771,21 +738,31 @@ function copy_dir($from, $to) { $from = trailingslashit($from); $to = trailingslashit($to); + $skip_regex = ''; + foreach ( (array)$skip_list as $key => $skip_file ) + $skip_regex .= preg_quote($skip_file, '!') . '|'; + + if ( !empty($skip_regex) ) + $skip_regex = '!(' . rtrim($skip_regex, '|') . ')$!i'; + foreach ( (array) $dirlist as $filename => $fileinfo ) { + if ( !empty($skip_regex) ) + if ( preg_match($skip_regex, $from . $filename) ) + continue; + if ( 'f' == $fileinfo['type'] ) { - if ( ! $wp_filesystem->copy($from . $filename, $to . $filename, true) ) { + if ( ! $wp_filesystem->copy($from . $filename, $to . $filename, true, FS_CHMOD_FILE) ) { // If copy failed, chmod file to 0644 and try again. $wp_filesystem->chmod($to . $filename, 0644); - if ( ! $wp_filesystem->copy($from . $filename, $to . $filename, true) ) + if ( ! $wp_filesystem->copy($from . $filename, $to . $filename, true, FS_CHMOD_FILE) ) return new WP_Error('copy_failed', __('Could not copy file.'), $to . $filename); } - $wp_filesystem->chmod($to . $filename, FS_CHMOD_FILE); } elseif ( 'd' == $fileinfo['type'] ) { if ( !$wp_filesystem->is_dir($to . $filename) ) { if ( !$wp_filesystem->mkdir($to . $filename, FS_CHMOD_DIR) ) return new WP_Error('mkdir_failed', __('Could not create directory.'), $to . $filename); } - $result = copy_dir($from . $filename, $to . $filename); + $result = copy_dir($from . $filename, $to . $filename, $skip_list); if ( is_wp_error($result) ) return $result; } diff --git a/wp-admin/includes/image-edit.php b/wp-admin/includes/image-edit.php index 03e7144af..86cdfe20a 100644 --- a/wp-admin/includes/image-edit.php +++ b/wp-admin/includes/image-edit.php @@ -204,7 +204,7 @@ function load_image_to_edit($post_id, $mime_type, $size = 'full') { if ( 'full' != $size && ( $data = image_get_intermediate_size($post_id, $size) ) ) { $filepath = apply_filters('load_image_to_edit_filesystempath', path_join( dirname($filepath), $data['file'] ), $post_id, $size); } - } elseif ( WP_Http_Fopen::test() ) { + } elseif ( function_exists('fopen') && function_exists('ini_get') && true == ini_get('allow_url_fopen') ) { $filepath = apply_filters('load_image_to_edit_attachmenturl', wp_get_attachment_url($post_id) , $post_id, $size); } @@ -391,7 +391,7 @@ function image_edit_apply_changes($img, $changes) { function stream_preview_image($post_id) { $post = get_post($post_id); - @ini_set('memory_limit', '256M'); + @ini_set( 'memory_limit', apply_filters( 'admin_memory_limit', WP_MAX_MEMORY_LIMIT ) ); $img = load_image_to_edit( $post_id, $post->post_mime_type, array(400, 400) ); if ( !is_resource($img) ) @@ -496,7 +496,7 @@ function wp_save_image($post_id) { $return = new stdClass; $success = $delete = $scaled = $nocrop = false; $post = get_post($post_id); - @ini_set('memory_limit', '256M'); + @ini_set( 'memory_limit', apply_filters( 'admin_memory_limit', WP_MAX_MEMORY_LIMIT ) ); $img = load_image_to_edit($post_id, $post->post_mime_type); if ( !is_resource($img) ) { @@ -551,7 +551,7 @@ function wp_save_image($post_id) { // generate new filename $path = get_attached_file($post_id); - $path_parts = pathinfo52( $path ); + $path_parts = pathinfo( $path ); $filename = $path_parts['filename']; $suffix = time() . rand(100, 999); diff --git a/wp-admin/includes/import.php b/wp-admin/includes/import.php index 51861bdcd..f57be766c 100644 --- a/wp-admin/includes/import.php +++ b/wp-admin/includes/import.php @@ -80,12 +80,17 @@ function wp_import_handle_upload() { $object = array( 'post_title' => $filename, 'post_content' => $url, 'post_mime_type' => $type, - 'guid' => $url + 'guid' => $url, + 'context' => 'import', + 'post_status' => 'private' ); // Save the data $id = wp_insert_attachment( $object, $file ); + // schedule a cleanup for one day from now in case of failed import or missing wp_import_cleanup() call + wp_schedule_single_event( time() + 86400, 'importer_scheduled_cleanup', array( $id ) ); + return array( 'file' => $file, 'id' => $id ); } diff --git a/wp-admin/includes/internal-linking.php b/wp-admin/includes/internal-linking.php index b2e60a20d..a95c01b9f 100644 --- a/wp-admin/includes/internal-linking.php +++ b/wp-admin/includes/internal-linking.php @@ -16,7 +16,7 @@ * @return array Results. */ function wp_link_query( $args = array() ) { - $pts = get_post_types( array( 'publicly_queryable' => true ), 'objects' ); + $pts = get_post_types( array( 'public' => true ), 'objects' ); $pt_names = array_keys( $pts ); $query = array( @@ -76,20 +76,20 @@ function wp_link_dialog() { <div id="link-options"> <p class="howto"><?php _e( 'Enter the destination URL' ); ?></p> <div> - <label for="url-field"><span><?php _e( 'URL' ); ?></span><input id="url-field" type="text" tabindex="10" autocomplete="off" /></label> + <label><span><?php _e( 'URL' ); ?></span><input id="url-field" type="text" tabindex="10" name="href" /></label> </div> <div> - <label for="link-title-field"><span><?php _e( 'Title' ); ?></span><input id="link-title-field" type="text" tabindex="20" autocomplete="off" /></label> + <label><span><?php _e( 'Title' ); ?></span><input id="link-title-field" type="text" tabindex="20" name="linktitle" /></label> </div> <div class="link-target"> - <label for="link-target-checkbox"><input type="checkbox" id="link-target-checkbox" tabindex="30" /> <?php _e( 'Open link in a new window/tab' ); ?></label> + <label><input type="checkbox" id="link-target-checkbox" tabindex="30" /> <?php _e( 'Open link in a new window/tab' ); ?></label> </div> </div> <?php $show_internal = '1' == get_user_setting( 'wplink', '0' ); ?> <p class="howto toggle-arrow <?php if ( $show_internal ) echo 'toggle-arrow-active'; ?>" id="internal-toggle"><?php _e( 'Or link to existing content' ); ?></p> <div id="search-panel"<?php if ( ! $show_internal ) echo ' style="display:none"'; ?>> <div class="link-search-wrapper"> - <label for="search-field"> + <label> <span><?php _e( 'Search' ); ?></span> <input type="text" id="search-field" class="link-search-field" tabindex="60" autocomplete="off" /> <img class="waiting" src="<?php echo esc_url( admin_url( 'images/wpspin_light.gif' ) ); ?>" alt="" /> @@ -121,4 +121,4 @@ function wp_link_dialog() { </form> <?php } -?> \ No newline at end of file +?> diff --git a/wp-admin/includes/media.php b/wp-admin/includes/media.php index c9d603ea8..def234330 100644 --- a/wp-admin/includes/media.php +++ b/wp-admin/includes/media.php @@ -228,6 +228,10 @@ function media_handle_upload($file_id, $post_id, $post_data = array(), $override 'post_content' => $content, ), $post_data ); + // This should never be set as it would then overwrite an existing attachment. + if ( isset( $attachment['ID'] ) ) + unset( $attachment['ID'] ); + // Save the data $id = wp_insert_attachment($attachment, $file, $post_id); if ( !is_wp_error($id) ) { @@ -281,6 +285,10 @@ function media_handle_sideload($file_array, $post_id, $desc = null, $post_data = 'post_content' => $content, ), $post_data ); + // This should never be set as it would then overwrite an existing attachment. + if ( isset( $attachment['ID'] ) ) + unset( $attachment['ID'] ); + // Save the attachment metadata $id = wp_insert_attachment($attachment, $file, $post_id); if ( !is_wp_error($id) ) @@ -337,7 +345,16 @@ if ( is_string($content_func) ) do_action( "admin_head_{$content_func}" ); ?> </head> -<body<?php if ( isset($GLOBALS['body_id']) ) echo ' id="' . $GLOBALS['body_id'] . '"'; ?>> +<body<?php if ( isset($GLOBALS['body_id']) ) echo ' id="' . $GLOBALS['body_id'] . '"'; ?> class="no-js"> +<script type="text/javascript"> +//<![CDATA[ +(function(){ +var c = document.body.className; +c = c.replace(/no-js/, 'js'); +document.body.className = c; +})(); +//]]> +</script> <?php $args = func_get_args(); $args = array_slice($args, 1); @@ -419,6 +436,11 @@ function media_upload_form_handler() { if ( !empty($_POST['attachments']) ) foreach ( $_POST['attachments'] as $attachment_id => $attachment ) { $post = $_post = get_post($attachment_id, ARRAY_A); + $post_type_object = get_post_type_object( $post[ 'post_type' ] ); + + if ( !current_user_can( $post_type_object->cap->edit_post, $attachment_id ) ) + continue; + if ( isset($attachment['post_content']) ) $post['post_content'] = $attachment['post_content']; if ( isset($attachment['post_title']) ) @@ -1192,7 +1214,7 @@ function get_media_item( $attachment_id, $args = null ) { $toggle_on = __( 'Show' ); $toggle_off = __( 'Hide' ); - $filename = basename( $post->guid ); + $filename = esc_html( basename( $post->guid ) ); $title = esc_attr( $post->post_title ); if ( $_tags = get_the_tags( $attachment_id ) ) { @@ -1350,7 +1372,7 @@ function get_media_item( $attachment_id, $args = null ) { if ( user_can_richedit() ) { // textarea_escaped when user_can_richedit() = false $field['value'] = esc_textarea( $field['value'] ); } - $item .= "<textarea type='text' id='$name' name='$name' $aria_required>" . $field['value'] . '</textarea>'; + $item .= "<textarea id='$name' name='$name' $aria_required>" . $field['value'] . '</textarea>'; } else { $item .= "<input type='text' class='text' id='$name' name='$name' value='" . esc_attr( $field['value'] ) . "' $aria_required />"; } @@ -1551,7 +1573,7 @@ SWFUpload.onload = function() { </div> <?php endif; // $flash ?> -<div id="html-upload-ui"> +<div id="html-upload-ui" <?php if ( $flash ) echo 'class="hide-if-js"'; ?>> <?php do_action('pre-html-upload-ui'); ?> <p id="async-upload-wrap"> <label class="screen-reader-text" for="async-upload"><?php _e('Upload'); ?></label> diff --git a/wp-admin/includes/menu.php b/wp-admin/includes/menu.php index a0c2e5889..fa85e4b5d 100644 --- a/wp-admin/includes/menu.php +++ b/wp-admin/includes/menu.php @@ -102,6 +102,15 @@ foreach ( $menu as $id => $data ) { if ( ! current_user_can($data[1]) ) $_wp_menu_nopriv[$data[2]] = true; + // If there is only one submenu and it is has same destination as the parent, + // remove the submenu. + if ( ! empty( $submenu[$data[2]] ) && 1 == count ( $submenu[$data[2]] ) ) { + $subs = $submenu[$data[2]]; + $first_sub = array_shift($subs); + if ( $data[2] == $first_sub[2] ) + unset( $submenu[$data[2]] ); + } + // If submenu is empty... if ( empty($submenu[$data[2]]) ) { // And user doesn't have privs, remove menu. @@ -110,20 +119,20 @@ foreach ( $menu as $id => $data ) { } } } -unset($id, $data); +unset($id, $data, $subs, $first_sub); -// Remove any duplicated seperators -$seperator_found = false; +// Remove any duplicated separators +$separator_found = false; foreach ( $menu as $id => $data ) { if ( 0 == strcmp('wp-menu-separator', $data[4] ) ) { - if (false == $seperator_found) { - $seperator_found = true; + if (false == $separator_found) { + $separator_found = true; } else { unset($menu[$id]); - $seperator_found = false; + $separator_found = false; } } else { - $seperator_found = false; + $separator_found = false; } } unset($id, $data); @@ -205,6 +214,12 @@ if ( apply_filters('custom_menu_order', false) ) { unset($menu_order, $default_menu_order); } +// Remove the last menu item if it is a separator. +$last_menu_key = array_pop( array_keys( $menu ) ); +if ( 'wp-menu-separator' == $menu[ $last_menu_key ][ 4 ] ) + unset( $menu[ $last_menu_key ] ); +unset( $last_menu_key ); + if ( !user_can_access_admin_page() ) { do_action('admin_page_access_denied'); wp_die( __('You do not have sufficient permissions to access this page.') ); diff --git a/wp-admin/includes/meta-boxes.php b/wp-admin/includes/meta-boxes.php index a84ac16fa..6d396ad77 100644 --- a/wp-admin/includes/meta-boxes.php +++ b/wp-admin/includes/meta-boxes.php @@ -138,8 +138,8 @@ echo esc_html( $visibility_trans ); ?></span> <input type="radio" name="visibility" id="visibility-radio-public" value="public" <?php checked( $visibility, 'public' ); ?> /> <label for="visibility-radio-public" class="selectit"><?php _e('Public'); ?></label><br /> -<?php if ($post_type == 'post'): ?> -<span id="sticky-span"><input id="sticky" name="sticky" type="checkbox" value="sticky" <?php checked(is_sticky($post->ID)); ?> tabindex="4" /> <label for="sticky" class="selectit"><?php _e('Stick this post to the front page') ?></label><br /></span> +<?php if ( $post_type == 'post' && current_user_can( 'edit_others_posts' ) ) : ?> +<span id="sticky-span"><input id="sticky" name="sticky" type="checkbox" value="sticky" <?php checked( is_sticky( $post->ID ) ); ?> tabindex="4" /> <label for="sticky" class="selectit"><?php _e( 'Stick this post to the front page' ); ?></label><br /></span> <?php endif; ?> <input type="radio" name="visibility" id="visibility-radio-password" value="password" <?php checked( $visibility, 'password' ); ?> /> <label for="visibility-radio-password" class="selectit"><?php _e('Password protected'); ?></label><br /> <span id="password-span"><label for="post_password"><?php _e('Password:'); ?></label> <input type="text" name="post_password" id="post_password" value="<?php echo esc_attr($post->post_password); ?>" /><br /></span> @@ -248,7 +248,6 @@ function post_format_meta_box( $post, $box ) { $post_format = get_post_format( $post->ID ); if ( !$post_format ) $post_format = '0'; - $post_format_display = get_post_format_string( $post_format ); // Add in the current one if it isn't there yet, in case the current theme doesn't support it if ( $post_format && !in_array( $post_format, $post_formats[0] ) ) $post_formats[0][] = $post_format; @@ -507,7 +506,7 @@ function post_comment_meta_box($post) { */ function post_slug_meta_box($post) { ?> -<label class="screen-reader-text" for="post_name"><?php _e('Slug') ?></label><input name="post_name" type="text" size="13" id="post_name" value="<?php echo esc_attr( $post->post_name ); ?>" /> +<label class="screen-reader-text" for="post_name"><?php _e('Slug') ?></label><input name="post_name" type="text" size="13" id="post_name" value="<?php echo esc_attr( apply_filters('editable_slug', $post->post_name) ); ?>" /> <?php } diff --git a/wp-admin/includes/misc.php b/wp-admin/includes/misc.php index d8ab0fca2..a0db0ad05 100644 --- a/wp-admin/includes/misc.php +++ b/wp-admin/includes/misc.php @@ -373,14 +373,6 @@ function set_screen_options() { } } -function wp_menu_unfold() { - if ( isset($_GET['unfoldmenu']) ) { - delete_user_setting('mfold'); - wp_redirect( remove_query_arg( 'unfoldmenu', stripslashes($_SERVER['REQUEST_URI']) ) ); - exit; - } -} - /** * Check if rewrite rule for WordPress already exists in the IIS 7 configuration file * diff --git a/wp-admin/includes/ms.php b/wp-admin/includes/ms.php index 845852649..98991ef61 100644 --- a/wp-admin/includes/ms.php +++ b/wp-admin/includes/ms.php @@ -496,26 +496,41 @@ function sync_category_tag_slugs( $term, $taxonomy ) { } add_filter( 'get_term', 'sync_category_tag_slugs', 10, 2 ); -function redirect_user_to_blog() { - $c = 0; - if ( isset( $_GET['c'] ) ) - $c = (int) $_GET['c']; +function _access_denied_splash() { + if ( ! is_user_logged_in() || is_network_admin() ) + return; - if ( $c >= 5 ) { - wp_die( __( "You don’t have permission to view this site. Please contact the system administrator." ) ); - } - $c ++; + $blogs = get_blogs_of_user( get_current_user_id() ); - $blog = get_active_blog_for_user( get_current_user_id() ); + if ( wp_list_filter( $blogs, array( 'userblog_id' => get_current_blog_id() ) ) ) + return; - if ( is_object( $blog ) ) { - wp_redirect( get_admin_url( $blog->blog_id, '?c=' . $c ) ); // redirect and count to 5, "just in case" - } else { - wp_redirect( user_admin_url( '?c=' . $c ) ); // redirect and count to 5, "just in case" + $blog_name = get_bloginfo( 'name' ); + + if ( empty( $blogs ) ) + wp_die( sprintf( __( 'You attempted to access the "%1$s" dashboard, but you do not currently have privileges on this site. If you believe you should be able to access the "%1$s" dashboard, please contact your network administrator.' ), $blog_name ) ); + + $output = '<p>' . sprintf( __( 'You attempted to access the "%1$s" dashboard, but you do not currently have privileges on this site. If you believe you should be able to access the "%1$s" dashboard, please contact your network administrator.' ), $blog_name ) . '</p>'; + $output .= '<p>' . __( 'If you reached this screen by accident and meant to visit one of your own sites, here are some shortcuts to help you find your way.' ) . '</p>'; + + $output .= '<h3>' . __('Your Sites') . '</h3>'; + $output .= '<table>'; + + foreach ( $blogs as $blog ) { + $output .= "<tr>"; + $output .= "<td valign='top'>"; + $output .= "{$blog->blogname}"; + $output .= "</td>"; + $output .= "<td valign='top'>"; + $output .= "<a href='" . esc_url( get_admin_url( $blog->userblog_id ) ) . "'>" . __( 'Visit Dashboard' ) . "</a> | <a href='" . esc_url( get_home_url( $blog->userblog_id ) ). "'>" . __( 'View Site' ) . "</a>" ; + $output .= "</td>"; + $output .= "</tr>"; } - exit; + $output .= '</table>'; + + wp_die( $output ); } -add_action( 'admin_page_access_denied', 'redirect_user_to_blog', 99 ); +add_action( 'admin_page_access_denied', '_access_denied_splash', 99 ); function check_import_new_users( $permission ) { if ( !is_super_admin() ) diff --git a/wp-admin/includes/nav-menu.php b/wp-admin/includes/nav-menu.php index 6e9292866..889016627 100644 --- a/wp-admin/includes/nav-menu.php +++ b/wp-admin/includes/nav-menu.php @@ -54,6 +54,8 @@ class Walker_Nav_Menu_Edit extends Walker_Nav_Menu { $original_title = ''; if ( 'taxonomy' == $item->type ) { $original_title = get_term_field( 'name', $item->object_id, $item->object, 'raw' ); + if ( is_wp_error( $original_title ) ) + $original_title = false; } elseif ( 'post_type' == $item->type ) { $original_object = get_post( $item->object_id ); $original_title = $original_object->post_title; @@ -67,7 +69,11 @@ class Walker_Nav_Menu_Edit extends Walker_Nav_Menu { $title = $item->title; - if ( isset( $item->post_status ) && 'draft' == $item->post_status ) { + if ( ! empty( $item->_invalid ) ) { + $classes[] = 'menu-item-invalid'; + /* translators: %s: title of menu item which is invalid */ + $title = sprintf( __( '%s (Invalid)' ), $item->title ); + } elseif ( isset( $item->post_status ) && 'draft' == $item->post_status ) { $classes[] = 'pending'; /* translators: %s: title of menu item in draft status */ $title = sprintf( __('%s (Pending)'), $item->title ); @@ -167,7 +173,7 @@ class Walker_Nav_Menu_Edit extends Walker_Nav_Menu { </p> <div class="menu-item-actions description-wide submitbox"> - <?php if( 'custom' != $item->type ) : ?> + <?php if( 'custom' != $item->type && $original_title !== false ) : ?> <p class="link-to-original"> <?php printf( __('Original: %s'), '<a href="' . esc_attr( $item->url ) . '">' . esc_html( $original_title ) . '</a>' ); ?> </p> @@ -182,7 +188,7 @@ class Walker_Nav_Menu_Edit extends Walker_Nav_Menu { remove_query_arg($removed_args, admin_url( 'nav-menus.php' ) ) ), 'delete-menu_item_' . $item_id - ); ?>"><?php _e('Remove'); ?></a> <span class="meta-sep"> | </span> <a class="item-cancel submitcancel" id="cancel-<?php echo $item_id; ?>" href="<?php echo add_query_arg( array('edit-menu-item' => $item_id, 'cancel' => time()), remove_query_arg( $removed_args, admin_url( 'nav-menus.php' ) ) ); + ); ?>"><?php _e('Remove'); ?></a> <span class="meta-sep"> | </span> <a class="item-cancel submitcancel" id="cancel-<?php echo $item_id; ?>" href="<?php echo esc_url( add_query_arg( array('edit-menu-item' => $item_id, 'cancel' => time()), remove_query_arg( $removed_args, admin_url( 'nav-menus.php' ) ) ) ); ?>#menu-item-settings-<?php echo $item_id; ?>"><?php _e('Cancel'); ?></a> </div> @@ -207,6 +213,21 @@ class Walker_Nav_Menu_Edit extends Walker_Nav_Menu { * @uses Walker_Nav_Menu */ class Walker_Nav_Menu_Checklist extends Walker_Nav_Menu { + function __construct( $fields = false ) { + if ( $fields ) { + $this->db_fields = $fields; + } + } + + function start_lvl( &$output, $depth ) { + $indent = str_repeat( "\t", $depth ); + $output .= "\n$indent<ul class='children'>\n"; + } + + function end_lvl( &$output, $depth ) { + $indent = str_repeat( "\t", $depth ); + $output .= "\n$indent</ul>"; + } /** * @see Walker::start_el() @@ -319,7 +340,7 @@ function _wp_ajax_menu_quick_search( $request = array() ) { while ( have_posts() ) { the_post(); if ( 'markup' == $response_format ) { - echo walk_nav_menu_tree( array_map('wp_setup_nav_menu_item', array( get_post( $var_by_ref = get_the_ID() ) ) ), 0, (object) $args ); + echo walk_nav_menu_tree( array_map('wp_setup_nav_menu_item', array( get_post( get_the_ID() ) ) ), 0, (object) $args ); } elseif ( 'json' == $response_format ) { echo json_encode( array( @@ -614,7 +635,12 @@ function wp_nav_menu_item_post_type_meta_box( $object, $post_type ) { if ( !$posts ) $error = '<li id="error">'. $post_type['args']->labels->not_found .'</li>'; - $walker = new Walker_Nav_Menu_Checklist; + $db_fields = false; + if ( is_post_type_hierarchical( $post_type_name ) ) { + $db_fields = array( 'parent' => 'post_parent', 'id' => 'ID' ); + } + + $walker = new Walker_Nav_Menu_Checklist( $db_fields ); $current_tab = 'most-recent'; if ( isset( $_REQUEST[$post_type_name . '-tab'] ) && in_array( $_REQUEST[$post_type_name . '-tab'], array('all', 'search') ) ) { @@ -670,7 +696,7 @@ function wp_nav_menu_item_post_type_meta_box( $object, $post_type ) { <p class="quick-search-wrap"> <input type="text" class="quick-search input-with-default-title" title="<?php esc_attr_e('Search'); ?>" value="<?php echo $searched; ?>" name="quick-search-posttype-<?php echo $post_type_name; ?>" /> <img class="waiting" src="<?php echo esc_url( admin_url( 'images/wpspin_light.gif' ) ); ?>" alt="" /> - <?php submit_button( __( 'Search' ), 'quick-search-submit button-secondary hide-if-js', 'submit', false ); ?> + <?php submit_button( __( 'Search' ), 'quick-search-submit button-secondary hide-if-js', 'submit', false, array( 'id' => 'submit-quick-search-posttype-' . $post_type_name ) ); ?> </p> <ul id="<?php echo $post_type_name; ?>-search-checklist" class="list:<?php echo $post_type_name?> categorychecklist form-no-clear"> @@ -716,6 +742,7 @@ function wp_nav_menu_item_post_type_meta_box( $object, $post_type ) { 'object_id' => $_nav_menu_placeholder, 'post_content' => '', 'post_excerpt' => '', + 'post_parent' => '', 'post_title' => _x('Home', 'nav menu home label'), 'post_type' => 'nav_menu_item', 'type' => 'custom', @@ -724,6 +751,7 @@ function wp_nav_menu_item_post_type_meta_box( $object, $post_type ) { } } + $posts = apply_filters( 'nav_menu_items_'.$post_type_name, $posts, $args, $post_type ); $checkbox_items = walk_nav_menu_tree( array_map('wp_setup_nav_menu_item', $posts), 0, (object) $args ); if ( 'all' == $current_tab && ! empty( $_REQUEST['selectall'] ) ) { @@ -821,7 +849,12 @@ function wp_nav_menu_item_taxonomy_meta_box( $object, $taxonomy ) { 'current' => $pagenum )); - $walker = new Walker_Nav_Menu_Checklist; + $db_fields = false; + if ( is_taxonomy_hierarchical( $taxonomy_name ) ) { + $db_fields = array( 'parent' => 'parent', 'id' => 'term_id' ); + } + + $walker = new Walker_Nav_Menu_Checklist( $db_fields ); $current_tab = 'most-used'; if ( isset( $_REQUEST[$taxonomy_name . '-tab'] ) && in_array( $_REQUEST[$taxonomy_name . '-tab'], array('all', 'most-used', 'search') ) ) { @@ -897,7 +930,7 @@ function wp_nav_menu_item_taxonomy_meta_box( $object, $taxonomy ) { <p class="quick-search-wrap"> <input type="text" class="quick-search input-with-default-title" title="<?php esc_attr_e('Search'); ?>" value="<?php echo $searched; ?>" name="quick-search-taxonomy-<?php echo $taxonomy_name; ?>" /> <img class="waiting" src="<?php echo esc_url( admin_url( 'images/wpspin_light.gif' ) ); ?>" alt="" /> - <?php submit_button( __( 'Search' ), 'quick-search-submit button-secondary hide-if-js', 'submit', false ); ?> + <?php submit_button( __( 'Search' ), 'quick-search-submit button-secondary hide-if-js', 'submit', false, array( 'id' => 'submit-quick-search-taxonomy-' . $taxonomy_name ) ); ?> </p> <ul id="<?php echo $taxonomy_name; ?>-search-checklist" class="list:<?php echo $taxonomy_name?> categorychecklist form-no-clear"> @@ -1072,15 +1105,20 @@ function wp_get_nav_menu_to_edit( $menu_id = 0 ) { else return new WP_Error( 'menu_walker_not_exist', sprintf( __('The Walker class named <strong>%s</strong> does not exist.'), $walker_class_name ) ); - $some_pending_menu_items = false; + $some_pending_menu_items = $some_invalid_menu_items = false; foreach( (array) $menu_items as $menu_item ) { if ( isset( $menu_item->post_status ) && 'draft' == $menu_item->post_status ) $some_pending_menu_items = true; + if ( ! empty( $menu_item->_invalid ) ) + $some_invalid_menu_items = true; } if ( $some_pending_menu_items ) $result .= '<div class="updated inline"><p>' . __('Click Save Menu to make pending menu items public.') . '</p></div>'; + if ( $some_invalid_menu_items ) + $result .= '<div class="error inline"><p>' . __('There are some invalid menu items. Please check or delete them.') . '</p></div>'; + $result .= '<ul class="menu" id="menu-to-edit"> '; $result .= walk_nav_menu_tree( array_map('wp_setup_nav_menu_item', $menu_items), 0, (object) array('walker' => $walker ) ); $result .= ' </ul> '; diff --git a/wp-admin/includes/plugin-install.php b/wp-admin/includes/plugin-install.php index beb54676f..ca3e1f5bd 100644 --- a/wp-admin/includes/plugin-install.php +++ b/wp-admin/includes/plugin-install.php @@ -45,9 +45,9 @@ function plugins_api($action, $args = null) { if ( is_wp_error($request) ) { $res = new WP_Error('plugins_api_failed', __('An Unexpected HTTP Error occurred during the API request.'), $request->get_error_message() ); } else { - $res = unserialize($request['body']); + $res = unserialize( wp_remote_retrieve_body( $request ) ); if ( false === $res ) - $res = new WP_Error('plugins_api_failed', __('An unknown error occurred.'), $request['body']); + $res = new WP_Error('plugins_api_failed', __('An unknown error occurred.'), wp_remote_retrieve_body( $request ) ); } } elseif ( !is_wp_error($res) ) { $res->external = true; @@ -327,11 +327,11 @@ function install_plugin_information() { <h2><?php _e('Average Rating') ?></h2> <div class="star-holder" title="<?php printf(_n('(based on %s rating)', '(based on %s ratings)', $api->num_ratings), number_format_i18n($api->num_ratings)); ?>"> <div class="star star-rating" style="width: <?php echo esc_attr($api->rating) ?>px"></div> - <div class="star star5"><img src="<?php echo admin_url('images/star.gif'); ?>" alt="<?php _e('5 stars') ?>" /></div> - <div class="star star4"><img src="<?php echo admin_url('images/star.gif'); ?>" alt="<?php _e('4 stars') ?>" /></div> - <div class="star star3"><img src="<?php echo admin_url('images/star.gif'); ?>" alt="<?php _e('3 stars') ?>" /></div> - <div class="star star2"><img src="<?php echo admin_url('images/star.gif'); ?>" alt="<?php _e('2 stars') ?>" /></div> - <div class="star star1"><img src="<?php echo admin_url('images/star.gif'); ?>" alt="<?php _e('1 star') ?>" /></div> + <div class="star star5"><img src="<?php echo admin_url('images/star.png?v=20110615'); ?>" alt="<?php _e('5 stars') ?>" /></div> + <div class="star star4"><img src="<?php echo admin_url('images/star.png?v=20110615'); ?>" alt="<?php _e('4 stars') ?>" /></div> + <div class="star star3"><img src="<?php echo admin_url('images/star.png?v=20110615'); ?>" alt="<?php _e('3 stars') ?>" /></div> + <div class="star star2"><img src="<?php echo admin_url('images/star.png?v=20110615'); ?>" alt="<?php _e('2 stars') ?>" /></div> + <div class="star star1"><img src="<?php echo admin_url('images/star.png?v=20110615'); ?>" alt="<?php _e('1 star') ?>" /></div> </div> <small><?php printf(_n('(based on %s rating)', '(based on %s ratings)', $api->num_ratings), number_format_i18n($api->num_ratings)); ?></small> <?php endif; ?> @@ -367,4 +367,3 @@ function install_plugin_information() { exit; } add_action('install_plugins_pre_plugin-information', 'install_plugin_information'); - diff --git a/wp-admin/includes/plugin.php b/wp-admin/includes/plugin.php index d10c450b3..be97e8c38 100644 --- a/wp-admin/includes/plugin.php +++ b/wp-admin/includes/plugin.php @@ -243,19 +243,16 @@ function get_plugins($plugin_folder = '') { if ( substr($subfile, -4) == '.php' ) $plugin_files[] = "$file/$subfile"; } + closedir( $plugins_subdir ); } } else { if ( substr($file, -4) == '.php' ) $plugin_files[] = $file; } } - } else { - return $wp_plugins; + closedir( $plugins_dir ); } - @closedir( $plugins_dir ); - @closedir( $plugins_subdir ); - if ( empty($plugin_files) ) return $wp_plugins; @@ -705,7 +702,7 @@ function delete_plugins($plugins, $redirect = '' ) { $this_plugin_dir = trailingslashit( dirname($plugins_dir . $plugin_file) ); // If plugin is in its own directory, recursively delete the directory. - if ( strpos($plugin_file, '/') && $this_plugin_dir != $plugins_dir ) //base check on if plugin includes directory seperator AND that its not the root plugin folder + if ( strpos($plugin_file, '/') && $this_plugin_dir != $plugins_dir ) //base check on if plugin includes directory separator AND that its not the root plugin folder $deleted = $wp_filesystem->delete($this_plugin_dir, true); else $deleted = $wp_filesystem->delete($plugins_dir . $plugin_file); @@ -966,7 +963,7 @@ function add_utility_page( $page_title, $menu_title, $capability, $menu_slug, $f * @param string $menu_slug The slug name to refer to this menu by (should be unique for this menu) * @param callback $function The function to be called to output the content for this page. * - * @return string The resulting page's hook_suffix + * @return string|bool The resulting page's hook_suffix, or false if the user does not have the capability required. */ function add_submenu_page( $parent_slug, $page_title, $menu_title, $capability, $menu_slug, $function = '' ) { global $submenu; @@ -1030,7 +1027,7 @@ function add_submenu_page( $parent_slug, $page_title, $menu_title, $capability, * @param string $menu_slug The slug name to refer to this menu by (should be unique for this menu) * @param callback $function The function to be called to output the content for this page. * - * @return string The resulting page's hook_suffix + * @return string|bool The resulting page's hook_suffix, or false if the user does not have the capability required. */ function add_management_page( $page_title, $menu_title, $capability, $menu_slug, $function = '' ) { return add_submenu_page( 'tools.php', $page_title, $menu_title, $capability, $menu_slug, $function ); @@ -1051,7 +1048,7 @@ function add_management_page( $page_title, $menu_title, $capability, $menu_slug, * @param string $menu_slug The slug name to refer to this menu by (should be unique for this menu) * @param callback $function The function to be called to output the content for this page. * - * @return string The resulting page's hook_suffix + * @return string|bool The resulting page's hook_suffix, or false if the user does not have the capability required. */ function add_options_page( $page_title, $menu_title, $capability, $menu_slug, $function = '' ) { return add_submenu_page( 'options-general.php', $page_title, $menu_title, $capability, $menu_slug, $function ); @@ -1072,7 +1069,7 @@ function add_options_page( $page_title, $menu_title, $capability, $menu_slug, $f * @param string $menu_slug The slug name to refer to this menu by (should be unique for this menu) * @param callback $function The function to be called to output the content for this page. * - * @return string The resulting page's hook_suffix + * @return string|bool The resulting page's hook_suffix, or false if the user does not have the capability required. */ function add_theme_page( $page_title, $menu_title, $capability, $menu_slug, $function = '' ) { return add_submenu_page( 'themes.php', $page_title, $menu_title, $capability, $menu_slug, $function ); @@ -1093,7 +1090,7 @@ function add_theme_page( $page_title, $menu_title, $capability, $menu_slug, $fun * @param string $menu_slug The slug name to refer to this menu by (should be unique for this menu) * @param callback $function The function to be called to output the content for this page. * - * @return string The resulting page's hook_suffix + * @return string|bool The resulting page's hook_suffix, or false if the user does not have the capability required. */ function add_plugins_page( $page_title, $menu_title, $capability, $menu_slug, $function = '' ) { return add_submenu_page( 'plugins.php', $page_title, $menu_title, $capability, $menu_slug, $function ); @@ -1114,7 +1111,7 @@ function add_plugins_page( $page_title, $menu_title, $capability, $menu_slug, $f * @param string $menu_slug The slug name to refer to this menu by (should be unique for this menu) * @param callback $function The function to be called to output the content for this page. * - * @return string The resulting page's hook_suffix + * @return string|bool The resulting page's hook_suffix, or false if the user does not have the capability required. */ function add_users_page( $page_title, $menu_title, $capability, $menu_slug, $function = '' ) { if ( current_user_can('edit_users') ) @@ -1138,7 +1135,7 @@ function add_users_page( $page_title, $menu_title, $capability, $menu_slug, $fun * @param string $menu_slug The slug name to refer to this menu by (should be unique for this menu) * @param callback $function The function to be called to output the content for this page. * - * @return string The resulting page's hook_suffix + * @return string|bool The resulting page's hook_suffix, or false if the user does not have the capability required. */ function add_dashboard_page( $page_title, $menu_title, $capability, $menu_slug, $function = '' ) { return add_submenu_page( 'index.php', $page_title, $menu_title, $capability, $menu_slug, $function ); @@ -1159,7 +1156,7 @@ function add_dashboard_page( $page_title, $menu_title, $capability, $menu_slug, * @param string $menu_slug The slug name to refer to this menu by (should be unique for this menu) * @param callback $function The function to be called to output the content for this page. * - * @return string The resulting page's hook_suffix + * @return string|bool The resulting page's hook_suffix, or false if the user does not have the capability required. */ function add_posts_page( $page_title, $menu_title, $capability, $menu_slug, $function = '' ) { return add_submenu_page( 'edit.php', $page_title, $menu_title, $capability, $menu_slug, $function ); @@ -1180,7 +1177,7 @@ function add_posts_page( $page_title, $menu_title, $capability, $menu_slug, $fun * @param string $menu_slug The slug name to refer to this menu by (should be unique for this menu) * @param callback $function The function to be called to output the content for this page. * - * @return string The resulting page's hook_suffix + * @return string|bool The resulting page's hook_suffix, or false if the user does not have the capability required. */ function add_media_page( $page_title, $menu_title, $capability, $menu_slug, $function = '' ) { return add_submenu_page( 'upload.php', $page_title, $menu_title, $capability, $menu_slug, $function ); @@ -1201,7 +1198,7 @@ function add_media_page( $page_title, $menu_title, $capability, $menu_slug, $fun * @param string $menu_slug The slug name to refer to this menu by (should be unique for this menu) * @param callback $function The function to be called to output the content for this page. * - * @return string The resulting page's hook_suffix + * @return string|bool The resulting page's hook_suffix, or false if the user does not have the capability required. */ function add_links_page( $page_title, $menu_title, $capability, $menu_slug, $function = '' ) { return add_submenu_page( 'link-manager.php', $page_title, $menu_title, $capability, $menu_slug, $function ); @@ -1222,7 +1219,7 @@ function add_links_page( $page_title, $menu_title, $capability, $menu_slug, $fun * @param string $menu_slug The slug name to refer to this menu by (should be unique for this menu) * @param callback $function The function to be called to output the content for this page. * - * @return string The resulting page's hook_suffix + * @return string|bool The resulting page's hook_suffix, or false if the user does not have the capability required. */ function add_pages_page( $page_title, $menu_title, $capability, $menu_slug, $function = '' ) { return add_submenu_page( 'edit.php?post_type=page', $page_title, $menu_title, $capability, $menu_slug, $function ); @@ -1243,7 +1240,7 @@ function add_pages_page( $page_title, $menu_title, $capability, $menu_slug, $fun * @param string $menu_slug The slug name to refer to this menu by (should be unique for this menu) * @param callback $function The function to be called to output the content for this page. * - * @return string The resulting page's hook_suffix + * @return string|bool The resulting page's hook_suffix, or false if the user does not have the capability required. */ function add_comments_page( $page_title, $menu_title, $capability, $menu_slug, $function = '' ) { return add_submenu_page( 'edit-comments.php', $page_title, $menu_title, $capability, $menu_slug, $function ); diff --git a/wp-admin/includes/post.php b/wp-admin/includes/post.php index 12cbaa0f9..d65e0e2a0 100644 --- a/wp-admin/includes/post.php +++ b/wp-admin/includes/post.php @@ -25,9 +25,16 @@ function _wp_translate_postdata( $update = false, $post_data = null ) { if ( $update ) $post_data['ID'] = (int) $post_data['post_ID']; - $post_data['post_content'] = isset($post_data['content']) ? $post_data['content'] : ''; - $post_data['post_excerpt'] = isset($post_data['excerpt']) ? $post_data['excerpt'] : ''; - $post_data['post_parent'] = isset($post_data['parent_id'])? $post_data['parent_id'] : ''; + + if ( isset( $post_data['content'] ) ) + $post_data['post_content'] = $post_data['content']; + + if ( isset( $post_data['excerpt'] ) ) + $post_data['post_excerpt'] = $post_data['excerpt']; + + if ( isset( $post_data['parent_id'] ) ) + $post_data['post_parent'] = (int) $post_data['parent_id']; + if ( isset($post_data['trackback_url']) ) $post_data['to_ping'] = $post_data['trackback_url']; @@ -135,9 +142,13 @@ function edit_post( $post_data = null ) { if ( empty($post_data) ) $post_data = &$_POST; + // Clear out any data in internal vars. + unset( $post_data['filter'] ); + $post_ID = (int) $post_data['post_ID']; $post = get_post( $post_ID ); $post_data['post_type'] = $post->post_type; + $post_data['post_mime_type'] = $post->post_mime_type; $ptype = get_post_type_object($post_data['post_type']); if ( !current_user_can( $ptype->cap->edit_post, $post_ID ) ) { @@ -199,6 +210,8 @@ function edit_post( $post_data = null ) { continue; if ( $meta->post_id != $post_ID ) continue; + if ( is_protected_meta( $value['key'] ) ) + continue; update_meta( $key, $value['key'], $value['value'] ); } } @@ -209,6 +222,8 @@ function edit_post( $post_data = null ) { continue; if ( $meta->post_id != $post_ID ) continue; + if ( is_protected_meta( $meta->meta_key ) ) + continue; delete_meta( $key ); } } @@ -336,7 +351,8 @@ function bulk_edit_posts( $post_data = null ) { continue; } - $tax_names = get_object_taxonomies( get_post($post_ID) ); + $post = get_post( $post_ID ); + $tax_names = get_object_taxonomies( $post ); foreach ( $tax_names as $tax_name ) { $taxonomy_obj = get_taxonomy($tax_name); if ( isset( $tax_input[$tax_name]) && current_user_can( $taxonomy_obj->cap->assign_terms ) ) @@ -358,6 +374,9 @@ function bulk_edit_posts( $post_data = null ) { unset( $post_data['tax_input']['category'] ); } + $post_data['post_mime_type'] = $post->post_mime_type; + $post_data['guid'] = $post->guid; + $post_data['ID'] = $post_ID; $updated[] = wp_update_post( $post_data ); @@ -527,6 +546,11 @@ function wp_write_post() { return new WP_Error( 'edit_posts', __( 'You are not allowed to create posts or drafts on this site.' ) ); } + $_POST['post_mime_type'] = ''; + + // Clear out any data in internal vars. + unset( $_POST['filter'] ); + // Check for autosave collisions // Does this need to be updated? ~ Mark $temp_id = false; @@ -546,6 +570,15 @@ function wp_write_post() { } } + // Edit don't write if we have a post id. + if ( isset( $_POST['ID'] ) ) { + $_POST['post_ID'] = $_POST['ID']; + unset ( $_POST['ID'] ); + } + if ( isset( $_POST['post_ID'] ) ) { + return edit_post(); + } + $translated = _wp_translate_postdata( false ); if ( is_wp_error($translated) ) return $translated; @@ -632,8 +665,6 @@ function add_meta( $post_ID ) { global $wpdb; $post_ID = (int) $post_ID; - $protected = array( '_wp_attached_file', '_wp_attachment_metadata', '_wp_old_slug', '_wp_page_template' ); - $metakeyselect = isset($_POST['metakeyselect']) ? stripslashes( trim( $_POST['metakeyselect'] ) ) : ''; $metakeyinput = isset($_POST['metakeyinput']) ? stripslashes( trim( $_POST['metakeyinput'] ) ) : ''; $metavalue = isset($_POST['metavalue']) ? maybe_serialize( stripslashes_deep( $_POST['metavalue'] ) ) : ''; @@ -650,7 +681,7 @@ function add_meta( $post_ID ) { if ( $metakeyinput) $metakey = $metakeyinput; // default - if ( in_array($metakey, $protected) ) + if ( is_protected_meta( $metakey ) ) return false; wp_cache_delete($post_ID, 'post_meta'); @@ -756,11 +787,9 @@ function has_meta( $postid ) { function update_meta( $meta_id, $meta_key, $meta_value ) { global $wpdb; - $protected = array( '_wp_attached_file', '_wp_attachment_metadata', '_wp_old_slug', '_wp_page_template' ); - $meta_key = stripslashes($meta_key); - if ( in_array($meta_key, $protected) ) + if ( is_protected_meta( $meta_key ) ) return false; if ( '' === trim( $meta_value ) ) @@ -993,7 +1022,12 @@ function wp_edit_attachments_query( $q = false ) { $q['m'] = isset( $q['m'] ) ? (int) $q['m'] : 0; $q['cat'] = isset( $q['cat'] ) ? (int) $q['cat'] : 0; $q['post_type'] = 'attachment'; - $q['post_status'] = isset( $q['status'] ) && 'trash' == $q['status'] ? 'trash' : 'inherit'; + $post_type = get_post_type_object( 'attachment' ); + $states = 'inherit'; + if ( current_user_can( $post_type->cap->read_private_posts ) ) + $states .= ',private'; + + $q['post_status'] = isset( $q['status'] ) && 'trash' == $q['status'] ? 'trash' : $states; $media_per_page = (int) get_user_option( 'upload_per_page' ); if ( empty( $media_per_page ) || $media_per_page < 1 ) $media_per_page = 20; @@ -1021,7 +1055,7 @@ function _edit_attachments_query_helper($where) { } /** - * {@internal Missing Short Description}} + * Returns the list of classes to be used by a metabox * * @uses get_user_option() * @since 2.5.0 @@ -1031,17 +1065,20 @@ function _edit_attachments_query_helper($where) { * @return unknown */ function postbox_classes( $id, $page ) { - if ( isset( $_GET['edit'] ) && $_GET['edit'] == $id ) - return ''; - - if ( $closed = get_user_option('closedpostboxes_'.$page ) ) { + if ( isset( $_GET['edit'] ) && $_GET['edit'] == $id ) { + $classes = array( '' ); + } elseif ( $closed = get_user_option('closedpostboxes_'.$page ) ) { if ( !is_array( $closed ) ) { - return ''; + $classes = array( '' ); + } else { + $classes = in_array( $id, $closed ) ? array( 'closed' ) : array( '' ); } - return in_array( $id, $closed )? 'closed' : ''; } else { - return ''; + $classes = array( '' ); } + + $classes = apply_filters( "postbox_classes_{$page}_{$id}", $classes ); + return implode( ' ', $classes ); } /** @@ -1092,6 +1129,7 @@ function get_sample_permalink($id, $title = null, $name = null) { $uri = untrailingslashit($uri); $uri = strrev( stristr( strrev( $uri ), '/' ) ); $uri = untrailingslashit($uri); + $uri = apply_filters( 'editable_slug', $uri ); if ( !empty($uri) ) $uri .= '/'; $permalink = str_replace('%pagename%', "{$uri}%pagename%", $permalink); @@ -1410,7 +1448,7 @@ function wp_tiny_mce( $teeny = false, $settings = false ) { $plugins = apply_filters( 'teeny_mce_plugins', array('inlinepopups', 'fullscreen', 'wordpress', 'wplink', 'wpdialogs') ); $ext_plugins = ''; } else { - $plugins = array( 'inlinepopups', 'spellchecker', 'paste', 'wordpress', 'fullscreen', 'wpeditimage', 'wpgallery', 'tabfocus', 'wplink', 'wpdialogs' ); + $plugins = array( 'inlinepopups', 'spellchecker', 'tabfocus', 'paste', 'media', 'wordpress', 'wpfullscreen', 'wpeditimage', 'wpgallery', 'wplink', 'wpdialogs' ); /* The following filter takes an associative array of external plugins for TinyMCE in the form 'plugin_name' => 'url'. @@ -1551,6 +1589,7 @@ function wp_tiny_mce( $teeny = false, $settings = false ) { 'apply_source_formatting' => false, 'remove_linebreaks' => true, 'gecko_spellcheck' => true, + 'keep_styles' => false, 'entities' => '38,amp,60,lt,62,gt', 'accessibility_focus' => true, 'tabfocus_elements' => 'major-publishing-actions', @@ -1559,7 +1598,9 @@ function wp_tiny_mce( $teeny = false, $settings = false ) { 'paste_remove_spans' => true, 'paste_strip_class_attributes' => 'all', 'paste_text_use_dialog' => true, + 'extended_valid_elements' => 'article[*],aside[*],audio[*],canvas[*],command[*],datalist[*],details[*],embed[*],figcaption[*],figure[*],footer[*],header[*],hgroup[*],keygen[*],mark[*],meter[*],nav[*],output[*],progress[*],section[*],source[*],summary,time[*],video[*],wbr', 'wpeditimage_disable_captions' => $no_captions, + 'wp_fullscreen_content_css' => "$baseurl/plugins/wpfullscreen/css/wp-fullscreen.css", 'plugins' => implode( ',', $plugins ), ); @@ -1614,7 +1655,7 @@ function wp_tiny_mce( $teeny = false, $settings = false ) { $language = $initArray['language']; $compressed = $compress_scripts && $concatenate_scripts && isset($_SERVER['HTTP_ACCEPT_ENCODING']) - && false !== strpos( strtolower($_SERVER['HTTP_ACCEPT_ENCODING']), 'gzip'); + && false !== stripos($_SERVER['HTTP_ACCEPT_ENCODING'], 'gzip'); /** * Deprecated @@ -1635,7 +1676,7 @@ function wp_tiny_mce( $teeny = false, $settings = false ) { $val = $v ? 'true' : 'false'; $mce_options .= $k . ':' . $val . ', '; continue; - } elseif ( !empty($v) && is_string($v) && ( '{' == $v{0} || '[' == $v{0} ) ) { + } elseif ( !empty($v) && is_string($v) && ( ('{' == $v{0} && '}' == $v{strlen($v) - 1}) || ('[' == $v{0} && ']' == $v{strlen($v) - 1}) || preg_match('/^\(?function ?\(/', $v) ) ) { $mce_options .= $k . ':' . $v . ', '; continue; } @@ -1643,7 +1684,9 @@ function wp_tiny_mce( $teeny = false, $settings = false ) { $mce_options .= $k . ':"' . $v . '", '; } - $mce_options = rtrim( trim($mce_options), '\n\r,' ); ?> + $mce_options = rtrim( trim($mce_options), '\n\r,' ); + + do_action('before_wp_tiny_mce', $initArray); ?> <script type="text/javascript"> /* <![CDATA[ */ @@ -1684,20 +1727,138 @@ tinyMCE.init(tinyMCEPreInit.mceInit); </script> <?php - // Load additional inline scripts based on active plugins. - if ( in_array( 'wpdialogs', $plugins ) ) { - wp_print_scripts( array( 'wpdialogs-popup' ) ); +do_action('after_wp_tiny_mce', $initArray); +} + +// Load additional inline scripts based on active plugins. +function wp_preload_dialogs($init) { + $plugins = preg_split('/[ ,-]+/', $init['plugins']); + + if ( in_array( 'wpdialogs', $plugins, true ) ) { + wp_print_scripts('wpdialogs-popup'); wp_print_styles('wp-jquery-ui-dialog'); } - if ( in_array( 'wplink', $plugins ) ) { + + if ( in_array( 'wplink', $plugins, true ) ) { require_once ABSPATH . 'wp-admin/includes/internal-linking.php'; - add_action('tiny_mce_preload_dialogs', 'wp_link_dialog'); + ?><div style="display:none;"><?php wp_link_dialog(); ?></div><?php wp_print_scripts('wplink'); wp_print_styles('wplink'); } + + // Distraction Free Writing mode + if ( in_array( 'wpfullscreen', $plugins, true ) ) { + wp_fullscreen_html(); + wp_print_scripts('wp-fullscreen'); + } + + wp_print_scripts('word-count'); +} + +function wp_quicktags() { + global $tinymce_version; + + wp_preload_dialogs( array( 'plugins' => 'wpdialogs,wplink,wpfullscreen' ) ); + + if ( !user_can_richedit() ) { + wp_enqueue_style( 'tinymce-buttons', includes_url('js/tinymce/themes/advanced/skins/wp_theme/ui.css'), array(), $tinymce_version ); + wp_print_styles('tinymce-buttons'); + } } -function wp_tiny_mce_preload_dialogs() { ?> - <div id="preloaded-dialogs" style="display:none;"> -<?php do_action('tiny_mce_preload_dialogs'); ?> + +function wp_print_editor_js() { + wp_print_scripts('editor'); +} + +function wp_fullscreen_html() { + global $content_width, $post; + + $width = isset($content_width) && 800 > $content_width ? $content_width : 800; + $width = $width + 10; // compensate for the padding + $dfw_width = get_user_setting( 'dfw_width', $width ); + $save = isset($post->post_status) && $post->post_status == 'publish' ? __('Update') : __('Save'); +?> +<div id="wp-fullscreen-body"> +<div id="fullscreen-topbar"> + <div id="wp-fullscreen-toolbar"> + <div id="wp-fullscreen-close"><a href="#" onclick="fullscreen.off();return false;"><?php _e('Exit fullscreen'); ?></a></div> + <div id="wp-fullscreen-central-toolbar" style="width:<?php echo $width; ?>px;"> + + <div id="wp-fullscreen-mode-bar"><div id="wp-fullscreen-modes"> + <a href="#" onclick="fullscreen.switchmode('tinymce');return false;"><?php _e('Visual'); ?></a> + <a href="#" onclick="fullscreen.switchmode('html');return false;"><?php _e('HTML'); ?></a> + </div></div> + + <div id="wp-fullscreen-button-bar"><div id="wp-fullscreen-buttons" class="wp_themeSkin"> +<?php + + $media_link_type = 'image'; + if ( is_multisite() && ( ( ! $mu_media_buttons = get_site_option( 'mu_media_buttons' ) ) || empty( $mu_media_buttons['image'] ) ) ) + $media_link_type = 'media'; + + $buttons = array( + // format: title, onclick, show in both editors + 'bold' => array( 'title' => __('Bold (Ctrl + B)'), 'onclick' => 'fullscreen.b();', 'both' => false ), + 'italic' => array( 'title' => __('Italic (Ctrl + I)'), 'onclick' => 'fullscreen.i();', 'both' => false ), + '0' => 'separator', + 'bullist' => array( 'title' => __('Unordered list (Alt + Shift + U)'), 'onclick' => 'fullscreen.ul();', 'both' => false ), + 'numlist' => array( 'title' => __('Ordered list (Alt + Shift + O)'), 'onclick' => 'fullscreen.ol();', 'both' => false ), + '1' => 'separator', + 'blockquote' => array( 'title' => __('Blockquote (Alt+Shift+Q)'), 'onclick' => 'fullscreen.blockquote();', 'both' => false ), + 'image' => array( 'title' => __('Insert/edit image (Alt + Shift + M)'), 'onclick' => "jQuery('#add_{$media_link_type}').click();", 'both' => true ), + '2' => 'separator', + 'link' => array( 'title' => __('Insert/edit link (Alt + Shift + A)'), 'onclick' => 'fullscreen.link();', 'both' => true ), + 'unlink' => array( 'title' => __('Unlink (Alt + Shift + S)'), 'onclick' => 'fullscreen.unlink();', 'both' => false ), + '3' => 'separator', + 'help' => array( 'title' => __('Help (Alt + Shift + H)'), 'onclick' => 'fullscreen.help();', 'both' => false ) + ); + + $buttons = apply_filters( 'wp_fullscreen_buttons', $buttons ); + + foreach ( $buttons as $button => $args ) { + if ( 'separator' == $args ) { ?> + <div><span aria-orientation="vertical" role="separator" class="mceSeparator"></span></div> +<?php continue; + } ?> + + <div<?php if ( $args['both'] ) { ?> class="wp-fullscreen-both"<?php } ?>> + <a title="<?php echo $args['title']; ?>" onclick="<?php echo $args['onclick']; ?>return false;" class="mceButton mceButtonEnabled mce_<?php echo $button; ?>" href="#" id="wp_fs_<?php echo $button; ?>" role="button" aria-pressed="false"> + <span class="mceIcon mce_<?php echo $button; ?>"></span> + </a> + </div> +<?php + } ?> + + </div></div> + + <div id="wp-fullscreen-save"> + <span><?php if ( $post->post_status == 'publish' ) _e('Updated.'); else _e('Saved.'); ?></span> + <img src="images/wpspin_light.gif" alt="" /> + <input type="button" class="button-primary" value="<?php echo $save; ?>" onclick="fullscreen.save();" /> + </div> + + </div> + </div> +</div> + +<div id="wp-fullscreen-wrap" style="width:<?php echo $dfw_width; ?>px;"> + <label id="wp-fullscreen-title-prompt-text" for="wp-fullscreen-title"><?php echo apply_filters( 'enter_title_here', __( 'Enter title here' ), $post ); ?></label> + <input type="text" id="wp-fullscreen-title" value="" autocomplete="off" /> + + <div id="wp-fullscreen-container"> + <textarea id="wp_mce_fullscreen"></textarea> </div> -<?php } \ No newline at end of file + + <div id="wp-fullscreen-status"> + <div id="wp-fullscreen-count"><?php printf( __( 'Word count: %s' ), '<span class="word-count">0</span>' ); ?></div> + <div id="wp-fullscreen-tagline"><?php _e('Just write.'); ?></div> + </div> +</div> +</div> + +<div class="fullscreen-overlay" id="fullscreen-overlay"></div> +<div class="fullscreen-overlay fullscreen-fader fade-600" id="fullscreen-fader"></div> +<?php +} + + diff --git a/wp-admin/includes/schema.php b/wp-admin/includes/schema.php index a9e288035..1834153e8 100644 --- a/wp-admin/includes/schema.php +++ b/wp-admin/includes/schema.php @@ -689,7 +689,7 @@ BLOG_URL You can log in to the administrator account with the following information: Username: USERNAME Password: PASSWORD -Login Here: BLOG_URLwp-login.php +Log in Here: BLOG_URLwp-login.php We hope you enjoy your new site. Thanks! @@ -762,7 +762,7 @@ Thanks! $page = wp_remote_get( 'http://' . $hostname, array( 'timeout' => 5, 'httpversion' => '1.1' ) ); if ( is_wp_error( $page ) ) $errstr = $page->get_error_message(); - elseif ( 200 == $page['response']['code'] ) + elseif ( 200 == wp_remote_retrieve_response_code( $page ) ) $vhost_ok = true; if ( ! $vhost_ok ) { diff --git a/wp-admin/includes/template.php b/wp-admin/includes/template.php index b345c36b7..a488baf84 100644 --- a/wp-admin/includes/template.php +++ b/wp-admin/includes/template.php @@ -425,7 +425,7 @@ function list_meta( $meta ) { <table id="list-table" style="display: none;"> <thead> <tr> - <th class="left">' . __( 'Name' ) . '</th> + <th class="left">' . _x( 'Name', 'meta name' ) . '</th> <th>' . __( 'Value' ) . '</th> </tr> </thead> @@ -440,7 +440,7 @@ function list_meta( $meta ) { <table id="list-table"> <thead> <tr> - <th class="left"><?php _e( 'Name' ) ?></th> + <th class="left"><?php _ex( 'Name', 'meta name' ) ?></th> <th><?php _e( 'Value' ) ?></th> </tr> </thead> @@ -465,6 +465,10 @@ function list_meta( $meta ) { */ function _list_meta_row( $entry, &$count ) { static $update_nonce = false; + + if ( is_protected_meta( $entry['meta_key'] ) ) + return; + if ( !$update_nonce ) $update_nonce = wp_create_nonce( 'add-meta' ); @@ -531,7 +535,7 @@ function meta_form() { <table id="newmeta"> <thead> <tr> -<th class="left"><label for="metakeyselect"><?php _e( 'Name' ) ?></label></th> +<th class="left"><label for="metakeyselect"><?php _ex( 'Name', 'meta name' ) ?></label></th> <th><label for="metavalue"><?php _e( 'Value' ) ?></label></th> </tr> </thead> @@ -938,10 +942,12 @@ function do_meta_boxes($page, $context, $object) { do { // Grab the ones the user has manually sorted. Pull them out of their previous context/priority and into the one the user chose if ( !$already_sorted && $sorted = get_user_option( "meta-box-order_$page" ) ) { - foreach ( $sorted as $box_context => $ids ) - foreach ( explode(',', $ids) as $id ) - if ( $id ) + foreach ( $sorted as $box_context => $ids ) { + foreach ( explode(',', $ids ) as $id ) { + if ( $id && 'dashboard_browser_nag' !== $id ) add_meta_box( $id, null, null, $page, $box_context, 'sorted' ); + } + } } $already_sorted = true; @@ -957,7 +963,8 @@ function do_meta_boxes($page, $context, $object) { $style = ''; $hidden_class = in_array($box['id'], $hidden) ? ' hide-if-js' : ''; echo '<div id="' . $box['id'] . '" class="postbox ' . postbox_classes($box['id'], $page) . $hidden_class . '" ' . '>' . "\n"; - echo '<div class="handlediv" title="' . esc_attr__('Click to toggle') . '"><br /></div>'; + if ( 'dashboard_browser_nag' != $box['id'] ) + echo '<div class="handlediv" title="' . esc_attr__('Click to toggle') . '"><br /></div>'; echo "<h3 class='hndle'><span>{$box['title']}</span></h3>\n"; echo '<div class="inside">' . "\n"; call_user_func($box['callback'], $object, $box); @@ -1623,16 +1630,16 @@ function _post_states($post) { $post_status = ''; if ( !empty($post->post_password) ) - $post_states[] = __('Password protected'); + $post_states['protected'] = __('Password protected'); if ( 'private' == $post->post_status && 'private' != $post_status ) - $post_states[] = __('Private'); + $post_states['private'] = __('Private'); if ( 'draft' == $post->post_status && 'draft' != $post_status ) - $post_states[] = __('Draft'); + $post_states['draft'] = __('Draft'); if ( 'pending' == $post->post_status && 'pending' != $post_status ) /* translators: post state */ - $post_states[] = _x('Pending', 'post state'); + $post_states['pending'] = _x('Pending', 'post state'); if ( is_sticky($post->ID) ) - $post_states[] = __('Sticky'); + $post_states['sticky'] = __('Sticky'); $post_states = apply_filters( 'display_post_states', $post_states ); @@ -1651,6 +1658,36 @@ function _post_states($post) { echo ' - <span class="post-state-format">' . get_post_format_string( get_post_format( $post->ID ) ) . '</span>'; } +function _media_states( $post ) { + $media_states = array(); + $stylesheet = get_option('stylesheet'); + + if ( current_theme_supports( 'custom-header') ) { + $meta_header = get_post_meta($post->ID, '_wp_attachment_is_custom_header', true ); + if ( ! empty( $meta_header ) && $meta_header == $stylesheet ) + $media_states[] = __( 'Header Image' ); + } + + if ( current_theme_supports( 'custom-background') ) { + $meta_background = get_post_meta($post->ID, '_wp_attachment_is_custom_background', true ); + if ( ! empty( $meta_background ) && $meta_background == $stylesheet ) + $media_states[] = __( 'Background Image' ); + } + + $media_states = apply_filters( 'display_media_states', $media_states ); + + if ( ! empty( $media_states ) ) { + $state_count = count( $media_states ); + $i = 0; + echo ' - '; + foreach ( $media_states as $state ) { + ++$i; + ( $i == $state_count ) ? $sep = '' : $sep = ', '; + echo "<span class='post-state'>$state$sep</span>"; + } + } +} + /** * Convert a screen string to a screen object * @@ -1713,6 +1750,8 @@ function screen_meta($screen) { if ( !empty($wp_current_screen_options) ) $show_screen = true; + $show_screen = apply_filters('screen_options_show_screen', $show_screen, $screen); + ?> <div id="screen-meta"> <?php if ( $show_screen ) : ?> @@ -1918,7 +1957,11 @@ function screen_options($screen) { return $return; } -function screen_icon($screen = '') { +function screen_icon( $screen = '' ) { + echo get_screen_icon( $screen ); +} + +function get_screen_icon( $screen = '' ) { global $current_screen, $typenow; if ( empty($screen) ) @@ -1946,9 +1989,7 @@ function screen_icon($screen = '') { $class .= ' ' . sanitize_html_class( 'icon32-posts-' . $post_type ); } -?> - <div id="icon-<?php echo $name; ?>" class="<?php echo $class; ?>"><br /></div> -<?php + return '<div id="icon-' . esc_attr( $name ) . '" class="' . $class . '"><br /></div>'; } /** @@ -2185,4 +2226,3 @@ function get_submit_button( $text = NULL, $type = 'primary', $name = 'submit', $ return $button; } - diff --git a/wp-admin/includes/theme-install.php b/wp-admin/includes/theme-install.php index da7c069ed..1f24e40a4 100644 --- a/wp-admin/includes/theme-install.php +++ b/wp-admin/includes/theme-install.php @@ -172,11 +172,11 @@ function display_theme($theme, $actions = null, $show_details = true) { <?php endif; ?> <div class="star-holder" title="<?php printf(_n('(based on %s rating)', '(based on %s ratings)', $theme->num_ratings), number_format_i18n($theme->num_ratings)) ?>"> <div class="star star-rating" style="width: <?php echo esc_attr($theme->rating) ?>px"></div> - <div class="star star5"><img src="<?php echo admin_url('images/star.gif'); ?>" alt="<?php _e('5 stars') ?>" /></div> - <div class="star star4"><img src="<?php echo admin_url('images/star.gif'); ?>" alt="<?php _e('4 stars') ?>" /></div> - <div class="star star3"><img src="<?php echo admin_url('images/star.gif'); ?>" alt="<?php _e('3 stars') ?>" /></div> - <div class="star star2"><img src="<?php echo admin_url('images/star.gif'); ?>" alt="<?php _e('2 stars') ?>" /></div> - <div class="star star1"><img src="<?php echo admin_url('images/star.gif'); ?>" alt="<?php _e('1 star') ?>" /></div> + <div class="star star5"><img src="<?php echo admin_url('images/star.png?v=20110615'); ?>" alt="<?php _e('5 stars') ?>" /></div> + <div class="star star4"><img src="<?php echo admin_url('images/star.png?v=20110615'); ?>" alt="<?php _e('4 stars') ?>" /></div> + <div class="star star3"><img src="<?php echo admin_url('images/star.png?v=20110615'); ?>" alt="<?php _e('3 stars') ?>" /></div> + <div class="star star2"><img src="<?php echo admin_url('images/star.png?v=20110615'); ?>" alt="<?php _e('2 stars') ?>" /></div> + <div class="star star1"><img src="<?php echo admin_url('images/star.png?v=20110615'); ?>" alt="<?php _e('1 star') ?>" /></div> </div> </div> <?php } diff --git a/wp-admin/includes/theme.php b/wp-admin/includes/theme.php index 80e967418..1600aa70b 100644 --- a/wp-admin/includes/theme.php +++ b/wp-admin/includes/theme.php @@ -163,7 +163,7 @@ function get_allowed_themes() { * * @since 1.5.0 * - * @return array Key is template name, Value is template name + * @return array Key is the template name, value is the filename of the template */ function get_page_templates() { $themes = get_themes(); @@ -181,6 +181,9 @@ function get_page_templates() { if ( false !== strpos($basename, '/') ) continue; + if ( 'functions.php' == $basename ) + continue; + $template_data = implode( '', file( $template )); $name = ''; @@ -268,6 +271,7 @@ function get_theme_feature_list() { 'black' => __( 'Black' ), 'blue' => __( 'Blue' ), 'brown' => __( 'Brown' ), + 'gray' => __( 'Gray' ), 'green' => __( 'Green' ), 'orange' => __( 'Orange' ), 'pink' => __( 'Pink' ), @@ -296,26 +300,30 @@ function get_theme_feature_list() { ), __( 'Features' ) => array( - 'blavatar' => __( 'Blavatar' ), - 'buddypress' => __( 'BuddyPress' ), - 'custom-background' => __( 'Custom Background' ), - 'custom-colors' => __( 'Custom Colors' ), - 'custom-header' => __( 'Custom Header' ), - 'custom-menu' => __( 'Custom Menu' ), - 'editor-style' => __( 'Editor Style' ), - 'front-page-post-form' => __( 'Front Page Posting' ), - 'microformats' => __( 'Microformats' ), - 'sticky-post' => __( 'Sticky Post' ), - 'theme-options' => __( 'Theme Options' ), - 'threaded-comments' => __( 'Threaded Comments' ), - 'translation-ready' => __( 'Translation Ready' ), - 'rtl-language-support' => __( 'RTL Language Support' ) + 'blavatar' => __( 'Blavatar' ), + 'buddypress' => __( 'BuddyPress' ), + 'custom-background' => __( 'Custom Background' ), + 'custom-colors' => __( 'Custom Colors' ), + 'custom-header' => __( 'Custom Header' ), + 'custom-menu' => __( 'Custom Menu' ), + 'editor-style' => __( 'Editor Style' ), + 'featured-image-header' => __( 'Featured Image Header' ), + 'featured-images' => __( 'Featured Images' ), + 'front-page-post-form' => __( 'Front Page Posting' ), + 'full-width-template' => __( 'Full Width Template' ), + 'microformats' => __( 'Microformats' ), + 'post-formats' => __( 'Post Formats' ), + 'rtl-language-support' => __( 'RTL Language Support' ), + 'sticky-post' => __( 'Sticky Post' ), + 'theme-options' => __( 'Theme Options' ), + 'threaded-comments' => __( 'Threaded Comments' ), + 'translation-ready' => __( 'Translation Ready' ) ), __( 'Subject' ) => array( - 'holiday' => __( 'Holiday' ), + 'holiday' => __( 'Holiday' ), 'photoblogging' => __( 'Photoblogging' ), - 'seasonal' => __( 'Seasonal' ) + 'seasonal' => __( 'Seasonal' ) ) ); @@ -393,9 +401,9 @@ function themes_api($action, $args = null) { if ( is_wp_error($request) ) { $res = new WP_Error('themes_api_failed', __('An Unexpected HTTP Error occurred during the API request.'), $request->get_error_message() ); } else { - $res = unserialize($request['body']); + $res = unserialize( wp_remote_retrieve_body( $request ) ); if ( ! $res ) - $res = new WP_Error('themes_api_failed', __('An unknown error occurred.'), $request['body']); + $res = new WP_Error('themes_api_failed', __('An unknown error occurred.'), wp_remote_retrieve_body( $request ) ); } } //var_dump(array($args, $res)); diff --git a/wp-admin/includes/update-core.php b/wp-admin/includes/update-core.php index 227baaefa..d44ffb206 100644 --- a/wp-admin/includes/update-core.php +++ b/wp-admin/includes/update-core.php @@ -225,7 +225,6 @@ $_old_files = array( // 3.1 'wp-includes/js/tinymce/blank.htm', 'wp-includes/js/tinymce/plugins/safari', -'wp-includes/js/tinymce/plugins/media', 'wp-admin/edit-link-categories.php', 'wp-admin/edit-post-rows.php', 'wp-admin/edit-attachment-rows.php', @@ -243,6 +242,42 @@ $_old_files = array( 'wp-admin/images/visit-site-button-grad-vs.gif', 'wp-admin/images/visit-site-button-grad.gif', 'wp-includes/classes.php', +// 3.2 +'wp-includes/default-embeds.php', +'wp-includes/js/tinymce/plugins/wordpress/img/more.gif', +'wp-includes/js/tinymce/plugins/wordpress/img/toolbars.gif', +'wp-includes/js/tinymce/plugins/wordpress/img/help.gif', +'wp-includes/js/tinymce/themes/advanced/img/fm.gif', +'wp-includes/js/tinymce/themes/advanced/img/sflogo.png', +'wp-admin/js/list-table.js', +'wp-admin/js/list-table.dev.js', +'wp-admin/images/logo-login.gif', +'wp-admin/images/star.gif' +); + +/** + * Stores new files in wp-content to copy + * + * The contents of this array indicate any new bundled plugins/themes which + * should be installed with the WordPress Upgrade. These items will not be + * re-installed in future upgrades, this behaviour is controlled by the + * introduced version present here being older than the current installed version. + * + * The content of this array should follow the following format: + * Filename (relative to wp-content) => Introduced version + * Directories should be noted by suffixing it with a trailing slash (/) + * + * @since 3.2.0 + * @global array $_new_bundled_files + * @var array + * @name $_new_bundled_files + */ +global $_new_bundled_files; + +$_new_bundled_files = array( +'plugins/akismet/' => '2.0', +'themes/twentyten/' => '3.0', +'themes/twentyeleven/' => '3.2' ); /** @@ -255,12 +290,18 @@ $_old_files = array( * The files in the {@link $_old_files} list will be removed and the new files * copied from the zip file after the database is upgraded. * + * The files in the {@link $_new_bundled_files} list will be added to the installation + * if the version is greater than or equal to the old version being upgraded. + * * The steps for the upgrader for after the new release is downloaded and * unzipped is: * 1. Test unzipped location for select files to ensure that unzipped worked. * 2. Create the .maintenance file in current WordPress base. * 3. Copy new WordPress directory over old WordPress files. * 4. Upgrade WordPress to new version. + * 4.1. Copy all files/folders other than wp-content + * 4.2. Copy any language files to WP_LANG_DIR (which may differ from WP_CONTENT_DIR + * 4.3. Copy any new bundled themes/plugins to their respective locations * 5. Delete new WordPress directory path. * 6. Delete .maintenance file. * 7. Remove old files. @@ -286,15 +327,15 @@ $_old_files = array( * @return WP_Error|null WP_Error on failure, null on success. */ function update_core($from, $to) { - global $wp_filesystem, $_old_files, $wpdb; + global $wp_filesystem, $_old_files, $_new_bundled_files, $wpdb; @set_time_limit( 300 ); $php_version = phpversion(); $mysql_version = $wpdb->db_version(); - $required_php_version = '4.3'; - $required_mysql_version = '4.1.2'; - $wp_version = '3.1.2'; + $required_php_version = '5.2.4'; + $required_mysql_version = '5.0'; + $wp_version = '3.2.1'; $php_compat = version_compare( $php_version, $required_php_version, '>=' ); $mysql_compat = version_compare( $mysql_version, $required_mysql_version, '>=' ) || file_exists( WP_CONTENT_DIR . '/db.php' ); @@ -311,10 +352,9 @@ function update_core($from, $to) { // Sanity check the unzipped distribution apply_filters('update_feedback', __('Verifying the unpacked files…')); $distro = ''; - $roots = array( '/wordpress', '/wordpress-mu' ); + $roots = array( '/wordpress/', '/wordpress-mu/' ); foreach( $roots as $root ) { - if ( $wp_filesystem->exists($from . $root . '/wp-settings.php') && $wp_filesystem->exists($from . $root . '/wp-admin/admin.php') && - $wp_filesystem->exists($from . $root . '/wp-includes/functions.php') ) { + if ( $wp_filesystem->exists($from . $root . 'readme.html') && $wp_filesystem->exists($from . $root . 'wp-includes/version.php') ) { $distro = $root; break; } @@ -333,7 +373,65 @@ function update_core($from, $to) { $wp_filesystem->put_contents($maintenance_file, $maintenance_string, FS_CHMOD_FILE); // Copy new versions of WP files into place. - $result = copy_dir($from . $distro, $to); + $result = _copy_dir($from . $distro, $to, array('wp-content') ); + + // Custom Content Directory needs updating now. + // Copy Languages + if ( !is_wp_error($result) && $wp_filesystem->is_dir($from . $distro . 'wp-content/languages') ) { + if ( WP_LANG_DIR != ABSPATH . WPINC . '/languages' || @is_dir(WP_LANG_DIR) ) + $lang_dir = WP_LANG_DIR; + else + $lang_dir = WP_CONTENT_DIR . '/languages'; + + if ( !@is_dir($lang_dir) && 0 === strpos($lang_dir, ABSPATH) ) { // Check the language directory exists first + $wp_filesystem->mkdir($to . str_replace($lang_dir, ABSPATH, ''), FS_CHMOD_DIR); // If it's within the ABSPATH we can handle it here, otherwise they're out of luck. + clearstatcache(); // for FTP, Need to clear the stat cache + } + + if ( @is_dir($lang_dir) ) { + $wp_lang_dir = $wp_filesystem->find_folder($lang_dir); + if ( $wp_lang_dir ) + $result = copy_dir($from . $distro . 'wp-content/languages/', $wp_lang_dir); + } + } + + // Copy New bundled plugins & themes + // This gives us the ability to install new plugins & themes bundled with future versions of WordPress whilst avoiding the re-install upon upgrade issue. + if ( !is_wp_error($result) && ( ! defined('CORE_UPGRADE_SKIP_NEW_BUNDLED') || ! CORE_UPGRADE_SKIP_NEW_BUNDLED ) ) { + $old_version = $GLOBALS['wp_version']; // $wp_version in local scope == new version + foreach ( (array) $_new_bundled_files as $file => $introduced_version ) { + // If $introduced version is greater than what the site was previously running + if ( version_compare($introduced_version, $old_version, '>') ) { + $directory = ('/' == $file[ strlen($file)-1 ]); + list($type, $filename) = explode('/', $file, 2); + + if ( 'plugins' == $type ) + $dest = $wp_filesystem->wp_plugins_dir(); + elseif ( 'themes' == $type ) + $dest = trailingslashit($wp_filesystem->wp_themes_dir()); // Back-compat, ::wp_themes_dir() did not return trailingslash'd pre-3.2 + else + continue; + + if ( ! $directory ) { + if ( $wp_filesystem->exists($dest . $filename) ) + continue; + + if ( ! $wp_filesystem->copy($from . $distro . 'wp-content/' . $file, $dest . $filename, FS_CHMOD_FILE) ) + $result = new WP_Error('copy_failed', __('Could not copy file.'), $dest . $filename); + } else { + if ( $wp_filesystem->is_dir($dest . $filename) ) + continue; + + $wp_filesystem->mkdir($dest . $filename, FS_CHMOD_DIR); + $_result = copy_dir( $from . $distro . 'wp-content/' . $file, $dest . $filename); + if ( is_wp_error($_result) ) //If a error occurs partway through this final step, keep the error flowing through, but keep process going. + $result = $_result; + } + } + } //end foreach + } + + // Handle $result error from the above blocks if ( is_wp_error($result) ) { $wp_filesystem->delete($maintenance_file); $wp_filesystem->delete($from, true); @@ -366,4 +464,59 @@ function update_core($from, $to) { $wp_filesystem->delete($maintenance_file); } +/** + * Copies a directory from one location to another via the WordPress Filesystem Abstraction. + * Assumes that WP_Filesystem() has already been called and setup. + * + * This is a temporary function for the 3.1 -> 3.2 upgrade only and will be removed in 3.3 + * + * @ignore + * @since 3.2.0 + * @see copy_dir() + * + * @param string $from source directory + * @param string $to destination directory + * @param array $skip_list a list of files/folders to skip copying + * @return mixed WP_Error on failure, True on success. + */ +function _copy_dir($from, $to, $skip_list = array() ) { + global $wp_filesystem; + + $dirlist = $wp_filesystem->dirlist($from); + + $from = trailingslashit($from); + $to = trailingslashit($to); + + $skip_regex = ''; + foreach ( (array)$skip_list as $key => $skip_file ) + $skip_regex .= preg_quote($skip_file, '!') . '|'; + + if ( !empty($skip_regex) ) + $skip_regex = '!(' . rtrim($skip_regex, '|') . ')$!i'; + + foreach ( (array) $dirlist as $filename => $fileinfo ) { + if ( !empty($skip_regex) ) + if ( preg_match($skip_regex, $from . $filename) ) + continue; + + if ( 'f' == $fileinfo['type'] ) { + if ( ! $wp_filesystem->copy($from . $filename, $to . $filename, true, FS_CHMOD_FILE) ) { + // If copy failed, chmod file to 0644 and try again. + $wp_filesystem->chmod($to . $filename, 0644); + if ( ! $wp_filesystem->copy($from . $filename, $to . $filename, true, FS_CHMOD_FILE) ) + return new WP_Error('copy_failed', __('Could not copy file.'), $to . $filename); + } + } elseif ( 'd' == $fileinfo['type'] ) { + if ( !$wp_filesystem->is_dir($to . $filename) ) { + if ( !$wp_filesystem->mkdir($to . $filename, FS_CHMOD_DIR) ) + return new WP_Error('mkdir_failed', __('Could not create directory.'), $to . $filename); + } + $result = _copy_dir($from . $filename, $to . $filename, $skip_list); + if ( is_wp_error($result) ) + return $result; + } + } + return true; +} + ?> diff --git a/wp-admin/includes/update.php b/wp-admin/includes/update.php index 06e06c24b..202f7c45e 100644 --- a/wp-admin/includes/update.php +++ b/wp-admin/includes/update.php @@ -198,17 +198,18 @@ function wp_plugin_update_row( $file, $plugin_data ) { if ( is_network_admin() || !is_multisite() ) { echo '<tr class="plugin-update-tr"><td colspan="' . $wp_list_table->get_column_count() . '" class="plugin-update colspanchange"><div class="update-message">'; + if ( ! current_user_can('update_plugins') ) printf( __('There is a new version of %1$s available. <a href="%2$s" class="thickbox" title="%3$s">View version %4$s details</a>.'), $plugin_name, esc_url($details_url), esc_attr($plugin_name), $r->new_version ); else if ( empty($r->package) ) printf( __('There is a new version of %1$s available. <a href="%2$s" class="thickbox" title="%3$s">View version %4$s details</a>. <em>Automatic update is unavailable for this plugin.</em>'), $plugin_name, esc_url($details_url), esc_attr($plugin_name), $r->new_version ); else printf( __('There is a new version of %1$s available. <a href="%2$s" class="thickbox" title="%3$s">View version %4$s details</a> or <a href="%5$s">update automatically</a>.'), $plugin_name, esc_url($details_url), esc_attr($plugin_name), $r->new_version, wp_nonce_url( self_admin_url('update.php?action=upgrade-plugin&plugin=') . $file, 'upgrade-plugin_' . $file) ); - } - do_action( "in_plugin_update_message-$file", $plugin_data, $r ); + do_action( "in_plugin_update_message-$file", $plugin_data, $r ); - echo '</div></td></tr>'; + echo '</div></td></tr>'; + } } function wp_update_plugin($plugin, $feedback = '') { diff --git a/wp-admin/includes/widgets.php b/wp-admin/includes/widgets.php index a591c60d8..6b7d63515 100644 --- a/wp-admin/includes/widgets.php +++ b/wp-admin/includes/widgets.php @@ -207,8 +207,8 @@ function wp_widget_control( $sidebar_args ) { <a class="widget-control-close" href="#close"><?php _e('Close'); ?></a> </div> <div class="alignright<?php if ( 'noform' === $has_form ) echo ' widget-control-noform'; ?>"> - <img src="<?php echo esc_url( admin_url( 'images/wpspin_light.gif' ) ); ?>" class="ajax-feedback " title="" alt="" /> - <?php submit_button( __( 'Save' ), 'button-primary widget-control-save', 'savewidget', false ); ?> + <img src="<?php echo esc_url( admin_url( 'images/wpspin_light.gif' ) ); ?>" class="ajax-feedback" title="" alt="" /> + <?php submit_button( __( 'Save' ), 'button-primary widget-control-save', 'savewidget', false, array( 'id' => 'widget-' . esc_attr( $id_format ) . '-savewidget' ) ); ?> </div> <br class="clear" /> </div> diff --git a/wp-admin/index-extra.php b/wp-admin/index-extra.php index efa2526c5..bbaea63e5 100644 --- a/wp-admin/index-extra.php +++ b/wp-admin/index-extra.php @@ -6,6 +6,8 @@ * @subpackage Administration */ +define('DOING_AJAX', true); + /** Load WordPress Bootstrap */ require_once( './admin.php' ); @@ -18,23 +20,19 @@ send_nosniff_header(); switch ( $_GET['jax'] ) { case 'dashboard_incoming_links' : - wp_dashboard_incoming_links_output(); + wp_dashboard_incoming_links(); break; case 'dashboard_primary' : - wp_dashboard_rss_output( 'dashboard_primary' ); + wp_dashboard_primary(); break; case 'dashboard_secondary' : - wp_dashboard_secondary_output(); + wp_dashboard_secondary(); break; case 'dashboard_plugins' : - wp_dashboard_plugins_output(); - break; - -case 'dashboard_quick_press' : - wp_dashboard_quick_press_output(); + wp_dashboard_plugins(); break; } diff --git a/wp-admin/index.php b/wp-admin/index.php index 748141e0e..35b041de6 100644 --- a/wp-admin/index.php +++ b/wp-admin/index.php @@ -1,6 +1,6 @@ <?php /** - * Dashboard Administration Panel + * Dashboard Administration Screen * * @package WordPress * @subpackage Administration @@ -32,20 +32,20 @@ else add_contextual_help($current_screen, '<p>' . __( 'Welcome to your WordPress Dashboard! You will find helpful tips in the Help tab of each screen to assist you as you get to know the application.' ) . '</p>' . - '<p>' . __( 'The Admin Bar at the top, new in 3.1, provides quick access to common tasks when you are viewing your site.' ) . '</p>' . - '<p>' . __( 'The left-hand navigation menu provides links to the administration screens in your WordPress application. You can expand or collapse navigation sections by clicking on the arrow that appears on the right side of each navigation item when you hover over it. You can also minimize the navigation menu to a narrow icon strip by clicking on the faint separator lines between the Dashboard and Posts sections, or between Comments and Appearance; when minimized, the submenu items will be displayed on hover.' ) . '</p>' . - '<p>' . __( 'You can configure your dashboard by choosing which boxes, or modules, to display in the work area, how many columns to display them in, and where each box should be placed. You can hide/show boxes and select the number of columns in the Screen Options tab. To rearrange the boxes, drag and drop by clicking on the title bar of the selected box and releasing when you see a gray dotted-line rectangle appear in the location you want to place the box. You can also expand or collapse each box by clicking once on the title bar of the box. In addition, some boxes are configurable, and will show a “Configure” link in the title bar when you hover over it.' ) . '</p>' . + '<p>' . __( 'The Admin Bar at the top provides quick access to common tasks when you are viewing your site. If you miss the Favorite Actions dropdown, removed as of 3.2, you can find many of the same actions in the Admin Bar, such as Add New > Post.' ) . '</p>' . + '<p>' . __( 'The left-hand navigation menu provides links to the administration screens in your WordPress application. You can expand or collapse navigation sections by clicking on the arrow that appears on the right side of each navigation item when you hover over it. You can also minimize the navigation menu to a narrow icon strip by clicking on the Collapse Menu arrow at the bottom of the nav menu, below Settings; when minimized, the submenu items will be displayed on hover.' ) . '</p>' . + '<p>' . __( 'You can arrange your dashboard by choosing which boxes, or modules, to display in the work area, how many columns to display them in, and where each box should be placed. You can hide/show boxes and select the number of columns in the Screen Options tab. To rearrange the boxes, drag and drop by clicking on the title bar of the selected box and releasing when you see a gray dotted-line rectangle appear in the location you want to place the box. You can also expand or collapse each box; click the title area or downward arrow of the box. In addition, some boxes are configurable, and will show a “Configure” link in the title bar if you hover over it.' ) . '</p>' . '<p>' . __( 'The boxes on your Dashboard screen are:' ) . '</p>' . '<p>' . __( '<strong>Right Now</strong> - Displays a summary of the content on your site and identifies which theme and version of WordPress you are using.' ) . '</p>' . '<p>' . __( '<strong>Recent Comments</strong> - Shows the most recent comments on your posts (configurable, up to 30) and allows you to moderate them.' ) . '</p>' . '<p>' . __( '<strong>Incoming Links</strong> - Shows links to your site found by Google Blog Search.' ) . '</p>' . '<p>' . __( '<strong>QuickPress</strong> - Allows you to create a new post and either publish it or save it as a draft.' ) . '</p>' . '<p>' . __( '<strong>Recent Drafts</strong> - Displays links to the 5 most recent draft posts you’ve started.' ) . '</p>' . - '<p>' . __( '<strong>WordPress Development Blog</strong> - Come here for the latest scoop.' ) . '</p>' . + '<p>' . __( '<strong>WordPress Blog</strong> - Come here for the latest scoop.' ) . '</p>' . '<p>' . __( '<strong>Other WordPress News</strong> - Shows the feed from <a href="http://planet.wordpress.org" target="_blank">WordPress Planet</a>. You can configure it to show a different feed of your choosing.' ) . '</p>' . '<p>' . __( '<strong>Plugins</strong> - Features the most popular, newest, and recently updated plugins from the WordPress.org Plugin Directory.' ) . '</p>' . '<p><strong>' . __( 'For more information:' ) . '</strong></p>' . - '<p>' . __( '<a href="http://codex.wordpress.org/Dashboard_SubPanel" target="_blank">Documentation on Dashboard</a>' ) . '</p>' . + '<p>' . __( '<a href="http://codex.wordpress.org/Dashboard_Screen" target="_blank">Documentation on Dashboard</a>' ) . '</p>' . '<p>' . __( '<a href="http://wordpress.org/support/" target="_blank">Support Forums</a>' ) . '</p>' ); diff --git a/wp-admin/js/comment.dev.js b/wp-admin/js/comment.dev.js index acb1dd865..a014a515f 100644 --- a/wp-admin/js/comment.dev.js +++ b/wp-admin/js/comment.dev.js @@ -36,7 +36,7 @@ jQuery(document).ready( function($) { $('.edit-timestamp').show(); $('#timestamp').html( commentL10n.submittedOn + ' <b>' + - $( '#mm option[value=' + mm + ']' ).text() + ' ' + + $( '#mm option[value="' + mm + '"]' ).text() + ' ' + jj + ', ' + aa + ' @ ' + hh + ':' + @@ -44,4 +44,4 @@ jQuery(document).ready( function($) { ); return false; }); -}); \ No newline at end of file +}); diff --git a/wp-admin/js/comment.js b/wp-admin/js/comment.js index c05cb608d..5816ebb16 100644 --- a/wp-admin/js/comment.js +++ b/wp-admin/js/comment.js @@ -1 +1 @@ -jQuery(document).ready(function(b){var a=b("#timestamp").html();b(".edit-timestamp").click(function(){if(b("#timestampdiv").is(":hidden")){b("#timestampdiv").slideDown("normal");b(".edit-timestamp").hide()}return false});b(".cancel-timestamp").click(function(){b("#timestampdiv").slideUp("normal");b("#mm").val(b("#hidden_mm").val());b("#jj").val(b("#hidden_jj").val());b("#aa").val(b("#hidden_aa").val());b("#hh").val(b("#hidden_hh").val());b("#mn").val(b("#hidden_mn").val());b("#timestamp").html(a);b(".edit-timestamp").show();return false});b(".save-timestamp").click(function(){var g=b("#aa").val(),h=b("#mm").val(),d=b("#jj").val(),c=b("#hh").val(),f=b("#mn").val(),e=new Date(g,h-1,d,c,f);if(e.getFullYear()!=g||(1+e.getMonth())!=h||e.getDate()!=d||e.getMinutes()!=f){b(".timestamp-wrap","#timestampdiv").addClass("form-invalid");return false}else{b(".timestamp-wrap","#timestampdiv").removeClass("form-invalid")}b("#timestampdiv").slideUp("normal");b(".edit-timestamp").show();b("#timestamp").html(commentL10n.submittedOn+" <b>"+b("#mm option[value="+h+"]").text()+" "+d+", "+g+" @ "+c+":"+f+"</b> ");return false})}); \ No newline at end of file +jQuery(document).ready(function(b){var a=b("#timestamp").html();b(".edit-timestamp").click(function(){if(b("#timestampdiv").is(":hidden")){b("#timestampdiv").slideDown("normal");b(".edit-timestamp").hide()}return false});b(".cancel-timestamp").click(function(){b("#timestampdiv").slideUp("normal");b("#mm").val(b("#hidden_mm").val());b("#jj").val(b("#hidden_jj").val());b("#aa").val(b("#hidden_aa").val());b("#hh").val(b("#hidden_hh").val());b("#mn").val(b("#hidden_mn").val());b("#timestamp").html(a);b(".edit-timestamp").show();return false});b(".save-timestamp").click(function(){var g=b("#aa").val(),h=b("#mm").val(),d=b("#jj").val(),c=b("#hh").val(),f=b("#mn").val(),e=new Date(g,h-1,d,c,f);if(e.getFullYear()!=g||(1+e.getMonth())!=h||e.getDate()!=d||e.getMinutes()!=f){b(".timestamp-wrap","#timestampdiv").addClass("form-invalid");return false}else{b(".timestamp-wrap","#timestampdiv").removeClass("form-invalid")}b("#timestampdiv").slideUp("normal");b(".edit-timestamp").show();b("#timestamp").html(commentL10n.submittedOn+" <b>"+b('#mm option[value="'+h+'"]').text()+" "+d+", "+g+" @ "+c+":"+f+"</b> ");return false})}); \ No newline at end of file diff --git a/wp-admin/js/common.dev.js b/wp-admin/js/common.dev.js index 46b4b2477..5ab98eddc 100644 --- a/wp-admin/js/common.dev.js +++ b/wp-admin/js/common.dev.js @@ -1,4 +1,4 @@ -var showNotice, adminMenu, columns, validateForm; +var showNotice, adminMenu, columns, validateForm, screenMeta; (function($){ // sidebar admin menu adminMenu = { @@ -15,7 +15,7 @@ adminMenu = { this.favorites(); - $('.separator', menu).click(function(){ + $('#collapse-menu', menu).click(function(){ if ( $('body').hasClass('folded') ) { adminMenu.fold(1); deleteUserSetting( 'mfold' ); @@ -28,26 +28,15 @@ adminMenu = { if ( $('body').hasClass('folded') ) this.fold(); - - this.restoreMenuState(); }, restoreMenuState : function() { - $('li.wp-has-submenu', '#adminmenu').each(function(i, e) { - var v = getUserSetting( 'm'+i ); - if ( $(e).hasClass('wp-has-current-submenu') ) - return true; // leave the current parent open - - if ( 'o' == v ) - $(e).addClass('wp-menu-open'); - else if ( 'c' == v ) - $(e).removeClass('wp-menu-open'); - }); + // (perhaps) needed for back-compat }, toggle : function(el) { el.slideToggle(150, function() { - var id = el.parent().toggleClass( 'wp-menu-open' ).attr('id'); + var id = el.css('display','').parent().toggleClass( 'wp-menu-open' ).attr('id'); if ( id ) { $('li.wp-has-submenu', '#adminmenu').each(function(i, e) { if ( id == e.id ) { @@ -85,7 +74,9 @@ adminMenu = { } m.addClass('sub-open'); }, - out: function(){ $(this).find('.wp-submenu').removeClass('sub-open').css({'marginTop':''}); }, + out: function(){ + $(this).find('.wp-submenu').removeClass('sub-open'); + }, timeout: 220, sensitivity: 8, interval: 100 @@ -125,7 +116,7 @@ columns = { var that = this; $('.hide-column-tog', '#adv-settings').click( function() { var $t = $(this), column = $t.val(); - if ( $t.attr('checked') ) + if ( $t.prop('checked') ) that.checked(column); else that.unchecked(column); @@ -182,8 +173,6 @@ validateForm = function( form ) { return !$( form ).find('.form-required').filter( function() { return $('input:visible', this).val() == ''; } ).addClass( 'form-invalid' ).find('input:visible').change( function() { $(this).closest('.form-invalid').removeClass( 'form-invalid' ); } ).size(); } -})(jQuery); - // stub for doing better warnings showNotice = { warn : function() { @@ -200,48 +189,72 @@ showNotice = { } }; -jQuery(document).ready( function($) { - var lastClicked = false, checks, first, last, checked, bgx = ( isRtl ? 'left' : 'right' ); +screenMeta = { + links: { + 'screen-options-link-wrap': 'screen-options-wrap', + 'contextual-help-link-wrap': 'contextual-help-wrap' + }, + init: function() { + $('.screen-meta-toggle').click( screenMeta.toggleEvent ); + }, + toggleEvent: function( e ) { + var panel; + e.preventDefault(); - // Move .updated and .error alert boxes. Don't move boxes designed to be inline. - $('div.wrap h2:first').nextAll('div.updated, div.error').addClass('below-h2'); - $('div.updated, div.error').not('.below-h2, .inline').insertAfter( $('div.wrap h2:first') ); + // Check to see if we found a panel. + if ( ! screenMeta.links[ this.id ] ) + return; - // screen settings tab - $('#show-settings-link').click(function () { - if ( ! $('#screen-options-wrap').hasClass('screen-options-open') ) - $('#contextual-help-link-wrap').css('visibility', 'hidden'); + panel = $('#' + screenMeta.links[ this.id ]); - $('#screen-options-wrap').slideToggle('fast', function(){ - if ( $(this).hasClass('screen-options-open') ) { - $('#show-settings-link').css({'backgroundPosition':'top '+bgx}); - $('#contextual-help-link-wrap').css('visibility', ''); - $(this).removeClass('screen-options-open'); - } else { - $('#show-settings-link').css({'backgroundPosition':'bottom '+bgx}); - $(this).addClass('screen-options-open'); - } + if ( panel.is(':visible') ) + screenMeta.close( panel, $(this) ); + else + screenMeta.open( panel, $(this) ); + }, + open: function( panel, link ) { + $('.screen-meta-toggle').not( link ).css('visibility', 'hidden'); + + panel.slideDown( 'fast', function() { + link.addClass('screen-meta-active'); }); - return false; - }); + }, + close: function( panel, link ) { + panel.slideUp( 'fast', function() { + link.removeClass('screen-meta-active'); + $('.screen-meta-toggle').css('visibility', ''); + }); + } +}; - // help tab - $('#contextual-help-link').click(function () { - if ( ! $('#contextual-help-wrap').hasClass('contextual-help-open') ) - $('#screen-options-link-wrap').css('visibility', 'hidden'); +$(document).ready( function() { + var lastClicked = false, checks, first, last, checked, dropdown, + pageInput = $('input[name="paged"]'), currentPage; - $('#contextual-help-wrap').slideToggle('fast', function() { - if ( $(this).hasClass('contextual-help-open') ) { - $('#contextual-help-link').css({'backgroundPosition':'top '+bgx}); - $('#screen-options-link-wrap').css('visibility', ''); - $(this).removeClass('contextual-help-open'); - } else { - $('#contextual-help-link').css({'backgroundPosition':'bottom '+bgx}); - $(this).addClass('contextual-help-open'); + // Move .updated and .error alert boxes. Don't move boxes designed to be inline. + $('div.wrap h2:first').nextAll('div.updated, div.error').addClass('below-h2'); + $('div.updated, div.error').not('.below-h2, .inline').insertAfter( $('div.wrap h2:first') ); + + // Init screen meta + screenMeta.init(); + + // User info dropdown. + dropdown = { + doc: $(document), + element: $('#user_info'), + open: function() { + if ( ! dropdown.element.hasClass('active') ) { + dropdown.element.addClass('active'); + dropdown.doc.one( 'click', dropdown.close ); + return false; } - }); - return false; - }); + }, + close: function() { + dropdown.element.removeClass('active'); + } + }; + + dropdown.element.click( dropdown.open ); // check all checkboxes $('tbody').children().children('.check-column').find(':checkbox').click( function(e) { @@ -251,13 +264,13 @@ jQuery(document).ready( function($) { checks = $( lastClicked ).closest( 'form' ).find( ':checkbox' ); first = checks.index( lastClicked ); last = checks.index( this ); - checked = $(this).attr('checked'); + checked = $(this).prop('checked'); if ( 0 < first && 0 < last && first != last ) { - checks.slice( first, last ).attr( 'checked', function(){ + checks.slice( first, last ).prop( 'checked', function(){ if ( $(this).closest('tr').is(':visible') ) - return checked ? 'checked' : ''; + return checked; - return ''; + return false; }); } } @@ -266,30 +279,30 @@ jQuery(document).ready( function($) { }); $('thead, tfoot').find('.check-column :checkbox').click( function(e) { - var c = $(this).attr('checked'), + var c = $(this).prop('checked'), kbtoggle = 'undefined' == typeof toggleWithKeyboard ? false : toggleWithKeyboard, toggle = e.shiftKey || kbtoggle; $(this).closest( 'table' ).children( 'tbody' ).filter(':visible') .children().children('.check-column').find(':checkbox') - .attr('checked', function() { + .prop('checked', function() { if ( $(this).closest('tr').is(':hidden') ) - return ''; + return false; if ( toggle ) - return $(this).attr( 'checked' ) ? '' : 'checked'; + return $(this).prop( 'checked' ); else if (c) - return 'checked'; - return ''; + return true; + return false; }); $(this).closest('table').children('thead, tfoot').filter(':visible') .children().children('.check-column').find(':checkbox') - .attr('checked', function() { + .prop('checked', function() { if ( toggle ) - return ''; + return false; else if (c) - return 'checked'; - return ''; + return true; + return false; }); }); @@ -300,7 +313,7 @@ jQuery(document).ready( function($) { }); // tab in textareas - $('#newcontent').keydown(function(e) { + $('#newcontent').bind('keydown.wpevent_InsertTab', function(e) { if ( e.keyCode != 9 ) return true; @@ -327,8 +340,31 @@ jQuery(document).ready( function($) { e.preventDefault(); }); - $('#newcontent').blur(function(e) { + $('#newcontent').bind('blur.wpevent_InsertTab', function(e) { if ( this.lastKey && 9 == this.lastKey ) this.focus(); }); + + if ( pageInput.length ) { + currentPage = pageInput.val(); + pageInput.closest('form').submit( function(){ + // Reset paging var for new filters/searches. See #17685. + if ( pageInput.val() == currentPage ) + pageInput.val('1'); + }); + } + +}); + +// internal use +$(document).bind( 'wp_CloseOnEscape', function( e, data ) { + if ( typeof(data.cb) != 'function' ) + return; + + if ( typeof(data.condition) != 'function' || data.condition() ) + data.cb(); + + return true; }); + +})(jQuery); diff --git a/wp-admin/js/common.js b/wp-admin/js/common.js index 559b9f7f2..944dbdbe4 100644 --- a/wp-admin/js/common.js +++ b/wp-admin/js/common.js @@ -1 +1 @@ -var showNotice,adminMenu,columns,validateForm;(function(a){adminMenu={init:function(){var b=a("#adminmenu");a(".wp-menu-toggle",b).each(function(){var c=a(this),d=c.siblings(".wp-submenu");if(d.length){c.click(function(){adminMenu.toggle(d)})}else{c.hide()}});this.favorites();a(".separator",b).click(function(){if(a("body").hasClass("folded")){adminMenu.fold(1);deleteUserSetting("mfold")}else{adminMenu.fold();setUserSetting("mfold","f")}return false});if(a("body").hasClass("folded")){this.fold()}this.restoreMenuState()},restoreMenuState:function(){a("li.wp-has-submenu","#adminmenu").each(function(c,d){var b=getUserSetting("m"+c);if(a(d).hasClass("wp-has-current-submenu")){return true}if("o"==b){a(d).addClass("wp-menu-open")}else{if("c"==b){a(d).removeClass("wp-menu-open")}}})},toggle:function(b){b.slideToggle(150,function(){var c=b.parent().toggleClass("wp-menu-open").attr("id");if(c){a("li.wp-has-submenu","#adminmenu").each(function(f,g){if(c==g.id){var d=a(g).hasClass("wp-menu-open")?"o":"c";setUserSetting("m"+f,d)}})}});return false},fold:function(b){if(b){a("body").removeClass("folded");a("#adminmenu li.wp-has-submenu").unbind()}else{a("body").addClass("folded");a("#adminmenu li.wp-has-submenu").hoverIntent({over:function(j){var d,c,g,k,i;d=a(this).find(".wp-submenu");c=a(this).offset().top+d.height()+1;g=a("#wpwrap").height();k=60+c-g;i=a(window).height()+a(window).scrollTop()-15;if(i<(c-k)){k=c-i}if(k>1){d.css({marginTop:"-"+k+"px"})}else{if(d.css("marginTop")){d.css({marginTop:""})}}d.addClass("sub-open")},out:function(){a(this).find(".wp-submenu").removeClass("sub-open").css({marginTop:""})},timeout:220,sensitivity:8,interval:100})}},favorites:function(){a("#favorite-inside").width(a("#favorite-actions").width()-4);a("#favorite-toggle, #favorite-inside").bind("mouseenter",function(){a("#favorite-inside").removeClass("slideUp").addClass("slideDown");setTimeout(function(){if(a("#favorite-inside").hasClass("slideDown")){a("#favorite-inside").slideDown(100);a("#favorite-first").addClass("slide-down")}},200)}).bind("mouseleave",function(){a("#favorite-inside").removeClass("slideDown").addClass("slideUp");setTimeout(function(){if(a("#favorite-inside").hasClass("slideUp")){a("#favorite-inside").slideUp(100,function(){a("#favorite-first").removeClass("slide-down")})}},300)})}};a(document).ready(function(){adminMenu.init()});columns={init:function(){var b=this;a(".hide-column-tog","#adv-settings").click(function(){var d=a(this),c=d.val();if(d.attr("checked")){b.checked(c)}else{b.unchecked(c)}columns.saveManageColumnsState()})},saveManageColumnsState:function(){var b=this.hidden();a.post(ajaxurl,{action:"hidden-columns",hidden:b,screenoptionnonce:a("#screenoptionnonce").val(),page:pagenow})},checked:function(b){a(".column-"+b).show();this.colSpanChange(+1)},unchecked:function(b){a(".column-"+b).hide();this.colSpanChange(-1)},hidden:function(){return a(".manage-column").filter(":hidden").map(function(){return this.id}).get().join(",")},useCheckboxesForHidden:function(){this.hidden=function(){return a(".hide-column-tog").not(":checked").map(function(){var b=this.id;return b.substring(b,b.length-5)}).get().join(",")}},colSpanChange:function(b){var d=a("table").find(".colspanchange"),c;if(!d.length){return}c=parseInt(d.attr("colspan"),10)+b;d.attr("colspan",c.toString())}};a(document).ready(function(){columns.init()});validateForm=function(b){return !a(b).find(".form-required").filter(function(){return a("input:visible",this).val()==""}).addClass("form-invalid").find("input:visible").change(function(){a(this).closest(".form-invalid").removeClass("form-invalid")}).size()}})(jQuery);showNotice={warn:function(){var a=commonL10n.warnDelete||"";if(confirm(a)){return true}return false},note:function(a){alert(a)}};jQuery(document).ready(function(e){var g=false,b,f,d,c,a=(isRtl?"left":"right");e("div.wrap h2:first").nextAll("div.updated, div.error").addClass("below-h2");e("div.updated, div.error").not(".below-h2, .inline").insertAfter(e("div.wrap h2:first"));e("#show-settings-link").click(function(){if(!e("#screen-options-wrap").hasClass("screen-options-open")){e("#contextual-help-link-wrap").css("visibility","hidden")}e("#screen-options-wrap").slideToggle("fast",function(){if(e(this).hasClass("screen-options-open")){e("#show-settings-link").css({backgroundPosition:"top "+a});e("#contextual-help-link-wrap").css("visibility","");e(this).removeClass("screen-options-open")}else{e("#show-settings-link").css({backgroundPosition:"bottom "+a});e(this).addClass("screen-options-open")}});return false});e("#contextual-help-link").click(function(){if(!e("#contextual-help-wrap").hasClass("contextual-help-open")){e("#screen-options-link-wrap").css("visibility","hidden")}e("#contextual-help-wrap").slideToggle("fast",function(){if(e(this).hasClass("contextual-help-open")){e("#contextual-help-link").css({backgroundPosition:"top "+a});e("#screen-options-link-wrap").css("visibility","");e(this).removeClass("contextual-help-open")}else{e("#contextual-help-link").css({backgroundPosition:"bottom "+a});e(this).addClass("contextual-help-open")}});return false});e("tbody").children().children(".check-column").find(":checkbox").click(function(h){if("undefined"==h.shiftKey){return true}if(h.shiftKey){if(!g){return true}b=e(g).closest("form").find(":checkbox");f=b.index(g);d=b.index(this);c=e(this).attr("checked");if(0<f&&0<d&&f!=d){b.slice(f,d).attr("checked",function(){if(e(this).closest("tr").is(":visible")){return c?"checked":""}return""})}}g=this;return true});e("thead, tfoot").find(".check-column :checkbox").click(function(j){var k=e(this).attr("checked"),i="undefined"==typeof toggleWithKeyboard?false:toggleWithKeyboard,h=j.shiftKey||i;e(this).closest("table").children("tbody").filter(":visible").children().children(".check-column").find(":checkbox").attr("checked",function(){if(e(this).closest("tr").is(":hidden")){return""}if(h){return e(this).attr("checked")?"":"checked"}else{if(k){return"checked"}}return""});e(this).closest("table").children("thead, tfoot").filter(":visible").children().children(".check-column").find(":checkbox").attr("checked",function(){if(h){return""}else{if(k){return"checked"}}return""})});e("#default-password-nag-no").click(function(){setUserSetting("default_password_nag","hide");e("div.default-password-nag").hide();return false});e("#newcontent").keydown(function(m){if(m.keyCode!=9){return true}var j=m.target,o=j.selectionStart,i=j.selectionEnd,n=j.value,h,l;try{this.lastKey=9}catch(k){}if(document.selection){j.focus();l=document.selection.createRange();l.text="\t"}else{if(o>=0){h=this.scrollTop;j.value=n.substring(0,o).concat("\t",n.substring(i));j.selectionStart=j.selectionEnd=o+1;this.scrollTop=h}}if(m.stopPropagation){m.stopPropagation()}if(m.preventDefault){m.preventDefault()}});e("#newcontent").blur(function(h){if(this.lastKey&&9==this.lastKey){this.focus()}})}); \ No newline at end of file +var showNotice,adminMenu,columns,validateForm,screenMeta;(function(a){adminMenu={init:function(){var b=a("#adminmenu");a(".wp-menu-toggle",b).each(function(){var c=a(this),d=c.siblings(".wp-submenu");if(d.length){c.click(function(){adminMenu.toggle(d)})}else{c.hide()}});this.favorites();a("#collapse-menu",b).click(function(){if(a("body").hasClass("folded")){adminMenu.fold(1);deleteUserSetting("mfold")}else{adminMenu.fold();setUserSetting("mfold","f")}return false});if(a("body").hasClass("folded")){this.fold()}},restoreMenuState:function(){},toggle:function(b){b.slideToggle(150,function(){var c=b.css("display","").parent().toggleClass("wp-menu-open").attr("id");if(c){a("li.wp-has-submenu","#adminmenu").each(function(f,g){if(c==g.id){var d=a(g).hasClass("wp-menu-open")?"o":"c";setUserSetting("m"+f,d)}})}});return false},fold:function(b){if(b){a("body").removeClass("folded");a("#adminmenu li.wp-has-submenu").unbind()}else{a("body").addClass("folded");a("#adminmenu li.wp-has-submenu").hoverIntent({over:function(j){var d,c,g,k,i;d=a(this).find(".wp-submenu");c=a(this).offset().top+d.height()+1;g=a("#wpwrap").height();k=60+c-g;i=a(window).height()+a(window).scrollTop()-15;if(i<(c-k)){k=c-i}if(k>1){d.css({marginTop:"-"+k+"px"})}else{if(d.css("marginTop")){d.css({marginTop:""})}}d.addClass("sub-open")},out:function(){a(this).find(".wp-submenu").removeClass("sub-open")},timeout:220,sensitivity:8,interval:100})}},favorites:function(){a("#favorite-inside").width(a("#favorite-actions").width()-4);a("#favorite-toggle, #favorite-inside").bind("mouseenter",function(){a("#favorite-inside").removeClass("slideUp").addClass("slideDown");setTimeout(function(){if(a("#favorite-inside").hasClass("slideDown")){a("#favorite-inside").slideDown(100);a("#favorite-first").addClass("slide-down")}},200)}).bind("mouseleave",function(){a("#favorite-inside").removeClass("slideDown").addClass("slideUp");setTimeout(function(){if(a("#favorite-inside").hasClass("slideUp")){a("#favorite-inside").slideUp(100,function(){a("#favorite-first").removeClass("slide-down")})}},300)})}};a(document).ready(function(){adminMenu.init()});columns={init:function(){var b=this;a(".hide-column-tog","#adv-settings").click(function(){var d=a(this),c=d.val();if(d.prop("checked")){b.checked(c)}else{b.unchecked(c)}columns.saveManageColumnsState()})},saveManageColumnsState:function(){var b=this.hidden();a.post(ajaxurl,{action:"hidden-columns",hidden:b,screenoptionnonce:a("#screenoptionnonce").val(),page:pagenow})},checked:function(b){a(".column-"+b).show();this.colSpanChange(+1)},unchecked:function(b){a(".column-"+b).hide();this.colSpanChange(-1)},hidden:function(){return a(".manage-column").filter(":hidden").map(function(){return this.id}).get().join(",")},useCheckboxesForHidden:function(){this.hidden=function(){return a(".hide-column-tog").not(":checked").map(function(){var b=this.id;return b.substring(b,b.length-5)}).get().join(",")}},colSpanChange:function(b){var d=a("table").find(".colspanchange"),c;if(!d.length){return}c=parseInt(d.attr("colspan"),10)+b;d.attr("colspan",c.toString())}};a(document).ready(function(){columns.init()});validateForm=function(b){return !a(b).find(".form-required").filter(function(){return a("input:visible",this).val()==""}).addClass("form-invalid").find("input:visible").change(function(){a(this).closest(".form-invalid").removeClass("form-invalid")}).size()};showNotice={warn:function(){var b=commonL10n.warnDelete||"";if(confirm(b)){return true}return false},note:function(b){alert(b)}};screenMeta={links:{"screen-options-link-wrap":"screen-options-wrap","contextual-help-link-wrap":"contextual-help-wrap"},init:function(){a(".screen-meta-toggle").click(screenMeta.toggleEvent)},toggleEvent:function(c){var b;c.preventDefault();if(!screenMeta.links[this.id]){return}b=a("#"+screenMeta.links[this.id]);if(b.is(":visible")){screenMeta.close(b,a(this))}else{screenMeta.open(b,a(this))}},open:function(b,c){a(".screen-meta-toggle").not(c).css("visibility","hidden");b.slideDown("fast",function(){c.addClass("screen-meta-active")})},close:function(b,c){b.slideUp("fast",function(){c.removeClass("screen-meta-active");a(".screen-meta-toggle").css("visibility","")})}};a(document).ready(function(){var i=false,b,f,e,d,h,g=a('input[name="paged"]'),c;a("div.wrap h2:first").nextAll("div.updated, div.error").addClass("below-h2");a("div.updated, div.error").not(".below-h2, .inline").insertAfter(a("div.wrap h2:first"));screenMeta.init();h={doc:a(document),element:a("#user_info"),open:function(){if(!h.element.hasClass("active")){h.element.addClass("active");h.doc.one("click",h.close);return false}},close:function(){h.element.removeClass("active")}};h.element.click(h.open);a("tbody").children().children(".check-column").find(":checkbox").click(function(j){if("undefined"==j.shiftKey){return true}if(j.shiftKey){if(!i){return true}b=a(i).closest("form").find(":checkbox");f=b.index(i);e=b.index(this);d=a(this).prop("checked");if(0<f&&0<e&&f!=e){b.slice(f,e).prop("checked",function(){if(a(this).closest("tr").is(":visible")){return d}return false})}}i=this;return true});a("thead, tfoot").find(".check-column :checkbox").click(function(l){var m=a(this).prop("checked"),k="undefined"==typeof toggleWithKeyboard?false:toggleWithKeyboard,j=l.shiftKey||k;a(this).closest("table").children("tbody").filter(":visible").children().children(".check-column").find(":checkbox").prop("checked",function(){if(a(this).closest("tr").is(":hidden")){return false}if(j){return a(this).prop("checked")}else{if(m){return true}}return false});a(this).closest("table").children("thead, tfoot").filter(":visible").children().children(".check-column").find(":checkbox").prop("checked",function(){if(j){return false}else{if(m){return true}}return false})});a("#default-password-nag-no").click(function(){setUserSetting("default_password_nag","hide");a("div.default-password-nag").hide();return false});a("#newcontent").bind("keydown.wpevent_InsertTab",function(o){if(o.keyCode!=9){return true}var l=o.target,q=l.selectionStart,k=l.selectionEnd,p=l.value,j,n;try{this.lastKey=9}catch(m){}if(document.selection){l.focus();n=document.selection.createRange();n.text="\t"}else{if(q>=0){j=this.scrollTop;l.value=p.substring(0,q).concat("\t",p.substring(k));l.selectionStart=l.selectionEnd=q+1;this.scrollTop=j}}if(o.stopPropagation){o.stopPropagation()}if(o.preventDefault){o.preventDefault()}});a("#newcontent").bind("blur.wpevent_InsertTab",function(j){if(this.lastKey&&9==this.lastKey){this.focus()}});if(g.length){c=g.val();g.closest("form").submit(function(){if(g.val()==c){g.val("1")}})}});a(document).bind("wp_CloseOnEscape",function(c,b){if(typeof(b.cb)!="function"){return}if(typeof(b.condition)!="function"||b.condition()){b.cb()}return true})})(jQuery); \ No newline at end of file diff --git a/wp-admin/js/custom-background.dev.js b/wp-admin/js/custom-background.dev.js index 1a46d55d0..b4dbc6657 100644 --- a/wp-admin/js/custom-background.dev.js +++ b/wp-admin/js/custom-background.dev.js @@ -4,6 +4,10 @@ function pickColor(color) { farbtastic.setColor(color); jQuery('#background-color').val(color); jQuery('#custom-background-image').css('background-color', color); + if ( color && color !== '#' ) + jQuery('#clearcolor').show(); + else + jQuery('#clearcolor').hide(); } jQuery(document).ready(function() { @@ -12,6 +16,11 @@ jQuery(document).ready(function() { return false; }); + jQuery('#clearcolor a').click( function(e) { + pickColor(''); + e.preventDefault(); + }); + jQuery('#background-color').keyup(function() { var _hex = jQuery('#background-color').val(), hex = _hex; if ( hex.charAt(0) != '#' ) diff --git a/wp-admin/js/custom-background.js b/wp-admin/js/custom-background.js index d7aecbcdd..6cf8851bd 100644 --- a/wp-admin/js/custom-background.js +++ b/wp-admin/js/custom-background.js @@ -1 +1 @@ -var farbtastic;function pickColor(a){farbtastic.setColor(a);jQuery("#background-color").val(a);jQuery("#custom-background-image").css("background-color",a)}jQuery(document).ready(function(){jQuery("#pickcolor").click(function(){jQuery("#colorPickerDiv").show();return false});jQuery("#background-color").keyup(function(){var b=jQuery("#background-color").val(),a=b;if(a.charAt(0)!="#"){a="#"+a}a=a.replace(/[^#a-fA-F0-9]+/,"");if(a!=b){jQuery("#background-color").val(a)}if(a.length==4||a.length==7){pickColor(a)}});jQuery('input[name="background-position-x"]').change(function(){jQuery("#custom-background-image").css("background-position",jQuery(this).val()+" top")});jQuery('input[name="background-repeat"]').change(function(){jQuery("#custom-background-image").css("background-repeat",jQuery(this).val())});farbtastic=jQuery.farbtastic("#colorPickerDiv",function(a){pickColor(a)});pickColor(jQuery("#background-color").val());jQuery(document).mousedown(function(){jQuery("#colorPickerDiv").each(function(){var a=jQuery(this).css("display");if(a=="block"){jQuery(this).fadeOut(2)}})})}); \ No newline at end of file +var farbtastic;function pickColor(a){farbtastic.setColor(a);jQuery("#background-color").val(a);jQuery("#custom-background-image").css("background-color",a);if(a&&a!=="#"){jQuery("#clearcolor").show()}else{jQuery("#clearcolor").hide()}}jQuery(document).ready(function(){jQuery("#pickcolor").click(function(){jQuery("#colorPickerDiv").show();return false});jQuery("#clearcolor a").click(function(a){pickColor("");a.preventDefault()});jQuery("#background-color").keyup(function(){var b=jQuery("#background-color").val(),a=b;if(a.charAt(0)!="#"){a="#"+a}a=a.replace(/[^#a-fA-F0-9]+/,"");if(a!=b){jQuery("#background-color").val(a)}if(a.length==4||a.length==7){pickColor(a)}});jQuery('input[name="background-position-x"]').change(function(){jQuery("#custom-background-image").css("background-position",jQuery(this).val()+" top")});jQuery('input[name="background-repeat"]').change(function(){jQuery("#custom-background-image").css("background-repeat",jQuery(this).val())});farbtastic=jQuery.farbtastic("#colorPickerDiv",function(a){pickColor(a)});pickColor(jQuery("#background-color").val());jQuery(document).mousedown(function(){jQuery("#colorPickerDiv").each(function(){var a=jQuery(this).css("display");if(a=="block"){jQuery(this).fadeOut(2)}})})}); \ No newline at end of file diff --git a/wp-admin/js/custom-fields.dev.js b/wp-admin/js/custom-fields.dev.js index 70be83a8c..9eab21455 100644 --- a/wp-admin/js/custom-fields.dev.js +++ b/wp-admin/js/custom-fields.dev.js @@ -2,7 +2,7 @@ jQuery(document).ready( function($) { var before, addBefore, addAfter, delBefore; before = function() { - var nonce = $('#newmeta [name=_ajax_nonce]').val(), postId = $('#post_ID').val(); + var nonce = $('#newmeta [name="_ajax_nonce"]').val(), postId = $('#post_ID').val(); if ( !nonce || !postId ) { return false; } return [nonce,postId]; } diff --git a/wp-admin/js/custom-fields.js b/wp-admin/js/custom-fields.js index 48dad1e3a..dbe2f4816 100644 --- a/wp-admin/js/custom-fields.js +++ b/wp-admin/js/custom-fields.js @@ -1 +1 @@ -jQuery(document).ready(function(d){var c,b,e,a;c=function(){var g=d("#newmeta [name=_ajax_nonce]").val(),f=d("#post_ID").val();if(!g||!f){return false}return[g,f]};b=function(g){var f=c();if(!f){return false}g.data=g.data.replace(/_ajax_nonce=[a-f0-9]+/,"_ajax_nonce="+f[0])+"&post_id="+f[1];return g};e=function(j,i){var f=d("postid",j).text(),g;if(!f){return}d("#post_ID").attr("name","post_ID").val(f);g=d("#hiddenaction");if("post"==g.val()){g.val("postajaxpost")}};a=function(g){var f=c();if(!f){return false}g.data._ajax_nonce=f[0];g.data.post_id=f[1];return g};d("#the-list").wpList({addBefore:b,addAfter:e,delBefore:a}).find(".updatemeta, .deletemeta").attr("type","button")}); \ No newline at end of file +jQuery(document).ready(function(d){var c,b,e,a;c=function(){var g=d('#newmeta [name="_ajax_nonce"]').val(),f=d("#post_ID").val();if(!g||!f){return false}return[g,f]};b=function(g){var f=c();if(!f){return false}g.data=g.data.replace(/_ajax_nonce=[a-f0-9]+/,"_ajax_nonce="+f[0])+"&post_id="+f[1];return g};e=function(j,i){var f=d("postid",j).text(),g;if(!f){return}d("#post_ID").attr("name","post_ID").val(f);g=d("#hiddenaction");if("post"==g.val()){g.val("postajaxpost")}};a=function(g){var f=c();if(!f){return false}g.data._ajax_nonce=f[0];g.data.post_id=f[1];return g};d("#the-list").wpList({addBefore:b,addAfter:e,delBefore:a}).find(".updatemeta, .deletemeta").attr("type","button")}); \ No newline at end of file diff --git a/wp-admin/js/dashboard.dev.js b/wp-admin/js/dashboard.dev.js index a43ffe863..127a7bd62 100644 --- a/wp-admin/js/dashboard.dev.js +++ b/wp-admin/js/dashboard.dev.js @@ -6,12 +6,11 @@ jQuery(document).ready( function($) { 'dashboard_incoming_links', 'dashboard_primary', 'dashboard_secondary', - 'dashboard_plugins', - 'dashboard_quick_press' + 'dashboard_plugins' ]; ajaxPopulateWidgets = function(el) { - show = function(id, i) { + function show(i, id) { var p, e = $('#' + id + ' div.inside:visible').find('.widget-loading'); if ( e.length ) { p = e.parent(); @@ -19,21 +18,18 @@ jQuery(document).ready( function($) { p.load( ajaxurl.replace( '/admin-ajax.php', '' ) + '/index-extra.php?jax=' + id, '', function() { p.hide().slideDown('normal', function(){ $(this).css('display', ''); - if ( 'dashboard_quick_press' == id ) - quickPressLoad(); }); }); }, i * 500 ); } } + if ( el ) { el = el.toString(); if ( $.inArray(el, ajaxWidgets) != -1 ) - show(el, 0); + show(0, el); } else { - $.each( ajaxWidgets, function(i) { - show(this, i); - }); + $.each( ajaxWidgets, show ); } }; ajaxPopulateWidgets(); @@ -45,7 +41,7 @@ jQuery(document).ready( function($) { var act = $('#quickpost-action'), t; t = $('#quick-press').submit( function() { $('#dashboard_quick_press #publishing-action img.waiting').css('visibility', 'visible'); - $('#quick-press .submit input[type="submit"], #quick-press .submit input[type="reset"]').attr('disabled','disabled'); + $('#quick-press .submit input[type="submit"], #quick-press .submit input[type="reset"]').prop('disabled', true); if ( 'post' == act.val() ) { act.val( 'post-quickpress-publish' ); @@ -53,7 +49,7 @@ jQuery(document).ready( function($) { $('#dashboard_quick_press div.inside').load( t.attr( 'action' ), t.serializeArray(), function() { $('#dashboard_quick_press #publishing-action img.waiting').css('visibility', 'hidden'); - $('#quick-press .submit input[type="submit"], #quick-press .submit input[type="reset"]').attr('disabled',''); + $('#quick-press .submit input[type="submit"], #quick-press .submit input[type="reset"]').prop('disabled', false); $('#dashboard_quick_press ul').next('p').remove(); $('#dashboard_quick_press ul').find('li').each( function() { $('#dashboard_recent_drafts ul').prepend( this ); @@ -66,5 +62,6 @@ jQuery(document).ready( function($) { $('#publish').click( function() { act.val( 'post-quickpress-publish' ); } ); }; + quickPressLoad(); } ); diff --git a/wp-admin/js/dashboard.js b/wp-admin/js/dashboard.js index 922d083e1..bd836d1a5 100644 --- a/wp-admin/js/dashboard.js +++ b/wp-admin/js/dashboard.js @@ -1 +1 @@ -var ajaxWidgets,ajaxPopulateWidgets,quickPressLoad;jQuery(document).ready(function(a){ajaxWidgets=["dashboard_incoming_links","dashboard_primary","dashboard_secondary","dashboard_plugins","dashboard_quick_press"];ajaxPopulateWidgets=function(b){show=function(g,c){var f,d=a("#"+g+" div.inside:visible").find(".widget-loading");if(d.length){f=d.parent();setTimeout(function(){f.load(ajaxurl.replace("/admin-ajax.php","")+"/index-extra.php?jax="+g,"",function(){f.hide().slideDown("normal",function(){a(this).css("display","");if("dashboard_quick_press"==g){quickPressLoad()}})})},c*500)}};if(b){b=b.toString();if(a.inArray(b,ajaxWidgets)!=-1){show(b,0)}}else{a.each(ajaxWidgets,function(c){show(this,c)})}};ajaxPopulateWidgets();postboxes.add_postbox_toggles(pagenow,{pbshow:ajaxPopulateWidgets});quickPressLoad=function(){var b=a("#quickpost-action"),c;c=a("#quick-press").submit(function(){a("#dashboard_quick_press #publishing-action img.waiting").css("visibility","visible");a('#quick-press .submit input[type="submit"], #quick-press .submit input[type="reset"]').attr("disabled","disabled");if("post"==b.val()){b.val("post-quickpress-publish")}a("#dashboard_quick_press div.inside").load(c.attr("action"),c.serializeArray(),function(){a("#dashboard_quick_press #publishing-action img.waiting").css("visibility","hidden");a('#quick-press .submit input[type="submit"], #quick-press .submit input[type="reset"]').attr("disabled","");a("#dashboard_quick_press ul").next("p").remove();a("#dashboard_quick_press ul").find("li").each(function(){a("#dashboard_recent_drafts ul").prepend(this)}).end().remove();quickPressLoad()});return false});a("#publish").click(function(){b.val("post-quickpress-publish")})}}); \ No newline at end of file +var ajaxWidgets,ajaxPopulateWidgets,quickPressLoad;jQuery(document).ready(function(a){ajaxWidgets=["dashboard_incoming_links","dashboard_primary","dashboard_secondary","dashboard_plugins"];ajaxPopulateWidgets=function(c){function b(d,h){var g,f=a("#"+h+" div.inside:visible").find(".widget-loading");if(f.length){g=f.parent();setTimeout(function(){g.load(ajaxurl.replace("/admin-ajax.php","")+"/index-extra.php?jax="+h,"",function(){g.hide().slideDown("normal",function(){a(this).css("display","")})})},d*500)}}if(c){c=c.toString();if(a.inArray(c,ajaxWidgets)!=-1){b(0,c)}}else{a.each(ajaxWidgets,b)}};ajaxPopulateWidgets();postboxes.add_postbox_toggles(pagenow,{pbshow:ajaxPopulateWidgets});quickPressLoad=function(){var b=a("#quickpost-action"),c;c=a("#quick-press").submit(function(){a("#dashboard_quick_press #publishing-action img.waiting").css("visibility","visible");a('#quick-press .submit input[type="submit"], #quick-press .submit input[type="reset"]').prop("disabled",true);if("post"==b.val()){b.val("post-quickpress-publish")}a("#dashboard_quick_press div.inside").load(c.attr("action"),c.serializeArray(),function(){a("#dashboard_quick_press #publishing-action img.waiting").css("visibility","hidden");a('#quick-press .submit input[type="submit"], #quick-press .submit input[type="reset"]').prop("disabled",false);a("#dashboard_quick_press ul").next("p").remove();a("#dashboard_quick_press ul").find("li").each(function(){a("#dashboard_recent_drafts ul").prepend(this)}).end().remove();quickPressLoad()});return false});a("#publish").click(function(){b.val("post-quickpress-publish")})};quickPressLoad()}); \ No newline at end of file diff --git a/wp-admin/js/edit-comments.dev.js b/wp-admin/js/edit-comments.dev.js index b81b39797..7cffd564e 100644 --- a/wp-admin/js/edit-comments.dev.js +++ b/wp-admin/js/edit-comments.dev.js @@ -1,20 +1,31 @@ -var theList, theExtraList, toggleWithKeyboard = false; +var theList, theExtraList, toggleWithKeyboard = false, getCount, updateCount, updatePending, dashboardTotals; (function($) { setCommentsList = function() { - var totalInput, perPageInput, pageInput, lastConfidentTime = 0, dimAfter, delBefore, updateTotalCount, delAfter; + var totalInput, perPageInput, pageInput, lastConfidentTime = 0, dimAfter, delBefore, updateTotalCount, delAfter, refillTheExtraList; totalInput = $('input[name="_total"]', '#comments-form'); perPageInput = $('input[name="_per_page"]', '#comments-form'); pageInput = $('input[name="_page"]', '#comments-form'); dimAfter = function( r, settings ) { - var c = $('#' + settings.element); + var c = $('#' + settings.element), editRow, replyID, replyButton; - if ( c.is('.unapproved') ) - c.find('div.comment_status').html('0') - else - c.find('div.comment_status').html('1') + editRow = $('#replyrow'); + replyID = $('#comment_ID', editRow).val(); + replyButton = $('#replybtn', editRow); + + if ( c.is('.unapproved') ) { + if ( settings.data.id == replyID ) + replyButton.text(adminCommentsL10n.replyApprove); + + c.find('div.comment_status').html('0'); + } else { + if ( settings.data.id == replyID ) + replyButton.text(adminCommentsL10n.reply); + + c.find('div.comment_status').html('1'); + } $('span.pending-count').each( function() { var a = $(this), n, dif; @@ -24,7 +35,7 @@ setCommentsList = function() { dif = $('#' + settings.element).is('.' + settings.dimClass) ? 1 : -1; n = n + dif; if ( n < 0 ) { n = 0; } - a.closest('#awaiting-mod')[ 0 == n ? 'addClass' : 'removeClass' ]('count-0'); + a.closest('.awaiting-mod')[ 0 == n ? 'addClass' : 'removeClass' ]('count-0'); updateCount(a, n); dashboardTotals(); }); @@ -32,13 +43,13 @@ setCommentsList = function() { // Send current total, page, per_page and url delBefore = function( settings, list ) { - var cl = $(settings.target).attr('className'), id, el, n, h, a, author, action = false; + var cl = $(settings.target).attr('class'), id, el, n, h, a, author, action = false; settings.data._total = totalInput.val() || 0; settings.data._per_page = perPageInput.val() || 0; settings.data._page = pageInput.val() || 0; settings.data._url = document.location.href; - settings.data.comment_status = $('input[name=comment_status]', '#comments-form').val(); + settings.data.comment_status = $('input[name="comment_status"]', '#comments-form').val(); if ( cl.indexOf(':trash=1') != -1 ) action = 'trash'; @@ -50,7 +61,7 @@ setCommentsList = function() { el = $('#comment-' + id); note = $('#' + action + '-undo-holder').html(); - el.find('.check-column :checkbox').attr('checked', ''); // Uncheck the row so as not to be affected by Bulk Edits. + el.find('.check-column :checkbox').prop('checked', false); // Uncheck the row so as not to be affected by Bulk Edits. if ( el.siblings('#replyrow').length && commentReply.cid == id ) commentReply.close(); @@ -69,7 +80,7 @@ setCommentsList = function() { $('strong', '#undo-' + id).text(author + ' '); a = $('.undo a', '#undo-' + id); a.attr('href', 'comment.php?action=un' + action + 'comment&c=' + id + '&_wpnonce=' + settings.data._ajax_nonce); - a.attr('className', 'delete:the-comment-list:comment-' + id + '::un' + action + '=1 vim-z vim-destructive'); + a.attr('class', 'delete:the-comment-list:comment-' + id + '::un' + action + '=1 vim-z vim-destructive'); $('.avatar', el).clone().prependTo('#undo-' + id + ' .' + action + '-undo-inside'); a.click(function(){ @@ -99,7 +110,7 @@ setCommentsList = function() { }); }; - function dashboardTotals(n) { + dashboardTotals = function(n) { var dash = $('#dashboard_right_now'), total, appr, totalN, apprN; n = n || 0; @@ -115,16 +126,16 @@ setCommentsList = function() { updateCount(total, totalN); updateCount(appr, apprN); - } + }; - function getCount(el) { + getCount = function(el) { var n = parseInt( el.html().replace(/[^0-9]+/g, ''), 10 ); if ( isNaN(n) ) return 0; return n; - } + }; - function updateCount(el, n) { + updateCount = function(el, n) { var n1 = ''; if ( isNaN(n) ) return; @@ -137,11 +148,26 @@ setCommentsList = function() { n = n + n1; } el.html(n); - } + }; + + updatePending = function(n) { + $('span.pending-count').each( function() { + var a = $(this); + + if ( n < 0 ) + n = 0; + + a.closest('.awaiting-mod')[ 0 == n ? 'addClass' : 'removeClass' ]('count-0'); + updateCount(a, n); + dashboardTotals(); + }); + }; // In admin-ajax.php, we send back the unix time stamp instead of 1 on success delAfter = function( r, settings ) { - var total, pageLinks, N, untrash = $(settings.target).parent().is('span.untrash'), unspam = $(settings.target).parent().is('span.unspam'), spam, trash; + var total, N, untrash = $(settings.target).parent().is('span.untrash'), + unspam = $(settings.target).parent().is('span.unspam'), spam, trash, pending, + unapproved = $('#' + settings.element).is('.unapproved'); function getUpdate(s) { if ( $(settings.target).parent().is('span.' + s) ) @@ -151,6 +177,7 @@ setCommentsList = function() { return 0; } + spam = getUpdate('spam'); trash = getUpdate('trash'); @@ -159,19 +186,15 @@ setCommentsList = function() { if ( unspam ) spam = -1; - $('span.pending-count').each( function() { - var a = $(this), n = getCount(a), unapproved = $('#' + settings.element).is('.unapproved'); + pending = getCount( $('span.pending-count').eq(0) ); - if ( $(settings.target).parent().is('span.unapprove') || ( ( untrash || unspam ) && unapproved ) ) { // we "deleted" an approved comment from the approved list by clicking "Unapprove" - n = n + 1; - } else if ( unapproved ) { // we deleted a formerly unapproved comment - n = n - 1; - } - if ( n < 0 ) { n = 0; } - a.closest('#awaiting-mod')[ 0 == n ? 'addClass' : 'removeClass' ]('count-0'); - updateCount(a, n); - dashboardTotals(); - }); + if ( $(settings.target).parent().is('span.unapprove') || ( ( untrash || unspam ) && unapproved ) ) { // we "deleted" an approved comment from the approved list by clicking "Unapprove" + pending = pending + 1; + } else if ( unapproved ) { // we deleted a formerly unapproved comment + pending = pending - 1; + } + + updatePending(pending); $('span.spam-count').each( function() { var a = $(this), n = getCount(a) + spam; @@ -215,9 +238,8 @@ setCommentsList = function() { refillTheExtraList(); }; - var refillTheExtraList = function(ev) { - // var args = $.query.get(), total_pages = listTable.get_total_pages(), per_page = $('input[name=_per_page]', '#comments-form').val(), r; - var args = $.query.get(), total_pages = $('.total-pages').text(), per_page = $('input[name=_per_page]', '#comments-form').val(), r; + refillTheExtraList = function(ev) { + var args = $.query.get(), total_pages = $('.total-pages').text(), per_page = $('input[name="_per_page"]', '#comments-form').val(); if (! args.paged) args.paged = 1; @@ -267,7 +289,6 @@ setCommentsList = function() { if ( s.target.className.indexOf(':trash=1') != -1 || s.target.className.indexOf(':spam=1') != -1 ) $('#undo-' + id).fadeIn(300, function(){ $(this).show() }); }); - // $(listTable).bind('changePage', refillTheExtraList); }; commentReply = { @@ -355,7 +376,8 @@ commentReply = { }, open : function(id, p, a) { - var t = this, editRow, rowData, act, h, c = $('#comment-' + id); + var t = this, editRow, rowData, act, h, c = $('#comment-' + id), replyButton; + t.close(); t.cid = id; @@ -387,22 +409,20 @@ commentReply = { $('#replyrow').fadeIn(300, function(){ $(this).show() }); }); } else { + replyButton = $('#replybtn', editRow); $('#edithead, #savebtn', editRow).hide(); $('#replyhead, #replybtn', editRow).show(); c.after(editRow); + + if ( c.hasClass('unapproved') ) { + replyButton.text(adminCommentsL10n.replyApprove); + } else { + replyButton.text(adminCommentsL10n.reply); + } + $('#replyrow').fadeIn(300, function(){ $(this).show() }); } - if ( ! $.browser.msie ) - $('#replycontainer').resizable({ - handles : 's', - axis : 'y', - minHeight : 80, - stop : function() { - $('#replycontainer').width('auto'); - } - }); - setTimeout(function() { var rtop, rbottom, scrollTop, vp, scrollBottom; @@ -432,14 +452,17 @@ commentReply = { $('#replysubmit .error').hide(); $('#replysubmit .waiting').show(); - $('#replyrow input').each(function() { + $('#replyrow input').not(':button').each(function() { post[ $(this).attr('name') ] = $(this).val(); }); post.content = $('#replycontent').val(); post.id = post.comment_post_ID; post.comments_listing = this.comments_listing; - post.p = $('[name=p]').val(); + post.p = $('[name="p"]').val(); + + if ( $('#comment-' + $('#comment_ID').val()).hasClass('unapproved') ) + post.approve_parent = 1; $.ajax({ type : 'POST', @@ -453,37 +476,55 @@ commentReply = { }, show : function(xml) { - var r, c, id, bg; + var t = this, r, c, id, bg, pid; + + t.revert(); if ( typeof(xml) == 'string' ) { - this.error({'responseText': xml}); + t.error({'responseText': xml}); return false; } r = wpAjax.parseAjaxResponse(xml); if ( r.errors ) { - this.error({'responseText': wpAjax.broken}); + t.error({'responseText': wpAjax.broken}); return false; } r = r.responses[0]; c = r.data; id = '#comment-' + r.id; - if ( 'edit-comment' == this.act ) + if ( 'edit-comment' == t.act ) $(id).remove(); - $(c).hide() - $('#replyrow').after(c); + if ( r.supplemental.parent_approved ) { + pid = $('#comment-' + r.supplemental.parent_approved); + updatePending( getCount( $('span.pending-count').eq(0) ) - 1 ); - this.revert(); - this.addEvents($(id)); - bg = $(id).hasClass('unapproved') ? '#ffffe0' : '#fff'; + if ( this.comments_listing == 'moderated' ) { + pid.animate( { 'backgroundColor':'#CCEEBB' }, 400, function(){ + pid.fadeOut(); + }); + return; + } + } - $(id) - .animate( { 'backgroundColor':'#CCEEBB' }, 600 ) - .animate( { 'backgroundColor': bg }, 600 ); + $(c).hide() + $('#replyrow').after(c); + id = $(id); + t.addEvents(id); + bg = id.hasClass('unapproved') ? '#FFFFE0' : id.closest('.widefat').css('backgroundColor'); + + id.animate( { 'backgroundColor':'#CCEEBB' }, 300 ) + .animate( { 'backgroundColor': bg }, 300, function() { + if ( pid && pid.length ) { + pid.animate( { 'backgroundColor':'#CCEEBB' }, 300 ) + .animate( { 'backgroundColor': bg }, 300 ) + .removeClass('unapproved').addClass('approved') + .find('div.comment_status').html('1'); + } + }); - // $.fn.wpList.process($(id)); }, error : function(r) { @@ -508,7 +549,7 @@ $(document).ready(function(){ $(document).delegate('span.delete a.delete', 'click', function(){return false;}); if ( typeof QTags != 'undefined' ) - ed_reply = new QTags('ed_reply', 'replycontent', 'replycontainer', 'more'); + ed_reply = new QTags('ed_reply', 'replycontent', 'replycontainer', 'more,fullscreen'); if ( typeof $.table_hotkeys != 'undefined' ) { make_hotkeys_redirect = function(which) { @@ -528,14 +569,14 @@ $(document).ready(function(){ toggle_all = function() { toggleWithKeyboard = true; - $('input:checkbox', '#cb').click().attr('checked', ''); + $('input:checkbox', '#cb').click().prop('checked', false); toggleWithKeyboard = false; }; make_bulk = function(value) { return function() { var scope = $('select[name="action"]'); - $('option[value='+value+']', scope).attr('selected', 'selected'); + $('option[value="' + value + '"]', scope).prop('selected', true); $('#doaction').click(); } }; diff --git a/wp-admin/js/edit-comments.js b/wp-admin/js/edit-comments.js index 365768556..c7c417ced 100644 --- a/wp-admin/js/edit-comments.js +++ b/wp-admin/js/edit-comments.js @@ -1 +1 @@ -var theList,theExtraList,toggleWithKeyboard=false;(function(a){setCommentsList=function(){var d,f,i,m=0,h,j,e,l;d=a('input[name="_total"]',"#comments-form");f=a('input[name="_per_page"]',"#comments-form");i=a('input[name="_page"]',"#comments-form");h=function(o,n){var p=a("#"+n.element);if(p.is(".unapproved")){p.find("div.comment_status").html("0")}else{p.find("div.comment_status").html("1")}a("span.pending-count").each(function(){var q=a(this),s,r;s=q.html().replace(/[^0-9]+/g,"");s=parseInt(s,10);if(isNaN(s)){return}r=a("#"+n.element).is("."+n.dimClass)?1:-1;s=s+r;if(s<0){s=0}q.closest("#awaiting-mod")[0==s?"addClass":"removeClass"]("count-0");g(q,s);k()})};j=function(r,v){var x=a(r.target).attr("className"),o,p,q,u,w,t,s=false;r.data._total=d.val()||0;r.data._per_page=f.val()||0;r.data._page=i.val()||0;r.data._url=document.location.href;r.data.comment_status=a("input[name=comment_status]","#comments-form").val();if(x.indexOf(":trash=1")!=-1){s="trash"}else{if(x.indexOf(":spam=1")!=-1){s="spam"}}if(s){o=x.replace(/.*?comment-([0-9]+).*/,"$1");p=a("#comment-"+o);note=a("#"+s+"-undo-holder").html();p.find(".check-column :checkbox").attr("checked","");if(p.siblings("#replyrow").length&&commentReply.cid==o){commentReply.close()}if(p.is("tr")){q=p.children(":visible").length;t=a(".author strong",p).text();u=a('<tr id="undo-'+o+'" class="undo un'+s+'" style="display:none;"><td colspan="'+q+'">'+note+"</td></tr>")}else{t=a(".comment-author",p).text();u=a('<div id="undo-'+o+'" style="display:none;" class="undo un'+s+'">'+note+"</div>")}p.before(u);a("strong","#undo-"+o).text(t+" ");w=a(".undo a","#undo-"+o);w.attr("href","comment.php?action=un"+s+"comment&c="+o+"&_wpnonce="+r.data._ajax_nonce);w.attr("className","delete:the-comment-list:comment-"+o+"::un"+s+"=1 vim-z vim-destructive");a(".avatar",p).clone().prependTo("#undo-"+o+" ."+s+"-undo-inside");w.click(function(){v.wpList.del(this);a("#undo-"+o).css({backgroundColor:"#ceb"}).fadeOut(350,function(){a(this).remove();a("#comment-"+o).css("backgroundColor","").fadeIn(300,function(){a(this).show()})});return false})}return r};e=function(n,o,p){if(o<m){return}if(p){m=o}d.val(n.toString());a("span.total-type-count").each(function(){g(a(this),n)})};function k(t){var s=a("#dashboard_right_now"),p,r,q,o;t=t||0;if(isNaN(t)||!s.length){return}p=a("span.total-count",s);r=a("span.approved-count",s);q=c(p);q=q+t;o=q-c(a("span.pending-count",s))-c(a("span.spam-count",s));g(p,q);g(r,o)}function c(o){var p=parseInt(o.html().replace(/[^0-9]+/g,""),10);if(isNaN(p)){return 0}return p}function g(p,q){var o="";if(isNaN(q)){return}q=q<1?"0":q.toString();if(q.length>3){while(q.length>3){o=thousandsSeparator+q.substr(q.length-3)+o;q=q.substr(0,q.length-3)}q=q+o}p.html(q)}l=function(n,p){var u,q,s,w=a(p.target).parent().is("span.untrash"),o=a(p.target).parent().is("span.unspam"),v,t;function x(r){if(a(p.target).parent().is("span."+r)){return 1}else{if(a("#"+p.element).is("."+r)){return -1}}return 0}v=x("spam");t=x("trash");if(w){t=-1}if(o){v=-1}a("span.pending-count").each(function(){var r=a(this),z=c(r),y=a("#"+p.element).is(".unapproved");if(a(p.target).parent().is("span.unapprove")||((w||o)&&y)){z=z+1}else{if(y){z=z-1}}if(z<0){z=0}r.closest("#awaiting-mod")[0==z?"addClass":"removeClass"]("count-0");g(r,z);k()});a("span.spam-count").each(function(){var r=a(this),y=c(r)+v;g(r,y)});a("span.trash-count").each(function(){var r=a(this),y=c(r)+t;g(r,y)});if(a("#dashboard_right_now").length){s=t?-1*t:0;k(s)}else{u=d.val()?parseInt(d.val(),10):0;u=u-v-t;if(u<0){u=0}if(("object"==typeof n)&&m<p.parsed.responses[0].supplemental.time){total_items_i18n=p.parsed.responses[0].supplemental.total_items_i18n||"";if(total_items_i18n){a(".displaying-num").text(total_items_i18n);a(".total-pages").text(p.parsed.responses[0].supplemental.total_pages_i18n);a(".tablenav-pages").find(".next-page, .last-page").toggleClass("disabled",p.parsed.responses[0].supplemental.total_pages==a(".current-page").val())}e(u,p.parsed.responses[0].supplemental.time,true)}else{e(u,n,false)}}if(!theExtraList||theExtraList.size()==0||theExtraList.children().size()==0||w||o){return}theList.get(0).wpList.add(theExtraList.children(":eq(0)").remove().clone());b()};var b=function(s){var o=a.query.get(),n=a(".total-pages").text(),p=a("input[name=_per_page]","#comments-form").val(),q;if(!o.paged){o.paged=1}if(o.paged>n){return}if(s){theExtraList.empty();o.number=Math.min(8,p)}else{o.number=1;o.offset=Math.min(8,p)-1}o.no_placeholder=true;o.paged++;if(true===o.comment_type){o.comment_type=""}o=a.extend(o,{action:"fetch-list",list_args:list_args,_ajax_fetch_list_nonce:a("#_ajax_fetch_list_nonce").val()});a.ajax({url:ajaxurl,global:false,dataType:"json",data:o,success:function(r){theExtraList.get(0).wpList.add(r.rows)}})};theExtraList=a("#the-extra-comment-list").wpList({alt:"",delColor:"none",addColor:"none"});theList=a("#the-comment-list").wpList({alt:"",delBefore:j,dimAfter:h,delAfter:l,addColor:"none"}).bind("wpListDelEnd",function(o,n){var p=n.element.replace(/[^0-9]+/g,"");if(n.target.className.indexOf(":trash=1")!=-1||n.target.className.indexOf(":spam=1")!=-1){a("#undo-"+p).fadeIn(300,function(){a(this).show()})}})};commentReply={cid:"",act:"",init:function(){var b=a("#replyrow");a("a.cancel",b).click(function(){return commentReply.revert()});a("a.save",b).click(function(){return commentReply.send()});a("input#author, input#author-email, input#author-url",b).keypress(function(c){if(c.which==13){commentReply.send();c.preventDefault();return false}});a("#the-comment-list .column-comment > p").dblclick(function(){commentReply.toggle(a(this).parent())});a("#doaction, #doaction2, #post-query-submit").click(function(c){if(a("#the-comment-list #replyrow").length>0){commentReply.close()}});this.comments_listing=a('#comments-form > input[name="comment_status"]').val()||""},addEvents:function(b){b.each(function(){a(this).find(".column-comment > p").dblclick(function(){commentReply.toggle(a(this).parent())})})},toggle:function(b){if(a(b).css("display")!="none"){a(b).find("a.vim-q").click()}},revert:function(){if(a("#the-comment-list #replyrow").length<1){return false}a("#replyrow").fadeOut("fast",function(){commentReply.close()});return false},close:function(){var b;if(this.cid){b=a("#comment-"+this.cid);if(this.act=="edit-comment"){b.fadeIn(300,function(){b.show()}).css("backgroundColor","")}a("#replyrow").hide();a("#com-reply").append(a("#replyrow"));a("#replycontent").val("");a("input","#edithead").val("");a(".error","#replysubmit").html("").hide();a(".waiting","#replysubmit").hide();if(a.browser.msie){a("#replycontainer, #replycontent").css("height","120px")}else{a("#replycontainer").resizable("destroy").css("height","120px")}this.cid=""}},open:function(b,d,k){var l=this,e,f,i,g,j=a("#comment-"+b);l.close();l.cid=b;e=a("#replyrow");f=a("#inline-"+b);i=l.act=(k=="edit")?"edit-comment":"replyto-comment";a("#action",e).val(i);a("#comment_post_ID",e).val(d);a("#comment_ID",e).val(b);if(k=="edit"){a("#author",e).val(a("div.author",f).text());a("#author-email",e).val(a("div.author-email",f).text());a("#author-url",e).val(a("div.author-url",f).text());a("#status",e).val(a("div.comment_status",f).text());a("#replycontent",e).val(a("textarea.comment",f).val());a("#edithead, #savebtn",e).show();a("#replyhead, #replybtn",e).hide();g=j.height();if(g>220){if(a.browser.msie){a("#replycontainer, #replycontent",e).height(g-105)}else{a("#replycontainer",e).height(g-105)}}j.after(e).fadeOut("fast",function(){a("#replyrow").fadeIn(300,function(){a(this).show()})})}else{a("#edithead, #savebtn",e).hide();a("#replyhead, #replybtn",e).show();j.after(e);a("#replyrow").fadeIn(300,function(){a(this).show()})}if(!a.browser.msie){a("#replycontainer").resizable({handles:"s",axis:"y",minHeight:80,stop:function(){a("#replycontainer").width("auto")}})}setTimeout(function(){var n,h,o,c,m;n=a("#replyrow").offset().top;h=n+a("#replyrow").height();o=window.pageYOffset||document.documentElement.scrollTop;c=document.documentElement.clientHeight||self.innerHeight||0;m=o+c;if(m-20<h){window.scroll(0,h-c+35)}else{if(n-20<o){window.scroll(0,n-35)}}a("#replycontent").focus().keyup(function(p){if(p.which==27){commentReply.revert()}})},600);return false},send:function(){var b={};a("#replysubmit .error").hide();a("#replysubmit .waiting").show();a("#replyrow input").each(function(){b[a(this).attr("name")]=a(this).val()});b.content=a("#replycontent").val();b.id=b.comment_post_ID;b.comments_listing=this.comments_listing;b.p=a("[name=p]").val();a.ajax({type:"POST",url:ajaxurl,data:b,success:function(c){commentReply.show(c)},error:function(c){commentReply.error(c)}});return false},show:function(b){var e,g,f,d;if(typeof(b)=="string"){this.error({responseText:b});return false}e=wpAjax.parseAjaxResponse(b);if(e.errors){this.error({responseText:wpAjax.broken});return false}e=e.responses[0];g=e.data;f="#comment-"+e.id;if("edit-comment"==this.act){a(f).remove()}a(g).hide();a("#replyrow").after(g);this.revert();this.addEvents(a(f));d=a(f).hasClass("unapproved")?"#ffffe0":"#fff";a(f).animate({backgroundColor:"#CCEEBB"},600).animate({backgroundColor:d},600)},error:function(b){var c=b.statusText;a("#replysubmit .waiting").hide();if(b.responseText){c=b.responseText.replace(/<.[^<>]*?>/g,"")}if(c){a("#replysubmit .error").html(c).show()}}};a(document).ready(function(){var e,b,c,d;setCommentsList();commentReply.init();a(document).delegate("span.delete a.delete","click",function(){return false});if(typeof QTags!="undefined"){ed_reply=new QTags("ed_reply","replycontent","replycontainer","more")}if(typeof a.table_hotkeys!="undefined"){e=function(f){return function(){var h,g;h="next"==f?"first":"last";g=a(".tablenav-pages ."+f+"-page:not(.disabled)");if(g.length){window.location=g[0].href.replace(/\&hotkeys_highlight_(first|last)=1/g,"")+"&hotkeys_highlight_"+h+"=1"}}};b=function(g,f){window.location=a("span.edit a",f).attr("href")};c=function(){toggleWithKeyboard=true;a("input:checkbox","#cb").click().attr("checked","");toggleWithKeyboard=false};d=function(f){return function(){var g=a('select[name="action"]');a("option[value="+f+"]",g).attr("selected","selected");a("#doaction").click()}};a.table_hotkeys(a("table.widefat"),["a","u","s","d","r","q","z",["e",b],["shift+x",c],["shift+a",d("approve")],["shift+s",d("spam")],["shift+d",d("delete")],["shift+t",d("trash")],["shift+z",d("untrash")],["shift+u",d("unapprove")]],{highlight_first:adminCommentsL10n.hotkeys_highlight_first,highlight_last:adminCommentsL10n.hotkeys_highlight_last,prev_page_link_cb:e("prev"),next_page_link_cb:e("next")})}})})(jQuery); \ No newline at end of file +var theList,theExtraList,toggleWithKeyboard=false,getCount,updateCount,updatePending,dashboardTotals;(function(a){setCommentsList=function(){var c,e,g,j=0,f,h,d,i,b;c=a('input[name="_total"]',"#comments-form");e=a('input[name="_per_page"]',"#comments-form");g=a('input[name="_page"]',"#comments-form");f=function(n,l){var p=a("#"+l.element),k,o,m;k=a("#replyrow");o=a("#comment_ID",k).val();m=a("#replybtn",k);if(p.is(".unapproved")){if(l.data.id==o){m.text(adminCommentsL10n.replyApprove)}p.find("div.comment_status").html("0")}else{if(l.data.id==o){m.text(adminCommentsL10n.reply)}p.find("div.comment_status").html("1")}a("span.pending-count").each(function(){var q=a(this),s,r;s=q.html().replace(/[^0-9]+/g,"");s=parseInt(s,10);if(isNaN(s)){return}r=a("#"+l.element).is("."+l.dimClass)?1:-1;s=s+r;if(s<0){s=0}q.closest(".awaiting-mod")[0==s?"addClass":"removeClass"]("count-0");updateCount(q,s);dashboardTotals()})};h=function(o,s){var u=a(o.target).attr("class"),k,l,m,r,t,q,p=false;o.data._total=c.val()||0;o.data._per_page=e.val()||0;o.data._page=g.val()||0;o.data._url=document.location.href;o.data.comment_status=a('input[name="comment_status"]',"#comments-form").val();if(u.indexOf(":trash=1")!=-1){p="trash"}else{if(u.indexOf(":spam=1")!=-1){p="spam"}}if(p){k=u.replace(/.*?comment-([0-9]+).*/,"$1");l=a("#comment-"+k);note=a("#"+p+"-undo-holder").html();l.find(".check-column :checkbox").prop("checked",false);if(l.siblings("#replyrow").length&&commentReply.cid==k){commentReply.close()}if(l.is("tr")){m=l.children(":visible").length;q=a(".author strong",l).text();r=a('<tr id="undo-'+k+'" class="undo un'+p+'" style="display:none;"><td colspan="'+m+'">'+note+"</td></tr>")}else{q=a(".comment-author",l).text();r=a('<div id="undo-'+k+'" style="display:none;" class="undo un'+p+'">'+note+"</div>")}l.before(r);a("strong","#undo-"+k).text(q+" ");t=a(".undo a","#undo-"+k);t.attr("href","comment.php?action=un"+p+"comment&c="+k+"&_wpnonce="+o.data._ajax_nonce);t.attr("class","delete:the-comment-list:comment-"+k+"::un"+p+"=1 vim-z vim-destructive");a(".avatar",l).clone().prependTo("#undo-"+k+" ."+p+"-undo-inside");t.click(function(){s.wpList.del(this);a("#undo-"+k).css({backgroundColor:"#ceb"}).fadeOut(350,function(){a(this).remove();a("#comment-"+k).css("backgroundColor","").fadeIn(300,function(){a(this).show()})});return false})}return o};d=function(k,l,m){if(l<j){return}if(m){j=l}c.val(k.toString());a("span.total-type-count").each(function(){updateCount(a(this),k)})};dashboardTotals=function(q){var p=a("#dashboard_right_now"),l,o,m,k;q=q||0;if(isNaN(q)||!p.length){return}l=a("span.total-count",p);o=a("span.approved-count",p);m=getCount(l);m=m+q;k=m-getCount(a("span.pending-count",p))-getCount(a("span.spam-count",p));updateCount(l,m);updateCount(o,k)};getCount=function(k){var l=parseInt(k.html().replace(/[^0-9]+/g,""),10);if(isNaN(l)){return 0}return l};updateCount=function(l,m){var k="";if(isNaN(m)){return}m=m<1?"0":m.toString();if(m.length>3){while(m.length>3){k=thousandsSeparator+m.substr(m.length-3)+k;m=m.substr(0,m.length-3)}m=m+k}l.html(m)};updatePending=function(k){a("span.pending-count").each(function(){var l=a(this);if(k<0){k=0}l.closest(".awaiting-mod")[0==k?"addClass":"removeClass"]("count-0");updateCount(l,k);dashboardTotals()})};i=function(k,n){var q,o,u=a(n.target).parent().is("span.untrash"),m=a(n.target).parent().is("span.unspam"),t,s,l,p=a("#"+n.element).is(".unapproved");function v(r){if(a(n.target).parent().is("span."+r)){return 1}else{if(a("#"+n.element).is("."+r)){return -1}}return 0}t=v("spam");s=v("trash");if(u){s=-1}if(m){t=-1}l=getCount(a("span.pending-count").eq(0));if(a(n.target).parent().is("span.unapprove")||((u||m)&&p)){l=l+1}else{if(p){l=l-1}}updatePending(l);a("span.spam-count").each(function(){var r=a(this),w=getCount(r)+t;updateCount(r,w)});a("span.trash-count").each(function(){var r=a(this),w=getCount(r)+s;updateCount(r,w)});if(a("#dashboard_right_now").length){o=s?-1*s:0;dashboardTotals(o)}else{q=c.val()?parseInt(c.val(),10):0;q=q-t-s;if(q<0){q=0}if(("object"==typeof k)&&j<n.parsed.responses[0].supplemental.time){total_items_i18n=n.parsed.responses[0].supplemental.total_items_i18n||"";if(total_items_i18n){a(".displaying-num").text(total_items_i18n);a(".total-pages").text(n.parsed.responses[0].supplemental.total_pages_i18n);a(".tablenav-pages").find(".next-page, .last-page").toggleClass("disabled",n.parsed.responses[0].supplemental.total_pages==a(".current-page").val())}d(q,n.parsed.responses[0].supplemental.time,true)}else{d(q,k,false)}}if(!theExtraList||theExtraList.size()==0||theExtraList.children().size()==0||u||m){return}theList.get(0).wpList.add(theExtraList.children(":eq(0)").remove().clone());b()};b=function(n){var l=a.query.get(),k=a(".total-pages").text(),m=a('input[name="_per_page"]',"#comments-form").val();if(!l.paged){l.paged=1}if(l.paged>k){return}if(n){theExtraList.empty();l.number=Math.min(8,m)}else{l.number=1;l.offset=Math.min(8,m)-1}l.no_placeholder=true;l.paged++;if(true===l.comment_type){l.comment_type=""}l=a.extend(l,{action:"fetch-list",list_args:list_args,_ajax_fetch_list_nonce:a("#_ajax_fetch_list_nonce").val()});a.ajax({url:ajaxurl,global:false,dataType:"json",data:l,success:function(o){theExtraList.get(0).wpList.add(o.rows)}})};theExtraList=a("#the-extra-comment-list").wpList({alt:"",delColor:"none",addColor:"none"});theList=a("#the-comment-list").wpList({alt:"",delBefore:h,dimAfter:f,delAfter:i,addColor:"none"}).bind("wpListDelEnd",function(l,k){var m=k.element.replace(/[^0-9]+/g,"");if(k.target.className.indexOf(":trash=1")!=-1||k.target.className.indexOf(":spam=1")!=-1){a("#undo-"+m).fadeIn(300,function(){a(this).show()})}})};commentReply={cid:"",act:"",init:function(){var b=a("#replyrow");a("a.cancel",b).click(function(){return commentReply.revert()});a("a.save",b).click(function(){return commentReply.send()});a("input#author, input#author-email, input#author-url",b).keypress(function(c){if(c.which==13){commentReply.send();c.preventDefault();return false}});a("#the-comment-list .column-comment > p").dblclick(function(){commentReply.toggle(a(this).parent())});a("#doaction, #doaction2, #post-query-submit").click(function(c){if(a("#the-comment-list #replyrow").length>0){commentReply.close()}});this.comments_listing=a('#comments-form > input[name="comment_status"]').val()||""},addEvents:function(b){b.each(function(){a(this).find(".column-comment > p").dblclick(function(){commentReply.toggle(a(this).parent())})})},toggle:function(b){if(a(b).css("display")!="none"){a(b).find("a.vim-q").click()}},revert:function(){if(a("#the-comment-list #replyrow").length<1){return false}a("#replyrow").fadeOut("fast",function(){commentReply.close()});return false},close:function(){var b;if(this.cid){b=a("#comment-"+this.cid);if(this.act=="edit-comment"){b.fadeIn(300,function(){b.show()}).css("backgroundColor","")}a("#replyrow").hide();a("#com-reply").append(a("#replyrow"));a("#replycontent").val("");a("input","#edithead").val("");a(".error","#replysubmit").html("").hide();a(".waiting","#replysubmit").hide();if(a.browser.msie){a("#replycontainer, #replycontent").css("height","120px")}else{a("#replycontainer").resizable("destroy").css("height","120px")}this.cid=""}},open:function(b,d,k){var m=this,e,f,i,g,j=a("#comment-"+b),l;m.close();m.cid=b;e=a("#replyrow");f=a("#inline-"+b);i=m.act=(k=="edit")?"edit-comment":"replyto-comment";a("#action",e).val(i);a("#comment_post_ID",e).val(d);a("#comment_ID",e).val(b);if(k=="edit"){a("#author",e).val(a("div.author",f).text());a("#author-email",e).val(a("div.author-email",f).text());a("#author-url",e).val(a("div.author-url",f).text());a("#status",e).val(a("div.comment_status",f).text());a("#replycontent",e).val(a("textarea.comment",f).val());a("#edithead, #savebtn",e).show();a("#replyhead, #replybtn",e).hide();g=j.height();if(g>220){if(a.browser.msie){a("#replycontainer, #replycontent",e).height(g-105)}else{a("#replycontainer",e).height(g-105)}}j.after(e).fadeOut("fast",function(){a("#replyrow").fadeIn(300,function(){a(this).show()})})}else{l=a("#replybtn",e);a("#edithead, #savebtn",e).hide();a("#replyhead, #replybtn",e).show();j.after(e);if(j.hasClass("unapproved")){l.text(adminCommentsL10n.replyApprove)}else{l.text(adminCommentsL10n.reply)}a("#replyrow").fadeIn(300,function(){a(this).show()})}setTimeout(function(){var o,h,p,c,n;o=a("#replyrow").offset().top;h=o+a("#replyrow").height();p=window.pageYOffset||document.documentElement.scrollTop;c=document.documentElement.clientHeight||self.innerHeight||0;n=p+c;if(n-20<h){window.scroll(0,h-c+35)}else{if(o-20<p){window.scroll(0,o-35)}}a("#replycontent").focus().keyup(function(q){if(q.which==27){commentReply.revert()}})},600);return false},send:function(){var b={};a("#replysubmit .error").hide();a("#replysubmit .waiting").show();a("#replyrow input").not(":button").each(function(){b[a(this).attr("name")]=a(this).val()});b.content=a("#replycontent").val();b.id=b.comment_post_ID;b.comments_listing=this.comments_listing;b.p=a('[name="p"]').val();if(a("#comment-"+a("#comment_ID").val()).hasClass("unapproved")){b.approve_parent=1}a.ajax({type:"POST",url:ajaxurl,data:b,success:function(c){commentReply.show(c)},error:function(c){commentReply.error(c)}});return false},show:function(d){var f=this,g,i,h,e,b;f.revert();if(typeof(d)=="string"){f.error({responseText:d});return false}g=wpAjax.parseAjaxResponse(d);if(g.errors){f.error({responseText:wpAjax.broken});return false}g=g.responses[0];i=g.data;h="#comment-"+g.id;if("edit-comment"==f.act){a(h).remove()}if(g.supplemental.parent_approved){b=a("#comment-"+g.supplemental.parent_approved);updatePending(getCount(a("span.pending-count").eq(0))-1);if(this.comments_listing=="moderated"){b.animate({backgroundColor:"#CCEEBB"},400,function(){b.fadeOut()});return}}a(i).hide();a("#replyrow").after(i);h=a(h);f.addEvents(h);e=h.hasClass("unapproved")?"#FFFFE0":h.closest(".widefat").css("backgroundColor");h.animate({backgroundColor:"#CCEEBB"},300).animate({backgroundColor:e},300,function(){if(b&&b.length){b.animate({backgroundColor:"#CCEEBB"},300).animate({backgroundColor:e},300).removeClass("unapproved").addClass("approved").find("div.comment_status").html("1")}})},error:function(b){var c=b.statusText;a("#replysubmit .waiting").hide();if(b.responseText){c=b.responseText.replace(/<.[^<>]*?>/g,"")}if(c){a("#replysubmit .error").html(c).show()}}};a(document).ready(function(){var e,b,c,d;setCommentsList();commentReply.init();a(document).delegate("span.delete a.delete","click",function(){return false});if(typeof QTags!="undefined"){ed_reply=new QTags("ed_reply","replycontent","replycontainer","more,fullscreen")}if(typeof a.table_hotkeys!="undefined"){e=function(f){return function(){var h,g;h="next"==f?"first":"last";g=a(".tablenav-pages ."+f+"-page:not(.disabled)");if(g.length){window.location=g[0].href.replace(/\&hotkeys_highlight_(first|last)=1/g,"")+"&hotkeys_highlight_"+h+"=1"}}};b=function(g,f){window.location=a("span.edit a",f).attr("href")};c=function(){toggleWithKeyboard=true;a("input:checkbox","#cb").click().prop("checked",false);toggleWithKeyboard=false};d=function(f){return function(){var g=a('select[name="action"]');a('option[value="'+f+'"]',g).prop("selected",true);a("#doaction").click()}};a.table_hotkeys(a("table.widefat"),["a","u","s","d","r","q","z",["e",b],["shift+x",c],["shift+a",d("approve")],["shift+s",d("spam")],["shift+d",d("delete")],["shift+t",d("trash")],["shift+z",d("untrash")],["shift+u",d("unapprove")]],{highlight_first:adminCommentsL10n.hotkeys_highlight_first,highlight_last:adminCommentsL10n.hotkeys_highlight_last,prev_page_link_cb:e("prev"),next_page_link_cb:e("next")})}})})(jQuery); \ No newline at end of file diff --git a/wp-admin/js/editor.dev.js b/wp-admin/js/editor.dev.js index cf5827921..2271bdb38 100644 --- a/wp-admin/js/editor.dev.js +++ b/wp-admin/js/editor.dev.js @@ -135,7 +135,7 @@ var switchEditors = { }, _wp_Autop : function(pee) { - var blocklist = 'table|thead|tfoot|caption|col|colgroup|tbody|tr|td|th|div|dl|dd|dt|ul|ol|li|pre|select|form|blockquote|address|math|p|h[1-6]|fieldset|legend|hr'; + var blocklist = 'table|thead|tfoot|tbody|tr|td|th|caption|col|colgroup|div|dl|dd|dt|ul|ol|li|pre|select|form|blockquote|address|math|p|h[1-6]|fieldset|legend|hr|noscript|menu|samp|header|footer|article|section|hgroup|nav|aside|details|summary'; if ( pee.indexOf('<object') != -1 ) { pee = pee.replace(/<object[\s\S]+?<\/object>/g, function(a){ diff --git a/wp-admin/js/editor.js b/wp-admin/js/editor.js index a37f60528..c3e342a9c 100644 --- a/wp-admin/js/editor.js +++ b/wp-admin/js/editor.js @@ -1 +1 @@ -jQuery(document).ready(function(b){var a=wpCookies.getHash("TinyMCE_content_size");if(getUserSetting("editor")=="html"){if(a){b("#content").css("height",a.ch-15+"px")}}else{if(typeof tinyMCE!="object"){b("#content").css("color","#000")}else{b("#quicktags").hide()}}});var switchEditors={mode:"",I:function(a){return document.getElementById(a)},_wp_Nop:function(b){var c,a;if(b.indexOf("<pre")!=-1||b.indexOf("<script")!=-1){b=b.replace(/<(pre|script)[^>]*>[\s\S]+?<\/\1>/g,function(d){d=d.replace(/<br ?\/?>(\r\n|\n)?/g,"<wp_temp>");return d.replace(/<\/?p( [^>]*)?>(\r\n|\n)?/g,"<wp_temp>")})}c="blockquote|ul|ol|li|table|thead|tbody|tfoot|tr|th|td|div|h[1-6]|p|fieldset";b=b.replace(new RegExp("\\s*</("+c+")>\\s*","g"),"</$1>\n");b=b.replace(new RegExp("\\s*<((?:"+c+")(?: [^>]*)?)>","g"),"\n<$1>");b=b.replace(/(<p [^>]+>.*?)<\/p>/g,"$1</p#>");b=b.replace(/<div( [^>]*)?>\s*<p>/gi,"<div$1>\n\n");b=b.replace(/\s*<p>/gi,"");b=b.replace(/\s*<\/p>\s*/gi,"\n\n");b=b.replace(/\n[\s\u00a0]+\n/g,"\n\n");b=b.replace(/\s*<br ?\/?>\s*/gi,"\n");b=b.replace(/\s*<div/g,"\n<div");b=b.replace(/<\/div>\s*/g,"</div>\n");b=b.replace(/\s*\[caption([^\[]+)\[\/caption\]\s*/gi,"\n\n[caption$1[/caption]\n\n");b=b.replace(/caption\]\n\n+\[caption/g,"caption]\n\n[caption");a="blockquote|ul|ol|li|table|thead|tbody|tfoot|tr|th|td|h[1-6]|pre|fieldset";b=b.replace(new RegExp("\\s*<((?:"+a+")(?: [^>]*)?)\\s*>","g"),"\n<$1>");b=b.replace(new RegExp("\\s*</("+a+")>\\s*","g"),"</$1>\n");b=b.replace(/<li([^>]*)>/g,"\t<li$1>");if(b.indexOf("<hr")!=-1){b=b.replace(/\s*<hr( [^>]*)?>\s*/g,"\n\n<hr$1>\n\n")}if(b.indexOf("<object")!=-1){b=b.replace(/<object[\s\S]+?<\/object>/g,function(d){return d.replace(/[\r\n]+/g,"")})}b=b.replace(/<\/p#>/g,"</p>\n");b=b.replace(/\s*(<p [^>]+>[\s\S]*?<\/p>)/g,"\n$1");b=b.replace(/^\s+/,"");b=b.replace(/[\s\u00a0]+$/,"");b=b.replace(/<wp_temp>/g,"\n");return b},go:function(i,g){i=i||"content";g=g||this.mode||"";var b,h=this.I("quicktags"),c=this.I("edButtonHTML"),d=this.I("edButtonPreview"),a=this.I(i);try{b=tinyMCE.get(i)}catch(f){b=false}if("tinymce"==g){if(b&&!b.isHidden()){return false}setUserSetting("editor","tinymce");this.mode="html";d.className="active";c.className="";edCloseAllTags();h.style.display="none";a.style.color="#FFF";a.value=this.wpautop(a.value);try{if(b){b.show()}else{tinyMCE.execCommand("mceAddControl",false,i)}}catch(f){}a.style.color="#000"}else{setUserSetting("editor","html");a.style.color="#000";this.mode="tinymce";c.className="active";d.className="";if(b&&!b.isHidden()){a.style.height=b.getContentAreaContainer().offsetHeight+24+"px";b.hide()}h.style.display="block"}return false},_wp_Autop:function(a){var b="table|thead|tfoot|caption|col|colgroup|tbody|tr|td|th|div|dl|dd|dt|ul|ol|li|pre|select|form|blockquote|address|math|p|h[1-6]|fieldset|legend|hr";if(a.indexOf("<object")!=-1){a=a.replace(/<object[\s\S]+?<\/object>/g,function(c){return c.replace(/[\r\n]+/g,"")})}a=a.replace(/<[^<>]+>/g,function(c){return c.replace(/[\r\n]+/g," ")});if(a.indexOf("<pre")!=-1||a.indexOf("<script")!=-1){a=a.replace(/<(pre|script)[^>]*>[\s\S]+?<\/\1>/g,function(c){return c.replace(/(\r\n|\n)/g,"<wp_temp_br>")})}a=a+"\n\n";a=a.replace(/<br \/>\s*<br \/>/gi,"\n\n");a=a.replace(new RegExp("(<(?:"+b+")(?: [^>]*)?>)","gi"),"\n$1");a=a.replace(new RegExp("(</(?:"+b+")>)","gi"),"$1\n\n");a=a.replace(/<hr( [^>]*)?>/gi,"<hr$1>\n\n");a=a.replace(/\r\n|\r/g,"\n");a=a.replace(/\n\s*\n+/g,"\n\n");a=a.replace(/([\s\S]+?)\n\n/g,"<p>$1</p>\n");a=a.replace(/<p>\s*?<\/p>/gi,"");a=a.replace(new RegExp("<p>\\s*(</?(?:"+b+")(?: [^>]*)?>)\\s*</p>","gi"),"$1");a=a.replace(/<p>(<li.+?)<\/p>/gi,"$1");a=a.replace(/<p>\s*<blockquote([^>]*)>/gi,"<blockquote$1><p>");a=a.replace(/<\/blockquote>\s*<\/p>/gi,"</p></blockquote>");a=a.replace(new RegExp("<p>\\s*(</?(?:"+b+")(?: [^>]*)?>)","gi"),"$1");a=a.replace(new RegExp("(</?(?:"+b+")(?: [^>]*)?>)\\s*</p>","gi"),"$1");a=a.replace(/\s*\n/gi,"<br />\n");a=a.replace(new RegExp("(</?(?:"+b+")[^>]*>)\\s*<br />","gi"),"$1");a=a.replace(/<br \/>(\s*<\/?(?:p|li|div|dl|dd|dt|th|pre|td|ul|ol)>)/gi,"$1");a=a.replace(/(?:<p>|<br ?\/?>)*\s*\[caption([^\[]+)\[\/caption\]\s*(?:<\/p>|<br ?\/?>)*/gi,"[caption$1[/caption]");a=a.replace(/(<(?:div|th|td|form|fieldset|dd)[^>]*>)(.*?)<\/p>/g,function(e,d,f){if(f.match(/<p( [^>]*)?>/)){return e}return d+"<p>"+f+"</p>"});a=a.replace(/<wp_temp_br>/g,"\n");return a},pre_wpautop:function(b){var a=this,c={o:a,data:b,unfiltered:b};jQuery("body").trigger("beforePreWpautop",[c]);c.data=a._wp_Nop(c.data);jQuery("body").trigger("afterPreWpautop",[c]);return c.data},wpautop:function(b){var a=this,c={o:a,data:b,unfiltered:b};jQuery("body").trigger("beforeWpautop",[c]);c.data=a._wp_Autop(c.data);jQuery("body").trigger("afterWpautop",[c]);return c.data}}; \ No newline at end of file +jQuery(document).ready(function(b){var a=wpCookies.getHash("TinyMCE_content_size");if(getUserSetting("editor")=="html"){if(a){b("#content").css("height",a.ch-15+"px")}}else{if(typeof tinyMCE!="object"){b("#content").css("color","#000")}else{b("#quicktags").hide()}}});var switchEditors={mode:"",I:function(a){return document.getElementById(a)},_wp_Nop:function(b){var c,a;if(b.indexOf("<pre")!=-1||b.indexOf("<script")!=-1){b=b.replace(/<(pre|script)[^>]*>[\s\S]+?<\/\1>/g,function(d){d=d.replace(/<br ?\/?>(\r\n|\n)?/g,"<wp_temp>");return d.replace(/<\/?p( [^>]*)?>(\r\n|\n)?/g,"<wp_temp>")})}c="blockquote|ul|ol|li|table|thead|tbody|tfoot|tr|th|td|div|h[1-6]|p|fieldset";b=b.replace(new RegExp("\\s*</("+c+")>\\s*","g"),"</$1>\n");b=b.replace(new RegExp("\\s*<((?:"+c+")(?: [^>]*)?)>","g"),"\n<$1>");b=b.replace(/(<p [^>]+>.*?)<\/p>/g,"$1</p#>");b=b.replace(/<div( [^>]*)?>\s*<p>/gi,"<div$1>\n\n");b=b.replace(/\s*<p>/gi,"");b=b.replace(/\s*<\/p>\s*/gi,"\n\n");b=b.replace(/\n[\s\u00a0]+\n/g,"\n\n");b=b.replace(/\s*<br ?\/?>\s*/gi,"\n");b=b.replace(/\s*<div/g,"\n<div");b=b.replace(/<\/div>\s*/g,"</div>\n");b=b.replace(/\s*\[caption([^\[]+)\[\/caption\]\s*/gi,"\n\n[caption$1[/caption]\n\n");b=b.replace(/caption\]\n\n+\[caption/g,"caption]\n\n[caption");a="blockquote|ul|ol|li|table|thead|tbody|tfoot|tr|th|td|h[1-6]|pre|fieldset";b=b.replace(new RegExp("\\s*<((?:"+a+")(?: [^>]*)?)\\s*>","g"),"\n<$1>");b=b.replace(new RegExp("\\s*</("+a+")>\\s*","g"),"</$1>\n");b=b.replace(/<li([^>]*)>/g,"\t<li$1>");if(b.indexOf("<hr")!=-1){b=b.replace(/\s*<hr( [^>]*)?>\s*/g,"\n\n<hr$1>\n\n")}if(b.indexOf("<object")!=-1){b=b.replace(/<object[\s\S]+?<\/object>/g,function(d){return d.replace(/[\r\n]+/g,"")})}b=b.replace(/<\/p#>/g,"</p>\n");b=b.replace(/\s*(<p [^>]+>[\s\S]*?<\/p>)/g,"\n$1");b=b.replace(/^\s+/,"");b=b.replace(/[\s\u00a0]+$/,"");b=b.replace(/<wp_temp>/g,"\n");return b},go:function(i,g){i=i||"content";g=g||this.mode||"";var b,h=this.I("quicktags"),c=this.I("edButtonHTML"),d=this.I("edButtonPreview"),a=this.I(i);try{b=tinyMCE.get(i)}catch(f){b=false}if("tinymce"==g){if(b&&!b.isHidden()){return false}setUserSetting("editor","tinymce");this.mode="html";d.className="active";c.className="";edCloseAllTags();h.style.display="none";a.style.color="#FFF";a.value=this.wpautop(a.value);try{if(b){b.show()}else{tinyMCE.execCommand("mceAddControl",false,i)}}catch(f){}a.style.color="#000"}else{setUserSetting("editor","html");a.style.color="#000";this.mode="tinymce";c.className="active";d.className="";if(b&&!b.isHidden()){a.style.height=b.getContentAreaContainer().offsetHeight+24+"px";b.hide()}h.style.display="block"}return false},_wp_Autop:function(a){var b="table|thead|tfoot|tbody|tr|td|th|caption|col|colgroup|div|dl|dd|dt|ul|ol|li|pre|select|form|blockquote|address|math|p|h[1-6]|fieldset|legend|hr|noscript|menu|samp|header|footer|article|section|hgroup|nav|aside|details|summary";if(a.indexOf("<object")!=-1){a=a.replace(/<object[\s\S]+?<\/object>/g,function(c){return c.replace(/[\r\n]+/g,"")})}a=a.replace(/<[^<>]+>/g,function(c){return c.replace(/[\r\n]+/g," ")});if(a.indexOf("<pre")!=-1||a.indexOf("<script")!=-1){a=a.replace(/<(pre|script)[^>]*>[\s\S]+?<\/\1>/g,function(c){return c.replace(/(\r\n|\n)/g,"<wp_temp_br>")})}a=a+"\n\n";a=a.replace(/<br \/>\s*<br \/>/gi,"\n\n");a=a.replace(new RegExp("(<(?:"+b+")(?: [^>]*)?>)","gi"),"\n$1");a=a.replace(new RegExp("(</(?:"+b+")>)","gi"),"$1\n\n");a=a.replace(/<hr( [^>]*)?>/gi,"<hr$1>\n\n");a=a.replace(/\r\n|\r/g,"\n");a=a.replace(/\n\s*\n+/g,"\n\n");a=a.replace(/([\s\S]+?)\n\n/g,"<p>$1</p>\n");a=a.replace(/<p>\s*?<\/p>/gi,"");a=a.replace(new RegExp("<p>\\s*(</?(?:"+b+")(?: [^>]*)?>)\\s*</p>","gi"),"$1");a=a.replace(/<p>(<li.+?)<\/p>/gi,"$1");a=a.replace(/<p>\s*<blockquote([^>]*)>/gi,"<blockquote$1><p>");a=a.replace(/<\/blockquote>\s*<\/p>/gi,"</p></blockquote>");a=a.replace(new RegExp("<p>\\s*(</?(?:"+b+")(?: [^>]*)?>)","gi"),"$1");a=a.replace(new RegExp("(</?(?:"+b+")(?: [^>]*)?>)\\s*</p>","gi"),"$1");a=a.replace(/\s*\n/gi,"<br />\n");a=a.replace(new RegExp("(</?(?:"+b+")[^>]*>)\\s*<br />","gi"),"$1");a=a.replace(/<br \/>(\s*<\/?(?:p|li|div|dl|dd|dt|th|pre|td|ul|ol)>)/gi,"$1");a=a.replace(/(?:<p>|<br ?\/?>)*\s*\[caption([^\[]+)\[\/caption\]\s*(?:<\/p>|<br ?\/?>)*/gi,"[caption$1[/caption]");a=a.replace(/(<(?:div|th|td|form|fieldset|dd)[^>]*>)(.*?)<\/p>/g,function(e,d,f){if(f.match(/<p( [^>]*)?>/)){return e}return d+"<p>"+f+"</p>"});a=a.replace(/<wp_temp_br>/g,"\n");return a},pre_wpautop:function(b){var a=this,c={o:a,data:b,unfiltered:b};jQuery("body").trigger("beforePreWpautop",[c]);c.data=a._wp_Nop(c.data);jQuery("body").trigger("afterPreWpautop",[c]);return c.data},wpautop:function(b){var a=this,c={o:a,data:b,unfiltered:b};jQuery("body").trigger("beforeWpautop",[c]);c.data=a._wp_Autop(c.data);jQuery("body").trigger("afterWpautop",[c]);return c.data}}; \ No newline at end of file diff --git a/wp-admin/js/gallery.dev.js b/wp-admin/js/gallery.dev.js index 4f3ce4610..1e80fd9f8 100644 --- a/wp-admin/js/gallery.dev.js +++ b/wp-admin/js/gallery.dev.js @@ -110,18 +110,10 @@ wpgallery = { return window.dialogArguments || opener || parent || top; }, - restoreSelection : function() { - var t = this; - - if (tinymce.isIE) - t.editor.selection.moveToBookmark(t.editor.windowManager.bookmark); - }, - setup : function() { var t = this, a, ed = t.editor, g, columns, link, order, orderby; if ( ! t.mcemode ) return; - t.restoreSelection(); t.el = ed.selection.getNode(); if ( t.el.nodeName != 'IMG' || ! ed.dom.hasClass(t.el, 'wpGallery') ) { diff --git a/wp-admin/js/gallery.js b/wp-admin/js/gallery.js index 06565af27..0271f1bc3 100644 --- a/wp-admin/js/gallery.js +++ b/wp-admin/js/gallery.js @@ -1 +1 @@ -jQuery(document).ready(function(c){var b,e,a,d=false;e=function(){b=c("#media-items").sortable({items:"div.media-item",placeholder:"sorthelper",axis:"y",distance:2,handle:"div.filename",stop:function(i,h){var g=c("#media-items").sortable("toArray"),f=g.length;c.each(g,function(k,l){var j=d?(f-k):(1+k);c("#"+l+" .menu_order input").val(j)})}})};sortIt=function(){var g=c(".menu_order_input"),f=g.length;g.each(function(j){var h=d?(f-j):(1+j);c(this).val(h)})};clearAll=function(f){f=f||0;c(".menu_order_input").each(function(){if(this.value=="0"||f){this.value=""}})};c("#asc").click(function(){d=false;sortIt();return false});c("#desc").click(function(){d=true;sortIt();return false});c("#clear").click(function(){clearAll(1);return false});c("#showall").click(function(){c("#sort-buttons span a").toggle();c("a.describe-toggle-on").hide();c("a.describe-toggle-off, table.slidetoggle").show();return false});c("#hideall").click(function(){c("#sort-buttons span a").toggle();c("a.describe-toggle-on").show();c("a.describe-toggle-off, table.slidetoggle").hide();return false});e();clearAll();if(c("#media-items>*").length>1){a=wpgallery.getWin();c("#save-all, #gallery-settings").show();if(typeof a.tinyMCE!="undefined"&&a.tinyMCE.activeEditor&&!a.tinyMCE.activeEditor.isHidden()){wpgallery.mcemode=true;wpgallery.init()}else{c("#insert-gallery").show()}}});jQuery(window).unload(function(){tinymce=tinyMCE=wpgallery=null});var tinymce=null,tinyMCE,wpgallery;wpgallery={mcemode:false,editor:{},dom:{},is_update:false,el:{},I:function(a){return document.getElementById(a)},init:function(){var d=this,a,f,c,e,b=d.getWin();if(!d.mcemode){return}a=(""+document.location.search).replace(/^\?/,"").split("&");f={};for(c=0;c<a.length;c++){e=a[c].split("=");f[unescape(e[0])]=unescape(e[1])}if(f.mce_rdomain){document.domain=f.mce_rdomain}tinymce=b.tinymce;tinyMCE=b.tinyMCE;d.editor=tinymce.EditorManager.activeEditor;d.setup()},getWin:function(){return window.dialogArguments||opener||parent||top},restoreSelection:function(){var a=this;if(tinymce.isIE){a.editor.selection.moveToBookmark(a.editor.windowManager.bookmark)}},setup:function(){var f=this,c,d=f.editor,i,e,h,b,j;if(!f.mcemode){return}f.restoreSelection();f.el=d.selection.getNode();if(f.el.nodeName!="IMG"||!d.dom.hasClass(f.el,"wpGallery")){if((i=d.dom.select("img.wpGallery"))&&i[0]){f.el=i[0]}else{if(getUserSetting("galfile")=="1"){f.I("linkto-file").checked="checked"}if(getUserSetting("galdesc")=="1"){f.I("order-desc").checked="checked"}if(getUserSetting("galcols")){f.I("columns").value=getUserSetting("galcols")}if(getUserSetting("galord")){f.I("orderby").value=getUserSetting("galord")}jQuery("#insert-gallery").show();return}}c=d.dom.getAttrib(f.el,"title");c=d.dom.decode(c);if(c){jQuery("#update-gallery").show();f.is_update=true;e=c.match(/columns=['"]([0-9]+)['"]/);h=c.match(/link=['"]([^'"]+)['"]/i);b=c.match(/order=['"]([^'"]+)['"]/i);j=c.match(/orderby=['"]([^'"]+)['"]/i);if(h&&h[1]){f.I("linkto-file").checked="checked"}if(b&&b[1]){f.I("order-desc").checked="checked"}if(e&&e[1]){f.I("columns").value=""+e[1]}if(j&&j[1]){f.I("orderby").value=j[1]}}else{jQuery("#insert-gallery").show()}},update:function(){var b=this,a=b.editor,d="",c;if(!b.mcemode||!b.is_update){c="[gallery"+b.getSettings()+"]";b.getWin().send_to_editor(c);return}if(b.el.nodeName!="IMG"){return}d=a.dom.decode(a.dom.getAttrib(b.el,"title"));d=d.replace(/\s*(order|link|columns|orderby)=['"]([^'"]+)['"]/gi,"");d+=b.getSettings();a.dom.setAttrib(b.el,"title",d);b.getWin().tb_remove()},getSettings:function(){var a=this.I,b="";if(a("linkto-file").checked){b+=' link="file"';setUserSetting("galfile","1")}if(a("order-desc").checked){b+=' order="DESC"';setUserSetting("galdesc","1")}if(a("columns").value!=3){b+=' columns="'+a("columns").value+'"';setUserSetting("galcols",a("columns").value)}if(a("orderby").value!="menu_order"){b+=' orderby="'+a("orderby").value+'"';setUserSetting("galord",a("orderby").value)}return b}}; \ No newline at end of file +jQuery(document).ready(function(c){var b,e,a,d=false;e=function(){b=c("#media-items").sortable({items:"div.media-item",placeholder:"sorthelper",axis:"y",distance:2,handle:"div.filename",stop:function(i,h){var g=c("#media-items").sortable("toArray"),f=g.length;c.each(g,function(k,l){var j=d?(f-k):(1+k);c("#"+l+" .menu_order input").val(j)})}})};sortIt=function(){var g=c(".menu_order_input"),f=g.length;g.each(function(j){var h=d?(f-j):(1+j);c(this).val(h)})};clearAll=function(f){f=f||0;c(".menu_order_input").each(function(){if(this.value=="0"||f){this.value=""}})};c("#asc").click(function(){d=false;sortIt();return false});c("#desc").click(function(){d=true;sortIt();return false});c("#clear").click(function(){clearAll(1);return false});c("#showall").click(function(){c("#sort-buttons span a").toggle();c("a.describe-toggle-on").hide();c("a.describe-toggle-off, table.slidetoggle").show();return false});c("#hideall").click(function(){c("#sort-buttons span a").toggle();c("a.describe-toggle-on").show();c("a.describe-toggle-off, table.slidetoggle").hide();return false});e();clearAll();if(c("#media-items>*").length>1){a=wpgallery.getWin();c("#save-all, #gallery-settings").show();if(typeof a.tinyMCE!="undefined"&&a.tinyMCE.activeEditor&&!a.tinyMCE.activeEditor.isHidden()){wpgallery.mcemode=true;wpgallery.init()}else{c("#insert-gallery").show()}}});jQuery(window).unload(function(){tinymce=tinyMCE=wpgallery=null});var tinymce=null,tinyMCE,wpgallery;wpgallery={mcemode:false,editor:{},dom:{},is_update:false,el:{},I:function(a){return document.getElementById(a)},init:function(){var d=this,a,f,c,e,b=d.getWin();if(!d.mcemode){return}a=(""+document.location.search).replace(/^\?/,"").split("&");f={};for(c=0;c<a.length;c++){e=a[c].split("=");f[unescape(e[0])]=unescape(e[1])}if(f.mce_rdomain){document.domain=f.mce_rdomain}tinymce=b.tinymce;tinyMCE=b.tinyMCE;d.editor=tinymce.EditorManager.activeEditor;d.setup()},getWin:function(){return window.dialogArguments||opener||parent||top},setup:function(){var f=this,c,d=f.editor,i,e,h,b,j;if(!f.mcemode){return}f.el=d.selection.getNode();if(f.el.nodeName!="IMG"||!d.dom.hasClass(f.el,"wpGallery")){if((i=d.dom.select("img.wpGallery"))&&i[0]){f.el=i[0]}else{if(getUserSetting("galfile")=="1"){f.I("linkto-file").checked="checked"}if(getUserSetting("galdesc")=="1"){f.I("order-desc").checked="checked"}if(getUserSetting("galcols")){f.I("columns").value=getUserSetting("galcols")}if(getUserSetting("galord")){f.I("orderby").value=getUserSetting("galord")}jQuery("#insert-gallery").show();return}}c=d.dom.getAttrib(f.el,"title");c=d.dom.decode(c);if(c){jQuery("#update-gallery").show();f.is_update=true;e=c.match(/columns=['"]([0-9]+)['"]/);h=c.match(/link=['"]([^'"]+)['"]/i);b=c.match(/order=['"]([^'"]+)['"]/i);j=c.match(/orderby=['"]([^'"]+)['"]/i);if(h&&h[1]){f.I("linkto-file").checked="checked"}if(b&&b[1]){f.I("order-desc").checked="checked"}if(e&&e[1]){f.I("columns").value=""+e[1]}if(j&&j[1]){f.I("orderby").value=j[1]}}else{jQuery("#insert-gallery").show()}},update:function(){var b=this,a=b.editor,d="",c;if(!b.mcemode||!b.is_update){c="[gallery"+b.getSettings()+"]";b.getWin().send_to_editor(c);return}if(b.el.nodeName!="IMG"){return}d=a.dom.decode(a.dom.getAttrib(b.el,"title"));d=d.replace(/\s*(order|link|columns|orderby)=['"]([^'"]+)['"]/gi,"");d+=b.getSettings();a.dom.setAttrib(b.el,"title",d);b.getWin().tb_remove()},getSettings:function(){var a=this.I,b="";if(a("linkto-file").checked){b+=' link="file"';setUserSetting("galfile","1")}if(a("order-desc").checked){b+=' order="DESC"';setUserSetting("galdesc","1")}if(a("columns").value!=3){b+=' columns="'+a("columns").value+'"';setUserSetting("galcols",a("columns").value)}if(a("orderby").value!="menu_order"){b+=' orderby="'+a("orderby").value+'"';setUserSetting("galord",a("orderby").value)}return b}}; \ No newline at end of file diff --git a/wp-admin/js/image-edit.dev.js b/wp-admin/js/image-edit.dev.js index 0e43d5110..71bc18167 100644 --- a/wp-admin/js/image-edit.dev.js +++ b/wp-admin/js/image-edit.dev.js @@ -16,7 +16,7 @@ imageEdit = { $('input', el).removeAttr('disabled'); } else { el.addClass('disabled'); - $('input', el).attr('disabled', 'disabled'); + $('input', el).prop('disabled', true); } }, @@ -64,7 +64,7 @@ imageEdit = { }, getTarget : function(postid) { - return $('input[name=imgedit-target-' + postid + ']:checked', '#imgedit-save-target-' + postid).val() || 'full'; + return $('input[name="imgedit-target-' + postid + '"]:checked', '#imgedit-save-target-' + postid).val() || 'full'; }, scaleChanged : function(postid, x) { @@ -178,7 +178,7 @@ imageEdit = { if ( $('#imgedit-history-' + postid).val() && $('#imgedit-undone-' + postid).val() == 0 ) $('input.imgedit-submit-btn', '#imgedit-panel-' + postid).removeAttr('disabled'); else - $('input.imgedit-submit-btn', '#imgedit-panel-' + postid).attr('disabled', 'disabled'); + $('input.imgedit-submit-btn', '#imgedit-panel-' + postid).prop('disabled', true); t.toggleEditor(postid, 0); }).attr('src', ajaxurl + '?' + $.param(data)); @@ -271,7 +271,7 @@ imageEdit = { var data, elem = $('#image-editor-' + postid), head = $('#media-head-' + postid), btn = $('#imgedit-open-btn-' + postid), spin = btn.siblings('img'); - btn.attr('disabled', 'disabled'); + btn.prop('disabled', true); spin.css('visibility', 'visible'); data = { diff --git a/wp-admin/js/image-edit.js b/wp-admin/js/image-edit.js index af3f50384..27a2d049a 100644 --- a/wp-admin/js/image-edit.js +++ b/wp-admin/js/image-edit.js @@ -1 +1 @@ -var imageEdit;(function(a){imageEdit={iasapi:{},hold:{},postid:"",intval:function(b){return b|0},setDisabled:function(c,b){if(b){c.removeClass("disabled");a("input",c).removeAttr("disabled")}else{c.addClass("disabled");a("input",c).attr("disabled","disabled")}},init:function(g,e){var d=this,c=a("#image-editor-"+d.postid),b=d.intval(a("#imgedit-x-"+g).val()),f=d.intval(a("#imgedit-y-"+g).val());if(d.postid!=g&&c.length){d.close(d.postid)}d.hold.w=d.hold.ow=b;d.hold.h=d.hold.oh=f;d.hold.xy_ratio=b/f;d.hold.sizer=parseFloat(a("#imgedit-sizer-"+g).val());d.postid=g;a("#imgedit-response-"+g).empty();a('input[type="text"]',"#imgedit-panel-"+g).keypress(function(i){var h=i.keyCode;if(36<h&&h<41){a(this).blur()}if(13==h){i.preventDefault();i.stopPropagation();return false}})},toggleEditor:function(d,b){var c=a("#imgedit-wait-"+d);if(b){c.height(a("#imgedit-panel-"+d).height()).fadeIn("fast")}else{c.fadeOut("fast")}},toggleHelp:function(b){a(b).siblings(".imgedit-help").slideToggle("fast");return false},getTarget:function(b){return a("input[name=imgedit-target-"+b+"]:checked","#imgedit-save-target-"+b).val()||"full"},scaleChanged:function(i,b){var d=a("#imgedit-scale-width-"+i),f=a("#imgedit-scale-height-"+i),g=a("#imgedit-scale-warn-"+i),c="",e="";if(b){e=(d.val()!="")?this.intval(d.val()/this.hold.xy_ratio):"";f.val(e)}else{c=(f.val()!="")?this.intval(f.val()*this.hold.xy_ratio):"";d.val(c)}if((e&&e>this.hold.oh)||(c&&c>this.hold.ow)){g.css("visibility","visible")}else{g.css("visibility","hidden")}},getSelRatio:function(f){var b=this.hold.w,e=this.hold.h,d=this.intval(a("#imgedit-crop-width-"+f).val()),c=this.intval(a("#imgedit-crop-height-"+f).val());if(d&&c){return d+":"+c}if(b&&e){return b+":"+e}return"1:1"},filterHistory:function(j,f){var d=a("#imgedit-history-"+j).val(),b,h,e,c,g=[];if(d!=""){d=JSON.parse(d);b=this.intval(a("#imgedit-undone-"+j).val());if(b>0){while(b>0){d.pop();b--}}if(f){if(!d.length){this.hold.w=this.hold.ow;this.hold.h=this.hold.oh;return""}e=d[d.length-1];e=e.c||e.r||e.f||false;if(e){this.hold.w=e.fw;this.hold.h=e.fh}}for(h in d){c=d[h];if(c.hasOwnProperty("c")){g[h]={c:{x:c.c.x,y:c.c.y,w:c.c.w,h:c.c.h}}}else{if(c.hasOwnProperty("r")){g[h]={r:c.r.r}}else{if(c.hasOwnProperty("f")){g[h]={f:c.f.f}}}}}return JSON.stringify(g)}return""},refreshEditor:function(g,d,f){var c=this,e,b;c.toggleEditor(g,1);e={action:"imgedit-preview",_ajax_nonce:d,postid:g,history:c.filterHistory(g,1),rand:c.intval(Math.random()*1000000)};b=a('<img id="image-preview-'+g+'" />');b.load(function(){var i,h,k=a("#imgedit-crop-"+g),j=imageEdit;k.empty().append(b);i=Math.max(j.hold.w,j.hold.h);h=Math.max(a(b).width(),a(b).height());j.hold.sizer=i>h?h/i:1;j.initCrop(g,b,k);j.setCropSelection(g,0);if((typeof f!="unknown")&&f!=null){f()}if(a("#imgedit-history-"+g).val()&&a("#imgedit-undone-"+g).val()==0){a("input.imgedit-submit-btn","#imgedit-panel-"+g).removeAttr("disabled")}else{a("input.imgedit-submit-btn","#imgedit-panel-"+g).attr("disabled","disabled")}j.toggleEditor(g,0)}).attr("src",ajaxurl+"?"+a.param(e))},action:function(b,g,c){var j=this,e,i,f,d,k;if(j.notsaved(b)){return false}e={action:"image-editor",_ajax_nonce:g,postid:b};if("scale"==c){i=a("#imgedit-scale-width-"+b),f=a("#imgedit-scale-height-"+b),d=j.intval(i.val()),k=j.intval(f.val());if(d<1){i.focus();return false}else{if(k<1){f.focus();return false}}if(d==j.hold.ow||k==j.hold.oh){return false}e["do"]="scale";e.fwidth=d;e.fheight=k}else{if("restore"==c){e["do"]="restore"}else{return false}}j.toggleEditor(b,1);a.post(ajaxurl,e,function(h){a("#image-editor-"+b).empty().append(h);j.toggleEditor(b,0)})},save:function(f,b){var c,e=this.getTarget(f),d=this.filterHistory(f,0);if(""==d){return false}this.toggleEditor(f,1);c={action:"image-editor",_ajax_nonce:b,postid:f,history:d,target:e,"do":"save"};a.post(ajaxurl,c,function(h){var g=JSON.parse(h);if(g.error){a("#imgedit-response-"+f).html('<div class="error"><p>'+g.error+"</p><div>");imageEdit.close(f);return}if(g.fw&&g.fh){a("#media-dims-"+f).html(g.fw+" × "+g.fh)}if(g.thumbnail){a(".thumbnail","#thumbnail-head-"+f).attr("src",""+g.thumbnail)}if(g.msg){a("#imgedit-response-"+f).html('<div class="updated"><p>'+g.msg+"</p></div>")}imageEdit.close(f)})},open:function(h,d){var f,e=a("#image-editor-"+h),c=a("#media-head-"+h),b=a("#imgedit-open-btn-"+h),g=b.siblings("img");b.attr("disabled","disabled");g.css("visibility","visible");f={action:"image-editor",_ajax_nonce:d,postid:h,"do":"open"};e.load(ajaxurl,f,function(){e.fadeIn("fast");c.fadeOut("fast",function(){b.removeAttr("disabled");g.css("visibility","hidden")})})},imgLoaded:function(d){var b=a("#image-preview-"+d),c=a("#imgedit-crop-"+d);this.initCrop(d,b,c);this.setCropSelection(d,0);this.toggleEditor(d,0)},initCrop:function(g,e,c){var b=this,d=a("#imgedit-sel-width-"+g),f=a("#imgedit-sel-height-"+g);b.iasapi=a(e).imgAreaSelect({parent:c,instance:true,handles:true,keys:true,minWidth:3,minHeight:3,onInit:function(h,i){c.children().mousedown(function(m){var k=false,l,j;if(m.shiftKey){l=b.iasapi.getSelection();j=b.getSelRatio(g);k=(l&&l.width&&l.height)?l.width+":"+l.height:j}b.iasapi.setOptions({aspectRatio:k})})},onSelectStart:function(h,i){imageEdit.setDisabled(a("#imgedit-crop-sel-"+g),1)},onSelectEnd:function(h,i){imageEdit.setCropSelection(g,i)},onSelectChange:function(h,j){var i=imageEdit.hold.sizer;d.val(imageEdit.round(j.width/i));f.val(imageEdit.round(j.height/i))}})},setCropSelection:function(g,f){var e,b=a("#imgedit-minthumb-"+g).val()||"128:128",d=this.hold.sizer;b=b.split(":");f=f||0;if(!f||(f.width<3&&f.height<3)){this.setDisabled(a(".imgedit-crop","#imgedit-panel-"+g),0);this.setDisabled(a("#imgedit-crop-sel-"+g),0);a("#imgedit-sel-width-"+g).val("");a("#imgedit-sel-height-"+g).val("");a("#imgedit-selection-"+g).val("");return false}if(f.width<(b[0]*d)&&f.height<(b[1]*d)){this.setDisabled(a(".imgedit-crop","#imgedit-panel-"+g),0);a("#imgedit-selection-"+g).val("");return false}e={x:f.x1,y:f.y1,w:f.width,h:f.height};this.setDisabled(a(".imgedit-crop","#imgedit-panel-"+g),1);a("#imgedit-selection-"+g).val(JSON.stringify(e))},close:function(c,b){b=b||false;if(b&&this.notsaved(c)){return false}this.iasapi={};this.hold={};a("#image-editor-"+c).fadeOut("fast",function(){a("#media-head-"+c).fadeIn("fast");a(this).empty()})},notsaved:function(e){var c=a("#imgedit-history-"+e).val(),d=(c!="")?JSON.parse(c):new Array(),b=this.intval(a("#imgedit-undone-"+e).val());if(b<d.length){if(confirm(a("#imgedit-leaving-"+e).html())){return false}return true}return false},addStep:function(i,h,d){var c=this,e=a("#imgedit-history-"+h),g=(e.val()!="")?JSON.parse(e.val()):new Array(),f=a("#imgedit-undone-"+h),b=c.intval(f.val());while(b>0){g.pop();b--}f.val(0);g.push(i);e.val(JSON.stringify(g));c.refreshEditor(h,d,function(){c.setDisabled(a("#image-undo-"+h),true);c.setDisabled(a("#image-redo-"+h),false)})},rotate:function(d,e,c,b){if(a(b).hasClass("disabled")){return false}this.addStep({r:{r:d,fw:this.hold.h,fh:this.hold.w}},e,c)},flip:function(d,e,c,b){if(a(b).hasClass("disabled")){return false}this.addStep({f:{f:d,fw:this.hold.w,fh:this.hold.h}},e,c)},crop:function(g,e,c){var f=a("#imgedit-selection-"+g).val(),b=this.intval(a("#imgedit-sel-width-"+g).val()),d=this.intval(a("#imgedit-sel-height-"+g).val());if(a(c).hasClass("disabled")||f==""){return false}f=JSON.parse(f);if(f.w>0&&f.h>0&&b>0&&d>0){f.fw=b;f.fh=d;this.addStep({c:f},g,e)}},undo:function(g,e){var d=this,c=a("#image-undo-"+g),f=a("#imgedit-undone-"+g),b=d.intval(f.val())+1;if(c.hasClass("disabled")){return}f.val(b);d.refreshEditor(g,e,function(){var h=a("#imgedit-history-"+g),i=(h.val()!="")?JSON.parse(h.val()):new Array();d.setDisabled(a("#image-redo-"+g),true);d.setDisabled(c,b<i.length)})},redo:function(g,e){var d=this,c=a("#image-redo-"+g),f=a("#imgedit-undone-"+g),b=d.intval(f.val())-1;if(c.hasClass("disabled")){return}f.val(b);d.refreshEditor(g,e,function(){d.setDisabled(a("#image-undo-"+g),true);d.setDisabled(c,b>0)})},setNumSelection:function(c){var g,k=a("#imgedit-sel-width-"+c),j=a("#imgedit-sel-height-"+c),o=this.intval(k.val()),m=this.intval(j.val()),i=a("#image-preview-"+c),p=i.height(),h=i.width(),b=this.hold.sizer,f,n,e,l,d=this.iasapi;if(o<1){k.val("");return false}if(m<1){j.val("");return false}if(o&&m&&(g=d.getSelection())){e=g.x1+Math.round(o*b);l=g.y1+Math.round(m*b);f=g.x1;n=g.y1;if(e>h){f=0;e=h;k.val(Math.round(e/b))}if(l>p){n=0;l=p;j.val(Math.round(l/b))}d.setSelection(f,n,e,l);d.update();this.setCropSelection(c,d.getSelection())}},round:function(b){var c;b=Math.round(b);if(this.hold.sizer>0.6){return b}c=b.toString().slice(-1);if("1"==c){return b-1}else{if("9"==c){return b+1}}return b},setRatioSelection:function(j,i,d){var f,e,b=this.intval(a("#imgedit-crop-width-"+j).val()),g=this.intval(a("#imgedit-crop-height-"+j).val()),c=a("#image-preview-"+j).height();if(!this.intval(a(d).val())){a(d).val("");return}if(b&&g){this.iasapi.setOptions({aspectRatio:b+":"+g});if(f=this.iasapi.getSelection(true)){e=Math.ceil(f.y1+((f.x2-f.x1)/(b/g)));if(e>c){e=c;if(i){a("#imgedit-crop-height-"+j).val("")}else{a("#imgedit-crop-width-"+j).val("")}}this.iasapi.setSelection(f.x1,f.y1,f.x2,e);this.iasapi.update()}}}}})(jQuery); \ No newline at end of file +var imageEdit;(function(a){imageEdit={iasapi:{},hold:{},postid:"",intval:function(b){return b|0},setDisabled:function(c,b){if(b){c.removeClass("disabled");a("input",c).removeAttr("disabled")}else{c.addClass("disabled");a("input",c).prop("disabled",true)}},init:function(g,e){var d=this,c=a("#image-editor-"+d.postid),b=d.intval(a("#imgedit-x-"+g).val()),f=d.intval(a("#imgedit-y-"+g).val());if(d.postid!=g&&c.length){d.close(d.postid)}d.hold.w=d.hold.ow=b;d.hold.h=d.hold.oh=f;d.hold.xy_ratio=b/f;d.hold.sizer=parseFloat(a("#imgedit-sizer-"+g).val());d.postid=g;a("#imgedit-response-"+g).empty();a('input[type="text"]',"#imgedit-panel-"+g).keypress(function(i){var h=i.keyCode;if(36<h&&h<41){a(this).blur()}if(13==h){i.preventDefault();i.stopPropagation();return false}})},toggleEditor:function(d,b){var c=a("#imgedit-wait-"+d);if(b){c.height(a("#imgedit-panel-"+d).height()).fadeIn("fast")}else{c.fadeOut("fast")}},toggleHelp:function(b){a(b).siblings(".imgedit-help").slideToggle("fast");return false},getTarget:function(b){return a('input[name="imgedit-target-'+b+'"]:checked',"#imgedit-save-target-"+b).val()||"full"},scaleChanged:function(i,b){var d=a("#imgedit-scale-width-"+i),f=a("#imgedit-scale-height-"+i),g=a("#imgedit-scale-warn-"+i),c="",e="";if(b){e=(d.val()!="")?this.intval(d.val()/this.hold.xy_ratio):"";f.val(e)}else{c=(f.val()!="")?this.intval(f.val()*this.hold.xy_ratio):"";d.val(c)}if((e&&e>this.hold.oh)||(c&&c>this.hold.ow)){g.css("visibility","visible")}else{g.css("visibility","hidden")}},getSelRatio:function(f){var b=this.hold.w,e=this.hold.h,d=this.intval(a("#imgedit-crop-width-"+f).val()),c=this.intval(a("#imgedit-crop-height-"+f).val());if(d&&c){return d+":"+c}if(b&&e){return b+":"+e}return"1:1"},filterHistory:function(j,f){var d=a("#imgedit-history-"+j).val(),b,h,e,c,g=[];if(d!=""){d=JSON.parse(d);b=this.intval(a("#imgedit-undone-"+j).val());if(b>0){while(b>0){d.pop();b--}}if(f){if(!d.length){this.hold.w=this.hold.ow;this.hold.h=this.hold.oh;return""}e=d[d.length-1];e=e.c||e.r||e.f||false;if(e){this.hold.w=e.fw;this.hold.h=e.fh}}for(h in d){c=d[h];if(c.hasOwnProperty("c")){g[h]={c:{x:c.c.x,y:c.c.y,w:c.c.w,h:c.c.h}}}else{if(c.hasOwnProperty("r")){g[h]={r:c.r.r}}else{if(c.hasOwnProperty("f")){g[h]={f:c.f.f}}}}}return JSON.stringify(g)}return""},refreshEditor:function(g,d,f){var c=this,e,b;c.toggleEditor(g,1);e={action:"imgedit-preview",_ajax_nonce:d,postid:g,history:c.filterHistory(g,1),rand:c.intval(Math.random()*1000000)};b=a('<img id="image-preview-'+g+'" />');b.load(function(){var i,h,k=a("#imgedit-crop-"+g),j=imageEdit;k.empty().append(b);i=Math.max(j.hold.w,j.hold.h);h=Math.max(a(b).width(),a(b).height());j.hold.sizer=i>h?h/i:1;j.initCrop(g,b,k);j.setCropSelection(g,0);if((typeof f!="unknown")&&f!=null){f()}if(a("#imgedit-history-"+g).val()&&a("#imgedit-undone-"+g).val()==0){a("input.imgedit-submit-btn","#imgedit-panel-"+g).removeAttr("disabled")}else{a("input.imgedit-submit-btn","#imgedit-panel-"+g).prop("disabled",true)}j.toggleEditor(g,0)}).attr("src",ajaxurl+"?"+a.param(e))},action:function(b,g,c){var j=this,e,i,f,d,k;if(j.notsaved(b)){return false}e={action:"image-editor",_ajax_nonce:g,postid:b};if("scale"==c){i=a("#imgedit-scale-width-"+b),f=a("#imgedit-scale-height-"+b),d=j.intval(i.val()),k=j.intval(f.val());if(d<1){i.focus();return false}else{if(k<1){f.focus();return false}}if(d==j.hold.ow||k==j.hold.oh){return false}e["do"]="scale";e.fwidth=d;e.fheight=k}else{if("restore"==c){e["do"]="restore"}else{return false}}j.toggleEditor(b,1);a.post(ajaxurl,e,function(h){a("#image-editor-"+b).empty().append(h);j.toggleEditor(b,0)})},save:function(f,b){var c,e=this.getTarget(f),d=this.filterHistory(f,0);if(""==d){return false}this.toggleEditor(f,1);c={action:"image-editor",_ajax_nonce:b,postid:f,history:d,target:e,"do":"save"};a.post(ajaxurl,c,function(h){var g=JSON.parse(h);if(g.error){a("#imgedit-response-"+f).html('<div class="error"><p>'+g.error+"</p><div>");imageEdit.close(f);return}if(g.fw&&g.fh){a("#media-dims-"+f).html(g.fw+" × "+g.fh)}if(g.thumbnail){a(".thumbnail","#thumbnail-head-"+f).attr("src",""+g.thumbnail)}if(g.msg){a("#imgedit-response-"+f).html('<div class="updated"><p>'+g.msg+"</p></div>")}imageEdit.close(f)})},open:function(h,d){var f,e=a("#image-editor-"+h),c=a("#media-head-"+h),b=a("#imgedit-open-btn-"+h),g=b.siblings("img");b.prop("disabled",true);g.css("visibility","visible");f={action:"image-editor",_ajax_nonce:d,postid:h,"do":"open"};e.load(ajaxurl,f,function(){e.fadeIn("fast");c.fadeOut("fast",function(){b.removeAttr("disabled");g.css("visibility","hidden")})})},imgLoaded:function(d){var b=a("#image-preview-"+d),c=a("#imgedit-crop-"+d);this.initCrop(d,b,c);this.setCropSelection(d,0);this.toggleEditor(d,0)},initCrop:function(g,e,c){var b=this,d=a("#imgedit-sel-width-"+g),f=a("#imgedit-sel-height-"+g);b.iasapi=a(e).imgAreaSelect({parent:c,instance:true,handles:true,keys:true,minWidth:3,minHeight:3,onInit:function(h,i){c.children().mousedown(function(m){var k=false,l,j;if(m.shiftKey){l=b.iasapi.getSelection();j=b.getSelRatio(g);k=(l&&l.width&&l.height)?l.width+":"+l.height:j}b.iasapi.setOptions({aspectRatio:k})})},onSelectStart:function(h,i){imageEdit.setDisabled(a("#imgedit-crop-sel-"+g),1)},onSelectEnd:function(h,i){imageEdit.setCropSelection(g,i)},onSelectChange:function(h,j){var i=imageEdit.hold.sizer;d.val(imageEdit.round(j.width/i));f.val(imageEdit.round(j.height/i))}})},setCropSelection:function(g,f){var e,b=a("#imgedit-minthumb-"+g).val()||"128:128",d=this.hold.sizer;b=b.split(":");f=f||0;if(!f||(f.width<3&&f.height<3)){this.setDisabled(a(".imgedit-crop","#imgedit-panel-"+g),0);this.setDisabled(a("#imgedit-crop-sel-"+g),0);a("#imgedit-sel-width-"+g).val("");a("#imgedit-sel-height-"+g).val("");a("#imgedit-selection-"+g).val("");return false}if(f.width<(b[0]*d)&&f.height<(b[1]*d)){this.setDisabled(a(".imgedit-crop","#imgedit-panel-"+g),0);a("#imgedit-selection-"+g).val("");return false}e={x:f.x1,y:f.y1,w:f.width,h:f.height};this.setDisabled(a(".imgedit-crop","#imgedit-panel-"+g),1);a("#imgedit-selection-"+g).val(JSON.stringify(e))},close:function(c,b){b=b||false;if(b&&this.notsaved(c)){return false}this.iasapi={};this.hold={};a("#image-editor-"+c).fadeOut("fast",function(){a("#media-head-"+c).fadeIn("fast");a(this).empty()})},notsaved:function(e){var c=a("#imgedit-history-"+e).val(),d=(c!="")?JSON.parse(c):new Array(),b=this.intval(a("#imgedit-undone-"+e).val());if(b<d.length){if(confirm(a("#imgedit-leaving-"+e).html())){return false}return true}return false},addStep:function(i,h,d){var c=this,e=a("#imgedit-history-"+h),g=(e.val()!="")?JSON.parse(e.val()):new Array(),f=a("#imgedit-undone-"+h),b=c.intval(f.val());while(b>0){g.pop();b--}f.val(0);g.push(i);e.val(JSON.stringify(g));c.refreshEditor(h,d,function(){c.setDisabled(a("#image-undo-"+h),true);c.setDisabled(a("#image-redo-"+h),false)})},rotate:function(d,e,c,b){if(a(b).hasClass("disabled")){return false}this.addStep({r:{r:d,fw:this.hold.h,fh:this.hold.w}},e,c)},flip:function(d,e,c,b){if(a(b).hasClass("disabled")){return false}this.addStep({f:{f:d,fw:this.hold.w,fh:this.hold.h}},e,c)},crop:function(g,e,c){var f=a("#imgedit-selection-"+g).val(),b=this.intval(a("#imgedit-sel-width-"+g).val()),d=this.intval(a("#imgedit-sel-height-"+g).val());if(a(c).hasClass("disabled")||f==""){return false}f=JSON.parse(f);if(f.w>0&&f.h>0&&b>0&&d>0){f.fw=b;f.fh=d;this.addStep({c:f},g,e)}},undo:function(g,e){var d=this,c=a("#image-undo-"+g),f=a("#imgedit-undone-"+g),b=d.intval(f.val())+1;if(c.hasClass("disabled")){return}f.val(b);d.refreshEditor(g,e,function(){var h=a("#imgedit-history-"+g),i=(h.val()!="")?JSON.parse(h.val()):new Array();d.setDisabled(a("#image-redo-"+g),true);d.setDisabled(c,b<i.length)})},redo:function(g,e){var d=this,c=a("#image-redo-"+g),f=a("#imgedit-undone-"+g),b=d.intval(f.val())-1;if(c.hasClass("disabled")){return}f.val(b);d.refreshEditor(g,e,function(){d.setDisabled(a("#image-undo-"+g),true);d.setDisabled(c,b>0)})},setNumSelection:function(c){var g,k=a("#imgedit-sel-width-"+c),j=a("#imgedit-sel-height-"+c),o=this.intval(k.val()),m=this.intval(j.val()),i=a("#image-preview-"+c),p=i.height(),h=i.width(),b=this.hold.sizer,f,n,e,l,d=this.iasapi;if(o<1){k.val("");return false}if(m<1){j.val("");return false}if(o&&m&&(g=d.getSelection())){e=g.x1+Math.round(o*b);l=g.y1+Math.round(m*b);f=g.x1;n=g.y1;if(e>h){f=0;e=h;k.val(Math.round(e/b))}if(l>p){n=0;l=p;j.val(Math.round(l/b))}d.setSelection(f,n,e,l);d.update();this.setCropSelection(c,d.getSelection())}},round:function(b){var c;b=Math.round(b);if(this.hold.sizer>0.6){return b}c=b.toString().slice(-1);if("1"==c){return b-1}else{if("9"==c){return b+1}}return b},setRatioSelection:function(j,i,d){var f,e,b=this.intval(a("#imgedit-crop-width-"+j).val()),g=this.intval(a("#imgedit-crop-height-"+j).val()),c=a("#image-preview-"+j).height();if(!this.intval(a(d).val())){a(d).val("");return}if(b&&g){this.iasapi.setOptions({aspectRatio:b+":"+g});if(f=this.iasapi.getSelection(true)){e=Math.ceil(f.y1+((f.x2-f.x1)/(b/g)));if(e>c){e=c;if(i){a("#imgedit-crop-height-"+j).val("")}else{a("#imgedit-crop-width-"+j).val("")}}this.iasapi.setSelection(f.x1,f.y1,f.x2,e);this.iasapi.update()}}}}})(jQuery); \ No newline at end of file diff --git a/wp-admin/js/inline-edit-post.dev.js b/wp-admin/js/inline-edit-post.dev.js index 96b36fed5..b470c3352 100644 --- a/wp-admin/js/inline-edit-post.dev.js +++ b/wp-admin/js/inline-edit-post.dev.js @@ -32,12 +32,12 @@ inlineEditPost = { return inlineEditPost.revert(); }); - $('#inline-edit .inline-edit-private input[value=private]').click( function(){ + $('#inline-edit .inline-edit-private input[value="private"]').click( function(){ var pw = $('input.inline-edit-password-input'); - if ( $(this).attr('checked') ) { - pw.val('').attr('disabled', 'disabled'); + if ( $(this).prop('checked') ) { + pw.val('').prop('disabled', true); } else { - pw.attr('disabled', ''); + pw.prop('disabled', false); } }); @@ -74,9 +74,9 @@ inlineEditPost = { } }); - $('#post-query-submit').click(function(e){ - if ( $('form#posts-filter tr.inline-editor').length > 0 ) - t.revert(); + $('#post-query-submit').mousedown(function(e){ + t.revert(); + $('select[name^="action"]').val('-1'); }); }, @@ -94,7 +94,7 @@ inlineEditPost = { $('#bulk-edit').addClass('inline-editor').show(); $('tbody th.check-column input[type="checkbox"]').each(function(i){ - if ( $(this).attr('checked') ) { + if ( $(this).prop('checked') ) { c = false; var id = $(this).val(), theTitle; theTitle = $('#inline_'+id+' .post_title').text() || inlineEditL10n.notitle; @@ -109,7 +109,7 @@ inlineEditPost = { $('#bulk-titles a').click(function(){ var id = $(this).attr('id').substr(1); - $('table.widefat input[value="'+id+'"]').attr('checked', ''); + $('table.widefat input[value="' + id + '"]').prop('checked', false); $('#ttle'+id).remove(); }); @@ -119,6 +119,7 @@ inlineEditPost = { tax = 'post_tag'; $('tr.inline-editor textarea[name="tags_input"]').suggest( 'admin-ajax.php?action=ajax-tag-search&tax='+tax, { delay: 500, minchars: 2, multiple: true, multipleSep: ", " } ); } + $('html, body').animate( { scrollTop: 0 }, 'fast' ); }, edit : function(id) { @@ -142,7 +143,7 @@ inlineEditPost = { // populate the data rowData = $('#inline_'+id); - if ( !$(':input[name="post_author"] option[value=' + $('.post_author', rowData).text() + ']', editRow).val() ) { + if ( !$(':input[name="post_author"] option[value="' + $('.post_author', rowData).text() + '"]', editRow).val() ) { // author no longer has edit caps, so we need to add them to the list of authors $(':input[name="post_author"]', editRow).prepend('<option value="' + $('.post_author', rowData).text() + '">' + $('#' + t.type + '-' + id + ' .author').text() + '</option>'); } @@ -151,15 +152,15 @@ inlineEditPost = { } for ( var f = 0; f < fields.length; f++ ) { - $(':input[name="'+fields[f]+'"]', editRow).val( $('.'+fields[f], rowData).text() ); + $(':input[name="' + fields[f] + '"]', editRow).val( $('.'+fields[f], rowData).text() ); } if ( $('.comment_status', rowData).text() == 'open' ) - $('input[name="comment_status"]', editRow).attr("checked", "checked"); + $('input[name="comment_status"]', editRow).prop("checked", true); if ( $('.ping_status', rowData).text() == 'open' ) - $('input[name="ping_status"]', editRow).attr("checked", "checked"); + $('input[name="ping_status"]', editRow).prop("checked", true); if ( $('.sticky', rowData).text() == 'sticky' ) - $('input[name="sticky"]', editRow).attr("checked", "checked"); + $('input[name="sticky"]', editRow).prop("checked", true); // hierarchical taxonomies $('.post_category', rowData).each(function(){ @@ -188,12 +189,12 @@ inlineEditPost = { $('select[name="_status"] option[value="future"]', editRow).remove(); if ( 'private' == status ) { - $('input[name="keep_private"]', editRow).attr("checked", "checked"); - $('input.inline-edit-password-input').val('').attr('disabled', 'disabled'); + $('input[name="keep_private"]', editRow).prop("checked", true); + $('input.inline-edit-password-input').val('').prop('disabled', true); } // remove the current page and children from the parent dropdown - pageOpt = $('select[name="post_parent"] option[value="'+id+'"]', editRow); + pageOpt = $('select[name="post_parent"] option[value="' + id + '"]', editRow); if ( pageOpt.length > 0 ) { pageLevel = pageOpt[0].className.split('-')[1]; nextPage = pageOpt; @@ -248,10 +249,10 @@ inlineEditPost = { $(inlineEditPost.what+id).hide().fadeIn(); } else { r = r.replace( /<.[^<>]*?>/g, '' ); - $('#edit-'+id+' .inline-edit-save').append('<span class="error">'+r+'</span>'); + $('#edit-'+id+' .inline-edit-save .error').html(r).show(); } } else { - $('#edit-'+id+' .inline-edit-save').append('<span class="error">'+inlineEditL10n.error+'</span>'); + $('#edit-'+id+' .inline-edit-save .error').html(inlineEditL10n.error).show(); } } , 'html'); diff --git a/wp-admin/js/inline-edit-post.js b/wp-admin/js/inline-edit-post.js index e8a7750ca..b72bd878f 100644 --- a/wp-admin/js/inline-edit-post.js +++ b/wp-admin/js/inline-edit-post.js @@ -1 +1 @@ -(function(a){inlineEditPost={init:function(){var c=this,d=a("#inline-edit"),b=a("#bulk-edit");c.type=a("table.widefat").hasClass("pages")?"page":"post";c.what="#post-";d.keyup(function(f){if(f.which==27){return inlineEditPost.revert()}});b.keyup(function(f){if(f.which==27){return inlineEditPost.revert()}});a("a.cancel",d).click(function(){return inlineEditPost.revert()});a("a.save",d).click(function(){return inlineEditPost.save(this)});a("td",d).keydown(function(f){if(f.which==13){return inlineEditPost.save(this)}});a("a.cancel",b).click(function(){return inlineEditPost.revert()});a("#inline-edit .inline-edit-private input[value=private]").click(function(){var e=a("input.inline-edit-password-input");if(a(this).attr("checked")){e.val("").attr("disabled","disabled")}else{e.attr("disabled","")}});a("a.editinline").live("click",function(){inlineEditPost.edit(this);return false});a("#bulk-title-div").parents("fieldset").after(a("#inline-edit fieldset.inline-edit-categories").clone()).siblings("fieldset:last").prepend(a("#inline-edit label.inline-edit-tags").clone());a("span.catshow").click(function(){a(this).hide().next().show().parent().next().addClass("cat-hover")});a("span.cathide").click(function(){a(this).hide().prev().show().parent().next().removeClass("cat-hover")});a('select[name="_status"] option[value="future"]',b).remove();a("#doaction, #doaction2").click(function(f){var g=a(this).attr("id").substr(2);if(a('select[name="'+g+'"]').val()=="edit"){f.preventDefault();c.setBulk()}else{if(a("form#posts-filter tr.inline-editor").length>0){c.revert()}}});a("#post-query-submit").click(function(f){if(a("form#posts-filter tr.inline-editor").length>0){c.revert()}})},toggle:function(c){var b=this;a(b.what+b.getId(c)).css("display")=="none"?b.revert():b.edit(c)},setBulk:function(){var e="",d=this.type,b,f=true;this.revert();a("#bulk-edit td").attr("colspan",a(".widefat:first thead th:visible").length);a("table.widefat tbody").prepend(a("#bulk-edit"));a("#bulk-edit").addClass("inline-editor").show();a('tbody th.check-column input[type="checkbox"]').each(function(g){if(a(this).attr("checked")){f=false;var h=a(this).val(),c;c=a("#inline_"+h+" .post_title").text()||inlineEditL10n.notitle;e+='<div id="ttle'+h+'"><a id="_'+h+'" class="ntdelbutton" title="'+inlineEditL10n.ntdeltitle+'">X</a>'+c+"</div>"}});if(f){return this.revert()}a("#bulk-titles").html(e);a("#bulk-titles a").click(function(){var c=a(this).attr("id").substr(1);a('table.widefat input[value="'+c+'"]').attr("checked","");a("#ttle"+c).remove()});if("post"==d){b="post_tag";a('tr.inline-editor textarea[name="tags_input"]').suggest("admin-ajax.php?action=ajax-tag-search&tax="+b,{delay:500,minchars:2,multiple:true,multipleSep:", "})}},edit:function(b){var o=this,j,d,g,n,i,h,m,l,c=true,p,e;o.revert();if(typeof(b)=="object"){b=o.getId(b)}j=["post_title","post_name","post_author","_status","jj","mm","aa","hh","mn","ss","post_password"];if(o.type=="page"){j.push("post_parent","menu_order","page_template")}d=a("#inline-edit").clone(true);a("td",d).attr("colspan",a(".widefat:first thead th:visible").length);if(a(o.what+b).hasClass("alternate")){a(d).addClass("alternate")}a(o.what+b).hide().after(d);g=a("#inline_"+b);if(!a(':input[name="post_author"] option[value='+a(".post_author",g).text()+"]",d).val()){a(':input[name="post_author"]',d).prepend('<option value="'+a(".post_author",g).text()+'">'+a("#"+o.type+"-"+b+" .author").text()+"</option>")}if(a(':input[name="post_author"] option',d).length==1){a("label.inline-edit-author",d).hide()}for(var k=0;k<j.length;k++){a(':input[name="'+j[k]+'"]',d).val(a("."+j[k],g).text())}if(a(".comment_status",g).text()=="open"){a('input[name="comment_status"]',d).attr("checked","checked")}if(a(".ping_status",g).text()=="open"){a('input[name="ping_status"]',d).attr("checked","checked")}if(a(".sticky",g).text()=="sticky"){a('input[name="sticky"]',d).attr("checked","checked")}a(".post_category",g).each(function(){var f=a(this).text();if(f){taxname=a(this).attr("id").replace("_"+b,"");a("ul."+taxname+"-checklist :checkbox",d).val(f.split(","))}});a(".tags_input",g).each(function(){var f=a(this).text();if(f){taxname=a(this).attr("id").replace("_"+b,"");a("textarea.tax_input_"+taxname,d).val(f);a("textarea.tax_input_"+taxname,d).suggest("admin-ajax.php?action=ajax-tag-search&tax="+taxname,{delay:500,minchars:2,multiple:true,multipleSep:", "})}});i=a("._status",g).text();if("future"!=i){a('select[name="_status"] option[value="future"]',d).remove()}if("private"==i){a('input[name="keep_private"]',d).attr("checked","checked");a("input.inline-edit-password-input").val("").attr("disabled","disabled")}h=a('select[name="post_parent"] option[value="'+b+'"]',d);if(h.length>0){m=h[0].className.split("-")[1];l=h;while(c){l=l.next("option");if(l.length==0){break}p=l[0].className.split("-")[1];if(p<=m){c=false}else{l.remove();l=h}}h.remove()}a(d).attr("id","edit-"+b).addClass("inline-editor").show();a(".ptitle",d).focus();return false},save:function(e){var d,b,c=a(".post_status_page").val()||"";if(typeof(e)=="object"){e=this.getId(e)}a("table.widefat .inline-edit-save .waiting").show();d={action:"inline-save",post_type:typenow,post_ID:e,edit_date:"true",post_status:c};b=a("#edit-"+e+" :input").serialize();d=b+"&"+a.param(d);a.post("admin-ajax.php",d,function(f){a("table.widefat .inline-edit-save .waiting").hide();if(f){if(-1!=f.indexOf("<tr")){a(inlineEditPost.what+e).remove();a("#edit-"+e).before(f).remove();a(inlineEditPost.what+e).hide().fadeIn()}else{f=f.replace(/<.[^<>]*?>/g,"");a("#edit-"+e+" .inline-edit-save").append('<span class="error">'+f+"</span>")}}else{a("#edit-"+e+" .inline-edit-save").append('<span class="error">'+inlineEditL10n.error+"</span>")}},"html");return false},revert:function(){var b=a("table.widefat tr.inline-editor").attr("id");if(b){a("table.widefat .inline-edit-save .waiting").hide();if("bulk-edit"==b){a("table.widefat #bulk-edit").removeClass("inline-editor").hide();a("#bulk-titles").html("");a("#inlineedit").append(a("#bulk-edit"))}else{a("#"+b).remove();b=b.substr(b.lastIndexOf("-")+1);a(this.what+b).show()}}return false},getId:function(c){var d=a(c).closest("tr").attr("id"),b=d.split("-");return b[b.length-1]}};a(document).ready(function(){inlineEditPost.init()})})(jQuery); \ No newline at end of file +(function(a){inlineEditPost={init:function(){var c=this,d=a("#inline-edit"),b=a("#bulk-edit");c.type=a("table.widefat").hasClass("pages")?"page":"post";c.what="#post-";d.keyup(function(f){if(f.which==27){return inlineEditPost.revert()}});b.keyup(function(f){if(f.which==27){return inlineEditPost.revert()}});a("a.cancel",d).click(function(){return inlineEditPost.revert()});a("a.save",d).click(function(){return inlineEditPost.save(this)});a("td",d).keydown(function(f){if(f.which==13){return inlineEditPost.save(this)}});a("a.cancel",b).click(function(){return inlineEditPost.revert()});a('#inline-edit .inline-edit-private input[value="private"]').click(function(){var e=a("input.inline-edit-password-input");if(a(this).prop("checked")){e.val("").prop("disabled",true)}else{e.prop("disabled",false)}});a("a.editinline").live("click",function(){inlineEditPost.edit(this);return false});a("#bulk-title-div").parents("fieldset").after(a("#inline-edit fieldset.inline-edit-categories").clone()).siblings("fieldset:last").prepend(a("#inline-edit label.inline-edit-tags").clone());a("span.catshow").click(function(){a(this).hide().next().show().parent().next().addClass("cat-hover")});a("span.cathide").click(function(){a(this).hide().prev().show().parent().next().removeClass("cat-hover")});a('select[name="_status"] option[value="future"]',b).remove();a("#doaction, #doaction2").click(function(f){var g=a(this).attr("id").substr(2);if(a('select[name="'+g+'"]').val()=="edit"){f.preventDefault();c.setBulk()}else{if(a("form#posts-filter tr.inline-editor").length>0){c.revert()}}});a("#post-query-submit").mousedown(function(f){c.revert();a('select[name^="action"]').val("-1")})},toggle:function(c){var b=this;a(b.what+b.getId(c)).css("display")=="none"?b.revert():b.edit(c)},setBulk:function(){var e="",d=this.type,b,f=true;this.revert();a("#bulk-edit td").attr("colspan",a(".widefat:first thead th:visible").length);a("table.widefat tbody").prepend(a("#bulk-edit"));a("#bulk-edit").addClass("inline-editor").show();a('tbody th.check-column input[type="checkbox"]').each(function(g){if(a(this).prop("checked")){f=false;var h=a(this).val(),c;c=a("#inline_"+h+" .post_title").text()||inlineEditL10n.notitle;e+='<div id="ttle'+h+'"><a id="_'+h+'" class="ntdelbutton" title="'+inlineEditL10n.ntdeltitle+'">X</a>'+c+"</div>"}});if(f){return this.revert()}a("#bulk-titles").html(e);a("#bulk-titles a").click(function(){var c=a(this).attr("id").substr(1);a('table.widefat input[value="'+c+'"]').prop("checked",false);a("#ttle"+c).remove()});if("post"==d){b="post_tag";a('tr.inline-editor textarea[name="tags_input"]').suggest("admin-ajax.php?action=ajax-tag-search&tax="+b,{delay:500,minchars:2,multiple:true,multipleSep:", "})}a("html, body").animate({scrollTop:0},"fast")},edit:function(b){var o=this,j,d,g,n,i,h,m,l,c=true,p,e;o.revert();if(typeof(b)=="object"){b=o.getId(b)}j=["post_title","post_name","post_author","_status","jj","mm","aa","hh","mn","ss","post_password"];if(o.type=="page"){j.push("post_parent","menu_order","page_template")}d=a("#inline-edit").clone(true);a("td",d).attr("colspan",a(".widefat:first thead th:visible").length);if(a(o.what+b).hasClass("alternate")){a(d).addClass("alternate")}a(o.what+b).hide().after(d);g=a("#inline_"+b);if(!a(':input[name="post_author"] option[value="'+a(".post_author",g).text()+'"]',d).val()){a(':input[name="post_author"]',d).prepend('<option value="'+a(".post_author",g).text()+'">'+a("#"+o.type+"-"+b+" .author").text()+"</option>")}if(a(':input[name="post_author"] option',d).length==1){a("label.inline-edit-author",d).hide()}for(var k=0;k<j.length;k++){a(':input[name="'+j[k]+'"]',d).val(a("."+j[k],g).text())}if(a(".comment_status",g).text()=="open"){a('input[name="comment_status"]',d).prop("checked",true)}if(a(".ping_status",g).text()=="open"){a('input[name="ping_status"]',d).prop("checked",true)}if(a(".sticky",g).text()=="sticky"){a('input[name="sticky"]',d).prop("checked",true)}a(".post_category",g).each(function(){var f=a(this).text();if(f){taxname=a(this).attr("id").replace("_"+b,"");a("ul."+taxname+"-checklist :checkbox",d).val(f.split(","))}});a(".tags_input",g).each(function(){var f=a(this).text();if(f){taxname=a(this).attr("id").replace("_"+b,"");a("textarea.tax_input_"+taxname,d).val(f);a("textarea.tax_input_"+taxname,d).suggest("admin-ajax.php?action=ajax-tag-search&tax="+taxname,{delay:500,minchars:2,multiple:true,multipleSep:", "})}});i=a("._status",g).text();if("future"!=i){a('select[name="_status"] option[value="future"]',d).remove()}if("private"==i){a('input[name="keep_private"]',d).prop("checked",true);a("input.inline-edit-password-input").val("").prop("disabled",true)}h=a('select[name="post_parent"] option[value="'+b+'"]',d);if(h.length>0){m=h[0].className.split("-")[1];l=h;while(c){l=l.next("option");if(l.length==0){break}p=l[0].className.split("-")[1];if(p<=m){c=false}else{l.remove();l=h}}h.remove()}a(d).attr("id","edit-"+b).addClass("inline-editor").show();a(".ptitle",d).focus();return false},save:function(e){var d,b,c=a(".post_status_page").val()||"";if(typeof(e)=="object"){e=this.getId(e)}a("table.widefat .inline-edit-save .waiting").show();d={action:"inline-save",post_type:typenow,post_ID:e,edit_date:"true",post_status:c};b=a("#edit-"+e+" :input").serialize();d=b+"&"+a.param(d);a.post("admin-ajax.php",d,function(f){a("table.widefat .inline-edit-save .waiting").hide();if(f){if(-1!=f.indexOf("<tr")){a(inlineEditPost.what+e).remove();a("#edit-"+e).before(f).remove();a(inlineEditPost.what+e).hide().fadeIn()}else{f=f.replace(/<.[^<>]*?>/g,"");a("#edit-"+e+" .inline-edit-save .error").html(f).show()}}else{a("#edit-"+e+" .inline-edit-save .error").html(inlineEditL10n.error).show()}},"html");return false},revert:function(){var b=a("table.widefat tr.inline-editor").attr("id");if(b){a("table.widefat .inline-edit-save .waiting").hide();if("bulk-edit"==b){a("table.widefat #bulk-edit").removeClass("inline-editor").hide();a("#bulk-titles").html("");a("#inlineedit").append(a("#bulk-edit"))}else{a("#"+b).remove();b=b.substr(b.lastIndexOf("-")+1);a(this.what+b).show()}}return false},getId:function(c){var d=a(c).closest("tr").attr("id"),b=d.split("-");return b[b.length-1]}};a(document).ready(function(){inlineEditPost.init()})})(jQuery); \ No newline at end of file diff --git a/wp-admin/js/inline-edit-tax.dev.js b/wp-admin/js/inline-edit-tax.dev.js index a6c228a7f..333bf6bae 100644 --- a/wp-admin/js/inline-edit-tax.dev.js +++ b/wp-admin/js/inline-edit-tax.dev.js @@ -5,7 +5,7 @@ inlineEditTax = { init : function() { var t = this, row = $('#inline-edit'); - t.type = $('#the-list').attr('className').substr(5); + t.type = $('#the-list').attr('class').substr(5); t.what = '#'+t.type+'-'; $('.editinline').live('click', function(){ @@ -20,9 +20,8 @@ inlineEditTax = { $('a.save', row).click(function() { return inlineEditTax.save(this); }); $('input, select', row).keydown(function(e) { if(e.which == 13) return inlineEditTax.save(this); }); - $('#posts-filter input[type="submit"]').click(function(e){ - if ( $('form#posts-filter tr.inline-editor').length > 0 ) - t.revert(); + $('#posts-filter input[type="submit"]').mousedown(function(e){ + t.revert(); }); }, diff --git a/wp-admin/js/inline-edit-tax.js b/wp-admin/js/inline-edit-tax.js index 5f193e1f5..113e5a0e8 100644 --- a/wp-admin/js/inline-edit-tax.js +++ b/wp-admin/js/inline-edit-tax.js @@ -1 +1 @@ -(function(a){inlineEditTax={init:function(){var b=this,c=a("#inline-edit");b.type=a("#the-list").attr("className").substr(5);b.what="#"+b.type+"-";a(".editinline").live("click",function(){inlineEditTax.edit(this);return false});c.keyup(function(d){if(d.which==27){return inlineEditTax.revert()}});a("a.cancel",c).click(function(){return inlineEditTax.revert()});a("a.save",c).click(function(){return inlineEditTax.save(this)});a("input, select",c).keydown(function(d){if(d.which==13){return inlineEditTax.save(this)}});a('#posts-filter input[type="submit"]').click(function(d){if(a("form#posts-filter tr.inline-editor").length>0){b.revert()}})},toggle:function(c){var b=this;a(b.what+b.getId(c)).css("display")=="none"?b.revert():b.edit(c)},edit:function(d){var c=this,b;c.revert();if(typeof(d)=="object"){d=c.getId(d)}b=a("#inline-edit").clone(true),rowData=a("#inline_"+d);a("td",b).attr("colspan",a(".widefat:first thead th:visible").length);if(a(c.what+d).hasClass("alternate")){a(b).addClass("alternate")}a(c.what+d).hide().after(b);a(':input[name="name"]',b).val(a(".name",rowData).text());a(':input[name="slug"]',b).val(a(".slug",rowData).text());a(b).attr("id","edit-"+d).addClass("inline-editor").show();a(".ptitle",b).eq(0).focus();return false},save:function(e){var d,b,c=a('input[name="taxonomy"]').val()||"";if(typeof(e)=="object"){e=this.getId(e)}a("table.widefat .inline-edit-save .waiting").show();d={action:"inline-save-tax",tax_type:this.type,tax_ID:e,taxonomy:c};b=a("#edit-"+e+" :input").serialize();d=b+"&"+a.param(d);a.post("admin-ajax.php",d,function(g){var h,f;a("table.widefat .inline-edit-save .waiting").hide();if(g){if(-1!=g.indexOf("<tr")){a(inlineEditTax.what+e).remove();f=a(g).attr("id");a("#edit-"+e).before(g).remove();h=f?a("#"+f):a(inlineEditTax.what+e);h.hide().fadeIn()}else{a("#edit-"+e+" .inline-edit-save .error").html(g).show()}}else{a("#edit-"+e+" .inline-edit-save .error").html(inlineEditL10n.error).show()}});return false},revert:function(){var b=a("table.widefat tr.inline-editor").attr("id");if(b){a("table.widefat .inline-edit-save .waiting").hide();a("#"+b).remove();b=b.substr(b.lastIndexOf("-")+1);a(this.what+b).show()}return false},getId:function(c){var d=c.tagName=="TR"?c.id:a(c).parents("tr").attr("id"),b=d.split("-");return b[b.length-1]}};a(document).ready(function(){inlineEditTax.init()})})(jQuery); \ No newline at end of file +(function(a){inlineEditTax={init:function(){var b=this,c=a("#inline-edit");b.type=a("#the-list").attr("class").substr(5);b.what="#"+b.type+"-";a(".editinline").live("click",function(){inlineEditTax.edit(this);return false});c.keyup(function(d){if(d.which==27){return inlineEditTax.revert()}});a("a.cancel",c).click(function(){return inlineEditTax.revert()});a("a.save",c).click(function(){return inlineEditTax.save(this)});a("input, select",c).keydown(function(d){if(d.which==13){return inlineEditTax.save(this)}});a('#posts-filter input[type="submit"]').mousedown(function(d){b.revert()})},toggle:function(c){var b=this;a(b.what+b.getId(c)).css("display")=="none"?b.revert():b.edit(c)},edit:function(d){var c=this,b;c.revert();if(typeof(d)=="object"){d=c.getId(d)}b=a("#inline-edit").clone(true),rowData=a("#inline_"+d);a("td",b).attr("colspan",a(".widefat:first thead th:visible").length);if(a(c.what+d).hasClass("alternate")){a(b).addClass("alternate")}a(c.what+d).hide().after(b);a(':input[name="name"]',b).val(a(".name",rowData).text());a(':input[name="slug"]',b).val(a(".slug",rowData).text());a(b).attr("id","edit-"+d).addClass("inline-editor").show();a(".ptitle",b).eq(0).focus();return false},save:function(e){var d,b,c=a('input[name="taxonomy"]').val()||"";if(typeof(e)=="object"){e=this.getId(e)}a("table.widefat .inline-edit-save .waiting").show();d={action:"inline-save-tax",tax_type:this.type,tax_ID:e,taxonomy:c};b=a("#edit-"+e+" :input").serialize();d=b+"&"+a.param(d);a.post("admin-ajax.php",d,function(g){var h,f;a("table.widefat .inline-edit-save .waiting").hide();if(g){if(-1!=g.indexOf("<tr")){a(inlineEditTax.what+e).remove();f=a(g).attr("id");a("#edit-"+e).before(g).remove();h=f?a("#"+f):a(inlineEditTax.what+e);h.hide().fadeIn()}else{a("#edit-"+e+" .inline-edit-save .error").html(g).show()}}else{a("#edit-"+e+" .inline-edit-save .error").html(inlineEditL10n.error).show()}});return false},revert:function(){var b=a("table.widefat tr.inline-editor").attr("id");if(b){a("table.widefat .inline-edit-save .waiting").hide();a("#"+b).remove();b=b.substr(b.lastIndexOf("-")+1);a(this.what+b).show()}return false},getId:function(c){var d=c.tagName=="TR"?c.id:a(c).parents("tr").attr("id"),b=d.split("-");return b[b.length-1]}};a(document).ready(function(){inlineEditTax.init()})})(jQuery); \ No newline at end of file diff --git a/wp-admin/js/link.dev.js b/wp-admin/js/link.dev.js index 2db467a38..5d1671fd9 100644 --- a/wp-admin/js/link.dev.js +++ b/wp-admin/js/link.dev.js @@ -29,7 +29,7 @@ jQuery(document).ready( function($) { return; noSyncChecks = true; var th = $(this), c = th.is(':checked'), id = th.val().toString(); - $('#in-link-category-' + id + ', #in-popular-category-' + id).attr( 'checked', c ); + $('#in-link-category-' + id + ', #in-popular-category-' + id).prop( 'checked', c ); noSyncChecks = false; }; diff --git a/wp-admin/js/link.js b/wp-admin/js/link.js index e394d7d10..3feeaebd2 100644 --- a/wp-admin/js/link.js +++ b/wp-admin/js/link.js @@ -1 +1 @@ -jQuery(document).ready(function(c){var b,a=false,d,e;c("#link_name").focus();postboxes.add_postbox_toggles("link");c("#category-tabs a").click(function(){var f=c(this).attr("href");c(this).parent().addClass("tabs").siblings("li").removeClass("tabs");c(".tabs-panel").hide();c(f).show();if("#categories-all"==f){deleteUserSetting("cats")}else{setUserSetting("cats","pop")}return false});if(getUserSetting("cats")){c('#category-tabs a[href="#categories-pop"]').click()}b=c("#newcat").one("focus",function(){c(this).val("").removeClass("form-input-tip")});c("#category-add-submit").click(function(){b.focus()});d=function(){if(a){return}a=true;var f=c(this),h=f.is(":checked"),g=f.val().toString();c("#in-link-category-"+g+", #in-popular-category-"+g).attr("checked",h);a=false};e=function(g,f){c(f.what+" response_data",g).each(function(){var h=c(c(this).text());h.find("label").each(function(){var j=c(this),l=j.find("input").val(),m=j.find("input")[0].id,i=c.trim(j.text()),k;c("#"+m).change(d);k=c('<option value="'+parseInt(l,10)+'"></option>').text(i)})})};c("#categorychecklist").wpList({alt:"",what:"link-category",response:"category-ajax-response",addAfter:e});c('a[href="#categories-all"]').click(function(){deleteUserSetting("cats")});c('a[href="#categories-pop"]').click(function(){setUserSetting("cats","pop")});if("pop"==getUserSetting("cats")){c('a[href="#categories-pop"]').click()}c("#category-add-toggle").click(function(){c(this).parents("div:first").toggleClass("wp-hidden-children");c('#category-tabs a[href="#categories-all"]').click();c("#newcategory").focus();return false});c(".categorychecklist :checkbox").change(d).filter(":checked").change()}); \ No newline at end of file +jQuery(document).ready(function(c){var b,a=false,d,e;c("#link_name").focus();postboxes.add_postbox_toggles("link");c("#category-tabs a").click(function(){var f=c(this).attr("href");c(this).parent().addClass("tabs").siblings("li").removeClass("tabs");c(".tabs-panel").hide();c(f).show();if("#categories-all"==f){deleteUserSetting("cats")}else{setUserSetting("cats","pop")}return false});if(getUserSetting("cats")){c('#category-tabs a[href="#categories-pop"]').click()}b=c("#newcat").one("focus",function(){c(this).val("").removeClass("form-input-tip")});c("#category-add-submit").click(function(){b.focus()});d=function(){if(a){return}a=true;var f=c(this),h=f.is(":checked"),g=f.val().toString();c("#in-link-category-"+g+", #in-popular-category-"+g).prop("checked",h);a=false};e=function(g,f){c(f.what+" response_data",g).each(function(){var h=c(c(this).text());h.find("label").each(function(){var j=c(this),l=j.find("input").val(),m=j.find("input")[0].id,i=c.trim(j.text()),k;c("#"+m).change(d);k=c('<option value="'+parseInt(l,10)+'"></option>').text(i)})})};c("#categorychecklist").wpList({alt:"",what:"link-category",response:"category-ajax-response",addAfter:e});c('a[href="#categories-all"]').click(function(){deleteUserSetting("cats")});c('a[href="#categories-pop"]').click(function(){setUserSetting("cats","pop")});if("pop"==getUserSetting("cats")){c('a[href="#categories-pop"]').click()}c("#category-add-toggle").click(function(){c(this).parents("div:first").toggleClass("wp-hidden-children");c('#category-tabs a[href="#categories-all"]').click();c("#newcategory").focus();return false});c(".categorychecklist :checkbox").change(d).filter(":checked").change()}); \ No newline at end of file diff --git a/wp-admin/js/media-upload.dev.js b/wp-admin/js/media-upload.dev.js index 7d2565c79..b19f29221 100644 --- a/wp-admin/js/media-upload.dev.js +++ b/wp-admin/js/media-upload.dev.js @@ -3,9 +3,9 @@ function send_to_editor(h) { var ed; if ( typeof tinyMCE != 'undefined' && ( ed = tinyMCE.activeEditor ) && !ed.isHidden() ) { - ed.focus(); - if ( tinymce.isIE ) - ed.selection.moveToBookmark(tinymce.EditorManager.activeEditor.windowManager.bookmark); + // restore caret position on IE + if ( tinymce.isIE && ed.windowManager.insertimagebookmark ) + ed.selection.moveToBookmark(ed.windowManager.insertimagebookmark); if ( h.indexOf('[caption') === 0 ) { if ( ed.plugins.wpeditimage ) @@ -57,13 +57,16 @@ var tb_position; $(window).resize(function(){ tb_position(); }); -})(jQuery); + // store caret position in IE + $(document).ready(function($){ + $('a.thickbox').click(function(){ + var ed; -jQuery(document).ready(function($){ - $('a.thickbox').click(function(){ - if ( typeof tinyMCE != 'undefined' && tinyMCE.activeEditor ) { - tinyMCE.get('content').focus(); - tinyMCE.activeEditor.windowManager.bookmark = tinyMCE.activeEditor.selection.getBookmark('simple'); - } + if ( typeof tinyMCE != 'undefined' && tinymce.isIE && ( ed = tinyMCE.activeEditor ) && !ed.isHidden() ) { + ed.focus(); + ed.windowManager.insertimagebookmark = ed.selection.getBookmark(); + } + }); }); -}); + +})(jQuery); diff --git a/wp-admin/js/media-upload.js b/wp-admin/js/media-upload.js index a1184f34f..201f6abc2 100644 --- a/wp-admin/js/media-upload.js +++ b/wp-admin/js/media-upload.js @@ -1 +1 @@ -function send_to_editor(b){var a;if(typeof tinyMCE!="undefined"&&(a=tinyMCE.activeEditor)&&!a.isHidden()){a.focus();if(tinymce.isIE){a.selection.moveToBookmark(tinymce.EditorManager.activeEditor.windowManager.bookmark)}if(b.indexOf("[caption")===0){if(a.plugins.wpeditimage){b=a.plugins.wpeditimage._do_shcode(b)}}else{if(b.indexOf("[gallery")===0){if(a.plugins.wpgallery){b=a.plugins.wpgallery._do_gallery(b)}}else{if(b.indexOf("[embed")===0){if(a.plugins.wordpress){b=a.plugins.wordpress._setEmbed(b)}}}}a.execCommand("mceInsertContent",false,b)}else{if(typeof edInsertContent=="function"){edInsertContent(edCanvas,b)}else{jQuery(edCanvas).val(jQuery(edCanvas).val()+b)}}tb_remove()}var tb_position;(function(a){tb_position=function(){var f=a("#TB_window"),e=a(window).width(),d=a(window).height(),c=(720<e)?720:e,b=0;if(a("body.admin-bar").length){b=28}if(f.size()){f.width(c-50).height(d-45-b);a("#TB_iframeContent").width(c-50).height(d-75-b);f.css({"margin-left":"-"+parseInt(((c-50)/2),10)+"px"});if(typeof document.body.style.maxWidth!="undefined"){f.css({top:20+b+"px","margin-top":"0"})}}return a("a.thickbox").each(function(){var g=a(this).attr("href");if(!g){return}g=g.replace(/&width=[0-9]+/g,"");g=g.replace(/&height=[0-9]+/g,"");a(this).attr("href",g+"&width="+(c-80)+"&height="+(d-85-b))})};a(window).resize(function(){tb_position()})})(jQuery);jQuery(document).ready(function(a){a("a.thickbox").click(function(){if(typeof tinyMCE!="undefined"&&tinyMCE.activeEditor){tinyMCE.get("content").focus();tinyMCE.activeEditor.windowManager.bookmark=tinyMCE.activeEditor.selection.getBookmark("simple")}})}); \ No newline at end of file +function send_to_editor(b){var a;if(typeof tinyMCE!="undefined"&&(a=tinyMCE.activeEditor)&&!a.isHidden()){if(tinymce.isIE&&a.windowManager.insertimagebookmark){a.selection.moveToBookmark(a.windowManager.insertimagebookmark)}if(b.indexOf("[caption")===0){if(a.plugins.wpeditimage){b=a.plugins.wpeditimage._do_shcode(b)}}else{if(b.indexOf("[gallery")===0){if(a.plugins.wpgallery){b=a.plugins.wpgallery._do_gallery(b)}}else{if(b.indexOf("[embed")===0){if(a.plugins.wordpress){b=a.plugins.wordpress._setEmbed(b)}}}}a.execCommand("mceInsertContent",false,b)}else{if(typeof edInsertContent=="function"){edInsertContent(edCanvas,b)}else{jQuery(edCanvas).val(jQuery(edCanvas).val()+b)}}tb_remove()}var tb_position;(function(a){tb_position=function(){var f=a("#TB_window"),e=a(window).width(),d=a(window).height(),c=(720<e)?720:e,b=0;if(a("body.admin-bar").length){b=28}if(f.size()){f.width(c-50).height(d-45-b);a("#TB_iframeContent").width(c-50).height(d-75-b);f.css({"margin-left":"-"+parseInt(((c-50)/2),10)+"px"});if(typeof document.body.style.maxWidth!="undefined"){f.css({top:20+b+"px","margin-top":"0"})}}return a("a.thickbox").each(function(){var g=a(this).attr("href");if(!g){return}g=g.replace(/&width=[0-9]+/g,"");g=g.replace(/&height=[0-9]+/g,"");a(this).attr("href",g+"&width="+(c-80)+"&height="+(d-85-b))})};a(window).resize(function(){tb_position()});a(document).ready(function(b){b("a.thickbox").click(function(){var c;if(typeof tinyMCE!="undefined"&&tinymce.isIE&&(c=tinyMCE.activeEditor)&&!c.isHidden()){c.focus();c.windowManager.insertimagebookmark=c.selection.getBookmark()}})})})(jQuery); \ No newline at end of file diff --git a/wp-admin/js/nav-menu.dev.js b/wp-admin/js/nav-menu.dev.js index d58d6b273..33cc6cf25 100644 --- a/wp-admin/js/nav-menu.dev.js +++ b/wp-admin/js/nav-menu.dev.js @@ -461,7 +461,7 @@ var wpNavMenu; var loc = $('#nav-menu-theme-locations'), params = {}; params['action'] = 'menu-locations-save'; params['menu-settings-column-nonce'] = $('#menu-settings-column-nonce').val(); - loc.find('input[type=submit]').click(function() { + loc.find('input[type="submit"]').click(function() { loc.find('select').each(function() { params[this.name] = $(this).val(); }); @@ -598,7 +598,7 @@ var wpNavMenu; }; } else { // Make the post boxes read-only, as they can't be used yet - $('#menu-settings-column').find('input,select').attr('disabled', 'disabled').end().find('a').attr('href', '#').unbind('click'); + $('#menu-settings-column').find('input,select').prop('disabled', true).end().find('a').attr('href', '#').unbind('click'); } }, @@ -640,7 +640,7 @@ var wpNavMenu; if( items.length === items.filter(':checked').length ) items.removeAttr('checked'); else - items.attr('checked', 'checked'); + items.prop('checked', true); return false; } } else if ( target.hasClass('submit-add-to-menu') ) { diff --git a/wp-admin/js/nav-menu.js b/wp-admin/js/nav-menu.js index 09248e1fa..db66d672e 100644 --- a/wp-admin/js/nav-menu.js +++ b/wp-admin/js/nav-menu.js @@ -1 +1 @@ -var wpNavMenu;(function(b){var a=wpNavMenu={options:{menuItemDepthPerLevel:30,globalMaxDepth:11},menuList:undefined,targetList:undefined,menusChanged:false,isRTL:!!("undefined"!=typeof isRtl&&isRtl),negateIfRTL:("undefined"!=typeof isRtl&&isRtl)?-1:1,init:function(){a.menuList=b("#menu-to-edit");a.targetList=a.menuList;this.jQueryExtensions();this.attachMenuEditListeners();this.setupInputWithDefaultTitle();this.attachQuickSearchListeners();this.attachThemeLocationsListeners();this.attachTabsPanelListeners();this.attachUnsavedChangesListener();if(a.menuList.length){this.initSortables()}this.initToggles();this.initTabManager()},jQueryExtensions:function(){b.fn.extend({menuItemDepth:function(){var c=a.isRTL?this.eq(0).css("margin-right"):this.eq(0).css("margin-left");return a.pxToDepth(c&&-1!=c.indexOf("px")?c.slice(0,-2):0)},updateDepthClass:function(d,c){return this.each(function(){var e=b(this);c=c||e.menuItemDepth();b(this).removeClass("menu-item-depth-"+c).addClass("menu-item-depth-"+d)})},shiftDepthClass:function(c){return this.each(function(){var d=b(this),e=d.menuItemDepth();b(this).removeClass("menu-item-depth-"+e).addClass("menu-item-depth-"+(e+c))})},childMenuItems:function(){var c=b();this.each(function(){var d=b(this),f=d.menuItemDepth(),e=d.next();while(e.length&&e.menuItemDepth()>f){c=c.add(e);e=e.next()}});return c},updateParentMenuItemDBId:function(){return this.each(function(){var e=b(this),c=e.find(".menu-item-data-parent-id"),f=e.menuItemDepth(),d=e.prev();if(f==0){c.val(0)}else{while(!d[0]||!d[0].className||-1==d[0].className.indexOf("menu-item")||(d.menuItemDepth()!=f-1)){d=d.prev()}c.val(d.find(".menu-item-data-db-id").val())}})},hideAdvancedMenuItemFields:function(){return this.each(function(){var c=b(this);b(".hide-column-tog").not(":checked").each(function(){c.find(".field-"+b(this).val()).addClass("hidden-field")})})},addSelectedToMenu:function(c){if(0==b("#menu-to-edit").length){return false}return this.each(function(){var e=b(this),d={},g=e.find(".tabs-panel-active .categorychecklist li input:checked"),f=new RegExp("menu-item\\[([^\\]]*)");c=c||a.addMenuItemToBottom;if(!g.length){return false}e.find("img.waiting").show();b(g).each(function(){var i=b(this),h=f.exec(i.attr("name")),j="undefined"==typeof h[1]?0:parseInt(h[1],10);if(this.className&&-1!=this.className.indexOf("add-to-top")){c=a.addMenuItemToTop}d[j]=i.closest("li").getItemData("add-menu-item",j)});a.addItemToMenu(d,c,function(){g.removeAttr("checked");e.find("img.waiting").hide()})})},getItemData:function(f,g){f=f||"menu-item";var d={},e,c=["menu-item-db-id","menu-item-object-id","menu-item-object","menu-item-parent-id","menu-item-position","menu-item-type","menu-item-title","menu-item-url","menu-item-description","menu-item-attr-title","menu-item-target","menu-item-classes","menu-item-xfn"];if(!g&&f=="menu-item"){g=this.find(".menu-item-data-db-id").val()}if(!g){return d}this.find("input").each(function(){var h;e=c.length;while(e--){if(f=="menu-item"){h=c[e]+"["+g+"]"}else{if(f=="add-menu-item"){h="menu-item["+g+"]["+c[e]+"]"}}if(this.name&&h==this.name){d[c[e]]=this.value}}});return d},setItemData:function(c,d,e){d=d||"menu-item";if(!e&&d=="menu-item"){e=b(".menu-item-data-db-id",this).val()}if(!e){return this}this.find("input").each(function(){var f=b(this),g;b.each(c,function(h,i){if(d=="menu-item"){g=h+"["+e+"]"}else{if(d=="add-menu-item"){g="menu-item["+e+"]["+h+"]"}}if(g==f.attr("name")){f.val(i)}})});return this}})},initToggles:function(){postboxes.add_postbox_toggles("nav-menus");columns.useCheckboxesForHidden();columns.checked=function(c){b(".field-"+c).removeClass("hidden-field")};columns.unchecked=function(c){b(".field-"+c).addClass("hidden-field")};a.menuList.hideAdvancedMenuItemFields()},initSortables:function(){var p=0,e,t,d,l,o,f,c,i,s,m=a.menuList.offset().left,h=b("body"),q,n=r();m+=a.isRTL?a.menuList.width():0;a.menuList.sortable({handle:".menu-item-handle",placeholder:"sortable-placeholder",start:function(A,z){var u,x,w,v,y;if(a.isRTL){z.item[0].style.right="auto"}s=z.item.children(".menu-item-transport");e=z.item.menuItemDepth();j(z,e);w=(z.item.next()[0]==z.placeholder[0])?z.item.next():z.item;v=w.childMenuItems();s.append(v);u=s.outerHeight();u+=(u>0)?(z.placeholder.css("margin-top").slice(0,-2)*1):0;u+=z.helper.outerHeight();i=u;u-=2;z.placeholder.height(u);q=e;v.each(function(){var B=b(this).menuItemDepth();q=(B>q)?B:q});x=z.helper.find(".menu-item-handle").outerWidth();x+=a.depthToPx(q-e);x-=2;z.placeholder.width(x);y=z.placeholder.next();y.css("margin-top",i+"px");z.placeholder.detach();b(this).sortable("refresh");z.item.after(z.placeholder);y.css("margin-top",0);k(z)},stop:function(x,w){var v,u=p-e;v=s.children().insertAfter(w.item);if(u!=0){w.item.updateDepthClass(p);v.shiftDepthClass(u);g(u)}a.registerChange();w.item.updateParentMenuItemDBId();w.item[0].style.top=0;if(a.isRTL){w.item[0].style.left="auto";w.item[0].style.right=0}a.refreshMenuTabs(true)},change:function(v,u){if(!u.placeholder.parent().hasClass("menu")){(l.length)?l.after(u.placeholder):a.menuList.prepend(u.placeholder)}k(u)},sort:function(w,v){var y=v.helper.offset(),u=a.isRTL?y.left+v.helper.width():y.left,x=a.negateIfRTL*a.pxToDepth(u-m);if(x>d||y.top<f){x=d}else{if(x<t){x=t}}if(x!=p){j(v,x)}if(c&&y.top+i>c){o.after(v.placeholder);k(v);b(this).sortable("refreshPositions")}}});function k(u){var v;l=u.placeholder.prev();o=u.placeholder.next();if(l[0]==u.item[0]){l=l.prev()}if(o[0]==u.item[0]){o=o.next()}f=(l.length)?l.offset().top+l.height():0;c=(o.length)?o.offset().top+o.height()/3:0;t=(o.length)?o.menuItemDepth():0;if(l.length){d=((v=l.menuItemDepth()+1)>a.options.globalMaxDepth)?a.options.globalMaxDepth:v}else{d=0}}function j(u,v){u.placeholder.updateDepthClass(v,p);p=v}function r(){if(!h[0].className){return 0}var u=h[0].className.match(/menu-max-depth-(\d+)/);return u&&u[1]?parseInt(u[1]):0}function g(u){var v,w=n;if(u===0){return}else{if(u>0){v=q+u;if(v>n){w=v}}else{if(u<0&&q==n){while(!b(".menu-item-depth-"+w,a.menuList).length&&w>0){w--}}}}h.removeClass("menu-max-depth-"+n).addClass("menu-max-depth-"+w);n=w}},attachMenuEditListeners:function(){var c=this;b("#update-nav-menu").bind("click",function(d){if(d.target&&d.target.className){if(-1!=d.target.className.indexOf("item-edit")){return c.eventOnClickEditLink(d.target)}else{if(-1!=d.target.className.indexOf("menu-save")){return c.eventOnClickMenuSave(d.target)}else{if(-1!=d.target.className.indexOf("menu-delete")){return c.eventOnClickMenuDelete(d.target)}else{if(-1!=d.target.className.indexOf("item-delete")){return c.eventOnClickMenuItemDelete(d.target)}else{if(-1!=d.target.className.indexOf("item-cancel")){return c.eventOnClickCancelLink(d.target)}}}}}}})},setupInputWithDefaultTitle:function(){var c="input-with-default-title";b("."+c).each(function(){var f=b(this),e=f.attr("title"),d=f.val();f.data(c,e);if(""==d){f.val(e)}else{if(e==d){return}else{f.removeClass(c)}}}).focus(function(){var d=b(this);if(d.val()==d.data(c)){d.val("").removeClass(c)}}).blur(function(){var d=b(this);if(""==d.val()){d.addClass(c).val(d.data(c))}})},attachThemeLocationsListeners:function(){var d=b("#nav-menu-theme-locations"),c={};c.action="menu-locations-save";c["menu-settings-column-nonce"]=b("#menu-settings-column-nonce").val();d.find("input[type=submit]").click(function(){d.find("select").each(function(){c[this.name]=b(this).val()});d.find(".waiting").show();b.post(ajaxurl,c,function(e){d.find(".waiting").hide()});return false})},attachQuickSearchListeners:function(){var c;b(".quick-search").keypress(function(f){var d=b(this);if(13==f.which){a.updateQuickSearchResults(d);return false}if(c){clearTimeout(c)}c=setTimeout(function(){a.updateQuickSearchResults(d)},400)}).attr("autocomplete","off")},updateQuickSearchResults:function(d){var c,g,e=2,f=d.val();if(f.length<e){return}c=d.parents(".tabs-panel");g={action:"menu-quick-search","response-format":"markup",menu:b("#menu").val(),"menu-settings-column-nonce":b("#menu-settings-column-nonce").val(),q:f,type:d.attr("name")};b("img.waiting",c).show();b.post(ajaxurl,g,function(h){a.processQuickSearchQueryResponse(h,g,c)})},addCustomLink:function(c){var e=b("#custom-menu-item-url").val(),d=b("#custom-menu-item-name").val();c=c||a.addMenuItemToBottom;if(""==e||"http://"==e){return false}b(".customlinkdiv img.waiting").show();this.addLinkToMenu(e,d,c,function(){b(".customlinkdiv img.waiting").hide();b("#custom-menu-item-name").val("").blur();b("#custom-menu-item-url").val("http://")})},addLinkToMenu:function(e,d,c,f){c=c||a.addMenuItemToBottom;f=f||function(){};a.addItemToMenu({"-1":{"menu-item-type":"custom","menu-item-url":e,"menu-item-title":d}},c,f)},addItemToMenu:function(e,c,g){var f=b("#menu").val(),d=b("#menu-settings-column-nonce").val();c=c||function(){};g=g||function(){};params={action:"add-menu-item",menu:f,"menu-settings-column-nonce":d,"menu-item":e};b.post(ajaxurl,params,function(h){var i=b("#menu-instructions");c(h,params);if(!i.hasClass("menu-instructions-inactive")&&i.siblings().length){i.addClass("menu-instructions-inactive")}g()})},addMenuItemToBottom:function(c,d){b(c).hideAdvancedMenuItemFields().appendTo(a.targetList)},addMenuItemToTop:function(c,d){b(c).hideAdvancedMenuItemFields().prependTo(a.targetList)},attachUnsavedChangesListener:function(){b("#menu-management input, #menu-management select, #menu-management, #menu-management textarea").change(function(){a.registerChange()});if(0!=b("#menu-to-edit").length){window.onbeforeunload=function(){if(a.menusChanged){return navMenuL10n.saveAlert}}}else{b("#menu-settings-column").find("input,select").attr("disabled","disabled").end().find("a").attr("href","#").unbind("click")}},registerChange:function(){a.menusChanged=true},attachTabsPanelListeners:function(){b("#menu-settings-column").bind("click",function(h){var f,d,i,c,g=b(h.target);if(g.hasClass("nav-tab-link")){d=/#(.*)$/.exec(h.target.href);if(d&&d[1]){d=d[1]}else{return false}i=g.parents(".inside").first();b("input",i).removeAttr("checked");b(".tabs-panel-active",i).removeClass("tabs-panel-active").addClass("tabs-panel-inactive");b("#"+d,i).removeClass("tabs-panel-inactive").addClass("tabs-panel-active");b(".tabs",i).removeClass("tabs");g.parent().addClass("tabs");b(".quick-search",i).focus();return false}else{if(g.hasClass("select-all")){f=/#(.*)$/.exec(h.target.href);if(f&&f[1]){c=b("#"+f[1]+" .tabs-panel-active .menu-item-title input");if(c.length===c.filter(":checked").length){c.removeAttr("checked")}else{c.attr("checked","checked")}return false}}else{if(g.hasClass("submit-add-to-menu")){a.registerChange();if(h.target.id&&"submit-customlinkdiv"==h.target.id){a.addCustomLink(a.addMenuItemToBottom)}else{if(h.target.id&&-1!=h.target.id.indexOf("submit-")){b("#"+h.target.id.replace(/submit-/,"")).addSelectedToMenu(a.addMenuItemToBottom)}}return false}else{if(g.hasClass("page-numbers")){b.post(ajaxurl,h.target.href.replace(/.*\?/,"").replace(/action=([^&]*)/,"")+"&action=menu-get-metabox",function(m){if(-1==m.indexOf("replace-id")){return}var l=b.parseJSON(m),e=document.getElementById(l["replace-id"]),k=document.createElement("div"),j=document.createElement("div");if(!l.markup||!e){return}j.innerHTML=l.markup?l.markup:"";e.parentNode.insertBefore(k,e);k.parentNode.removeChild(e);k.parentNode.insertBefore(j,k);k.parentNode.removeChild(k)});return false}}}}})},initTabManager:function(){var h=b(".nav-tabs-wrapper"),j=h.children(".nav-tabs"),g=j.children(".nav-tab-active"),m=j.children(".nav-tab"),e=0,o,f,l,d,k,i={},c=a.isRTL?"margin-right":"margin-left",p=a.isRTL?"margin-left":"margin-right",n=2;a.refreshMenuTabs=function(q){var t=h.width(),s=0,r={};f=h.offset().left;o=f+t;if(!q){g.makeTabVisible()}if(m.last().isTabVisible()){s=h.width()-e;s=s>0?0:s;r[c]=s+"px";j.animate(r,100,"linear")}if(t>e){l.add(d).hide()}else{l.add(d).show()}};b.fn.extend({makeTabVisible:function(){var u=this.eq(0),v,s,r={},q=0;if(!u.length){return this}v=u.offset().left;s=v+u.outerWidth();if(s>o){q=o-s}else{if(v<f){q=f-v}}if(!q){return this}r[c]="+="+a.negateIfRTL*q+"px";j.animate(r,Math.abs(q)*n,"linear");return this},isTabVisible:function(){var r=this.eq(0),s=r.offset().left,q=s+r.outerWidth();return(q<=o&&s>=f)?true:false}});m.each(function(){e+=b(this).outerWidth(true)});i.padding=0;i[p]=(-1*e)+"px";j.css(i);l=b('<div class="nav-tabs-arrow nav-tabs-arrow-left"><a>«</a></div>');d=b('<div class="nav-tabs-arrow nav-tabs-arrow-right"><a>»</a></div>');h.wrap('<div class="nav-tabs-nav"/>').parent().prepend(l).append(d);a.refreshMenuTabs();b(window).resize(function(){if(k){clearTimeout(k)}k=setTimeout(a.refreshMenuTabs,200)});b.each([{arrow:l,next:"next",last:"first",operator:"+="},{arrow:d,next:"prev",last:"last",operator:"-="}],function(){var q=this;this.arrow.mousedown(function(){var t=Math.abs(parseInt(j.css(c))),r=t,s={};if("-="==q.operator){r=Math.abs(e-h.width())-t}if(!r){return}s[c]=q.operator+r+"px";j.animate(s,r*n,"linear")}).mouseup(function(){var s,r;j.stop(true);s=m[q.last]();while((r=s[q.next]())&&r.length&&!r.isTabVisible()){s=r}s.makeTabVisible()})})},eventOnClickEditLink:function(d){var c,e,f=/#(.*)$/.exec(d.href);if(f&&f[1]){c=b("#"+f[1]);e=c.parent();if(0!=e.length){if(e.hasClass("menu-item-edit-inactive")){if(!c.data("menu-item-data")){c.data("menu-item-data",c.getItemData())}c.slideDown("fast");e.removeClass("menu-item-edit-inactive").addClass("menu-item-edit-active")}else{c.slideUp("fast");e.removeClass("menu-item-edit-active").addClass("menu-item-edit-inactive")}return false}}},eventOnClickCancelLink:function(d){var c=b(d).closest(".menu-item-settings");c.setItemData(c.data("menu-item-data"));return false},eventOnClickMenuSave:function(e){var f="",c=b("#menu-name"),d=c.val();if(!d||d==c.attr("title")||!d.replace(/\s+/,"")){c.parent().addClass("form-invalid");return false}b("#nav-menu-theme-locations select").each(function(){f+='<input type="hidden" name="'+this.name+'" value="'+b(this).val()+'" />'});b("#update-nav-menu").append(f);a.menuList.find(".menu-item-data-position").val(function(g){return g+1});window.onbeforeunload=null;return true},eventOnClickMenuDelete:function(c){if(confirm(navMenuL10n.warnDeleteMenu)){window.onbeforeunload=null;return true}return false},eventOnClickMenuItemDelete:function(c){var d=parseInt(c.id.replace("delete-",""),10);a.removeMenuItem(b("#menu-item-"+d));a.registerChange();return false},processQuickSearchQueryResponse:function(g,k,c){var e,i,f={},d=document.getElementById("nav-menu-meta"),j=new RegExp("menu-item\\[([^\\]]*)","g"),h=b("<div>").html(g).find("li"),l;if(!h.length){b(".categorychecklist",c).html("<li><p>"+navMenuL10n.noResultsFound+"</p></li>");b("img.waiting",c).hide();return}h.each(function(){l=b(this);e=j.exec(l.html());if(e&&e[1]){i=e[1];while(d.elements["menu-item["+i+"][menu-item-type]"]||f[i]){i--}f[i]=true;if(i!=e[1]){l.html(l.html().replace(new RegExp("menu-item\\["+e[1]+"\\]","g"),"menu-item["+i+"]"))}}});b(".categorychecklist",c).html(h);b("img.waiting",c).hide()},removeMenuItem:function(d){var c=d.childMenuItems();d.addClass("deleting").animate({opacity:0,height:0},350,function(){var e=b("#menu-instructions");d.remove();c.shiftDepthClass(-1).updateParentMenuItemDBId();if(!e.siblings().length){e.removeClass("menu-instructions-inactive")}})},depthToPx:function(c){return c*a.options.menuItemDepthPerLevel},pxToDepth:function(c){return Math.floor(c/a.options.menuItemDepthPerLevel)}};b(document).ready(function(){wpNavMenu.init()})})(jQuery); \ No newline at end of file +var wpNavMenu;(function(b){var a=wpNavMenu={options:{menuItemDepthPerLevel:30,globalMaxDepth:11},menuList:undefined,targetList:undefined,menusChanged:false,isRTL:!!("undefined"!=typeof isRtl&&isRtl),negateIfRTL:("undefined"!=typeof isRtl&&isRtl)?-1:1,init:function(){a.menuList=b("#menu-to-edit");a.targetList=a.menuList;this.jQueryExtensions();this.attachMenuEditListeners();this.setupInputWithDefaultTitle();this.attachQuickSearchListeners();this.attachThemeLocationsListeners();this.attachTabsPanelListeners();this.attachUnsavedChangesListener();if(a.menuList.length){this.initSortables()}this.initToggles();this.initTabManager()},jQueryExtensions:function(){b.fn.extend({menuItemDepth:function(){var c=a.isRTL?this.eq(0).css("margin-right"):this.eq(0).css("margin-left");return a.pxToDepth(c&&-1!=c.indexOf("px")?c.slice(0,-2):0)},updateDepthClass:function(d,c){return this.each(function(){var e=b(this);c=c||e.menuItemDepth();b(this).removeClass("menu-item-depth-"+c).addClass("menu-item-depth-"+d)})},shiftDepthClass:function(c){return this.each(function(){var d=b(this),e=d.menuItemDepth();b(this).removeClass("menu-item-depth-"+e).addClass("menu-item-depth-"+(e+c))})},childMenuItems:function(){var c=b();this.each(function(){var d=b(this),f=d.menuItemDepth(),e=d.next();while(e.length&&e.menuItemDepth()>f){c=c.add(e);e=e.next()}});return c},updateParentMenuItemDBId:function(){return this.each(function(){var e=b(this),c=e.find(".menu-item-data-parent-id"),f=e.menuItemDepth(),d=e.prev();if(f==0){c.val(0)}else{while(!d[0]||!d[0].className||-1==d[0].className.indexOf("menu-item")||(d.menuItemDepth()!=f-1)){d=d.prev()}c.val(d.find(".menu-item-data-db-id").val())}})},hideAdvancedMenuItemFields:function(){return this.each(function(){var c=b(this);b(".hide-column-tog").not(":checked").each(function(){c.find(".field-"+b(this).val()).addClass("hidden-field")})})},addSelectedToMenu:function(c){if(0==b("#menu-to-edit").length){return false}return this.each(function(){var e=b(this),d={},g=e.find(".tabs-panel-active .categorychecklist li input:checked"),f=new RegExp("menu-item\\[([^\\]]*)");c=c||a.addMenuItemToBottom;if(!g.length){return false}e.find("img.waiting").show();b(g).each(function(){var i=b(this),h=f.exec(i.attr("name")),j="undefined"==typeof h[1]?0:parseInt(h[1],10);if(this.className&&-1!=this.className.indexOf("add-to-top")){c=a.addMenuItemToTop}d[j]=i.closest("li").getItemData("add-menu-item",j)});a.addItemToMenu(d,c,function(){g.removeAttr("checked");e.find("img.waiting").hide()})})},getItemData:function(f,g){f=f||"menu-item";var d={},e,c=["menu-item-db-id","menu-item-object-id","menu-item-object","menu-item-parent-id","menu-item-position","menu-item-type","menu-item-title","menu-item-url","menu-item-description","menu-item-attr-title","menu-item-target","menu-item-classes","menu-item-xfn"];if(!g&&f=="menu-item"){g=this.find(".menu-item-data-db-id").val()}if(!g){return d}this.find("input").each(function(){var h;e=c.length;while(e--){if(f=="menu-item"){h=c[e]+"["+g+"]"}else{if(f=="add-menu-item"){h="menu-item["+g+"]["+c[e]+"]"}}if(this.name&&h==this.name){d[c[e]]=this.value}}});return d},setItemData:function(c,d,e){d=d||"menu-item";if(!e&&d=="menu-item"){e=b(".menu-item-data-db-id",this).val()}if(!e){return this}this.find("input").each(function(){var f=b(this),g;b.each(c,function(h,i){if(d=="menu-item"){g=h+"["+e+"]"}else{if(d=="add-menu-item"){g="menu-item["+e+"]["+h+"]"}}if(g==f.attr("name")){f.val(i)}})});return this}})},initToggles:function(){postboxes.add_postbox_toggles("nav-menus");columns.useCheckboxesForHidden();columns.checked=function(c){b(".field-"+c).removeClass("hidden-field")};columns.unchecked=function(c){b(".field-"+c).addClass("hidden-field")};a.menuList.hideAdvancedMenuItemFields()},initSortables:function(){var p=0,e,t,d,l,o,f,c,i,s,m=a.menuList.offset().left,h=b("body"),q,n=r();m+=a.isRTL?a.menuList.width():0;a.menuList.sortable({handle:".menu-item-handle",placeholder:"sortable-placeholder",start:function(A,z){var u,x,w,v,y;if(a.isRTL){z.item[0].style.right="auto"}s=z.item.children(".menu-item-transport");e=z.item.menuItemDepth();j(z,e);w=(z.item.next()[0]==z.placeholder[0])?z.item.next():z.item;v=w.childMenuItems();s.append(v);u=s.outerHeight();u+=(u>0)?(z.placeholder.css("margin-top").slice(0,-2)*1):0;u+=z.helper.outerHeight();i=u;u-=2;z.placeholder.height(u);q=e;v.each(function(){var B=b(this).menuItemDepth();q=(B>q)?B:q});x=z.helper.find(".menu-item-handle").outerWidth();x+=a.depthToPx(q-e);x-=2;z.placeholder.width(x);y=z.placeholder.next();y.css("margin-top",i+"px");z.placeholder.detach();b(this).sortable("refresh");z.item.after(z.placeholder);y.css("margin-top",0);k(z)},stop:function(x,w){var v,u=p-e;v=s.children().insertAfter(w.item);if(u!=0){w.item.updateDepthClass(p);v.shiftDepthClass(u);g(u)}a.registerChange();w.item.updateParentMenuItemDBId();w.item[0].style.top=0;if(a.isRTL){w.item[0].style.left="auto";w.item[0].style.right=0}a.refreshMenuTabs(true)},change:function(v,u){if(!u.placeholder.parent().hasClass("menu")){(l.length)?l.after(u.placeholder):a.menuList.prepend(u.placeholder)}k(u)},sort:function(w,v){var y=v.helper.offset(),u=a.isRTL?y.left+v.helper.width():y.left,x=a.negateIfRTL*a.pxToDepth(u-m);if(x>d||y.top<f){x=d}else{if(x<t){x=t}}if(x!=p){j(v,x)}if(c&&y.top+i>c){o.after(v.placeholder);k(v);b(this).sortable("refreshPositions")}}});function k(u){var v;l=u.placeholder.prev();o=u.placeholder.next();if(l[0]==u.item[0]){l=l.prev()}if(o[0]==u.item[0]){o=o.next()}f=(l.length)?l.offset().top+l.height():0;c=(o.length)?o.offset().top+o.height()/3:0;t=(o.length)?o.menuItemDepth():0;if(l.length){d=((v=l.menuItemDepth()+1)>a.options.globalMaxDepth)?a.options.globalMaxDepth:v}else{d=0}}function j(u,v){u.placeholder.updateDepthClass(v,p);p=v}function r(){if(!h[0].className){return 0}var u=h[0].className.match(/menu-max-depth-(\d+)/);return u&&u[1]?parseInt(u[1]):0}function g(u){var v,w=n;if(u===0){return}else{if(u>0){v=q+u;if(v>n){w=v}}else{if(u<0&&q==n){while(!b(".menu-item-depth-"+w,a.menuList).length&&w>0){w--}}}}h.removeClass("menu-max-depth-"+n).addClass("menu-max-depth-"+w);n=w}},attachMenuEditListeners:function(){var c=this;b("#update-nav-menu").bind("click",function(d){if(d.target&&d.target.className){if(-1!=d.target.className.indexOf("item-edit")){return c.eventOnClickEditLink(d.target)}else{if(-1!=d.target.className.indexOf("menu-save")){return c.eventOnClickMenuSave(d.target)}else{if(-1!=d.target.className.indexOf("menu-delete")){return c.eventOnClickMenuDelete(d.target)}else{if(-1!=d.target.className.indexOf("item-delete")){return c.eventOnClickMenuItemDelete(d.target)}else{if(-1!=d.target.className.indexOf("item-cancel")){return c.eventOnClickCancelLink(d.target)}}}}}}})},setupInputWithDefaultTitle:function(){var c="input-with-default-title";b("."+c).each(function(){var f=b(this),e=f.attr("title"),d=f.val();f.data(c,e);if(""==d){f.val(e)}else{if(e==d){return}else{f.removeClass(c)}}}).focus(function(){var d=b(this);if(d.val()==d.data(c)){d.val("").removeClass(c)}}).blur(function(){var d=b(this);if(""==d.val()){d.addClass(c).val(d.data(c))}})},attachThemeLocationsListeners:function(){var d=b("#nav-menu-theme-locations"),c={};c.action="menu-locations-save";c["menu-settings-column-nonce"]=b("#menu-settings-column-nonce").val();d.find('input[type="submit"]').click(function(){d.find("select").each(function(){c[this.name]=b(this).val()});d.find(".waiting").show();b.post(ajaxurl,c,function(e){d.find(".waiting").hide()});return false})},attachQuickSearchListeners:function(){var c;b(".quick-search").keypress(function(f){var d=b(this);if(13==f.which){a.updateQuickSearchResults(d);return false}if(c){clearTimeout(c)}c=setTimeout(function(){a.updateQuickSearchResults(d)},400)}).attr("autocomplete","off")},updateQuickSearchResults:function(d){var c,g,e=2,f=d.val();if(f.length<e){return}c=d.parents(".tabs-panel");g={action:"menu-quick-search","response-format":"markup",menu:b("#menu").val(),"menu-settings-column-nonce":b("#menu-settings-column-nonce").val(),q:f,type:d.attr("name")};b("img.waiting",c).show();b.post(ajaxurl,g,function(h){a.processQuickSearchQueryResponse(h,g,c)})},addCustomLink:function(c){var e=b("#custom-menu-item-url").val(),d=b("#custom-menu-item-name").val();c=c||a.addMenuItemToBottom;if(""==e||"http://"==e){return false}b(".customlinkdiv img.waiting").show();this.addLinkToMenu(e,d,c,function(){b(".customlinkdiv img.waiting").hide();b("#custom-menu-item-name").val("").blur();b("#custom-menu-item-url").val("http://")})},addLinkToMenu:function(e,d,c,f){c=c||a.addMenuItemToBottom;f=f||function(){};a.addItemToMenu({"-1":{"menu-item-type":"custom","menu-item-url":e,"menu-item-title":d}},c,f)},addItemToMenu:function(e,c,g){var f=b("#menu").val(),d=b("#menu-settings-column-nonce").val();c=c||function(){};g=g||function(){};params={action:"add-menu-item",menu:f,"menu-settings-column-nonce":d,"menu-item":e};b.post(ajaxurl,params,function(h){var i=b("#menu-instructions");c(h,params);if(!i.hasClass("menu-instructions-inactive")&&i.siblings().length){i.addClass("menu-instructions-inactive")}g()})},addMenuItemToBottom:function(c,d){b(c).hideAdvancedMenuItemFields().appendTo(a.targetList)},addMenuItemToTop:function(c,d){b(c).hideAdvancedMenuItemFields().prependTo(a.targetList)},attachUnsavedChangesListener:function(){b("#menu-management input, #menu-management select, #menu-management, #menu-management textarea").change(function(){a.registerChange()});if(0!=b("#menu-to-edit").length){window.onbeforeunload=function(){if(a.menusChanged){return navMenuL10n.saveAlert}}}else{b("#menu-settings-column").find("input,select").prop("disabled",true).end().find("a").attr("href","#").unbind("click")}},registerChange:function(){a.menusChanged=true},attachTabsPanelListeners:function(){b("#menu-settings-column").bind("click",function(h){var f,d,i,c,g=b(h.target);if(g.hasClass("nav-tab-link")){d=/#(.*)$/.exec(h.target.href);if(d&&d[1]){d=d[1]}else{return false}i=g.parents(".inside").first();b("input",i).removeAttr("checked");b(".tabs-panel-active",i).removeClass("tabs-panel-active").addClass("tabs-panel-inactive");b("#"+d,i).removeClass("tabs-panel-inactive").addClass("tabs-panel-active");b(".tabs",i).removeClass("tabs");g.parent().addClass("tabs");b(".quick-search",i).focus();return false}else{if(g.hasClass("select-all")){f=/#(.*)$/.exec(h.target.href);if(f&&f[1]){c=b("#"+f[1]+" .tabs-panel-active .menu-item-title input");if(c.length===c.filter(":checked").length){c.removeAttr("checked")}else{c.prop("checked",true)}return false}}else{if(g.hasClass("submit-add-to-menu")){a.registerChange();if(h.target.id&&"submit-customlinkdiv"==h.target.id){a.addCustomLink(a.addMenuItemToBottom)}else{if(h.target.id&&-1!=h.target.id.indexOf("submit-")){b("#"+h.target.id.replace(/submit-/,"")).addSelectedToMenu(a.addMenuItemToBottom)}}return false}else{if(g.hasClass("page-numbers")){b.post(ajaxurl,h.target.href.replace(/.*\?/,"").replace(/action=([^&]*)/,"")+"&action=menu-get-metabox",function(m){if(-1==m.indexOf("replace-id")){return}var l=b.parseJSON(m),e=document.getElementById(l["replace-id"]),k=document.createElement("div"),j=document.createElement("div");if(!l.markup||!e){return}j.innerHTML=l.markup?l.markup:"";e.parentNode.insertBefore(k,e);k.parentNode.removeChild(e);k.parentNode.insertBefore(j,k);k.parentNode.removeChild(k)});return false}}}}})},initTabManager:function(){var h=b(".nav-tabs-wrapper"),j=h.children(".nav-tabs"),g=j.children(".nav-tab-active"),m=j.children(".nav-tab"),e=0,o,f,l,d,k,i={},c=a.isRTL?"margin-right":"margin-left",p=a.isRTL?"margin-left":"margin-right",n=2;a.refreshMenuTabs=function(q){var t=h.width(),s=0,r={};f=h.offset().left;o=f+t;if(!q){g.makeTabVisible()}if(m.last().isTabVisible()){s=h.width()-e;s=s>0?0:s;r[c]=s+"px";j.animate(r,100,"linear")}if(t>e){l.add(d).hide()}else{l.add(d).show()}};b.fn.extend({makeTabVisible:function(){var u=this.eq(0),v,s,r={},q=0;if(!u.length){return this}v=u.offset().left;s=v+u.outerWidth();if(s>o){q=o-s}else{if(v<f){q=f-v}}if(!q){return this}r[c]="+="+a.negateIfRTL*q+"px";j.animate(r,Math.abs(q)*n,"linear");return this},isTabVisible:function(){var r=this.eq(0),s=r.offset().left,q=s+r.outerWidth();return(q<=o&&s>=f)?true:false}});m.each(function(){e+=b(this).outerWidth(true)});i.padding=0;i[p]=(-1*e)+"px";j.css(i);l=b('<div class="nav-tabs-arrow nav-tabs-arrow-left"><a>«</a></div>');d=b('<div class="nav-tabs-arrow nav-tabs-arrow-right"><a>»</a></div>');h.wrap('<div class="nav-tabs-nav"/>').parent().prepend(l).append(d);a.refreshMenuTabs();b(window).resize(function(){if(k){clearTimeout(k)}k=setTimeout(a.refreshMenuTabs,200)});b.each([{arrow:l,next:"next",last:"first",operator:"+="},{arrow:d,next:"prev",last:"last",operator:"-="}],function(){var q=this;this.arrow.mousedown(function(){var t=Math.abs(parseInt(j.css(c))),r=t,s={};if("-="==q.operator){r=Math.abs(e-h.width())-t}if(!r){return}s[c]=q.operator+r+"px";j.animate(s,r*n,"linear")}).mouseup(function(){var s,r;j.stop(true);s=m[q.last]();while((r=s[q.next]())&&r.length&&!r.isTabVisible()){s=r}s.makeTabVisible()})})},eventOnClickEditLink:function(d){var c,e,f=/#(.*)$/.exec(d.href);if(f&&f[1]){c=b("#"+f[1]);e=c.parent();if(0!=e.length){if(e.hasClass("menu-item-edit-inactive")){if(!c.data("menu-item-data")){c.data("menu-item-data",c.getItemData())}c.slideDown("fast");e.removeClass("menu-item-edit-inactive").addClass("menu-item-edit-active")}else{c.slideUp("fast");e.removeClass("menu-item-edit-active").addClass("menu-item-edit-inactive")}return false}}},eventOnClickCancelLink:function(d){var c=b(d).closest(".menu-item-settings");c.setItemData(c.data("menu-item-data"));return false},eventOnClickMenuSave:function(e){var f="",c=b("#menu-name"),d=c.val();if(!d||d==c.attr("title")||!d.replace(/\s+/,"")){c.parent().addClass("form-invalid");return false}b("#nav-menu-theme-locations select").each(function(){f+='<input type="hidden" name="'+this.name+'" value="'+b(this).val()+'" />'});b("#update-nav-menu").append(f);a.menuList.find(".menu-item-data-position").val(function(g){return g+1});window.onbeforeunload=null;return true},eventOnClickMenuDelete:function(c){if(confirm(navMenuL10n.warnDeleteMenu)){window.onbeforeunload=null;return true}return false},eventOnClickMenuItemDelete:function(c){var d=parseInt(c.id.replace("delete-",""),10);a.removeMenuItem(b("#menu-item-"+d));a.registerChange();return false},processQuickSearchQueryResponse:function(g,k,c){var e,i,f={},d=document.getElementById("nav-menu-meta"),j=new RegExp("menu-item\\[([^\\]]*)","g"),h=b("<div>").html(g).find("li"),l;if(!h.length){b(".categorychecklist",c).html("<li><p>"+navMenuL10n.noResultsFound+"</p></li>");b("img.waiting",c).hide();return}h.each(function(){l=b(this);e=j.exec(l.html());if(e&&e[1]){i=e[1];while(d.elements["menu-item["+i+"][menu-item-type]"]||f[i]){i--}f[i]=true;if(i!=e[1]){l.html(l.html().replace(new RegExp("menu-item\\["+e[1]+"\\]","g"),"menu-item["+i+"]"))}}});b(".categorychecklist",c).html(h);b("img.waiting",c).hide()},removeMenuItem:function(d){var c=d.childMenuItems();d.addClass("deleting").animate({opacity:0,height:0},350,function(){var e=b("#menu-instructions");d.remove();c.shiftDepthClass(-1).updateParentMenuItemDBId();if(!e.siblings().length){e.removeClass("menu-instructions-inactive")}})},depthToPx:function(c){return c*a.options.menuItemDepthPerLevel},pxToDepth:function(c){return Math.floor(c/a.options.menuItemDepthPerLevel)}};b(document).ready(function(){wpNavMenu.init()})})(jQuery); \ No newline at end of file diff --git a/wp-admin/js/post.dev.js b/wp-admin/js/post.dev.js index fc469b795..51bee06cd 100644 --- a/wp-admin/js/post.dev.js +++ b/wp-admin/js/post.dev.js @@ -1,4 +1,4 @@ -var tagBox, commentsBox, editPermalink, makeSlugeditClickable, WPSetThumbnailHTML, WPSetThumbnailID, WPRemoveThumbnail; +var tagBox, commentsBox, editPermalink, makeSlugeditClickable, WPSetThumbnailHTML, WPSetThumbnailID, WPRemoveThumbnail, wptitlehint; // return an array with any duplicate, whitespace or values removed function array_unique_noempty(a) { @@ -44,7 +44,7 @@ tagBox = { if ( !thetags.length ) return; - disabled = thetags.attr('disabled'); + disabled = thetags.prop('disabled'); current_tags = thetags.val().split(','); tagchecklist.empty(); @@ -220,7 +220,7 @@ WPSetThumbnailHTML = function(html){ }; WPSetThumbnailID = function(id){ - var field = $('input[value=_thumbnail_id]', '#list-table'); + var field = $('input[value="_thumbnail_id"]', '#list-table'); if ( field.size() > 0 ) { $('#meta\\[' + field.attr('id').match(/[0-9]+/) + '\\]\\[value\\]').text(id); } @@ -242,7 +242,7 @@ WPRemoveThumbnail = function(nonce){ })(jQuery); jQuery(document).ready( function($) { - var stamp, visibility, sticky = ''; + var stamp, visibility, sticky = '', last = 0, co = $('#content'); postboxes.add_postbox_toggles(pagenow); @@ -294,7 +294,7 @@ jQuery(document).ready( function($) { return; noSyncChecks = true; var th = jQuery(this), c = th.is(':checked'), id = th.val().toString(); - $('#in-' + taxonomy + '-' + id + ', #in-' + taxonomy + '-category-' + id).attr( 'checked', c ); + $('#in-' + taxonomy + '-' + id + ', #in-' + taxonomy + '-category-' + id).prop( 'checked', c ); noSyncChecks = false; }; @@ -331,7 +331,7 @@ jQuery(document).ready( function($) { $('#' + taxonomy + 'checklist li.popular-category :checkbox, #' + taxonomy + 'checklist-pop :checkbox').live( 'click', function(){ var t = $(this), c = t.is(':checked'), id = t.val(); if ( id && t.parents('#taxonomy-'+taxonomy).length ) - $('#in-' + taxonomy + '-' + id + ', #in-popular-' + taxonomy + '-' + id).attr( 'checked', c ); + $('#in-' + taxonomy + '-' + id + ', #in-popular-' + taxonomy + '-' + id).prop( 'checked', c ); }); }); // end cats @@ -355,7 +355,7 @@ jQuery(document).ready( function($) { function updateVisibility() { var pvSelect = $('#post-visibility-select'); if ( $('input:radio:checked', pvSelect).val() != 'public' ) { - $('#sticky').attr('checked', false); + $('#sticky').prop('checked', false); $('#sticky-span').hide(); } else { $('#sticky-span').show(); @@ -369,7 +369,7 @@ jQuery(document).ready( function($) { function updateText() { var attemptedDate, originalDate, currentDate, publishOn, postStatus = $('#post_status'), - optPublish = $('option[value=publish]', postStatus), aa = $('#aa').val(), + optPublish = $('option[value="publish"]', postStatus), aa = $('#aa').val(), mm = $('#mm').val(), jj = $('#jj').val(), hh = $('#hh').val(), mn = $('#mn').val(); attemptedDate = new Date( aa, mm - 1, jj, hh, mn ); @@ -398,7 +398,7 @@ jQuery(document).ready( function($) { } else { $('#timestamp').html( publishOn + ' <b>' + - $('option[value=' + $('#mm').val() + ']', '#mm').text() + ' ' + + $('option[value="' + $('#mm').val() + '"]', '#mm').text() + ' ' + jj + ', ' + aa + ' @ ' + hh + ':' + @@ -413,7 +413,7 @@ jQuery(document).ready( function($) { } else { optPublish.html( postL10n.privatelyPublished ); } - $('option[value=publish]', postStatus).attr('selected', true); + $('option[value="publish"]', postStatus).prop('selected', true); $('.edit-post-status', '#misc-publishing-actions').hide(); } else { if ( $('#original_post_status').val() == 'future' || $('#original_post_status').val() == 'draft' ) { @@ -444,17 +444,17 @@ jQuery(document).ready( function($) { $('.edit-visibility', '#visibility').click(function () { if ($('#post-visibility-select').is(":hidden")) { updateVisibility(); - $('#post-visibility-select').slideDown("normal"); + $('#post-visibility-select').slideDown('fast'); $(this).hide(); } return false; }); $('.cancel-post-visibility', '#post-visibility-select').click(function () { - $('#post-visibility-select').slideUp("normal"); - $('#visibility-radio-' + $('#hidden-post-visibility').val()).attr('checked', true); + $('#post-visibility-select').slideUp('fast'); + $('#visibility-radio-' + $('#hidden-post-visibility').val()).prop('checked', true); $('#post_password').val($('#hidden_post_password').val()); - $('#sticky').attr('checked', $('#hidden-post-sticky').attr('checked')); + $('#sticky').prop('checked', $('#hidden-post-sticky').prop('checked')); $('#post-visibility-display').html(visibility); $('.edit-visibility', '#visibility').show(); updateText(); @@ -464,15 +464,15 @@ jQuery(document).ready( function($) { $('.save-post-visibility', '#post-visibility-select').click(function () { // crazyhorse - multiple ok cancels var pvSelect = $('#post-visibility-select'); - pvSelect.slideUp("normal"); + pvSelect.slideUp('fast'); $('.edit-visibility', '#visibility').show(); updateText(); if ( $('input:radio:checked', pvSelect).val() != 'public' ) { - $('#sticky').attr('checked', false); + $('#sticky').prop('checked', false); } // WEAPON LOCKED - if ( true == $('#sticky').attr('checked') ) { + if ( true == $('#sticky').prop('checked') ) { sticky = 'Sticky'; } else { sticky = ''; @@ -488,14 +488,14 @@ jQuery(document).ready( function($) { $('#timestampdiv').siblings('a.edit-timestamp').click(function() { if ($('#timestampdiv').is(":hidden")) { - $('#timestampdiv').slideDown("normal"); + $('#timestampdiv').slideDown('fast'); $(this).hide(); } return false; }); $('.cancel-timestamp', '#timestampdiv').click(function() { - $('#timestampdiv').slideUp("normal"); + $('#timestampdiv').slideUp('fast'); $('#mm').val($('#hidden_mm').val()); $('#jj').val($('#hidden_jj').val()); $('#aa').val($('#hidden_aa').val()); @@ -508,7 +508,7 @@ jQuery(document).ready( function($) { $('.save-timestamp', '#timestampdiv').click(function () { // crazyhorse - multiple ok cancels if ( updateText() ) { - $('#timestampdiv').slideUp("normal"); + $('#timestampdiv').slideUp('fast'); $('#timestampdiv').siblings('a.edit-timestamp').show(); } return false; @@ -516,21 +516,21 @@ jQuery(document).ready( function($) { $('#post-status-select').siblings('a.edit-post-status').click(function() { if ($('#post-status-select').is(":hidden")) { - $('#post-status-select').slideDown("normal"); + $('#post-status-select').slideDown('fast'); $(this).hide(); } return false; }); $('.save-post-status', '#post-status-select').click(function() { - $('#post-status-select').slideUp("normal"); + $('#post-status-select').slideUp('fast'); $('#post-status-select').siblings('a.edit-post-status').show(); updateText(); return false; }); $('.cancel-post-status', '#post-status-select').click(function() { - $('#post-status-select').slideUp("normal"); + $('#post-status-select').slideUp('fast'); $('#post_status').val($('#hidden_post_status').val()); $('#post-status-select').siblings('a.edit-post-status').show(); updateText(); @@ -556,7 +556,7 @@ jQuery(document).ready( function($) { }, function(data) { $('#edit-slug-box').html(data); b.html(revert_b); - real_slug.attr('value', new_slug); + real_slug.val(new_slug); makeSlugeditClickable(); $('#view-post-btn').show(); }); @@ -567,7 +567,7 @@ jQuery(document).ready( function($) { $('#view-post-btn').show(); e.html(revert_e); b.html(revert_b); - real_slug.attr('value', revert_slug); + real_slug.val(revert_slug); return false; }); @@ -588,7 +588,7 @@ jQuery(document).ready( function($) { b.children('.cancel').click(); return false; } - real_slug.attr('value', this.value); + real_slug.val(this.value); }).focus(); } @@ -600,18 +600,47 @@ jQuery(document).ready( function($) { makeSlugeditClickable(); } - if ( $('#title').val() == '' ) - $('#title').siblings('#title-prompt-text').css('visibility', ''); - $('#title-prompt-text').click(function(){ - $(this).css('visibility', 'hidden').siblings('#title').focus(); - }); - $('#title').blur(function(){ - if (this.value == '') - $(this).siblings('#title-prompt-text').css('visibility', ''); - }).focus(function(){ - $(this).siblings('#title-prompt-text').css('visibility', 'hidden'); - }).keydown(function(e){ - $(this).siblings('#title-prompt-text').css('visibility', 'hidden'); - $(this).unbind(e); - }); + // word count + if ( typeof(wpWordCount) != 'undefined' ) { + $(document).triggerHandler('wpcountwords', [ co.val() ]); + + co.keyup( function(e) { + var k = e.keyCode || e.charCode; + + if ( k == last ) + return true; + + if ( 13 == k || 8 == last || 46 == last ) + $(document).triggerHandler('wpcountwords', [ co.val() ]); + + last = k; + return true; + }); + } + + wptitlehint = function(id) { + id = id || 'title'; + + var title = $('#' + id), titleprompt = $('#' + id + '-prompt-text'); + + if ( title.val() == '' ) + titleprompt.css('visibility', ''); + + titleprompt.click(function(){ + $(this).css('visibility', 'hidden'); + title.focus(); + }); + + title.blur(function(){ + if ( this.value == '' ) + titleprompt.css('visibility', ''); + }).focus(function(){ + titleprompt.css('visibility', 'hidden'); + }).keydown(function(e){ + titleprompt.css('visibility', 'hidden'); + $(this).unbind(e); + }); + } + + wptitlehint(); }); diff --git a/wp-admin/js/post.js b/wp-admin/js/post.js index 5bbd030e1..f4ea0cc2d 100644 --- a/wp-admin/js/post.js +++ b/wp-admin/js/post.js @@ -1 +1 @@ -var tagBox,commentsBox,editPermalink,makeSlugeditClickable,WPSetThumbnailHTML,WPSetThumbnailID,WPRemoveThumbnail;function array_unique_noempty(b){var c=[];jQuery.each(b,function(a,d){d=jQuery.trim(d);if(d&&jQuery.inArray(d,c)==-1){c.push(d)}});return c}(function(a){tagBox={clean:function(b){return b.replace(/\s*,\s*/g,",").replace(/,+/g,",").replace(/[,\s]+$/,"").replace(/^[,\s]+/,"")},parseTags:function(e){var h=e.id,b=h.split("-check-num-")[1],d=a(e).closest(".tagsdiv"),g=d.find(".the-tags"),c=g.val().split(","),f=[];delete c[b];a.each(c,function(i,j){j=a.trim(j);if(j){f.push(j)}});g.val(this.clean(f.join(",")));this.quickClicks(d);return false},quickClicks:function(d){var g=a(".the-tags",d),e=a(".tagchecklist",d),f=a(d).attr("id"),b,c;if(!g.length){return}c=g.attr("disabled");b=g.val().split(",");e.empty();a.each(b,function(i,k){var j,h;k=a.trim(k);if(!k){return}j=a("<span />").text(k);if(!c){h=a('<a id="'+f+"-check-num-"+i+'" class="ntdelbutton">X</a>');h.click(function(){tagBox.parseTags(this)});j.prepend(" ").prepend(h)}e.append(j)})},flushTags:function(e,b,g){b=b||false;var i,c=a(".the-tags",e),h=a("input.newtag",e),d;i=b?a(b).text():h.val();tagsval=c.val();d=tagsval?tagsval+","+i:i;d=this.clean(d);d=array_unique_noempty(d.split(",")).join(",");c.val(d);this.quickClicks(e);if(!b){h.val("")}if("undefined"==typeof(g)){h.focus()}return false},get:function(c){var b=c.substr(c.indexOf("-")+1);a.post(ajaxurl,{action:"get-tagcloud",tax:b},function(e,d){if(0==e||"success"!=d){e=wpAjax.broken}e=a('<p id="tagcloud-'+b+'" class="the-tagcloud">'+e+"</p>");a("a",e).click(function(){tagBox.flushTags(a(this).closest(".inside").children(".tagsdiv"),this);return false});a("#"+c).after(e)})},init:function(){var b=this,c=a("div.ajaxtag");a(".tagsdiv").each(function(){tagBox.quickClicks(this)});a("input.tagadd",c).click(function(){b.flushTags(a(this).closest(".tagsdiv"))});a("div.taghint",c).click(function(){a(this).css("visibility","hidden").parent().siblings(".newtag").focus()});a("input.newtag",c).blur(function(){if(this.value==""){a(this).parent().siblings(".taghint").css("visibility","")}}).focus(function(){a(this).parent().siblings(".taghint").css("visibility","hidden")}).keyup(function(d){if(13==d.which){tagBox.flushTags(a(this).closest(".tagsdiv"));return false}}).keypress(function(d){if(13==d.which){d.preventDefault();return false}}).each(function(){var d=a(this).closest("div.tagsdiv").attr("id");a(this).suggest(ajaxurl+"?action=ajax-tag-search&tax="+d,{delay:500,minchars:2,multiple:true,multipleSep:","})});a("#post").submit(function(){a("div.tagsdiv").each(function(){tagBox.flushTags(this,false,1)})});a("a.tagcloud-link").click(function(){tagBox.get(a(this).attr("id"));a(this).unbind().click(function(){a(this).siblings(".the-tagcloud").toggle();return false});return false})}};commentsBox={st:0,get:function(d,c){var b=this.st,e;if(!c){c=20}this.st+=c;this.total=d;a("#commentsdiv img.waiting").show();e={action:"get-comments",mode:"single",_ajax_nonce:a("#add_comment_nonce").val(),p:a("#post_ID").val(),start:b,number:c};a.post(ajaxurl,e,function(f){f=wpAjax.parseAjaxResponse(f);a("#commentsdiv .widefat").show();a("#commentsdiv img.waiting").hide();if("object"==typeof f&&f.responses[0]){a("#the-comment-list").append(f.responses[0].data);theList=theExtraList=null;a("a[className*=':']").unbind();if(commentsBox.st>commentsBox.total){a("#show-comments").hide()}else{a("#show-comments").html(postL10n.showcomm)}return}else{if(1==f){a("#show-comments").parent().html(postL10n.endcomm);return}}a("#the-comment-list").append('<tr><td colspan="2">'+wpAjax.broken+"</td></tr>")});return false}};WPSetThumbnailHTML=function(b){a(".inside","#postimagediv").html(b)};WPSetThumbnailID=function(c){var b=a("input[value=_thumbnail_id]","#list-table");if(b.size()>0){a("#meta\\["+b.attr("id").match(/[0-9]+/)+"\\]\\[value\\]").text(c)}};WPRemoveThumbnail=function(b){a.post(ajaxurl,{action:"set-post-thumbnail",post_id:a("#post_ID").val(),thumbnail_id:-1,_ajax_nonce:b,cookie:encodeURIComponent(document.cookie)},function(c){if(c=="0"){alert(setPostThumbnailL10n.error)}else{WPSetThumbnailHTML(c)}})}})(jQuery);jQuery(document).ready(function(e){var b,a,f="";postboxes.add_postbox_toggles(pagenow);if(e("#tagsdiv-post_tag").length){tagBox.init()}else{e("#side-sortables, #normal-sortables, #advanced-sortables").children("div.postbox").each(function(){if(this.id.indexOf("tagsdiv-")===0){tagBox.init();return false}})}e(".categorydiv").each(function(){var l=e(this).attr("id"),h=false,k,m,j,g,i;j=l.split("-");j.shift();g=j.join("-");i=g+"_tab";if(g=="category"){i="cats"}e("a","#"+g+"-tabs").click(function(){var n=e(this).attr("href");e(this).parent().addClass("tabs").siblings("li").removeClass("tabs");e("#"+g+"-tabs").siblings(".tabs-panel").hide();e(n).show();if("#"+g+"-all"==n){deleteUserSetting(i)}else{setUserSetting(i,"pop")}return false});if(getUserSetting(i)){e('a[href="#'+g+'-pop"]',"#"+g+"-tabs").click()}e("#new"+g).one("focus",function(){e(this).val("").removeClass("form-input-tip")});e("#"+g+"-add-submit").click(function(){e("#new"+g).focus()});k=function(){if(h){return}h=true;var n=jQuery(this),p=n.is(":checked"),o=n.val().toString();e("#in-"+g+"-"+o+", #in-"+g+"-category-"+o).attr("checked",p);h=false};catAddBefore=function(n){if(!e("#new"+g).val()){return false}n.data+="&"+e(":checked","#"+g+"checklist").serialize();return n};m=function(q,p){var o,n=e("#new"+g+"_parent");if("undefined"!=p.parsed.responses[0]&&(o=p.parsed.responses[0].supplemental.newcat_parent)){n.before(o);n.remove()}};e("#"+g+"checklist").wpList({alt:"",response:g+"-ajax-response",addBefore:catAddBefore,addAfter:m});e("#"+g+"-add-toggle").click(function(){e("#"+g+"-adder").toggleClass("wp-hidden-children");e('a[href="#'+g+'-all"]',"#"+g+"-tabs").click();e("#new"+g).focus();return false});e("#"+g+"checklist li.popular-category :checkbox, #"+g+"checklist-pop :checkbox").live("click",function(){var n=e(this),p=n.is(":checked"),o=n.val();if(o&&n.parents("#taxonomy-"+g).length){e("#in-"+g+"-"+o+", #in-popular-"+g+"-"+o).attr("checked",p)}})});if(e("#postcustom").length){e("#the-list").wpList({addAfter:function(g,h){e("table#list-table").show()},addBefore:function(g){g.data+="&post_id="+e("#post_ID").val();return g}})}if(e("#submitdiv").length){b=e("#timestamp").html();a=e("#post-visibility-display").html();function d(){var g=e("#post-visibility-select");if(e("input:radio:checked",g).val()!="public"){e("#sticky").attr("checked",false);e("#sticky-span").hide()}else{e("#sticky-span").show()}if(e("input:radio:checked",g).val()!="password"){e("#password-span").hide()}else{e("#password-span").show()}}function c(){var n,o,h,q,p=e("#post_status"),i=e("option[value=publish]",p),g=e("#aa").val(),l=e("#mm").val(),m=e("#jj").val(),k=e("#hh").val(),j=e("#mn").val();n=new Date(g,l-1,m,k,j);o=new Date(e("#hidden_aa").val(),e("#hidden_mm").val()-1,e("#hidden_jj").val(),e("#hidden_hh").val(),e("#hidden_mn").val());h=new Date(e("#cur_aa").val(),e("#cur_mm").val()-1,e("#cur_jj").val(),e("#cur_hh").val(),e("#cur_mn").val());if(n.getFullYear()!=g||(1+n.getMonth())!=l||n.getDate()!=m||n.getMinutes()!=j){e(".timestamp-wrap","#timestampdiv").addClass("form-invalid");return false}else{e(".timestamp-wrap","#timestampdiv").removeClass("form-invalid")}if(n>h&&e("#original_post_status").val()!="future"){q=postL10n.publishOnFuture;e("#publish").val(postL10n.schedule)}else{if(n<=h&&e("#original_post_status").val()!="publish"){q=postL10n.publishOn;e("#publish").val(postL10n.publish)}else{q=postL10n.publishOnPast;e("#publish").val(postL10n.update)}}if(o.toUTCString()==n.toUTCString()){e("#timestamp").html(b)}else{e("#timestamp").html(q+" <b>"+e("option[value="+e("#mm").val()+"]","#mm").text()+" "+m+", "+g+" @ "+k+":"+j+"</b> ")}if(e("input:radio:checked","#post-visibility-select").val()=="private"){e("#publish").val(postL10n.update);if(i.length==0){p.append('<option value="publish">'+postL10n.privatelyPublished+"</option>")}else{i.html(postL10n.privatelyPublished)}e("option[value=publish]",p).attr("selected",true);e(".edit-post-status","#misc-publishing-actions").hide()}else{if(e("#original_post_status").val()=="future"||e("#original_post_status").val()=="draft"){if(i.length){i.remove();p.val(e("#hidden_post_status").val())}}else{i.html(postL10n.published)}if(p.is(":hidden")){e(".edit-post-status","#misc-publishing-actions").show()}}e("#post-status-display").html(e("option:selected",p).text());if(e("option:selected",p).val()=="private"||e("option:selected",p).val()=="publish"){e("#save-post").hide()}else{e("#save-post").show();if(e("option:selected",p).val()=="pending"){e("#save-post").show().val(postL10n.savePending)}else{e("#save-post").show().val(postL10n.saveDraft)}}return true}e(".edit-visibility","#visibility").click(function(){if(e("#post-visibility-select").is(":hidden")){d();e("#post-visibility-select").slideDown("normal");e(this).hide()}return false});e(".cancel-post-visibility","#post-visibility-select").click(function(){e("#post-visibility-select").slideUp("normal");e("#visibility-radio-"+e("#hidden-post-visibility").val()).attr("checked",true);e("#post_password").val(e("#hidden_post_password").val());e("#sticky").attr("checked",e("#hidden-post-sticky").attr("checked"));e("#post-visibility-display").html(a);e(".edit-visibility","#visibility").show();c();return false});e(".save-post-visibility","#post-visibility-select").click(function(){var g=e("#post-visibility-select");g.slideUp("normal");e(".edit-visibility","#visibility").show();c();if(e("input:radio:checked",g).val()!="public"){e("#sticky").attr("checked",false)}if(true==e("#sticky").attr("checked")){f="Sticky"}else{f=""}e("#post-visibility-display").html(postL10n[e("input:radio:checked",g).val()+f]);return false});e("input:radio","#post-visibility-select").change(function(){d()});e("#timestampdiv").siblings("a.edit-timestamp").click(function(){if(e("#timestampdiv").is(":hidden")){e("#timestampdiv").slideDown("normal");e(this).hide()}return false});e(".cancel-timestamp","#timestampdiv").click(function(){e("#timestampdiv").slideUp("normal");e("#mm").val(e("#hidden_mm").val());e("#jj").val(e("#hidden_jj").val());e("#aa").val(e("#hidden_aa").val());e("#hh").val(e("#hidden_hh").val());e("#mn").val(e("#hidden_mn").val());e("#timestampdiv").siblings("a.edit-timestamp").show();c();return false});e(".save-timestamp","#timestampdiv").click(function(){if(c()){e("#timestampdiv").slideUp("normal");e("#timestampdiv").siblings("a.edit-timestamp").show()}return false});e("#post-status-select").siblings("a.edit-post-status").click(function(){if(e("#post-status-select").is(":hidden")){e("#post-status-select").slideDown("normal");e(this).hide()}return false});e(".save-post-status","#post-status-select").click(function(){e("#post-status-select").slideUp("normal");e("#post-status-select").siblings("a.edit-post-status").show();c();return false});e(".cancel-post-status","#post-status-select").click(function(){e("#post-status-select").slideUp("normal");e("#post_status").val(e("#hidden_post_status").val());e("#post-status-select").siblings("a.edit-post-status").show();c();return false})}if(e("#edit-slug-box").length){editPermalink=function(g){var h,l=0,k=e("#editable-post-name"),m=k.html(),p=e("#post_name"),q=p.val(),n=e("#edit-slug-buttons"),o=n.html(),j=e("#editable-post-name-full").html();e("#view-post-btn").hide();n.html('<a href="#" class="save button">'+postL10n.ok+'</a> <a class="cancel" href="#">'+postL10n.cancel+"</a>");n.children(".save").click(function(){var i=k.children("input").val();e.post(ajaxurl,{action:"sample-permalink",post_id:g,new_slug:i,new_title:e("#title").val(),samplepermalinknonce:e("#samplepermalinknonce").val()},function(r){e("#edit-slug-box").html(r);n.html(o);p.attr("value",i);makeSlugeditClickable();e("#view-post-btn").show()});return false});e(".cancel","#edit-slug-buttons").click(function(){e("#view-post-btn").show();k.html(m);n.html(o);p.attr("value",q);return false});for(h=0;h<j.length;++h){if("%"==j.charAt(h)){l++}}slug_value=(l>j.length/4)?"":j;k.html('<input type="text" id="new-post-slug" value="'+slug_value+'" />').children("input").keypress(function(r){var i=r.keyCode||0;if(13==i){n.children(".save").click();return false}if(27==i){n.children(".cancel").click();return false}p.attr("value",this.value)}).focus()};makeSlugeditClickable=function(){e("#editable-post-name").click(function(){e("#edit-slug-buttons").children(".edit-slug").click()})};makeSlugeditClickable()}if(e("#title").val()==""){e("#title").siblings("#title-prompt-text").css("visibility","")}e("#title-prompt-text").click(function(){e(this).css("visibility","hidden").siblings("#title").focus()});e("#title").blur(function(){if(this.value==""){e(this).siblings("#title-prompt-text").css("visibility","")}}).focus(function(){e(this).siblings("#title-prompt-text").css("visibility","hidden")}).keydown(function(g){e(this).siblings("#title-prompt-text").css("visibility","hidden");e(this).unbind(g)})}); \ No newline at end of file +var tagBox,commentsBox,editPermalink,makeSlugeditClickable,WPSetThumbnailHTML,WPSetThumbnailID,WPRemoveThumbnail,wptitlehint;function array_unique_noempty(b){var c=[];jQuery.each(b,function(a,d){d=jQuery.trim(d);if(d&&jQuery.inArray(d,c)==-1){c.push(d)}});return c}(function(a){tagBox={clean:function(b){return b.replace(/\s*,\s*/g,",").replace(/,+/g,",").replace(/[,\s]+$/,"").replace(/^[,\s]+/,"")},parseTags:function(e){var h=e.id,b=h.split("-check-num-")[1],d=a(e).closest(".tagsdiv"),g=d.find(".the-tags"),c=g.val().split(","),f=[];delete c[b];a.each(c,function(i,j){j=a.trim(j);if(j){f.push(j)}});g.val(this.clean(f.join(",")));this.quickClicks(d);return false},quickClicks:function(d){var g=a(".the-tags",d),e=a(".tagchecklist",d),f=a(d).attr("id"),b,c;if(!g.length){return}c=g.prop("disabled");b=g.val().split(",");e.empty();a.each(b,function(i,k){var j,h;k=a.trim(k);if(!k){return}j=a("<span />").text(k);if(!c){h=a('<a id="'+f+"-check-num-"+i+'" class="ntdelbutton">X</a>');h.click(function(){tagBox.parseTags(this)});j.prepend(" ").prepend(h)}e.append(j)})},flushTags:function(e,b,g){b=b||false;var i,c=a(".the-tags",e),h=a("input.newtag",e),d;i=b?a(b).text():h.val();tagsval=c.val();d=tagsval?tagsval+","+i:i;d=this.clean(d);d=array_unique_noempty(d.split(",")).join(",");c.val(d);this.quickClicks(e);if(!b){h.val("")}if("undefined"==typeof(g)){h.focus()}return false},get:function(c){var b=c.substr(c.indexOf("-")+1);a.post(ajaxurl,{action:"get-tagcloud",tax:b},function(e,d){if(0==e||"success"!=d){e=wpAjax.broken}e=a('<p id="tagcloud-'+b+'" class="the-tagcloud">'+e+"</p>");a("a",e).click(function(){tagBox.flushTags(a(this).closest(".inside").children(".tagsdiv"),this);return false});a("#"+c).after(e)})},init:function(){var b=this,c=a("div.ajaxtag");a(".tagsdiv").each(function(){tagBox.quickClicks(this)});a("input.tagadd",c).click(function(){b.flushTags(a(this).closest(".tagsdiv"))});a("div.taghint",c).click(function(){a(this).css("visibility","hidden").parent().siblings(".newtag").focus()});a("input.newtag",c).blur(function(){if(this.value==""){a(this).parent().siblings(".taghint").css("visibility","")}}).focus(function(){a(this).parent().siblings(".taghint").css("visibility","hidden")}).keyup(function(d){if(13==d.which){tagBox.flushTags(a(this).closest(".tagsdiv"));return false}}).keypress(function(d){if(13==d.which){d.preventDefault();return false}}).each(function(){var d=a(this).closest("div.tagsdiv").attr("id");a(this).suggest(ajaxurl+"?action=ajax-tag-search&tax="+d,{delay:500,minchars:2,multiple:true,multipleSep:","})});a("#post").submit(function(){a("div.tagsdiv").each(function(){tagBox.flushTags(this,false,1)})});a("a.tagcloud-link").click(function(){tagBox.get(a(this).attr("id"));a(this).unbind().click(function(){a(this).siblings(".the-tagcloud").toggle();return false});return false})}};commentsBox={st:0,get:function(d,c){var b=this.st,e;if(!c){c=20}this.st+=c;this.total=d;a("#commentsdiv img.waiting").show();e={action:"get-comments",mode:"single",_ajax_nonce:a("#add_comment_nonce").val(),p:a("#post_ID").val(),start:b,number:c};a.post(ajaxurl,e,function(f){f=wpAjax.parseAjaxResponse(f);a("#commentsdiv .widefat").show();a("#commentsdiv img.waiting").hide();if("object"==typeof f&&f.responses[0]){a("#the-comment-list").append(f.responses[0].data);theList=theExtraList=null;a("a[className*=':']").unbind();if(commentsBox.st>commentsBox.total){a("#show-comments").hide()}else{a("#show-comments").html(postL10n.showcomm)}return}else{if(1==f){a("#show-comments").parent().html(postL10n.endcomm);return}}a("#the-comment-list").append('<tr><td colspan="2">'+wpAjax.broken+"</td></tr>")});return false}};WPSetThumbnailHTML=function(b){a(".inside","#postimagediv").html(b)};WPSetThumbnailID=function(c){var b=a('input[value="_thumbnail_id"]',"#list-table");if(b.size()>0){a("#meta\\["+b.attr("id").match(/[0-9]+/)+"\\]\\[value\\]").text(c)}};WPRemoveThumbnail=function(b){a.post(ajaxurl,{action:"set-post-thumbnail",post_id:a("#post_ID").val(),thumbnail_id:-1,_ajax_nonce:b,cookie:encodeURIComponent(document.cookie)},function(c){if(c=="0"){alert(setPostThumbnailL10n.error)}else{WPSetThumbnailHTML(c)}})}})(jQuery);jQuery(document).ready(function(f){var b,a,g="",e=0,h=f("#content");postboxes.add_postbox_toggles(pagenow);if(f("#tagsdiv-post_tag").length){tagBox.init()}else{f("#side-sortables, #normal-sortables, #advanced-sortables").children("div.postbox").each(function(){if(this.id.indexOf("tagsdiv-")===0){tagBox.init();return false}})}f(".categorydiv").each(function(){var n=f(this).attr("id"),j=false,m,o,l,i,k;l=n.split("-");l.shift();i=l.join("-");k=i+"_tab";if(i=="category"){k="cats"}f("a","#"+i+"-tabs").click(function(){var p=f(this).attr("href");f(this).parent().addClass("tabs").siblings("li").removeClass("tabs");f("#"+i+"-tabs").siblings(".tabs-panel").hide();f(p).show();if("#"+i+"-all"==p){deleteUserSetting(k)}else{setUserSetting(k,"pop")}return false});if(getUserSetting(k)){f('a[href="#'+i+'-pop"]',"#"+i+"-tabs").click()}f("#new"+i).one("focus",function(){f(this).val("").removeClass("form-input-tip")});f("#"+i+"-add-submit").click(function(){f("#new"+i).focus()});m=function(){if(j){return}j=true;var p=jQuery(this),r=p.is(":checked"),q=p.val().toString();f("#in-"+i+"-"+q+", #in-"+i+"-category-"+q).prop("checked",r);j=false};catAddBefore=function(p){if(!f("#new"+i).val()){return false}p.data+="&"+f(":checked","#"+i+"checklist").serialize();return p};o=function(u,t){var q,p=f("#new"+i+"_parent");if("undefined"!=t.parsed.responses[0]&&(q=t.parsed.responses[0].supplemental.newcat_parent)){p.before(q);p.remove()}};f("#"+i+"checklist").wpList({alt:"",response:i+"-ajax-response",addBefore:catAddBefore,addAfter:o});f("#"+i+"-add-toggle").click(function(){f("#"+i+"-adder").toggleClass("wp-hidden-children");f('a[href="#'+i+'-all"]',"#"+i+"-tabs").click();f("#new"+i).focus();return false});f("#"+i+"checklist li.popular-category :checkbox, #"+i+"checklist-pop :checkbox").live("click",function(){var p=f(this),r=p.is(":checked"),q=p.val();if(q&&p.parents("#taxonomy-"+i).length){f("#in-"+i+"-"+q+", #in-popular-"+i+"-"+q).prop("checked",r)}})});if(f("#postcustom").length){f("#the-list").wpList({addAfter:function(i,j){f("table#list-table").show()},addBefore:function(i){i.data+="&post_id="+f("#post_ID").val();return i}})}if(f("#submitdiv").length){b=f("#timestamp").html();a=f("#post-visibility-display").html();function d(){var i=f("#post-visibility-select");if(f("input:radio:checked",i).val()!="public"){f("#sticky").prop("checked",false);f("#sticky-span").hide()}else{f("#sticky-span").show()}if(f("input:radio:checked",i).val()!="password"){f("#password-span").hide()}else{f("#password-span").show()}}function c(){var p,q,j,s,r=f("#post_status"),k=f('option[value="publish"]',r),i=f("#aa").val(),n=f("#mm").val(),o=f("#jj").val(),m=f("#hh").val(),l=f("#mn").val();p=new Date(i,n-1,o,m,l);q=new Date(f("#hidden_aa").val(),f("#hidden_mm").val()-1,f("#hidden_jj").val(),f("#hidden_hh").val(),f("#hidden_mn").val());j=new Date(f("#cur_aa").val(),f("#cur_mm").val()-1,f("#cur_jj").val(),f("#cur_hh").val(),f("#cur_mn").val());if(p.getFullYear()!=i||(1+p.getMonth())!=n||p.getDate()!=o||p.getMinutes()!=l){f(".timestamp-wrap","#timestampdiv").addClass("form-invalid");return false}else{f(".timestamp-wrap","#timestampdiv").removeClass("form-invalid")}if(p>j&&f("#original_post_status").val()!="future"){s=postL10n.publishOnFuture;f("#publish").val(postL10n.schedule)}else{if(p<=j&&f("#original_post_status").val()!="publish"){s=postL10n.publishOn;f("#publish").val(postL10n.publish)}else{s=postL10n.publishOnPast;f("#publish").val(postL10n.update)}}if(q.toUTCString()==p.toUTCString()){f("#timestamp").html(b)}else{f("#timestamp").html(s+" <b>"+f('option[value="'+f("#mm").val()+'"]',"#mm").text()+" "+o+", "+i+" @ "+m+":"+l+"</b> ")}if(f("input:radio:checked","#post-visibility-select").val()=="private"){f("#publish").val(postL10n.update);if(k.length==0){r.append('<option value="publish">'+postL10n.privatelyPublished+"</option>")}else{k.html(postL10n.privatelyPublished)}f('option[value="publish"]',r).prop("selected",true);f(".edit-post-status","#misc-publishing-actions").hide()}else{if(f("#original_post_status").val()=="future"||f("#original_post_status").val()=="draft"){if(k.length){k.remove();r.val(f("#hidden_post_status").val())}}else{k.html(postL10n.published)}if(r.is(":hidden")){f(".edit-post-status","#misc-publishing-actions").show()}}f("#post-status-display").html(f("option:selected",r).text());if(f("option:selected",r).val()=="private"||f("option:selected",r).val()=="publish"){f("#save-post").hide()}else{f("#save-post").show();if(f("option:selected",r).val()=="pending"){f("#save-post").show().val(postL10n.savePending)}else{f("#save-post").show().val(postL10n.saveDraft)}}return true}f(".edit-visibility","#visibility").click(function(){if(f("#post-visibility-select").is(":hidden")){d();f("#post-visibility-select").slideDown("fast");f(this).hide()}return false});f(".cancel-post-visibility","#post-visibility-select").click(function(){f("#post-visibility-select").slideUp("fast");f("#visibility-radio-"+f("#hidden-post-visibility").val()).prop("checked",true);f("#post_password").val(f("#hidden_post_password").val());f("#sticky").prop("checked",f("#hidden-post-sticky").prop("checked"));f("#post-visibility-display").html(a);f(".edit-visibility","#visibility").show();c();return false});f(".save-post-visibility","#post-visibility-select").click(function(){var i=f("#post-visibility-select");i.slideUp("fast");f(".edit-visibility","#visibility").show();c();if(f("input:radio:checked",i).val()!="public"){f("#sticky").prop("checked",false)}if(true==f("#sticky").prop("checked")){g="Sticky"}else{g=""}f("#post-visibility-display").html(postL10n[f("input:radio:checked",i).val()+g]);return false});f("input:radio","#post-visibility-select").change(function(){d()});f("#timestampdiv").siblings("a.edit-timestamp").click(function(){if(f("#timestampdiv").is(":hidden")){f("#timestampdiv").slideDown("fast");f(this).hide()}return false});f(".cancel-timestamp","#timestampdiv").click(function(){f("#timestampdiv").slideUp("fast");f("#mm").val(f("#hidden_mm").val());f("#jj").val(f("#hidden_jj").val());f("#aa").val(f("#hidden_aa").val());f("#hh").val(f("#hidden_hh").val());f("#mn").val(f("#hidden_mn").val());f("#timestampdiv").siblings("a.edit-timestamp").show();c();return false});f(".save-timestamp","#timestampdiv").click(function(){if(c()){f("#timestampdiv").slideUp("fast");f("#timestampdiv").siblings("a.edit-timestamp").show()}return false});f("#post-status-select").siblings("a.edit-post-status").click(function(){if(f("#post-status-select").is(":hidden")){f("#post-status-select").slideDown("fast");f(this).hide()}return false});f(".save-post-status","#post-status-select").click(function(){f("#post-status-select").slideUp("fast");f("#post-status-select").siblings("a.edit-post-status").show();c();return false});f(".cancel-post-status","#post-status-select").click(function(){f("#post-status-select").slideUp("fast");f("#post_status").val(f("#hidden_post_status").val());f("#post-status-select").siblings("a.edit-post-status").show();c();return false})}if(f("#edit-slug-box").length){editPermalink=function(j){var k,n=0,m=f("#editable-post-name"),o=m.html(),r=f("#post_name"),s=r.val(),p=f("#edit-slug-buttons"),q=p.html(),l=f("#editable-post-name-full").html();f("#view-post-btn").hide();p.html('<a href="#" class="save button">'+postL10n.ok+'</a> <a class="cancel" href="#">'+postL10n.cancel+"</a>");p.children(".save").click(function(){var i=m.children("input").val();f.post(ajaxurl,{action:"sample-permalink",post_id:j,new_slug:i,new_title:f("#title").val(),samplepermalinknonce:f("#samplepermalinknonce").val()},function(t){f("#edit-slug-box").html(t);p.html(q);r.val(i);makeSlugeditClickable();f("#view-post-btn").show()});return false});f(".cancel","#edit-slug-buttons").click(function(){f("#view-post-btn").show();m.html(o);p.html(q);r.val(s);return false});for(k=0;k<l.length;++k){if("%"==l.charAt(k)){n++}}slug_value=(n>l.length/4)?"":l;m.html('<input type="text" id="new-post-slug" value="'+slug_value+'" />').children("input").keypress(function(t){var i=t.keyCode||0;if(13==i){p.children(".save").click();return false}if(27==i){p.children(".cancel").click();return false}r.val(this.value)}).focus()};makeSlugeditClickable=function(){f("#editable-post-name").click(function(){f("#edit-slug-buttons").children(".edit-slug").click()})};makeSlugeditClickable()}if(typeof(wpWordCount)!="undefined"){f(document).triggerHandler("wpcountwords",[h.val()]);h.keyup(function(j){var i=j.keyCode||j.charCode;if(i==e){return true}if(13==i||8==e||46==e){f(document).triggerHandler("wpcountwords",[h.val()])}e=i;return true})}wptitlehint=function(k){k=k||"title";var i=f("#"+k),j=f("#"+k+"-prompt-text");if(i.val()==""){j.css("visibility","")}j.click(function(){f(this).css("visibility","hidden");i.focus()});i.blur(function(){if(this.value==""){j.css("visibility","")}}).focus(function(){j.css("visibility","hidden")}).keydown(function(l){j.css("visibility","hidden");f(this).unbind(l)})};wptitlehint()}); \ No newline at end of file diff --git a/wp-admin/js/postbox.dev.js b/wp-admin/js/postbox.dev.js index 54f93666b..b367d916a 100644 --- a/wp-admin/js/postbox.dev.js +++ b/wp-admin/js/postbox.dev.js @@ -5,6 +5,8 @@ var postboxes; this.init(page,args); $('.postbox h3, .postbox .handlediv').click( function() { var p = $(this).parent('.postbox'), id = p.attr('id'); + if ( 'dashboard_browser_nag' == id ) + return; p.toggleClass('closed'); postboxes.save_state(page); @@ -18,10 +20,15 @@ var postboxes; $('.postbox h3 a').click( function(e) { e.stopPropagation(); } ); + $('.postbox a.dismiss').click( function(e) { + var hide_id = $(this).parents('.postbox').attr('id') + '-hide'; + $( '#' + hide_id ).prop('checked', false).triggerHandler('click'); + return false; + } ); $('.hide-postbox-tog').click( function() { var box = $(this).val(); - if ( $(this).attr('checked') ) { + if ( $(this).prop('checked') ) { $('#' + box).show(); if ( $.isFunction( postboxes.pbshow ) ) postboxes.pbshow( box ); @@ -93,24 +100,18 @@ var postboxes; forcePlaceholderSize: true, helper: 'clone', opacity: 0.65, - start: function(e,ui) { - $('body').css({ - WebkitUserSelect: 'none', - KhtmlUserSelect: 'none' - }); - /* - if ( $.browser.msie ) - return; - ui.item.addClass('noclick'); - */ - }, stop: function(e,ui) { + if ( $(this).find('#dashboard_browser_nag').is(':visible') && 'dashboard_browser_nag' != this.firstChild.id ) { + $(this).sortable('cancel'); + return; + } + postboxes.save_order(page); ui.item.parent().removeClass('temp-border'); - $('body').css({ - WebkitUserSelect: '', - KhtmlUserSelect: '' - }); + }, + receive: function(e,ui) { + if ( 'dashboard_browser_nag' == ui.item[0].id ) + $(ui.sender).sortable('cancel'); } }); }, diff --git a/wp-admin/js/postbox.js b/wp-admin/js/postbox.js index 9cc0d898d..99a1f0038 100644 --- a/wp-admin/js/postbox.js +++ b/wp-admin/js/postbox.js @@ -1 +1 @@ -var postboxes;(function(a){postboxes={add_postbox_toggles:function(c,b){this.init(c,b);a(".postbox h3, .postbox .handlediv").click(function(){var e=a(this).parent(".postbox"),f=e.attr("id");e.toggleClass("closed");postboxes.save_state(c);if(f){if(!e.hasClass("closed")&&a.isFunction(postboxes.pbshow)){postboxes.pbshow(f)}else{if(e.hasClass("closed")&&a.isFunction(postboxes.pbhide)){postboxes.pbhide(f)}}}});a(".postbox h3 a").click(function(f){f.stopPropagation()});a(".hide-postbox-tog").click(function(){var e=a(this).val();if(a(this).attr("checked")){a("#"+e).show();if(a.isFunction(postboxes.pbshow)){postboxes.pbshow(e)}}else{a("#"+e).hide();if(a.isFunction(postboxes.pbhide)){postboxes.pbhide(e)}}postboxes.save_state(c)});a('.columns-prefs input[type="radio"]').click(function(){var e=a(this).val(),f,g,h=a("#poststuff");if(h.length){if(e==2){h.addClass("has-right-sidebar");a("#side-sortables").addClass("temp-border")}else{if(e==1){h.removeClass("has-right-sidebar");a("#normal-sortables").append(a("#side-sortables").children(".postbox"))}}}else{for(f=4;(f>e&&f>1);f--){g=a("#"+d(f)+"-sortables");a("#"+d(f-1)+"-sortables").append(g.children(".postbox"));g.parent().hide()}for(f=1;f<=e;f++){g=a("#"+d(f)+"-sortables");if(g.parent().is(":hidden")){g.addClass("temp-border").parent().show()}}a(".postbox-container:visible").css("width",98/e+"%")}postboxes.save_order(c)});function d(e){switch(e){case 1:return"normal";break;case 2:return"side";break;case 3:return"column3";break;case 4:return"column4";break;default:return""}}},init:function(c,b){a.extend(this,b||{});a("#wpbody-content").css("overflow","hidden");a(".meta-box-sortables").sortable({placeholder:"sortable-placeholder",connectWith:".meta-box-sortables",items:".postbox",handle:".hndle",cursor:"move",distance:2,tolerance:"pointer",forcePlaceholderSize:true,helper:"clone",opacity:0.65,start:function(f,d){a("body").css({WebkitUserSelect:"none",KhtmlUserSelect:"none"})},stop:function(f,d){postboxes.save_order(c);d.item.parent().removeClass("temp-border");a("body").css({WebkitUserSelect:"",KhtmlUserSelect:""})}})},save_state:function(d){var b=a(".postbox").filter(".closed").map(function(){return this.id}).get().join(","),c=a(".postbox").filter(":hidden").map(function(){return this.id}).get().join(",");a.post(ajaxurl,{action:"closed-postboxes",closed:b,hidden:c,closedpostboxesnonce:jQuery("#closedpostboxesnonce").val(),page:d})},save_order:function(c){var b,d=a(".columns-prefs input:checked").val()||0;b={action:"meta-box-order",_ajax_nonce:a("#meta-box-order-nonce").val(),page_columns:d,page:c};a(".meta-box-sortables").each(function(){b["order["+this.id.split("-")[0]+"]"]=a(this).sortable("toArray").join(",")});a.post(ajaxurl,b)},pbshow:false,pbhide:false}}(jQuery)); \ No newline at end of file +var postboxes;(function(a){postboxes={add_postbox_toggles:function(c,b){this.init(c,b);a(".postbox h3, .postbox .handlediv").click(function(){var e=a(this).parent(".postbox"),f=e.attr("id");if("dashboard_browser_nag"==f){return}e.toggleClass("closed");postboxes.save_state(c);if(f){if(!e.hasClass("closed")&&a.isFunction(postboxes.pbshow)){postboxes.pbshow(f)}else{if(e.hasClass("closed")&&a.isFunction(postboxes.pbhide)){postboxes.pbhide(f)}}}});a(".postbox h3 a").click(function(f){f.stopPropagation()});a(".postbox a.dismiss").click(function(g){var f=a(this).parents(".postbox").attr("id")+"-hide";a("#"+f).prop("checked",false).triggerHandler("click");return false});a(".hide-postbox-tog").click(function(){var e=a(this).val();if(a(this).prop("checked")){a("#"+e).show();if(a.isFunction(postboxes.pbshow)){postboxes.pbshow(e)}}else{a("#"+e).hide();if(a.isFunction(postboxes.pbhide)){postboxes.pbhide(e)}}postboxes.save_state(c)});a('.columns-prefs input[type="radio"]').click(function(){var e=a(this).val(),f,g,h=a("#poststuff");if(h.length){if(e==2){h.addClass("has-right-sidebar");a("#side-sortables").addClass("temp-border")}else{if(e==1){h.removeClass("has-right-sidebar");a("#normal-sortables").append(a("#side-sortables").children(".postbox"))}}}else{for(f=4;(f>e&&f>1);f--){g=a("#"+d(f)+"-sortables");a("#"+d(f-1)+"-sortables").append(g.children(".postbox"));g.parent().hide()}for(f=1;f<=e;f++){g=a("#"+d(f)+"-sortables");if(g.parent().is(":hidden")){g.addClass("temp-border").parent().show()}}a(".postbox-container:visible").css("width",98/e+"%")}postboxes.save_order(c)});function d(e){switch(e){case 1:return"normal";break;case 2:return"side";break;case 3:return"column3";break;case 4:return"column4";break;default:return""}}},init:function(c,b){a.extend(this,b||{});a("#wpbody-content").css("overflow","hidden");a(".meta-box-sortables").sortable({placeholder:"sortable-placeholder",connectWith:".meta-box-sortables",items:".postbox",handle:".hndle",cursor:"move",distance:2,tolerance:"pointer",forcePlaceholderSize:true,helper:"clone",opacity:0.65,stop:function(f,d){if(a(this).find("#dashboard_browser_nag").is(":visible")&&"dashboard_browser_nag"!=this.firstChild.id){a(this).sortable("cancel");return}postboxes.save_order(c);d.item.parent().removeClass("temp-border")},receive:function(f,d){if("dashboard_browser_nag"==d.item[0].id){a(d.sender).sortable("cancel")}}})},save_state:function(d){var b=a(".postbox").filter(".closed").map(function(){return this.id}).get().join(","),c=a(".postbox").filter(":hidden").map(function(){return this.id}).get().join(",");a.post(ajaxurl,{action:"closed-postboxes",closed:b,hidden:c,closedpostboxesnonce:jQuery("#closedpostboxesnonce").val(),page:d})},save_order:function(c){var b,d=a(".columns-prefs input:checked").val()||0;b={action:"meta-box-order",_ajax_nonce:a("#meta-box-order-nonce").val(),page_columns:d,page:c};a(".meta-box-sortables").each(function(){b["order["+this.id.split("-")[0]+"]"]=a(this).sortable("toArray").join(",")});a.post(ajaxurl,b)},pbshow:false,pbhide:false}}(jQuery)); \ No newline at end of file diff --git a/wp-admin/js/tags.dev.js b/wp-admin/js/tags.dev.js index 3273bae34..045f2b260 100644 --- a/wp-admin/js/tags.dev.js +++ b/wp-admin/js/tags.dev.js @@ -11,7 +11,7 @@ jQuery(document).ready(function($) { $('#ajax-response').empty(); tr.fadeOut('normal', function(){ tr.remove(); }); // Remove the term from the parent box and tag cloud - $('select#parent option[value=' + data.match(/tag_ID=(\d+)/)[1] + ']').remove(); + $('select#parent option[value="' + data.match(/tag_ID=(\d+)/)[1] + '"]').remove(); $('a.tag-link-' + data.match(/tag_ID=(\d+)/)[1]).remove(); } else if ( '-1' == r ) { $('#ajax-response').empty().append('<div class="error"><p>' + tagsl10n.noPerm + '</p></div>'); diff --git a/wp-admin/js/tags.js b/wp-admin/js/tags.js index 15ccd6fac..ddcaeb0c8 100644 --- a/wp-admin/js/tags.js +++ b/wp-admin/js/tags.js @@ -1 +1 @@ -jQuery(document).ready(function(a){a(".delete-tag").live("click",function(g){var b=a(this),f=b.parents("tr"),c=true,d;if("undefined"!=showNotice){c=showNotice.warn()}if(c){d=b.attr("href").replace(/[^?]*\?/,"").replace(/action=delete/,"action=delete-tag");a.post(ajaxurl,d,function(e){if("1"==e){a("#ajax-response").empty();f.fadeOut("normal",function(){f.remove()});a("select#parent option[value="+d.match(/tag_ID=(\d+)/)[1]+"]").remove();a("a.tag-link-"+d.match(/tag_ID=(\d+)/)[1]).remove()}else{if("-1"==e){a("#ajax-response").empty().append('<div class="error"><p>'+tagsl10n.noPerm+"</p></div>");f.children().css("backgroundColor","")}else{a("#ajax-response").empty().append('<div class="error"><p>'+tagsl10n.broken+"</p></div>");f.children().css("backgroundColor","")}}});f.children().css("backgroundColor","#f33")}return false});a("#submit").click(function(){var b=a(this).parents("form");if(!validateForm(b)){return false}a.post(ajaxurl,a("#addtag").serialize(),function(h){a("#ajax-response").empty();var f=wpAjax.parseAjaxResponse(h,"ajax-response");if(!f){return}var g=b.find("select#parent").val();if(g>0&&a("#tag-"+g).length>0){a(".tags #tag-"+g).after(f.responses[0].supplemental.noparents)}else{a(".tags").prepend(f.responses[0].supplemental.parents)}a(".tags .no-items").remove();if(b.find("select#parent")){var e=f.responses[1].supplemental;var c="";for(var d=0;d<f.responses[1].position;d++){c+=" "}b.find("select#parent option:selected").after('<option value="'+e.term_id+'">'+c+e.name+"</option>")}a('input[type="text"]:visible, textarea:visible',b).val("")});return false})}); \ No newline at end of file +jQuery(document).ready(function(a){a(".delete-tag").live("click",function(g){var b=a(this),f=b.parents("tr"),c=true,d;if("undefined"!=showNotice){c=showNotice.warn()}if(c){d=b.attr("href").replace(/[^?]*\?/,"").replace(/action=delete/,"action=delete-tag");a.post(ajaxurl,d,function(e){if("1"==e){a("#ajax-response").empty();f.fadeOut("normal",function(){f.remove()});a('select#parent option[value="'+d.match(/tag_ID=(\d+)/)[1]+'"]').remove();a("a.tag-link-"+d.match(/tag_ID=(\d+)/)[1]).remove()}else{if("-1"==e){a("#ajax-response").empty().append('<div class="error"><p>'+tagsl10n.noPerm+"</p></div>");f.children().css("backgroundColor","")}else{a("#ajax-response").empty().append('<div class="error"><p>'+tagsl10n.broken+"</p></div>");f.children().css("backgroundColor","")}}});f.children().css("backgroundColor","#f33")}return false});a("#submit").click(function(){var b=a(this).parents("form");if(!validateForm(b)){return false}a.post(ajaxurl,a("#addtag").serialize(),function(h){a("#ajax-response").empty();var f=wpAjax.parseAjaxResponse(h,"ajax-response");if(!f){return}var g=b.find("select#parent").val();if(g>0&&a("#tag-"+g).length>0){a(".tags #tag-"+g).after(f.responses[0].supplemental.noparents)}else{a(".tags").prepend(f.responses[0].supplemental.parents)}a(".tags .no-items").remove();if(b.find("select#parent")){var e=f.responses[1].supplemental;var c="";for(var d=0;d<f.responses[1].position;d++){c+=" "}b.find("select#parent option:selected").after('<option value="'+e.term_id+'">'+c+e.name+"</option>")}a('input[type="text"]:visible, textarea:visible',b).val("")});return false})}); \ No newline at end of file diff --git a/wp-admin/js/user-profile.dev.js b/wp-admin/js/user-profile.dev.js index 4a2f39d61..3c60a4593 100644 --- a/wp-admin/js/user-profile.dev.js +++ b/wp-admin/js/user-profile.dev.js @@ -29,37 +29,39 @@ } } - $(document).ready( function() { + $(document).ready(function() { $('#pass1').val('').keyup( check_pass_strength ); $('#pass2').val('').keyup( check_pass_strength ); $('#pass-strength-result').show(); - $('.color-palette').click(function(){$(this).siblings('input[name=admin_color]').attr('checked', 'checked')}); - $('#nickname').blur(function(){ - var str = $(this).val() || $('#user_login').val(); - var select = $('#display_name'); - var sel = select.children('option:selected').attr('id'); - select.children('#display_nickname').remove(); - if ( ! select.children('option[value=' + str + ']').length ) - select.append('<option id="display_nickname" value="' + str + '">' + str + '</option>'); - $('#'+sel).attr('selected', 'selected'); - }); - $('#first_name, #last_name').blur(function(){ - var select = $('#display_name'); - var first = $('#first_name').val(), last = $('#last_name').val(); - var sel = select.children('option:selected').attr('id'); - $('#display_firstname, #display_lastname, #display_firstlast, #display_lastfirst').remove(); - if ( first && ! select.children('option[value=' + first + ']').length ) - select.append('<option id="display_firstname" value="' + first + '">' + first + '</option>'); - if ( last && ! select.children('option[value=' + last + ']').length ) - select.append('<option id="display_lastname" value="' + last + '">' + last + '</option>'); - if ( first && last ) { - if ( ! select.children('option[value=' + first + ' ' + last + ']').length ) - select.append('<option id="display_firstlast" value="' + first + ' ' + last + '">' + first + ' ' + last + '</option>'); - if ( ! select.children('option[value=' + last + ' ' + first + ']').length ) - select.append('<option id="display_lastfirst" value="' + last + ' ' + first + '">' + last + ' ' + first + '</option>'); + $('.color-palette').click(function(){$(this).siblings('input[name="admin_color"]').prop('checked', true)}); + $('#first_name, #last_name, #nickname').blur(function(){ + var select = $('#display_name'), current = select.find('option:selected').attr('id'), dub = [], + inputs = { + display_nickname : $('#nickname').val(), + display_username : $('#user_login').val(), + display_firstname : $('#first_name').val(), + display_lastname : $('#last_name').val() + }; + + if ( inputs.display_firstname && inputs.display_lastname ) { + inputs['display_firstlast'] = inputs.display_firstname + ' ' + inputs.display_lastname; + inputs['display_lastfirst'] = inputs.display_lastname + ' ' + inputs.display_firstname; } - $('#'+sel).attr('selected', 'selected'); + + $('option', select).remove(); + $.each(inputs, function( id, value ) { + var val = value.replace(/<\/?[a-z][^>]*>/gi, ''); + + if ( inputs[id].length && $.inArray( val, dub ) == -1 ) { + dub.push(val); + $('<option />', { + 'id': id, + 'text': val, + 'selected': (id == current) + }).appendTo( select ); + } + }); }); - }); + }); })(jQuery); diff --git a/wp-admin/js/user-profile.js b/wp-admin/js/user-profile.js index e04139a13..9f36f78fe 100644 --- a/wp-admin/js/user-profile.js +++ b/wp-admin/js/user-profile.js @@ -1 +1 @@ -(function(a){function b(){var e=a("#pass1").val(),d=a("#user_login").val(),c=a("#pass2").val(),f;a("#pass-strength-result").removeClass("short bad good strong");if(!e){a("#pass-strength-result").html(pwsL10n.empty);return}f=passwordStrength(e,d,c);switch(f){case 2:a("#pass-strength-result").addClass("bad").html(pwsL10n.bad);break;case 3:a("#pass-strength-result").addClass("good").html(pwsL10n.good);break;case 4:a("#pass-strength-result").addClass("strong").html(pwsL10n.strong);break;case 5:a("#pass-strength-result").addClass("short").html(pwsL10n.mismatch);break;default:a("#pass-strength-result").addClass("short").html(pwsL10n["short"])}}a(document).ready(function(){a("#pass1").val("").keyup(b);a("#pass2").val("").keyup(b);a("#pass-strength-result").show();a(".color-palette").click(function(){a(this).siblings("input[name=admin_color]").attr("checked","checked")});a("#nickname").blur(function(){var e=a(this).val()||a("#user_login").val();var c=a("#display_name");var d=c.children("option:selected").attr("id");c.children("#display_nickname").remove();if(!c.children("option[value="+e+"]").length){c.append('<option id="display_nickname" value="'+e+'">'+e+"</option>")}a("#"+d).attr("selected","selected")});a("#first_name, #last_name").blur(function(){var c=a("#display_name");var f=a("#first_name").val(),d=a("#last_name").val();var e=c.children("option:selected").attr("id");a("#display_firstname, #display_lastname, #display_firstlast, #display_lastfirst").remove();if(f&&!c.children("option[value="+f+"]").length){c.append('<option id="display_firstname" value="'+f+'">'+f+"</option>")}if(d&&!c.children("option[value="+d+"]").length){c.append('<option id="display_lastname" value="'+d+'">'+d+"</option>")}if(f&&d){if(!c.children("option[value="+f+" "+d+"]").length){c.append('<option id="display_firstlast" value="'+f+" "+d+'">'+f+" "+d+"</option>")}if(!c.children("option[value="+d+" "+f+"]").length){c.append('<option id="display_lastfirst" value="'+d+" "+f+'">'+d+" "+f+"</option>")}}a("#"+e).attr("selected","selected")})})})(jQuery); \ No newline at end of file +(function(a){function b(){var e=a("#pass1").val(),d=a("#user_login").val(),c=a("#pass2").val(),f;a("#pass-strength-result").removeClass("short bad good strong");if(!e){a("#pass-strength-result").html(pwsL10n.empty);return}f=passwordStrength(e,d,c);switch(f){case 2:a("#pass-strength-result").addClass("bad").html(pwsL10n.bad);break;case 3:a("#pass-strength-result").addClass("good").html(pwsL10n.good);break;case 4:a("#pass-strength-result").addClass("strong").html(pwsL10n.strong);break;case 5:a("#pass-strength-result").addClass("short").html(pwsL10n.mismatch);break;default:a("#pass-strength-result").addClass("short").html(pwsL10n["short"])}}a(document).ready(function(){a("#pass1").val("").keyup(b);a("#pass2").val("").keyup(b);a("#pass-strength-result").show();a(".color-palette").click(function(){a(this).siblings('input[name="admin_color"]').prop("checked",true)});a("#first_name, #last_name, #nickname").blur(function(){var c=a("#display_name"),e=c.find("option:selected").attr("id"),f=[],d={display_nickname:a("#nickname").val(),display_username:a("#user_login").val(),display_firstname:a("#first_name").val(),display_lastname:a("#last_name").val()};if(d.display_firstname&&d.display_lastname){d.display_firstlast=d.display_firstname+" "+d.display_lastname;d.display_lastfirst=d.display_lastname+" "+d.display_firstname}a("option",c).remove();a.each(d,function(i,g){var h=g.replace(/<\/?[a-z][^>]*>/gi,"");if(d[i].length&&a.inArray(h,f)==-1){f.push(h);a("<option />",{id:i,text:h,selected:(i==e)}).appendTo(c)}})})})})(jQuery); \ No newline at end of file diff --git a/wp-admin/js/widgets.dev.js b/wp-admin/js/widgets.dev.js index 0bd6f0db3..457e50b00 100644 --- a/wp-admin/js/widgets.dev.js +++ b/wp-admin/js/widgets.dev.js @@ -4,7 +4,8 @@ var wpWidgets; wpWidgets = { init : function() { - var rem, sidebars = $('div.widgets-sortables'); + var rem, sidebars = $('div.widgets-sortables'), isRTL = !! ( 'undefined' != typeof isRtl && isRtl ), + margin = ( isRtl ? 'marginRight' : 'marginLeft' ); $('#widgets-right').children('.widgets-holder-wrap').children('.sidebar-name').click(function(){ var c = $(this).siblings('.widgets-sortables'), p = $(this).parent(); @@ -34,14 +35,14 @@ wpWidgets = { if ( w > 250 && inside.closest('div.widgets-sortables').length ) { css['width'] = w + 30 + 'px'; if ( inside.closest('div.widget-liquid-right').length ) - css['marginLeft'] = 235 - w + 'px'; + css[margin] = 235 - w + 'px'; widget.css(css); } wpWidgets.fixLabels(widget); inside.slideDown('fast'); } else { inside.slideUp('fast', function() { - widget.css({'width':'','marginLeft':''}); + widget.css({'width':'', margin:''}); }); } return false; @@ -97,7 +98,7 @@ wpWidgets = { start: function(e,ui) { wpWidgets.fixWebkit(1); ui.item.children('.widget-inside').hide(); - ui.item.css({'marginLeft':'','width':''}); + ui.item.css({margin:'', 'width':''}); }, stop: function(e,ui) { if ( ui.item.hasClass('ui-draggable') && ui.item.data('draggable') ) @@ -114,7 +115,7 @@ wpWidgets = { id = ui.item.attr('id'), sb = $(this).attr('id'); - ui.item.css({'marginLeft':'','width':''}); + ui.item.css({margin:'', 'width':''}); wpWidgets.fixWebkit(); if ( add ) { if ( 'multi' == add ) { @@ -271,7 +272,7 @@ wpWidgets = { close : function(widget) { widget.children('.widget-inside').slideUp('fast', function(){ - widget.css({'width':'','marginLeft':''}); + widget.css({'width':'', margin:''}); }); } }; diff --git a/wp-admin/js/widgets.js b/wp-admin/js/widgets.js index 516562754..a0e1ee075 100644 --- a/wp-admin/js/widgets.js +++ b/wp-admin/js/widgets.js @@ -1 +1 @@ -var wpWidgets;(function(a){wpWidgets={init:function(){var c,b=a("div.widgets-sortables");a("#widgets-right").children(".widgets-holder-wrap").children(".sidebar-name").click(function(){var e=a(this).siblings(".widgets-sortables"),d=a(this).parent();if(!d.hasClass("closed")){e.sortable("disable");d.addClass("closed")}else{d.removeClass("closed");e.sortable("enable").sortable("refresh")}});a("#widgets-left").children(".widgets-holder-wrap").children(".sidebar-name").click(function(){a(this).siblings(".widget-holder").parent().toggleClass("closed")});b.not("#wp_inactive_widgets").each(function(){var e=50,d=a(this).children(".widget").length;e=e+parseInt(d*48,10);a(this).css("minHeight",e+"px")});a("a.widget-action").live("click",function(){var f={},g=a(this).closest("div.widget"),d=g.children(".widget-inside"),e=parseInt(g.find("input.widget-width").val(),10);if(d.is(":hidden")){if(e>250&&d.closest("div.widgets-sortables").length){f.width=e+30+"px";if(d.closest("div.widget-liquid-right").length){f.marginLeft=235-e+"px"}g.css(f)}wpWidgets.fixLabels(g);d.slideDown("fast")}else{d.slideUp("fast",function(){g.css({width:"",marginLeft:""})})}return false});a("input.widget-control-save").live("click",function(){wpWidgets.save(a(this).closest("div.widget"),0,1,0);return false});a("a.widget-control-remove").live("click",function(){wpWidgets.save(a(this).closest("div.widget"),1,1,0);return false});a("a.widget-control-close").live("click",function(){wpWidgets.close(a(this).closest("div.widget"));return false});b.children(".widget").each(function(){wpWidgets.appendTitle(this);if(a("p.widget-error",this).length){a("a.widget-action",this).click()}});a("#widget-list").children(".widget").draggable({connectToSortable:"div.widgets-sortables",handle:"> .widget-top > .widget-title",distance:2,helper:"clone",zIndex:5,containment:"document",start:function(f,d){wpWidgets.fixWebkit(1);d.helper.find("div.widget-description").hide()},stop:function(f,d){if(c){a(c).hide()}c="";wpWidgets.fixWebkit()}});b.sortable({placeholder:"widget-placeholder",items:"> .widget",handle:"> .widget-top > .widget-title",cursor:"move",distance:2,containment:"document",start:function(f,d){wpWidgets.fixWebkit(1);d.item.children(".widget-inside").hide();d.item.css({marginLeft:"",width:""})},stop:function(g,d){if(d.item.hasClass("ui-draggable")&&d.item.data("draggable")){d.item.draggable("destroy")}if(d.item.hasClass("deleting")){wpWidgets.save(d.item,1,0,1);d.item.remove();return}var f=d.item.find("input.add_new").val(),j=d.item.find("input.multi_number").val(),i=d.item.attr("id"),h=a(this).attr("id");d.item.css({marginLeft:"",width:""});wpWidgets.fixWebkit();if(f){if("multi"==f){d.item.html(d.item.html().replace(/<[^<>]+>/g,function(e){return e.replace(/__i__|%i%/g,j)}));d.item.attr("id",i.replace(/__i__|%i%/g,j));j++;a("div#"+i).find("input.multi_number").val(j)}else{if("single"==f){d.item.attr("id","new-"+i);c="div#"+i}}wpWidgets.save(d.item,0,0,1);d.item.find("input.add_new").val("");d.item.find("a.widget-action").click();return}wpWidgets.saveOrder(h)},receive:function(f,d){if(!a(this).is(":visible")){a(this).sortable("cancel")}}}).sortable("option","connectWith","div.widgets-sortables").parent().filter(".closed").children(".widgets-sortables").sortable("disable");a("#available-widgets").droppable({tolerance:"pointer",accept:function(d){return a(d).parent().attr("id")!="widget-list"},drop:function(f,d){d.draggable.addClass("deleting");a("#removing-widget").hide().children("span").html("")},over:function(f,d){d.draggable.addClass("deleting");a("div.widget-placeholder").hide();if(d.draggable.hasClass("ui-sortable-helper")){a("#removing-widget").show().children("span").html(d.draggable.find("div.widget-title").children("h4").html())}},out:function(f,d){d.draggable.removeClass("deleting");a("div.widget-placeholder").show();a("#removing-widget").hide().children("span").html("")}})},saveOrder:function(c){if(c){a("#"+c).closest("div.widgets-holder-wrap").find("img.ajax-feedback").css("visibility","visible")}var b={action:"widgets-order",savewidgets:a("#_wpnonce_widgets").val(),sidebars:[]};a("div.widgets-sortables").each(function(){b["sidebars["+a(this).attr("id")+"]"]=a(this).sortable("toArray").join(",")});a.post(ajaxurl,b,function(){a("img.ajax-feedback").css("visibility","hidden")});this.resize()},save:function(g,d,e,b){var h=g.closest("div.widgets-sortables").attr("id"),f=g.find("form").serialize(),c;g=a(g);a(".ajax-feedback",g).css("visibility","visible");c={action:"save-widget",savewidgets:a("#_wpnonce_widgets").val(),sidebar:h};if(d){c.delete_widget=1}f+="&"+a.param(c);a.post(ajaxurl,f,function(i){var j;if(d){if(!a("input.widget_number",g).val()){j=a("input.widget-id",g).val();a("#available-widgets").find("input.widget-id").each(function(){if(a(this).val()==j){a(this).closest("div.widget").show()}})}if(e){b=0;g.slideUp("fast",function(){a(this).remove();wpWidgets.saveOrder()})}else{g.remove();wpWidgets.resize()}}else{a(".ajax-feedback").css("visibility","hidden");if(i&&i.length>2){a("div.widget-content",g).html(i);wpWidgets.appendTitle(g);wpWidgets.fixLabels(g)}}if(b){wpWidgets.saveOrder()}})},appendTitle:function(b){var c=a('input[id*="-title"]',b);if(c=c.val()){c=c.replace(/<[^<>]+>/g,"").replace(/</g,"<").replace(/>/g,">");a(b).children(".widget-top").children(".widget-title").children().children(".in-widget-title").html(": "+c)}},resize:function(){a("div.widgets-sortables").not("#wp_inactive_widgets").each(function(){var c=50,b=a(this).children(".widget").length;c=c+parseInt(b*48,10);a(this).css("minHeight",c+"px")})},fixWebkit:function(b){b=b?"none":"";a("body").css({WebkitUserSelect:b,KhtmlUserSelect:b})},fixLabels:function(b){b.children(".widget-inside").find("label").each(function(){var c=a(this).attr("for");if(c&&c==a("input",this).attr("id")){a(this).removeAttr("for")}})},close:function(b){b.children(".widget-inside").slideUp("fast",function(){b.css({width:"",marginLeft:""})})}};a(document).ready(function(b){wpWidgets.init()})})(jQuery); \ No newline at end of file +var wpWidgets;(function(a){wpWidgets={init:function(){var e,c=a("div.widgets-sortables"),b=!!("undefined"!=typeof isRtl&&isRtl),d=(isRtl?"marginRight":"marginLeft");a("#widgets-right").children(".widgets-holder-wrap").children(".sidebar-name").click(function(){var g=a(this).siblings(".widgets-sortables"),f=a(this).parent();if(!f.hasClass("closed")){g.sortable("disable");f.addClass("closed")}else{f.removeClass("closed");g.sortable("enable").sortable("refresh")}});a("#widgets-left").children(".widgets-holder-wrap").children(".sidebar-name").click(function(){a(this).siblings(".widget-holder").parent().toggleClass("closed")});c.not("#wp_inactive_widgets").each(function(){var g=50,f=a(this).children(".widget").length;g=g+parseInt(f*48,10);a(this).css("minHeight",g+"px")});a("a.widget-action").live("click",function(){var h={},i=a(this).closest("div.widget"),f=i.children(".widget-inside"),g=parseInt(i.find("input.widget-width").val(),10);if(f.is(":hidden")){if(g>250&&f.closest("div.widgets-sortables").length){h.width=g+30+"px";if(f.closest("div.widget-liquid-right").length){h[d]=235-g+"px"}i.css(h)}wpWidgets.fixLabels(i);f.slideDown("fast")}else{f.slideUp("fast",function(){i.css({width:"",margin:""})})}return false});a("input.widget-control-save").live("click",function(){wpWidgets.save(a(this).closest("div.widget"),0,1,0);return false});a("a.widget-control-remove").live("click",function(){wpWidgets.save(a(this).closest("div.widget"),1,1,0);return false});a("a.widget-control-close").live("click",function(){wpWidgets.close(a(this).closest("div.widget"));return false});c.children(".widget").each(function(){wpWidgets.appendTitle(this);if(a("p.widget-error",this).length){a("a.widget-action",this).click()}});a("#widget-list").children(".widget").draggable({connectToSortable:"div.widgets-sortables",handle:"> .widget-top > .widget-title",distance:2,helper:"clone",zIndex:5,containment:"document",start:function(g,f){wpWidgets.fixWebkit(1);f.helper.find("div.widget-description").hide()},stop:function(g,f){if(e){a(e).hide()}e="";wpWidgets.fixWebkit()}});c.sortable({placeholder:"widget-placeholder",items:"> .widget",handle:"> .widget-top > .widget-title",cursor:"move",distance:2,containment:"document",start:function(g,f){wpWidgets.fixWebkit(1);f.item.children(".widget-inside").hide();f.item.css({margin:"",width:""})},stop:function(h,f){if(f.item.hasClass("ui-draggable")&&f.item.data("draggable")){f.item.draggable("destroy")}if(f.item.hasClass("deleting")){wpWidgets.save(f.item,1,0,1);f.item.remove();return}var g=f.item.find("input.add_new").val(),k=f.item.find("input.multi_number").val(),j=f.item.attr("id"),i=a(this).attr("id");f.item.css({margin:"",width:""});wpWidgets.fixWebkit();if(g){if("multi"==g){f.item.html(f.item.html().replace(/<[^<>]+>/g,function(l){return l.replace(/__i__|%i%/g,k)}));f.item.attr("id",j.replace(/__i__|%i%/g,k));k++;a("div#"+j).find("input.multi_number").val(k)}else{if("single"==g){f.item.attr("id","new-"+j);e="div#"+j}}wpWidgets.save(f.item,0,0,1);f.item.find("input.add_new").val("");f.item.find("a.widget-action").click();return}wpWidgets.saveOrder(i)},receive:function(g,f){if(!a(this).is(":visible")){a(this).sortable("cancel")}}}).sortable("option","connectWith","div.widgets-sortables").parent().filter(".closed").children(".widgets-sortables").sortable("disable");a("#available-widgets").droppable({tolerance:"pointer",accept:function(f){return a(f).parent().attr("id")!="widget-list"},drop:function(g,f){f.draggable.addClass("deleting");a("#removing-widget").hide().children("span").html("")},over:function(g,f){f.draggable.addClass("deleting");a("div.widget-placeholder").hide();if(f.draggable.hasClass("ui-sortable-helper")){a("#removing-widget").show().children("span").html(f.draggable.find("div.widget-title").children("h4").html())}},out:function(g,f){f.draggable.removeClass("deleting");a("div.widget-placeholder").show();a("#removing-widget").hide().children("span").html("")}})},saveOrder:function(c){if(c){a("#"+c).closest("div.widgets-holder-wrap").find("img.ajax-feedback").css("visibility","visible")}var b={action:"widgets-order",savewidgets:a("#_wpnonce_widgets").val(),sidebars:[]};a("div.widgets-sortables").each(function(){b["sidebars["+a(this).attr("id")+"]"]=a(this).sortable("toArray").join(",")});a.post(ajaxurl,b,function(){a("img.ajax-feedback").css("visibility","hidden")});this.resize()},save:function(g,d,e,b){var h=g.closest("div.widgets-sortables").attr("id"),f=g.find("form").serialize(),c;g=a(g);a(".ajax-feedback",g).css("visibility","visible");c={action:"save-widget",savewidgets:a("#_wpnonce_widgets").val(),sidebar:h};if(d){c.delete_widget=1}f+="&"+a.param(c);a.post(ajaxurl,f,function(i){var j;if(d){if(!a("input.widget_number",g).val()){j=a("input.widget-id",g).val();a("#available-widgets").find("input.widget-id").each(function(){if(a(this).val()==j){a(this).closest("div.widget").show()}})}if(e){b=0;g.slideUp("fast",function(){a(this).remove();wpWidgets.saveOrder()})}else{g.remove();wpWidgets.resize()}}else{a(".ajax-feedback").css("visibility","hidden");if(i&&i.length>2){a("div.widget-content",g).html(i);wpWidgets.appendTitle(g);wpWidgets.fixLabels(g)}}if(b){wpWidgets.saveOrder()}})},appendTitle:function(b){var c=a('input[id*="-title"]',b);if(c=c.val()){c=c.replace(/<[^<>]+>/g,"").replace(/</g,"<").replace(/>/g,">");a(b).children(".widget-top").children(".widget-title").children().children(".in-widget-title").html(": "+c)}},resize:function(){a("div.widgets-sortables").not("#wp_inactive_widgets").each(function(){var c=50,b=a(this).children(".widget").length;c=c+parseInt(b*48,10);a(this).css("minHeight",c+"px")})},fixWebkit:function(b){b=b?"none":"";a("body").css({WebkitUserSelect:b,KhtmlUserSelect:b})},fixLabels:function(b){b.children(".widget-inside").find("label").each(function(){var c=a(this).attr("for");if(c&&c==a("input",this).attr("id")){a(this).removeAttr("for")}})},close:function(b){b.children(".widget-inside").slideUp("fast",function(){b.css({width:"",margin:""})})}};a(document).ready(function(b){wpWidgets.init()})})(jQuery); \ No newline at end of file diff --git a/wp-admin/js/word-count.dev.js b/wp-admin/js/word-count.dev.js index 27aae3cce..bb987af0a 100644 --- a/wp-admin/js/word-count.dev.js +++ b/wp-admin/js/word-count.dev.js @@ -1,32 +1,28 @@ -// Word count + (function($) { wpWordCount = { - init : function() { - var t = this, last = 0, co = $('#content'); - - $('#wp-word-count').html( wordCountL10n.count.replace( /%d/, '<span id="word-count">0</span>' ) ); - t.block = 0; - t.wc(co.val()); - co.keyup( function(e) { - if ( e.keyCode == last ) return true; - if ( 13 == e.keyCode || 8 == last || 46 == last ) t.wc(co.val()); - last = e.keyCode; - return true; - }); + settings : { + strip : /<[a-zA-Z\/][^<>]*>/g, // strip HTML tags + clean : /[0-9.(),;:!?%#$¿'"_+=\\/-]+/g, // regexp to remove punctuation, etc. + count : /\S\s+/g // counting regexp }, + block : 0, + wc : function(tx) { - var t = this, w = $('#word-count'), tc = 0; + var t = this, w = $('.word-count'), tc = 0; + + if ( t.block ) + return; - if ( t.block ) return; t.block = 1; setTimeout( function() { if ( tx ) { - tx = tx.replace( /<.[^<>]*?>/g, ' ' ).replace( / | /gi, ' ' ); - tx = tx.replace( /[0-9.(),;:!?%#$¿'"_+=\\/-]*/g, '' ); - tx.replace( /\S\s+/g, function(){tc++;} ); + tx = tx.replace( t.settings.strip, ' ' ).replace( / | /gi, ' ' ); + tx = tx.replace( t.settings.clean, '' ); + tx.replace( t.settings.count, function(){tc++;} ); } w.html(tc.toString()); @@ -35,5 +31,7 @@ } } - $(document).ready( function(){ wpWordCount.init(); } ); + $(document).bind( 'wpcountwords', function(e, txt) { + wpWordCount.wc(txt); + }); }(jQuery)); diff --git a/wp-admin/js/word-count.js b/wp-admin/js/word-count.js index 8c935d417..dbd884460 100644 --- a/wp-admin/js/word-count.js +++ b/wp-admin/js/word-count.js @@ -1 +1 @@ -(function(a){wpWordCount={init:function(){var b=this,c=0,d=a("#content");a("#wp-word-count").html(wordCountL10n.count.replace(/%d/,'<span id="word-count">0</span>'));b.block=0;b.wc(d.val());d.keyup(function(f){if(f.keyCode==c){return true}if(13==f.keyCode||8==c||46==c){b.wc(d.val())}c=f.keyCode;return true})},wc:function(d){var e=this,c=a("#word-count"),b=0;if(e.block){return}e.block=1;setTimeout(function(){if(d){d=d.replace(/<.[^<>]*?>/g," ").replace(/ | /gi," ");d=d.replace(/[0-9.(),;:!?%#$¿'"_+=\\/-]*/g,"");d.replace(/\S\s+/g,function(){b++})}c.html(b.toString());setTimeout(function(){e.block=0},2000)},1)}};a(document).ready(function(){wpWordCount.init()})}(jQuery)); \ No newline at end of file +(function(a){wpWordCount={settings:{strip:/<[a-zA-Z\/][^<>]*>/g,clean:/[0-9.(),;:!?%#$¿'"_+=\\/-]+/g,count:/\S\s+/g},block:0,wc:function(d){var e=this,c=a(".word-count"),b=0;if(e.block){return}e.block=1;setTimeout(function(){if(d){d=d.replace(e.settings.strip," ").replace(/ | /gi," ");d=d.replace(e.settings.clean,"");d.replace(e.settings.count,function(){b++})}c.html(b.toString());setTimeout(function(){e.block=0},2000)},1)}};a(document).bind("wpcountwords",function(c,b){wpWordCount.wc(b)})}(jQuery)); \ No newline at end of file diff --git a/wp-admin/js/wp-fullscreen.dev.js b/wp-admin/js/wp-fullscreen.dev.js new file mode 100644 index 000000000..3bf5e5ef3 --- /dev/null +++ b/wp-admin/js/wp-fullscreen.dev.js @@ -0,0 +1,694 @@ +/** + * PubSub + * + * A lightweight publish/subscribe implementation. + * Private use only! + */ +var PubSub, fullscreen, wptitlehint; + +PubSub = function() { + this.topics = {}; +}; + +PubSub.prototype.subscribe = function( topic, callback ) { + if ( ! this.topics[ topic ] ) + this.topics[ topic ] = []; + + this.topics[ topic ].push( callback ); + return callback; +}; + +PubSub.prototype.unsubscribe = function( topic, callback ) { + var i, l, + topics = this.topics[ topic ]; + + if ( ! topics ) + return callback || []; + + // Clear matching callbacks + if ( callback ) { + for ( i = 0, l = topics.length; i < l; i++ ) { + if ( callback == topics[i] ) + topics.splice( i, 1 ); + } + return callback; + + // Clear all callbacks + } else { + this.topics[ topic ] = []; + return topics; + } +}; + +PubSub.prototype.publish = function( topic, args ) { + var i, l, broken, + topics = this.topics[ topic ]; + + if ( ! topics ) + return; + + args = args || []; + + for ( i = 0, l = topics.length; i < l; i++ ) { + broken = ( topics[i].apply( null, args ) === false || broken ); + } + return ! broken; +}; + +/** + * Distraction Free Writing + * (wp-fullscreen) + * + * Access the API globally using the fullscreen variable. + */ + +(function($){ + var api, ps, bounder, s; + + // Initialize the fullscreen/api object + fullscreen = api = {}; + + // Create the PubSub (publish/subscribe) interface. + ps = api.pubsub = new PubSub(); + timer = 0; + block = false; + + s = api.settings = { // Settings + visible : false, + mode : 'tinymce', + editor_id : 'content', + title_id : 'title', + timer : 0, + toolbar_shown : false + } + + /** + * Bounder + * + * Creates a function that publishes start/stop topics. + * Used to throttle events. + */ + bounder = api.bounder = function( start, stop, delay, e ) { + var y, top; + + delay = delay || 1250; + + if ( e ) { + y = e.pageY || e.clientY || e.offsetY; + top = $(document).scrollTop(); + + if ( !e.isDefaultPrevented ) // test if e ic jQuery normalized + y = 135 + y; + + if ( y - top > 120 ) + return; + } + + if ( block ) + return; + + block = true; + + setTimeout( function() { + block = false; + }, 400 ); + + if ( s.timer ) + clearTimeout( s.timer ); + else + ps.publish( start ); + + function timed() { + ps.publish( stop ); + s.timer = 0; + } + + s.timer = setTimeout( timed, delay ); + }; + + /** + * on() + * + * Turns fullscreen on. + * + * @param string mode Optional. Switch to the given mode before opening. + */ + api.on = function() { + if ( s.visible ) + return; + + s.mode = $('#' + s.editor_id).is(':hidden') ? 'tinymce' : 'html'; + + if ( ! s.element ) + api.ui.init(); + + s.is_mce_on = s.has_tinymce && typeof( tinyMCE.get(s.editor_id) ) != 'undefined'; + + api.ui.fade( 'show', 'showing', 'shown' ); + }; + + /** + * off() + * + * Turns fullscreen off. + */ + api.off = function() { + if ( ! s.visible ) + return; + + api.ui.fade( 'hide', 'hiding', 'hidden' ); + }; + + /** + * switchmode() + * + * @return string - The current mode. + * + * @param string to - The fullscreen mode to switch to. + * @event switchMode + * @eventparam string to - The new mode. + * @eventparam string from - The old mode. + */ + api.switchmode = function( to ) { + var from = s.mode; + + if ( ! to || ! s.visible || ! s.has_tinymce ) + return from; + + // Don't switch if the mode is the same. + if ( from == to ) + return from; + + ps.publish( 'switchMode', [ from, to ] ); + s.mode = to; + ps.publish( 'switchedMode', [ from, to ] ); + + return to; + }; + + /** + * General + */ + + api.save = function() { + var hidden = $('#hiddenaction'), old = hidden.val(), spinner = $('#wp-fullscreen-save img'), + message = $('#wp-fullscreen-save span'); + + spinner.show(); + api.savecontent(); + + hidden.val('wp-fullscreen-save-post'); + + $.post( ajaxurl, $('form#post').serialize(), function(r){ + spinner.hide(); + message.show(); + + setTimeout( function(){ + message.fadeOut(1000); + }, 3000 ); + + if ( r.last_edited ) + $('#wp-fullscreen-save input').attr( 'title', r.last_edited ); + + }, 'json'); + + hidden.val(old); + } + + api.savecontent = function() { + var ed, content; + + $('#' + s.title_id).val( $('#wp-fullscreen-title').val() ); + + if ( s.mode === 'tinymce' && (ed = tinyMCE.get('wp_mce_fullscreen')) ) { + content = ed.save(); + } else { + content = $('#wp_mce_fullscreen').val(); + } + + $('#' + s.editor_id).val( content ); + $(document).triggerHandler('wpcountwords', [ content ]); + } + + set_title_hint = function( title ) { + if ( ! title.val().length ) + title.siblings('label').css( 'visibility', '' ); + else + title.siblings('label').css( 'visibility', 'hidden' ); + } + + api.dfw_width = function(n) { + var el = $('#wp-fullscreen-wrap'), w = el.width(); + + if ( !n ) { // reset to theme width + el.width( $('#wp-fullscreen-central-toolbar').width() ); + deleteUserSetting('dfw_width'); + return; + } + + w = n + w; + + if ( w < 200 || w > 1200 ) // sanity check + return; + + el.width( w ); + setUserSetting('dfw_width', w); + } + + ps.subscribe( 'showToolbar', function() { + s.toolbars.removeClass('fade-1000').addClass('fade-300'); + api.fade.In( s.toolbars, 300, function(){ ps.publish('toolbarShown'); }, true ); + $('#wp-fullscreen-body').addClass('wp-fullscreen-focus'); + s.toolbar_shown = true; + }); + + ps.subscribe( 'hideToolbar', function() { + s.toolbars.removeClass('fade-300').addClass('fade-1000'); + api.fade.Out( s.toolbars, 1000, function(){ ps.publish('toolbarHidden'); }, true ); + $('#wp-fullscreen-body').removeClass('wp-fullscreen-focus'); + }); + + ps.subscribe( 'toolbarShown', function() { + s.toolbars.removeClass('fade-300'); + }); + + ps.subscribe( 'toolbarHidden', function() { + s.toolbars.removeClass('fade-1000'); + s.toolbar_shown = false; + }); + + ps.subscribe( 'show', function() { // This event occurs before the overlay blocks the UI. + var title = $('#wp-fullscreen-title').val( $('#' + s.title_id).val() ); + + set_title_hint( title ); + $('#wp-fullscreen-save input').attr( 'title', $('#last-edit').text() ); + + s.textarea_obj.value = edCanvas.value; + + if ( s.has_tinymce && s.mode === 'tinymce' ) + tinyMCE.execCommand('wpFullScreenInit'); + + s._edCanvas = edCanvas; + edCanvas = s.textarea_obj; + + s.orig_y = $(window).scrollTop(); + }); + + ps.subscribe( 'showing', function() { // This event occurs while the DFW overlay blocks the UI. + $( document.body ).addClass( 'fullscreen-active' ); + api.refresh_buttons(); + + $( document ).bind( 'mousemove.fullscreen', function(e) { bounder( 'showToolbar', 'hideToolbar', 2000, e ); } ); + bounder( 'showToolbar', 'hideToolbar', 2000 ); + + api.bind_resize(); + setTimeout( api.resize_textarea, 200 ); + + // scroll to top so the user is not disoriented + scrollTo(0, 0); + + // needed it for IE7 and compat mode + $('#wpadminbar').hide(); + }); + + ps.subscribe( 'shown', function() { // This event occurs after the DFW overlay is shown + s.visible = true; + + // init the standard TinyMCE instance if missing + if ( s.has_tinymce && ! s.is_mce_on ) { + htmled = document.getElementById(s.editor_id), old_val = htmled.value; + + htmled.value = switchEditors.wpautop( old_val ); + + tinyMCE.settings.setup = function(ed) { + ed.onInit.add(function(ed) { + ed.hide(); + delete tinyMCE.settings.setup; + ed.getElement().value = old_val; + }); + } + + tinyMCE.execCommand("mceAddControl", false, s.editor_id); + s.is_mce_on = true; + } + }); + + ps.subscribe( 'hide', function() { // This event occurs before the overlay blocks DFW. + + // Make sure the correct editor is displaying. + if ( s.has_tinymce && s.mode === 'tinymce' && $('#' + s.editor_id).is(':visible') ) { + switchEditors.go( s.editor_id, 'tinymce' ); + } else if ( s.mode === 'html' && $('#' + s.editor_id).is(':hidden') ) { + switchEditors.go( s.editor_id, 'html' ); + } + + // Save content must be after switchEditors or content will be overwritten. See #17229. + api.savecontent(); + + $( document ).unbind( '.fullscreen' ); + $(s.textarea_obj).unbind('.grow'); + + if ( s.has_tinymce && s.mode === 'tinymce' ) + tinyMCE.execCommand('wpFullScreenSave'); + + set_title_hint( $('#' + s.title_id) ); + + // Restore and update edCanvas. + edCanvas = s._edCanvas; + edCanvas.value = s.textarea_obj.value; + }); + + ps.subscribe( 'hiding', function() { // This event occurs while the overlay blocks the DFW UI. + + $( document.body ).removeClass( 'fullscreen-active' ); + scrollTo(0, s.orig_y); + $('#wpadminbar').show(); + }); + + ps.subscribe( 'hidden', function() { // This event occurs after DFW is removed. + s.visible = false; + $('#wp_mce_fullscreen').removeAttr('style'); + + if ( s.has_tinymce && s.is_mce_on ) + tinyMCE.execCommand('wpFullScreenClose'); + + s.textarea_obj.value = ''; + api.oldheight = 0; + }); + + ps.subscribe( 'switchMode', function( from, to ) { + var ed; + + if ( !s.has_tinymce || !s.is_mce_on ) + return; + + ed = tinyMCE.get('wp_mce_fullscreen'); + + if ( from === 'html' && to === 'tinymce' ) { + s.textarea_obj.value = switchEditors.wpautop( s.textarea_obj.value ); + + if ( 'undefined' == typeof(ed) ) + tinyMCE.execCommand('wpFullScreenInit'); + else + ed.show(); + + } else if ( from === 'tinymce' && to === 'html' ) { + if ( ed ) + ed.hide(); + } + }); + + ps.subscribe( 'switchedMode', function( from, to ) { + api.refresh_buttons(true); + + if ( to === 'html' ) + setTimeout( api.resize_textarea, 200 ); + }); + + /** + * Buttons + */ + api.b = function() { + if ( s.has_tinymce && 'tinymce' === s.mode ) + tinyMCE.execCommand('Bold'); + } + + api.i = function() { + if ( s.has_tinymce && 'tinymce' === s.mode ) + tinyMCE.execCommand('Italic'); + } + + api.ul = function() { + if ( s.has_tinymce && 'tinymce' === s.mode ) + tinyMCE.execCommand('InsertUnorderedList'); + } + + api.ol = function() { + if ( s.has_tinymce && 'tinymce' === s.mode ) + tinyMCE.execCommand('InsertOrderedList'); + } + + api.link = function() { + if ( s.has_tinymce && 'tinymce' === s.mode ) + tinyMCE.execCommand('WP_Link'); + else + wpLink.open(); + } + + api.unlink = function() { + if ( s.has_tinymce && 'tinymce' === s.mode ) + tinyMCE.execCommand('unlink'); + } + + api.atd = function() { + if ( s.has_tinymce && 'tinymce' === s.mode ) + tinyMCE.execCommand('mceWritingImprovementTool'); + } + + api.help = function() { + if ( s.has_tinymce && 'tinymce' === s.mode ) + tinyMCE.execCommand('WP_Help'); + } + + api.blockquote = function() { + if ( s.has_tinymce && 'tinymce' === s.mode ) + tinyMCE.execCommand('mceBlockQuote'); + } + + api.refresh_buttons = function( fade ) { + fade = fade || false; + + if ( s.mode === 'html' ) { + $('#wp-fullscreen-mode-bar').removeClass('wp-tmce-mode').addClass('wp-html-mode'); + + if ( fade ) + $('#wp-fullscreen-button-bar').fadeOut( 150, function(){ + $(this).addClass('wp-html-mode').fadeIn( 150 ); + }); + else + $('#wp-fullscreen-button-bar').addClass('wp-html-mode'); + + } else if ( s.mode === 'tinymce' ) { + $('#wp-fullscreen-mode-bar').removeClass('wp-html-mode').addClass('wp-tmce-mode'); + + if ( fade ) + $('#wp-fullscreen-button-bar').fadeOut( 150, function(){ + $(this).removeClass('wp-html-mode').fadeIn( 150 ); + }); + else + $('#wp-fullscreen-button-bar').removeClass('wp-html-mode'); + } + } + + /** + * UI Elements + * + * Used for transitioning between states. + */ + api.ui = { + init: function() { + var topbar = $('#fullscreen-topbar'), txtarea = $('#wp_mce_fullscreen'), last = 0; + s.toolbars = topbar.add( $('#wp-fullscreen-status') ); + s.element = $('#fullscreen-fader'); + s.textarea_obj = txtarea[0]; + s.has_tinymce = typeof(tinyMCE) != 'undefined'; + + if ( !s.has_tinymce ) + $('#wp-fullscreen-mode-bar').hide(); + + if ( wptitlehint ) + wptitlehint('wp-fullscreen-title'); + + $(document).keyup(function(e){ + var c = e.keyCode || e.charCode, a, data; + + if ( !fullscreen.settings.visible ) + return true; + + if ( navigator.platform && navigator.platform.indexOf('Mac') != -1 ) + a = e.ctrlKey; // Ctrl key for Mac + else + a = e.altKey; // Alt key for Win & Linux + + if ( 27 == c ) { // Esc + data = { + event: e, + what: 'dfw', + cb: fullscreen.off, + condition: function(){ + if ( $('#TB_window').is(':visible') || $('.wp-dialog').is(':visible') ) + return false; + return true; + } + }; + + if ( ! jQuery(document).triggerHandler( 'wp_CloseOnEscape', [data] ) ) + fullscreen.off(); + } + + if ( a && (61 == c || 107 == c || 187 == c) ) // + + api.dfw_width(25); + + if ( a && (45 == c || 109 == c || 189 == c) ) // - + api.dfw_width(-25); + + if ( a && 48 == c ) // 0 + api.dfw_width(0); + + return false; + }); + + // word count in HTML mode + if ( typeof(wpWordCount) != 'undefined' ) { + + txtarea.keyup( function(e) { + var k = e.keyCode || e.charCode; + + if ( k == last ) + return true; + + if ( 13 == k || 8 == last || 46 == last ) + $(document).triggerHandler('wpcountwords', [ txtarea.val() ]); + + last = k; + return true; + }); + } + + topbar.mouseenter(function(e){ + s.toolbars.addClass('fullscreen-make-sticky'); + $( document ).unbind( '.fullscreen' ); + clearTimeout( s.timer ); + s.timer = 0; + }).mouseleave(function(e){ + s.toolbars.removeClass('fullscreen-make-sticky'); + + if ( s.visible ) + $( document ).bind( 'mousemove.fullscreen', function(e) { bounder( 'showToolbar', 'hideToolbar', 2000, e ); } ); + }); + }, + + fade: function( before, during, after ) { + if ( ! s.element ) + api.ui.init(); + + // If any callback bound to before returns false, bail. + if ( before && ! ps.publish( before ) ) + return; + + api.fade.In( s.element, 600, function() { + if ( during ) + ps.publish( during ); + + api.fade.Out( s.element, 600, function() { + if ( after ) + ps.publish( after ); + }) + }); + } + }; + + api.fade = { + transitionend: 'transitionend webkitTransitionEnd oTransitionEnd', + + // Sensitivity to allow browsers to render the blank element before animating. + sensitivity: 100, + + In: function( element, speed, callback, stop ) { + + callback = callback || $.noop; + speed = speed || 400; + stop = stop || false; + + if ( api.fade.transitions ) { + if ( element.is(':visible') ) { + element.addClass( 'fade-trigger' ); + return element; + } + + element.show(); + element.first().one( this.transitionend, function() { + callback(); + }); + setTimeout( function() { element.addClass( 'fade-trigger' ); }, this.sensitivity ); + } else { + if ( stop ) + element.stop(); + + element.css( 'opacity', 1 ); + element.first().fadeIn( speed, callback ); + + if ( element.length > 1 ) + element.not(':first').fadeIn( speed ); + } + + return element; + }, + + Out: function( element, speed, callback, stop ) { + + callback = callback || $.noop; + speed = speed || 400; + stop = stop || false; + + if ( ! element.is(':visible') ) + return element; + + if ( api.fade.transitions ) { + element.first().one( api.fade.transitionend, function() { + if ( element.hasClass('fade-trigger') ) + return; + + element.hide(); + callback(); + }); + setTimeout( function() { element.removeClass( 'fade-trigger' ); }, this.sensitivity ); + } else { + if ( stop ) + element.stop(); + + element.first().fadeOut( speed, callback ); + + if ( element.length > 1 ) + element.not(':first').fadeOut( speed ); + } + + return element; + }, + + transitions: (function() { // Check if the browser supports CSS 3.0 transitions + var s = document.documentElement.style; + + return ( typeof ( s.WebkitTransition ) == 'string' || + typeof ( s.MozTransition ) == 'string' || + typeof ( s.OTransition ) == 'string' || + typeof ( s.transition ) == 'string' ); + })() + }; + + + /** + * Resize API + * + * Automatically updates textarea height. + */ + + api.bind_resize = function() { + $(s.textarea_obj).bind('keypress.grow click.grow paste.grow', function(){ + setTimeout( api.resize_textarea, 200 ); + }); + } + + api.oldheight = 0; + api.resize_textarea = function() { + var txt = s.textarea_obj, newheight; + + newheight = txt.scrollHeight > 300 ? txt.scrollHeight : 300; + + if ( newheight != api.oldheight ) { + txt.style.height = newheight + 'px'; + api.oldheight = newheight; + } + }; + +})(jQuery); diff --git a/wp-admin/js/wp-fullscreen.js b/wp-admin/js/wp-fullscreen.js new file mode 100644 index 000000000..c5bf4868f --- /dev/null +++ b/wp-admin/js/wp-fullscreen.js @@ -0,0 +1 @@ +var PubSub,fullscreen,wptitlehint;PubSub=function(){this.topics={}};PubSub.prototype.subscribe=function(a,b){if(!this.topics[a]){this.topics[a]=[]}this.topics[a].push(b);return b};PubSub.prototype.unsubscribe=function(b,e){var c,a,d=this.topics[b];if(!d){return e||[]}if(e){for(c=0,a=d.length;c<a;c++){if(e==d[c]){d.splice(c,1)}}return e}else{this.topics[b]=[];return d}};PubSub.prototype.publish=function(c,b){var d,a,e,f=this.topics[c];if(!f){return}b=b||[];for(d=0,a=f.length;d<a;d++){e=(f[d].apply(null,b)===false||e)}return !e};(function(c){var b,e,d,a;fullscreen=b={};e=b.pubsub=new PubSub();timer=0;block=false;a=b.settings={visible:false,mode:"tinymce",editor_id:"content",title_id:"title",timer:0,toolbar_shown:false};d=b.bounder=function(l,h,g,j){var k,i;g=g||1250;if(j){k=j.pageY||j.clientY||j.offsetY;i=c(document).scrollTop();if(!j.isDefaultPrevented){k=135+k}if(k-i>120){return}}if(block){return}block=true;setTimeout(function(){block=false},400);if(a.timer){clearTimeout(a.timer)}else{e.publish(l)}function f(){e.publish(h);a.timer=0}a.timer=setTimeout(f,g)};b.on=function(){if(a.visible){return}a.mode=c("#"+a.editor_id).is(":hidden")?"tinymce":"html";if(!a.element){b.ui.init()}a.is_mce_on=a.has_tinymce&&typeof(tinyMCE.get(a.editor_id))!="undefined";b.ui.fade("show","showing","shown")};b.off=function(){if(!a.visible){return}b.ui.fade("hide","hiding","hidden")};b.switchmode=function(g){var f=a.mode;if(!g||!a.visible||!a.has_tinymce){return f}if(f==g){return f}e.publish("switchMode",[f,g]);a.mode=g;e.publish("switchedMode",[f,g]);return g};b.save=function(){var h=c("#hiddenaction"),f=h.val(),i=c("#wp-fullscreen-save img"),g=c("#wp-fullscreen-save span");i.show();b.savecontent();h.val("wp-fullscreen-save-post");c.post(ajaxurl,c("form#post").serialize(),function(j){i.hide();g.show();setTimeout(function(){g.fadeOut(1000)},3000);if(j.last_edited){c("#wp-fullscreen-save input").attr("title",j.last_edited)}},"json");h.val(f)};b.savecontent=function(){var f,g;c("#"+a.title_id).val(c("#wp-fullscreen-title").val());if(a.mode==="tinymce"&&(f=tinyMCE.get("wp_mce_fullscreen"))){g=f.save()}else{g=c("#wp_mce_fullscreen").val()}c("#"+a.editor_id).val(g);c(document).triggerHandler("wpcountwords",[g])};set_title_hint=function(f){if(!f.val().length){f.siblings("label").css("visibility","")}else{f.siblings("label").css("visibility","hidden")}};b.dfw_width=function(h){var g=c("#wp-fullscreen-wrap"),f=g.width();if(!h){g.width(c("#wp-fullscreen-central-toolbar").width());deleteUserSetting("dfw_width");return}f=h+f;if(f<200||f>1200){return}g.width(f);setUserSetting("dfw_width",f)};e.subscribe("showToolbar",function(){a.toolbars.removeClass("fade-1000").addClass("fade-300");b.fade.In(a.toolbars,300,function(){e.publish("toolbarShown")},true);c("#wp-fullscreen-body").addClass("wp-fullscreen-focus");a.toolbar_shown=true});e.subscribe("hideToolbar",function(){a.toolbars.removeClass("fade-300").addClass("fade-1000");b.fade.Out(a.toolbars,1000,function(){e.publish("toolbarHidden")},true);c("#wp-fullscreen-body").removeClass("wp-fullscreen-focus")});e.subscribe("toolbarShown",function(){a.toolbars.removeClass("fade-300")});e.subscribe("toolbarHidden",function(){a.toolbars.removeClass("fade-1000");a.toolbar_shown=false});e.subscribe("show",function(){var f=c("#wp-fullscreen-title").val(c("#"+a.title_id).val());set_title_hint(f);c("#wp-fullscreen-save input").attr("title",c("#last-edit").text());a.textarea_obj.value=edCanvas.value;if(a.has_tinymce&&a.mode==="tinymce"){tinyMCE.execCommand("wpFullScreenInit")}a._edCanvas=edCanvas;edCanvas=a.textarea_obj;a.orig_y=c(window).scrollTop()});e.subscribe("showing",function(){c(document.body).addClass("fullscreen-active");b.refresh_buttons();c(document).bind("mousemove.fullscreen",function(f){d("showToolbar","hideToolbar",2000,f)});d("showToolbar","hideToolbar",2000);b.bind_resize();setTimeout(b.resize_textarea,200);scrollTo(0,0);c("#wpadminbar").hide()});e.subscribe("shown",function(){a.visible=true;if(a.has_tinymce&&!a.is_mce_on){htmled=document.getElementById(a.editor_id),old_val=htmled.value;htmled.value=switchEditors.wpautop(old_val);tinyMCE.settings.setup=function(f){f.onInit.add(function(g){g.hide();delete tinyMCE.settings.setup;g.getElement().value=old_val})};tinyMCE.execCommand("mceAddControl",false,a.editor_id);a.is_mce_on=true}});e.subscribe("hide",function(){if(a.has_tinymce&&a.mode==="tinymce"&&c("#"+a.editor_id).is(":visible")){switchEditors.go(a.editor_id,"tinymce")}else{if(a.mode==="html"&&c("#"+a.editor_id).is(":hidden")){switchEditors.go(a.editor_id,"html")}}b.savecontent();c(document).unbind(".fullscreen");c(a.textarea_obj).unbind(".grow");if(a.has_tinymce&&a.mode==="tinymce"){tinyMCE.execCommand("wpFullScreenSave")}set_title_hint(c("#"+a.title_id));edCanvas=a._edCanvas;edCanvas.value=a.textarea_obj.value});e.subscribe("hiding",function(){c(document.body).removeClass("fullscreen-active");scrollTo(0,a.orig_y);c("#wpadminbar").show()});e.subscribe("hidden",function(){a.visible=false;c("#wp_mce_fullscreen").removeAttr("style");if(a.has_tinymce&&a.is_mce_on){tinyMCE.execCommand("wpFullScreenClose")}a.textarea_obj.value="";b.oldheight=0});e.subscribe("switchMode",function(h,g){var f;if(!a.has_tinymce||!a.is_mce_on){return}f=tinyMCE.get("wp_mce_fullscreen");if(h==="html"&&g==="tinymce"){a.textarea_obj.value=switchEditors.wpautop(a.textarea_obj.value);if("undefined"==typeof(f)){tinyMCE.execCommand("wpFullScreenInit")}else{f.show()}}else{if(h==="tinymce"&&g==="html"){if(f){f.hide()}}}});e.subscribe("switchedMode",function(g,f){b.refresh_buttons(true);if(f==="html"){setTimeout(b.resize_textarea,200)}});b.b=function(){if(a.has_tinymce&&"tinymce"===a.mode){tinyMCE.execCommand("Bold")}};b.i=function(){if(a.has_tinymce&&"tinymce"===a.mode){tinyMCE.execCommand("Italic")}};b.ul=function(){if(a.has_tinymce&&"tinymce"===a.mode){tinyMCE.execCommand("InsertUnorderedList")}};b.ol=function(){if(a.has_tinymce&&"tinymce"===a.mode){tinyMCE.execCommand("InsertOrderedList")}};b.link=function(){if(a.has_tinymce&&"tinymce"===a.mode){tinyMCE.execCommand("WP_Link")}else{wpLink.open()}};b.unlink=function(){if(a.has_tinymce&&"tinymce"===a.mode){tinyMCE.execCommand("unlink")}};b.atd=function(){if(a.has_tinymce&&"tinymce"===a.mode){tinyMCE.execCommand("mceWritingImprovementTool")}};b.help=function(){if(a.has_tinymce&&"tinymce"===a.mode){tinyMCE.execCommand("WP_Help")}};b.blockquote=function(){if(a.has_tinymce&&"tinymce"===a.mode){tinyMCE.execCommand("mceBlockQuote")}};b.refresh_buttons=function(f){f=f||false;if(a.mode==="html"){c("#wp-fullscreen-mode-bar").removeClass("wp-tmce-mode").addClass("wp-html-mode");if(f){c("#wp-fullscreen-button-bar").fadeOut(150,function(){c(this).addClass("wp-html-mode").fadeIn(150)})}else{c("#wp-fullscreen-button-bar").addClass("wp-html-mode")}}else{if(a.mode==="tinymce"){c("#wp-fullscreen-mode-bar").removeClass("wp-html-mode").addClass("wp-tmce-mode");if(f){c("#wp-fullscreen-button-bar").fadeOut(150,function(){c(this).removeClass("wp-html-mode").fadeIn(150)})}else{c("#wp-fullscreen-button-bar").removeClass("wp-html-mode")}}}};b.ui={init:function(){var f=c("#fullscreen-topbar"),h=c("#wp_mce_fullscreen"),g=0;a.toolbars=f.add(c("#wp-fullscreen-status"));a.element=c("#fullscreen-fader");a.textarea_obj=h[0];a.has_tinymce=typeof(tinyMCE)!="undefined";if(!a.has_tinymce){c("#wp-fullscreen-mode-bar").hide()}if(wptitlehint){wptitlehint("wp-fullscreen-title")}c(document).keyup(function(k){var l=k.keyCode||k.charCode,i,j;if(!fullscreen.settings.visible){return true}if(navigator.platform&&navigator.platform.indexOf("Mac")!=-1){i=k.ctrlKey}else{i=k.altKey}if(27==l){j={event:k,what:"dfw",cb:fullscreen.off,condition:function(){if(c("#TB_window").is(":visible")||c(".wp-dialog").is(":visible")){return false}return true}};if(!jQuery(document).triggerHandler("wp_CloseOnEscape",[j])){fullscreen.off()}}if(i&&(61==l||107==l||187==l)){b.dfw_width(25)}if(i&&(45==l||109==l||189==l)){b.dfw_width(-25)}if(i&&48==l){b.dfw_width(0)}return false});if(typeof(wpWordCount)!="undefined"){h.keyup(function(j){var i=j.keyCode||j.charCode;if(i==g){return true}if(13==i||8==g||46==g){c(document).triggerHandler("wpcountwords",[h.val()])}g=i;return true})}f.mouseenter(function(i){a.toolbars.addClass("fullscreen-make-sticky");c(document).unbind(".fullscreen");clearTimeout(a.timer);a.timer=0}).mouseleave(function(i){a.toolbars.removeClass("fullscreen-make-sticky");if(a.visible){c(document).bind("mousemove.fullscreen",function(j){d("showToolbar","hideToolbar",2000,j)})}})},fade:function(g,f,h){if(!a.element){b.ui.init()}if(g&&!e.publish(g)){return}b.fade.In(a.element,600,function(){if(f){e.publish(f)}b.fade.Out(a.element,600,function(){if(h){e.publish(h)}})})}};b.fade={transitionend:"transitionend webkitTransitionEnd oTransitionEnd",sensitivity:100,In:function(g,h,i,f){i=i||c.noop;h=h||400;f=f||false;if(b.fade.transitions){if(g.is(":visible")){g.addClass("fade-trigger");return g}g.show();g.first().one(this.transitionend,function(){i()});setTimeout(function(){g.addClass("fade-trigger")},this.sensitivity)}else{if(f){g.stop()}g.css("opacity",1);g.first().fadeIn(h,i);if(g.length>1){g.not(":first").fadeIn(h)}}return g},Out:function(g,h,i,f){i=i||c.noop;h=h||400;f=f||false;if(!g.is(":visible")){return g}if(b.fade.transitions){g.first().one(b.fade.transitionend,function(){if(g.hasClass("fade-trigger")){return}g.hide();i()});setTimeout(function(){g.removeClass("fade-trigger")},this.sensitivity)}else{if(f){g.stop()}g.first().fadeOut(h,i);if(g.length>1){g.not(":first").fadeOut(h)}}return g},transitions:(function(){var f=document.documentElement.style;return(typeof(f.WebkitTransition)=="string"||typeof(f.MozTransition)=="string"||typeof(f.OTransition)=="string"||typeof(f.transition)=="string")})()};b.bind_resize=function(){c(a.textarea_obj).bind("keypress.grow click.grow paste.grow",function(){setTimeout(b.resize_textarea,200)})};b.oldheight=0;b.resize_textarea=function(){var f=a.textarea_obj,g;g=f.scrollHeight>300?f.scrollHeight:300;if(g!=b.oldheight){f.style.height=g+"px";b.oldheight=g}}})(jQuery); \ No newline at end of file diff --git a/wp-admin/js/xfn.dev.js b/wp-admin/js/xfn.dev.js index 053ae7eb5..6136db535 100644 --- a/wp-admin/js/xfn.dev.js +++ b/wp-admin/js/xfn.dev.js @@ -1,10 +1,10 @@ jQuery(document).ready( function($) { - $('#link_rel').attr('readonly', 'readonly'); + $('#link_rel').prop('readonly', true); $('#linkxfndiv input').bind('click keyup', function() { var isMe = $('#me').is(':checked'), inputs = ''; $('input.valinp').each( function() { if (isMe) { - $(this).attr('disabled', 'disabled').parent().addClass('disabled'); + $(this).prop('disabled', true).parent().addClass('disabled'); } else { $(this).removeAttr('disabled').parent().removeClass('disabled'); if ( $(this).is(':checked') && $(this).val() != '') @@ -13,4 +13,4 @@ jQuery(document).ready( function($) { }); $('#link_rel').val( (isMe) ? 'me' : inputs.substr(0,inputs.length - 1) ); }); -}); \ No newline at end of file +}); diff --git a/wp-admin/js/xfn.js b/wp-admin/js/xfn.js index c243a9fdf..c9b7597c8 100644 --- a/wp-admin/js/xfn.js +++ b/wp-admin/js/xfn.js @@ -1 +1 @@ -jQuery(document).ready(function(a){a("#link_rel").attr("readonly","readonly");a("#linkxfndiv input").bind("click keyup",function(){var c=a("#me").is(":checked"),b="";a("input.valinp").each(function(){if(c){a(this).attr("disabled","disabled").parent().addClass("disabled")}else{a(this).removeAttr("disabled").parent().removeClass("disabled");if(a(this).is(":checked")&&a(this).val()!=""){b+=a(this).val()+" "}}});a("#link_rel").val((c)?"me":b.substr(0,b.length-1))})}); \ No newline at end of file +jQuery(document).ready(function(a){a("#link_rel").prop("readonly",true);a("#linkxfndiv input").bind("click keyup",function(){var c=a("#me").is(":checked"),b="";a("input.valinp").each(function(){if(c){a(this).prop("disabled",true).parent().addClass("disabled")}else{a(this).removeAttr("disabled").parent().removeClass("disabled");if(a(this).is(":checked")&&a(this).val()!=""){b+=a(this).val()+" "}}});a("#link_rel").val((c)?"me":b.substr(0,b.length-1))})}); \ No newline at end of file diff --git a/wp-admin/link-add.php b/wp-admin/link-add.php index 808886a6e..9b1cae7c1 100644 --- a/wp-admin/link-add.php +++ b/wp-admin/link-add.php @@ -1,6 +1,6 @@ <?php /** - * Add Link Administration Panel. + * Add Link Administration Screen. * * @package WordPress * @subpackage Administration diff --git a/wp-admin/link-manager.php b/wp-admin/link-manager.php index 1ab4f731a..bb03b3888 100644 --- a/wp-admin/link-manager.php +++ b/wp-admin/link-manager.php @@ -1,6 +1,6 @@ <?php /** - * Link Management Administration Panel. + * Link Management Administration Screen. * * @package WordPress * @subpackage Administration @@ -46,7 +46,7 @@ add_contextual_help( $current_screen, '<p>' . __('You can customize the display of this screen using the Screen Options tab and/or the dropdown filters above the links table.') . '</p>' . '<p>' . __('If you delete a link, it will be removed permanently, as Links do not have a Trash function yet.') . '</p>' . '<p><strong>' . __('For more information:') . '</strong></p>' . - '<p>' . __('<a href="http://codex.wordpress.org/Links_Links_SubPanel" target="_blank">Documentation on Managing Links</a>') . '</p>' . + '<p>' . __('<a href="http://codex.wordpress.org/Links_Screen" target="_blank">Documentation on Managing Links</a>') . '</p>' . '<p>' . __('<a href="http://wordpress.org/support/" target="_blank">Support Forums</a>') . '</p>' ); @@ -59,7 +59,7 @@ if ( ! current_user_can('manage_links') ) <div class="wrap nosubsub"> <?php screen_icon(); ?> -<h2><?php echo esc_html( $title ); ?> <a href="link-add.php" class="button add-new-h2"><?php echo esc_html_x('Add New', 'link'); ?></a> <?php +<h2><?php echo esc_html( $title ); ?> <a href="link-add.php" class="add-new-h2"><?php echo esc_html_x('Add New', 'link'); ?></a> <?php if ( !empty($_REQUEST['s']) ) printf( '<span class="subtitle">' . __('Search results for “%s”') . '</span>', esc_html( stripslashes($_REQUEST['s']) ) ); ?> </h2> diff --git a/wp-admin/load-scripts.php b/wp-admin/load-scripts.php index 17998b067..95a0c0ccf 100644 --- a/wp-admin/load-scripts.php +++ b/wp-admin/load-scripts.php @@ -82,6 +82,11 @@ function admin_url() {} */ function home_url() {} +/** + * @ignore + */ +function includes_url() {} + /** * @ignore */ @@ -129,10 +134,10 @@ header("Cache-Control: public, max-age=$expires_offset"); if ( $compress && ! ini_get('zlib.output_compression') && 'ob_gzhandler' != ini_get('output_handler') && isset($_SERVER['HTTP_ACCEPT_ENCODING']) ) { header('Vary: Accept-Encoding'); // Handle proxies - if ( false !== strpos( strtolower($_SERVER['HTTP_ACCEPT_ENCODING']), 'deflate') && function_exists('gzdeflate') && ! $force_gzip ) { + if ( false !== stripos($_SERVER['HTTP_ACCEPT_ENCODING'], 'deflate') && function_exists('gzdeflate') && ! $force_gzip ) { header('Content-Encoding: deflate'); $out = gzdeflate( $out, 3 ); - } elseif ( false !== strpos( strtolower($_SERVER['HTTP_ACCEPT_ENCODING']), 'gzip') && function_exists('gzencode') ) { + } elseif ( false !== stripos($_SERVER['HTTP_ACCEPT_ENCODING'], 'gzip') && function_exists('gzencode') ) { header('Content-Encoding: gzip'); $out = gzencode( $out, 3 ); } diff --git a/wp-admin/load-styles.php b/wp-admin/load-styles.php index e9673e26b..be781e299 100644 --- a/wp-admin/load-styles.php +++ b/wp-admin/load-styles.php @@ -134,10 +134,10 @@ header("Cache-Control: public, max-age=$expires_offset"); if ( $compress && ! ini_get('zlib.output_compression') && 'ob_gzhandler' != ini_get('output_handler') && isset($_SERVER['HTTP_ACCEPT_ENCODING']) ) { header('Vary: Accept-Encoding'); // Handle proxies - if ( false !== strpos( strtolower($_SERVER['HTTP_ACCEPT_ENCODING']), 'deflate') && function_exists('gzdeflate') && ! $force_gzip ) { + if ( false !== stripos($_SERVER['HTTP_ACCEPT_ENCODING'], 'deflate') && function_exists('gzdeflate') && ! $force_gzip ) { header('Content-Encoding: deflate'); $out = gzdeflate( $out, 3 ); - } elseif ( false !== strpos( strtolower($_SERVER['HTTP_ACCEPT_ENCODING']), 'gzip') && function_exists('gzencode') ) { + } elseif ( false !== stripos($_SERVER['HTTP_ACCEPT_ENCODING'], 'gzip') && function_exists('gzencode') ) { header('Content-Encoding: gzip'); $out = gzencode( $out, 3 ); } diff --git a/wp-admin/media-new.php b/wp-admin/media-new.php index 2e4590c24..d4e3cabf4 100644 --- a/wp-admin/media-new.php +++ b/wp-admin/media-new.php @@ -1,6 +1,6 @@ <?php /** - * Upload new media Administration Panel. + * Upload new media Administration Screen. * * @package WordPress * @subpackage Administration diff --git a/wp-admin/media-upload.php b/wp-admin/media-upload.php index 81bbf5369..b33b0d51c 100644 --- a/wp-admin/media-upload.php +++ b/wp-admin/media-upload.php @@ -66,7 +66,7 @@ if ( isset($_GET['inline']) ) { '<p>' . __('You can upload media files here without creating a post first. This allows you to upload files to use with posts and pages later and/or to get a web link for a particular file that you can share.') . '</p>' . '<p>' . __('There are two options for uploading files: <em>Select Files</em> will open the Flash-based uploader (multiple file upload allowed), or you can use the <em>Browser Uploader</em>. Clicking <em>Select Files</em> opens a navigation window showing you files in your operating system. Selecting <em>Open</em> after clicking on the file you want activates a progress bar on the uploader screen. Basic image editing is available after upload is complete. Make sure you click <em>Save</em> before leaving this screen.') . '</p>' . '<p><strong>' . __('For more information:') . '</strong></p>' . - '<p>' . __('<a href="http://codex.wordpress.org/Media_Add_New_SubPanel" target="_blank">Documentation on Uploading Media Files</a>') . '</p>' . + '<p>' . __('<a href="http://codex.wordpress.org/Media_Add_New_Screen" target="_blank">Documentation on Uploading Media Files</a>') . '</p>' . '<p>' . __('<a href="http://wordpress.org/support/" target="_blank">Support Forums</a>') . '</p>' ); diff --git a/wp-admin/media.php b/wp-admin/media.php index b70b38a20..8626674f4 100644 --- a/wp-admin/media.php +++ b/wp-admin/media.php @@ -73,7 +73,7 @@ case 'edit' : '<p>' . __('Note that you crop the image by clicking on it (the Crop icon is already selected) and dragging the cropping frame to select the desired part. Then click Save to retain the cropping.') . '</p>' . '<p>' . __('Remember to click Update Media to save metadata entered or changed.') . '</p>' . '<p><strong>' . __('For more information:') . '</strong></p>' . - '<p>' . __('<a href="http://codex.wordpress.org/Media_Add_New_SubPanel#Edit_Media" target="_blank">Documentation on Edit Media</a>') . '</p>' . + '<p>' . __('<a href="http://codex.wordpress.org/Media_Add_New_Screen#Edit_Media" target="_blank">Documentation on Edit Media</a>') . '</p>' . '<p>' . __('<a href="http://wordpress.org/support/" target="_blank">Support Forums</a>') . '</p>' ); @@ -97,7 +97,13 @@ case 'edit' : <div class="wrap"> <?php screen_icon(); ?> -<h2><?php _e( 'Edit Media' ); ?></h2> +<h2> +<?php +echo esc_html( $title ); +if ( current_user_can( 'upload_files' ) ) { ?> + <a href="media-new.php" class="add-new-h2"><?php echo esc_html_x('Add New', 'file'); ?></a> +<?php } ?> +</h2> <form method="post" action="" class="media-upload-form" id="media-single-form"> <p class="submit" style="padding-bottom: 0;"> diff --git a/wp-admin/menu-header.php b/wp-admin/menu-header.php index dfa1ccbba..54ff1901f 100644 --- a/wp-admin/menu-header.php +++ b/wp-admin/menu-header.php @@ -36,6 +36,9 @@ get_admin_page_parent(); function _wp_menu_output( $menu, $submenu, $submenu_as_parent = true ) { global $self, $parent_file, $submenu_file, $plugin_page, $pagenow, $typenow; + $menu_setting_increment = -1; + $user_settings = get_all_user_settings(); + $first = true; // 0 = name, 1 = capability, 2 = file, 3 = class, 4 = id, 5 = icon src foreach ( $menu as $key => $item ) { @@ -45,14 +48,18 @@ function _wp_menu_output( $menu, $submenu, $submenu_as_parent = true ) { $class[] = 'wp-first-item'; $first = false; } - if ( !empty($submenu[$item[2]]) ) + if ( !empty($submenu[$item[2]]) ) { $class[] = 'wp-has-submenu'; + $menu_setting_increment++; + } if ( ( $parent_file && $item[2] == $parent_file ) || ( empty($typenow) && $self == $item[2] ) ) { if ( !empty($submenu[$item[2]]) ) $class[] = 'wp-has-current-submenu wp-menu-open'; else $class[] = 'current'; + } elseif ( ! empty( $submenu[ $item[2] ] ) && isset( $user_settings[ 'm' . $menu_setting_increment ] ) && 'o' == $user_settings[ 'm' . $menu_setting_increment ] ) { + $class[] = 'wp-menu-open'; } if ( ! empty($item[4]) ) @@ -69,13 +76,14 @@ function _wp_menu_output( $menu, $submenu, $submenu_as_parent = true ) { $img = '<img src="' . $item[6] . '" alt="" />'; } $toggle = '<div class="wp-menu-toggle"><br /></div>'; + $arrow = '<div class="wp-menu-arrow"><div></div></div>'; $title = wptexturize($item[0]); echo "\n\t<li$class$id>"; - if ( false !== strpos($class, 'wp-menu-separator') ) { - echo '<a class="separator" href="?unfoldmenu=1"><br /></a>'; + if ( false !== strpos( $class, 'wp-menu-separator' ) ) { + echo '<div class="separator"></div>'; } elseif ( $submenu_as_parent && !empty($submenu[$item[2]]) ) { $submenu[$item[2]] = array_values($submenu[$item[2]]); // Re-index. $menu_hook = get_plugin_page_hook($submenu[$item[2]][0][2], $item[2]); @@ -84,25 +92,26 @@ function _wp_menu_output( $menu, $submenu, $submenu_as_parent = true ) { $menu_file = substr($menu_file, 0, $pos); if ( ( ('index.php' != $submenu[$item[2]][0][2]) && file_exists(WP_PLUGIN_DIR . "/$menu_file") ) || !empty($menu_hook)) { $admin_is_parent = true; - echo "<div class='wp-menu-image'><a href='admin.php?page={$submenu[$item[2]][0][2]}'>$img</a></div>$toggle<a href='admin.php?page={$submenu[$item[2]][0][2]}'$class$tabindex>$title</a>"; + echo "<div class='wp-menu-image'><a href='admin.php?page={$submenu[$item[2]][0][2]}'>$img</a></div>$arrow$toggle<a href='admin.php?page={$submenu[$item[2]][0][2]}'$class$tabindex>$title</a>"; } else { - echo "\n\t<div class='wp-menu-image'><a href='{$submenu[$item[2]][0][2]}'>$img</a></div>$toggle<a href='{$submenu[$item[2]][0][2]}'$class$tabindex>$title</a>"; + echo "\n\t<div class='wp-menu-image'><a href='{$submenu[$item[2]][0][2]}'>$img</a></div>$arrow$toggle<a href='{$submenu[$item[2]][0][2]}'$class$tabindex>$title</a>"; } - } else if ( current_user_can($item[1]) ) { + } else if ( !empty($item[2]) && current_user_can($item[1]) ) { $menu_hook = get_plugin_page_hook($item[2], 'admin.php'); $menu_file = $item[2]; if ( false !== $pos = strpos($menu_file, '?') ) $menu_file = substr($menu_file, 0, $pos); if ( ('index.php' != $item[2]) && file_exists(WP_PLUGIN_DIR . "/$menu_file") || !empty($menu_hook) ) { $admin_is_parent = true; - echo "\n\t<div class='wp-menu-image'><a href='admin.php?page={$item[2]}'>$img</a></div>$toggle<a href='admin.php?page={$item[2]}'$class$tabindex>{$item[0]}</a>"; + echo "\n\t<div class='wp-menu-image'><a href='admin.php?page={$item[2]}'>$img</a></div>$arrow$toggle<a href='admin.php?page={$item[2]}'$class$tabindex>{$item[0]}</a>"; } else { - echo "\n\t<div class='wp-menu-image'><a href='{$item[2]}'>$img</a></div>$toggle<a href='{$item[2]}'$class$tabindex>{$item[0]}</a>"; + echo "\n\t<div class='wp-menu-image'><a href='{$item[2]}'>$img</a></div>$arrow$toggle<a href='{$item[2]}'$class$tabindex>{$item[0]}</a>"; } } if ( !empty($submenu[$item[2]]) ) { - echo "\n\t<div class='wp-submenu'><div class='wp-submenu-head'>{$item[0]}</div><ul>"; + echo "\n\t<div class='wp-submenu'><div class='wp-submenu-wrap'>"; + echo "<div class='wp-submenu-head'>{$item[0]}</div><ul>"; $first = true; foreach ( $submenu[$item[2]] as $sub_key => $sub_item ) { if ( !current_user_can($sub_item[1]) ) @@ -155,14 +164,21 @@ function _wp_menu_output( $menu, $submenu, $submenu_as_parent = true ) { echo "<li$class><a href='{$sub_item[2]}'$class$tabindex>$title</a></li>"; } } - echo "</ul></div>"; + echo "</ul></div></div>"; } echo "</li>"; } + + echo '<li id="collapse-menu" class="hide-if-no-js"><div id="collapse-button"><div></div></div>'; + echo '<span>' . esc_html__( 'Collapse menu' ) . '</span>'; + echo '</li>'; } ?> +<div id="adminmenuback"></div> +<div id="adminmenuwrap"> +<div id="adminmenushadow"></div> <ul id="adminmenu"> <?php @@ -172,3 +188,4 @@ do_action( 'adminmenu' ); ?> </ul> +</div> diff --git a/wp-admin/menu.php b/wp-admin/menu.php index f2eb867e1..a5859d99b 100644 --- a/wp-admin/menu.php +++ b/wp-admin/menu.php @@ -24,7 +24,7 @@ $menu[2] = array( __('Dashboard'), 'read', 'index.php', '', 'menu-top menu-top-first menu-icon-dashboard', 'menu-dashboard', 'div' ); -$submenu[ 'index.php' ][0] = array( __('Dashboard'), 'read', 'index.php' ); +$submenu[ 'index.php' ][0] = array( __('Home'), 'read', 'index.php' ); if ( is_multisite() ) { $submenu[ 'index.php' ][5] = array( __('My Sites'), 'read', 'my-sites.php' ); @@ -32,15 +32,24 @@ if ( is_multisite() ) { if ( ! is_multisite() || is_super_admin() ) { $plugin_update_count = $theme_update_count = $wordpress_update_count = 0; - $update_plugins = get_site_transient( 'update_plugins' ); - if ( !empty($update_plugins->response) ) - $plugin_update_count = count( $update_plugins->response ); - $update_themes = get_site_transient( 'update_themes' ); - if ( !empty($update_themes->response) ) - $theme_update_count = count( $update_themes->response ); - $update_wordpress = get_core_updates( array('dismissed' => false) ); - if ( !empty($update_wordpress) && !in_array( $update_wordpress[0]->response, array('development', 'latest') ) ) - $wordpress_update_count = 1; + + if ( current_user_can( 'update_plugins' ) ) { + $update_plugins = get_site_transient( 'update_plugins' ); + if ( ! empty( $update_plugins->response ) ) + $plugin_update_count = count( $update_plugins->response ); + } + + if ( current_user_can( 'update_themes' ) ) { + $update_themes = get_site_transient( 'update_themes' ); + if ( !empty($update_themes->response) ) + $theme_update_count = count( $update_themes->response ); + } + + if ( current_user_can( 'update_core' ) ) { + $update_wordpress = get_core_updates( array('dismissed' => false) ); + if ( !empty($update_wordpress) && !in_array( $update_wordpress[0]->response, array('development', 'latest') ) && current_user_can('update_core') ) + $wordpress_update_count = 1; + } $total_update_count = $plugin_update_count + $theme_update_count + $wordpress_update_count; $update_title = array(); @@ -49,7 +58,7 @@ if ( ! is_multisite() || is_super_admin() ) { if ( $plugin_update_count ) $update_title[] = sprintf(_n('%d Plugin Update', '%d Plugin Updates', $plugin_update_count), $plugin_update_count); if ( $theme_update_count ) - $update_title[] = sprintf(_n('%d Theme Update', '%d Themes Updates', $theme_update_count), $theme_update_count); + $update_title[] = sprintf(_n('%d Theme Update', '%d Theme Updates', $theme_update_count), $theme_update_count); $update_title = !empty($update_title) ? esc_attr(implode(', ', $update_title)) : ''; } @@ -58,12 +67,12 @@ if ( ! is_multisite() ) { $submenu[ 'index.php' ][10] = array( sprintf( __('Updates %s'), "<span class='update-plugins count-$total_update_count' title='$update_title'><span class='update-count'>" . number_format_i18n($total_update_count) . "</span></span>" ), 'update_core', 'update-core.php'); } -unset($plugin_update_count, $theme_update_count, $wordpress_update_count, $update_themes, $update_plugins, $update_wordpress); +unset($theme_update_count, $wordpress_update_count, $update_themes, $update_plugins, $update_wordpress); $menu[4] = array( '', 'read', 'separator1', '', 'wp-menu-separator' ); $menu[5] = array( __('Posts'), 'edit_posts', 'edit.php', '', 'open-if-no-js menu-top menu-icon-post', 'menu-posts', 'div' ); - $submenu['edit.php'][5] = array( __('Posts'), 'edit_posts', 'edit.php' ); + $submenu['edit.php'][5] = array( __('All Posts'), 'edit_posts', 'edit.php' ); /* translators: add new post */ $submenu['edit.php'][10] = array( _x('Add New', 'post'), 'edit_posts', 'post-new.php' ); @@ -82,13 +91,13 @@ $menu[10] = array( __('Media'), 'upload_files', 'upload.php', '', 'menu-top menu $submenu['upload.php'][10] = array( _x('Add New', 'file'), 'upload_files', 'media-new.php'); $menu[15] = array( __('Links'), 'manage_links', 'link-manager.php', '', 'menu-top menu-icon-links', 'menu-links', 'div' ); - $submenu['link-manager.php'][5] = array( __('Links'), 'manage_links', 'link-manager.php' ); + $submenu['link-manager.php'][5] = array( __('All Links'), 'manage_links', 'link-manager.php' ); /* translators: add new links */ $submenu['link-manager.php'][10] = array( _x('Add New', 'link'), 'manage_links', 'link-add.php' ); $submenu['link-manager.php'][15] = array( __('Link Categories'), 'manage_categories', 'edit-tags.php?taxonomy=link_category' ); $menu[20] = array( __('Pages'), 'edit_pages', 'edit.php?post_type=page', '', 'menu-top menu-icon-page', 'menu-pages', 'div' ); - $submenu['edit.php?post_type=page'][5] = array( __('Pages'), 'edit_pages', 'edit.php?post_type=page' ); + $submenu['edit.php?post_type=page'][5] = array( __('All Pages'), 'edit_pages', 'edit.php?post_type=page' ); /* translators: add new page */ $submenu['edit.php?post_type=page'][10] = array( _x('Add New', 'page'), 'edit_pages', 'post-new.php?post_type=page' ); $i = 15; @@ -102,9 +111,11 @@ $menu[20] = array( __('Pages'), 'edit_pages', 'edit.php?post_type=page', '', 'me $awaiting_mod = wp_count_comments(); $awaiting_mod = $awaiting_mod->moderated; -$menu[25] = array( sprintf( __('Comments %s'), "<span id='awaiting-mod' class='count-$awaiting_mod'><span class='pending-count'>" . number_format_i18n($awaiting_mod) . "</span></span>" ), 'edit_posts', 'edit-comments.php', '', 'menu-top menu-icon-comments', 'menu-comments', 'div' ); +$menu[25] = array( sprintf( __('Comments %s'), "<span class='awaiting-mod count-$awaiting_mod'><span class='pending-count'>" . number_format_i18n($awaiting_mod) . "</span></span>" ), 'edit_posts', 'edit-comments.php', '', 'menu-top menu-icon-comments', 'menu-comments', 'div' ); unset($awaiting_mod); +$submenu[ 'edit-comments.php' ][0] = array( __('All Comments'), 'edit_posts', 'edit-comments.php' ); + $_wp_last_object_menu = 25; // The index of the last top-level menu in the object menu group foreach ( (array) get_post_types( array('show_ui' => true, '_builtin' => false, 'show_in_menu' => true ) ) as $ptype ) { @@ -128,7 +139,7 @@ foreach ( (array) get_post_types( array('show_ui' => true, '_builtin' => false, $ptype_menu_position++; $menu[$ptype_menu_position] = array( esc_attr( $ptype_obj->labels->menu_name ), $ptype_obj->cap->edit_posts, "edit.php?post_type=$ptype", '', 'menu-top menu-icon-' . $ptype_class, 'menu-posts-' . $ptype_for_id, $menu_icon ); - $submenu["edit.php?post_type=$ptype"][5] = array( $ptype_obj->labels->menu_name, $ptype_obj->cap->edit_posts, "edit.php?post_type=$ptype"); + $submenu["edit.php?post_type=$ptype"][5] = array( $ptype_obj->labels->all_items, $ptype_obj->cap->edit_posts, "edit.php?post_type=$ptype"); $submenu["edit.php?post_type=$ptype"][10] = array( $ptype_obj->labels->add_new, $ptype_obj->cap->edit_posts, "post-new.php?post_type=$ptype" ); $i = 15; @@ -163,25 +174,23 @@ function _add_themes_utility_last() { add_submenu_page('themes.php', _x('Editor', 'theme editor'), _x('Editor', 'theme editor'), 'edit_themes', 'theme-editor.php'); } -$update_plugins = get_site_transient( 'update_plugins' ); -$update_count = 0; -if ( !empty($update_plugins->response) ) - $update_count = count( $update_plugins->response ); - -$menu_perms = get_site_option('menu_items', array()); +$menu_perms = get_site_option( 'menu_items', array() ); if ( ! is_multisite() || is_super_admin() || ! empty( $menu_perms['plugins'] ) ) { - $count = "<span class='update-plugins count-$update_count'><span class='plugin-count'>" . number_format_i18n($update_count) . "</span></span>"; - if ( is_multisite() ) - $count = ''; + $count = ''; + if ( ! is_multisite() && current_user_can( 'update_plugins' ) ) + $count = "<span class='update-plugins count-$plugin_update_count'><span class='plugin-count'>" . number_format_i18n($plugin_update_count) . "</span></span>"; + $menu[65] = array( sprintf( __('Plugins %s'), $count ), 'activate_plugins', 'plugins.php', '', 'menu-top menu-icon-plugins', 'menu-plugins', 'div' ); + + $submenu['plugins.php'][5] = array( __('Installed Plugins'), 'activate_plugins', 'plugins.php' ); + if ( ! is_multisite() ) { /* translators: add new plugin */ - $submenu['plugins.php'][5] = array( __('Plugins'), 'activate_plugins', 'plugins.php' ); $submenu['plugins.php'][10] = array( _x('Add New', 'plugin'), 'install_plugins', 'plugin-install.php' ); $submenu['plugins.php'][15] = array( _x('Editor', 'plugin editor'), 'edit_plugins', 'plugin-editor.php' ); } } -unset($menu_perms, $update_plugins, $update_count); +unset($menu_perms, $update_plugins, $plugin_update_count); if ( current_user_can('list_users') ) $menu[70] = array( __('Users'), 'list_users', 'users.php', '', 'menu-top menu-icon-users', 'menu-users', 'div' ); @@ -190,7 +199,7 @@ else if ( current_user_can('list_users') ) { $_wp_real_parent_file['profile.php'] = 'users.php'; // Back-compat for plugins adding submenus to profile.php. - $submenu['users.php'][5] = array(__('Users'), 'list_users', 'users.php'); + $submenu['users.php'][5] = array(__('All Users'), 'list_users', 'users.php'); if ( current_user_can('create_users') ) $submenu['users.php'][10] = array(_x('Add New', 'user'), 'create_users', 'user-new.php'); else @@ -207,13 +216,13 @@ if ( current_user_can('list_users') ) { } $menu[75] = array( __('Tools'), 'edit_posts', 'tools.php', '', 'menu-top menu-icon-tools', 'menu-tools', 'div' ); - $submenu['tools.php'][5] = array( __('Tools'), 'edit_posts', 'tools.php' ); + $submenu['tools.php'][5] = array( __('Available Tools'), 'edit_posts', 'tools.php' ); $submenu['tools.php'][10] = array( __('Import'), 'import', 'import.php' ); - $submenu['tools.php'][15] = array( __('Export'), 'import', 'export.php' ); + $submenu['tools.php'][15] = array( __('Export'), 'export', 'export.php' ); if ( is_multisite() && !is_main_site() ) $submenu['tools.php'][25] = array( __('Delete Site'), 'manage_options', 'ms-delete-site.php' ); if ( ! is_multisite() && defined('WP_ALLOW_MULTISITE') && WP_ALLOW_MULTISITE ) - $submenu['tools.php'][50] = array(__('Network'), 'manage_options', 'network.php'); + $submenu['tools.php'][50] = array(__('Network Setup'), 'manage_options', 'network.php'); $menu[80] = array( __('Settings'), 'manage_options', 'options-general.php', '', 'menu-top menu-icon-settings', 'menu-settings', 'div' ); $submenu['options-general.php'][10] = array(_x('General', 'settings screen'), 'manage_options', 'options-general.php'); @@ -226,7 +235,7 @@ $menu[80] = array( __('Settings'), 'manage_options', 'options-general.php', '', $_wp_last_utility_menu = 80; // The index of the last top-level menu in the utility menu group -$menu[99] = array( '', 'read', 'separator-last', '', 'wp-menu-separator-last' ); +$menu[99] = array( '', 'read', 'separator-last', '', 'wp-menu-separator' ); // Back-compat for old top-levels $_wp_real_parent_file['post.php'] = 'edit.php'; diff --git a/wp-admin/moderation.php b/wp-admin/moderation.php index dc705b63a..d3c9afc55 100644 --- a/wp-admin/moderation.php +++ b/wp-admin/moderation.php @@ -1,6 +1,6 @@ <?php /** - * Comment Moderation Administration Panel. + * Comment Moderation Administration Screen. * * Redirects to edit-comments.php?comment_status=moderated. * diff --git a/wp-admin/ms-delete-site.php b/wp-admin/ms-delete-site.php index 8b26b0b6a..2ae22339b 100644 --- a/wp-admin/ms-delete-site.php +++ b/wp-admin/ms-delete-site.php @@ -34,6 +34,8 @@ screen_icon(); echo '<h2>' . esc_html( $title ) . '</h2>'; if ( isset( $_POST['action'] ) && $_POST['action'] == 'deleteblog' && isset( $_POST['confirmdelete'] ) && $_POST['confirmdelete'] == '1' ) { + check_admin_referer( 'delete-blog' ); + $hash = wp_generate_password( 20, false ); update_option( 'delete_blog_hash', $hash ); @@ -68,11 +70,12 @@ Webmaster <p><?php _e( 'Remember, once deleted your site cannot be restored.' ) ?></p> <form method="post" name="deletedirect"> + <?php wp_nonce_field( 'delete-blog' ) ?> <input type="hidden" name="action" value="deleteblog" /> <p><input id="confirmdelete" type="checkbox" name="confirmdelete" value="1" /> <label for="confirmdelete"><strong><?php printf( __( "I'm sure I want to permanently disable my site, and I am aware I can never get it back or use %s again." ), is_subdomain_install() ? $current_blog->domain : $current_blog->domain . $current_blog->path ); ?></strong></label></p> <?php submit_button( __( 'Delete My Site Permanently' ) ); ?> </form> - <?php + <?php } echo '</div>'; diff --git a/wp-admin/my-sites.php b/wp-admin/my-sites.php index 4e13096f0..9f5928287 100644 --- a/wp-admin/my-sites.php +++ b/wp-admin/my-sites.php @@ -42,7 +42,7 @@ add_contextual_help($current_screen, '<p>' . __('This screen shows an individual user all of their sites in this network, and also allows that user to set a primary site. He or she can use the links under each site to visit either the frontend or the dashboard for that site.') . '</p>' . '<p>' . __('Up until WordPress version 3.0, what is now called a Multi-site Network had to be installed separately as WordPress MU (multi-user).') . '</p>' . '<p><strong>' . __('For more information:') . '</strong></p>' . - '<p>' . __('<a href="http://codex.wordpress.org/Dashboard_My_Sites_SubPanel" target="_blank">Documentation on My Sites</a>') . '</p>' . + '<p>' . __('<a href="http://codex.wordpress.org/Dashboard_My_Sites_Screen" target="_blank">Documentation on My Sites</a>') . '</p>' . '<p>' . __('<a href="http://wordpress.org/support/" target="_blank">Support Forums</a>') . '</p>' ); diff --git a/wp-admin/nav-menus.php b/wp-admin/nav-menus.php index 1e398051c..42bfb5b40 100644 --- a/wp-admin/nav-menus.php +++ b/wp-admin/nav-menus.php @@ -449,11 +449,11 @@ wp_initial_nav_menu_meta_boxes(); if ( ! current_theme_supports( 'menus' ) && ! wp_get_nav_menus() ) $messages[] = '<div id="message" class="updated"><p>' . __('The current theme does not natively support menus, but you can use the “Custom Menu” widget to add any menus you create here to the theme’s sidebar.') . '</p></div>'; -$help = '<p>' . __('This feature, introduced in version 3.0, allows you to use a custom menu in place of your theme’s default menus. If your theme does not support the custom menus feature yet (the default theme, Twenty Ten, does), you can learn about adding this support by following the Documentation link in this tab. You can still use the “Custom Menu” widget to add menus to a sidebar.') . '</p>'; +$help = '<p>' . __('This feature allows you to use a custom menu in place of your theme’s default menus. If your theme does not support the custom menus feature yet (the new and old default themes, Twenty Eleven and Twenty Ten, do), you can learn about adding this support by following the Documentation link in this tab. You can still use the “Custom Menu” widget to add menus to a sidebar.') . '</p>'; $help .= '<p>' . __('You can create custom menus for your site. These menus may contain links to pages, categories, custom links or other content types (use the Screen Options tab to decide which ones to show on the screen). You can specify a different navigation label for a menu item as well as other attributes. You can create multiple menus. If your theme includes more than one menu, you can choose which custom menu to associate with each. You can also use custom menus in conjunction with the Custom Menus widget.') . '</p>'; $help .= '<p>' . __('To create a new custom menu, click on the + tab, give the menu a name, and click Create Menu. Next, add menu items from the appropriate boxes. You’ll be able to edit the information for each menu item, and can drag and drop to put them in order. You can also drag a menu item a little to the right to make it a submenu, to create menus with hierarchy. Drop the item into its new nested placement when the dotted rectangle target shifts over, also a little to the right. Don’t forget to click Save when you’re finished.') . '</p>'; $help .= '<p><strong>' . __('For more information:') . '</strong></p>'; -$help .= '<p>' . __('<a href="http://codex.wordpress.org/Appearance_Menus_SubPanel" target="_blank">Documentation on Menus</a>') . '</p>'; +$help .= '<p>' . __('<a href="http://codex.wordpress.org/Appearance_Menus_Screen" target="_blank">Documentation on Menus</a>') . '</p>'; $help .= '<p>' . __('<a href="http://wordpress.org/support/" target="_blank">Support Forums</a>') . '</p>'; add_contextual_help($current_screen, $help); @@ -556,7 +556,7 @@ require_once( './admin-header.php' ); <?php endif; ?> <br class="clear" /> <div class="publishing-action"> - <?php submit_button( empty( $nav_menu_selected_id ) ? __( 'Create Menu' ) : __( 'Save Menu' ), 'button-primary menu-save', 'save_menu', false ); ?> + <?php submit_button( empty( $nav_menu_selected_id ) ? __( 'Create Menu' ) : __( 'Save Menu' ), 'button-primary menu-save', 'save_menu', false, array( 'id' => 'save_menu_header' ) ); ?> </div><!-- END .publishing-action --> <?php if ( ! empty( $nav_menu_selected_id ) ) : ?> @@ -593,7 +593,10 @@ require_once( './admin-header.php' ); <div id="nav-menu-footer"> <div class="major-publishing-actions"> <div class="publishing-action"> - <?php submit_button( empty( $nav_menu_selected_id ) ? __( 'Create Menu' ) : __( 'Save Menu' ), 'button-primary menu-save', 'save_menu', false ); ?> + <?php + if ( ! empty( $nav_menu_selected_id ) ) + submit_button( __( 'Save Menu' ), 'button-primary menu-save', 'save_menu', false, array( 'id' => 'save_menu_footer' ) ); + ?> </div> </div> </div><!-- /#nav-menu-footer --> diff --git a/wp-admin/network.php b/wp-admin/network.php index 6ff266bd6..6f259acfe 100644 --- a/wp-admin/network.php +++ b/wp-admin/network.php @@ -106,12 +106,13 @@ if ( is_network_admin() ) { add_contextual_help($current_screen, '<p>' . __('This screen allows you to configure a network as having subdomains (<code>site1.example.com</code>) or subdirectories (<code>example.com/site1</code>). Subdomains require wildcard subdomains to be enabled in Apache and DNS records, if your host allows it.') . '</p>' . '<p>' . __('Choose subdomains or subdirectories; this can only be switched afterwards by reconfiguring your install. Fill out the network details, and click install. If this does not work, you may have to add a wildcard DNS record (for subdomains) or change to another setting in Permalinks (for subdirectories).') . '</p>' . - '<p>' . __('The next screen for Network will give you individually-generated lines of code to add to your wp-config.php and .htaccess files. Make sure the settings of your FTP client make files starting with a dot visible, so that you can find .htaccess; you may have to create this file if it really is not there. Make backup copies of those two files.') . '</p>' . + '<p>' . __('The next screen for Network Setup will give you individually-generated lines of code to add to your wp-config.php and .htaccess files. Make sure the settings of your FTP client make files starting with a dot visible, so that you can find .htaccess; you may have to create this file if it really is not there. Make backup copies of those two files.') . '</p>' . '<p>' . __('Add a <code>blogs.dir</code> directory under <code>/wp-content</code> and add the designated lines of code to wp-config.php (just before <code>/*...stop editing...*/</code>) and <code>.htaccess</code> (replacing the existing WordPress rules).') . '</p>' . + '<p>' . __('Once you add this code and refresh your browser, multisite should be enabled. This screen will keep an archive of the added code. You can toggle between Network Admin and Site Admin by clicking on the Howdy (Username) dropdown in the upper right of the administration area.') . '</p>' . '<p>' . __('The choice of subdirectory sites is disabled if this setup is more than a month old because of permalink problems with “/blog/” from the main site. This disabling will be addressed soon in a future version.') . '</p>' . '<p><strong>' . __('For more information:') . '</strong></p>' . '<p>' . __('<a href="http://codex.wordpress.org/Create_A_Network" target="_blank">Documentation on Creating a Network</a>') . '</p>' . - '<p>' . __('<a href="http://codex.wordpress.org/Tools_Network_SubPanel" target="_blank">Documentation on the Network Screen</a>') . '</p>' . + '<p>' . __('<a href="http://codex.wordpress.org/Tools_Network_Screen" target="_blank">Documentation on the Network Screen</a>') . '</p>' . '<p>' . __('<a href="http://wordpress.org/support/" target="_blank">Support Forums</a>') . '</p>' ); diff --git a/wp-admin/network/admin.php b/wp-admin/network/admin.php index 145c25d1b..d6de38d13 100644 --- a/wp-admin/network/admin.php +++ b/wp-admin/network/admin.php @@ -15,8 +15,11 @@ require_once( dirname( dirname( __FILE__ ) ) . '/admin.php' ); if ( ! is_multisite() ) wp_die( __( 'Multisite support is not enabled.' ) ); -if ( ( $current_blog->domain != $current_site->domain ) || ( $current_blog->path != $current_site->path ) ) { +$redirect_network_admin_request = ( ( $current_blog->domain != $current_site->domain ) || ( $current_blog->path != $current_site->path ) ); +$redirect_network_admin_request = apply_filters( 'redirect_network_admin_request', $redirect_network_admin_request ); +if ( $redirect_network_admin_request ) { wp_redirect( network_admin_url() ); exit; } +unset( $redirect_network_admin_request ); ?> diff --git a/wp-admin/network/index.php b/wp-admin/network/index.php index 4cbfb8f40..3ab39317c 100644 --- a/wp-admin/network/index.php +++ b/wp-admin/network/index.php @@ -26,7 +26,7 @@ add_contextual_help($current_screen, '<p>' . __('Until WordPress 3.0, running multiple sites required using WordPress MU instead of regular WordPress. In version 3.0, these applications have merged. If you are a former MU user, you should be aware of the following changes:') . '</p>' . '<ul><li>' . __('Site Admin is now Super Admin (we highly encourage you to get yourself a cape!).') . '</li>' . '<li>' . __('Blogs are now called Sites; Site is now called Network.') . '</li></ul>' . - '<p>' . __('This screen provides the network administrator with links to the screens for Sites and Users to either create a new site or user, or to search existing users and sites, as well as Dashboard widgets. Those screens are also accessible through the left-hand navigation in the Network Admin section.') . '</p>' . + '<p>' . __('The Right Now box provides the network administrator with links to the screens to either create a new site or user, or to search existing users and sites. Screen for Sites and Users are also accessible through the left-hand navigation in the Network Admin section.') . '</p>' . '<p><strong>' . __('For more information:') . '</strong></p>' . '<p>' . __('<a href="http://codex.wordpress.org/Network_Admin" target="_blank">Documentation on the Network Admin</a>') . '</p>' . '<p>' . __('<a href="http://wordpress.org/support/forum/multisite/" target="_blank">Support Forums</a>') . '</p>' diff --git a/wp-admin/network/menu.php b/wp-admin/network/menu.php index 7fbfb9958..c33d47a38 100644 --- a/wp-admin/network/menu.php +++ b/wp-admin/network/menu.php @@ -14,54 +14,67 @@ $menu[4] = array( '', 'read', 'separator1', '', 'wp-menu-separator' ); /* translators: Sites menu item */ $menu[5] = array(__('Sites'), 'manage_sites', 'sites.php', '', 'menu-top menu-icon-site', 'menu-site', 'div'); -$submenu['sites.php'][5] = array( __('Sites'), 'manage_sites', 'sites.php' ); +$submenu['sites.php'][5] = array( __('All Sites'), 'manage_sites', 'sites.php' ); $submenu['sites.php'][10] = array( _x('Add New', 'site'), 'create_sites', 'site-new.php' ); $menu[10] = array(__('Users'), 'manage_network_users', 'users.php', '', 'menu-top menu-icon-users', 'menu-users', 'div'); -$submenu['users.php'][5] = array( __('Users'), 'manage_network_users', 'users.php' ); +$submenu['users.php'][5] = array( __('All Users'), 'manage_network_users', 'users.php' ); $submenu['users.php'][10] = array( _x('Add New', 'user'), 'create_users', 'user-new.php' ); -$plugin_update_count = $theme_update_count = $wordpress_update_count = 0; -$update_themes = get_site_transient( 'update_themes' ); -if ( !empty($update_themes->response) ) - $theme_update_count = count( $update_themes->response ); -$menu[15] = array(sprintf(__('Themes %s'), "<span class='update-plugins count-$theme_update_count'><span class='theme-count'>" . number_format_i18n($theme_update_count) . "</span></span>" ), 'manage_network_themes', 'themes.php', '', 'menu-top menu-icon-appearance', 'menu-appearance', 'div'); -$submenu['themes.php'][5] = array( __('Themes'), 'manage_network_themes', 'themes.php' ); +if ( current_user_can( 'update_themes' ) ) { + $plugin_update_count = $theme_update_count = $wordpress_update_count = 0; + $update_themes = get_site_transient( 'update_themes' ); + if ( !empty($update_themes->response) ) + $theme_update_count = count( $update_themes->response ); + $menu[15] = array(sprintf( __( 'Themes %s' ), "<span class='update-plugins count-$theme_update_count'><span class='theme-count'>" . number_format_i18n( $theme_update_count ) . "</span></span>" ), 'manage_network_themes', 'themes.php', '', 'menu-top menu-icon-appearance', 'menu-appearance', 'div' ); +} else { + $menu[15] = array( __( 'Themes' ), 'manage_network_themes', 'themes.php', '', 'menu-top menu-icon-appearance', 'menu-appearance', 'div' ); +} +$submenu['themes.php'][5] = array( __('Installed Themes'), 'manage_network_themes', 'themes.php' ); $submenu['themes.php'][10] = array( _x('Add New', 'theme'), 'install_themes', 'theme-install.php' ); $submenu['themes.php'][15] = array( _x('Editor', 'theme editor'), 'edit_themes', 'theme-editor.php' ); -$update_plugins = get_site_transient( 'update_plugins' ); -if ( !empty($update_plugins->response) ) - $plugin_update_count = count( $update_plugins->response ); -$menu[20] = array(sprintf( __('Plugins %s'), "<span class='update-plugins count-$plugin_update_count'><span class='plugin-count'>" . number_format_i18n($plugin_update_count) . "</span></span>" ), 'manage_network_plugins', 'plugins.php', '', 'menu-top menu-icon-plugins', 'menu-plugins', 'div'); -$submenu['plugins.php'][5] = array( __('Plugins'), 'manage_network_plugins', 'plugins.php' ); +if ( current_user_can( 'update_plugins' ) ) { + $update_plugins = get_site_transient( 'update_plugins' ); + if ( !empty($update_plugins->response) ) + $plugin_update_count = count( $update_plugins->response ); + $menu[20] = array( sprintf( __( 'Plugins %s' ), "<span class='update-plugins count-$plugin_update_count'><span class='plugin-count'>" . number_format_i18n( $plugin_update_count ) . "</span></span>" ), 'manage_network_plugins', 'plugins.php', '', 'menu-top menu-icon-plugins', 'menu-plugins', 'div'); +} else { + $menu[20] = array( __('Plugins'), 'manage_network_plugins', 'plugins.php', '', 'menu-top menu-icon-plugins', 'menu-plugins', 'div' ); +} +$submenu['plugins.php'][5] = array( __('Installed Plugins'), 'manage_network_plugins', 'plugins.php' ); $submenu['plugins.php'][10] = array( _x('Add New', 'plugin editor'), 'install_plugins', 'plugin-install.php' ); $submenu['plugins.php'][15] = array( _x('Editor', 'plugin editor'), 'edit_plugins', 'plugin-editor.php' ); $menu[25] = array(__('Settings'), 'manage_network_options', 'settings.php', '', 'menu-top menu-icon-settings', 'menu-settings', 'div'); if ( defined( 'MULTISITE' ) && defined( 'WP_ALLOW_MULTISITE' ) && WP_ALLOW_MULTISITE ) { - $submenu['settings.php'][5] = array( __('Settings'), 'manage_network_options', 'settings.php' ); + $submenu['settings.php'][5] = array( __('Network Settings'), 'manage_network_options', 'settings.php' ); $submenu['settings.php'][10] = array( __('Network Setup'), 'manage_network_options', 'setup.php' ); } -$update_wordpress = get_core_updates( array('dismissed' => false) ); -if ( !empty($update_wordpress) && !in_array( $update_wordpress[0]->response, array('development', 'latest') ) ) - $wordpress_update_count = 1; - -$update_count = $plugin_update_count + $theme_update_count + $wordpress_update_count; -$update_title = array(); -if ( $wordpress_update_count ) - $update_title[] = sprintf(__('%d WordPress Update'), $wordpress_update_count); -if ( $plugin_update_count ) - $update_title[] = sprintf(_n('%d Plugin Update', '%d Plugin Updates', $plugin_update_count), $plugin_update_count); -if ( $theme_update_count ) - $update_title[] = sprintf(_n('%d Theme Update', '%d Themes Updates', $theme_update_count), $theme_update_count); - -$update_title = !empty($update_title) ? esc_attr(implode(', ', $update_title)) : ''; +if ( current_user_can( 'update_core' ) ) { + $update_wordpress = get_core_updates( array('dismissed' => false) ); + if ( !empty($update_wordpress) && !in_array( $update_wordpress[0]->response, array('development', 'latest') ) ) + $wordpress_update_count = 1; + + $update_count = $plugin_update_count + $theme_update_count + $wordpress_update_count; + $update_title = array(); + if ( $wordpress_update_count ) + $update_title[] = sprintf(__('%d WordPress Update'), $wordpress_update_count); + if ( $plugin_update_count ) + $update_title[] = sprintf(_n('%d Plugin Update', '%d Plugin Updates', $plugin_update_count), $plugin_update_count); + if ( $theme_update_count ) + $update_title[] = sprintf(_n('%d Theme Update', '%d Theme Updates', $theme_update_count), $theme_update_count); + + $update_title = !empty($update_title) ? esc_attr(implode(', ', $update_title)) : ''; + + $menu[30] = array( sprintf( __( 'Updates %s' ), "<span class='update-plugins count-$update_count' title='$update_title'><span class='update-count'>" . number_format_i18n($update_count) . "</span></span>" ), 'manage_network', 'upgrade.php', '', 'menu-top menu-icon-tools', 'menu-update', 'div' ); +} else { + $menu[30] = array( __( 'Updates' ), 'manage_network', 'upgrade.php', '', 'menu-top menu-icon-tools', 'menu-update', 'div' ); +} -$menu[30] = array(sprintf( __('Updates %s'), "<span class='update-plugins count-$update_count' title='$update_title'><span class='update-count'>" . number_format_i18n($update_count) . "</span></span>" ), 'manage_network', 'upgrade.php', '', 'menu-top menu-icon-tools', 'menu-update', 'div'); -$submenu[ 'upgrade.php' ][10] = array( __( 'Updates' ), 'update_core', 'update-core.php' ); +$submenu[ 'upgrade.php' ][10] = array( __( 'Available Updates' ), 'update_core', 'update-core.php' ); $submenu[ 'upgrade.php' ][15] = array( __( 'Update Network' ), 'manage_network', 'upgrade.php' ); unset($plugin_update_count, $theme_update_count, $wordpress_update_count, $update_count, $update_title, $update_themes, $update_plugins, $update_wordpress); diff --git a/wp-admin/network/settings.php b/wp-admin/network/settings.php index a825e99cb..e727e6268 100644 --- a/wp-admin/network/settings.php +++ b/wp-admin/network/settings.php @@ -28,6 +28,7 @@ add_contextual_help($current_screen, '<p>' . __('Upload settings control the size of the uploaded files and the amount of available upload space for each site. You can change the default value for specific sites when you edit a particular site. Allowed file types are also listed (space separated only).') . '</p>' . '<p>' . __('Checkboxes for media upload buttons set which are shown in the visual editor. If unchecked, a generic upload button is still visible; other media types can still be uploaded if on the allowed file types list.') . '</p>' . '<p>' . __('Menu setting enables/disables the plugin menus from appearing for non super admins, so that only super admins, not site admins, have access to activate plugins.') . '</p>' . + '<p>' . __('Super admins can no longer be added on the Options screen. You must now go to the list of existing users on Network Admin > Users and click on Username or the Edit action link below that name. This goes to an Edit User page where you can check a box to grant super admin privileges.') . '</p>' . '<p><strong>' . __('For more information:') . '</strong></p>' . '<p>' . __('<a href="http://codex.wordpress.org/Network_Admin_Settings_Screen" target="_blank">Documentation on Network Settings</a>') . '</p>' . '<p>' . __('<a href="http://wordpress.org/support/" target="_blank">Support Forums</a>') . '</p>' diff --git a/wp-admin/network/site-info.php b/wp-admin/network/site-info.php index d82528407..2f14f97dd 100644 --- a/wp-admin/network/site-info.php +++ b/wp-admin/network/site-info.php @@ -78,7 +78,10 @@ if ( isset($_GET['update']) ) { $messages[] = __('Site info updated.'); } -$title = sprintf( __('Edit Site: %s'), get_blogaddress_by_id($id)); +$site_url_no_http = preg_replace( '#^http(s)?://#', '', get_blogaddress_by_id( $id ) ); +$title_site_url_linked = sprintf( __('Edit Site: <a href="%1$s">%2$s</a>'), get_blogaddress_by_id( $id ), $site_url_no_http ); +$title = sprintf( __('Edit Site: %s'), $site_url_no_http ); + $parent_file = 'sites.php'; $submenu_file = 'sites.php'; @@ -88,7 +91,7 @@ require('../admin-header.php'); <div class="wrap"> <?php screen_icon('ms-admin'); ?> -<h2 id="edit-site"><?php echo $title ?></h2> +<h2 id="edit-site"><?php echo $title_site_url_linked ?></h2> <h3 class="nav-tab-wrapper"> <?php $tabs = array( diff --git a/wp-admin/network/site-settings.php b/wp-admin/network/site-settings.php index b90bb76d6..35bcb4365 100644 --- a/wp-admin/network/site-settings.php +++ b/wp-admin/network/site-settings.php @@ -68,7 +68,10 @@ if ( isset($_GET['update']) ) { $messages[] = __('Site options updated.'); } -$title = sprintf( __('Edit Site: %s'), get_blogaddress_by_id($id)); +$site_url_no_http = preg_replace( '#^http(s)?://#', '', get_blogaddress_by_id( $id ) ); +$title_site_url_linked = sprintf( __('Edit Site: <a href="%1$s">%2$s</a>'), get_blogaddress_by_id( $id ), $site_url_no_http ); +$title = sprintf( __('Edit Site: %s'), $site_url_no_http ); + $parent_file = 'sites.php'; $submenu_file = 'sites.php'; @@ -78,7 +81,7 @@ require('../admin-header.php'); <div class="wrap"> <?php screen_icon('ms-admin'); ?> -<h2 id="edit-site"><?php echo $title ?></h2> +<h2 id="edit-site"><?php echo $title_site_url_linked ?></h2> <h3 class="nav-tab-wrapper"> <?php $tabs = array( diff --git a/wp-admin/network/site-themes.php b/wp-admin/network/site-themes.php index c13a8d37b..867984576 100644 --- a/wp-admin/network/site-themes.php +++ b/wp-admin/network/site-themes.php @@ -124,7 +124,10 @@ if ( isset( $_GET['action'] ) && 'update-site' == $_GET['action'] ) { add_thickbox(); add_screen_option( 'per_page', array( 'label' => _x( 'Themes', 'themes per page (screen options)' ) ) ); -$title = sprintf( __('Edit Site: %s'), get_blogaddress_by_id($id)); +$site_url_no_http = preg_replace( '#^http(s)?://#', '', get_blogaddress_by_id( $id ) ); +$title_site_url_linked = sprintf( __('Edit Site: <a href="%1$s">%2$s</a>'), get_blogaddress_by_id( $id ), $site_url_no_http ); +$title = sprintf( __('Edit Site: %s'), $site_url_no_http ); + $parent_file = 'sites.php'; $submenu_file = 'sites.php'; @@ -132,7 +135,7 @@ require('../admin-header.php'); ?> <div class="wrap"> <?php screen_icon('ms-admin'); ?> -<h2 id="edit-site"><?php echo $title ?></h2> +<h2 id="edit-site"><?php echo $title_site_url_linked ?></h2> <h3 class="nav-tab-wrapper"> <?php $tabs = array( diff --git a/wp-admin/network/site-users.php b/wp-admin/network/site-users.php index 9366cb930..82788afc2 100644 --- a/wp-admin/network/site-users.php +++ b/wp-admin/network/site-users.php @@ -157,7 +157,10 @@ if ( isset( $_GET['action'] ) && 'update-site' == $_GET['action'] ) { add_screen_option( 'per_page', array( 'label' => _x( 'Users', 'users per page (screen options)' ) ) ); -$title = sprintf( __('Edit Site: %s'), get_blogaddress_by_id($id)); +$site_url_no_http = preg_replace( '#^http(s)?://#', '', get_blogaddress_by_id( $id ) ); +$title_site_url_linked = sprintf( __('Edit Site: <a href="%1$s">%2$s</a>'), get_blogaddress_by_id( $id ), $site_url_no_http ); +$title = sprintf( __('Edit Site: %s'), $site_url_no_http ); + $parent_file = 'sites.php'; $submenu_file = 'sites.php'; @@ -165,7 +168,7 @@ require('../admin-header.php'); ?> <div class="wrap"> <?php screen_icon('ms-admin'); ?> -<h2 id="edit-site"><?php echo $title ?></h2> +<h2 id="edit-site"><?php echo $title_site_url_linked ?></h2> <h3 class="nav-tab-wrapper"> <?php $tabs = array( @@ -264,7 +267,7 @@ endif; ?> </tr> </table> <?php wp_nonce_field( 'add-user', '_wpnonce_add-user' ) ?> - <?php submit_button( __('Add User'), 'primary', 'add-user' ); ?> + <?php submit_button( __('Add User'), 'primary', 'add-user', false, array( 'id' => 'submit-add-existing-user' ) ); ?> </form> <?php endif; ?> @@ -300,7 +303,7 @@ endif; ?> </tr> </table> <?php wp_nonce_field( 'add-user', '_wpnonce_add-new-user' ) ?> - <?php submit_button( __('Add New User'), 'primary', 'add-user' ); ?> + <?php submit_button( __('Add New User'), 'primary', 'add-user', false, array( 'id' => 'submit-add-user' ) ); ?> </form> <?php endif; ?> </div> diff --git a/wp-admin/network/sites.php b/wp-admin/network/sites.php index 8a77d6392..ee76a970b 100644 --- a/wp-admin/network/sites.php +++ b/wp-admin/network/sites.php @@ -34,7 +34,7 @@ add_contextual_help($current_screen, '<li>' . __('Delete which is a permanent action after the confirmation screens.') . '</li>' . '<li>' . __('Visit to go to the frontend site live.') . '</li></ul>' . '<p>' . __('The site ID is used internally, and is not shown on the front end of the site or to users/viewers.') . '</p>' . - '<p>' . __('Clicking on bold settings can re-sort this table. The upper right icons switch between list and excerpt views.') . '</p>' . + '<p>' . __('Clicking on bold headings can re-sort this table.') . '</p>' . '<p><strong>' . __('For more information:') . '</strong></p>' . '<p>' . __('<a href="http://codex.wordpress.org/Network_Admin_Sites_Screens" target="_blank">Documentation on Site Management</a>') . '</p>' . '<p>' . __('<a href="http://wordpress.org/support/forum/multisite/" target="_blank">Support Forums</a>') . '</p>' @@ -88,12 +88,6 @@ if ( isset( $_REQUEST['updated'] ) && $_REQUEST['updated'] == 'true' && ! empty( $wp_list_table->prepare_items(); -$total_pages = $wp_list_table->get_pagination_arg( 'total_pages' ); -if ( $pagenum > $total_pages && $total_pages > 0 ) { - wp_redirect( add_query_arg( 'paged', $total_pages ) ); - exit; -} - require_once( '../admin-header.php' ); ?> @@ -102,7 +96,7 @@ require_once( '../admin-header.php' ); <h2><?php _e('Sites') ?> <?php echo $msg; ?> <?php if ( current_user_can( 'create_sites') ) : ?> - <a href="<?php echo network_admin_url('site-new.php'); ?>" class="button add-new-h2"><?php echo esc_html_x( 'Add New', 'site' ); ?></a> + <a href="<?php echo network_admin_url('site-new.php'); ?>" class="add-new-h2"><?php echo esc_html_x( 'Add New', 'site' ); ?></a> <?php endif; ?> <?php if ( isset( $_REQUEST['s'] ) && $_REQUEST['s'] ) { diff --git a/wp-admin/network/themes.php b/wp-admin/network/themes.php index b802f74db..a5196a885 100644 --- a/wp-admin/network/themes.php +++ b/wp-admin/network/themes.php @@ -171,12 +171,6 @@ if ( $action ) { $wp_list_table->prepare_items(); -$total_pages = $wp_list_table->get_pagination_arg( 'total_pages' ); -if ( $pagenum > $total_pages && $total_pages > 0 ) { - wp_redirect( add_query_arg( 'paged', $total_pages ) ); - exit; -} - add_thickbox(); add_screen_option( 'per_page', array('label' => _x( 'Themes', 'themes per page (screen options)' )) ); @@ -184,7 +178,7 @@ add_screen_option( 'per_page', array('label' => _x( 'Themes', 'themes per page ( add_contextual_help($current_screen, '<p>' . __('This screen enables and disables the inclusion of themes available to choose in the Appearance menu for each site. It does not activate or deactivate which theme a site is currently using.') . '</p>' . '<p>' . __('If the network admin disables a theme that is in use, it can still remain selected on that site. If another theme is chosen, the disabled theme will not appear in the site’s Appearance > Themes screen.') . '</p>' . - '<p>' . __('Themes can be enabled on a site by site basis by the network admin on the Edit Site screen you go to via the Edit action link on the Sites screen. Only network admins are able to install or edit themes.') . '</p>' . + '<p>' . __('Themes can be enabled on a site by site basis by the network admin on the Edit Site screen (which has a Themes tab); get there via the Edit action link on the All Sites screen. Only network admins are able to install or edit themes.') . '</p>' . '<p><strong>' . __('For more information:') . '</strong></p>' . '<p>' . __('<a href="http://codex.wordpress.org/Network_Admin_Themes_Screen" target="_blank">Documentation on Network Themes</a>') . '</p>' . '<p>' . __('<a href="http://wordpress.org/support/" target="_blank">Support Forums</a>') . '</p>' @@ -199,7 +193,7 @@ require_once(ABSPATH . 'wp-admin/admin-header.php'); <div class="wrap"> <?php screen_icon('themes'); ?> -<h2><?php echo esc_html( $title ); if ( current_user_can('install_themes') ) { ?> <a href="theme-install.php" class="button add-new-h2"><?php echo esc_html_x('Add New', 'theme'); ?></a><?php } +<h2><?php echo esc_html( $title ); if ( current_user_can('install_themes') ) { ?> <a href="theme-install.php" class="add-new-h2"><?php echo esc_html_x('Add New', 'theme'); ?></a><?php } if ( $s ) printf( '<span class="subtitle">' . __('Search results for “%s”') . '</span>', esc_html( $s ) ); ?> </h2> diff --git a/wp-admin/network/upgrade.php b/wp-admin/network/upgrade.php index c02fdc512..560407948 100644 --- a/wp-admin/network/upgrade.php +++ b/wp-admin/network/upgrade.php @@ -19,7 +19,7 @@ $title = __( 'Update Network' ); $parent_file = 'upgrade.php'; add_contextual_help($current_screen, - '<p>' . __('Only use this screen once you have updated to a new version of WordPress through Dashboard > Updates. Clicking the Update Network button will step through each site in the network, five at a time, and make sure any database updates are applied.') . '</p>' . + '<p>' . __('Only use this screen once you have updated to a new version of WordPress through Updates/Available Updates (via the Network Administration navigation menu or the Admin Bar). Clicking the Update Network button will step through each site in the network, five at a time, and make sure any database updates are applied.') . '</p>' . '<p>' . __('If a version update to core has not happened, clicking this button won’t affect anything.') . '</p>' . '<p>' . __('If this process fails for any reason, users logging in to their sites will force the same update.') . '</p>' . '<p><strong>' . __('For more information:') . '</strong></p>' . diff --git a/wp-admin/network/user-new.php b/wp-admin/network/user-new.php index cd9a3f836..6690d994c 100644 --- a/wp-admin/network/user-new.php +++ b/wp-admin/network/user-new.php @@ -18,7 +18,7 @@ if ( ! current_user_can('create_users') ) add_contextual_help($current_screen, - '<p>' . __('Add User will set up a new user account on the network and send them an email with their username and password.') . '</p>' . + '<p>' . __('Add User will set up a new user account on the network and send that person an email with username and password.') . '</p>' . '<p>' . __('Users who are signed up to the network without a site are added as subscribers to the main or primary dashboard site, giving them profile pages to manage their accounts. These users will only see Dashboard and My Sites in the main navigation until a site is created for them.') . '</p>' . '<p><strong>' . __('For more information:') . '</strong></p>' . '<p>' . __('<a href="http://codex.wordpress.org/Network_Admin_Users_Screen" target="_blank">Documentation on Network Users</a>') . '</p>' . @@ -30,26 +30,26 @@ if ( isset($_REQUEST['action']) && 'add-user' == $_REQUEST['action'] ) { if ( ! current_user_can( 'manage_network_users' ) ) wp_die( __( 'You do not have permission to access this page.' ) ); - if ( is_array( $_POST['user'] ) == false ) + if ( ! is_array( $_POST['user'] ) ) wp_die( __( 'Cannot create an empty user.' ) ); + $user = $_POST['user']; - if ( empty($user['username']) && empty($user['email']) ) - wp_die( __( 'Missing username and email.' ) ); - elseif ( empty($user['username']) ) - wp_die( __( 'Missing username.' ) ); - elseif ( empty($user['email']) ) - wp_die( __( 'Missing email.' ) ); - $password = wp_generate_password( 12, false); - $user_id = wpmu_create_user( esc_html( strtolower( $user['username'] ) ), $password, esc_html( $user['email'] ) ); + $user_details = wpmu_validate_user_signup( $user['username'], $user['email'] ); + if ( is_wp_error( $user_details[ 'errors' ] ) && ! empty( $user_details[ 'errors' ]->errors ) ) { + $add_user_errors = $user_details[ 'errors' ]; + } else { + $password = wp_generate_password( 12, false); + $user_id = wpmu_create_user( esc_html( strtolower( $user['username'] ) ), $password, esc_html( $user['email'] ) ); - if ( false == $user_id ) - wp_die( __( 'Duplicated username or email address.' ) ); - else - wp_new_user_notification( $user_id, $password ); - - wp_redirect( add_query_arg( array('update' => 'added'), 'user-new.php' ) ); - exit; + if ( ! $user_id ) { + $add_user_errors = new WP_Error( 'add_user_fail', __( 'Cannot add user.' ) ); + } else { + wp_new_user_notification( $user_id, $password ); + wp_redirect( add_query_arg( array('update' => 'added'), 'user-new.php' ) ); + exit; + } + } } if ( isset($_GET['update']) ) { @@ -70,7 +70,16 @@ require('../admin-header.php'); ?> if ( ! empty( $messages ) ) { foreach ( $messages as $msg ) echo '<div id="message" class="updated"><p>' . $msg . '</p></div>'; -} ?> +} + +if ( isset( $add_user_errors ) && is_wp_error( $add_user_errors ) ) { ?> + <div class="error"> + <?php + foreach ( $add_user_errors->get_error_messages() as $message ) + echo "<p>$message</p>"; + ?> + </div> +<?php } ?> <form action="<?php echo network_admin_url('user-new.php?action=add-user'); ?>" id="adduser" method="post"> <table class="form-table"> <tr class="form-field form-required"> @@ -91,4 +100,4 @@ if ( ! empty( $messages ) ) { </div> <?php require('../admin-footer.php'); -?> \ No newline at end of file +?> diff --git a/wp-admin/network/users.php b/wp-admin/network/users.php index 6523c9899..44a6c9c6e 100644 --- a/wp-admin/network/users.php +++ b/wp-admin/network/users.php @@ -74,7 +74,7 @@ if ( isset( $_REQUEST['updated'] ) && $_REQUEST['updated'] == 'true' && ! empty( <?php screen_icon(); ?> <h2><?php esc_html_e( 'Users' ); if ( current_user_can( 'create_users') ) : ?> - <a href="<?php echo network_admin_url('user-new.php'); ?>" class="button add-new-h2"><?php echo esc_html_x( 'Add New', 'user' ); ?></a><?php + <a href="<?php echo network_admin_url('user-new.php'); ?>" class="add-new-h2"><?php echo esc_html_x( 'Add New', 'user' ); ?></a><?php endif; if ( !empty( $usersearch ) ) diff --git a/wp-admin/options-discussion.php b/wp-admin/options-discussion.php index e9bb1a67e..862b002dd 100644 --- a/wp-admin/options-discussion.php +++ b/wp-admin/options-discussion.php @@ -19,7 +19,7 @@ add_contextual_help($current_screen, '<p>' . __('This screen provides many options for controlling the management and display of comments and links to your posts/pages. So many, in fact, they won’t all fit here! :) Use the documentation link below to get information on what each discussion setting does.') . '</p>' . '<p>' . __('You must click the Save Changes button at the bottom of the screen for new settings to take effect.') . '</p>' . '<p><strong>' . __('For more information:') . '</strong></p>' . - '<p>' . __('<a href="http://codex.wordpress.org/Settings_Discussion_SubPanel" target="_blank">Documentation on Discussion Settings</a>') . '</p>' . + '<p>' . __('<a href="http://codex.wordpress.org/Settings_Discussion_Screen" target="_blank">Documentation on Discussion Settings</a>') . '</p>' . '<p>' . __('<a href="http://wordpress.org/support/" target="_blank">Support Forums</a>') . '</p>' ); diff --git a/wp-admin/options-general.php b/wp-admin/options-general.php index 57a1b149a..3f8a7b7eb 100644 --- a/wp-admin/options-general.php +++ b/wp-admin/options-general.php @@ -66,7 +66,7 @@ add_contextual_help($current_screen, '<p>' . __('UTC means Coordinated Universal Time.') . '</p>' . '<p>' . __('Remember to click the Save Changes button at the bottom of the screen for new settings to take effect.') . '</p>' . '<p><strong>' . __('For more information:') . '</strong></p>' . - '<p>' . __('<a href="http://codex.wordpress.org/Settings_General_SubPanel" target="_blank">Documentation on General Settings</a>') . '</p>' . + '<p>' . __('<a href="http://codex.wordpress.org/Settings_General_Screen" target="_blank">Documentation on General Settings</a>') . '</p>' . '<p>' . __('<a href="http://wordpress.org/support/" target="_blank">Support Forums</a>') . '</p>' ); @@ -127,7 +127,7 @@ include('./admin-header.php'); $new_admin_email = get_option( 'new_admin_email' ); if ( $new_admin_email && $new_admin_email != get_option('admin_email') ) : ?> <div class="updated inline"> -<p><?php printf( __('There is a pending change of the admin e-mail to <code>%1$s</code>. <a href="%2$s">Cancel</a>'), $new_admin_email, esc_url( admin_url( 'options.php?dismiss=new_admin_email' ) ) ); ?></p> +<p><?php printf( __('There is a pending change of the admin e-mail to <code>%1$s</code>. <a href="%2$s">Cancel</a>'), esc_html( $new_admin_email ), esc_url( admin_url( 'options.php?dismiss=new_admin_email' ) ) ); ?></p> </div> <?php endif; ?> </td> @@ -135,44 +135,6 @@ if ( $new_admin_email && $new_admin_email != get_option('admin_email') ) : ?> <?php } ?> <tr> <?php -if ( !wp_timezone_supported() ) : // no magic timezone support here -?> -<th scope="row"><label for="gmt_offset"><?php _e('Timezone') ?> </label></th> -<td> -<select name="gmt_offset" id="gmt_offset"> -<?php -$current_offset = get_option('gmt_offset'); -$offset_range = array (-12, -11.5, -11, -10.5, -10, -9.5, -9, -8.5, -8, -7.5, -7, -6.5, -6, -5.5, -5, -4.5, -4, -3.5, -3, -2.5, -2, -1.5, -1, -0.5, - 0, 0.5, 1, 1.5, 2, 2.5, 3, 3.5, 4, 4.5, 5, 5.5, 5.75, 6, 6.5, 7, 7.5, 8, 8.5, 8.75, 9, 9.5, 10, 10.5, 11, 11.5, 12, 12.75, 13, 13.75, 14); -foreach ( $offset_range as $offset ) { - if ( 0 < $offset ) - $offset_name = '+' . $offset; - elseif ( 0 == $offset ) - $offset_name = ''; - else - $offset_name = (string) $offset; - - $offset_name = str_replace(array('.25','.5','.75'), array(':15',':30',':45'), $offset_name); - - $selected = ''; - if ( $current_offset == $offset ) { - $selected = " selected='selected'"; - $current_offset_name = $offset_name; - } - echo "<option value=\"" . esc_attr($offset) . "\"$selected>" . sprintf(__('UTC %s'), $offset_name) . '</option>'; -} -?> -</select> -<?php _e('hours'); ?> -<span id="utc-time"><?php printf(__('<abbr title="Coordinated Universal Time">UTC</abbr> time is <code>%s</code>'), date_i18n( $time_format, false, 'gmt')); ?></span> -<?php if ($current_offset) : ?> - <span id="local-time"><?php printf(__('UTC %1$s is <code>%2$s</code>'), $current_offset_name, date_i18n($time_format)); ?></span> -<?php endif; ?> -<br /> -<span class="description"><?php _e('Unfortunately, you have to manually update this for daylight saving time. The PHP Date/Time library is not supported by your web host.'); ?></span> -</td> -<?php -else: // looks like we can do nice timezone selection! $current_offset = get_option('gmt_offset'); $tzstring = get_option('timezone_string'); @@ -200,7 +162,7 @@ if ( empty($tzstring) ) { // Create a UTC+- zone if no timezone string exists <?php echo wp_timezone_choice($tzstring); ?> </select> - <span id="utc-time"><?php printf(__('<abbr title="Coordinated Universal Time">UTC</abbr> time is <code>%s</code>'), date_i18n($timezone_format, false, 'gmt')); ?></span> + <span id="utc-time"><?php printf(__('<abbr title="Coordinated Universal Time">UTC</abbr> time is <code>%s</code>'), date_i18n($timezone_format, false, 'gmt')); ?></span> <?php if ( get_option('timezone_string') || !empty($current_offset) ) : ?> <span id="local-time"><?php printf(__('Local time is <code>%1$s</code>'), date_i18n($timezone_format)); ?></span> <?php endif; ?> @@ -220,7 +182,9 @@ if ( empty($tzstring) ) { // Create a UTC+- zone if no timezone string exists ?> <br /> <?php - if ( function_exists('timezone_transitions_get') ) { + $allowed_zones = timezone_identifiers_list(); + + if ( in_array( $tzstring, $allowed_zones) ) { $found = false; $date_time_zone_selected = new DateTimeZone($tzstring); $tz_offset = timezone_offset_get($date_time_zone_selected, date_create()); @@ -250,7 +214,6 @@ if ( empty($tzstring) ) { // Create a UTC+- zone if no timezone string exists <?php endif; ?> </td> -<?php endif; ?> </tr> <tr> <th scope="row"><?php _e('Date Format') ?></th> diff --git a/wp-admin/options-media.php b/wp-admin/options-media.php index 67c30ad4a..6e3a29cec 100644 --- a/wp-admin/options-media.php +++ b/wp-admin/options-media.php @@ -21,7 +21,7 @@ add_contextual_help($current_screen, ( is_multisite() ? '' : '<p>' . __('Uploading Options gives you folder and path choices for storing your files in your installation’s directory.') . '</p>' ) . '<p>' . __('You must click the Save Changes button at the bottom of the screen for new settings to take effect.') . '</p>' . '<p><strong>' . __('For more information:') . '</strong></p>' . - '<p>' . __('<a href="http://codex.wordpress.org/Settings_Media_SubPanel" target="_blank">Documentation on Media Settings</a>') . '</p>' . + '<p>' . __('<a href="http://codex.wordpress.org/Settings_Media_Screen" target="_blank">Documentation on Media Settings</a>') . '</p>' . '<p>' . __('<a href="http://wordpress.org/support/" target="_blank">Support Forums</a>') . '</p>' ); diff --git a/wp-admin/options-permalink.php b/wp-admin/options-permalink.php index e5f9a7519..50aa32e1a 100644 --- a/wp-admin/options-permalink.php +++ b/wp-admin/options-permalink.php @@ -1,6 +1,6 @@ <?php /** - * Permalink settings administration panel. + * Permalink Settings Administration Screen. * * @package WordPress * @subpackage Administration @@ -23,7 +23,7 @@ add_contextual_help($current_screen, '<p>' . __('The Optional fields let you customize the “category” and “tag” base names that will appear in archive URLs. For example, the page listing all posts in the “Uncategorized” category could be <code>/topics/uncategorized</code> instead of <code>/category/uncategorized</code>.') . '</p>' . '<p>' . __('You must click the Save Changes button at the bottom of the screen for new settings to take effect.') . '</p>' . '<p><strong>' . __('For more information:') . '</strong></p>' . - '<p>' . __('<a href="http://codex.wordpress.org/Settings_Permalinks_SubPanel" target="_blank">Documentation on Permalinks Settings</a>') . '</p>' . + '<p>' . __('<a href="http://codex.wordpress.org/Settings_Permalinks_Screen" target="_blank">Documentation on Permalinks Settings</a>') . '</p>' . '<p>' . __('<a href="http://codex.wordpress.org/Using_Permalinks" target="_blank">Documentation on Using Permalinks</a>') . '</p>' . '<p>' . __('<a href="http://wordpress.org/support/" target="_blank">Support Forums</a>') . '</p>' ); @@ -32,7 +32,7 @@ add_contextual_help($current_screen, * Display JavaScript on the page. * * @package WordPress - * @subpackage Permalink_Settings_Panel + * @subpackage Permalink_Settings_Screen */ function add_js() { ?> diff --git a/wp-admin/options-privacy.php b/wp-admin/options-privacy.php index 5f70b9e89..9fd25bc96 100644 --- a/wp-admin/options-privacy.php +++ b/wp-admin/options-privacy.php @@ -1,6 +1,6 @@ <?php /** - * Privacy Options Settings Administration Panel. + * Privacy Options Settings Administration Screen. * * @package WordPress * @subpackage Administration @@ -17,10 +17,10 @@ $parent_file = 'options-general.php'; add_contextual_help($current_screen, '<p>' . __('You can choose whether or not your site will be crawled by robots, ping services, and spiders. If you want those services to ignore your site, click the second option here. Note that your privacy is not complete; your site is still visible on the web.') . '</p>' . - '<p>' . __('When this setting is in effect a reminder is shown in the header of these administration screens that says, “Search Engines Blocked,” to remind you that your site is not being crawled.') . '</p>' . + '<p>' . __('When this setting is in effect a reminder is shown in the Right Now box of the Dashboard that says, “Search Engines Blocked,” to remind you that your site is not being crawled.') . '</p>' . '<p>' . __('You must click the Save Changes button at the bottom of the screen for new settings to take effect.') . '</p>' . '<p><strong>' . __('For more information:') . '</strong></p>' . - '<p>' . __('<a href="http://codex.wordpress.org/Settings_Privacy_SubPanel" target="_blank">Documentation on Privacy Settings</a>') . '</p>' . + '<p>' . __('<a href="http://codex.wordpress.org/Settings_Privacy_Screen" target="_blank">Documentation on Privacy Settings</a>') . '</p>' . '<p>' . __('<a href="http://wordpress.org/support/" target="_blank">Support Forums</a>') . '</p>' ); diff --git a/wp-admin/options-reading.php b/wp-admin/options-reading.php index 7c8e15451..08c408ec2 100644 --- a/wp-admin/options-reading.php +++ b/wp-admin/options-reading.php @@ -30,7 +30,7 @@ function add_js() { staticPage = section.find('input:radio[value="page"]'), selects = section.find('select'), check_disabled = function(){ - selects.attr('disabled', staticPage.is(':checked') ? '' : 'disabled'); + selects.prop( 'disabled', ! staticPage.prop('checked') ); }; check_disabled(); section.find('input:radio').change(check_disabled); @@ -47,7 +47,7 @@ add_contextual_help($current_screen, '<p>' . __('You can also control the display of your content in RSS feeds, including the maximum numbers of posts to display, whether to show full text or a summary, and the character set encoding.') . '</p>' . '<p>' . __('You must click the Save Changes button at the bottom of the screen for new settings to take effect.') . '</p>' . '<p><strong>' . __('For more information:') . '</strong></p>' . - '<p>' . __('<a href="http://codex.wordpress.org/Settings_Reading_SubPanel" target="_blank">Documentation on Reading Settings</a>') . '</p>' . + '<p>' . __('<a href="http://codex.wordpress.org/Settings_Reading_Screen" target="_blank">Documentation on Reading Settings</a>') . '</p>' . '<p>' . __('<a href="http://wordpress.org/support/" target="_blank">Support Forums</a>') . '</p>' ); diff --git a/wp-admin/options-writing.php b/wp-admin/options-writing.php index a2c55dcac..115e1435d 100644 --- a/wp-admin/options-writing.php +++ b/wp-admin/options-writing.php @@ -19,7 +19,7 @@ add_contextual_help($current_screen, '<p>' . __('You can submit content in several different ways; this screen holds the settings for all of them. The top section controls the editor within these administration screens, while the rest control external publishing methods. For more information on any of these methods, use the documentation links below.') . '</p>' . '<p>' . __('You must click the Save Changes button at the bottom of the screen for new settings to take effect.') . '</p>' . '<p><strong>' . __('For more information:') . '</strong></p>' . - '<p>' . __('<a href="http://codex.wordpress.org/Settings_Writing_SubPanel" target="_blank">Documentation on Writing Settings</a>') . '</p>' . + '<p>' . __('<a href="http://codex.wordpress.org/Settings_Writing_Screen" target="_blank">Documentation on Writing Settings</a>') . '</p>' . '<p>' . __('<a href="http://wordpress.org/support/" target="_blank">Support Forums</a>') . '</p>' ); @@ -69,7 +69,7 @@ if ( current_theme_supports( 'post-formats' ) ) : <?php foreach ( $post_formats[0] as $format ): ?> <option<?php selected( get_option('default_post_format'), $format ); ?> value="<?php echo esc_attr( $format ); ?>"><?php echo esc_html( get_post_format_string( $format ) ); ?></option> <?php endforeach; ?> - </select></label> + </select> </td> </tr> <?php endif; endif; ?> @@ -89,7 +89,11 @@ wp_dropdown_categories(array('hide_empty' => 0, 'name' => 'default_link_category <p><?php _e('Press This is a bookmarklet: a little app that runs in your browser and lets you grab bits of the web.');?></p> <p><?php _e('Use Press This to clip text, images and videos from any web page. Then edit and add more straight from Press This before you save or publish it in a post on your site.'); ?></p> <p><?php _e('Drag-and-drop the following link to your bookmarks bar or right click it and add it to your favorites for a posting shortcut.') ?></p> -<p class="pressthis"><a href="<?php echo htmlspecialchars( get_shortcut_link() ); ?>" title="<?php echo esc_attr(__('Press This')) ?>"><?php _e('Press This') ?></a></p> +<p class="pressthis"><a onclick="return false;" oncontextmenu="if(window.navigator.userAgent.indexOf('WebKit')!=-1)jQuery('.pressthis-code').show().find('textarea').focus().select();return false;" href="<?php echo htmlspecialchars( get_shortcut_link() ); ?>"><span><?php _e('Press This') ?></span></a></p> +<div class="pressthis-code" style="display:none;"> + <p class="description"><?php _e('If your bookmarks toolbar is hidden: copy the code below, open your Bookmarks manager, create new bookmark, type Press This into the name field and paste the code into the URL field.') ?></p> + <p><textarea rows="5" cols="120" readonly="readonly"><?php echo htmlspecialchars( get_shortcut_link() ); ?></textarea></p> +</div> <?php if ( apply_filters( 'enable_post_by_email_configuration', true ) ) { ?> <h3><?php _e('Post via e-mail') ?></h3> diff --git a/wp-admin/options.php b/wp-admin/options.php index d802057fe..069dcb90f 100644 --- a/wp-admin/options.php +++ b/wp-admin/options.php @@ -1,6 +1,6 @@ <?php /** - * Options Management Administration Panel. + * Options Management Administration Screen. * * If accessed directly in a browser this page shows a list of all saved options * along with editable fields for their values. Serialized data is not supported @@ -24,10 +24,14 @@ $parent_file = 'options-general.php'; wp_reset_vars(array('action', 'option_page')); +$capability = 'manage_options'; + if ( empty($option_page) ) // This is for back compat and will eventually be removed. $option_page = 'options'; +else + $capability = apply_filters( "option_page_capability_{$option_page}", $capability ); -if ( !current_user_can('manage_options') ) +if ( !current_user_can( $capability ) ) wp_die(__('Cheatin’ uh?')); // Handle admin email change requests diff --git a/wp-admin/plugin-editor.php b/wp-admin/plugin-editor.php index 7efcecd39..2c710dff3 100644 --- a/wp-admin/plugin-editor.php +++ b/wp-admin/plugin-editor.php @@ -119,7 +119,7 @@ default: '<p>' . __('If you want to make changes but don’t want them to be overwritten when the plugin is updated, you may be ready to think about writing your own plugin. For information on how to edit plugins, write your own from scratch, or just better understand their anatomy, check out the links below.') . '</p>' . ( is_network_admin() ? '<p>' . __('Any edits to files from this screen will be reflected on all sites in the network.') . '</p>' : '' ) . '<p><strong>' . __('For more information:') . '</strong></p>' . - '<p>' . __('<a href="http://codex.wordpress.org/Plugins_Editor_SubPanel" target="_blank">Documentation on Editing Plugins</a>') . '</p>' . + '<p>' . __('<a href="http://codex.wordpress.org/Plugins_Editor_Screen" target="_blank">Documentation on Editing Plugins</a>') . '</p>' . '<p>' . __('<a href="http://codex.wordpress.org/Writing_a_Plugin" target="_blank">Documentation on Writing Plugins</a>') . '</p>' . '<p>' . __('<a href="http://wordpress.org/support/" target="_blank">Support Forums</a>') . '</p>' ); @@ -215,7 +215,7 @@ foreach ( $plugin_files as $plugin_file ) : continue; } ?> - <li<?php echo $file == $plugin_file ? ' class="highlight"' : ''; ?>><a href="plugin-editor.php?file=<?php echo $plugin_file; ?>&plugin=<?php echo $plugin; ?>"><?php echo $plugin_file ?></a></li> + <li<?php echo $file == $plugin_file ? ' class="highlight"' : ''; ?>><a href="plugin-editor.php?file=<?php echo urlencode( $plugin_file ) ?>&plugin=<?php echo urlencode( $plugin ) ?>"><?php echo $plugin_file ?></a></li> <?php endforeach; ?> </ul> </div> diff --git a/wp-admin/plugin-install.php b/wp-admin/plugin-install.php index 971ab68b0..42cd8e411 100644 --- a/wp-admin/plugin-install.php +++ b/wp-admin/plugin-install.php @@ -23,11 +23,6 @@ if ( is_multisite() && ! is_network_admin() ) { $wp_list_table = _get_list_table('WP_Plugin_Install_List_Table'); $pagenum = $wp_list_table->get_pagenum(); $wp_list_table->prepare_items(); -$total_pages = $wp_list_table->get_pagination_arg( 'total_pages' ); -if ( $pagenum > $total_pages && $total_pages > 0 ) { - wp_redirect( add_query_arg( 'paged', $total_pages ) ); - exit; -} $title = __('Install Plugins'); $parent_file = 'plugins.php'; @@ -42,12 +37,12 @@ $body_id = $tab; do_action('install_plugins_pre_' . $tab); //Used to override the general interface, Eg, install or plugin information. add_contextual_help($current_screen, - '<p>' . sprintf(__('Plugins hook into WordPress to extend its functionality with custom features. Plugins are developed independently from WordPress core by thousands of developers all over the world. All plugins in the official <a href="%s" target="_blank">WordPress.org Plugin Directory</a> are compatible with the WordPress GPL v2 license. You can find new plugins to install by searching or browsing the Directory right here in your own Plugins section.'), 'http://wordpress.org/extend/plugins/') . '</p>' . + '<p>' . sprintf(__('Plugins hook into WordPress to extend its functionality with custom features. Plugins are developed independently from WordPress core by thousands of developers all over the world. All plugins in the official <a href="%s" target="_blank">WordPress.org Plugin Directory</a> are compatible with the license WordPress uses. You can find new plugins to install by searching or browsing the Directory right here in your own Plugins section.'), 'http://wordpress.org/extend/plugins/') . '</p>' . '<p>' . __('If you know what you’re looking for, Search is your best bet. The Search screen has options to search the WordPress.org Plugin Directory for a particular Term, Author, or Tag. You can also search the directory by selecting a popular tags. Tags in larger type mean more plugins have been labeled with that tag.') . '</p>' . '<p>' . __('If you just want to get an idea of what’s available, you can browse Featured, Popular, Newest, and Recently Updated plugins by using the links in the upper left of the screen. These sections rotate regularly.') . '</p>' . '<p>' . __('If you want to install a plugin that you’ve downloaded elsewhere, click Upload in the upper left. You will be prompted to upload the .zip package, and once uploaded, you can activate the new plugin.') . '</p>' . '<p><strong>' . __('For more information:') . '</strong></p>' . - '<p>' . __('<a href="http://codex.wordpress.org/Plugins_Add_New_SubPanel" target="_blank">Documentation on Installing Plugins</a>') . '</p>' . + '<p>' . __('<a href="http://codex.wordpress.org/Plugins_Add_New_Screen" target="_blank">Documentation on Installing Plugins</a>') . '</p>' . '<p>' . __('<a href="http://wordpress.org/support/" target="_blank">Support Forums</a>') . '</p>' ); diff --git a/wp-admin/plugins.php b/wp-admin/plugins.php index 0c36bbd10..76c6377a8 100644 --- a/wp-admin/plugins.php +++ b/wp-admin/plugins.php @@ -59,7 +59,7 @@ if ( $action ) { update_option('recently_activated', $recent); } if ( isset($_GET['from']) && 'import' == $_GET['from'] ) { - wp_redirect( self_admin_url("import.php?import=" . str_replace('-importer', '', dirname($plugin))) ); // overrides the ?error=true one above and redirects to the Imports page, striping the -importer suffix + wp_redirect( self_admin_url("import.php?import=" . str_replace('-importer', '', dirname($plugin))) ); // overrides the ?error=true one above and redirects to the Imports page, stripping the -importer suffix } else { wp_redirect( self_admin_url("plugins.php?activate=true&plugin_status=$status&paged=$page&s=$s") ); // overrides the ?error=true one above } @@ -137,10 +137,7 @@ if ( $action ) { wp_die($valid); if ( ! WP_DEBUG ) { - if ( defined('E_RECOVERABLE_ERROR') ) - error_reporting(E_CORE_ERROR | E_CORE_WARNING | E_COMPILE_ERROR | E_ERROR | E_WARNING | E_PARSE | E_USER_ERROR | E_USER_WARNING | E_RECOVERABLE_ERROR); - else - error_reporting(E_CORE_ERROR | E_CORE_WARNING | E_COMPILE_ERROR | E_ERROR | E_WARNING | E_PARSE | E_USER_ERROR | E_USER_WARNING); + error_reporting( E_CORE_ERROR | E_CORE_WARNING | E_COMPILE_ERROR | E_ERROR | E_WARNING | E_PARSE | E_USER_ERROR | E_USER_WARNING | E_RECOVERABLE_ERROR ); } @ini_set('display_errors', true); //Ensure that Fatal errors are displayed. @@ -316,12 +313,6 @@ if ( $action ) { $wp_list_table->prepare_items(); -$total_pages = $wp_list_table->get_pagination_arg( 'total_pages' ); -if ( $pagenum > $total_pages && $total_pages > 0 ) { - wp_redirect( add_query_arg( 'paged', $total_pages ) ); - exit; -} - wp_enqueue_script('plugin-install'); add_thickbox(); @@ -390,7 +381,7 @@ if ( !empty($invalid) ) <?php screen_icon(); ?> <h2><?php echo esc_html( $title ); if ( ( ! is_multisite() || is_network_admin() ) && current_user_can('install_plugins') ) { ?> -<a href="<?php echo self_admin_url( 'plugin-install.php' ); ?>" class="button add-new-h2"><?php echo esc_html_x('Add New', 'plugin'); ?></a> +<a href="<?php echo self_admin_url( 'plugin-install.php' ); ?>" class="add-new-h2"><?php echo esc_html_x('Add New', 'plugin'); ?></a> <?php } if ( $s ) printf( '<span class="subtitle">' . __('Search results for “%s”') . '</span>', esc_html( $s ) ); ?> @@ -402,18 +393,11 @@ if ( $s ) <form method="post" action=""> -<?php $wp_list_table->search_box( __( 'Search Plugins' ), 'plugin' ); ?> +<?php $wp_list_table->search_box( __( 'Search Installed Plugins' ), 'plugin' ); ?> <input type="hidden" name="plugin_status" value="<?php echo esc_attr($status) ?>" /> <input type="hidden" name="paged" value="<?php echo esc_attr($page) ?>" /> -<?php -if ( 'mustuse' == $status ) - echo '<br class="clear" /><p>' . __( 'Files in the <code>/wp-content/mu-plugins</code> directory are executed automatically.' ) . '</p>'; -elseif ( 'dropins' == $status ) - echo '<br class="clear" /><p>' . __( 'Drop-ins are advanced plugins in the <code>/wp-content</code> directory that replace WordPress functionality when present.' ) . '</p>'; -?> - <?php $wp_list_table->display(); ?> </form> diff --git a/wp-admin/post-new.php b/wp-admin/post-new.php index ed123a468..20374efa0 100644 --- a/wp-admin/post-new.php +++ b/wp-admin/post-new.php @@ -1,6 +1,6 @@ <?php /** - * New Post Administration Panel. + * New Post Administration Screen. * * @package WordPress * @subpackage Administration diff --git a/wp-admin/post.php b/wp-admin/post.php index 0dae46dde..df9e5a528 100644 --- a/wp-admin/post.php +++ b/wp-admin/post.php @@ -127,7 +127,7 @@ case 'post-quickpress-save': $_POST['post_ID'] = $post_id; // output the quickpress dashboard widget require_once(ABSPATH . 'wp-admin/includes/dashboard.php'); - wp_dashboard_quick_press_output(); + wp_dashboard_quick_press(); exit; } @@ -161,12 +161,14 @@ case 'edit': if ( 'post' == $post_type ) { $parent_file = "edit.php"; $submenu_file = "edit.php"; + $post_new_file = "post-new.php"; } else { if ( isset( $post_type_object ) && $post_type_object->show_in_menu && $post_type_object->show_in_menu !== true ) $parent_file = $post_type_object->show_in_menu; else $parent_file = "edit.php?post_type=$post_type"; $submenu_file = "edit.php?post_type=$post_type"; + $post_new_file = "post-new.php?post_type=$post_type"; } if ( $last = wp_check_post_lock( $post->ID ) ) { diff --git a/wp-admin/press-this.php b/wp-admin/press-this.php index e2b3f334d..70f1808a3 100644 --- a/wp-admin/press-this.php +++ b/wp-admin/press-this.php @@ -225,7 +225,7 @@ if ( !empty($_REQUEST['ajax']) ) { $src = 'http://'.str_replace('//','/', $host['host'].'/'.$src); else $src = 'http://'.str_replace('//','/', $host['host'].'/'.dirname($host['path']).'/'.$src); - $sources[] = esc_attr($src); + $sources[] = esc_url($src); } return "'" . implode("','", $sources) . "'"; } @@ -240,22 +240,22 @@ if ( !empty($_REQUEST['ajax']) ) { if(photostorage == false) { var my_src = eval( jQuery.ajax({ - type: "GET", - url: "<?php echo esc_url($_SERVER['PHP_SELF']); ?>", + type: "GET", + url: "<?php echo esc_url($_SERVER['PHP_SELF']); ?>", cache : false, async : false, - data: "ajax=photo_images&u=<?php echo urlencode($url); ?>", + data: "ajax=photo_images&u=<?php echo urlencode($url); ?>", dataType : "script" }).responseText ); if(my_src.length == 0) { var my_src = eval( jQuery.ajax({ - type: "GET", - url: "<?php echo esc_url($_SERVER['PHP_SELF']); ?>", + type: "GET", + url: "<?php echo esc_url($_SERVER['PHP_SELF']); ?>", cache : false, async : false, - data: "ajax=photo_images&u=<?php echo urlencode($url); ?>", + data: "ajax=photo_images&u=<?php echo urlencode($url); ?>", dataType : "script" }).responseText ); @@ -312,7 +312,7 @@ if ( !empty($_REQUEST['ajax']) ) { jQuery('#extra-fields').html(''); return false; } - jQuery('#extra-fields').html('<div class="postbox"><h2>Add Photos <small id="photo_directions">(<?php _e("click images to select") ?>)</small></h2><ul class="actions"><li><a href="#" id="photo-add-url" class="thickbox button"><?php _e("Add from URL") ?> +</a></li></ul><div class="inside"><div class="titlewrap"><div id="img_container"></div></div><p id="options"><a href="#" class="close button"><?php _e('Cancel'); ?></a><a href="#" class="refresh button"><?php _e('Refresh'); ?></a></p></div>'); + jQuery('#extra-fields').html('<div class="postbox"><h2><?php _e( 'Add Photos' ); ?> <small id="photo_directions">(<?php _e("click images to select") ?>)</small></h2><ul class="actions"><li><a href="#" id="photo-add-url" class="thickbox button"><?php _e("Add from URL") ?> +</a></li></ul><div class="inside"><div class="titlewrap"><div id="img_container"></div></div><p id="options"><a href="#" class="close button"><?php _e('Cancel'); ?></a><a href="#" class="refresh button"><?php _e('Refresh'); ?></a></p></div>'); jQuery('#img_container').html(strtoappend); <?php break; } @@ -332,7 +332,6 @@ die; wp_enqueue_style( 'press-this-ie'); wp_enqueue_style( 'colors' ); wp_enqueue_script( 'post' ); - wp_enqueue_script( 'editor' ); ?> <script type="text/javascript"> //<![CDATA[ @@ -347,11 +346,6 @@ var photostorage = false; do_action('admin_print_styles'); do_action('admin_print_scripts'); do_action('admin_head'); - - if ( user_can_richedit() ) { - wp_tiny_mce( true, array( 'height' => '370' ) ); - add_action( 'admin_print_footer_scripts', 'wp_tiny_mce_preload_dialogs', 30 ); - } ?> <script type="text/javascript"> function insert_plain_editor(text) { @@ -372,7 +366,6 @@ var photostorage = false; function append_editor(text) { if ( '' != text && tinyMCE.activeEditor && ! tinyMCE.activeEditor.isHidden()) { tinyMCE.execCommand('mceSetContent', false, tinyMCE.activeEditor.getContent({format : 'raw'}) + '<p>' + text + '</p>'); - tinyMCE.execCommand('mceCleanup'); } else { insert_plain_editor(text); } @@ -418,7 +411,6 @@ var photostorage = false; show('photo'); }); jQuery('#photo-add-url').attr('href', '?ajax=photo_thickbox_url&height=200&width=500'); - tb_init('#extra-fields .thickbox'); jQuery('#waiting').hide(); jQuery('#extra-fields').show(); } @@ -449,7 +441,7 @@ var photostorage = false; //resize screen window.resizeTo(720,540); // set button actions - jQuery('#photo_button').click(function() { show('photo'); return false; }); + jQuery('#photo_button').click(function() { show('photo'); return false; }); jQuery('#video_button').click(function() { show('video'); return false; }); // auto select <?php if ( preg_match("/youtube\.com\/watch/i", $url) ) { ?> @@ -469,13 +461,15 @@ var photostorage = false; </script> </head> <body class="press-this wp-admin"> -<div id="wphead"></div> +<?php +if ( user_can_richedit() ) { + wp_tiny_mce( true, array( 'height' => '370' ) ); +} +?> <form action="press-this.php?action=post" method="post"> <div id="poststuff" class="metabox-holder"> <div id="side-info-column"> <div class="sleeve"> - <h1 id="viewsite"><a href="<?php echo get_option('home'); ?>/" target="_blank"><?php bloginfo('name'); ?> › <?php _e('Press This') ?></a></span></h1> - <?php wp_nonce_field('press-this') ?> <input type="hidden" name="post_type" id="post_type" value="text"/> <input type="hidden" name="autosave" id="autosave" /> @@ -485,9 +479,11 @@ var photostorage = false; <!-- This div holds the photo metadata --> <div class="photolist"></div> - <div id="submitdiv" class="stuffbox"> + <div id="submitdiv" class="postbox"> + <div class="handlediv" title="<?php _e( 'Click to toggle' ); ?>"><br /></div> + <h3 class="hndle"><?php _e('Press This') ?></h3> <div class="inside"> - <p> + <p id="publishing-actions"> <?php submit_button( __( 'Save Draft' ), 'button', 'draft', false, array( 'id' => 'save' ) ); if ( current_user_can('publish_posts') ) { @@ -567,7 +563,7 @@ var photostorage = false; </div> </div> - <div id="tagsdiv-post_tag" class="stuffbox" > + <div id="tagsdiv-post_tag" class="postbox"> <div class="handlediv" title="<?php _e( 'Click to toggle' ); ?>"> <br/> </div> @@ -584,12 +580,22 @@ var photostorage = false; </p> <div class="tagchecklist"></div> </div> - <p class="tagcloud-link"><a href="#titlediv" class="tagcloud-link" id="link-post_tag"><?php _e('Choose from the most used tags in Post Tags'); ?></a></p> + <p class="tagcloud-link"><a href="#titlediv" class="tagcloud-link" id="link-post_tag"><?php _e('Choose from the most used tags'); ?></a></p> </div> </div> </div> </div> <div class="posting"> + + <div id="wphead"> + <img id="header-logo" src="<?php echo esc_url( includes_url( 'images/blank.gif' ) ); ?>" alt="" width="16" height="16" /> + <h1 id="site-heading"> + <a href="<?php echo get_option('home'); ?>/" target="_blank"> + <span id="site-title"><?php bloginfo('name'); ?></span> + </a> + </h1> + </div> + <?php if ( isset($posted) && intval($posted) ) { $post_ID = intval($posted); ?> <div id="message" class="updated"><p><strong><?php _e('Your post has been saved.'); ?></strong> <a onclick="window.opener.location.replace(this.href); window.close();" href="<?php echo get_permalink( $post_ID); ?>"><?php _e('View post'); ?></a> | <a href="<?php echo get_edit_post_link( $post_ID ); ?>" onclick="window.opener.location.replace(this.href); window.close();"><?php _e('Edit Post'); ?></a> | <a href="#" onclick="window.close();"><?php _e('Close Window'); ?></a></p></div> <?php } ?> @@ -603,26 +609,26 @@ var photostorage = false; <div id="extra-fields" style="display: none"></div> <div class="postdivrich"> - <ul id="actions" class="actions"> - - <li id="photo_button"> - Add: <?php if ( current_user_can('upload_files') ) { ?><a title="<?php _e('Insert an Image'); ?>" href="#"> -<img alt="<?php _e('Insert an Image'); ?>" src="<?php echo esc_url( admin_url( 'images/media-button-image.gif?ver=20100531' ) ); ?>"/></a> - <?php } ?> - </li> - <li id="video_button"> - <a title="<?php _e('Embed a Video'); ?>" href="#"><img alt="<?php _e('Embed a Video'); ?>" src="<?php echo esc_url( admin_url( 'images/media-button-video.gif?ver=20100531' ) ); ?>"/></a> - </li> - <?php if ( user_can_richedit() ) { ?> - <li id="switcher"> - <?php wp_print_scripts( 'quicktags' ); ?> - <?php add_filter('the_editor_content', 'wp_richedit_pre'); ?> + <div id="editor-toolbar"> + <?php if ( user_can_richedit() ) : + wp_print_scripts( 'quicktags' ); + add_filter('the_editor_content', 'wp_richedit_pre'); ?> <a id="edButtonHTML" onclick="switchEditors.go('content', 'html');"><?php _e('HTML'); ?></a> <a id="edButtonPreview" class="active" onclick="switchEditors.go('content', 'tinymce');"><?php _e('Visual'); ?></a> <div class="zerosize"><input accesskey="e" type="button" onclick="switchEditors.go('content')" /></div> - </li> - <?php } ?> - </ul> + <?php endif; ?> + + <div id="media-buttons"> + <?php + _e( 'Add:' ); + + if ( current_user_can('upload_files') ) : ?> + <a id="photo_button" title="<?php _e('Insert an Image'); ?>" href="#"> +<img alt="<?php _e('Insert an Image'); ?>" src="<?php echo esc_url( admin_url( 'images/media-button-image.gif?ver=20100531' ) ); ?>"/></a><?php + endif; + ?><a id="video_button" title="<?php _e('Embed a Video'); ?>" href="#"><img alt="<?php _e('Embed a Video'); ?>" src="<?php echo esc_url( admin_url( 'images/media-button-video.gif?ver=20100531' ) ); ?>"/></a> + </div> + </div> <div id="quicktags"></div> <div class="editor-container"> <textarea name="content" id="content" style="width:100%;" class="theEditor" rows="15"><?php diff --git a/wp-admin/profile.php b/wp-admin/profile.php index 67dde0c02..71a1b0466 100644 --- a/wp-admin/profile.php +++ b/wp-admin/profile.php @@ -1,6 +1,6 @@ <?php /** - * User Profile Administration Panel. + * User Profile Administration Screen. * * @package WordPress * @subpackage Administration diff --git a/wp-admin/setup-config.php b/wp-admin/setup-config.php index 244cdc45d..acd65e7aa 100644 --- a/wp-admin/setup-config.php +++ b/wp-admin/setup-config.php @@ -5,6 +5,8 @@ * The permissions for the base directory must allow for writing files in order * for the wp-config.php to be created using this page. * + * @internal This file must be parsable by PHP4. + * * @package WordPress * @subpackage Administration */ @@ -40,10 +42,12 @@ define('WP_DEBUG', false); /**#@-*/ require_once(ABSPATH . WPINC . '/load.php'); +require_once(ABSPATH . WPINC . '/version.php'); +wp_check_php_mysql_versions(); + require_once(ABSPATH . WPINC . '/compat.php'); require_once(ABSPATH . WPINC . '/functions.php'); require_once(ABSPATH . WPINC . '/class-wp-error.php'); -require_once(ABSPATH . WPINC . '/version.php'); if (!file_exists(ABSPATH . 'wp-config-sample.php')) wp_die('Sorry, I need a wp-config-sample.php file to work from. Please re-upload this file from your WordPress installation.'); @@ -58,12 +62,6 @@ if (file_exists(ABSPATH . 'wp-config.php')) if (file_exists(ABSPATH . '../wp-config.php') && ! file_exists(ABSPATH . '../wp-settings.php')) wp_die("<p>The file 'wp-config.php' already exists one level above your WordPress installation. If you need to reset any of the configuration items in this file, please delete it first. You may try <a href='install.php'>installing now</a>.</p>"); -if ( version_compare( $required_php_version, phpversion(), '>' ) ) - wp_die( sprintf( /*WP_I18N_OLD_PHP*/'Your server is running PHP version %1$s but WordPress requires at least %2$s.'/*/WP_I18N_OLD_PHP*/, phpversion(), $required_php_version ) ); - -if ( !extension_loaded('mysql') && !file_exists(ABSPATH . 'wp-content/db.php') ) - wp_die( /*WP_I18N_OLD_MYSQL*/'Your PHP installation appears to be missing the MySQL extension which is required by WordPress.'/*/WP_I18N_OLD_MYSQL*/ ); - if (isset($_GET['step'])) $step = $_GET['step']; else diff --git a/wp-admin/theme-editor.php b/wp-admin/theme-editor.php index 7760d5071..c41f0c834 100644 --- a/wp-admin/theme-editor.php +++ b/wp-admin/theme-editor.php @@ -192,7 +192,7 @@ if ($allowed_files) : ksort( $template_mapping ); while ( list( $template_sorted_key, list( $template_file, $filedesc ) ) = each( $template_mapping ) ) : ?> - <li><a href="theme-editor.php?file=<?php echo "$template_file"; ?>&theme=<?php echo urlencode($theme) ?>&dir=theme"><?php echo $filedesc ?></a></li> + <li><a href="theme-editor.php?file=<?php echo urlencode( $template_file ) ?>&theme=<?php echo urlencode( $theme ) ?>&dir=theme"><?php echo $filedesc ?></a></li> <?php endwhile; ?> </ul> <h3><?php /* translators: Theme stylesheets in theme editor */ _ex('Styles', 'Theme stylesheets in theme editor'); ?></h3> @@ -214,7 +214,7 @@ if ($allowed_files) : ksort( $template_mapping ); while ( list( $template_sorted_key, list( $style_file, $filedesc ) ) = each( $template_mapping ) ) : ?> - <li><a href="theme-editor.php?file=<?php echo "$style_file"; ?>&theme=<?php echo urlencode($theme) ?>&dir=style"><?php echo $filedesc ?></a></li> + <li><a href="theme-editor.php?file=<?php echo urlencode( $style_file ) ?>&theme=<?php echo urlencode($theme) ?>&dir=style"><?php echo $filedesc ?></a></li> <?php endwhile; ?> </ul> <?php endif; ?> diff --git a/wp-admin/theme-install.php b/wp-admin/theme-install.php index 263d9a9c0..6f1a89306 100644 --- a/wp-admin/theme-install.php +++ b/wp-admin/theme-install.php @@ -23,11 +23,6 @@ if ( is_multisite() && ! is_network_admin() ) { $wp_list_table = _get_list_table('WP_Theme_Install_List_Table'); $pagenum = $wp_list_table->get_pagenum(); $wp_list_table->prepare_items(); -$total_pages = $wp_list_table->get_pagination_arg( 'total_pages' ); -if ( $pagenum > $total_pages && $total_pages > 0 ) { - wp_redirect( add_query_arg( 'paged', $total_pages ) ); - exit; -} $title = __('Install Themes'); $parent_file = 'themes.php'; @@ -44,7 +39,7 @@ $body_id = $tab; do_action('install_themes_pre_' . $tab); //Used to override the general interface, Eg, install or theme information. -$help = '<p>' . sprintf(__('You can find additional themes for your site by using the Theme Browser/Installer on this screen, which will display themes from the <a href="%s" target="_blank">WordPress.org Theme Directory</a>. These themes are designed and developed by third parties, are available free of charge, and are licensed under the GNU General Public License, version 2, just like WordPress.'), 'http://wordpress.org/extend/themes/') . '</p>'; +$help = '<p>' . sprintf(__('You can find additional themes for your site by using the Theme Browser/Installer on this screen, which will display themes from the <a href="%s" target="_blank">WordPress.org Theme Directory</a>. These themes are designed and developed by third parties, are available free of charge, and are compatible with the license WordPress uses.'), 'http://wordpress.org/extend/themes/') . '</p>'; $help .= '<p>' . __('You can Search for themes by keyword, author, or tag, or can get more specific and search by criteria listed in the feature filter. Alternately, you can browse the themes that are Featured, Newest, or Recently Updated. When you find a theme you like, you can preview it or install it.') . '</p>'; $help .= '<p>' . __('You can Upload a theme manually if you have already downloaded its ZIP archive onto your computer (make sure it is from a trusted and original source). You can also do it the old-fashioned way and copy a downloaded theme’s folder via FTP into your <code>/wp-content/themes</code> directory.') . '</p>'; $help .= '<p><strong>' . __('For more information:') . '</strong></p>'; diff --git a/wp-admin/themes.php b/wp-admin/themes.php index 171a0b22a..b845e69b5 100644 --- a/wp-admin/themes.php +++ b/wp-admin/themes.php @@ -40,7 +40,7 @@ if ( current_user_can( 'switch_themes' ) ) : $help = '<p>' . __('Aside from the default theme included with your WordPress installation, themes are designed and developed by third parties.') . '</p>'; $help .= '<p>' . __('You can see your active theme at the top of the screen. Below are the other themes you have installed that are not currently in use. You can see what your site would look like with one of these themes by clicking the Preview link. To change themes, click the Activate link.') . '</p>'; if ( current_user_can('install_themes') ) - $help .= '<p>' . sprintf(__('If you would like to see more themes to choose from, click on the “Install Themes” tab and you will be able to browse or search for additional themes from the <a href="%s" target="_blank">WordPress.org Theme Directory</a>. Themes in the WordPress.org Theme Directory are designed and developed by third parties, and are licensed under the GNU General Public License, version 2, just like WordPress. Oh, and they’re free!'), 'http://wordpress.org/extend/themes/') . '</p>'; + $help .= '<p>' . sprintf(__('If you would like to see more themes to choose from, click on the “Install Themes” tab and you will be able to browse or search for additional themes from the <a href="%s" target="_blank">WordPress.org Theme Directory</a>. Themes in the WordPress.org Theme Directory are designed and developed by third parties, and are compatible with the license WordPress uses. Oh, and they’re free!'), 'http://wordpress.org/extend/themes/') . '</p>'; $help .= '<p><strong>' . __('For more information:') . '</strong></p>'; $help .= '<p>' . __('<a href="http://codex.wordpress.org/Using_Themes" target="_blank">Documentation on Using Themes</a>') . '</p>'; @@ -71,15 +71,11 @@ require_once('./admin-header.php'); <div class="wrap"><?php screen_icon(); -if ( !is_multisite() ) : ?> +if ( ! is_multisite() && current_user_can( 'install_themes' ) ) : ?> <h2 class="nav-tab-wrapper"> -<a href="themes.php" class="nav-tab nav-tab-active"><?php echo esc_html( $title ); ?></a> - <?php if ( current_user_can('install_themes') ) : ?> -<a href="<?php echo admin_url( 'theme-install.php'); ?>" class="nav-tab"><?php echo esc_html_x('Install Themes', 'theme'); ?></a> - <?php endif; -else : ?> -<h2> -<?php echo esc_html( $title ); ?> +<a href="themes.php" class="nav-tab nav-tab-active"><?php echo esc_html( $title ); ?></a><a href="<?php echo admin_url( 'theme-install.php'); ?>" class="nav-tab"><?php echo esc_html_x('Install Themes', 'theme'); ?></a> +<?php else : ?> +<h2><?php echo esc_html( $title ); ?> <?php endif; ?> </h2> @@ -147,9 +143,9 @@ if ( ! current_user_can( 'switch_themes' ) ) { <form class="search-form filter-form" action="" method="get"> <p class="search-box"> - <label class="screen-reader-text" for="theme-search-input"><?php _e('Search Themes'); ?>:</label> + <label class="screen-reader-text" for="theme-search-input"><?php _e('Search Installed Themes'); ?>:</label> <input type="text" id="theme-search-input" name="s" value="<?php _admin_search_query(); ?>" /> - <?php submit_button( __( 'Search Themes' ), 'button', 'submit', false ); ?> + <?php submit_button( __( 'Search Installed Themes' ), 'button', false, false, array( 'id' => 'search-submit' ) ); ?> <a id="filter-click" href="?filter=1"><?php _e( 'Feature Filter' ); ?></a> </p> @@ -184,7 +180,7 @@ if ( ! current_user_can( 'switch_themes' ) ) { <?php endforeach; ?> <div class="feature-container"> - <?php submit_button( __( 'Apply Filters' ), 'button-secondary submitter', 'submit', false, array( 'style' => 'margin-left: 120px' ) ); ?> + <?php submit_button( __( 'Apply Filters' ), 'button-secondary submitter', false, false, array( 'style' => 'margin-left: 120px', 'id' => 'filter-submit' ) ); ?> <small><a id="mini-filter-click" href="<?php echo esc_url( remove_query_arg( array('filter', 'features', 'submit') ) ); ?>"><?php _e( 'Close filters' )?></a></small> </div> @@ -213,7 +209,7 @@ if ( current_user_can('edit_themes') && count( $broken_themes ) ) { <table id="broken-themes"> <tr> - <th><?php _e('Name'); ?></th> + <th><?php _ex('Name', 'theme name'); ?></th> <th><?php _e('Description'); ?></th> </tr> <?php diff --git a/wp-admin/tools.php b/wp-admin/tools.php index 33078957f..48528ae51 100644 --- a/wp-admin/tools.php +++ b/wp-admin/tools.php @@ -1,6 +1,6 @@ <?php /** - * Tools Administration Panel. + * Tools Administration Screen. * * @package WordPress * @subpackage Administration @@ -13,10 +13,10 @@ $title = __('Tools'); add_contextual_help($current_screen, '<p>' . __('Press This is a bookmarklet that makes it easy to blog about something you come across on the web. You can use it to just grab a link, or to post an excerpt. Press This will even allow you to choose from images included on the page and use them in your post. Just drag the Press This link on this screen to your bookmarks bar in your browser, and you’ll be on your way to easier content creation. Clicking on it while on another website opens a popup window with all these options.') . '</p>' . - '<p>' . __('The Use This link for the Categories and Tags Converter will take you to the Import page, where that Converter is one of the plugins you can download. Once installed, the link on this page takes you to a screen where you can choose conversion either way.') . '</p>' . + '<p>' . __('The Use This link for the Categories and Tags Converter will take you to the Import page, where that Converter is one of the plugins you can download. Once that plugin is installed, the link on this page takes you to a screen where you can choose conversion either way.') . '</p>' . '<p>' . __('Note: Turbo/Gears is no longer promoted on this screen as it was in previous versions due to the fact that Google has discontinued support for it.') . '</p>' . '<p><strong>' . __('For more information:') . '</strong></p>' . - '<p>' . __('<a href="http://codex.wordpress.org/Tools_Tools_SubPanel" target="_blank">Documentation on Tools</a>') . '</p>' . + '<p>' . __('<a href="http://codex.wordpress.org/Tools_Screen" target="_blank">Documentation on Tools</a>') . '</p>' . '<p>' . __('<a href="http://wordpress.org/support/" target="_blank">Support Forums</a>') . '</p>' ); @@ -33,8 +33,12 @@ require_once('./admin-header.php'); <p><?php _e('Press This is a bookmarklet: a little app that runs in your browser and lets you grab bits of the web.');?></p> <p><?php _e('Use Press This to clip text, images and videos from any web page. Then edit and add more straight from Press This before you save or publish it in a post on your site.'); ?></p> - <p><?php _e('Drag-and-drop the following link to your bookmarks bar or right click it and add it to your favorites for a posting shortcut.') ?></p> - <p class="pressthis"><a href="<?php echo htmlspecialchars( get_shortcut_link() ); ?>" title="<?php echo esc_attr(__('Press This')) ?>"><?php _e('Press This') ?></a></p> + <p class="description"><?php _e('Drag-and-drop the following link to your bookmarks bar or right click it and add it to your favorites for a posting shortcut.') ?></p> + <p class="pressthis"><a onclick="return false;" oncontextmenu="if(window.navigator.userAgent.indexOf('WebKit')!=-1)jQuery('.pressthis-code').show().find('textarea').focus().select();return false;" href="<?php echo htmlspecialchars( get_shortcut_link() ); ?>"><span><?php _e('Press This') ?></span></a></p> + <div class="pressthis-code" style="display:none;"> + <p class="description"><?php _e('If your bookmarks toolbar is hidden: copy the code below, open your Bookmarks manager, create new bookmark, type Press This into the name field and paste the code into the URL field.') ?></p> + <p><textarea rows="5" cols="120" readonly="readonly"><?php echo htmlspecialchars( get_shortcut_link() ); ?></textarea></p> + </div> </div> <?php endif; diff --git a/wp-admin/update-core.php b/wp-admin/update-core.php index 3671915d5..85c70a419 100644 --- a/wp-admin/update-core.php +++ b/wp-admin/update-core.php @@ -19,12 +19,14 @@ if ( ! current_user_can( 'update_core' ) ) function list_core_update( $update ) { global $wp_local_package, $wpdb; + static $first_pass = true; + $version_string = ('en_US' == $update->locale && 'en_US' == get_locale() ) ? $update->current : sprintf("%s–<strong>%s</strong>", $update->current, $update->locale); $current = false; if ( !isset($update->response) || 'latest' == $update->response ) $current = true; - $submit = __('Update Automatically'); + $submit = __('Update Now'); $form_action = 'update-core.php?action=do-core-upgrade'; $php_version = phpversion(); $mysql_version = $wpdb->db_version(); @@ -35,7 +37,7 @@ function list_core_update( $update ) { } else { if ( $current ) { $message = sprintf(__('You have the latest version of WordPress. You do not need to update. However, if you want to re-install version %s, you can do so automatically or download the package and re-install manually:'), $version_string); - $submit = __('Re-install Automatically'); + $submit = __('Re-install Now'); $form_action = 'update-core.php?action=do-core-reinstall'; } else { $php_compat = version_compare( $php_version, $update->php_version, '>=' ); @@ -63,8 +65,13 @@ function list_core_update( $update ) { echo '<input name="version" value="'. esc_attr($update->current) .'" type="hidden"/>'; echo '<input name="locale" value="'. esc_attr($update->locale) .'" type="hidden"/>'; if ( $show_buttons ) { - submit_button( $submit, 'button', 'upgrade', false ); - echo ' <a href="' . esc_url($update->package) . '" class="button">' . $download . '</a> '; + if ( $first_pass ) { + submit_button( $submit, 'button button-primary', 'upgrade', false ); + $first_pass = false; + } else { + submit_button( $submit, 'button', 'upgrade', false ); + } + echo ' <a href="' . esc_url( $update->download ) . '" class="button">' . $download . '</a> '; } if ( 'en_US' != $update->locale ) if ( !isset( $update->dismissed ) || !$update->dismissed ) @@ -75,7 +82,7 @@ function list_core_update( $update ) { if ( 'en_US' != $update->locale && ( !isset($wp_local_package) || $wp_local_package != $update->locale ) ) echo '<p class="hint">'.__('This localized version contains both the translation and various other localization fixes. You can skip upgrading if you want to keep your current translation.').'</p>'; else if ( 'en_US' == $update->locale && get_locale() != 'en_US' ) { - echo '<p class="hint">'.sprintf( __('You are about to install WordPress %s <strong>in English (US).</strong> There is a chance this update will break your translation. You may prefer to wait for the localized version to be released.'), $update->current ).'</p>'; + echo '<p class="hint">'.sprintf( __('You are about to install WordPress %s <strong>in English (US).</strong> There is a chance this update will break your translation. You may prefer to wait for the localized version to be released.'), $update->response != 'development' ? $update->current : '' ).'</p>'; } echo '</form>'; @@ -403,7 +410,7 @@ add_contextual_help($current_screen, '<p>' . __('Updating your WordPress installation is a simple one-click procedure; just click on the Update button when it says a new version is available.') . '</p>' . '<p>' . __('To update themes or plugins from this screen, use the checkboxes to make your selection and click on the appropriate Update button. Check the box at the top of the Themes or Plugins section to select all and update them all at once.') . '</p>' . '<p><strong>' . __('For more information:') . '</strong></p>' . - '<p>' . __('<a href="http://codex.wordpress.org/Dashboard_Updates_SubPanel" target="_blank">Documentation on Updating WordPress</a>') . '</p>' . + '<p>' . __('<a href="http://codex.wordpress.org/Dashboard_Updates_Screen" target="_blank">Documentation on Updating WordPress</a>') . '</p>' . '<p>' . __('<a href="http://wordpress.org/support/" target="_blank">Support Forums</a>') . '</p>' ); @@ -412,6 +419,7 @@ if ( 'upgrade-core' == $action ) { wp_version_check(); require_once(ABSPATH . 'wp-admin/admin-header.php'); core_upgrade_preamble(); + include(ABSPATH . 'wp-admin/admin-footer.php'); } elseif ( 'do-core-upgrade' == $action || 'do-core-reinstall' == $action ) { check_admin_referer('upgrade-core'); @@ -432,6 +440,8 @@ if ( 'upgrade-core' == $action ) { if ( isset( $_POST['upgrade'] ) ) do_core_upgrade($reinstall); + include(ABSPATH . 'wp-admin/admin-footer.php'); + } elseif ( 'do-plugin-upgrade' == $action ) { if ( ! current_user_can( 'update_plugins' ) ) @@ -459,6 +469,7 @@ if ( 'upgrade-core' == $action ) { echo '<h2>' . esc_html__('Update Plugins') . '</h2>'; echo "<iframe src='$url' style='width: 100%; height: 100%; min-height: 750px;' frameborder='0'></iframe>"; echo '</div>'; + include(ABSPATH . 'wp-admin/admin-footer.php'); } elseif ( 'do-theme-upgrade' == $action ) { @@ -487,6 +498,8 @@ if ( 'upgrade-core' == $action ) { echo '<h2>' . esc_html__('Update Themes') . '</h2>'; echo "<iframe src='$url' style='width: 100%; height: 100%; min-height: 750px;' frameborder='0'></iframe>"; echo '</div>'; -} + include(ABSPATH . 'wp-admin/admin-footer.php'); -include(ABSPATH . 'wp-admin/admin-footer.php'); +} else { + do_action('update-core-custom_' . $action); +} \ No newline at end of file diff --git a/wp-admin/update.php b/wp-admin/update.php index 8dd8a89bb..e529064ee 100644 --- a/wp-admin/update.php +++ b/wp-admin/update.php @@ -82,11 +82,7 @@ if ( isset($_GET['action']) ) { if ( isset($_GET['failure']) ){ echo '<p>' . __('Plugin failed to reactivate due to a fatal error.') . '</p>'; - if ( defined('E_RECOVERABLE_ERROR') ) - error_reporting(E_CORE_ERROR | E_CORE_WARNING | E_COMPILE_ERROR | E_ERROR | E_WARNING | E_PARSE | E_USER_ERROR | E_USER_WARNING | E_RECOVERABLE_ERROR); - else - error_reporting(E_CORE_ERROR | E_CORE_WARNING | E_COMPILE_ERROR | E_ERROR | E_WARNING | E_PARSE | E_USER_ERROR | E_USER_WARNING); - + error_reporting( E_CORE_ERROR | E_CORE_WARNING | E_COMPILE_ERROR | E_ERROR | E_WARNING | E_PARSE | E_USER_ERROR | E_USER_WARNING | E_RECOVERABLE_ERROR ); @ini_set('display_errors', true); //Ensure that Fatal errors are displayed. include(WP_PLUGIN_DIR . '/' . $plugin); } diff --git a/wp-admin/upload.php b/wp-admin/upload.php index 6a1d9b403..e12120701 100644 --- a/wp-admin/upload.php +++ b/wp-admin/upload.php @@ -130,12 +130,6 @@ if ( $doaction ) { $wp_list_table->prepare_items(); -$total_pages = $wp_list_table->get_pagination_arg( 'total_pages' ); -if ( $pagenum > $total_pages && $total_pages > 0 ) { - wp_redirect( add_query_arg( 'paged', $total_pages ) ); - exit; -} - $title = __('Media Library'); $parent_file = 'upload.php'; @@ -151,7 +145,7 @@ add_contextual_help( $current_screen, '<p>' . __( 'Hovering over a row reveals action links: <em>Edit</em>, <em>Delete Permanently</em>, and <em>View</em>. Clicking <em>Edit</em> or on the media file’s name displays a simple screen to edit that individual file’s metadata. Clicking <em>Delete Permanently</em> will delete the file from the media library (as well as from any posts to which it is currently attached). <em>View</em> will take you to the display page for that file.' ) . '</p>' . '<p>' . __( 'If a media file has not been attached to any post, you will see that in the <em>Attached To</em> column, and can click on <em>Attach File</em> to launch a small popup that will allow you to search for a post and attach the file.' ) . '</p>' . '<p><strong>' . __( 'For more information:' ) . '</strong></p>' . - '<p>' . __( '<a href="http://codex.wordpress.org/Media_Library_SubPanel" target="_blank">Documentation on Media Library</a>' ) . '</p>' . + '<p>' . __( '<a href="http://codex.wordpress.org/Media_Library_Screen" target="_blank">Documentation on Media Library</a>' ) . '</p>' . '<p>' . __( '<a href="http://wordpress.org/support/" target="_blank">Support Forums</a>' ) . '</p>' ); @@ -160,7 +154,7 @@ require_once('./admin-header.php'); <div class="wrap"> <?php screen_icon(); ?> -<h2><?php echo esc_html( $title ); ?> <a href="media-new.php" class="button add-new-h2"><?php echo esc_html_x('Add New', 'file'); ?></a> <?php +<h2><?php echo esc_html( $title ); ?> <a href="media-new.php" class="add-new-h2"><?php echo esc_html_x('Add New', 'file'); ?></a> <?php if ( isset($_REQUEST['s']) && $_REQUEST['s'] ) printf( '<span class="subtitle">' . __('Search results for “%s”') . '</span>', get_search_query() ); ?> </h2> diff --git a/wp-admin/user-edit.php b/wp-admin/user-edit.php index cf3efd41b..6334ed819 100644 --- a/wp-admin/user-edit.php +++ b/wp-admin/user-edit.php @@ -44,17 +44,14 @@ add_contextual_help($current_screen, '<p>' . __('Required fields are indicated; the rest are optional. Profile information will only be displayed if your theme is set up to do so.') . '</p>' . '<p>' . __('Remember to click the Update Profile button when you are finished.') . '</p>' . '<p><strong>' . __('For more information:') . '</strong></p>' . - '<p>' . __('<a href="http://codex.wordpress.org/Users_Your_Profile_SubPanel" target="_blank">Documentation on User Profiles</a>') . '</p>' . + '<p>' . __('<a href="http://codex.wordpress.org/Users_Your_Profile_Screen" target="_blank">Documentation on User Profiles</a>') . '</p>' . '<p>' . __('<a href="http://wordpress.org/support/" target="_blank">Support Forums</a>') . '</p>' ); $wp_http_referer = remove_query_arg(array('update', 'delete_count'), stripslashes($wp_http_referer)); -$all_post_caps = array('posts', 'pages'); -$user_can_edit = false; -foreach ( $all_post_caps as $post_cap ) - $user_can_edit |= current_user_can("edit_$post_cap"); +$user_can_edit = current_user_can( 'edit_posts' ) || current_user_can( 'edit_pages' ); /** * Optional SSL preference that can be turned on by hooking to the 'personal_options' action. @@ -161,7 +158,7 @@ include (ABSPATH . 'wp-admin/admin-header.php'); <div id="message" class="updated"> <p><strong><?php _e('User updated.') ?></strong></p> <?php if ( $wp_http_referer && !IS_PROFILE_PAGE ) : ?> - <p><a href="<?php echo esc_url( $wp_http_referer ); ?>"><?php _e('← Back to Authors and Users'); ?></a></p> + <p><a href="<?php echo esc_url( $wp_http_referer ); ?>"><?php _e('← Back to Users'); ?></a></p> <?php endif; ?> </div> <?php endif; ?> @@ -171,7 +168,17 @@ include (ABSPATH . 'wp-admin/admin-header.php'); <div class="wrap" id="profile-page"> <?php screen_icon(); ?> -<h2><?php echo esc_html( $title ); ?></h2> +<h2> +<?php +echo esc_html( $title ); +if ( ! IS_PROFILE_PAGE ) { + if ( current_user_can( 'create_users' ) ) { ?> + <a href="user-new.php" class="add-new-h2"><?php echo esc_html_x( 'Add New', 'user' ); ?></a> + <?php } elseif ( is_multisite() && current_user_can( 'promote_users' ) ) { ?> + <a href="user-new.php" class="add-new-h2"><?php echo esc_html_x( 'Add Existing', 'user' ); ?></a> + <?php } +} ?> +</h2> <form id="your-profile" action="<?php echo esc_url( self_admin_url( IS_PROFILE_PAGE ? 'profile.php' : 'user-edit.php' ) ); ?>" method="post"<?php do_action('user_edit_form_tag'); ?>> <?php wp_nonce_field('update-user_' . $user_id) ?> @@ -213,7 +220,7 @@ if ( !( IS_PROFILE_PAGE && !$user_can_edit ) ) : ?> <?php /* translators: Show admin bar when viewing site */ _e( 'when viewing site' ); ?></label><br /> <label for="admin_bar_admin"> <input name="admin_bar_admin" type="checkbox" id="admin_bar_admin" value="1" <?php checked( _get_admin_bar_pref( 'admin', $profileuser->ID ) ); ?> /> -<?php /* translators: Show admin bar in dashboard */ _e( 'in dashboard' ); ?></label> +<?php /* translators: Show admin bar in dashboard */ _e( 'in dashboard' ); ?></label></fieldset> </td> </tr> <?php do_action('personal_options', $profileuser); ?> @@ -284,23 +291,29 @@ if ( is_multisite() && is_network_admin() && ! IS_PROFILE_PAGE && current_user_c <select name="display_name" id="display_name"> <?php $public_display = array(); - $public_display['display_username'] = $profileuser->user_login; $public_display['display_nickname'] = $profileuser->nickname; + $public_display['display_username'] = $profileuser->user_login; + if ( !empty($profileuser->first_name) ) $public_display['display_firstname'] = $profileuser->first_name; + if ( !empty($profileuser->last_name) ) $public_display['display_lastname'] = $profileuser->last_name; + if ( !empty($profileuser->first_name) && !empty($profileuser->last_name) ) { $public_display['display_firstlast'] = $profileuser->first_name . ' ' . $profileuser->last_name; $public_display['display_lastfirst'] = $profileuser->last_name . ' ' . $profileuser->first_name; } + if ( !in_array( $profileuser->display_name, $public_display ) ) // Only add this if it isn't duplicated elsewhere $public_display = array( 'display_displayname' => $profileuser->display_name ) + $public_display; + $public_display = array_map( 'trim', $public_display ); $public_display = array_unique( $public_display ); + foreach ( $public_display as $id => $item ) { ?> - <option id="<?php echo $id; ?>" value="<?php echo esc_attr($item); ?>"<?php selected( $profileuser->display_name, $item ); ?>><?php echo $item; ?></option> + <option id="<?php echo $id; ?>"<?php selected( $profileuser->display_name, $item ); ?>><?php echo $item; ?></option> <?php } ?> diff --git a/wp-admin/user-new.php b/wp-admin/user-new.php index b9d87256f..cef46a3b7 100644 --- a/wp-admin/user-new.php +++ b/wp-admin/user-new.php @@ -1,6 +1,6 @@ <?php /** - * New User Administration Panel. + * New User Administration Screen. * * @package WordPress * @subpackage Administration @@ -31,7 +31,7 @@ Please click the following link to activate your user account: add_filter( 'wpmu_signup_user_notification_email', 'admin_created_user_email' ); function admin_created_user_subject( $text ) { - return "[" . get_bloginfo('name') . "] Your site invite"; + return sprintf( __( '[%s] Your site invite' ), get_bloginfo( 'name' ) ); } } @@ -146,7 +146,7 @@ add_contextual_help($current_screen, '<p>' . __('New users will receive an email letting them know they’ve been added as a user for your site. By default, this email will also contain their password. Uncheck the box if you don’t want the password to be included in the welcome email.') . '</p>' . '<p>' . __('Remember to click the Add User button at the bottom of this screen when you are finished.') . '</p>' . '<p><strong>' . __('For more information:') . '</strong></p>' . - '<p>' . __('<a href="http://codex.wordpress.org/Users_Add_New_SubPanel" target="_blank">Documentation on Adding New Users</a>') . '</p>' . + '<p>' . __('<a href="http://codex.wordpress.org/Users_Add_New_Screen" target="_blank">Documentation on Adding New Users</a>') . '</p>' . '<p>' . __('<a href="http://wordpress.org/support/" target="_blank">Support Forums</a>') . '</p>' ); diff --git a/wp-admin/user/admin.php b/wp-admin/user/admin.php index 42850f4b2..6aebd88cc 100644 --- a/wp-admin/user/admin.php +++ b/wp-admin/user/admin.php @@ -16,8 +16,12 @@ if ( ! is_multisite() ) { exit; } -if ( ( $current_blog->domain != $current_site->domain ) || ( $current_blog->path != $current_site->path ) ) { +$redirect_user_admin_request = ( ( $current_blog->domain != $current_site->domain ) || ( $current_blog->path != $current_site->path ) ); +$redirect_user_admin_request = apply_filters( 'redirect_user_admin_request', $redirect_user_admin_request ); +if ( $redirect_user_admin_request ) { wp_redirect( user_admin_url() ); exit; } +unset( $redirect_user_admin_request ); + ?> diff --git a/wp-admin/user/index.php b/wp-admin/user/index.php index c19396c17..fe0c27cff 100644 --- a/wp-admin/user/index.php +++ b/wp-admin/user/index.php @@ -1,6 +1,6 @@ <?php /** - * User Dashboard Administration Panel + * User Dashboard Administration Screen * * @package WordPress * @subpackage Administration diff --git a/wp-admin/user/profile.php b/wp-admin/user/profile.php index 4857a508d..b55ba1c3e 100644 --- a/wp-admin/user/profile.php +++ b/wp-admin/user/profile.php @@ -1,6 +1,6 @@ <?php /** - * User Profile Administration Panel. + * User Profile Administration Screen. * * @package WordPress * @subpackage Administration diff --git a/wp-admin/users.php b/wp-admin/users.php index 73ff238af..1bdeadefe 100644 --- a/wp-admin/users.php +++ b/wp-admin/users.php @@ -25,7 +25,7 @@ add_contextual_help($current_screen, '<p>' . __('You can customize the display of information on this screen as you can on other screens, by using the Screen Options tab and the on-screen filters.') . '</p>' . '<p>' . __('To add a new user for your site, click the Add New button at the top of the screen or Add New in the Users menu section.') . '</p>' . '<p><strong>' . __('For more information:') . '</strong></p>' . - '<p>' . __('<a href="http://codex.wordpress.org/Users_Users_SubPanel" target="_blank">Documentation on Managing Users</a>') . '</p>' . + '<p>' . __('<a href="http://codex.wordpress.org/Users_Screen" target="_blank">Documentation on Managing Users</a>') . '</p>' . '<p>' . __('<a href="http://codex.wordpress.org/Roles_and_Capabilities" target="_blank">Descriptions of Roles and Capabilities</a>') . '</p>' . '<p>' . __('<a href="http://wordpress.org/support/" target="_blank">Support Forums</a>') . '</p>' ); @@ -150,7 +150,7 @@ case 'delete': if ( empty($_REQUEST['users']) ) $userids = array(intval($_REQUEST['user'])); else - $userids = $_REQUEST['users']; + $userids = (array) $_REQUEST['users']; include ('admin-header.php'); ?> @@ -161,24 +161,24 @@ case 'delete': <div class="wrap"> <?php screen_icon(); ?> <h2><?php _e('Delete Users'); ?></h2> -<p><?php _e('You have specified these users for deletion:'); ?></p> +<p><?php echo _n( 'You have specified this user for deletion:', 'You have specified these users for deletion:', count( $userids ) ); ?></p> <ul> <?php - $go_delete = false; - foreach ( (array) $userids as $id ) { + $go_delete = 0; + foreach ( $userids as $id ) { $id = (int) $id; $user = new WP_User($id); if ( $id == $current_user->ID ) { echo "<li>" . sprintf(__('ID #%1s: %2s <strong>The current user will not be deleted.</strong>'), $id, $user->user_login) . "</li>\n"; } else { echo "<li><input type=\"hidden\" name=\"users[]\" value=\"" . esc_attr($id) . "\" />" . sprintf(__('ID #%1s: %2s'), $id, $user->user_login) . "</li>\n"; - $go_delete = true; + $go_delete++; } } ?> </ul> <?php if ( $go_delete ) : ?> - <fieldset><p><legend><?php _e('What should be done with posts and links owned by this user?'); ?></legend></p> + <fieldset><p><legend><?php echo _n( 'What should be done with posts and links owned by this user?', 'What should be done with posts and links owned by these users?', $go_delete ); ?></legend></p> <ul style="list-style:none;"> <li><label><input type="radio" id="delete_option0" name="delete_option" value="delete" checked="checked" /> <?php _e('Delete all posts and links.'); ?></label></li> @@ -360,9 +360,9 @@ if ( ! empty($messages) ) { <?php echo esc_html( $title ); if ( current_user_can( 'create_users' ) ) { ?> - <a href="user-new.php" class="button add-new-h2"><?php echo esc_html_x( 'Add New', 'user' ); ?></a> + <a href="user-new.php" class="add-new-h2"><?php echo esc_html_x( 'Add New', 'user' ); ?></a> <?php } elseif ( is_multisite() && current_user_can( 'promote_users' ) ) { ?> - <a href="user-new.php" class="button add-new-h2"><?php echo esc_html_x( 'Add Existing', 'user' ); ?></a> + <a href="user-new.php" class="add-new-h2"><?php echo esc_html_x( 'Add Existing', 'user' ); ?></a> <?php } if ( $usersearch ) @@ -378,16 +378,6 @@ if ( $usersearch ) <?php $wp_list_table->display(); ?> </form> -<?php -if ( is_multisite() ) { - foreach ( array('user_login' => 'user_login', 'first_name' => 'user_firstname', 'last_name' => 'user_lastname', 'email' => 'user_email', 'url' => 'user_uri', 'role' => 'user_role') as $formpost => $var ) { - $var = 'new_' . $var; - $$var = isset($_REQUEST[$formpost]) ? esc_attr(stripslashes($_REQUEST[$formpost])) : ''; - } - unset($name); -} -?> - <br class="clear" /> </div> <?php diff --git a/wp-admin/widgets.php b/wp-admin/widgets.php index 4ae5478f1..e5c2cf29f 100644 --- a/wp-admin/widgets.php +++ b/wp-admin/widgets.php @@ -42,7 +42,7 @@ $help = ' <p>' . __('Many themes show some sidebar widgets by default until you edit your sidebars, but they are not automatically displayed in your sidebar management tool. After you make your first widget change, you can re-add the default widgets by adding them from the Available Widgets area.') . '</p> '; $help .= '<p><strong>' . __('For more information:') . '</strong></p>'; -$help .= '<p>' . __('<a href="http://codex.wordpress.org/Appearance_Widgets_SubPanel" target="_blank">Documentation on Widgets</a>') . '</p>'; +$help .= '<p>' . __('<a href="http://codex.wordpress.org/Appearance_Widgets_Screen" target="_blank">Documentation on Widgets</a>') . '</p>'; $help .= '<p>' . __('<a href="http://wordpress.org/support/" target="_blank">Support Forums</a>') . '</p>'; add_contextual_help($current_screen, $help); @@ -357,7 +357,7 @@ require_once( './admin-header.php' ); ?> <div id="available-widgets" class="widgets-holder-wrap"> <div class="sidebar-name"> <div class="sidebar-name-arrow"><br /></div> - <h3><?php _e('Available Widgets'); ?> <span id="removing-widget"><?php _e('Deactivate'); ?> <span></span></span></h3></div> + <h3><?php _e('Available Widgets'); ?> <span id="removing-widget"><?php _ex('Deactivate', 'removing-widget'); ?> <span></span></span></h3></div> <div class="widget-holder"> <p class="description"><?php _e('Drag widgets from here to a sidebar on the right to activate them. Drag widgets back here to deactivate them and delete their settings.'); ?></p> <div id="widget-list"> diff --git a/wp-app.php b/wp-app.php index 6de528820..ec35b4120 100644 --- a/wp-app.php +++ b/wp-app.php @@ -216,14 +216,14 @@ class AtomServer { var $do_output = true; /** - * PHP4 constructor - Sets up object properties. + * Constructor - Sets up object properties. * * @since 2.2.0 * @return AtomServer */ - function AtomServer() { + function __construct() { - $this->script_name = array_pop( $var_by_ref = explode( '/', $_SERVER['SCRIPT_NAME'] ) ); + $this->script_name = array_pop( explode( '/', $_SERVER['SCRIPT_NAME'] ) ); $this->app_base = site_url( $this->script_name . '/' ); $this->selectors = array( @@ -607,13 +607,13 @@ EOD; $slug = ''; if ( isset( $_SERVER['HTTP_SLUG'] ) ) - $slug = sanitize_file_name( $_SERVER['HTTP_SLUG'] ); + $slug = $_SERVER['HTTP_SLUG']; elseif ( isset( $_SERVER['HTTP_TITLE'] ) ) - $slug = sanitize_file_name( $_SERVER['HTTP_TITLE'] ); + $slug = $_SERVER['HTTP_TITLE']; elseif ( empty( $slug ) ) // just make a random name $slug = substr( md5( uniqid( microtime() ) ), 0, 7); $ext = preg_replace( '|.*/([a-z0-9]+)|', '$1', $_SERVER['CONTENT_TYPE'] ); - $slug = "$slug.$ext"; + $slug = sanitize_file_name( "$slug.$ext" ); $file = wp_upload_bits( $slug, NULL, $bits); log_app('wp_upload_bits returns:',print_r($file,true)); diff --git a/wp-content/themes/twentyeleven/404.php b/wp-content/themes/twentyeleven/404.php new file mode 100644 index 000000000..03e065127 --- /dev/null +++ b/wp-content/themes/twentyeleven/404.php @@ -0,0 +1,48 @@ +<?php +/** + * The template for displaying 404 pages (Not Found). + * + * @package WordPress + * @subpackage Twenty_Eleven + * @since Twenty Eleven 1.0 + */ + +get_header(); ?> + + <div id="primary"> + <div id="content" role="main"> + + <article id="post-0" class="post error404 not-found"> + <header class="entry-header"> + <h1 class="entry-title"><?php _e( 'This is somewhat embarrassing, isn’t it?', 'twentyeleven' ); ?></h1> + </header> + + <div class="entry-content"> + <p><?php _e( 'It seems we can’t find what you’re looking for. Perhaps searching, or one of the links below, can help.', 'twentyeleven' ); ?></p> + + <?php get_search_form(); ?> + + <?php the_widget( 'WP_Widget_Recent_Posts', array( 'number' => 10 ), array( 'widget_id' => '404' ) ); ?> + + <div class="widget"> + <h2 class="widgettitle"><?php _e( 'Most Used Categories', 'twentyeleven' ); ?></h2> + <ul> + <?php wp_list_categories( array( 'orderby' => 'count', 'order' => 'DESC', 'show_count' => 1, 'title_li' => '', 'number' => 10 ) ); ?> + </ul> + </div> + + <?php + /* translators: %1$s: smilie */ + $archive_content = '<p>' . sprintf( __( 'Try looking in the monthly archives. %1$s', 'twentyeleven' ), convert_smilies( ':)' ) ) . '</p>'; + the_widget( 'WP_Widget_Archives', array('count' => 0 , 'dropdown' => 1 ), array( 'after_title' => '</h2>'.$archive_content ) ); + ?> + + <?php the_widget( 'WP_Widget_Tag_Cloud' ); ?> + + </div><!-- .entry-content --> + </article><!-- #post-0 --> + + </div><!-- #content --> + </div><!-- #primary --> + +<?php get_footer(); ?> \ No newline at end of file diff --git a/wp-content/themes/twentyeleven/archive.php b/wp-content/themes/twentyeleven/archive.php new file mode 100644 index 000000000..22873b67e --- /dev/null +++ b/wp-content/themes/twentyeleven/archive.php @@ -0,0 +1,72 @@ +<?php +/** + * The template for displaying Archive pages. + * + * Used to display archive-type pages if nothing more specific matches a query. + * For example, puts together date-based pages if no date.php file exists. + * + * Learn more: http://codex.wordpress.org/Template_Hierarchy + * + * @package WordPress + * @subpackage Twenty_Eleven + * @since Twenty Eleven 1.0 + */ + +get_header(); ?> + + <section id="primary"> + <div id="content" role="main"> + + <?php if ( have_posts() ) : ?> + + <header class="page-header"> + <h1 class="page-title"> + <?php if ( is_day() ) : ?> + <?php printf( __( 'Daily Archives: %s', 'twentyeleven' ), '<span>' . get_the_date() . '</span>' ); ?> + <?php elseif ( is_month() ) : ?> + <?php printf( __( 'Monthly Archives: %s', 'twentyeleven' ), '<span>' . get_the_date( 'F Y' ) . '</span>' ); ?> + <?php elseif ( is_year() ) : ?> + <?php printf( __( 'Yearly Archives: %s', 'twentyeleven' ), '<span>' . get_the_date( 'Y' ) . '</span>' ); ?> + <?php else : ?> + <?php _e( 'Blog Archives', 'twentyeleven' ); ?> + <?php endif; ?> + </h1> + </header> + + <?php twentyeleven_content_nav( 'nav-above' ); ?> + + <?php /* Start the Loop */ ?> + <?php while ( have_posts() ) : the_post(); ?> + + <?php + /* Include the Post-Format-specific template for the content. + * If you want to overload this in a child theme then include a file + * called content-___.php (where ___ is the Post Format name) and that will be used instead. + */ + get_template_part( 'content', get_post_format() ); + ?> + + <?php endwhile; ?> + + <?php twentyeleven_content_nav( 'nav-below' ); ?> + + <?php else : ?> + + <article id="post-0" class="post no-results not-found"> + <header class="entry-header"> + <h1 class="entry-title"><?php _e( 'Nothing Found', 'twentyeleven' ); ?></h1> + </header><!-- .entry-header --> + + <div class="entry-content"> + <p><?php _e( 'Apologies, but no results were found for the requested archive. Perhaps searching will help find a related post.', 'twentyeleven' ); ?></p> + <?php get_search_form(); ?> + </div><!-- .entry-content --> + </article><!-- #post-0 --> + + <?php endif; ?> + + </div><!-- #content --> + </section><!-- #primary --> + +<?php get_sidebar(); ?> +<?php get_footer(); ?> \ No newline at end of file diff --git a/wp-content/themes/twentyeleven/author.php b/wp-content/themes/twentyeleven/author.php new file mode 100644 index 000000000..f9a2bfdca --- /dev/null +++ b/wp-content/themes/twentyeleven/author.php @@ -0,0 +1,89 @@ +<?php +/** + * The template for displaying Author Archive pages. + * + * @package WordPress + * @subpackage Twenty_Eleven + * @since Twenty Eleven 1.0 + */ + +get_header(); ?> + + <section id="primary"> + <div id="content" role="main"> + + <?php if ( have_posts() ) : ?> + + <?php + /* Queue the first post, that way we know + * what author we're dealing with (if that is the case). + * + * We reset this later so we can run the loop + * properly with a call to rewind_posts(). + */ + the_post(); + ?> + + <header class="page-header"> + <h1 class="page-title author"><?php printf( __( 'Author Archives: %s', 'twentyeleven' ), '<span class="vcard"><a class="url fn n" href="' . esc_url( get_author_posts_url( get_the_author_meta( "ID" ) ) ) . '" title="' . esc_attr( get_the_author() ) . '" rel="me">' . get_the_author() . '</a></span>' ); ?></h1> + </header> + + <?php + /* Since we called the_post() above, we need to + * rewind the loop back to the beginning that way + * we can run the loop properly, in full. + */ + rewind_posts(); + ?> + + <?php twentyeleven_content_nav( 'nav-above' ); ?> + + <?php + // If a user has filled out their description, show a bio on their entries. + if ( get_the_author_meta( 'description' ) ) : ?> + <div id="author-info"> + <div id="author-avatar"> + <?php echo get_avatar( get_the_author_meta( 'user_email' ), apply_filters( 'twentyeleven_author_bio_avatar_size', 60 ) ); ?> + </div><!-- #author-avatar --> + <div id="author-description"> + <h2><?php printf( __( 'About %s', 'twentyeleven' ), get_the_author() ); ?></h2> + <?php the_author_meta( 'description' ); ?> + </div><!-- #author-description --> + </div><!-- #entry-author-info --> + <?php endif; ?> + + <?php /* Start the Loop */ ?> + <?php while ( have_posts() ) : the_post(); ?> + + <?php + /* Include the Post-Format-specific template for the content. + * If you want to overload this in a child theme then include a file + * called content-___.php (where ___ is the Post Format name) and that will be used instead. + */ + get_template_part( 'content', get_post_format() ); + ?> + + <?php endwhile; ?> + + <?php twentyeleven_content_nav( 'nav-below' ); ?> + + <?php else : ?> + + <article id="post-0" class="post no-results not-found"> + <header class="entry-header"> + <h1 class="entry-title"><?php _e( 'Nothing Found', 'twentyeleven' ); ?></h1> + </header><!-- .entry-header --> + + <div class="entry-content"> + <p><?php _e( 'Apologies, but no results were found for the requested archive. Perhaps searching will help find a related post.', 'twentyeleven' ); ?></p> + <?php get_search_form(); ?> + </div><!-- .entry-content --> + </article><!-- #post-0 --> + + <?php endif; ?> + + </div><!-- #content --> + </section><!-- #primary --> + +<?php get_sidebar(); ?> +<?php get_footer(); ?> \ No newline at end of file diff --git a/wp-content/themes/twentyeleven/category.php b/wp-content/themes/twentyeleven/category.php new file mode 100644 index 000000000..539cbbdd3 --- /dev/null +++ b/wp-content/themes/twentyeleven/category.php @@ -0,0 +1,65 @@ +<?php +/** + * The template for displaying Category Archive pages. + * + * @package WordPress + * @subpackage Twenty_Eleven + * @since Twenty Eleven 1.0 + */ + +get_header(); ?> + + <section id="primary"> + <div id="content" role="main"> + + <?php if ( have_posts() ) : ?> + + <header class="page-header"> + <h1 class="page-title"><?php + printf( __( 'Category Archives: %s', 'twentyeleven' ), '<span>' . single_cat_title( '', false ) . '</span>' ); + ?></h1> + + <?php + $category_description = category_description(); + if ( ! empty( $category_description ) ) + echo apply_filters( 'category_archive_meta', '<div class="category-archive-meta">' . $category_description . '</div>' ); + ?> + </header> + + <?php twentyeleven_content_nav( 'nav-above' ); ?> + + <?php /* Start the Loop */ ?> + <?php while ( have_posts() ) : the_post(); ?> + + <?php + /* Include the Post-Format-specific template for the content. + * If you want to overload this in a child theme then include a file + * called content-___.php (where ___ is the Post Format name) and that will be used instead. + */ + get_template_part( 'content', get_post_format() ); + ?> + + <?php endwhile; ?> + + <?php twentyeleven_content_nav( 'nav-below' ); ?> + + <?php else : ?> + + <article id="post-0" class="post no-results not-found"> + <header class="entry-header"> + <h1 class="entry-title"><?php _e( 'Nothing Found', 'twentyeleven' ); ?></h1> + </header><!-- .entry-header --> + + <div class="entry-content"> + <p><?php _e( 'Apologies, but no results were found for the requested archive. Perhaps searching will help find a related post.', 'twentyeleven' ); ?></p> + <?php get_search_form(); ?> + </div><!-- .entry-content --> + </article><!-- #post-0 --> + + <?php endif; ?> + + </div><!-- #content --> + </section><!-- #primary --> + +<?php get_sidebar(); ?> +<?php get_footer(); ?> diff --git a/wp-content/themes/twentyeleven/colors/dark.css b/wp-content/themes/twentyeleven/colors/dark.css new file mode 100644 index 000000000..c2b35e81c --- /dev/null +++ b/wp-content/themes/twentyeleven/colors/dark.css @@ -0,0 +1,618 @@ +/* + A dark color scheme for Twenty Eleven +*/ + +/* =Global +----------------------------------------------- */ + +body { + background: #1d1d1d; + color: #bbb; +} +#page { + background: #0f0f0f; +} + +/* Headings */ +hr { + background-color: #333; +} + +/* Text elements */ +blockquote cite { + color: #999; +} +pre { + background: #0b0b0b; +} +code, kbd { + font: 13px Monaco, Consolas, "Andale Mono", "DejaVu Sans Mono", monospace; +} +abbr, acronym, dfn { + border-bottom: 1px dotted #999; +} +ins { + background: #00063f; +} +input[type=text], +.post-password-required input[type=password], +textarea { + border: 1px solid #222; +} +input[type=text]:focus, +textarea:focus { +} +input#s { + background-color: #ddd; +} + +/* Links */ +a { +} + + +/* =Header +----------------------------------------------- */ + +#branding { + border-top: 2px solid #0a0a0a; +} +#site-title a { + color: #eee; +} +#site-title a:hover, +#site-title a:focus, +#site-title a:active { +} +#site-description { + color: #858585; +} +#branding #s { + background-color: #ddd; +} + + +/* =Menu +----------------------------------------------- */ + +#access { + background: #333; /* Show a solid color for older browsers */ + background: -moz-linear-gradient(#383838, #272727); + background: -webkit-gradient(linear, 0% 0%, 0% 100%, from(#383838), to(#272727)); /* older webkit syntax */ + background: -webkit-linear-gradient(#383838, #272727); + border-bottom: 1px solid #222; +} + +/* =Content +----------------------------------------------- */ + +.page-title { + color: #ccc; +} +.hentry { + border-color: #222; +} +.entry-title { + color: #ddd; +} +.entry-title, +.entry-title a { + color: #ddd; +} +.entry-title a:hover, +.entry-title a:focus, +.entry-title a:active { +} +.entry-meta { + color: #999; +} +.entry-content h1, +.entry-content h2, +.comment-content h1, +.comment-content h2 { + color: #fff; +} +.entry-content table, +.comment-content table { + border-color: #222; +} +.entry-content th, +.comment-content th { + color: #999; +} +.entry-content td, +.comment-content td { + border-color: #222; +} +.page-link { +} +.page-link a { + background: #242424; + color: #bbb; +} +.page-link a:hover { + background: #999; + color: #000; +} +.entry-meta .edit-link a { + background: #242424; + color: #bbb; +} +.entry-meta .edit-link a:hover, +.entry-meta .edit-link a:focus, +.entry-meta .edit-link a:active { + background: #999; + color: #000; +} + +/* Images */ +.wp-caption { + background: #2c2c2c; +} +.wp-caption .wp-caption-text { + color: #999; +} +.wp-caption .wp-caption-text:before { + color: #999; +} + +/* Image borders */ +img[class*="wp-image-"], +#content .gallery .gallery-icon img { + border-color: #2c2c2c; +} +.wp-caption img { + border-color: #2c2c2c; +} +a:focus img[class*="wp-image-"], +a:hover img[class*="wp-image-"], +a:active img[class*="wp-image-"] { + background: #2c2c2c; + border-color: #444; +} +.wp-caption a:focus img, +.wp-caption a:active img, +.wp-caption a:hover img { + background: #0f0f0f; + border-color: #2c2c2c; +} + +/* Password Protected Posts */ +.post-password-required input[type=password] { + background: #ddd; +} +.post-password-required input[type=password]:focus { + background: #fff; +} + +/* Author Info */ +.singular #author-info { + background: #060606; + border-color: #222; +} +.archive #author-info { + border-color: #222; +} +#author-avatar img { + background: #000; + -webkit-box-shadow: 0 1px 2px #444; + -moz-box-shadow: 0 1px 2px #444; + box-shadow: 0 1px 2px #444; +} +#author-description h2 { + color: #fff; +} + +/* Comments link */ +.entry-header .comments-link a { + background: #282828 url(../images/comment-bubble-dark.png) no-repeat; + border-color: #222; + color: #888; +} + +.rtl .entry-header .comments-link a { + background-image: url(../images/comment-bubble-dark-rtl.png); +} +/* Singular content styles for Posts and Pages */ +.singular .entry-title { + color: #fff; +} + + +/* =Status +----------------------------------------------- */ + +.format-status img.avatar { + -webkit-box-shadow: 0 1px 2px #333; + -moz-box-shadow: 0 1px 2px #333; + box-shadow: 0 1px 2px #333; +} + + +/* =Quote +----------------------------------------------- */ + +.format-quote blockquote { + color: #aaa; +} + + +/* =Image +----------------------------------------------- */ + +.indexed.format-image .wp-caption { + background: #242424; +} +.indexed.format-image .entry-meta .edit-link a { + color: #ddd; +} +.indexed.format-image .entry-meta .edit-link a:hover { + color: #fff; +} + + +/* =error404 +----------------------------------------------- */ +.error404 #main #searchform { + background: #060606; + border-color: #222; +} + + +/* =Showcase +----------------------------------------------- */ + +h1.showcase-heading { + color: #ccc; +} + +/* Intro */ +article.intro { + background: #060606; +} +article.intro .entry-content { + color: #eee; +} +article.intro .edit-link a { + background: #555; + color: #000; +} +article.intro .edit-link a:hover { + background: #888; +} + +/* Featured post */ +section.featured-post .hentry { + color: #999; +} + +/* Small featured post */ +section.featured-post .attachment-small-feature { + border-color: #444; +} +section.featured-post .attachment-small-feature:hover { + border-color: #777; +} +article.feature-image.small .entry-summary { + color: #aaa; +} +article.feature-image.small .entry-summary p a { + background: #ddd; + color: #111; +} +article.feature-image.small .entry-summary p a:hover { + color: #40220c; +} + +/* Large featured post */ +article.feature-image.large .entry-title a { + background: #ddd; + background: rgba(0,0,0,0.8); + color: #fff; +} +section.feature-image.large:hover .entry-title a, +section.feature-image.large .entry-title:hover a { + background: #111; + background: rgba(255,255,255,0.8); + color: #000; +} +section.feature-image.large img { + border-bottom: 1px solid #222; +} + +/* Featured Slider */ +.featured-posts { + border-color: #222; +} +.featured-posts section.featured-post { + background: #000; +} +.featured-post .feature-text:after, +.featured-post .feature-image.small:after { + background: -moz-linear-gradient(top, rgba(0,0,0,0) 0%, rgba(0,0,0,1) 100%); /* FF3.6+ */ + background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,rgba(0,0,0,0)), color-stop(100%,rgba(0,0,0,1))); /* Chrome,Safari4+ */ + background: -webkit-linear-gradient(top, rgba(0,0,0,0) 0%,rgba(0,0,0,1) 100%); /* Chrome10+,Safari5.1+ */ + background: -o-linear-gradient(top, rgba(0,0,0,0) 0%,rgba(0,0,0,1) 100%); /* Opera11.10+ */ + background: -ms-linear-gradient(top, rgba(0,0,0,0) 0%,rgba(0,0,0,1) 100%); /* IE10+ */ + filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#00000000', endColorstr='#000000',GradientType=0 ); /* IE6-9 */ + background: linear-gradient(top, rgba(0,0,0,0) 0%,rgba(0,0,0,1) 100%); /* W3C */ +} +.feature-slider a { + background: #c3c3c3; + background: rgba(60,60,60,0.9); + -webkit-box-shadow: inset 1px 1px 5px rgba(0,0,0,0.5), inset 0 0 2px rgba(255,255,255,0.5); + -moz-box-shadow: inset 1px 1px 5px rgba(0,0,0,0.5), inset 0 0 2px rgba(255,255,255,0.5); + box-shadow: inset 1px 1px 5px rgba(0,0,0,0.5), inset 0 0 2px rgba(255,255,255,0.5); +} +.feature-slider a.active { + background: #000; + background: rgba(255,255,255,0.8); + -webkit-box-shadow: inset 1px 1px 5px rgba(0,0,0,0.4), inset 0 0 2px rgba(255,255,255,0.8); + -moz-box-shadow: inset 1px 1px 5px rgba(0,0,0,0.4), inset 0 0 2px rgba(255,255,255,0.8); + box-shadow: inset 1px 1px 5px rgba(0,0,0,0.4), inset 0 0 2px rgba(255,255,255,0.8); +} + +/* Recent Posts */ +section.recent-posts .other-recent-posts { + border-color: #222; +} +section.recent-posts .other-recent-posts .entry-title { + border-color: #222; +} +section.recent-posts .other-recent-posts a[rel="bookmark"] { + color: #ccc; +} +section.recent-posts .other-recent-posts a[rel="bookmark"]:hover { +} +section.recent-posts .other-recent-posts .comments-link a, +section.recent-posts .other-recent-posts .comments-link > span { + border-color: #959595; + color: #bbb; +} +section.recent-posts .other-recent-posts .comments-link > span { + border-color: #444; + color: #777; +} +section.recent-posts .other-recent-posts .comments-link a:hover { +} + + +/* =Attachments +----------------------------------------------- */ + +.image-attachment div.attachment { + background: #060606; + border-color: #222; +} +.image-attachment div.attachment a img { + border-color: #060606; +} +.image-attachment div.attachment a:focus img, +.image-attachment div.attachment a:hover img, +.image-attachment div.attachment a:active img { + border-color: #2c2c2c; + background: #0f0f0f; +} + + +/* =Widgets +----------------------------------------------- */ + +.widget-title { + color: #ccc; +} +.widget ul li { + color: #888; +} + +/* Search Widget */ +.widget_search #searchsubmit { + background: #222; + border-color: #333; + -webkit-box-shadow: inset 0px -1px 1px rgba(0, 0, 0, 0.09); + -moz-box-shadow: inset 0px -1px 1px rgba(0, 0, 0, 0.09); + box-shadow: inset 0px -1px 1px rgba(0, 0, 0, 0.09); + color: #777; +} +.widget_search #searchsubmit:active { + -webkit-box-shadow: inset 0px 1px 1px rgba(0, 0, 0, 0.1); + -moz-box-shadow: inset 0px 1px 1px rgba(0, 0, 0, 0.1); + box-shadow: inset 0px 1px 1px rgba(0, 0, 0, 0.1); + color: #40220c; +} + +/* Calendar Widget */ +.widget_calendar #wp-calendar { + color: #aaa; +} +.widget_calendar #wp-calendar th { + background: #0b0b0b; + border-color: #333; +} +.widget_calendar #wp-calendar tfoot td { + background: #0b0b0b; + border-color: #333; +} + + +/* =Comments +----------------------------------------------- */ + +#comments-title { + color: #bbb; +} +.nocomments { + color: #555; +} +.commentlist > li.comment { + background: #090909; + border-color: #222; +} +.commentlist .children li.comment { + background: #000; + border-color: #222; +} +.rtl .commentlist .children li.comment { + border-color: #222; +} +.comment-meta { + color: #999; +} +a.comment-reply-link { + background: #242424; + color: #bbb; +} +li.bypostauthor a.comment-reply-link { + background: #111; +} +a.comment-reply-link:hover, +a.comment-reply-link:focus, +a.comment-reply-link:active, +li.bypostauthor a.comment-reply-link:hover, +li.bypostauthor a.comment-reply-link:focus, +li.bypostauthor a.comment-reply-link:active { + background: #999; + color: #000; +} +.commentlist > li:before { + content: url(../images/comment-arrow-dark.png); +} +.rtl .commentlist > li:before { + content: url(../images/comment-arrow-dark-rtl.png); +} + +/* Post author highlighting */ +.commentlist > li.bypostauthor { + background: #222; + border-color: #2c2c2c; +} +.commentlist > li.bypostauthor:before { + content: url(../images/comment-arrow-bypostauthor-dark.png); +} +.rtl .commentlist > li.bypostauthor:before { + content: url(../images/comment-arrow-bypostauthor-dark-rtl.png); +} + +/* Post Author threaded comments */ +.commentlist .children > li.bypostauthor { + background: #222; + border-color: #2c2c2c; +} +.commentlist > li.bypostauthor .comment-meta { + color: #a8a8a8; +} + +/* Comment Form */ +#respond { + background: #222; + border-color: #2c2c2c; +} +#respond input[type="text"], +#respond textarea { + background: #000; + border: 4px solid #111; + -webkit-box-shadow: inset 0 1px 3px rgba(51,51,51,0.95); + -moz-box-shadow: inset 0 1px 3px rgba(51,51,51,0.95); + box-shadow: inset 0 1px 3px rgba(51,51,51,0.95); + color: #bbb; +} +#respond .comment-form-author label, +#respond .comment-form-email label, +#respond .comment-form-url label, +#respond .comment-form-comment label { + background: #111; + -webkit-box-shadow: 1px 2px 2px rgba(51,51,51,0.8); + -moz-box-shadow: 1px 2px 2px rgba(51,51,51,0.8); + box-shadow: 1px 1px 2px rgba(51,51,51,0.8); + color: #aaa; +} +.rtl #respond .comment-form-author label, +.rtl #respond .comment-form-email label, +.rtl #respond .comment-form-url label, +.rtl #respond .comment-form-comment label { + -webkit-box-shadow: -1px 2px 2px rgba(51,51,51,0.8); + -moz-box-shadow: -1px 2px 2px rgba(51,51,51,0.8); + box-shadow: -1px 1px 2px rgba(51,51,51,0.8); +} +#respond .comment-form-author .required, +#respond .comment-form-email .required { + color: #42caff; +} +#respond input#submit { + background: #ddd; + -webkit-box-shadow: 0px 1px 2px rgba(0,0,0,0.3); + -moz-box-shadow: 0px 1px 2px rgba(0,0,0,0.3); + box-shadow: 0px 1px 2px rgba(0,0,0,0.3); + color: #111; + text-shadow: 0 -1px 0 rgba(0,0,0,0.3); +} +#respond input#submit:active { + color: #40220c; +} +#respond #cancel-comment-reply-link { + color: #999; +} +#reply-title { + color: #ccc; +} +#cancel-comment-reply-link { + color: #777; +} +#cancel-comment-reply-link:focus, +#cancel-comment-reply-link:active, +#cancel-comment-reply-link:hover { + color: #00b4cc; +} + + +/* =Footer +----------------------------------------------- */ + +#supplementary { + border-color: #222; +} + +/* Site Generator Line */ +#site-generator { + background: #060606; + border-color: #000; +} + + +/* =Print +----------------------------------------------- */ + +@media print { + body { + color: #333; + background: none !important; + } + #page { + background: none !important; + } + + /* Comments */ + .commentlist > li.comment { + } + + /* Post author highlighting */ + .commentlist > li.bypostauthor { + color: #333; + } + .commentlist > li.bypostauthor .comment-meta { + color: #959595; + } + .commentlist > li:before { + content: none !important; + } + + /* Post Author threaded comments */ + .commentlist .children > li.bypostauthor { + background: #fff; + border-color: #ddd; + } + .commentlist .children > li.bypostauthor > article, + .commentlist .children > li.bypostauthor > article .comment-meta { + color: #959595; + } +} \ No newline at end of file diff --git a/wp-content/themes/twentyeleven/comments.php b/wp-content/themes/twentyeleven/comments.php new file mode 100644 index 000000000..359b001c6 --- /dev/null +++ b/wp-content/themes/twentyeleven/comments.php @@ -0,0 +1,77 @@ +<?php +/** + * The template for displaying Comments. + * + * The area of the page that contains both current comments + * and the comment form. The actual display of comments is + * handled by a callback to twentyeleven_comment() which is + * located in the functions.php file. + * + * @package WordPress + * @subpackage Twenty_Eleven + * @since Twenty Eleven 1.0 + */ +?> + <div id="comments"> + <?php if ( post_password_required() ) : ?> + <p class="nopassword"><?php _e( 'This post is password protected. Enter the password to view any comments.', 'twentyeleven' ); ?></p> + </div><!-- #comments --> + <?php + /* Stop the rest of comments.php from being processed, + * but don't kill the script entirely -- we still have + * to fully load the template. + */ + return; + endif; + ?> + + <?php // You can start editing here -- including this comment! ?> + + <?php if ( have_comments() ) : ?> + <h2 id="comments-title"> + <?php + printf( _n( 'One thought on “%2$s”', '%1$s thoughts on “%2$s”', get_comments_number(), 'twentyeleven' ), + number_format_i18n( get_comments_number() ), '<span>' . get_the_title() . '</span>' ); + ?> + </h2> + + <?php if ( get_comment_pages_count() > 1 && get_option( 'page_comments' ) ) : // are there comments to navigate through ?> + <nav id="comment-nav-above"> + <h1 class="assistive-text"><?php _e( 'Comment navigation', 'twentyeleven' ); ?></h1> + <div class="nav-previous"><?php previous_comments_link( __( '← Older Comments', 'twentyeleven' ) ); ?></div> + <div class="nav-next"><?php next_comments_link( __( 'Newer Comments →', 'twentyeleven' ) ); ?></div> + </nav> + <?php endif; // check for comment navigation ?> + + <ol class="commentlist"> + <?php + /* Loop through and list the comments. Tell wp_list_comments() + * to use twentyeleven_comment() to format the comments. + * If you want to overload this in a child theme then you can + * define twentyeleven_comment() and that will be used instead. + * See twentyeleven_comment() in twentyeleven/functions.php for more. + */ + wp_list_comments( array( 'callback' => 'twentyeleven_comment' ) ); + ?> + </ol> + + <?php if ( get_comment_pages_count() > 1 && get_option( 'page_comments' ) ) : // are there comments to navigate through ?> + <nav id="comment-nav-below"> + <h1 class="assistive-text"><?php _e( 'Comment navigation', 'twentyeleven' ); ?></h1> + <div class="nav-previous"><?php previous_comments_link( __( '← Older Comments', 'twentyeleven' ) ); ?></div> + <div class="nav-next"><?php next_comments_link( __( 'Newer Comments →', 'twentyeleven' ) ); ?></div> + </nav> + <?php endif; // check for comment navigation ?> + + <?php + /* If there are no comments and comments are closed, let's leave a little note, shall we? + * But we don't want the note on pages or post types that do not support comments. + */ + elseif ( ! comments_open() && ! is_page() && post_type_supports( get_post_type(), 'comments' ) ) : + ?> + <p class="nocomments"><?php _e( 'Comments are closed.', 'twentyeleven' ); ?></p> + <?php endif; ?> + + <?php comment_form(); ?> + +</div><!-- #comments --> diff --git a/wp-content/themes/twentyeleven/content-aside.php b/wp-content/themes/twentyeleven/content-aside.php new file mode 100644 index 000000000..a70638ab7 --- /dev/null +++ b/wp-content/themes/twentyeleven/content-aside.php @@ -0,0 +1,46 @@ +<?php +/** + * The template for displaying posts in the Aside Post Format on index and archive pages + * + * Learn more: http://codex.wordpress.org/Post_Formats + * + * @package WordPress + * @subpackage Twenty_Eleven + * @since Twenty Eleven 1.0 + */ +?> + + <article id="post-<?php the_ID(); ?>" <?php post_class(); ?>> + <header class="entry-header"> + <hgroup> + <h2 class="entry-title"><a href="<?php the_permalink(); ?>" title="<?php printf( esc_attr__( 'Permalink to %s', 'twentyeleven' ), the_title_attribute( 'echo=0' ) ); ?>" rel="bookmark"><?php the_title(); ?></a></h2> + <h3 class="entry-format"><?php _e( 'Aside', 'twentyeleven' ); ?></h3> + </hgroup> + + <?php if ( comments_open() && ! post_password_required() ) : ?> + <div class="comments-link"> + <?php comments_popup_link( '<span class="leave-reply">' . __( 'Reply', 'twentyeleven' ) . '</span>', _x( '1', 'comments number', 'twentyeleven' ), _x( '%', 'comments number', 'twentyeleven' ) ); ?> + </div> + <?php endif; ?> + </header><!-- .entry-header --> + + <?php if ( is_search() ) : // Only display Excerpts for Search ?> + <div class="entry-summary"> + <?php the_excerpt(); ?> + </div><!-- .entry-summary --> + <?php else : ?> + <div class="entry-content"> + <?php the_content( __( 'Continue reading <span class="meta-nav">→</span>', 'twentyeleven' ) ); ?> + <?php wp_link_pages( array( 'before' => '<div class="page-link"><span>' . __( 'Pages:', 'twentyeleven' ) . '</span>', 'after' => '</div>' ) ); ?> + </div><!-- .entry-content --> + <?php endif; ?> + + <footer class="entry-meta"> + <?php twentyeleven_posted_on(); ?> + <?php if ( comments_open() ) : ?> + <span class="sep"> | </span> + <span class="comments-link"><?php comments_popup_link( '<span class="leave-reply">' . __( 'Leave a reply', 'twentyeleven' ) . '</span>', __( '<b>1</b> Reply', 'twentyeleven' ), __( '<b>%</b> Replies', 'twentyeleven' ) ); ?></span> + <?php endif; ?> + <?php edit_post_link( __( 'Edit', 'twentyeleven' ), '<span class="edit-link">', '</span>' ); ?> + </footer><!-- #entry-meta --> + </article><!-- #post-<?php the_ID(); ?> --> diff --git a/wp-content/themes/twentyeleven/content-featured.php b/wp-content/themes/twentyeleven/content-featured.php new file mode 100644 index 000000000..ce9264109 --- /dev/null +++ b/wp-content/themes/twentyeleven/content-featured.php @@ -0,0 +1,47 @@ +<?php +/** + * The template for displaying content featured in the showcase.php page template + * + * @package WordPress + * @subpackage Twenty_Eleven + * @since Twenty Eleven 1.0 + */ + +global $feature_class; +?> +<article id="post-<?php the_ID(); ?>" <?php post_class( $feature_class ); ?>> + <header class="entry-header"> + <h2 class="entry-title"><a href="<?php the_permalink(); ?>" title="<?php printf( esc_attr__( 'Permalink to %s', 'twentyeleven' ), the_title_attribute( 'echo=0' ) ); ?>" rel="bookmark"><?php the_title(); ?></a></h2> + + <div class="entry-meta"> + <?php twentyeleven_posted_on(); ?> + </div><!-- .entry-meta --> + </header><!-- .entry-header --> + + <div class="entry-summary"> + <?php the_excerpt(); ?> + <?php wp_link_pages( array( 'before' => '<div class="page-link"><span>' . __( 'Pages:', 'twentyeleven' ) . '</span>', 'after' => '</div>' ) ); ?> + </div><!-- .entry-content --> + + <footer class="entry-meta"> + <?php + /* translators: used between list items, there is a space after the comma */ + $tag_list = get_the_tag_list( '', __( ', ', 'twentyeleven' ) ); + if ( '' != $tag_list ) { + $utility_text = __( 'This entry was posted in %1$s and tagged %2$s. Bookmark the <a href="%3$s" title="Permalink to %4$s" rel="bookmark">permalink</a>.', 'twentyeleven' ); + } else { + $utility_text = __( 'This entry was posted in %1$s. Bookmark the <a href="%3$s" title="Permalink to %4$s" rel="bookmark">permalink</a>.', 'twentyeleven' ); + } + printf( + $utility_text, + /* translators: used between list items, there is a space after the comma */ + get_the_category_list( __( ', ', 'twentyeleven' ) ), + $tag_list, + esc_url( get_permalink() ), + the_title_attribute( 'echo=0' ) + ); + ?> + + <?php edit_post_link( __( 'Edit', 'twentyeleven' ), '<span class="edit-link">', '</span>' ); ?> + </footer><!-- .entry-meta --> +</article><!-- #post-<?php the_ID(); ?> --> diff --git a/wp-content/themes/twentyeleven/content-gallery.php b/wp-content/themes/twentyeleven/content-gallery.php new file mode 100644 index 000000000..302a51e11 --- /dev/null +++ b/wp-content/themes/twentyeleven/content-gallery.php @@ -0,0 +1,92 @@ +<?php +/** + * The template for displaying posts in the Gallery Post Format on index and archive pages + * + * Learn more: http://codex.wordpress.org/Post_Formats + * + * @package WordPress + * @subpackage Twenty_Eleven + * @since Twenty Eleven 1.0 + */ +?> + +<article id="post-<?php the_ID(); ?>" <?php post_class(); ?>> + <header class="entry-header"> + <hgroup> + <h2 class="entry-title"><a href="<?php the_permalink(); ?>" title="<?php printf( esc_attr__( 'Permalink to %s', 'twentyeleven' ), the_title_attribute( 'echo=0' ) ); ?>" rel="bookmark"><?php the_title(); ?></a></h2> + <h3 class="entry-format"><?php _e( 'Gallery', 'twentyeleven' ); ?></h3> + </hgroup> + + <div class="entry-meta"> + <?php twentyeleven_posted_on(); ?> + </div><!-- .entry-meta --> + </header><!-- .entry-header --> + + <?php if ( is_search() ) : // Only display Excerpts for search pages ?> + <div class="entry-summary"> + <?php the_excerpt(); ?> + </div><!-- .entry-summary --> + <?php else : ?> + <div class="entry-content"> + <?php if ( post_password_required() ) : ?> + <?php the_content( __( 'Continue reading <span class="meta-nav">→</span>', 'twentyeleven' ) ); ?> + + <?php else : ?> + <?php + $images = get_children( array( 'post_parent' => $post->ID, 'post_type' => 'attachment', 'post_mime_type' => 'image', 'orderby' => 'menu_order', 'order' => 'ASC', 'numberposts' => 999 ) ); + if ( $images ) : + $total_images = count( $images ); + $image = array_shift( $images ); + $image_img_tag = wp_get_attachment_image( $image->ID, 'thumbnail' ); + ?> + + <figure class="gallery-thumb"> + <a href="<?php the_permalink(); ?>"><?php echo $image_img_tag; ?></a> + </figure><!-- .gallery-thumb --> + + <p><em><?php printf( _n( 'This gallery contains <a %1$s>%2$s photo</a>.', 'This gallery contains <a %1$s>%2$s photos</a>.', $total_images, 'twentyeleven' ), + 'href="' . esc_url( get_permalink() ) . '" title="' . sprintf( esc_attr__( 'Permalink to %s', 'twentyeleven' ), the_title_attribute( 'echo=0' ) ) . '" rel="bookmark"', + number_format_i18n( $total_images ) + ); ?></em></p> + <?php endif; ?> + <?php the_excerpt(); ?> + <?php endif; ?> + <?php wp_link_pages( array( 'before' => '<div class="page-link"><span>' . __( 'Pages:', 'twentyeleven' ) . '</span>', 'after' => '</div>' ) ); ?> + </div><!-- .entry-content --> + <?php endif; ?> + + <footer class="entry-meta"> + <?php $show_sep = false; ?> + <?php + /* translators: used between list items, there is a space after the comma */ + $categories_list = get_the_category_list( __( ', ', 'twentyeleven' ) ); + if ( $categories_list ): + ?> + <span class="cat-links"> + <?php printf( __( '<span class="%1$s">Posted in</span> %2$s', 'twentyeleven' ), 'entry-utility-prep entry-utility-prep-cat-links', $categories_list ); + $show_sep = true; ?> + </span> + <?php endif; // End if categories ?> + <?php + /* translators: used between list items, there is a space after the comma */ + $tags_list = get_the_tag_list( '', __( ', ', 'twentyeleven' ) ); + if ( $tags_list ): + if ( $show_sep ) : ?> + <span class="sep"> | </span> + <?php endif; // End if $show_sep ?> + <span class="tag-links"> + <?php printf( __( '<span class="%1$s">Tagged</span> %2$s', 'twentyeleven' ), 'entry-utility-prep entry-utility-prep-tag-links', $tags_list ); + $show_sep = true; ?> + </span> + <?php endif; // End if $tags_list ?> + + <?php if ( comments_open() ) : ?> + <?php if ( $show_sep ) : ?> + <span class="sep"> | </span> + <?php endif; // End if $show_sep ?> + <span class="comments-link"><?php comments_popup_link( '<span class="leave-reply">' . __( 'Leave a Reply', 'twentyeleven' ) . '</span>', __( '<b>1</b> Reply', 'twentyeleven' ), __( '<b>%</b> Replies', 'twentyeleven' ) ); ?></span> + <?php endif; // End if comments_open() ?> + + <?php edit_post_link( __( 'Edit', 'twentyeleven' ), '<span class="edit-link">', '</span>' ); ?> + </footer><!-- #entry-meta --> +</article><!-- #post-<?php the_ID(); ?> --> diff --git a/wp-content/themes/twentyeleven/content-image.php b/wp-content/themes/twentyeleven/content-image.php new file mode 100644 index 000000000..58aaf129d --- /dev/null +++ b/wp-content/themes/twentyeleven/content-image.php @@ -0,0 +1,70 @@ +<?php +/** + * The template for displaying posts in the Image Post Format on index and archive pages + * + * Learn more: http://codex.wordpress.org/Post_Formats + * + * @package WordPress + * @subpackage Twenty_Eleven + * @since Twenty Eleven 1.0 + */ +?> + <article id="post-<?php the_ID(); ?>" <?php post_class( 'indexed' ); ?>> + <header class="entry-header"> + <hgroup> + <h2 class="entry-title"><a href="<?php the_permalink(); ?>" title="<?php printf( esc_attr__( 'Permalink to %s', 'twentyeleven' ), the_title_attribute( 'echo=0' ) ); ?>" rel="bookmark"><?php the_title(); ?></a></h2> + <h3 class="entry-format"><?php _e( 'Image', 'twentyeleven' ); ?></h3> + </hgroup> + + <?php if ( comments_open() && ! post_password_required() ) : ?> + <div class="comments-link"> + <?php comments_popup_link( '<span class="leave-reply">' . __( "Reply", 'twentyeleven' ) . '</span>', _x( '1', 'comments number', 'twentyeleven' ), _x( '%', 'comments number', 'twentyeleven' ) ); ?> + </div> + <?php endif; ?> + </header><!-- .entry-header --> + + <div class="entry-content"> + <?php the_content( __( 'Continue reading <span class="meta-nav">→</span>', 'twentyeleven' ) ); ?> + <?php wp_link_pages( array( 'before' => '<div class="page-link"><span>' . __( 'Pages:', 'twentyeleven' ) . '</span>', 'after' => '</div>' ) ); ?> + </div><!-- .entry-content --> + + <footer class="entry-meta"> + <div class="entry-meta"> + <?php + printf( __( '<a href="%1$s" rel="bookmark"><time class="entry-date" datetime="%2$s" pubdate>%3$s</time></a><span class="by-author"> <span class="sep"> by </span> <span class="author vcard"><a class="url fn n" href="%4$s" title="%5$s" rel="author">%6$s</a></span></span>', 'twentyeleven' ), + esc_url( get_permalink() ), + get_the_date( 'c' ), + get_the_date(), + esc_url( get_author_posts_url( get_the_author_meta( 'ID' ) ) ), + sprintf( esc_attr__( 'View all posts by %s', 'twentyeleven' ), get_the_author() ), + get_the_author() + ); + ?> + </div><!-- .entry-meta --> + <div class="entry-meta"> + <?php + /* translators: used between list items, there is a space after the comma */ + $categories_list = get_the_category_list( __( ', ', 'twentyeleven' ) ); + if ( $categories_list ): + ?> + <span class="cat-links"> + <?php printf( __( '<span class="%1$s">Posted in</span> %2$s', 'twentyeleven' ), 'entry-utility-prep entry-utility-prep-cat-links', $categories_list ); ?> + </span> + <?php endif; // End if categories ?> + <?php + /* translators: used between list items, there is a space after the comma */ + $tags_list = get_the_tag_list( '', __( ', ', 'twentyeleven' ) ); + if ( $tags_list ): ?> + <span class="tag-links"> + <?php printf( __( '<span class="%1$s">Tagged</span> %2$s', 'twentyeleven' ), 'entry-utility-prep entry-utility-prep-tag-links', $tags_list ); ?> + </span> + <?php endif; // End if $tags_list ?> + + <?php if ( comments_open() ) : ?> + <span class="comments-link"><?php comments_popup_link( '<span class="leave-reply">' . __( 'Reply', 'twentyeleven' ) . '</span>', __( '<strong>1</strong> Reply', 'twentyeleven' ), __( '<strong>%</strong> Replies', 'twentyeleven' ) ); ?></span> + <?php endif; // End if comments_open() ?> + </div><!-- .entry-meta --> + + <?php edit_post_link( __( 'Edit', 'twentyeleven' ), '<span class="edit-link">', '</span>' ); ?> + </footer><!-- #entry-meta --> + </article><!-- #post-<?php the_ID(); ?> --> diff --git a/wp-content/themes/twentyeleven/content-intro.php b/wp-content/themes/twentyeleven/content-intro.php new file mode 100644 index 000000000..573112d55 --- /dev/null +++ b/wp-content/themes/twentyeleven/content-intro.php @@ -0,0 +1,21 @@ +<?php +/** + * The template for displaying page content in the showcase.php page template + * + * @package WordPress + * @subpackage Twenty_Eleven + * @since Twenty Eleven 1.0 + */ +?> + +<article id="post-<?php the_ID(); ?>" <?php post_class( 'intro' ); ?>> + <header class="entry-header"> + <h2 class="entry-title"><?php the_title(); ?></h2> + </header><!-- .entry-header --> + + <div class="entry-content"> + <?php the_content(); ?> + <?php wp_link_pages( array( 'before' => '<div class="page-link"><span>' . __( 'Pages:', 'twentyeleven' ) . '</span>', 'after' => '</div>' ) ); ?> + <?php edit_post_link( __( 'Edit', 'twentyeleven' ), '<span class="edit-link">', '</span>' ); ?> + </div><!-- .entry-content --> +</article><!-- #post-<?php the_ID(); ?> --> diff --git a/wp-content/themes/twentyeleven/content-link.php b/wp-content/themes/twentyeleven/content-link.php new file mode 100644 index 000000000..4981ec60d --- /dev/null +++ b/wp-content/themes/twentyeleven/content-link.php @@ -0,0 +1,46 @@ +<?php +/** + * The template for displaying posts in the Link Post Format on index and archive pages + * + * Learn more: http://codex.wordpress.org/Post_Formats + * + * @package WordPress + * @subpackage Twenty_Eleven + * @since Twenty Eleven 1.0 + */ +?> + + <article id="post-<?php the_ID(); ?>" <?php post_class(); ?>> + <header class="entry-header"> + <hgroup> + <h2 class="entry-title"><a href="<?php the_permalink(); ?>" title="<?php printf( esc_attr__( 'Permalink to %s', 'twentyeleven' ), the_title_attribute( 'echo=0' ) ); ?>" rel="bookmark"><?php the_title(); ?></a></h2> + <h3 class="entry-format"><?php _e( 'Link', 'twentyeleven' ); ?></h3> + </hgroup> + + <?php if ( comments_open() && ! post_password_required() ) : ?> + <div class="comments-link"> + <?php comments_popup_link( '<span class="leave-reply">' . __( 'Reply', 'twentyeleven' ) . '</span>', _x( '1', 'comments number', 'twentyeleven' ), _x( '%', 'comments number', 'twentyeleven' ) ); ?> + </div> + <?php endif; ?> + </header><!-- .entry-header --> + + <?php if ( is_search() ) : // Only display Excerpts for Search ?> + <div class="entry-summary"> + <?php the_excerpt(); ?> + </div><!-- .entry-summary --> + <?php else : ?> + <div class="entry-content"> + <?php the_content( __( 'Continue reading <span class="meta-nav">→</span>', 'twentyeleven' ) ); ?> + <?php wp_link_pages( array( 'before' => '<div class="page-link"><span>' . __( 'Pages:', 'twentyeleven' ) . '</span>', 'after' => '</div>' ) ); ?> + </div><!-- .entry-content --> + <?php endif; ?> + + <footer class="entry-meta"> + <?php twentyeleven_posted_on(); ?> + <?php if ( comments_open() ) : ?> + <span class="sep"> | </span> + <span class="comments-link"><?php comments_popup_link( '<span class="leave-reply">' . __( 'Leave a reply', 'twentyeleven' ) . '</span>', __( '<b>1</b> Reply', 'twentyeleven' ), __( '<b>%</b> Replies', 'twentyeleven' ) ); ?></span> + <?php endif; ?> + <?php edit_post_link( __( 'Edit', 'twentyeleven' ), '<span class="edit-link">', '</span>' ); ?> + </footer><!-- #entry-meta --> + </article><!-- #post-<?php the_ID(); ?> --> diff --git a/wp-content/themes/twentyeleven/content-page.php b/wp-content/themes/twentyeleven/content-page.php new file mode 100644 index 000000000..c4998429d --- /dev/null +++ b/wp-content/themes/twentyeleven/content-page.php @@ -0,0 +1,23 @@ +<?php +/** + * The template used for displaying page content in page.php + * + * @package WordPress + * @subpackage Twenty_Eleven + * @since Twenty Eleven 1.0 + */ +?> + +<article id="post-<?php the_ID(); ?>" <?php post_class(); ?>> + <header class="entry-header"> + <h1 class="entry-title"><?php the_title(); ?></h1> + </header><!-- .entry-header --> + + <div class="entry-content"> + <?php the_content(); ?> + <?php wp_link_pages( array( 'before' => '<div class="page-link"><span>' . __( 'Pages:', 'twentyeleven' ) . '</span>', 'after' => '</div>' ) ); ?> + </div><!-- .entry-content --> + <footer class="entry-meta"> + <?php edit_post_link( __( 'Edit', 'twentyeleven' ), '<span class="edit-link">', '</span>' ); ?> + </footer><!-- .entry-meta --> +</article><!-- #post-<?php the_ID(); ?> --> diff --git a/wp-content/themes/twentyeleven/content-quote.php b/wp-content/themes/twentyeleven/content-quote.php new file mode 100644 index 000000000..a4d600aa6 --- /dev/null +++ b/wp-content/themes/twentyeleven/content-quote.php @@ -0,0 +1,74 @@ +<?php +/** + * The default template for displaying content + * + * @package WordPress + * @subpackage Twenty_Eleven + * @since Twenty Eleven 1.0 + */ +?> + + <article id="post-<?php the_ID(); ?>" <?php post_class(); ?>> + <header class="entry-header"> + <hgroup> + <h2 class="entry-title"><a href="<?php the_permalink(); ?>" title="<?php printf( esc_attr__( 'Permalink to %s', 'twentyeleven' ), the_title_attribute( 'echo=0' ) ); ?>" rel="bookmark"><?php the_title(); ?></a></h2> + <h3 class="entry-format"><?php _e( 'Quote', 'twentyeleven' ); ?></h3> + </hgroup> + + <div class="entry-meta"> + <?php twentyeleven_posted_on(); ?> + </div><!-- .entry-meta --> + + <?php if ( comments_open() && ! post_password_required() ) : ?> + <div class="comments-link"> + <?php comments_popup_link( '<span class="leave-reply">' . __( 'Reply', 'twentyeleven' ) . '</span>', _x( '1', 'comments number', 'twentyeleven' ), _x( '%', 'comments number', 'twentyeleven' ) ); ?> + </div> + <?php endif; ?> + </header><!-- .entry-header --> + + <?php if ( is_search() ) : // Only display Excerpts for Search ?> + <div class="entry-summary"> + <?php the_excerpt(); ?> + </div><!-- .entry-summary --> + <?php else : ?> + <div class="entry-content"> + <?php the_content( __( 'Continue reading <span class="meta-nav">→</span>', 'twentyeleven' ) ); ?> + <?php wp_link_pages( array( 'before' => '<div class="page-link"><span>' . __( 'Pages:', 'twentyeleven' ) . '</span>', 'after' => '</div>' ) ); ?> + </div><!-- .entry-content --> + <?php endif; ?> + + <footer class="entry-meta"> + <?php $show_sep = false; ?> + <?php + /* translators: used between list items, there is a space after the comma */ + $categories_list = get_the_category_list( __( ', ', 'twentyeleven' ) ); + if ( $categories_list ): + ?> + <span class="cat-links"> + <?php printf( __( '<span class="%1$s">Posted in</span> %2$s', 'twentyeleven' ), 'entry-utility-prep entry-utility-prep-cat-links', $categories_list ); + $show_sep = true; ?> + </span> + <?php endif; // End if categories ?> + <?php + /* translators: used between list items, there is a space after the comma */ + $tags_list = get_the_tag_list( '', __( ', ', 'twentyeleven' ) ); + if ( $tags_list ): + if ( $show_sep ) : ?> + <span class="sep"> | </span> + <?php endif; // End if $show_sep ?> + <span class="tag-links"> + <?php printf( __( '<span class="%1$s">Tagged</span> %2$s', 'twentyeleven' ), 'entry-utility-prep entry-utility-prep-tag-links', $tags_list ); + $show_sep = true; ?> + </span> + <?php endif; // End if $tags_list ?> + + <?php if ( comments_open() ) : ?> + <?php if ( $show_sep ) : ?> + <span class="sep"> | </span> + <?php endif; // End if $show_sep ?> + <span class="comments-link"><?php comments_popup_link( '<span class="leave-reply">' . __( 'Leave a reply', 'twentyeleven' ) . '</span>', __( '<b>1</b> Reply', 'twentyeleven' ), __( '<b>%</b> Replies', 'twentyeleven' ) ); ?></span> + <?php endif; // End if comments_open() ?> + + <?php edit_post_link( __( 'Edit', 'twentyeleven' ), '<span class="edit-link">', '</span>' ); ?> + </footer><!-- #entry-meta --> + </article><!-- #post-<?php the_ID(); ?> --> diff --git a/wp-content/themes/twentyeleven/content-single.php b/wp-content/themes/twentyeleven/content-single.php new file mode 100644 index 000000000..c246b74a1 --- /dev/null +++ b/wp-content/themes/twentyeleven/content-single.php @@ -0,0 +1,71 @@ +<?php +/** + * The template for displaying content in the single.php template + * + * @package WordPress + * @subpackage Twenty_Eleven + * @since Twenty Eleven 1.0 + */ +?> + +<article id="post-<?php the_ID(); ?>" <?php post_class(); ?>> + <header class="entry-header"> + <h1 class="entry-title"><?php the_title(); ?></h1> + + <?php if ( 'post' == get_post_type() ) : ?> + <div class="entry-meta"> + <?php twentyeleven_posted_on(); ?> + </div><!-- .entry-meta --> + <?php endif; ?> + </header><!-- .entry-header --> + + <div class="entry-content"> + <?php the_content(); ?> + <?php wp_link_pages( array( 'before' => '<div class="page-link"><span>' . __( 'Pages:', 'twentyeleven' ) . '</span>', 'after' => '</div>' ) ); ?> + </div><!-- .entry-content --> + + <footer class="entry-meta"> + <?php + /* translators: used between list items, there is a space after the comma */ + $categories_list = get_the_category_list( __( ', ', 'twentyeleven' ) ); + + /* translators: used between list items, there is a space after the comma */ + $tag_list = get_the_tag_list( '', __( ', ', 'twentyeleven' ) ); + if ( '' != $tag_list ) { + $utility_text = __( 'This entry was posted in %1$s and tagged %2$s by <a href="%6$s">%5$s</a>. Bookmark the <a href="%3$s" title="Permalink to %4$s" rel="bookmark">permalink</a>.', 'twentyeleven' ); + } elseif ( '' != $categories_list ) { + $utility_text = __( 'This entry was posted in %1$s by <a href="%6$s">%5$s</a>. Bookmark the <a href="%3$s" title="Permalink to %4$s" rel="bookmark">permalink</a>.', 'twentyeleven' ); + } else { + $utility_text = __( 'This entry was posted by <a href="%6$s">%5$s</a>. Bookmark the <a href="%3$s" title="Permalink to %4$s" rel="bookmark">permalink</a>.', 'twentyeleven' ); + } + + printf( + $utility_text, + $categories_list, + $tag_list, + esc_url( get_permalink() ), + the_title_attribute( 'echo=0' ), + get_the_author(), + esc_url( get_author_posts_url( get_the_author_meta( 'ID' ) ) ) + ); + ?> + <?php edit_post_link( __( 'Edit', 'twentyeleven' ), '<span class="edit-link">', '</span>' ); ?> + + <?php if ( get_the_author_meta( 'description' ) && is_multi_author() ) : // If a user has filled out their description and this is a multi-author blog, show a bio on their entries ?> + <div id="author-info"> + <div id="author-avatar"> + <?php echo get_avatar( get_the_author_meta( 'user_email' ), apply_filters( 'twentyeleven_author_bio_avatar_size', 68 ) ); ?> + </div><!-- #author-avatar --> + <div id="author-description"> + <h2><?php printf( esc_attr__( 'About %s', 'twentyeleven' ), get_the_author() ); ?></h2> + <?php the_author_meta( 'description' ); ?> + <div id="author-link"> + <a href="<?php echo esc_url( get_author_posts_url( get_the_author_meta( 'ID' ) ) ); ?>" rel="author"> + <?php printf( __( 'View all posts by %s <span class="meta-nav">→</span>', 'twentyeleven' ), get_the_author() ); ?> + </a> + </div><!-- #author-link --> + </div><!-- #author-description --> + </div><!-- #entry-author-info --> + <?php endif; ?> + </footer><!-- .entry-meta --> +</article><!-- #post-<?php the_ID(); ?> --> diff --git a/wp-content/themes/twentyeleven/content-status.php b/wp-content/themes/twentyeleven/content-status.php new file mode 100644 index 000000000..c6b2e808f --- /dev/null +++ b/wp-content/themes/twentyeleven/content-status.php @@ -0,0 +1,47 @@ +<?php +/** + * The template for displaying posts in the Status Post Format on index and archive pages + * + * Learn more: http://codex.wordpress.org/Post_Formats + * + * @package WordPress + * @subpackage Twenty_Eleven + */ +?> + + <article id="post-<?php the_ID(); ?>" <?php post_class(); ?>> + <header class="entry-header"> + <hgroup> + <h2 class="entry-title"><a href="<?php the_permalink(); ?>" title="<?php printf( esc_attr__( 'Permalink to %s', 'twentyeleven' ), the_title_attribute( 'echo=0' ) ); ?>" rel="bookmark"><?php the_title(); ?></a></h2> + <h3 class="entry-format"><?php _e( 'Status', 'twentyeleven' ); ?></h3> + </hgroup> + + <?php if ( comments_open() && ! post_password_required() ) : ?> + <div class="comments-link"> + <?php comments_popup_link( '<span class="leave-reply">' . __( 'Reply', 'twentyeleven' ) . '</span>', _x( '1', 'comments number', 'twentyeleven' ), _x( '%', 'comments number', 'twentyeleven' ) ); ?> + </div> + <?php endif; ?> + </header><!-- .entry-header --> + + <?php if ( is_search() ) : // Only display Excerpts for Search ?> + <div class="entry-summary"> + <?php the_excerpt(); ?> + </div><!-- .entry-summary --> + <?php else : ?> + <div class="entry-content"> + <div class="avatar"><?php echo get_avatar( get_the_author_meta( 'ID' ), apply_filters( 'twentyeleven_status_avatar', '65' ) ); ?></div> + + <?php the_content( __( 'Continue reading <span class="meta-nav">→</span>', 'twentyeleven' ) ); ?> + <?php wp_link_pages( array( 'before' => '<div class="page-link"><span>' . __( 'Pages:', 'twentyeleven' ) . '</span>', 'after' => '</div>' ) ); ?> + </div><!-- .entry-content --> + <?php endif; ?> + + <footer class="entry-meta"> + <?php twentyeleven_posted_on(); ?> + <?php if ( comments_open() ) : ?> + <span class="sep"> | </span> + <span class="comments-link"><?php comments_popup_link( '<span class="leave-reply">' . __( 'Leave a reply', 'twentyeleven' ) . '</span>', __( '<b>1</b> Reply', 'twentyeleven' ), __( '<b>%</b> Replies', 'twentyeleven' ) ); ?></span> + <?php endif; ?> + <?php edit_post_link( __( 'Edit', 'twentyeleven' ), '<span class="edit-link">', '</span>' ); ?> + </footer><!-- #entry-meta --> + </article><!-- #post-<?php the_ID(); ?> --> diff --git a/wp-content/themes/twentyeleven/content.php b/wp-content/themes/twentyeleven/content.php new file mode 100644 index 000000000..3631e786f --- /dev/null +++ b/wp-content/themes/twentyeleven/content.php @@ -0,0 +1,82 @@ +<?php +/** + * The default template for displaying content + * + * @package WordPress + * @subpackage Twenty_Eleven + * @since Twenty Eleven 1.0 + */ +?> + + <article id="post-<?php the_ID(); ?>" <?php post_class(); ?>> + <header class="entry-header"> + <?php if ( is_sticky() ) : ?> + <hgroup> + <h2 class="entry-title"><a href="<?php the_permalink(); ?>" title="<?php printf( esc_attr__( 'Permalink to %s', 'twentyeleven' ), the_title_attribute( 'echo=0' ) ); ?>" rel="bookmark"><?php the_title(); ?></a></h2> + <h3 class="entry-format"><?php _e( 'Featured', 'twentyeleven' ); ?></h3> + </hgroup> + <?php else : ?> + <h1 class="entry-title"><a href="<?php the_permalink(); ?>" title="<?php printf( esc_attr__( 'Permalink to %s', 'twentyeleven' ), the_title_attribute( 'echo=0' ) ); ?>" rel="bookmark"><?php the_title(); ?></a></h1> + <?php endif; ?> + + <?php if ( 'post' == get_post_type() ) : ?> + <div class="entry-meta"> + <?php twentyeleven_posted_on(); ?> + </div><!-- .entry-meta --> + <?php endif; ?> + + <?php if ( comments_open() && ! post_password_required() ) : ?> + <div class="comments-link"> + <?php comments_popup_link( '<span class="leave-reply">' . __( 'Reply', 'twentyeleven' ) . '</span>', _x( '1', 'comments number', 'twentyeleven' ), _x( '%', 'comments number', 'twentyeleven' ) ); ?> + </div> + <?php endif; ?> + </header><!-- .entry-header --> + + <?php if ( is_search() ) : // Only display Excerpts for Search ?> + <div class="entry-summary"> + <?php the_excerpt(); ?> + </div><!-- .entry-summary --> + <?php else : ?> + <div class="entry-content"> + <?php the_content( __( 'Continue reading <span class="meta-nav">→</span>', 'twentyeleven' ) ); ?> + <?php wp_link_pages( array( 'before' => '<div class="page-link"><span>' . __( 'Pages:', 'twentyeleven' ) . '</span>', 'after' => '</div>' ) ); ?> + </div><!-- .entry-content --> + <?php endif; ?> + + <footer class="entry-meta"> + <?php $show_sep = false; ?> + <?php if ( 'post' == get_post_type() ) : // Hide category and tag text for pages on Search ?> + <?php + /* translators: used between list items, there is a space after the comma */ + $categories_list = get_the_category_list( __( ', ', 'twentyeleven' ) ); + if ( $categories_list ): + ?> + <span class="cat-links"> + <?php printf( __( '<span class="%1$s">Posted in</span> %2$s', 'twentyeleven' ), 'entry-utility-prep entry-utility-prep-cat-links', $categories_list ); + $show_sep = true; ?> + </span> + <?php endif; // End if categories ?> + <?php + /* translators: used between list items, there is a space after the comma */ + $tags_list = get_the_tag_list( '', __( ', ', 'twentyeleven' ) ); + if ( $tags_list ): + if ( $show_sep ) : ?> + <span class="sep"> | </span> + <?php endif; // End if $show_sep ?> + <span class="tag-links"> + <?php printf( __( '<span class="%1$s">Tagged</span> %2$s', 'twentyeleven' ), 'entry-utility-prep entry-utility-prep-tag-links', $tags_list ); + $show_sep = true; ?> + </span> + <?php endif; // End if $tags_list ?> + <?php endif; // End if 'post' == get_post_type() ?> + + <?php if ( comments_open() ) : ?> + <?php if ( $show_sep ) : ?> + <span class="sep"> | </span> + <?php endif; // End if $show_sep ?> + <span class="comments-link"><?php comments_popup_link( '<span class="leave-reply">' . __( 'Leave a reply', 'twentyeleven' ) . '</span>', __( '<b>1</b> Reply', 'twentyeleven' ), __( '<b>%</b> Replies', 'twentyeleven' ) ); ?></span> + <?php endif; // End if comments_open() ?> + + <?php edit_post_link( __( 'Edit', 'twentyeleven' ), '<span class="edit-link">', '</span>' ); ?> + </footer><!-- #entry-meta --> + </article><!-- #post-<?php the_ID(); ?> --> diff --git a/wp-content/themes/twentyeleven/editor-style-rtl.css b/wp-content/themes/twentyeleven/editor-style-rtl.css new file mode 100644 index 000000000..578377693 --- /dev/null +++ b/wp-content/themes/twentyeleven/editor-style-rtl.css @@ -0,0 +1,24 @@ +/* +Theme Name: Twenty Eleven +*/ +/* +Used to style the TinyMCE editor. +*/ +html .mceContentBody { + direction: rtl; + unicode-bidi: embed; + float: right; + max-width: 584px; +} +* { + font-family: Arial, Tahoma, sans-serif; +} +ul, ol { + margin: 0 2.5em 1.625em 0; +} +blockquote { + font-style: normal; +} +table { + text-align: right; +} \ No newline at end of file diff --git a/wp-content/themes/twentyeleven/editor-style.css b/wp-content/themes/twentyeleven/editor-style.css new file mode 100644 index 000000000..2641a077a --- /dev/null +++ b/wp-content/themes/twentyeleven/editor-style.css @@ -0,0 +1,311 @@ +/* +Theme Name: Twenty Eleven +Description: Used to style the TinyMCE editor. +*/ + +html .mceContentBody { + max-width: 584px; +} +* { + color: inherit; + font: 15px "Helvetica Neue", Helvetica, Arial, sans-serif; + font-style: inherit; + font-weight: inherit; + line-height: 1.625; +} +body { + color: #333; + font: 15px "Helvetica Neue", Helvetica, Arial, "Nimbus Sans L", sans-serif; + font-weight: 300; + line-height: 1.625; +} + +/* Headings */ +h1,h2,h3,h4,h5,h6 { + clear: both; +} +h1, +h2 { + color: #000; + font-size: 15px; + font-weight: bold; + margin: 0 0 .8125em; +} +h3 { + font-size: 10px; + letter-spacing: 0.1em; + line-height: 2.6em; + text-transform: uppercase; +} +h4, h5, h6 { + font-size: 14px; + margin: 0; +} +hr { + background-color: #ccc; + border: 0; + height: 1px; + margin-bottom: 1.625em; +} + +/* Text elements */ +p, ul, ol, dl { + font-weight: 300; +} +p { + margin-bottom: 1.625em; +} +ul, ol { + margin: 0 0 1.625em 2.5em; + padding: 0; +} +ul { + list-style: square; +} +ol { + list-style-type: decimal; +} +ol ol { + list-style: upper-alpha; +} +ol ol ol { + list-style: lower-roman; +} +ol ol ol ol { + list-style: lower-alpha; +} +ul ul, ol ol, ul ol, ol ul { + margin-bottom: 0; +} +dl { + margin: 0 1.625em; +} +dt { + font-size: 15px; + font-weight: bold; +} +dd { + margin: 0 0 1.625em; +} +strong { + font-weight: bold; +} +cite, em, i { + font-style: italic; +} +cite { + border: none; +} +big { + font-size: 131.25%; +} +.mceContentBody blockquote, +.mceContentBody blockquote p { + font-family: Georgia, "Bitstream Charter", serif !important; + font-style: italic !important; + font-weight: normal; + margin: 0 3em; +} +.mceContentBody blockquote em, +.mceContentBody blockquote i, +.mceContentBody blockquote cite { + font-style: normal; +} +.mceContentBody blockquote cite { + color: #666; + font: 12px "Helvetica Neue", Helvetica, Arial, sans-serif; + font-weight: 300; + letter-spacing: 0.05em; + text-transform: uppercase; +} +pre { + background: #f4f4f4; + font: 13px "Courier 10 Pitch", Courier, monospace; + line-height: 1.5; + margin-bottom: 1.625em; + padding: 0.75em 1.625em; +} +code, kbd, code var { + font: 13px Monaco, Consolas, "Andale Mono", "DejaVu Sans Mono", monospace; +} +abbr, acronym, dfn { + border-bottom: 1px dotted #666; + cursor: help; +} +address { + display: block; + margin: 0 0 1.625em; +} +del { + color: #333; +} +ins { + background: #fff9c0; + border: none; + color: #333; + text-decoration: none; +} +sup, +sub { + font-size: 10px; + height: 0; + line-height: 1; + position: relative; + vertical-align: baseline; +} +sup { + bottom: 1ex; +} +sub { + top: .5ex; +} +input[type=text], +textarea { + background: #fafafa; + -moz-box-shadow: inset 0 1px 1px rgba(0,0,0,0.1); + -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,0.1); + box-shadow: inset 0 1px 1px rgba(0,0,0,0.1); + border: 1px solid #ddd; + color: #888; +} +input[type=text]:focus, +textarea:focus { + color: #333; +} +textarea { + padding-left: 3px; + width: 98%; +} +input[type=text] { + padding: 3px; +} + +/* Links */ +a, +a em, +a strong { + color: #1b8be0; + text-decoration: none; +} +a:focus, +a:active, +a:hover { + text-decoration: underline; +} + +/* Alignment */ +.alignleft { + display: inline; + float: left; + margin-right: 1.625em; +} +.alignright { + display: inline; + float: right; + margin-left: 1.625em; +} +.aligncenter { + clear: both; + display: block; + margin-left: auto; + margin-right: auto; +} + +/* Tables */ +table { + border: none !important; + border-bottom: 1px solid #ddd !important; + border-collapse: collapse; + border-spacing: 0; + text-align: left; + margin: 0 0 1.625em; + width: 100%; +} +tr th { + border: none !important; + color: #666; + font-size: 10px; + font-weight: 500; + letter-spacing: 0.1em; + line-height: 2.6em; + text-transform: uppercase; +} +td { + border: none !important; + border-top: 1px solid #ddd !important; + padding: 6px 10px 6px 0; +} + +/* Images */ +img[class*="wp-image-"] { + height: auto; + max-width: 97.5%; +} +img.size-full { + width: auto; /* Prevent stretching of full-size images in IE8 */ +} +img.wp-smiley { + border: none; + margin-bottom: 0; + margin-top: 0; + padding: 0; +} +p img, +.wp-caption { + margin-top: 0.4em; +} +img { + border: 1px solid #ddd; + padding: 6px; +} +img.alignleft, +img.alignright, +img.aligncenter { + margin-bottom: 1.625em; +} +.wp-caption { + background: #eee; + border: none; + margin-bottom: 1.625em; + max-width: 96%; + padding: 9px; +} +.wp-caption img { + display: block; + margin: 5px auto 0 !important; + max-width: 98%; + border-color: #eee; +} +.wp-caption .wp-caption-text, +.wp-caption-dd { + color: #666; + font-family: Georgia, serif !important; + font-size: 12px; + margin: 0 0 0.6em 0 !important; + padding: 0 0 5px 40px; + position: relative; + text-align: left; +} +.wp-caption .wp-caption-text:before { + color: #666; + content: '\2014'; + font-size: 14px; + font-style: normal; + font-weight: bold; + margin-right: 5px; + position: absolute; + left: 10px; + top: 7px; +} +a:focus img[class*="wp-image-"], +a:hover img[class*="wp-image-"], +a:active img[class*="wp-image-"] { + background: #eee; + border-color: #bbb; +} +.wp-caption a:focus img, +.wp-caption a:active img, +.wp-caption a:hover img { + background: #fff; + border-color: #ddd; +} \ No newline at end of file diff --git a/wp-content/themes/twentyeleven/footer.php b/wp-content/themes/twentyeleven/footer.php new file mode 100644 index 000000000..9fa6225dd --- /dev/null +++ b/wp-content/themes/twentyeleven/footer.php @@ -0,0 +1,34 @@ +<?php +/** + * The template for displaying the footer. + * + * Contains the closing of the id=main div and all content after + * + * @package WordPress + * @subpackage Twenty_Eleven + * @since Twenty Eleven 1.0 + */ +?> + + </div><!-- #main --> + + <footer id="colophon" role="contentinfo"> + + <?php + /* A sidebar in the footer? Yep. You can can customize + * your footer with three columns of widgets. + */ + get_sidebar( 'footer' ); + ?> + + <div id="site-generator"> + <?php do_action( 'twentyeleven_credits' ); ?> + <a href="<?php echo esc_url( __( 'http://wordpress.org/', 'twentyeleven' ) ); ?>" title="<?php esc_attr_e( 'Semantic Personal Publishing Platform', 'twentyeleven' ); ?>" rel="generator"><?php printf( __( 'Proudly powered by %s', 'twentyeleven' ), 'WordPress' ); ?></a> + </div> + </footer><!-- #colophon --> +</div><!-- #page --> + +<?php wp_footer(); ?> + +</body> +</html> \ No newline at end of file diff --git a/wp-content/themes/twentyeleven/functions.php b/wp-content/themes/twentyeleven/functions.php new file mode 100644 index 000000000..1997eb2bd --- /dev/null +++ b/wp-content/themes/twentyeleven/functions.php @@ -0,0 +1,593 @@ +<?php +/** + * Twenty Eleven functions and definitions + * + * Sets up the theme and provides some helper functions. Some helper functions + * are used in the theme as custom template tags. Others are attached to action and + * filter hooks in WordPress to change core functionality. + * + * The first function, twentyeleven_setup(), sets up the theme by registering support + * for various features in WordPress, such as post thumbnails, navigation menus, and the like. + * + * When using a child theme (see http://codex.wordpress.org/Theme_Development and + * http://codex.wordpress.org/Child_Themes), you can override certain functions + * (those wrapped in a function_exists() call) by defining them first in your child theme's + * functions.php file. The child theme's functions.php file is included before the parent + * theme's file, so the child theme functions would be used. + * + * Functions that are not pluggable (not wrapped in function_exists()) are instead attached + * to a filter or action hook. The hook can be removed by using remove_action() or + * remove_filter() and you can attach your own function to the hook. + * + * We can remove the parent theme's hook only after it is attached, which means we need to + * wait until setting up the child theme: + * + * <code> + * add_action( 'after_setup_theme', 'my_child_theme_setup' ); + * function my_child_theme_setup() { + * // We are providing our own filter for excerpt_length (or using the unfiltered value) + * remove_filter( 'excerpt_length', 'twentyeleven_excerpt_length' ); + * ... + * } + * </code> + * + * For more information on hooks, actions, and filters, see http://codex.wordpress.org/Plugin_API. + * + * @package WordPress + * @subpackage Twenty_Eleven + * @since Twenty Eleven 1.0 + */ + +/** + * Set the content width based on the theme's design and stylesheet. + */ +if ( ! isset( $content_width ) ) + $content_width = 584; + +/** + * Tell WordPress to run twentyeleven_setup() when the 'after_setup_theme' hook is run. + */ +add_action( 'after_setup_theme', 'twentyeleven_setup' ); + +if ( ! function_exists( 'twentyeleven_setup' ) ): +/** + * Sets up theme defaults and registers support for various WordPress features. + * + * Note that this function is hooked into the after_setup_theme hook, which runs + * before the init hook. The init hook is too late for some features, such as indicating + * support post thumbnails. + * + * To override twentyeleven_setup() in a child theme, add your own twentyeleven_setup to your child theme's + * functions.php file. + * + * @uses load_theme_textdomain() For translation/localization support. + * @uses add_editor_style() To style the visual editor. + * @uses add_theme_support() To add support for post thumbnails, automatic feed links, and Post Formats. + * @uses register_nav_menus() To add support for navigation menus. + * @uses add_custom_background() To add support for a custom background. + * @uses add_custom_image_header() To add support for a custom header. + * @uses register_default_headers() To register the default custom header images provided with the theme. + * @uses set_post_thumbnail_size() To set a custom post thumbnail size. + * + * @since Twenty Eleven 1.0 + */ +function twentyeleven_setup() { + + /* Make Twenty Eleven available for translation. + * Translations can be added to the /languages/ directory. + * If you're building a theme based on Twenty Eleven, use a find and replace + * to change 'twentyeleven' to the name of your theme in all the template files. + */ + load_theme_textdomain( 'twentyeleven', TEMPLATEPATH . '/languages' ); + + $locale = get_locale(); + $locale_file = TEMPLATEPATH . "/languages/$locale.php"; + if ( is_readable( $locale_file ) ) + require_once( $locale_file ); + + // This theme styles the visual editor with editor-style.css to match the theme style. + add_editor_style(); + + // Load up our theme options page and related code. + require( dirname( __FILE__ ) . '/inc/theme-options.php' ); + + // Grab Twenty Eleven's Ephemera widget. + require( dirname( __FILE__ ) . '/inc/widgets.php' ); + + // Add default posts and comments RSS feed links to <head>. + add_theme_support( 'automatic-feed-links' ); + + // This theme uses wp_nav_menu() in one location. + register_nav_menu( 'primary', __( 'Primary Menu', 'twentyeleven' ) ); + + // Add support for a variety of post formats + add_theme_support( 'post-formats', array( 'aside', 'link', 'gallery', 'status', 'quote', 'image' ) ); + + // Add support for custom backgrounds + add_custom_background(); + + // This theme uses Featured Images (also known as post thumbnails) for per-post/per-page Custom Header images + add_theme_support( 'post-thumbnails' ); + + // The next four constants set how Twenty Eleven supports custom headers. + + // The default header text color + define( 'HEADER_TEXTCOLOR', '000' ); + + // By leaving empty, we allow for random image rotation. + define( 'HEADER_IMAGE', '' ); + + // The height and width of your custom header. + // Add a filter to twentyeleven_header_image_width and twentyeleven_header_image_height to change these values. + define( 'HEADER_IMAGE_WIDTH', apply_filters( 'twentyeleven_header_image_width', 1000 ) ); + define( 'HEADER_IMAGE_HEIGHT', apply_filters( 'twentyeleven_header_image_height', 288 ) ); + + // We'll be using post thumbnails for custom header images on posts and pages. + // We want them to be the size of the header image that we just defined + // Larger images will be auto-cropped to fit, smaller ones will be ignored. See header.php. + set_post_thumbnail_size( HEADER_IMAGE_WIDTH, HEADER_IMAGE_HEIGHT, true ); + + // Add Twenty Eleven's custom image sizes + add_image_size( 'large-feature', HEADER_IMAGE_WIDTH, HEADER_IMAGE_HEIGHT, true ); // Used for large feature (header) images + add_image_size( 'small-feature', 500, 300 ); // Used for featured posts if a large-feature doesn't exist + + // Turn on random header image rotation by default. + add_theme_support( 'custom-header', array( 'random-default' => true ) ); + + // Add a way for the custom header to be styled in the admin panel that controls + // custom headers. See twentyeleven_admin_header_style(), below. + add_custom_image_header( 'twentyeleven_header_style', 'twentyeleven_admin_header_style', 'twentyeleven_admin_header_image' ); + + // ... and thus ends the changeable header business. + + // Default custom headers packaged with the theme. %s is a placeholder for the theme template directory URI. + register_default_headers( array( + 'wheel' => array( + 'url' => '%s/images/headers/wheel.jpg', + 'thumbnail_url' => '%s/images/headers/wheel-thumbnail.jpg', + /* translators: header image description */ + 'description' => __( 'Wheel', 'twentyeleven' ) + ), + 'shore' => array( + 'url' => '%s/images/headers/shore.jpg', + 'thumbnail_url' => '%s/images/headers/shore-thumbnail.jpg', + /* translators: header image description */ + 'description' => __( 'Shore', 'twentyeleven' ) + ), + 'trolley' => array( + 'url' => '%s/images/headers/trolley.jpg', + 'thumbnail_url' => '%s/images/headers/trolley-thumbnail.jpg', + /* translators: header image description */ + 'description' => __( 'Trolley', 'twentyeleven' ) + ), + 'pine-cone' => array( + 'url' => '%s/images/headers/pine-cone.jpg', + 'thumbnail_url' => '%s/images/headers/pine-cone-thumbnail.jpg', + /* translators: header image description */ + 'description' => __( 'Pine Cone', 'twentyeleven' ) + ), + 'chessboard' => array( + 'url' => '%s/images/headers/chessboard.jpg', + 'thumbnail_url' => '%s/images/headers/chessboard-thumbnail.jpg', + /* translators: header image description */ + 'description' => __( 'Chessboard', 'twentyeleven' ) + ), + 'lanterns' => array( + 'url' => '%s/images/headers/lanterns.jpg', + 'thumbnail_url' => '%s/images/headers/lanterns-thumbnail.jpg', + /* translators: header image description */ + 'description' => __( 'Lanterns', 'twentyeleven' ) + ), + 'willow' => array( + 'url' => '%s/images/headers/willow.jpg', + 'thumbnail_url' => '%s/images/headers/willow-thumbnail.jpg', + /* translators: header image description */ + 'description' => __( 'Willow', 'twentyeleven' ) + ), + 'hanoi' => array( + 'url' => '%s/images/headers/hanoi.jpg', + 'thumbnail_url' => '%s/images/headers/hanoi-thumbnail.jpg', + /* translators: header image description */ + 'description' => __( 'Hanoi Plant', 'twentyeleven' ) + ) + ) ); +} +endif; // twentyeleven_setup + +if ( ! function_exists( 'twentyeleven_header_style' ) ) : +/** + * Styles the header image and text displayed on the blog + * + * @since Twenty Eleven 1.0 + */ +function twentyeleven_header_style() { + + // If no custom options for text are set, let's bail + // get_header_textcolor() options: HEADER_TEXTCOLOR is default, hide text (returns 'blank') or any hex value + if ( HEADER_TEXTCOLOR == get_header_textcolor() ) + return; + // If we get this far, we have custom styles. Let's do this. + ?> + <style type="text/css"> + <?php + // Has the text been hidden? + if ( 'blank' == get_header_textcolor() ) : + ?> + #site-title, + #site-description { + position: absolute !important; + clip: rect(1px 1px 1px 1px); /* IE6, IE7 */ + clip: rect(1px, 1px, 1px, 1px); + } + <?php + // If the user has set a custom color for the text use that + else : + ?> + #site-title a, + #site-description { + color: #<?php echo get_header_textcolor(); ?> !important; + } + <?php endif; ?> + </style> + <?php +} +endif; // twentyeleven_header_style + +if ( ! function_exists( 'twentyeleven_admin_header_style' ) ) : +/** + * Styles the header image displayed on the Appearance > Header admin panel. + * + * Referenced via add_custom_image_header() in twentyeleven_setup(). + * + * @since Twenty Eleven 1.0 + */ +function twentyeleven_admin_header_style() { +?> + <style type="text/css"> + .appearance_page_custom-header #headimg { + border: none; + } + #headimg h1, + #desc { + font-family: "Helvetica Neue", Arial, Helvetica, "Nimbus Sans L", sans-serif; + } + #headimg h1 { + margin: 0; + } + #headimg h1 a { + font-size: 32px; + line-height: 36px; + text-decoration: none; + } + #desc { + font-size: 14px; + line-height: 23px; + padding: 0 0 3em; + } + <?php + // If the user has set a custom color for the text use that + if ( get_header_textcolor() != HEADER_TEXTCOLOR ) : + ?> + #site-title a, + #site-description { + color: #<?php echo get_header_textcolor(); ?>; + } + <?php endif; ?> + #headimg img { + max-width: 1000px; + height: auto; + width: 100%; + } + </style> +<?php +} +endif; // twentyeleven_admin_header_style + +if ( ! function_exists( 'twentyeleven_admin_header_image' ) ) : +/** + * Custom header image markup displayed on the Appearance > Header admin panel. + * + * Referenced via add_custom_image_header() in twentyeleven_setup(). + * + * @since Twenty Eleven 1.0 + */ +function twentyeleven_admin_header_image() { ?> + <div id="headimg"> + <?php + if ( 'blank' == get_theme_mod( 'header_textcolor', HEADER_TEXTCOLOR ) || '' == get_theme_mod( 'header_textcolor', HEADER_TEXTCOLOR ) ) + $style = ' style="display:none;"'; + else + $style = ' style="color:#' . get_theme_mod( 'header_textcolor', HEADER_TEXTCOLOR ) . ';"'; + ?> + <h1><a id="name"<?php echo $style; ?> onclick="return false;" href="<?php echo esc_url( home_url( '/' ) ); ?>"><?php bloginfo( 'name' ); ?></a></h1> + <div id="desc"<?php echo $style; ?>><?php bloginfo( 'description' ); ?></div> + <?php $header_image = get_header_image(); + if ( ! empty( $header_image ) ) : ?> + <img src="<?php echo esc_url( $header_image ); ?>" alt="" /> + <?php endif; ?> + </div> +<?php } +endif; // twentyeleven_admin_header_image + +/** + * Sets the post excerpt length to 40 words. + * + * To override this length in a child theme, remove the filter and add your own + * function tied to the excerpt_length filter hook. + */ +function twentyeleven_excerpt_length( $length ) { + return 40; +} +add_filter( 'excerpt_length', 'twentyeleven_excerpt_length' ); + +/** + * Returns a "Continue Reading" link for excerpts + */ +function twentyeleven_continue_reading_link() { + return ' <a href="'. esc_url( get_permalink() ) . '">' . __( 'Continue reading <span class="meta-nav">→</span>', 'twentyeleven' ) . '</a>'; +} + +/** + * Replaces "[...]" (appended to automatically generated excerpts) with an ellipsis and twentyeleven_continue_reading_link(). + * + * To override this in a child theme, remove the filter and add your own + * function tied to the excerpt_more filter hook. + */ +function twentyeleven_auto_excerpt_more( $more ) { + return ' …' . twentyeleven_continue_reading_link(); +} +add_filter( 'excerpt_more', 'twentyeleven_auto_excerpt_more' ); + +/** + * Adds a pretty "Continue Reading" link to custom post excerpts. + * + * To override this link in a child theme, remove the filter and add your own + * function tied to the get_the_excerpt filter hook. + */ +function twentyeleven_custom_excerpt_more( $output ) { + if ( has_excerpt() && ! is_attachment() ) { + $output .= twentyeleven_continue_reading_link(); + } + return $output; +} +add_filter( 'get_the_excerpt', 'twentyeleven_custom_excerpt_more' ); + +/** + * Get our wp_nav_menu() fallback, wp_page_menu(), to show a home link. + */ +function twentyeleven_page_menu_args( $args ) { + $args['show_home'] = true; + return $args; +} +add_filter( 'wp_page_menu_args', 'twentyeleven_page_menu_args' ); + +/** + * Register our sidebars and widgetized areas. Also register the default Epherma widget. + * + * @since Twenty Eleven 1.0 + */ +function twentyeleven_widgets_init() { + + register_widget( 'Twenty_Eleven_Ephemera_Widget' ); + + register_sidebar( array( + 'name' => __( 'Main Sidebar', 'twentyeleven' ), + 'id' => 'sidebar-1', + 'before_widget' => '<aside id="%1$s" class="widget %2$s">', + 'after_widget' => "</aside>", + 'before_title' => '<h3 class="widget-title">', + 'after_title' => '</h3>', + ) ); + + register_sidebar( array( + 'name' => __( 'Showcase Sidebar', 'twentyeleven' ), + 'id' => 'sidebar-2', + 'description' => __( 'The sidebar for the optional Showcase Template', 'twentyeleven' ), + 'before_widget' => '<aside id="%1$s" class="widget %2$s">', + 'after_widget' => "</aside>", + 'before_title' => '<h3 class="widget-title">', + 'after_title' => '</h3>', + ) ); + + register_sidebar( array( + 'name' => __( 'Footer Area One', 'twentyeleven' ), + 'id' => 'sidebar-3', + 'description' => __( 'An optional widget area for your site footer', 'twentyeleven' ), + 'before_widget' => '<aside id="%1$s" class="widget %2$s">', + 'after_widget' => "</aside>", + 'before_title' => '<h3 class="widget-title">', + 'after_title' => '</h3>', + ) ); + + register_sidebar( array( + 'name' => __( 'Footer Area Two', 'twentyeleven' ), + 'id' => 'sidebar-4', + 'description' => __( 'An optional widget area for your site footer', 'twentyeleven' ), + 'before_widget' => '<aside id="%1$s" class="widget %2$s">', + 'after_widget' => "</aside>", + 'before_title' => '<h3 class="widget-title">', + 'after_title' => '</h3>', + ) ); + + register_sidebar( array( + 'name' => __( 'Footer Area Three', 'twentyeleven' ), + 'id' => 'sidebar-5', + 'description' => __( 'An optional widget area for your site footer', 'twentyeleven' ), + 'before_widget' => '<aside id="%1$s" class="widget %2$s">', + 'after_widget' => "</aside>", + 'before_title' => '<h3 class="widget-title">', + 'after_title' => '</h3>', + ) ); +} +add_action( 'widgets_init', 'twentyeleven_widgets_init' ); + +/** + * Display navigation to next/previous pages when applicable + */ +function twentyeleven_content_nav( $nav_id ) { + global $wp_query; + + if ( $wp_query->max_num_pages > 1 ) : ?> + <nav id="<?php echo $nav_id; ?>"> + <h3 class="assistive-text"><?php _e( 'Post navigation', 'twentyeleven' ); ?></h3> + <div class="nav-previous"><?php next_posts_link( __( '<span class="meta-nav">←</span> Older posts', 'twentyeleven' ) ); ?></div> + <div class="nav-next"><?php previous_posts_link( __( 'Newer posts <span class="meta-nav">→</span>', 'twentyeleven' ) ); ?></div> + </nav><!-- #nav-above --> + <?php endif; +} + +/** + * Return the URL for the first link found in the post content. + * + * @since Twenty Eleven 1.0 + * @return string|bool URL or false when no link is present. + */ +function twentyeleven_url_grabber() { + if ( ! preg_match( '/<a\s[^>]*?href=[\'"](.+?)[\'"]/is', get_the_content(), $matches ) ) + return false; + + return esc_url_raw( $matches[1] ); +} + +/** + * Count the number of footer sidebars to enable dynamic classes for the footer + */ +function twentyeleven_footer_sidebar_class() { + $count = 0; + + if ( is_active_sidebar( 'sidebar-3' ) ) + $count++; + + if ( is_active_sidebar( 'sidebar-4' ) ) + $count++; + + if ( is_active_sidebar( 'sidebar-5' ) ) + $count++; + + $class = ''; + + switch ( $count ) { + case '1': + $class = 'one'; + break; + case '2': + $class = 'two'; + break; + case '3': + $class = 'three'; + break; + } + + if ( $class ) + echo 'class="' . $class . '"'; +} + +if ( ! function_exists( 'twentyeleven_comment' ) ) : +/** + * Template for comments and pingbacks. + * + * To override this walker in a child theme without modifying the comments template + * simply create your own twentyeleven_comment(), and that function will be used instead. + * + * Used as a callback by wp_list_comments() for displaying the comments. + * + * @since Twenty Eleven 1.0 + */ +function twentyeleven_comment( $comment, $args, $depth ) { + $GLOBALS['comment'] = $comment; + switch ( $comment->comment_type ) : + case 'pingback' : + case 'trackback' : + ?> + <li class="post pingback"> + <p><?php _e( 'Pingback:', 'twentyeleven' ); ?> <?php comment_author_link(); ?><?php edit_comment_link( __( 'Edit', 'twentyeleven' ), '<span class="edit-link">', '</span>' ); ?></p> + <?php + break; + default : + ?> + <li <?php comment_class(); ?> id="li-comment-<?php comment_ID(); ?>"> + <article id="comment-<?php comment_ID(); ?>" class="comment"> + <footer class="comment-meta"> + <div class="comment-author vcard"> + <?php + $avatar_size = 68; + if ( '0' != $comment->comment_parent ) + $avatar_size = 39; + + echo get_avatar( $comment, $avatar_size ); + + /* translators: 1: comment author, 2: date and time */ + printf( __( '%1$s on %2$s <span class="says">said:</span>', 'twentyeleven' ), + sprintf( '<span class="fn">%s</span>', get_comment_author_link() ), + sprintf( '<a href="%1$s"><time pubdate datetime="%2$s">%3$s</time></a>', + esc_url( get_comment_link( $comment->comment_ID ) ), + get_comment_time( 'c' ), + /* translators: 1: date, 2: time */ + sprintf( __( '%1$s at %2$s', 'twentyeleven' ), get_comment_date(), get_comment_time() ) + ) + ); + ?> + + <?php edit_comment_link( __( 'Edit', 'twentyeleven' ), '<span class="edit-link">', '</span>' ); ?> + </div><!-- .comment-author .vcard --> + + <?php if ( $comment->comment_approved == '0' ) : ?> + <em class="comment-awaiting-moderation"><?php _e( 'Your comment is awaiting moderation.', 'twentyeleven' ); ?></em> + <br /> + <?php endif; ?> + + </footer> + + <div class="comment-content"><?php comment_text(); ?></div> + + <div class="reply"> + <?php comment_reply_link( array_merge( $args, array( 'reply_text' => __( 'Reply <span>↓</span>', 'twentyeleven' ), 'depth' => $depth, 'max_depth' => $args['max_depth'] ) ) ); ?> + </div><!-- .reply --> + </article><!-- #comment-## --> + + <?php + break; + endswitch; +} +endif; // ends check for twentyeleven_comment() + +if ( ! function_exists( 'twentyeleven_posted_on' ) ) : +/** + * Prints HTML with meta information for the current post-date/time and author. + * Create your own twentyeleven_posted_on to override in a child theme + * + * @since Twenty Eleven 1.0 + */ +function twentyeleven_posted_on() { + printf( __( '<span class="sep">Posted on </span><a href="%1$s" title="%2$s" rel="bookmark"><time class="entry-date" datetime="%3$s" pubdate>%4$s</time></a><span class="by-author"> <span class="sep"> by </span> <span class="author vcard"><a class="url fn n" href="%5$s" title="%6$s" rel="author">%7$s</a></span></span>', 'twentyeleven' ), + esc_url( get_permalink() ), + esc_attr( get_the_time() ), + esc_attr( get_the_date( 'c' ) ), + esc_html( get_the_date() ), + esc_url( get_author_posts_url( get_the_author_meta( 'ID' ) ) ), + sprintf( esc_attr__( 'View all posts by %s', 'twentyeleven' ), get_the_author() ), + esc_html( get_the_author() ) + ); +} +endif; + +/** + * Adds two classes to the array of body classes. + * The first is if the site has only had one author with published posts. + * The second is if a singular post being displayed + * + * @since Twenty Eleven 1.0 + */ +function twentyeleven_body_classes( $classes ) { + + if ( ! is_multi_author() ) { + $classes[] = 'single-author'; + } + + if ( is_singular() && ! is_home() && ! is_page_template( 'showcase.php' ) && ! is_page_template( 'sidebar-page.php' ) ) + $classes[] = 'singular'; + + return $classes; +} +add_filter( 'body_class', 'twentyeleven_body_classes' ); + diff --git a/wp-content/themes/twentyeleven/header.php b/wp-content/themes/twentyeleven/header.php new file mode 100644 index 000000000..b1be094ad --- /dev/null +++ b/wp-content/themes/twentyeleven/header.php @@ -0,0 +1,123 @@ +<?php +/** + * The Header for our theme. + * + * Displays all of the <head> section and everything up till <div id="main"> + * + * @package WordPress + * @subpackage Twenty_Eleven + * @since Twenty Eleven 1.0 + */ +?><!DOCTYPE html> +<!--[if IE 6]> +<html id="ie6" <?php language_attributes(); ?>> +<![endif]--> +<!--[if IE 7]> +<html id="ie7" <?php language_attributes(); ?>> +<![endif]--> +<!--[if IE 8]> +<html id="ie8" <?php language_attributes(); ?>> +<![endif]--> +<!--[if !(IE 6) | !(IE 7) | !(IE 8) ]><!--> +<html <?php language_attributes(); ?>> +<!--<![endif]--> +<head> +<meta charset="<?php bloginfo( 'charset' ); ?>" /> +<meta name="viewport" content="width=device-width" /> +<title><?php + /* + * Print the <title> tag based on what is being viewed. + */ + global $page, $paged; + + wp_title( '|', true, 'right' ); + + // Add the blog name. + bloginfo( 'name' ); + + // Add the blog description for the home/front page. + $site_description = get_bloginfo( 'description', 'display' ); + if ( $site_description && ( is_home() || is_front_page() ) ) + echo " | $site_description"; + + // Add a page number if necessary: + if ( $paged >= 2 || $page >= 2 ) + echo ' | ' . sprintf( __( 'Page %s', 'twentyeleven' ), max( $paged, $page ) ); + + ?></title> +<link rel="profile" href="http://gmpg.org/xfn/11" /> +<link rel="stylesheet" type="text/css" media="all" href="<?php bloginfo( 'stylesheet_url' ); ?>" /> +<link rel="pingback" href="<?php bloginfo( 'pingback_url' ); ?>" /> +<!--[if lt IE 9]> +<script src="<?php echo get_template_directory_uri(); ?>/js/html5.js" type="text/javascript"></script> +<![endif]--> +<?php + /* We add some JavaScript to pages with the comment form + * to support sites with threaded comments (when in use). + */ + if ( is_singular() && get_option( 'thread_comments' ) ) + wp_enqueue_script( 'comment-reply' ); + + /* Always have wp_head() just before the closing </head> + * tag of your theme, or you will break many plugins, which + * generally use this hook to add elements to <head> such + * as styles, scripts, and meta tags. + */ + wp_head(); +?> +</head> + +<body <?php body_class(); ?>> +<div id="page" class="hfeed"> + <header id="branding" role="banner"> + <hgroup> + <h1 id="site-title"><span><a href="<?php echo esc_url( home_url( '/' ) ); ?>" title="<?php echo esc_attr( get_bloginfo( 'name', 'display' ) ); ?>" rel="home"><?php bloginfo( 'name' ); ?></a></span></h1> + <h2 id="site-description"><?php bloginfo( 'description' ); ?></h2> + </hgroup> + + <?php + // Check to see if the header image has been removed + $header_image = get_header_image(); + if ( ! empty( $header_image ) ) : + ?> + <a href="<?php echo esc_url( home_url( '/' ) ); ?>"> + <?php + // The header image + // Check if this is a post or page, if it has a thumbnail, and if it's a big one + if ( is_singular() && + has_post_thumbnail( $post->ID ) && + ( /* $src, $width, $height */ $image = wp_get_attachment_image_src( get_post_thumbnail_id( $post->ID ), array( HEADER_IMAGE_WIDTH, HEADER_IMAGE_WIDTH ) ) ) && + $image[1] >= HEADER_IMAGE_WIDTH ) : + // Houston, we have a new header image! + echo get_the_post_thumbnail( $post->ID, 'post-thumbnail' ); + else : ?> + <img src="<?php header_image(); ?>" width="<?php echo HEADER_IMAGE_WIDTH; ?>" height="<?php echo HEADER_IMAGE_HEIGHT; ?>" alt="" /> + <?php endif; // end check for featured image or standard header ?> + </a> + <?php endif; // end check for removed header image ?> + + <?php + // Has the text been hidden? + if ( 'blank' == get_header_textcolor() ) : + ?> + <div class="only-search<?php if ( ! empty( $header_image ) ) : ?> with-image<?php endif; ?>"> + <?php get_search_form(); ?> + </div> + <?php + else : + ?> + <?php get_search_form(); ?> + <?php endif; ?> + + <nav id="access" role="navigation"> + <h3 class="assistive-text"><?php _e( 'Main menu', 'twentyeleven' ); ?></h3> + <?php /* Allow screen readers / text browsers to skip the navigation menu and get right to the good stuff. */ ?> + <div class="skip-link"><a class="assistive-text" href="#content" title="<?php esc_attr_e( 'Skip to primary content', 'twentyeleven' ); ?>"><?php _e( 'Skip to primary content', 'twentyeleven' ); ?></a></div> + <div class="skip-link"><a class="assistive-text" href="#secondary" title="<?php esc_attr_e( 'Skip to secondary content', 'twentyeleven' ); ?>"><?php _e( 'Skip to secondary content', 'twentyeleven' ); ?></a></div> + <?php /* Our navigation menu. If one isn't filled out, wp_nav_menu falls back to wp_page_menu. The menu assiged to the primary position is the one used. If none is assigned, the menu with the lowest ID is used. */ ?> + <?php wp_nav_menu( array( 'theme_location' => 'primary' ) ); ?> + </nav><!-- #access --> + </header><!-- #branding --> + + + <div id="main"> \ No newline at end of file diff --git a/wp-content/themes/twentyeleven/image.php b/wp-content/themes/twentyeleven/image.php new file mode 100644 index 000000000..c6c8544b1 --- /dev/null +++ b/wp-content/themes/twentyeleven/image.php @@ -0,0 +1,101 @@ +<?php +/** + * The template for displaying image attachments. + * + * @package WordPress + * @subpackage Twenty_Eleven + * @since Twenty Eleven 1.0 + */ + +get_header(); ?> + + <div id="primary" class="image-attachment"> + <div id="content" role="main"> + + <?php the_post(); ?> + + <nav id="nav-single"> + <h3 class="assistive-text"><?php _e( 'Image navigation', 'twentyeleven' ); ?></h3> + <span class="nav-previous"><?php previous_image_link( false, __( '← Previous' , 'twentyeleven' ) ); ?></span> + <span class="nav-next"><?php next_image_link( false, __( 'Next →' , 'twentyeleven' ) ); ?></span> + </nav><!-- #nav-single --> + + <article id="post-<?php the_ID(); ?>" <?php post_class(); ?>> + <header class="entry-header"> + <h1 class="entry-title"><?php the_title(); ?></h1> + + <div class="entry-meta"> + <?php + $metadata = wp_get_attachment_metadata(); + printf( __( '<span class="meta-prep meta-prep-entry-date">Published </span> <span class="entry-date"><abbr class="published" title="%1$s">%2$s</abbr></span> at <a href="%3$s" title="Link to full-size image">%4$s × %5$s</a> in <a href="%6$s" title="Return to %7$s" rel="gallery">%7$s</a>', 'twentyeleven' ), + esc_attr( get_the_time() ), + get_the_date(), + esc_url( wp_get_attachment_url() ), + $metadata['width'], + $metadata['height'], + esc_url( get_permalink( $post->post_parent ) ), + get_the_title( $post->post_parent ) + ); + ?> + <?php edit_post_link( __( 'Edit', 'twentyeleven' ), '<span class="edit-link">', '</span>' ); ?> + </div><!-- .entry-meta --> + + </header><!-- .entry-header --> + + <div class="entry-content"> + + <div class="entry-attachment"> + <div class="attachment"> +<?php + /** + * Grab the IDs of all the image attachments in a gallery so we can get the URL of the next adjacent image in a gallery, + * or the first image (if we're looking at the last image in a gallery), or, in a gallery of one, just the link to that image file + */ + $attachments = array_values( get_children( array( 'post_parent' => $post->post_parent, 'post_status' => 'inherit', 'post_type' => 'attachment', 'post_mime_type' => 'image', 'order' => 'ASC', 'orderby' => 'menu_order ID' ) ) ); + foreach ( $attachments as $k => $attachment ) { + if ( $attachment->ID == $post->ID ) + break; + } + $k++; + // If there is more than 1 attachment in a gallery + if ( count( $attachments ) > 1 ) { + if ( isset( $attachments[ $k ] ) ) + // get the URL of the next image attachment + $next_attachment_url = get_attachment_link( $attachments[ $k ]->ID ); + else + // or get the URL of the first image attachment + $next_attachment_url = get_attachment_link( $attachments[ 0 ]->ID ); + } else { + // or, if there's only 1 image, get the URL of the image + $next_attachment_url = wp_get_attachment_url(); + } +?> + <a href="<?php echo esc_url( $next_attachment_url ); ?>" title="<?php echo esc_attr( get_the_title() ); ?>" rel="attachment"><?php + $attachment_size = apply_filters( 'twentyeleven_attachment_size', 848 ); + echo wp_get_attachment_image( $post->ID, array( $attachment_size, 1024 ) ); // filterable image width with 1024px limit for image height. + ?></a> + + <?php if ( ! empty( $post->post_excerpt ) ) : ?> + <div class="entry-caption"> + <?php the_excerpt(); ?> + </div> + <?php endif; ?> + </div><!-- .attachment --> + + </div><!-- .entry-attachment --> + + <div class="entry-description"> + <?php the_content(); ?> + <?php wp_link_pages( array( 'before' => '<div class="page-link"><span>' . __( 'Pages:', 'twentyeleven' ) . '</span>', 'after' => '</div>' ) ); ?> + </div><!-- .entry-description --> + + </div><!-- .entry-content --> + + </article><!-- #post-<?php the_ID(); ?> --> + + <?php comments_template(); ?> + + </div><!-- #content --> + </div><!-- #primary --> + +<?php get_footer(); ?> \ No newline at end of file diff --git a/wp-content/themes/twentyeleven/images/comment-arrow-bypostauthor-dark-rtl.png b/wp-content/themes/twentyeleven/images/comment-arrow-bypostauthor-dark-rtl.png new file mode 100644 index 0000000000000000000000000000000000000000..46dac85bb9137e6c24f1de1d7af83eee0bf5e0e6 GIT binary patch literal 255 zcmeAS@N?(olHy`uVBq!ia0y~yU=U?sU=ZYBV_;w~YJ1+mz`$_K)5S5Q;?~+r`#GHq z1&)7Q&9eGBS6OA{Pj|5bwu7o`?l=^19yDZO-%!MSkdY<&pw|YWbMXgO$4&SC=sC6K z<ir54&gfH?_9r9`M_r5JQ=IaE)2j4}Wq6YO4F=I!EAG5w<Ma@fZEH;KQLSjuoS^k; zul`2yH7Y@}Z-2)f+j~I9LwM@(ABX(-vKAS=lNEC)z4-CIwG;c2&Qm+`BTl>dhUAsA z@`s4a{@-is(_j)<*`uyAbElQs3;TDHX{t9=x>B__rUkmp`pszDJaeW+kf<610|SGn LtDnm{r-UW|E8b!B literal 0 HcmV?d00001 diff --git a/wp-content/themes/twentyeleven/images/comment-arrow-bypostauthor-dark.png b/wp-content/themes/twentyeleven/images/comment-arrow-bypostauthor-dark.png new file mode 100644 index 0000000000000000000000000000000000000000..e32e285a614bdac7b85e1e01a4d6745dd9f7834f GIT binary patch literal 237 zcmeAS@N?(olHy`uVBq!ia0y~yU=U?sU=ZYBV_;w~YJ1+mz`(G@)5S5Q;?~+rdpVmN zdD;uL55CG}-TiytW3d9ZgQ{!pI23RmG-P4lP{e$YktO<|*9M_S|67<9Q-l88YM+o2 zlD&6&kVkMgUxAP2#Nxgl!zA5XYahxw1$39OuA331d&@UrezDs7y#}XrA4(>Rxb2jj zbK7do)<YWGTlxDmdWwp7B+4GrFh8*H{}!E7Yag_hax9K%;a(=@w$t#<FaOsrjW4c8 t9AI`2>HhXX#4n;f>WlrpiycPsw~rTb8e2SH$-uzC;OXk;vd$@?2>_-XVB7!z literal 0 HcmV?d00001 diff --git a/wp-content/themes/twentyeleven/images/comment-arrow-bypostauthor-rtl.png b/wp-content/themes/twentyeleven/images/comment-arrow-bypostauthor-rtl.png new file mode 100644 index 0000000000000000000000000000000000000000..9ae83f08debfdef4d617cbd5cf2166096c782910 GIT binary patch literal 257 zcmeAS@N?(olHy`uVBq!ia0y~yU=U?sU=ZYBV_;w~YJ1+mz`$_A)5S5Q;?~+rhFnaB z0<8~MvaHT!<yWX+KCe*0shzJ-!Fe#5L+-#SX^yrxYBysKhHVg9)AEtm;%eDUk@!_l z)SaE~RqLI!{Jvn{`<ttBqw{9DHL0&Sb5UaP5xWhHLeo~<d&gF+5NxvaNNKG12Zm&Y zV3QVwjpA!eCdt0t<#&AV0g)3zSC9WV<i{Vi$m*S}m_y~ohxe_WSW`M*?Z}UK?dBbl zU*0Mi5Lfc!`!@roO)g&z=WR%N_GZSS|2xuWcx><xIUSaKbWw-McV=HXoB5MMwY3-+ P7#KWV{an^LB{Ts5mw9Nm literal 0 HcmV?d00001 diff --git a/wp-content/themes/twentyeleven/images/comment-arrow-bypostauthor.png b/wp-content/themes/twentyeleven/images/comment-arrow-bypostauthor.png new file mode 100644 index 0000000000000000000000000000000000000000..bf9d3d92d6b872ccf327d7f675c4cba041275842 GIT binary patch literal 239 zcmeAS@N?(olHy`uVBq!ia0y~yU=U?sU=ZYBV_;w~YJ1+mz`(H0)5S5Q;?~+r`#GB& zdD;`T55CG~Wf!<}K$2zph9c&Jsw~F^WDcC-W$FL@ZhwMy1ZSAjpScAJOMJSP*K&HY z9h<Rx>ok+A8SL)QWtL7^F-0kC@mZ;RiY!|*jGMKWg>{=L-}qkZZ|IgdCHm0iYW<!f zVT<dfPv*1+=5fo*1WG)8R&dy=C2(D{^Y6^aDbWYHUkkYH)QmCMYH*4-@p@g9I+x4- vV@z@ui=wu)9xpg#b!E~2kG*bFellgYn8aUlHl4%3z`)??>gTe~DWM4f6hK|_ literal 0 HcmV?d00001 diff --git a/wp-content/themes/twentyeleven/images/comment-arrow-dark-rtl.png b/wp-content/themes/twentyeleven/images/comment-arrow-dark-rtl.png new file mode 100644 index 0000000000000000000000000000000000000000..3644fdde2b15dd2288171b733bf6b42b5d652519 GIT binary patch literal 272 zcmeAS@N?(olHy`uVBq!ia0y~yU=U?sU=ZYBV_;w~YJ1+mz`$_b)5S5Q;?~+ryE&O0 zMOq(9bMAiAof`jU!%4L!*@)%@VYf1c8!ZWvO{@|(8xt6tRwk%Oa6YztkbA)Tp#8}+ zH3ny<CQ8(tI99mFTg3HV)U0LuURyP}Pnmsj)vAuY7o|9j7v|m;+OtT~P&i7Y_5JU8 z59C~1d@^FMADNf2^2Gg&Nh-f2)1OS3abc5AXYGYB{aF{5WpdoRAk)ctc9YNiY6nXp z?p2$=J89egFqb;M@!UOD--$B<&dn?Cd%)*AAtGSzUiPSp_d654>gE?Z$sQEYnBJST dFhJ?xZzf)b=o4PKW+1;ac)I$ztaD0e0sw^0aTovq literal 0 HcmV?d00001 diff --git a/wp-content/themes/twentyeleven/images/comment-arrow-dark.png b/wp-content/themes/twentyeleven/images/comment-arrow-dark.png new file mode 100644 index 0000000000000000000000000000000000000000..f9b624be92ad5b03cb04ac6fd3434f3fcacb476a GIT binary patch literal 348 zcmeAS@N?(olHy`uVBq!ia0y~yU=U?sU=ZYBW?*1ojS%0&z`)QI;1lAiq@?u!|9>Ug z00{{R0RaI~QBe^Q5pi*GAt50i9v(3<F<xF?K0ZE9PEIZ^E-5J~X=!O$Sy_V#rK=ej z801TW{DK)6*f{wmq}8=7z5S9iE2<|<UcGMDf%BK{J$&`{^S3{8X@TDu7#NZ~T^vIy z;&M+MWjbUa;(Abcg?PDt(7~Vo?>C#iKUZ|4o@LU~{kH!Y9~Uc6OS;{aYEjR+J3xMM z#HOw9-yZsMsdMR_*rStl{@m5;@#~HF<okQe>4a~5WrbH2yGmc4y8U<NgDLvFyiz}# Udr!_~U|?YIboFyt=akR{03fPp^8f$< literal 0 HcmV?d00001 diff --git a/wp-content/themes/twentyeleven/images/comment-arrow-rtl.png b/wp-content/themes/twentyeleven/images/comment-arrow-rtl.png new file mode 100644 index 0000000000000000000000000000000000000000..e3fb1fddb245d383b4655c3ccf1dfd0d30725f0c GIT binary patch literal 271 zcmeAS@N?(olHy`uVBq!ia0y~yU=U?sU=ZYBV_;w~YJ1+mz`$_L)5S5Q;?~+r8#xa- zh#dPE&KZ`;$}Vu{fF#TG4MofcRauS;$Q(Gu%krC}twlxL$-`-#(7E@__n9g+|6RXx zm%p!il8WbyO%{FjkM{Ck+qI6na-Q&>g(rH#LS4@+W)@0w>RzPq!znvSZA<2?38|6? zxn~I*Ej(wLWO_@}Nb2qHIQz$q(>#1KVy_?B_hN~-Z${)amirmaM_RV!u0Fqa5l1KM z)tj#`#_{*LwI^P<S-nV9NchxE@5@sjNS>V#5ir-beVZan-i%5A)9+ktdLW`PeQ{Fo eLKn67?6nK43O3akr7|!uFnGH9xvX<aXaWEsgK$&; literal 0 HcmV?d00001 diff --git a/wp-content/themes/twentyeleven/images/comment-arrow.png b/wp-content/themes/twentyeleven/images/comment-arrow.png new file mode 100644 index 0000000000000000000000000000000000000000..60a6d5d96fe84866bbfac89b609ccf53f3bd5be6 GIT binary patch literal 250 zcmeAS@N?(olHy`uVBq!ia0y~yU=U?sU=ZYBV_;w~YJ1+mz`$_O)5S5Q;?~+rhFpgn z1X>fd4{EJ_z{rySK$1m2@hLBhzG4N>LFR}`=7V*t&Q6nfy-(=f^oqF8!I*ezX6yRD z-E++ikL~$v<3CGd*1@f-Rz2D4Z|G*&)%Q){_O{U8NuoBdcZKy%lALpTlTYk*&c%1c z=4=g<cq&$~T)9o4CGZ`G{PQ^mr`A5aYSL?PDz#wY`xn3CB%YQDY{*QU5`C!I%$A3_ z+so%+hzM(LlqQ$vUn%Jg6<HSzZQ7;#R*3!Wm%p<33Af(N5&?#c!nq6#3=E#GelF{r G5}E)_9bx$Z literal 0 HcmV?d00001 diff --git a/wp-content/themes/twentyeleven/images/comment-bubble-dark-rtl.png b/wp-content/themes/twentyeleven/images/comment-bubble-dark-rtl.png new file mode 100644 index 0000000000000000000000000000000000000000..3a43135ded872846746d03fdb526f785df14758f GIT binary patch literal 1868 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 literal 0 HcmV?d00001 diff --git a/wp-content/themes/twentyeleven/images/comment-bubble-dark.png b/wp-content/themes/twentyeleven/images/comment-bubble-dark.png new file mode 100644 index 0000000000000000000000000000000000000000..6bf8797940cd1af1c819597b0f9f5ef52ffcf505 GIT binary patch literal 965 zcmeAS@N?(olHy`uVBq!ia0y~yV9;h@U{K*;V_;wq;65zMz`!6`;u=vBoS#-wo>-L1 z;Fyx1l&avFo0y&&l$w}QS$HzlhJk@O-P6S}q~g|_8Rxx20!5BL|88Ml<fC-SsNTS< zb((5NLPBFkM2N>lwOiX?)@R&YH0^B^i>_9IbW&ue$P*{-Uy7QOlO}Rbb^iSM?0P%( zdpuG5GLOkT=d#@~=liq0=HEZ>dw!?*{m!)c=cgOyPCT4+%c*_s4RNEHJ=6S_?@w^P zp<ou+V-dD`>#ZEK>W!vHzs0{eJTt|}a<Yd?nyK&XhgJ^1-J+Kq?S7MQzIN8NR|OVX zIcCwyYiIHo{L#)~JFxv@#h*~EsZtNCnk4GC3+nN*HH+EpX}!jm5%22SdSH9;>AWv} zH!~U@-jlzWQ6h4qI;QXAo##PE9)9|?i8F$KxjIL$<Mh*|Jkik`Hm$Ib=WCZ|t`R>m zF^FI07iV%?!#@G8)<bgr%V%G(_;5Xk;f1?{{3rJ7=FDHrUwEDg{k8v?#LRQtr(eW9 zIw%;oi}S_oq9y9T{;4FgAGbKf+LItW(IaI_dp@I8=(!rM!#2;@Y#vv2tZ7RP@%yOi z++Y`;$iz@2<$qsY*mq6SR2TW~qetHIi_G5A);PCSe^RsRjQgJt8?15*Rch7jtz?N; zVE5LW+U@B&on^9Byx-0BGgw^{pFfC>lHAPcq_9p&Gsn|bX4^HPkM=p9iIEOBA~#uv zvb3C?8vFWRQ)=sG=HT@!7S!#&yHA__w5#&6*uWdgA57PVY~x({o0D~SlH!By5juMh zZ8u80>$kjEemQg3%3ID)FHF@HD!SS5YkBi}i~e2hqJgCh%Qmlg^<TNP@bb&D-PIO* zc?x1@I{sd9STD#$&iu?~n+@&1o@*>uXS^4$b|KEDhO;lYN^$1?U8#b0?vWo`EPtAP zKkmh;el^$Zda~c+Z`>6-=D$AGv?^L8??ctzbPeqo4H<@tg)LsEQdAz6_Z_^VmV7+p z{egnX%;6!z#_a(S|6ZJPV^VSuUDkSyEysN33f2?NbMm9V_wlG6&0cB3{URntO*3uz zLFKU8+a7&UEi05Rp1yW5ZcoJW)w}=g)w}s3;o|Qr8Z2M7wk+AHXZ7A;Zd%S#!8H|L z-y^1G%1Sp?CI)_e8nue)X4^}V?+<seiDXUF*(5nL$v495f$OVz={I}%7*Z!**5o}9 z#_)H?2D|%ex0W4D3uO&jcHi$n$`q~z@ynhS`HF2b4f(q+^A>l~>#m+4#wRtqxq?6V cGqN#Em|SM>xLfo*0|Nttr>mdKI;Vst0Ki|k4FCWD literal 0 HcmV?d00001 diff --git a/wp-content/themes/twentyeleven/images/comment-bubble-rtl.png b/wp-content/themes/twentyeleven/images/comment-bubble-rtl.png new file mode 100644 index 0000000000000000000000000000000000000000..bdfde17ad14125829fdd95b81c75179177578f8c GIT binary patch literal 1782 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 GLK6VbMqZ`> literal 0 HcmV?d00001 diff --git a/wp-content/themes/twentyeleven/images/comment-bubble.png b/wp-content/themes/twentyeleven/images/comment-bubble.png new file mode 100644 index 0000000000000000000000000000000000000000..19011948bbb693b979585bf9654a6c84964a3628 GIT binary patch literal 925 zcmeAS@N?(olHy`uVBq!ia0y~yV9;h@U{K*;V_;wq;65zMz`!6`;u=vBoS#-wo>-L1 z;Fyx1l&avFo0y&&l$w}QS$HzlhJk_E-qXb~q~g|_8K<*_14Y`cCx0>Q4L0`8y4B>m zWlM*EN@5I0mOxX2xE9CF72e{pEV~3Y@gx-}d;DkgG?8fTUQigQvMbO)K%7f;Y1+aB zPR-2B4q^4&xOu|riCOBCSw8Jx)t}>|_IXGAJKOK`?pubi-a4R|`Q?CO)~zymjp?WN zvpD`x>Pjj~Pk;XV-Me@1r&(XlV()c(EOXf4vd-yGBCfq9%-g2;EssB%w9%ZKn_K=t z42yQtTg7_mzkvydZ>&F<Ao00s@1Cn!TW9+$%Qo@d>^pzmitR~8Gi#m|?aV27t#U(S zSH*Ik`|M?B(l*caRT1j<UK-@byG&8X=e_^_`}M-{Y-U$HJy<h%Z?N!rna%!tMNH?% zBkMogKQOJEJ%Q_j&W_`mGtNHOJ$T6ew}rKJHJjX(uR<YgJ$AXb?%b(a$u;}*(|u7o zV#arBmdGzKdLStC@a@~TqOK7odE0N-O6JMDR$o!`(NczQUx3CEz5|D{YFhmKm{#yq z$ZR`Z{W~EsWb>t_MV!sD4&@COeXl2)o0-)t>0QNB!Sr*&=2g6lF23NBVR2GzRQUL} zH$i1rLr#k39j}R#SJeevv60y~an-hle7+yo_@}!3;lCXk5s|R?fw;-Se_qXPX|H!X zYKZJ&jhA#PXO2}7+8KR6y>j06#TAMr-y%2PtXXQeN#dN!R#!o@Rc9VOdQ^Gh_mNsB zHMxHKhHke*3Cp)_+ZHDu5PLMqaPyWeB@6FIg{|9h=;4RCZI7fkvxHc#xb~ap)WU7k zvLlafQJd<uw_)~j>$xYlF?SjFaAvROd>rk0=S8(<L;#<jzJ5IG1^L{ij}~dHtG1D= z-X813<s-A}{;gZLoVVU;%$n$2#2GBkuu-TbFq132ptSVszDryF-wrwLelX#Kri_tp z%aN$(&RVI9Z*5KdaMII*?R=x(-X+&x>t~tFTCCf8&rS8bkJ{&Xk9XWIu)L{}<{g;N zWA;vR`Q=Jkt9gMU3MRHIF28)XdbiEtIa%8ku5Y;}%E2Pz)yns0ty%4i%1344F9U;H zL|GmhGssRCmn~S@G}k4tF>q<5;M(*J94bE_Slr;8f4-dA=#2W-DLdldGUV9J_g7HJ mI}_1%<TIDz+kOUShBeG8nw%ofE;BGNFnGH9xvX<aXaWGwr<ooA literal 0 HcmV?d00001 diff --git a/wp-content/themes/twentyeleven/images/headers/chessboard-thumbnail.jpg b/wp-content/themes/twentyeleven/images/headers/chessboard-thumbnail.jpg new file mode 100644 index 0000000000000000000000000000000000000000..e8c84d3f4d9c68ffac39e385a898a0cc8ffc5800 GIT binary patch literal 6420 zcmex=<NpH&0WUXCHwH#VMg|WC4+e(+w;7xnIM~?O*;qN)+1WWcIk<R4czL+Fc_f8| z`9)-<<mF_gWMmXn^wbrUbd+UeG|V-13=B<7Oyt!qZ7qy!^o&i6K!z}Ka&q!;^GNXW zN*F21C>oIr{vTiv<X~`Oc*e{q$iO7X$SlbC{|JLL0|OHiGa~~6u(C0;Ffg%$BrOFP zm>8LvnVDFa*;yD_85kHCnV4Bv1sQ}C*$f?p6GfB)3ym5lvWto-J1yL(VjOhvqH|Kw z!w>(DFi0^nFflVCo6F3?z{teP_WuZjz90h=6C(>F6AK&EYDOjoW<eGqMMFnnC03)r z#KOjj3pajHb`m-G@Z$el3_Q$?3`~N|f(-TykGw?N%o)F5VTwy%v!>$i#8pRTPQG~i z*1ABEtaHydtvGo_MdRc&#^gqhdLFN<0Y{wOR1(&lYkzuvF7H~dC5Kd1XXn`0yp)@> z<$_z%PLr*UMF#|K_uoD?X?196fA1dm`R+m2BId|Hi|xCax9H`oOlJozuJ>tSch0`; z&rMukwqt!q=;g32?>^sIs2Z!SetNr=hFkZv2(^Gsp2u?y*jPA^B}$hH`5j1?I&G%f zdY8*H=}?M+75i%Lmkw9M{xkS~Y+R%}b4J#)l{r;?qSYB4cg|QPcm-dQSd#I?&#iM8 zyRcHvac-4Du{0S5)8>=2WF6CH=e>_IcUM<1nz$(4)+b47OGwbA%Z#D<QFG5f^(%Z+ zA}u)Mw~wt~*S?4Br5a7kR+!4#FKXVEKIiYA>=L%n?-JH0)U^ziHb*VrVdx<7AicqF z>9wxoMyuA`sF-|bWz^NMDL-`H>^yNzt1#<b>$c5-+|Pn4mv(<tW~h-BU`Xgpw23+y zR$4Q`pJC$duz+Nts@^$=gf3pOdjGZD;^RX0fWnUA=ndx*tIZ>?mdsz)#IYp!T!dWl zJJSo7vrg$<P`3|V%2#{wQS-O?u2r3nR%}{q%okx{|0Hwr8pqQd6E4`*uGI{i?Q^AA zC8SOBNx^A7w~$(kOXb<w31w<LFRm^ra7=p?wq)A2sfMgEE1F-GG;W#qxM_mwjr{O~ zM@m0c%Px4WdSLp?^ICb~Roi;bN5oD@mfid_i%n>oLuskM$bO^pH*Q_)jZSieT#R^? zRVO4NTzBVvss*!G+t%<(8(-Dz<TpZF{XHY*ZIiMpoA^r2y29Gwc+G3=)!QYNJF-o( zR?j(9c1k<mb;%`@*QzcDd$Pg{56wwd-fks(KJ~}r4qsbG#)%;zF?j*)O)Hh>IKP_F zdEos`KkFA-E82Ollo%)XJ(%4ZlbKWTq)Rnby8P|W8}qG_wyGT{W-o4CyHGkaYu>CD zl`kLF%w*iBAOBaP>n8U3;OvVVs~oyL)4rx=JXq6TpdxTw>UHx}wu0NYj;5@=^gV&w zZQ}{{KhZ(Hm%8?*?n~OF?dJG-MTq2r8?S_-pE~$RvcFs~i$!C@sY!QwCZ*oC&y8Q& z8MnkbX|-EAYfXB9-c9alk0h3DyAapwva{g9lmNHOJIYVk*?w8uI$izqEZ6f44$EdL z&swG8dPdc0+ne|7Cw^sppT}W)$dqTvN|{d4oT=N(e`IwPO6kmYZk1rDt!oeCx@OLI zX4BiEt`i63Gpsg6&t1qO5>&6-$=bx^e*5L3tDD|M@7R0hOAjaS?qzvfU+X-Y=DYma zox>lif4}Ij%_y6EhS$`(_ePJ2`R&rS370~GLtKL;9vo|Es{Qla<My&`kN3zaU(L#1 zeWQBHv$f0j-&bCdW$&-N|N8sYS@*g&&Mdthd+qC$S^H+)4|X+rE4OQo#)YhG(Z-Mb z8Edcf6pOFc(VNI=ea!OlzB#@g>T*eCnH!8BIkQaV)+>AH&upd4sw|{fP^=r9>m8iw ze&Xwd=btXT+|qu$bM-5pnV*gB${)PkuyM}ENhY^tjyfnfi5l&2IQhf#T;W2V^cl`` z3U&WD%rm+1BlX=bNeP1mPrNT&wQ^Gqa@IU~ym6u6GvT-FG1{qLJ@O>v3MwwHW|nc- zSA1q^Xpv`VphJ4xbE^x^8arMYhuo8U9JJC`M&otwdZGC<`xAG2Esb3BZnph{on@a{ zLvPo&ubP#$Yoe-?M@mZX21$RF^!>SsIpWnJg>o8Vd!Kx^U9%(Dy?8}Ma#XYSBiY3& zdDeaQ@o!g~ZZ1E5EtF4`ee$E6l|f;a4H^*wJAZ$(lHa~qM~wfw(d3I)u6l$8bhf`U zs<<pF_;1d^EKkSxePu5+Gjf-SPBLSDrsKwO-RxU>&5V1~Z&|$3yfQmv^NFaLDb}4v zn%d`fO$o0IJje3<wa(={Yd0U^z^j5$D|>Af(<jJ1?fhHv@8;?AhFQx#M;5G&%t}?C zCsM$+Ug+Sn7`{)kD<_rC$lsFr(wlYP!^jtRo=!}e@V1kU&GY-Om)Y+$j1+_Be3w|i zWgEA~{D(I$KGs<gx^ZX2Q-5_SrpV-ZmTekLPnUYD`jkD$w#{fU_1V-CI9c%R$?xZ_ z^cHOjVg1Os;L767SNQnvFaG&A>F+78j&)ZB8-A->$`m;K%6b)=b^MmxYuQqXyq?{< zm!ejcdWg*I;CekTw&9)0{$(P+7wYINStE6I>lD)sCW|~&jzw8c=$U`sPfJ^${Y!`S z+{1Rt(qCg!WleMgvl}Nl*lHeG!}wiU%I_?P`mGC7{&-5fJtA1RgZu7@e?Nbw+~DGv z&al2m)-dABs-rdk46a_8e$V&F3g#ZZr?X{DK85)xxP4J(bj*A5LTb4xTlFk2*KmWl zkdnlw+m8Iq-D#hzzNh23(2^;$*_R1+y*kWuwlmDTa7wN~F7wH2tusEGgclqTNX=E* zxO}0ck=GxszF$dgUu6<p^ZkAKd_=OAZV%~-djIr_=0VHHUw^$`aCNH15l0>N&0I?p zBn~H-PcpLmlNn?z%`WsLNLf>_Tk)8qPm_t+`Hs-z6OEQdrQZK!wC#?}`sU|><v#oF z9Qd?F_zIJBCNuBz&zF@81k-LsrA$fD(6Dv5GwFa_-91zDQ#Vw1Wxmo4SN0X0<T}yY z$nD0R$NTK&q;H$fd~Ln*FXgaC*9G%ZzOMM{chy)SZ6e>L=N3=OE(o+da4(Qa7t))* ztSjo}EtS+m>mNO7elB-QZS99e%uemP`p2yTeGYlLFH>Q8XTvy`h3WNy7W>Cr3}5+8 z-@172Qk_LU58N1Ze`UR1cBpo9)$A2tPTeSG{%RiP87Z|Q;^pG!8tu>WcV7PTvZ?5} zTA|#Z4~v;pLt>Xt(swgT?muTe*Gz%)<e7!{gF@~p&I~Dg9^`0cQs$hqO*Li8yA!AQ zKJDRosr2SKQ;E|eo*C{-bh@v6mzt=vP>f^ys`;<-<sV0GY)$e#x~sWrQs1npdo{e) zG;5nwv$K55`Tpe9ilpP}pC&zEdQdk>+BbCX+j{PBtIJ_7TpCkkH#JpPC;J&loOy6N z_}3o3pJ&$Ru4tRJ<f@n{&%>z+JQ3?`erH=derxRboAcwe%%NEB(uLcvhh4oE{VM&& zftd?q-wIVq{Abw9_1F3q1N$xOmh}NEKhN_IxE@&ADtqX<jY-(f*Nf*DE!lLm-@orc z`MF8U{l4Bjoxp$3I<@QS6P_9Ky+aH8W+qLq*|K{($L-0I{~6Ync<U8EQ@hW(r?EDB zLf!oDMw=e!g>F#!*zs4fh2_r;yMJyQ1T<7@&aLa5dFt{CiQCt&vw53rK5XTlKmSrq z>eQOv#L(#JlD#$2NmE7UNVrX2vHr_rjtyrP?+cE|HD!NmsdT%&=XCeAsSExytk~K- zUvq)^;R#<pCr6yVbv~<Vu2%9Pe%JGzY^L5H9`UOy3A~;zTg-GcI7pi{$fI9L_7pSo zxq0jM`?I*_?6^7SfO+cbb?YWATV{4w^Q2;hRKm8$lSOa$sj`@EDH7y4H{%1p{IV6T zc~4hceM!AhHEW-$wvK_1%`_kRD;a66wi1b}3U9D^>IW@3xy?K2J#%~Hoa9eeqP)Ib znjOHO{d;DZ_lY{CrGkH-s7Hy;S2yZiEW=Y*l={l*#bUt&Q!cLf<sdPCr_HOq0+lNN zHaiC#ZeV}OdF4-uXkf^N)0V3(15VsGE7_}KWy5i9+diYp-oOj~p+4r<-CP3SX{>DC zFZ20H;S%oF<i<PIew@r|q1!J1vDtKOfuTcXrR1UJx6OAR+hms+7HG@NNd59k^*qDT z->p^o6^|91Bqp7|yY<4NrXA_;3cp&d{ps?GY4z^SS4=i;%=9?E;_jCd426Pe>XX@Q z`jzv_bdI0AdTLg$r}~a7lj61oalQ-54v5mKR1eAYuwb@%HRFM>$zm11(^q7@okQJY zJv}B)X1mfMeC+DuZIi!BXE-0|`(=@Ie4}Vid8BUXBM*zOY<v|L-mkBCeq>ATGQ;~p zM~iz?$~lee#DbX9_wir%zLe|7QV{t1^Ut~swv%QZ4!`26Z*(BBqh2%SPv3nvyIU2; zEsr$UEYz|#K37vG`0c6xB|~<Pv%5?)KFWMq$}DHiQ+_GuduW=-yJnZL_<|#kzgh3t zbm!IO?2{s=KAxJpsr~$&^6R0U$Lu!GEM>c3_RX^WZSk$QEmw6OoO->LiMdVv_0qhs zja75`+iyo@ncb@RU8>P_<7}?Wq_@5EoV<j4mq%zgHK;GY@ah%kH2Xcx-}yg^2HWbi zNbE>+oVd2?Uf09r#*Z{+&HjGv{u0yFm&)#ut!b0eB=i*yFn_*~yT9o9k+5CYHsAB9 zS-5ejigjpUclqO;*Ol&isu?lNww*S$^J}J3&i6Zew@zG@c-c#fKZ#{;)Z2n%p$UTa zxd(UrHTgH~cl4xUh8Gi~yiNBmypvLN(`LqT`5BiVeLEk()_S~X&o#@JD{ob-;y%{= zjN?c`ZRNFVAC70v%;M@jaMr#gj+N`I?%pNK>u1Kk{GL)<WGS^iZqbdq=N~J0n|=N5 zU>X?Q$z`i_tmaM9{u?h_pPykad=!=?m3C5BrSd<+q?G#HtT2`vQA+vWRy|1mqTl~{ z)t$OYxpF+Wzq?GFW4`?S+yl+4?wbj}mx+^DyS3wW05|WXB^?Dt4(Ciy@SL-d&wLTL zMc(HAk4;V8S9^0sE}z`|w9r`X+INOI{~|74c8Xy-(s{BrI_ODQk&Vmhwg0k?$A>u_ zw7=bH;qmYAe}?0+T(7*2iMXuY`NlGt(Kk@#?ev`A6&DqjL{0K9RhhX`CF_ORlDLIT zyJq<NC0lRWdHekuONA6)J>xSkZGHXImPTh^be8B<6UvD@?6uik*?8gNsK2S_BZaKL zuDV)z)K|w%GosGaLUr#K!A$<+!53cdli}4l`?;^9d(-913feokdKZQW_mv#2E4F#N zW;#pO4t0k9JvXiD)_o7z=<2^$<l&4tT9e;@{k-5;Bg>0d8SDL4#?JkAIm61XI%Lw) ztC5+DcwU?2+2tqy{c<*J?Oyp~MR{Ldt!?9cuJE7XTi~i4k&1m1xgqmkCEJ^vu}pru z)<Wg)a;<GU=9dfntz9>%@5-i~&5vg1J>1UY`My_Sn)SwC{=o}FqNh~;XE-7JKvOYg zo<(@owg>LlUG<JPrKkRrUwX`m=UCz8TFd$w*G|li{m&pMoU8un(zdMit6S&gWCq*4 zsOsvwe|dwh?k-Vh#a~b67nO8mm+D0Bah@=hhr{l<%6dh6Gk=wNZ`buIF!mgsGx?09 zXlhN$j58M#zTGLX*Ufyr=9`+M@`|{wRo~;)#8Q652)sKyp@wmZp0BC%#CL7M$>!{x z&p*5kW{=bsO7PU)A*wyUHsJcQB5|R=%1@p--8GJtP)ru)JDQx}`M1F2(Ce(^lSfXj zZJ3#{WZBNEdrclHwXtj3TJI1t?mK;d`{Z9)@5@|y_B=oFDoEf+v*fD@3y-SY=6IZ4 z#Qt=NV0X<U`Nk{qk*p>kg~Q!>{xbxG2><;OQp6|nC{Xg9+FhM#$7lRewYv1+&k?r2 z4A;F@uVKDZEM7I?&td`9+G%q&W3PTU(sQUdZlAnNd&jgV4to_e4|et1<oE33zff`c zrl6#5>d7vx%@YL6^!)s6GBksh72ZiYeeVFH4WGiyRrh=v3U;ZmtY4{e)>C~!N`uWS zPiud_e`j}<uKn`q`ngM2JsMB79eC~$y{hojSDvjxRULn`FR>jhF$$i0C1}n<`O9xg za_tsGS-y+ivb91@`0pH7uIty@7$*C<+dYro@i_l6%VNW}uZfF07q94Blpa(N@GW@B ztw%mpQ%@XhRM~$%t;^rHnWtt!&*!zejwg)wryn_San7H+%&OZ1?^^XO%~sf!+h%&| zbI<(sKQEfAI^Vl|c6yoO^d{xMqObI(Zg<HOd)4pg$mGCiz4vQZCd2IMbIxRy>Xt5v zsBF-$&E!4MrJ)()9<*lZoyW|wU$$12-G7y4)yNrjd$GuZ#mkmEBypWt{!#GU%=Dzn zc};7@=B+w*fJax~?{wvMN!|p{r>A-5FMKSeCF)>&<<s@m-CRG}IO8V261(ZI8X|b; zIP2l!{>veGt5rG@^H!&wz2p8`-|vuS(Cqw`FITuF)$hOW5nr|P?$>DxH*PcP;;u1y z&AB{4q`>1p!``AbS7RckWCV2gxir4rcC*jm=db2D+1jhF@GsfhmGt!2#I;9xMDspc z^L|ueF1!EF<w0H5%a=M|H}5TQpY!pTLloC19$ogJh?g&dL_8I^cHD^czrXRhSLDJg z*3(W{wnT^UNG5R~-L{%dYSPR%F@+1ZO?vXSm_s-C8PDGMv%50h28L>^TJ@jdDvLoU z|JQ2a8|m(sGi?KMj&uM1&rowFGVc)kWU-jzj@z^%M3R3^w|x6#-t+VOc0Kg|<P-7n zLi3rc@e*rNb00hqJvHrbiEsC|l#OT1^LE^Om9?lfx+KqIf+$a*JIl*#t%V^Q9|^{t zX?!GNYj5K9QuJ)Br|zbdTQ}{0x0USwGd0iak$^V8LFlRD0h-TxoQ_w`y)Ccs@#Onu z+FL!(r5dOt6<61kZ4_R5$daY;oTPjIvR!XaeYBkMOmCV_(Q)-qmCr$*vnKgmnUu3& zn#7e!B`>tKl2>lMa^UDyWyUG83Rw@Q9KZBbXU{RerK`5b{3@!r@pgLN1ODbEEALHf zwyIhsamDkXe8kL4*Iu2jo;{~ICE8E<)9dGN*PY!e?x)Tuqg~7!diiel;`>fMTl$P7 zK7?e??>cz;LvmL1(kHGrbH5hFth`n6pW)K6!&-O54qoPZCGdE&+;ZpIr4fH7Zwo5b zoz{0kVdAw}Va!Q_J%6{bEm`Ycang8}gy|E-7f1Tmy|%JU{K4X^WcYJNA6x6fMF%{S zkKEg#cd+q{Xzr|Y8!Vc0t`=$D>f-$PAanJ_9}0(S<emh*POmu8bvia+vI)1hvgiCm zj4Jb&8P1hmC2`W=<i|8-#`M6K+M(ya>v%^pw$7NQsqjbHrf{9w%8P5hm73`4nA@jG zuihTCN@Su?BtMTkW8II>Z`TCLmlZeu{dMqW!ZC)4u7%k-OcED)GK?5w>XKhCzVCFW z_{5+83_H3P=T362?pq-rBzL$>;K}2+{~7L0*z6MW!2J8i{|qNWH=k1xj$ivZz&9{E zQaiP~-%I1%gW6-J$<9R)Vvj`REvLU;$+F&nH8pZ|!0T6fU!^BLKFoaQxn1$M>tVB6 z(*<~Lw<TQLcGB2rMX1h!hQ(9uAJ2cgjJ5mb46Oo}-Ml<+j$M7R=kiszf(0ph7WZ#A zSUkVYyl>j3D~_+48|-(qa(UdUIrgH;@2qP^*Ssi=RT2ENBCkI$elqz^?VjwmI^`AB z-E7A{N{A=~aGVjh_Ybgp@i=qwaR#w_?6>WIUVgcDLy?317U>YHhP-c9vm~S<UMm`E zsQ*0SW`EwQZmw5Ef#VrrMP{X#m#e4lYU)|@USpnL%9Q1&YTK+C7iMd2ynXw^td-Yg zzVqrIy5r2TD!J6+XYp;X>ep|aQ{)!dtuZyrj@otNpsKZZdjDzvjIP);9@Zy|Qe3NR zd3m0!-c#RR=0CUe-QyL#E^^NeugsjeQsv-Em8lF`6;dk|t9C4oc&IJa6p+pwd~#Z{ zyr;3@!6XMczxMJ#>vJsM{+&?^;5=y4^P;42##J%P^(@CaI7Lbp$govhZTMu@?q_+l z#>+3N#NuJ6?uM3Lk>m{lrU$Qlm0SL-!?tLVhQKi<*~e2KhcC9YIX>-r;M*h>*$Boh zw`3ZkFTZ~tySr*$w1@wi{|r5$YZ+gr>M#rJJ#Xc;xyjI0ZT_9!-SgB+5}1Da97t^L zkym!vaB{ipmp2yAg?9%}{;=Zb&lB?IbCvVcw8MjrENQy)!|M5dHlw``MvNae$Q0dF zzw_KbgzZ~HUdwtVZFjY&>>M{ve7o?K$MtJNP5-mJ4P3&kx39XaVrpRKVX!X0SX!5s z-4m<GqMbUm#Y6JhgpFKAevj|R^mk6mmHfs3NNC=Ei>wHxSwgCvGReQD$f^f#+P~$I zWP_po3en7r$dy-|+}=nWyHhvo{Y%>?dCzq2=nL83yu9W9p664$&+Zhzl05C0anE0q z<;QK8idG2B^7B+Pxx@KY<;gdxC&3qbOvGyBE#EJnzQULx{>Hx#Z8mdTKJDX|_qAUl zcPL?=j{Wb)?@TZJXNb`MHj`01^x(1L+fmHQGaY^}<y*aSo_9*&o=Zk-4<kF}m-Q}p a<?#?GH@s!pdC^<ptumjDtVsgP|C<1`yX*r1 literal 0 HcmV?d00001 diff --git a/wp-content/themes/twentyeleven/images/headers/chessboard.jpg b/wp-content/themes/twentyeleven/images/headers/chessboard.jpg new file mode 100644 index 0000000000000000000000000000000000000000..4fd9377c3ce1c8ba819711493aa99b5e59804cd6 GIT binary patch literal 53906 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 literal 0 HcmV?d00001 diff --git a/wp-content/themes/twentyeleven/images/headers/hanoi-thumbnail.jpg b/wp-content/themes/twentyeleven/images/headers/hanoi-thumbnail.jpg new file mode 100644 index 0000000000000000000000000000000000000000..9fc963f59bcec47c25765c1719783983bb11ace2 GIT binary patch literal 4584 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 WZeW{naDmgU#%>diuini6Zvp^6ZDD}` literal 0 HcmV?d00001 diff --git a/wp-content/themes/twentyeleven/images/headers/hanoi.jpg b/wp-content/themes/twentyeleven/images/headers/hanoi.jpg new file mode 100644 index 0000000000000000000000000000000000000000..37d73f19b220eb13c49f9047d66ce306137647af GIT binary patch literal 40965 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 UWoGKI)kRh$U=a(CYWV+~0KQRYIsgCw literal 0 HcmV?d00001 diff --git a/wp-content/themes/twentyeleven/images/headers/lanterns-thumbnail.jpg b/wp-content/themes/twentyeleven/images/headers/lanterns-thumbnail.jpg new file mode 100644 index 0000000000000000000000000000000000000000..1713f371e7966590bbdcab1b64301d5f5f362b03 GIT binary patch literal 8370 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 literal 0 HcmV?d00001 diff --git a/wp-content/themes/twentyeleven/images/headers/lanterns.jpg b/wp-content/themes/twentyeleven/images/headers/lanterns.jpg new file mode 100644 index 0000000000000000000000000000000000000000..3a25db4afb64883ef7062de69a552eb7c7642560 GIT binary patch literal 95061 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¨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∨<ed~^F|Ig4q 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 UVxGcy^}U0z?ok6p5B~o*0n+GH1ONa4 literal 0 HcmV?d00001 diff --git a/wp-content/themes/twentyeleven/images/headers/pine-cone-thumbnail.jpg b/wp-content/themes/twentyeleven/images/headers/pine-cone-thumbnail.jpg new file mode 100644 index 0000000000000000000000000000000000000000..248fe00a14d04291255257853ee34ce0ab12e59c GIT binary patch literal 3770 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 literal 0 HcmV?d00001 diff --git a/wp-content/themes/twentyeleven/images/headers/pine-cone.jpg b/wp-content/themes/twentyeleven/images/headers/pine-cone.jpg new file mode 100644 index 0000000000000000000000000000000000000000..b70bf7c67c3ec64bdae12fd5a294898dd31a9f31 GIT binary patch literal 39112 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 literal 0 HcmV?d00001 diff --git a/wp-content/themes/twentyeleven/images/headers/shore-thumbnail.jpg b/wp-content/themes/twentyeleven/images/headers/shore-thumbnail.jpg new file mode 100644 index 0000000000000000000000000000000000000000..5e5e740e9b4226e3824caebcdd2e7187d6dd91b0 GIT binary patch literal 6035 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 literal 0 HcmV?d00001 diff --git a/wp-content/themes/twentyeleven/images/headers/shore.jpg b/wp-content/themes/twentyeleven/images/headers/shore.jpg new file mode 100644 index 0000000000000000000000000000000000000000..237563069fb8d85017d249f548b7c940f51d9551 GIT binary patch literal 79509 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 literal 0 HcmV?d00001 diff --git a/wp-content/themes/twentyeleven/images/headers/trolley-thumbnail.jpg b/wp-content/themes/twentyeleven/images/headers/trolley-thumbnail.jpg new file mode 100644 index 0000000000000000000000000000000000000000..d2ee200088f8cc69b965b9520e10c0bd1883a052 GIT binary patch literal 6385 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 XCgZ8)AS}%t8}i2>@W%3;|8D{SIb^9H literal 0 HcmV?d00001 diff --git a/wp-content/themes/twentyeleven/images/headers/trolley.jpg b/wp-content/themes/twentyeleven/images/headers/trolley.jpg new file mode 100644 index 0000000000000000000000000000000000000000..61c8956fc21e73b1b366cac47e02a416db64df55 GIT binary patch literal 62979 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%0Ail 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�PIb!Lr5jpj_JCyjJmzXC-$!PMxElse5eNpGK!O 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 literal 0 HcmV?d00001 diff --git a/wp-content/themes/twentyeleven/images/headers/wheel-thumbnail.jpg b/wp-content/themes/twentyeleven/images/headers/wheel-thumbnail.jpg new file mode 100644 index 0000000000000000000000000000000000000000..d7fa9713588b437c9ac0cb2f1123a3b3e622b586 GIT binary patch literal 6460 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 Z7?)35TICAv^!&U~%0ETkZAbe5n*da48e0GW literal 0 HcmV?d00001 diff --git a/wp-content/themes/twentyeleven/images/headers/wheel.jpg b/wp-content/themes/twentyeleven/images/headers/wheel.jpg new file mode 100644 index 0000000000000000000000000000000000000000..a6155ff122140ed71244da90b467992336c999aa GIT binary patch literal 60901 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 literal 0 HcmV?d00001 diff --git a/wp-content/themes/twentyeleven/images/headers/willow-thumbnail.jpg b/wp-content/themes/twentyeleven/images/headers/willow-thumbnail.jpg new file mode 100644 index 0000000000000000000000000000000000000000..240fff8a16aa55f97260502c39a06afe17246691 GIT binary patch literal 4297 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 X0RsC{H+~UOnbIIH@jR%*{{Kw?n~JSP literal 0 HcmV?d00001 diff --git a/wp-content/themes/twentyeleven/images/headers/willow.jpg b/wp-content/themes/twentyeleven/images/headers/willow.jpg new file mode 100644 index 0000000000000000000000000000000000000000..61bd538b1ac75f388d3ae22e8cddbda590cacd45 GIT binary patch literal 68450 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 literal 0 HcmV?d00001 diff --git a/wp-content/themes/twentyeleven/images/search.png b/wp-content/themes/twentyeleven/images/search.png new file mode 100644 index 0000000000000000000000000000000000000000..1f9d8288bcd369aec1561e625cf2d87caca62f39 GIT binary patch literal 441 zcmeAS@N?(olHy`uVBq!ia0y~yU=RUe4rT@hhF#%r?HL#t76tf(xc>kDpMhe)#>NIW zgB1)|V1R=I%wlI@M*wDaE@n11HZCqMHa0d+PBu<3;Na!}0d5Wu14eT5a=XpRRb^mc zFe?f23ua(sVrF4w<K^QQ5EK!Wl9rKEP*PS=)6mf~Ffz8ZvT<~Bb@TA__6Z0G3<-~n zj){qli%&@8Sluhdz`!uU)5S4FLUQiGn_^A@46GNFU6{3&Uef5zFqrfI|JIbX-S3?F z-}3%R`C?iVEXEnhq82rUd8Yk|<*jY!ue?quNL%C_5ML5_De0VI#Gb{Qp2#&F*48p^ z6R0|~>&K0P?x-WOUWa?kvdRule!V8REn@|zw!3VvsAO#3K^EP#b7vY<RBAnBjKUOW hPEtN0lHX&$m+{{%e!s81OrW@6@O1TaS?83{1OVP_VZ8tV literal 0 HcmV?d00001 diff --git a/wp-content/themes/twentyeleven/images/wordpress.png b/wp-content/themes/twentyeleven/images/wordpress.png new file mode 100644 index 0000000000000000000000000000000000000000..4a15056adb87263648da2747b3a32ea7671034ce GIT binary patch literal 794 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4rT@h1`S>QU<L-p838^at{oj6OO`D8|NnnS zM+XB8bie=u1A~c)35*A#v$C=}IyyFO+O%=w#`WvhcXV_-e*AdOoH-93Jh*r7-t5`4 zXUv$<(a|w|`t%<^espwneERfh+O%n(KYxDv_H9Q;$E#Pbe*XMfQ&ZE`)%EAkpa1{= zcXf6B`0?ZC&!3MTJ?iM_`0(Kag#7a53&d3&9UZy3xkW`qjg5`X&CM+>Ep2UW?d|Oy z9UYyWon2jB-5njhy}f;XeG?{3m^g9bq)C$|Po6ww%9N>7r%szTZN`ilGiT16J$v?? zIdkUDojY&tym|BHEnK*8*|KFTSFT*OYSr4cYuBw?zkdDt4I4IW+_-VmrcIkSZ{D(H z%eHOXwr}6QW5<r&yLa!~x9`A#1BVVBI(+!>(W6I?9XodX`0-PxPMtn|`tqgASFT*S ze*OB*8#iv>zJ2G;ox6AMK6vop;lqayA3c2Z=+WcHk6*la@#f8&w{PEm{P5x9$B&;r zefs?QGsM@we*OCW`}dzefBydc`|t0+fB*jd|M&0z|Nkj`%l|VlFqoGF`2{mDFtBln zsi|w}nx_`^PMExP``-Nr&YU@W_T2d^SFc^aapUIATeojNdi>_?+jsBYz5f6*{oBt! z$s2B2GcYjx@^o<wk&t9Pc-rrfg9zJ$|8r&r<!P2kX{p^)km~J}F5lCXJ^w&^$@2b- z8A*GNv~Y=LWhS25Vo)c~*l;_e??d1$T?WQQ?{<{j*|kJCR*=O-e?$4HQ=d;}OCJ;3 zlUFf^iQ(8qlk={x*Ua1T%j2hSZME>qIdgwJ4C0K5ovcwHZ~f-9zsVb&#?$vtr1T$F zh%AjZy31b{t#hbB@kx-}4YNPXCW{`KbIy8yb?TGdFTSV$jy&YK_RV~AkN6iC>ZPw~ zn>|ccKYX-idFV^qcG1@rvbnsHQ5!nHhIotE#P@RXx6Lz4<7Eo`{pEOIMA+f=y<45Q i93@$8#eZIE`YCU(oW-dm^*8{Ou037-T-G@yGywp>ddeLD literal 0 HcmV?d00001 diff --git a/wp-content/themes/twentyeleven/inc/images/content-sidebar.png b/wp-content/themes/twentyeleven/inc/images/content-sidebar.png new file mode 100644 index 0000000000000000000000000000000000000000..f4d4794712d0264a2e960d46b2328a2979b19181 GIT binary patch literal 273 zcmeAS@N?(olHy`uVBq!ia0y~yVCZ0AV5s6?W?*0lwtHQ~z`!6`;u=vBoS#-wo>-L1 z;Fyx1l&avFo0y&&l$w}QS$HzlhJk@WG{7gs_4$hz|NsC0{N>BrckjM^`}Xta&rhE| zB?av`$-uxc$<xI#q~g|_+lE{R6nGp07jOJ-U$iiKyH!WyzWOHii>^N1N?V;K-0U}( z_sBo~S^*X8Z+T)7cdg1$i}|L}EbT{8vS+6qwo-EIjAmvc7JL%ilxk_KTvTd#_xbDa d?F`HeJMZwd#waITV_;xl@O1TaS?83{1OOdSTe|=N literal 0 HcmV?d00001 diff --git a/wp-content/themes/twentyeleven/inc/images/content.png b/wp-content/themes/twentyeleven/inc/images/content.png new file mode 100644 index 0000000000000000000000000000000000000000..6cf1da4aacaa8aad7cec2551c720ef9117456f05 GIT binary patch literal 3682 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 literal 0 HcmV?d00001 diff --git a/wp-content/themes/twentyeleven/inc/images/dark.png b/wp-content/themes/twentyeleven/inc/images/dark.png new file mode 100644 index 0000000000000000000000000000000000000000..55eda6679807a1657550b7f5ce03e97d47bd4edc GIT binary patch literal 6884 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 literal 0 HcmV?d00001 diff --git a/wp-content/themes/twentyeleven/inc/images/light.png b/wp-content/themes/twentyeleven/inc/images/light.png new file mode 100644 index 0000000000000000000000000000000000000000..51b1b7a80af9e43f33b09d45f337b985635848a2 GIT binary patch literal 7052 zcmeAS@N?(olHy`uVBq!ia0y~yVCZ0AV5s6?Vqjo+-P9w_z`!6`;u=vBoS#-wo>-L1 z;Fyx1l&avFo0y&&l$w}QS$HzlhJis^&(p;*q~g|_*vc5;<G1JYcD5+Ta8)R`FHqp( z)X;j+s=k1u%UyH}mqyr%MG>wmx+?CoZ@U+9RQh1E)+x=fr^~d8L;@y8b56)$;=EaI zK0BF{vGeWvx3|yR)xS8C()a#M`Lmhn)8?itO0+R5{<mx7Na9H1Q0!3bP;60XQ)m-t zl5j#1ny_A>?R;wS&q)%Iv2$-3@=rfIE$yX>|Mf$On{OXUT(!$8a#@s7=v=RV>pv;J zT$Xg?iOa3?cjJ3o6DvY|>b8jbs&T(g7r$(~K6InU?0ft>{cE>~9=^7&ZNY2He<i+g zFQ+O7JGo4DE_Xg?9KZFylJ=iXtJ5Z%CnipEQq{C&^E$*a-^RmFPRrNmE@LJ`>mmy~ zE#F;F6gYAhw|*6je_kK@vuL)x$L^nBy#yY5{^RfrW?f^?E4G^Fy3m=Xf2*r_j+IVc zVjvys@_$*b;GgiB2fug!G5x&VJ8a*M^uigT@3pdL*?ra&F+F?lZ_lp`%`V3{Zkx2P zw@*o3OPA|kwCYyy{{IfKYxmbC+)lpm+C0Gj+_zKDyG2cB>d4gA-Q8`kl|4(-wwJBe z)^LZRBWHu?Y}PfG+N+(M78%=bTOD{l_5MfScO`%IB3?|&se8Bggl}Ve_wDD6U)6Ft zIX=$HxZ!$IJU!-4*&ea0N+106`K1+tzRmP*KkMD>dSm;MeK9#Jn_4HA^?tVuZEVfm zx4*8`RCck-_j{ebjO|^iX{+xY(Y1CG^Pj+H@%!pVL1X@;#M>8Iy3f6@kN9+UtyAim z6`uCY|7O{?9nTg%$I!VzAX@RK_sh43=Y|D`o!HQHEx5e=?;S(?do{ONH@{t#v;34@ zTwJcTy2CWl#H}ZzYv-i7s1#biKa|iOc}dc%>r|Dt0B?Nez7|oJpdytUrzW5GDtz_z zt>&No4~q_Xh&a2;22J0R`cvh3#}cthspXHZ%dT5IJ!y@?B9jg5_X2(iA8|PU{Prv< z>DdpD+_-V0tenlaZ*O2t;-jw1u~*6rD<0{$&bN+TzM-b{*PjD#&VD=_8xmb|?fLH0 zOXtq2cYB;RnPpN&&@=0cAD-JBO84G1{q(W0P}jH;Y0sWRcMe~4=s1}BdG9&{k$GP~ ziYFfk4xc<VsAuv1x3SvqUw0n#y_+Z7;1W4&eG9ASWeLXZ^Z&+0Mg4kpa%+COm-?6f z-StmTozn{RPYLVMaIZZy?Zo#>C2kIPHZv``^=FDV_ivBiGbA=yuQz@?A?MY$GY&$# z%k`r<8m3PEwLrFQ&6Dki<nN`Zdh(t-D5qTVG_gYK*oEjWMb3i<-jz%^rW^BYe@<e- z375C))!E$HSRC)(N!)RC<HMO!iz*ch_R7m<EbNvOSh-hHQT+T&uT`G5-`DV2e?GO{ zEM-#MJv;rGg&teC>$C7(cD>s4i(&VN8<!_#c?LXMKl98vhQ1lkwANaDb<}iX*lwa4 zy8CaAPfgSz$2HUbED4@;#50c1W0`p2^Ay7u4-F3l@kkaKY~i%YPZ68XdtYRWX3f;q zoIhTj-5;G&BH<$Ezw6RekMcuiS$qsLt_6iQK2o{O%(7QcBVTU)_oZ$}_HR4nJIUm8 zD7Vgs{<<nlz4?KXHS6WYy!BVG2tT#2U%)%tY--7y#)cN&`<u-VEIR%^lW9q>9m9h2 z7GD@**cU9f3_Y#8v;6&c(dn-r+g;;$D>XsStvi(acH)K72)n&n7I94vYu$Nf=eI|` z);Jk|hD%T4&O<@DQeFF7VP(!ge|-L<SbgL*^WtSj>iqMSjh`i@r6>DMJm0j(w(YBu zAu|K-$(ufDzYVsQGJkh@yP|wy>B+RsX_w{h{AoE_R~=`uF1*bk!gtfm-68r9eQdny zgNhut$_9H#d|Pp{cnYJ+F$ZD(zB37{X7rUXe^lbx!ne$EcEZV!jT^5A?yLLke*W>N zODleGu7AMvcoBc)gTAWQr@6N}_vPv5ZQ6Rf##6;qRqxw%^@tl+4i?|@Q4h>@?N3Tt zBG!2K66fAs7QwZde%-IOyuE)k*v0j{VL-KUSRPv>%iot_3@Y9I+}e}k*Iaq#Y3|n5 z)g{6rd68A8Mtp&v;{_e{UKYvLM^nOP2ImAG(`9hUYPqZGUUgXAdXk^=YDTubj<-$< zGbp&Pieh-<&SPq}k@<mI+GTkQUWLDAJH)QqY(CC=aN0qR<$(&1w^nF<NHq{iKjvjv zvSigx?TD^*5<9vh(r=y=Nqs5D{Pfy~D_fU3o!%|6&(6f8<oL4%3xwZSY}zb8?YoKN zmp?onqG^s#W`@he^zpx3e)N>AVD;yJv5g_yOJ;_trfg^PULhKFcyarR2D@u{7S&S8 zt@;s0$9$IPoG{>RfA~fF&%%}eK1$lKb^nvKX8K!t#G%VpyV;=j{k}8}_o82sdkSt( z4hkv!d~+)2#C!Lw*B?24<Veh}((iKd&aVHQWj*3HPb&_4a8@q-{bBvrb_>tDYF%== zJIynPi_xZVSMK%t$_0J%Bo!vBT$pRav$5@9gXX(UyI*Vw4QB5+JgxZ82Z^*Q*}BmF zga^j=m*$p5$Eh4tm|;=7q|ANy{_e-O=Ktyz<|!|3{QBjdT*(FHpeYeDPfb-<CEpWG zpZ?|Dy*{N?q1kt)Z58AGF5a<gW^Kx~7s|5R?WcDHXx|dodXsH@SY%hD{kzCB8-?E~ zrFbvTd~nRS=Go0)-KBzSKUVN4{667hZ7DHF*(`cxz2ol_Dw^ApD%R@M$QHS8SbEnd z<LDQ?vsxNu?Zx5V+20nL3YWT?9*8}3+;)=WQ~9mOo%eQU<%Z3>zdhl>bn9hjXXM|` z6Q7ZyZWa1vYta$=qrwN)^*P^~8MOG%`S&v~i?T(t9Cl*fIrm{{-UbafpZd>+J7(P3 zuQaLp+a#^9;@=B}PE7mUXVZK8ectWhZ7u(f$Sb|ybLY919rFqao{4@Z<($Mmcu#gY zT<(87+5g&J;ny->e{Q-uYnO}5(zw{?3+}9)cTr6zs_Qb#;x}hXj~o|_{=V?i+tW2S zWr8D<w=6&YE@!8Ng7I`&@k{I06ff}7m5qH_mVIY)_x@e~ne~$kZkA4+>cf{c<LiYB zm#6;D`J>$u8y|c7LQjbI!WA!Ge7$}(jIDn6hF7a!Nkwq58AUE#9%mmb`zk!#b&u+2 zebFWf^rnaaiV&>1f~2ZN;o1M?8XpeH?|$NSVP8s2Q{U?QR^nCX-%ZKQ);RTlfxG$J zW88-Gi=4JkU3=fw{qbw-qq}4tNX%NgNWJg+6$k6b^5>)%Y0aKEd;6(Nw&kbpwLFg9 zH}{+U<X2Oi8v_%5cfR+%cs<jCpReW4%AlY|5f!$ksKkmt?<RAb+`6!Oy055z+51~A z+`ltp?(6RlKfm7FX1>Y3=p!ov68v7z-(zrY)%up~%&oti&unQa&(5A5{nV<vq2jB- zigo#af7>o7xOryRr1sY}eQ8^Jvku*Je=HVjDL7m0MRwXUMn@l4#lR|t1xuE+{8?<A zv4pc`>6U+=EpGk3T-~2~Z5z`9+q3y^bF7Sl?QLv?E0q@uF}zyQ>Udw`3A@Z0_5~G( zA4(=R2Cw)!^Z2*9IvFYlPo<r%kFedO&)TqTigCOC;-95zJ9zS!ewz@v`ek_E|4A`z zEo^<UyN;dq+xoOW{@l|qm$dp_g;y$zuZcCg#}L1OebIu4f#sJL>3;b8`^&E<*J7Vv z_7<4qS9kl+9?2Amux5rSrRnZB9-ndFd7+{3VD;hS{7>v}ysX|)aib`Ft@c6jW%vHf ztW?q1e1FyE+i9x`xs|4^`CGf;|I80F_dL4M5j%a}k~HUE&zO(xXleZswL+w=ie;i0 z>rJEe>+fBE<h6e7#rdUAestYqc=AU`LMZn2-sg8}F1F6-cYoP4|CUSmG=uHje~z6} zlGqem{N;%GFP(K-Rr!l&AJXgl^l|4wG54RmmJ9do+rMwE<<sZVGINhV`)oh$&NtVf zdt1ZoxV}cpUvCjv`Ahe}b@Q#Ow(5NK`0(({Ewv>jrAy|&-}ghw?u@p#?W@PdYoyw` zlbC9l7v0}@>&F}O<$r3X{l1g-_?B)T=a-L`@%OGA%K!B^WWo8i7fCywx^7sX@9^ZY zn%tj_D#xyuAI{d3%l!QF=dQN4<gz(?sw5|_STW;^kwo48^qhKSW##jsuc!OGZ)e%J z`y<;koA{)pjuu|txwfsHY|Y#DHqWk~b^Wx5&cv6R#l5_|%jRV}Xr-l|F*S5L<l}eD zM0rcXjg#Ef`-`2JE`Q(GU@19IZBbA&&t50nFB1>6UT2cf<2IB`$=ISWUA6Vc$G5K! z9a?@n{fnWA$WrqZ8G}QeO4@8eZ3|kq)^Sc^xxA85*yH8uhlabwdjgmp&K@y6V*1yi zsB>#4TSk(Z$#%Y1##T9V)%=}1mo4WC+4|MwO4PkOXGMGNo8J|gsoU1)9rNh=60sVQ zC5ProKjRN@-_m>V(pf#p>Zm2*@(!0Tv(Kq~c(3__?eU7r6E^oJsQZ*lOJuB%$y(od zz<j1nob~kPjOMcZxI+RV#Z}kcbPi>6Z`tYoYvr!?e_PI4A9}v(pW%tRfB$xePcGZZ z!+dD><c;h3BLlPhcSgw9)c$kqlMh|-EoZ-NT~hO8x9B`J77r<g*rO>CyelJ_15VU7 ze|NibpgA@@YU=&kQl))8%XpYMR&d>a!Pn*WdF%V|{~A9g-9KBM`ILLhym+w*3g+_O zckGrK7j*DF_;US$XB>n6`8|z)vdyejDzr2&*~c&@CG22rJKpkc?%Hc@TCS<4zNV>5 zr`c}`UGrknTIcg;oGe9O^nd)QWxJ*LZ<b2xjgbHO?2qqHa1*)y_iLTzqZPMGf^yB4 zA9e9<@%OwQ5dXB*<oEMUIuX@Nj+|~yv#)*e?RJ`Ws;^u8#ox>S_+8+;TUoh%s#MRu z9ljTreq68o|N6cAc2ED61@^7^<Hh%Dl1Ykn7Dv?7eV1*HH%A*qGxjU#$UU(4m6nuS zcv@-YX3jJ6ERoD6d;UDVbL{NFN77Rs>8?3za^>_s`Ji>@GtAjalpkN5`+G^aN7V%N z#fMY9?bt-RFVqTu-plaJHK!tEs?%)yCNE$2;KhGWKRGq$`cvHlLbKP;fAxAt2b=DC zlaGHsK0o^B*{em~(fxC--u{@Y@A7f6e)4AvUWfm)Pkbo!>R?^CB;@a-%E^6ko4L;I zJ+ZvscaB_;aNO4K0V&4MyTn=6ujG`w<}cc|^KE&trP=<rn;hK6A5R}%V{?VGY2WRG zKRP-MmhV*2Ue0&z`r<|5Umui<_A-27+Y>J7`s2~6l)$s|Cpfcur>NBm-7`zrZ?m)J zx#)?)<U4Csf8{H`eJ1a`USR<jr-O;1i0SR4#wMHJ%W|G^6MMQRlZUr*vpdrq(XB~` zuBrSw`et(S7ROlEl}h=)KR=Dx9bmRe`bN?BsBIVKUw*!5zTT9c4ex&cdpIxF@PwTA zwHL{b+cVa#an08?_P(c(yf`mseW<u>{29jx#<P~Y`{u4?wmsYP+Rxoy*v~ib)l%*l zy_VTARnrb<op-SnjC-2xxxZpj>W2c^oO_R+XSt`GaCn$!dBI0UR&j^fw<|Y)EI&DY zyIzE##Eb*W95c+8{+d61?QhMj|F0hWNMp3gT(dIlw`;?_S%F%1vb)}Y=?ndL)1ZY< zP5!She_;NaN2~2)553|2BF5UXU&U!-ybU{d<eFKk`Ij47e{M8gd}(*O8H=i3oWzd$ z=U&f!HM!PE7=`i%ux?tZ(%kTM-NI_;OIx=%BriVL5_*qEH(|@F`^ReQG;f7;oV+?? z&&}fjz6Pfj{L45{cCYcQ@wK%D9C!c!Ro2zbOJ00*4R2qSzz5!wH#Z!=uRo1zMpW}} zMqRGFIaA-%ZlCgZNA1@8rCJXPOpoXD$S=JzjeDhsj`>o#Qz4a;1NX{CzS_qAsO;z2 zUk`u$5`A&0FsAn1aZWFTs--)&Kjztb!}j(B!S?F>T^nj!b}8_u#`-QvUZHHBGsC1j zJ?Tv6Tovhb_sugx7*_Jn-g~U<`oS%4H!o|rXJ+;*;M(VQ{hM*e-foq;u*}+cficJQ zIK68{r4tIO620cwm@djWoPPiA$8zQFK-X0bq1Tpvm~B^=QhfVXWTCIGZ_b{rN1lKB zIcb4`{T;>n=ycwKiSe`T{$|dx33GO4?!K(}x7e9^_GMQ?zV4%sPN^))l&MR1eHHhw zD#v}o+=&+%nr%bx9zXuO=b^IP$v^8=o-cTLCwWB`->wf=>etA9T=V9>QjOm1qYnc^ zwp`u+>YI=w&&QIP_?kQ@gEo*>5Q-4$I1bX#&d<|JZ*QM=GqO83w=d<vzRzd><!;nX z{&cK;NA<To)rxBGCh9*84=89l_~Bgo-^F*I8h3YV|G0bh?B1>C&Xi?q$<G%`aZ6vL zf1vjLq?tQspS$t%-|G)sQqFFRoORxjxo(?T#Y;28SH~XnM!i?rJB>-J=8sgHotll_ z^gFlmsy}NuUcR+w^Y1nRmW}^!W}c`kE&A6aJ%88ixmJe~lWxB~lBKEd`u%c-ipI~6 z*)RWSdDwE@<az(Kv>_n(=p)XV|9KunD%!{I7VACnH2dP+{m<9ip1S+w@YXd|g*N}| zWK!(v1T^h7zuBB&weNHV&-bEDmtJ!nv)2j<O_jLz_Fwo@Hlt+|7yOu0uJqu|qA5Bz zE*;$SG%ahTh4<6P*;T@6mqhobpFBQIG15vUhv6l!nYodXYs!X+E1CEtdU9<%mfW~r z8u8}r-yPGQW?$2hKE7*aNSo^3vvmp=KAE`x6)%_<!zH@bb9v~-o${$W5~r)@ev<3^ z`)==BubmZ&8&6Lt@z%MU{rV}_!*sr%Uo)f2@1OCpeU)<9;Zp8iz9-?~_BNk%r{#W{ zwc@+d(L;ZAt$eP$cv9Az6!h(N-ELNK&n4X4clYM+aao=AaF%mINI~jupLh0$rm`$g z4et;?t~zP;`CC)xeHEYN8vp<Ahu^%6nX|U;llW6m`9QvA#Ysz<Cnq9m9tuB5yK}?v z=CNbv&b2)hnKmPuTj9;`D=TKRcl2ML)pcj0{=a)|a`R%^*|gUgNyt^&>@d1_{?sp@ z#UEDv3C-vJenQ+s<L?I%w&ucbo}7~-XBJdw3hj%#ap{lIq=N<LlMl|>l<m>=d)@7& zrM;m`Gwp9&S}T6{(V<IUj1qrMI~jKE3$v)fnN!v+OQJ7dUoH}MJ=Es*BRiSSTQ%~b zA;;HfdGTynxO=|d6th`<roVKB_J!SOYCo@2{qe&kE34X*Yt<`5jSNo7dC!_W@k;^o zuJf@Axf^E9-F8j!q|S_~O(H$(U1Eho?6|gUvJ24Xx0$5JQa?jc<a@7sp6c|Jd0!n4 zrBCvHHM4Z*$KMkS=5Az>6rM5p<*^0xwR5I!Sv`T7E$)z7@~^fOl`qG?9=(=#J)qn# z^drx)DJE(>pFfM;yl`Huu4(7bj0de-dY|O7^}H9Jv0mw=hT)wVQ=MP#+pcntuR?U= zWQl*3XJt(8s=K{nZT!lzGClW<^tII<Q*PP2EI#987QJhOv6H6F>qOJnTGF{wE^Z8* z*E73yI{R9+H~}-o^_Fax?nKYDQ?A}^dUwCX$`$YAnhk%NU$MS+{Dfv$c5=XaE>6c~ zX4dnSMUStMXnH?Iz=nCHuZ65+_WEgDyQ3atJKvuYpnme}w~KC8ccVRg*e*pLTl6;l z+#G>Zj;%5$C+aRc*LvON?}pQMuf66yZPHyad%4{g%O$_2gs-_+yP5mJ#YDGNcfPxJ z1Ul@hTx1!zV*8Y-*`K%EI^}KmdqT_VZ9jdtb$!3+8M1QMjISEmVhmePX6%|A61loR z(roER4^!?LikpuY6~u4s7rH99VcXt~H;#(%n=pxW$F`bqedxXRBvYw()4`NE{}nE@ zDI_GtOXgKgcKvF1ZQst!Uia*jwQg${@-=&0|FoKAmMSOH+Dhj@_h2i&&((9gPBLzG zS6Q}7-_DXHVeX`rxmry7Bxfi+V6WUMwJ>Y#G7Im7in1+V9&cnmzKf@YkK^Nl<YYsK z#alzSNNYWNxc>bIPnC@G?~nF*=4-wyYi`N>B`iKM-1b!2Ru9IWN;i>|B^P%6{{B9D z0q5tI#VH$d+V{RvNS&b8^Kn+<h1r+Z#p+G>U;1gb)sod&ue<(mIqICTo$B$|?8J{R zFBh_KOUqt3-=KD&$E7*dS~i3|@ade}F1z(F#mLWmwx#6hm&n{3Jk8gRr0-m{|GsI= zgZ_&-Hf4+!(`LmVsAb`|Hx6M|T*m28tMT?v+{&zPO-JT0Zfi|G|9s=ckH?=kRWY17 z$<K1bz^3?N*V4lpT=SA$KDTeo3CR7h>gvoU%bvzXo1Xc3KeT>*?XA`fyY@a4ucZs` zOO($rJf3?l#>Z`C`usla=gG5WUS#InEBf`VICJj%^}Vvz_VcfLo5@az*>@^<`ASY% z&DxW97A?HJ{;vuD_MMm9{EtrETDs+?>-~Uhh8r_%Ypt2TdvDxeIh9W}gYVt7nbl@( zcdviiV18s$NRR9?E!B10Jq$gOPUoX-d)vzx>U)>>RSGn_d<po?W6b{ae4K~4>hGiZ z?-NRMVkR7R(e7XTgE2VA#M*+N%_m6TfBC;jq1h&Fj0bxi(oc2RW$d|rBjL9H>^X-& zt-8SM{CBl<oMT~I-{C72D=r>xo;r8`XV(s%e%&m`Yp2@9cQY$LV4Qc%B=vcyUB<7q zPAc;AV@q{Ys%9O~yKz{cSpKMRG4ts{>sz;$Wy{-qD(=XRh%>#Fad-9Wxa`M0GVQ19 zmd|EiaBTbgSN4TJwa(pFJj>cS>vu?L?dIZD2l5WfC|f>zks;0?#qy!&qT8eQ@!FDp zC823Xo{yJBa*HqRI-M17^W(Lm@udeBrEPc;7jjz(R;+5he&yKw@Vx4%Mmd95-STT< z1Y0*W|2iTvGx^dw%{TT}kKB`#v43Zn$dR{e*11`?ru@uW`Xj~jtBpkP)8{*D(rm=G zM~H09-PZW&cOBCWk7lMVxlD@=S8_Y=?>t=dmiL2Ab<m60>t+U4bM_mQ1jew;(rLKM zfA?12!X}9yCz8xBiTI~-NXq0&`174yvfb#?i^ka*i`V^dOSP9+pJz}c^U`|#%a3sr zPckYq>*qeM6;{jQYfD!?JM*-4{{-G#!Nrz$D`zeIvir#sLBBi&y^EcO4kn4YOnSN5 zQ?IBs+~vF5W#E2bakneeJe$hwTh{NIu5Omy_`~M^(W?`Gu6U;!T=IWgdg`5JRoBuT z7QW0_seRHqsqpp86N|#GUJac**)Q<rk{i>da@QmmdWg&_d%m<XCQo{%*1g!<JHGPj zID}oi7WSWe&Yw?~UwzCLtjNk<SsExk{cK910!y-Zw9Q9>$rZbNI2?H#c@$X;SqxhQ qjtDpjI14y)IG(AG{O8}m$Pg=O<Xq)mUC6+|z~JfX=d#Wzp$Py#Q>JVH literal 0 HcmV?d00001 diff --git a/wp-content/themes/twentyeleven/inc/images/sidebar-content.png b/wp-content/themes/twentyeleven/inc/images/sidebar-content.png new file mode 100644 index 0000000000000000000000000000000000000000..de520237019aeb2a2756f96e3796dff0a8ec8f0f GIT binary patch literal 272 zcmeAS@N?(olHy`uVBq!ia0y~yVCZ0AV5s6?W?*0lwtHQ~z`!6`;u=vBoS#-wo>-L1 z;Fyx1l&avFo0y&&l$w}QS$HzlhJk@WG{7gs_4$hz|NsC0{N>BrckjM^`}Xta&rhE| zB?av`$-uxc(bL5-q~g|_+m2iZ6nGdM7jOJuU$k($Tx(b3xqS%=Rf3lnd8`#k`S$oM z`=#3-tvFD?34KM&zUf=zdQLfrxfQ#{{C3-15aE7AqcGcnXkgc_qq98S<z2Mj_n*J6 c>K<TFdCb>(P-<Q+0|Nttr>mdKI;Vst09jLJ@Bjb+ literal 0 HcmV?d00001 diff --git a/wp-content/themes/twentyeleven/inc/theme-options.css b/wp-content/themes/twentyeleven/inc/theme-options.css new file mode 100644 index 000000000..464ab8c46 --- /dev/null +++ b/wp-content/themes/twentyeleven/inc/theme-options.css @@ -0,0 +1,35 @@ +#wpcontent select option { + padding-right: 5px; +} +.image-radio-option td { + padding-top: 15px; +} +.image-radio-option label { + display: block; + float: left; + margin: 0 30px 20px 2px; + position: relative; +} +.image-radio-option input { + margin: 0 0 10px; +} +.image-radio-option span { + display: block; + width: 136px; +} +.image-radio-option img { + margin: 0 0 0 -2px; +} +#link-color-example { + -moz-border-radius: 4px; + -webkit-border-radius: 4px; + border-radius: 4px; + border: 1px solid #dfdfdf; + margin: 0 7px 0 3px; + padding: 4px 14px; +} + +body.rtl .image-radio-option label { + float: right; + margin: 0 2px 20px 30px; +} diff --git a/wp-content/themes/twentyeleven/inc/theme-options.js b/wp-content/themes/twentyeleven/inc/theme-options.js new file mode 100644 index 000000000..4cfaec151 --- /dev/null +++ b/wp-content/themes/twentyeleven/inc/theme-options.js @@ -0,0 +1,52 @@ +var farbtastic; + +(function($){ + var pickColor = function(a) { + farbtastic.setColor(a); + $('#link-color').val(a); + $('#link-color-example').css('background-color', a); + }; + + $(document).ready( function() { + $('#default-color').wrapInner('<a href="#" />'); + + farbtastic = $.farbtastic('#colorPickerDiv', pickColor); + + pickColor( $('#link-color').val() ); + + $('.pickcolor').click( function(e) { + $('#colorPickerDiv').show(); + e.preventDefault(); + }); + + $('#link-color').keyup( function() { + var a = $('#link-color').val(), + b = a; + + a = a.replace(/[^a-fA-F0-9]/, ''); + if ( '#' + a !== b ) + $('#link-color').val(a); + if ( a.length === 3 || a.length === 6 ) + pickColor( '#' + a ); + }); + + $(document).mousedown( function() { + $('#colorPickerDiv').hide(); + }); + + $('#default-color a').click( function(e) { + pickColor( '#' + this.innerHTML.replace(/[^a-fA-F0-9]/, '') ); + e.preventDefault(); + }); + + $('.image-radio-option.color-scheme input:radio').change( function() { + var currentDefault = $('#default-color a'), + newDefault = $(this).next().val(); + + if ( $('#link-color').val() == currentDefault.text() ) + pickColor( newDefault ); + + currentDefault.text( newDefault ); + }); + }); +})(jQuery); \ No newline at end of file diff --git a/wp-content/themes/twentyeleven/inc/theme-options.php b/wp-content/themes/twentyeleven/inc/theme-options.php new file mode 100644 index 000000000..34e29f7a0 --- /dev/null +++ b/wp-content/themes/twentyeleven/inc/theme-options.php @@ -0,0 +1,408 @@ +<?php +/** + * Twenty Eleven Theme Options + * + * @package WordPress + * @subpackage Twenty_Eleven + * @since Twenty Eleven 1.0 + */ + +/** + * Properly enqueue styles and scripts for our theme options page. + * + * This function is attached to the admin_enqueue_scripts action hook. + * + * @since Twenty Eleven 1.0 + * + */ +function twentyeleven_admin_enqueue_scripts( $hook_suffix ) { + wp_enqueue_style( 'twentyeleven-theme-options', get_template_directory_uri() . '/inc/theme-options.css', false, '2011-04-28' ); + wp_enqueue_script( 'twentyeleven-theme-options', get_template_directory_uri() . '/inc/theme-options.js', array( 'farbtastic' ), '2011-06-10' ); + wp_enqueue_style( 'farbtastic' ); +} +add_action( 'admin_print_styles-appearance_page_theme_options', 'twentyeleven_admin_enqueue_scripts' ); + +/** + * Register the form setting for our twentyeleven_options array. + * + * This function is attached to the admin_init action hook. + * + * This call to register_setting() registers a validation callback, twentyeleven_theme_options_validate(), + * which is used when the option is saved, to ensure that our option values are complete, properly + * formatted, and safe. + * + * We also use this function to add our theme option if it doesn't already exist. + * + * @since Twenty Eleven 1.0 + */ +function twentyeleven_theme_options_init() { + + // If we have no options in the database, let's add them now. + if ( false === twentyeleven_get_theme_options() ) + add_option( 'twentyeleven_theme_options', twentyeleven_get_default_theme_options() ); + + register_setting( + 'twentyeleven_options', // Options group, see settings_fields() call in theme_options_render_page() + 'twentyeleven_theme_options', // Database option, see twentyeleven_get_theme_options() + 'twentyeleven_theme_options_validate' // The sanitization callback, see twentyeleven_theme_options_validate() + ); +} +add_action( 'admin_init', 'twentyeleven_theme_options_init' ); + +/** + * Change the capability required to save the 'twentyeleven_options' options group. + * + * @see twentyeleven_theme_options_init() First parameter to register_setting() is the name of the options group. + * @see twentyeleven_theme_options_add_page() The edit_theme_options capability is used for viewing the page. + * + * By default, the options groups for all registered settings require the manage_options capability. + * This filter is required to change our theme options page to edit_theme_options instead. + * By default, only administrators have either of these capabilities, but the desire here is + * to allow for finer-grained control for roles and users. + * + * @param string $capability The capability used for the page, which is manage_options by default. + * @return string The capability to actually use. + */ +function twentyeleven_option_page_capability( $capability ) { + return 'edit_theme_options'; +} +add_filter( 'option_page_capability_twentyeleven_options', 'twentyeleven_option_page_capability' ); + +/** + * Add our theme options page to the admin menu, including some help documentation. + * + * This function is attached to the admin_menu action hook. + * + * @since Twenty Eleven 1.0 + */ +function twentyeleven_theme_options_add_page() { + $theme_page = add_theme_page( + __( 'Theme Options', 'twentyeleven' ), // Name of page + __( 'Theme Options', 'twentyeleven' ), // Label in menu + 'edit_theme_options', // Capability required + 'theme_options', // Menu slug, used to uniquely identify the page + 'twentyeleven_theme_options_render_page' // Function that renders the options page + ); + + if ( ! $theme_page ) + return; + + $help = '<p>' . __( 'Some themes provide customization options that are grouped together on a Theme Options screen. If you change themes, options may change or disappear, as they are theme-specific. Your current theme, Twenty Eleven, provides the following Theme Options:', 'twentyeleven' ) . '</p>' . + '<ol>' . + '<li>' . __( '<strong>Color Scheme</strong>: You can choose a color palette of "Light" (light background with dark text) or "Dark" (dark background with light text) for your site.', 'twentyeleven' ) . '</li>' . + '<li>' . __( '<strong>Link Color</strong>: You can choose the color used for text links on your site. You can enter the HTML color or hex code, or you can choose visually by clicking the "Select a Color" button to pick from a color wheel.', 'twentyeleven' ) . '</li>' . + '<li>' . __( '<strong>Default Layout</strong>: You can choose if you want your site’s default layout to have a sidebar on the left, the right, or not at all.', 'twentyeleven' ) . '</li>' . + '</ol>' . + '<p>' . __( 'Remember to click "Save Changes" to save any changes you have made to the theme options.', 'twentyeleven' ) . '</p>' . + '<p><strong>' . __( 'For more information:', 'twentyeleven' ) . '</strong></p>' . + '<p>' . __( '<a href="http://codex.wordpress.org/Appearance_Theme_Options_Screen" target="_blank">Documentation on Theme Options</a>', 'twentyeleven' ) . '</p>' . + '<p>' . __( '<a href="http://wordpress.org/support/" target="_blank">Support Forums</a>', 'twentyeleven' ) . '</p>'; + + add_contextual_help( $theme_page, $help ); +} +add_action( 'admin_menu', 'twentyeleven_theme_options_add_page' ); + +/** + * Returns an array of color schemes registered for Twenty Eleven. + * + * @since Twenty Eleven 1.0 + */ +function twentyeleven_color_schemes() { + $color_scheme_options = array( + 'light' => array( + 'value' => 'light', + 'label' => __( 'Light', 'twentyeleven' ), + 'thumbnail' => get_template_directory_uri() . '/inc/images/light.png', + 'default_link_color' => '#1b8be0', + ), + 'dark' => array( + 'value' => 'dark', + 'label' => __( 'Dark', 'twentyeleven' ), + 'thumbnail' => get_template_directory_uri() . '/inc/images/dark.png', + 'default_link_color' => '#e4741f', + ), + ); + + return apply_filters( 'twentyeleven_color_schemes', $color_scheme_options ); +} + +/** + * Returns an array of layout options registered for Twenty Eleven. + * + * @since Twenty Eleven 1.0 + */ +function twentyeleven_layouts() { + $layout_options = array( + 'content-sidebar' => array( + 'value' => 'content-sidebar', + 'label' => __( 'Content on left', 'twentyeleven' ), + 'thumbnail' => get_template_directory_uri() . '/inc/images/content-sidebar.png', + ), + 'sidebar-content' => array( + 'value' => 'sidebar-content', + 'label' => __( 'Content on right', 'twentyeleven' ), + 'thumbnail' => get_template_directory_uri() . '/inc/images/sidebar-content.png', + ), + 'content' => array( + 'value' => 'content', + 'label' => __( 'One-column, no sidebar', 'twentyeleven' ), + 'thumbnail' => get_template_directory_uri() . '/inc/images/content.png', + ), + ); + + return apply_filters( 'twentyeleven_layouts', $layout_options ); +} + +/** + * Returns the default options for Twenty Eleven. + * + * @since Twenty Eleven 1.0 + */ +function twentyeleven_get_default_theme_options() { + $default_theme_options = array( + 'color_scheme' => 'light', + 'link_color' => twentyeleven_get_default_link_color( 'light' ), + 'theme_layout' => 'content-sidebar', + ); + + if ( is_rtl() ) + $default_theme_options['theme_layout'] = 'sidebar-content'; + + return apply_filters( 'twentyeleven_default_theme_options', $default_theme_options ); +} + +/** + * Returns the default link color for Twenty Eleven, based on color scheme. + * + * @since Twenty Eleven 1.0 + * + * @param $string $color_scheme Color scheme. Defaults to the active color scheme. + * @return $string Color. +*/ +function twentyeleven_get_default_link_color( $color_scheme = null ) { + if ( null === $color_scheme ) { + $options = twentyeleven_get_theme_options(); + $color_scheme = $options['color_scheme']; + } + + $color_schemes = twentyeleven_color_schemes(); + if ( ! isset( $color_schemes[ $color_scheme ] ) ) + return false; + + return $color_schemes[ $color_scheme ]['default_link_color']; +} + +/** + * Returns the options array for Twenty Eleven. + * + * @since Twenty Eleven 1.0 + */ +function twentyeleven_get_theme_options() { + return get_option( 'twentyeleven_theme_options', twentyeleven_get_default_theme_options() ); +} + +/** + * Returns the options array for Twenty Eleven. + * + * @since Twenty Eleven 1.2 + */ +function twentyeleven_theme_options_render_page() { + ?> + <div class="wrap"> + <?php screen_icon(); ?> + <h2><?php printf( __( '%s Theme Options', 'twentyeleven' ), get_current_theme() ); ?></h2> + <?php settings_errors(); ?> + + <form method="post" action="options.php"> + <?php + settings_fields( 'twentyeleven_options' ); + $options = twentyeleven_get_theme_options(); + $default_options = twentyeleven_get_default_theme_options(); + ?> + + <table class="form-table"> + + <tr valign="top" class="image-radio-option color-scheme"><th scope="row"><?php _e( 'Color Scheme', 'twentyeleven' ); ?></th> + <td> + <fieldset><legend class="screen-reader-text"><span><?php _e( 'Color Scheme', 'twentyeleven' ); ?></span></legend> + <?php + foreach ( twentyeleven_color_schemes() as $scheme ) { + ?> + <div class="layout"> + <label class="description"> + <input type="radio" name="twentyeleven_theme_options[color_scheme]" value="<?php echo esc_attr( $scheme['value'] ); ?>" <?php checked( $options['color_scheme'], $scheme['value'] ); ?> /> + <input type="hidden" id="default-color-<?php echo esc_attr( $scheme['value'] ); ?>" value="<?php echo esc_attr( $scheme['default_link_color'] ); ?>" /> + <span> + <img src="<?php echo esc_url( $scheme['thumbnail'] ); ?>" width="136" height="122" alt="" /> + <?php echo $scheme['label']; ?> + </span> + </label> + </div> + <?php + } + ?> + </fieldset> + </td> + </tr> + + <tr valign="top"><th scope="row"><?php _e( 'Link Color', 'twentyeleven' ); ?></th> + <td> + <fieldset><legend class="screen-reader-text"><span><?php _e( 'Link Color', 'twentyeleven' ); ?></span></legend> + <input type="text" name="twentyeleven_theme_options[link_color]" id="link-color" value="<?php echo esc_attr( $options['link_color'] ); ?>" /> + <a href="#" class="pickcolor hide-if-no-js" id="link-color-example"></a> + <input type="button" class="pickcolor button hide-if-no-js" value="<?php esc_attr_e( 'Select a Color', 'twentyeleven' ); ?>" /> + <div id="colorPickerDiv" style="z-index: 100; background:#eee; border:1px solid #ccc; position:absolute; display:none;"></div> + <br /> + <span><?php printf( __( 'Default color: %s', 'twentyeleven' ), '<span id="default-color">' . twentyeleven_get_default_link_color( $options['color_scheme'] ) . '</span>' ); ?></span> + </fieldset> + </td> + </tr> + + <tr valign="top" class="image-radio-option theme-layout"><th scope="row"><?php _e( 'Default Layout', 'twentyeleven' ); ?></th> + <td> + <fieldset><legend class="screen-reader-text"><span><?php _e( 'Color Scheme', 'twentyeleven' ); ?></span></legend> + <?php + foreach ( twentyeleven_layouts() as $layout ) { + ?> + <div class="layout"> + <label class="description"> + <input type="radio" name="twentyeleven_theme_options[theme_layout]" value="<?php echo esc_attr( $layout['value'] ); ?>" <?php checked( $options['theme_layout'], $layout['value'] ); ?> /> + <span> + <img src="<?php echo esc_url( $layout['thumbnail'] ); ?>" width="136" height="122" alt="" /> + <?php echo $layout['label']; ?> + </span> + </label> + </div> + <?php + } + ?> + </fieldset> + </td> + </tr> + </table> + + <?php submit_button(); ?> + </form> + </div> + <?php +} + +/** + * Sanitize and validate form input. Accepts an array, return a sanitized array. + * + * @see twentyeleven_theme_options_init() + * @todo set up Reset Options action + * + * @since Twenty Eleven 1.0 + */ +function twentyeleven_theme_options_validate( $input ) { + $output = $defaults = twentyeleven_get_default_theme_options(); + + // Color scheme must be in our array of color scheme options + if ( isset( $input['color_scheme'] ) && array_key_exists( $input['color_scheme'], twentyeleven_color_schemes() ) ) + $output['color_scheme'] = $input['color_scheme']; + + // Our defaults for the link color may have changed, based on the color scheme. + $output['link_color'] = $defaults['link_color'] = twentyeleven_get_default_link_color( $output['color_scheme'] ); + + // Link color must be 3 or 6 hexadecimal characters + if ( isset( $input['link_color'] ) && preg_match( '/^#?([a-f0-9]{3}){1,2}$/i', $input['link_color'] ) ) + $output['link_color'] = '#' . strtolower( ltrim( $input['link_color'], '#' ) ); + + // Theme layout must be in our array of theme layout options + if ( isset( $input['theme_layout'] ) && array_key_exists( $input['theme_layout'], twentyeleven_layouts() ) ) + $output['theme_layout'] = $input['theme_layout']; + + return apply_filters( 'twentyeleven_theme_options_validate', $output, $input, $defaults ); +} + +/** + * Enqueue the styles for the current color scheme. + * + * @since Twenty Eleven 1.0 + */ +function twentyeleven_enqueue_color_scheme() { + $options = twentyeleven_get_theme_options(); + $color_scheme = $options['color_scheme']; + + if ( 'dark' == $color_scheme ) + wp_enqueue_style( 'dark', get_template_directory_uri() . '/colors/dark.css', array(), null ); + + do_action( 'twentyeleven_enqueue_color_scheme', $color_scheme ); +} +add_action( 'wp_enqueue_scripts', 'twentyeleven_enqueue_color_scheme' ); + +/** + * Add a style block to the theme for the current link color. + * + * This function is attached to the wp_head action hook. + * + * @since Twenty Eleven 1.0 + */ +function twentyeleven_print_link_color_style() { + $options = twentyeleven_get_theme_options(); + $link_color = $options['link_color']; + + $default_options = twentyeleven_get_default_theme_options(); + + // Don't do anything if the current link color is the default. + if ( $default_options['link_color'] == $link_color ) + return; +?> + <style> + /* Link color */ + a, + #site-title a:focus, + #site-title a:hover, + #site-title a:active, + .entry-title a:hover, + .entry-title a:focus, + .entry-title a:active, + .widget_twentyeleven_ephemera .comments-link a:hover, + section.recent-posts .other-recent-posts a[rel="bookmark"]:hover, + section.recent-posts .other-recent-posts .comments-link a:hover, + .format-image footer.entry-meta a:hover, + #site-generator a:hover { + color: <?php echo $link_color; ?>; + } + section.recent-posts .other-recent-posts .comments-link a:hover { + border-color: <?php echo $link_color; ?>; + } + article.feature-image.small .entry-summary p a:hover, + .entry-header .comments-link a:hover, + .entry-header .comments-link a:focus, + .entry-header .comments-link a:active, + .feature-slider a.active { + background-color: <?php echo $link_color; ?>; + } + </style> +<?php +} +add_action( 'wp_head', 'twentyeleven_print_link_color_style' ); + +/** + * Adds Twenty Eleven layout classes to the array of body classes. + * + * @since Twenty Eleven 1.0 + */ +function twentyeleven_layout_classes( $existing_classes ) { + $options = twentyeleven_get_theme_options(); + $current_layout = $options['theme_layout']; + + if ( in_array( $current_layout, array( 'content-sidebar', 'sidebar-content' ) ) ) + $classes = array( 'two-column' ); + else + $classes = array( 'one-column' ); + + if ( 'content-sidebar' == $current_layout ) + $classes[] = 'right-sidebar'; + elseif ( 'sidebar-content' == $current_layout ) + $classes[] = 'left-sidebar'; + else + $classes[] = $current_layout; + + $classes = apply_filters( 'twentyeleven_layout_classes', $classes, $current_layout ); + + return array_merge( $existing_classes, $classes ); +} +add_filter( 'body_class', 'twentyeleven_layout_classes' ); \ No newline at end of file diff --git a/wp-content/themes/twentyeleven/inc/widgets.php b/wp-content/themes/twentyeleven/inc/widgets.php new file mode 100644 index 000000000..3ea38e57b --- /dev/null +++ b/wp-content/themes/twentyeleven/inc/widgets.php @@ -0,0 +1,166 @@ +<?php +/** + * Makes a custom Widget for displaying Aside, Link, Status, and Quote Posts available with Twenty Eleven + * + * Learn more: http://codex.wordpress.org/Widgets_API#Developing_Widgets + * + * @package WordPress + * @subpackage Twenty_Eleven + * @since Twenty Eleven 1.0 + */ +class Twenty_Eleven_Ephemera_Widget extends WP_Widget { + + /** + * Constructor + * + * @return void + **/ + function Twenty_Eleven_Ephemera_Widget() { + $widget_ops = array( 'classname' => 'widget_twentyeleven_ephemera', 'description' => __( 'Use this widget to list your recent Aside, Status, Quote, and Link posts', 'twentyeleven' ) ); + $this->WP_Widget( 'widget_twentyeleven_ephemera', __( 'Twenty Eleven Ephemera', 'twentyeleven' ), $widget_ops ); + $this->alt_option_name = 'widget_twentyeleven_ephemera'; + + add_action( 'save_post', array(&$this, 'flush_widget_cache' ) ); + add_action( 'deleted_post', array(&$this, 'flush_widget_cache' ) ); + add_action( 'switch_theme', array(&$this, 'flush_widget_cache' ) ); + } + + /** + * Outputs the HTML for this widget. + * + * @param array An array of standard parameters for widgets in this theme + * @param array An array of settings for this widget instance + * @return void Echoes it's output + **/ + function widget( $args, $instance ) { + $cache = wp_cache_get( 'widget_twentyeleven_ephemera', 'widget' ); + + if ( !is_array( $cache ) ) + $cache = array(); + + if ( ! isset( $args['widget_id'] ) ) + $args['widget_id'] = null; + + if ( isset( $cache[$args['widget_id']] ) ) { + echo $cache[$args['widget_id']]; + return; + } + + ob_start(); + extract( $args, EXTR_SKIP ); + + $title = apply_filters( 'widget_title', empty( $instance['title'] ) ? __( 'Ephemera', 'twentyeleven' ) : $instance['title'], $instance, $this->id_base); + + if ( ! isset( $instance['number'] ) ) + $instance['number'] = '10'; + + if ( ! $number = absint( $instance['number'] ) ) + $number = 10; + + $ephemera_args = array( + 'order' => 'DESC', + 'posts_per_page' => $number, + 'no_found_rows' => true, + 'post_status' => 'publish', + 'post__not_in' => get_option( 'sticky_posts' ), + 'tax_query' => array( + array( + 'taxonomy' => 'post_format', + 'terms' => array( 'post-format-aside', 'post-format-link', 'post-format-status', 'post-format-quote' ), + 'field' => 'slug', + 'operator' => 'IN', + ), + ), + ); + $ephemera = new WP_Query( $ephemera_args ); + + if ( $ephemera->have_posts() ) : + + echo $before_widget; + echo $before_title; + echo $title; // Can set this with a widget option, or omit altogether + echo $after_title; + + ?> + <ol> + <?php while ( $ephemera->have_posts() ) : $ephemera->the_post(); ?> + + <?php if ( 'link' != get_post_format() ) : ?> + + <li class="widget-entry-title"> + <a href="<?php echo esc_url( get_permalink() ); ?>" title="<?php printf( esc_attr__( 'Permalink to %s', 'twentyeleven' ), the_title_attribute( 'echo=0' ) ); ?>" rel="bookmark"><?php the_title(); ?></a> + <span class="comments-link"> + <?php comments_popup_link( __( '0 <span class="reply">comments →</span>', 'twentyeleven' ), __( '1 <span class="reply">comment →</span>', 'twentyeleven' ), __( '% <span class="reply">comments →</span>', 'twentyeleven' ) ); ?> + </span> + </li> + + <?php else : ?> + + <li class="widget-entry-title"> + <?php + // Grab first link from the post content. If none found, use the post permalink as fallback. + $link_url = twentyeleven_url_grabber(); + + if ( empty( $link_url ) ) + $link_url = get_permalink(); + ?> + <a href="<?php echo esc_url( $link_url ); ?>" title="<?php printf( esc_attr__( 'Link to %s', 'twentyeleven' ), the_title_attribute( 'echo=0' ) ); ?>" rel="bookmark"><?php the_title(); ?> <span>→</span></a> + <span class="comments-link"> + <?php comments_popup_link( __( '0 <span class="reply">comments →</span>', 'twentyeleven' ), __( '1 <span class="reply">comment →</span>', 'twentyeleven' ), __( '% <span class="reply">comments →</span>', 'twentyeleven' ) ); ?> + </span> + </li> + + <?php endif; ?> + + <?php endwhile; ?> + </ol> + <?php + + echo $after_widget; + + // Reset the post globals as this query will have stomped on it + wp_reset_postdata(); + + // end check for ephemeral posts + endif; + + $cache[$args['widget_id']] = ob_get_flush(); + wp_cache_set( 'widget_twentyeleven_ephemera', $cache, 'widget' ); + } + + /** + * Deals with the settings when they are saved by the admin. Here is + * where any validation should be dealt with. + **/ + function update( $new_instance, $old_instance ) { + $instance = $old_instance; + $instance['title'] = strip_tags( $new_instance['title'] ); + $instance['number'] = (int) $new_instance['number']; + $this->flush_widget_cache(); + + $alloptions = wp_cache_get( 'alloptions', 'options' ); + if ( isset( $alloptions['widget_twentyeleven_ephemera'] ) ) + delete_option( 'widget_twentyeleven_ephemera' ); + + return $instance; + } + + function flush_widget_cache() { + wp_cache_delete( 'widget_twentyeleven_ephemera', 'widget' ); + } + + /** + * Displays the form for this widget on the Widgets page of the WP Admin area. + **/ + function form( $instance ) { + $title = isset( $instance['title']) ? esc_attr( $instance['title'] ) : ''; + $number = isset( $instance['number'] ) ? absint( $instance['number'] ) : 10; +?> + <p><label for="<?php echo esc_attr( $this->get_field_id( 'title' ) ); ?>"><?php _e( 'Title:', 'twentyeleven' ); ?></label> + <input class="widefat" id="<?php echo esc_attr( $this->get_field_id( 'title' ) ); ?>" name="<?php echo esc_attr( $this->get_field_name( 'title' ) ); ?>" type="text" value="<?php echo esc_attr( $title ); ?>" /></p> + + <p><label for="<?php echo esc_attr( $this->get_field_id( 'number' ) ); ?>"><?php _e( 'Number of posts to show:', 'twentyeleven' ); ?></label> + <input id="<?php echo esc_attr( $this->get_field_id( 'number' ) ); ?>" name="<?php echo esc_attr( $this->get_field_name( 'number' ) ); ?>" type="text" value="<?php echo esc_attr( $number ); ?>" size="3" /></p> + <?php + } +} \ No newline at end of file diff --git a/wp-content/themes/twentyeleven/index.php b/wp-content/themes/twentyeleven/index.php new file mode 100644 index 000000000..f955f3499 --- /dev/null +++ b/wp-content/themes/twentyeleven/index.php @@ -0,0 +1,52 @@ +<?php +/** + * The main template file. + * + * This is the most generic template file in a WordPress theme + * and one of the two required files for a theme (the other being style.css). + * It is used to display a page when nothing more specific matches a query. + * E.g., it puts together the home page when no home.php file exists. + * Learn more: http://codex.wordpress.org/Template_Hierarchy + * + * @package WordPress + * @subpackage Twenty_Eleven + */ + +get_header(); ?> + + <div id="primary"> + <div id="content" role="main"> + + <?php if ( have_posts() ) : ?> + + <?php twentyeleven_content_nav( 'nav-above' ); ?> + + <?php /* Start the Loop */ ?> + <?php while ( have_posts() ) : the_post(); ?> + + <?php get_template_part( 'content', get_post_format() ); ?> + + <?php endwhile; ?> + + <?php twentyeleven_content_nav( 'nav-below' ); ?> + + <?php else : ?> + + <article id="post-0" class="post no-results not-found"> + <header class="entry-header"> + <h1 class="entry-title"><?php _e( 'Nothing Found', 'twentyeleven' ); ?></h1> + </header><!-- .entry-header --> + + <div class="entry-content"> + <p><?php _e( 'Apologies, but no results were found for the requested archive. Perhaps searching will help find a related post.', 'twentyeleven' ); ?></p> + <?php get_search_form(); ?> + </div><!-- .entry-content --> + </article><!-- #post-0 --> + + <?php endif; ?> + + </div><!-- #content --> + </div><!-- #primary --> + +<?php get_sidebar(); ?> +<?php get_footer(); ?> \ No newline at end of file diff --git a/wp-content/themes/twentyeleven/js/html5.js b/wp-content/themes/twentyeleven/js/html5.js new file mode 100644 index 000000000..6dd03a4ce --- /dev/null +++ b/wp-content/themes/twentyeleven/js/html5.js @@ -0,0 +1,3 @@ +// html5shiv MIT @rem remysharp.com/html5-enabling-script +// iepp v1.6.2 MIT @jon_neal iecss.com/print-protector +/*@cc_on(function(a,b){function r(a){var b=-1;while(++b<f)a.createElement(e[b])}if(!(!window.attachEvent||!b.createStyleSheet||!function(){var a=document.createElement("div");a.innerHTML="<elem></elem>";return a.childNodes.length!==1}())){a.iepp=a.iepp||{};var c=a.iepp,d=c.html5elements||"abbr|article|aside|audio|canvas|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",e=d.split("|"),f=e.length,g=new RegExp("(^|\\s)("+d+")","gi"),h=new RegExp("<(/*)("+d+")","gi"),i=/^\s*[\{\}]\s*$/,j=new RegExp("(^|[^\\n]*?\\s)("+d+")([^\\n]*)({[\\n\\w\\W]*?})","gi"),k=b.createDocumentFragment(),l=b.documentElement,m=l.firstChild,n=b.createElement("body"),o=b.createElement("style"),p=/print|all/,q;c.getCSS=function(a,b){if(a+""===undefined)return"";var d=-1,e=a.length,f,g=[];while(++d<e){f=a[d];if(f.disabled)continue;b=f.media||b,p.test(b)&&g.push(c.getCSS(f.imports,b),f.cssText),b="all"}return g.join("")},c.parseCSS=function(a){var b=[],c;while((c=j.exec(a))!=null)b.push(((i.exec(c[1])?"\n":c[1])+c[2]+c[3]).replace(g,"$1.iepp_$2")+c[4]);return b.join("\n")},c.writeHTML=function(){var a=-1;q=q||b.body;while(++a<f){var c=b.getElementsByTagName(e[a]),d=c.length,g=-1;while(++g<d)c[g].className.indexOf("iepp_")<0&&(c[g].className+=" iepp_"+e[a])}k.appendChild(q),l.appendChild(n),n.className=q.className,n.id=q.id,n.innerHTML=q.innerHTML.replace(h,"<$1font")},c._beforePrint=function(){o.styleSheet.cssText=c.parseCSS(c.getCSS(b.styleSheets,"all")),c.writeHTML()},c.restoreHTML=function(){n.innerHTML="",l.removeChild(n),l.appendChild(q)},c._afterPrint=function(){c.restoreHTML(),o.styleSheet.cssText=""},r(b),r(k);if(c.disablePP)return;m.insertBefore(o,m.firstChild),o.media="print",o.className="iepp-printshim",a.attachEvent("onbeforeprint",c._beforePrint),a.attachEvent("onafterprint",c._afterPrint)}})(this,document)@*/ \ No newline at end of file diff --git a/wp-content/themes/twentyeleven/js/showcase.js b/wp-content/themes/twentyeleven/js/showcase.js new file mode 100644 index 000000000..d9fb2fedd --- /dev/null +++ b/wp-content/themes/twentyeleven/js/showcase.js @@ -0,0 +1,17 @@ +(function($) { + $(document).ready( function() { + $('.feature-slider a').click(function(e) { + $('.featured-posts section.featured-post').css({ + opacity: 0, + visibility: 'hidden' + }); + $(this.hash).css({ + opacity: 1, + visibility: 'visible' + }); + $('.feature-slider a').removeClass('active'); + $(this).addClass('active'); + e.preventDefault(); + }); + }); +})(jQuery); \ No newline at end of file diff --git a/wp-content/themes/twentyeleven/languages/twentyeleven.pot b/wp-content/themes/twentyeleven/languages/twentyeleven.pot new file mode 100644 index 000000000..1cdd5e26c --- /dev/null +++ b/wp-content/themes/twentyeleven/languages/twentyeleven.pot @@ -0,0 +1,654 @@ +# Copyright (C) 2010 Twenty Eleven +# This file is distributed under the same license as the Twenty Eleven package. +msgid "" +msgstr "" +"Project-Id-Version: Twenty Eleven 1.0\n" +"Report-Msgid-Bugs-To: http://wordpress.org/tag/twentyeleven\n" +"POT-Creation-Date: 2011-06-30 22:47:23+00:00\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"PO-Revision-Date: 2010-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" +"Language-Team: LANGUAGE <LL@li.org>\n" + +#: content-quote.php:14 showcase.php:113 showcase.php:192 content.php:15 +#: content.php:19 content-image.php:15 content-gallery.php:16 +#: content-gallery.php:48 content-aside.php:16 content-status.php:15 +#: inc/widgets.php:91 content-link.php:16 content-featured.php:14 +msgid "Permalink to %s" +msgstr "" + +#: content-quote.php:15 +msgid "Quote" +msgstr "" + +#: content-quote.php:24 content.php:30 content-image.php:21 +#: content-image.php:64 content-aside.php:22 content-status.php:21 +#: content-link.php:22 +msgid "Reply" +msgstr "" + +#: content-quote.php:24 content.php:30 content-image.php:21 +#: content-aside.php:22 content-status.php:21 content-link.php:22 +msgctxt "comments number" +msgid "1" +msgstr "" + +#: content-quote.php:24 content.php:30 content-image.php:21 +#: content-aside.php:22 content-status.php:21 content-link.php:22 +msgctxt "comments number" +msgid "%" +msgstr "" + +#: content-quote.php:35 content.php:41 content-image.php:27 +#: content-gallery.php:32 content-aside.php:33 functions.php:327 +#: content-status.php:34 content-link.php:33 +msgid "Continue reading <span class=\"meta-nav\">→</span>" +msgstr "" + +#: content-quote.php:36 content.php:42 content-image.php:28 +#: content-single.php:24 content-intro.php:18 content-gallery.php:54 +#: content-aside.php:34 image.php:89 content-status.php:35 content-page.php:18 +#: content-link.php:34 content-featured.php:23 +msgid "Pages:" +msgstr "" + +#. translators: used between list items, there is a space after the comma +#: content-quote.php:44 content-quote.php:54 content.php:51 content.php:61 +#: content-image.php:47 content-image.php:56 content-single.php:30 +#: content-single.php:33 content-gallery.php:62 content-gallery.php:72 +#: content-featured.php:29 content-featured.php:38 +msgid ", " +msgstr "" + +#: content-quote.php:48 content.php:55 content-image.php:51 +#: content-gallery.php:66 +msgid "<span class=\"%1$s\">Posted in</span> %2$s" +msgstr "" + +#: content-quote.php:60 content.php:67 content-image.php:59 +#: content-gallery.php:78 +msgid "<span class=\"%1$s\">Tagged</span> %2$s" +msgstr "" + +#: content-quote.php:69 showcase.php:194 content.php:77 content-aside.php:42 +#: content-status.php:43 content-link.php:42 +msgid "Leave a reply" +msgstr "" + +#: content-quote.php:69 showcase.php:194 content.php:77 content-gallery.php:87 +#: content-aside.php:42 content-status.php:43 content-link.php:42 +msgid "<b>1</b> Reply" +msgstr "" + +#: content-quote.php:69 showcase.php:194 content.php:77 content-gallery.php:87 +#: content-aside.php:42 content-status.php:43 content-link.php:42 +msgid "<b>%</b> Replies" +msgstr "" + +#: content-quote.php:72 content.php:80 content-image.php:68 +#: content-single.php:52 content-intro.php:19 content-gallery.php:90 +#: content-aside.php:44 image.php:40 functions.php:503 functions.php:531 +#: content-status.php:45 content-page.php:21 content-link.php:44 +#: content-featured.php:45 +msgid "Edit" +msgstr "" + +#: showcase.php:70 +msgid "Featured Post" +msgstr "" + +#: showcase.php:143 +msgid "Featuring: %s" +msgstr "" + +#: showcase.php:153 +msgid "Recent Posts" +msgstr "" + +#: index.php:37 category.php:50 tag.php:50 author.php:74 search.php:42 +#: archive.php:57 +msgid "Nothing Found" +msgstr "" + +#: index.php:41 category.php:54 tag.php:54 author.php:78 archive.php:61 +msgid "" +"Apologies, but no results were found for the requested archive. Perhaps " +"searching will help find a related post." +msgstr "" + +#: content.php:16 +msgid "Featured" +msgstr "" + +#. #-#-#-#-# twentyeleven.pot (Twenty Eleven 1.0) #-#-#-#-# +#. Author URI of the plugin/theme +#: footer.php:26 +msgid "http://wordpress.org/" +msgstr "" + +#: footer.php:26 +msgid "Semantic Personal Publishing Platform" +msgstr "" + +#: footer.php:26 +msgid "Proudly powered by %s" +msgstr "" + +#: category.php:19 +msgid "Category Archives: %s" +msgstr "" + +#: content-image.php:16 +msgid "Image" +msgstr "" + +#: content-image.php:34 +msgid "" +"<a href=\"%1$s\" rel=\"bookmark\"><time class=\"entry-date\" datetime=\"%2$s" +"\" pubdate>%3$s</time></a><span class=\"by-author\"> <span class=\"sep\"> by " +"</span> <span class=\"author vcard\"><a class=\"url fn n\" href=\"%4$s\" " +"title=\"%5$s\" rel=\"author\">%6$s</a></span></span>" +msgstr "" + +#: content-image.php:39 functions.php:568 +msgid "View all posts by %s" +msgstr "" + +#: content-image.php:64 +msgid "<strong>1</strong> Reply" +msgstr "" + +#: content-image.php:64 +msgid "<strong>%</strong> Replies" +msgstr "" + +#: sidebar.php:19 +msgid "Archives" +msgstr "" + +#: sidebar.php:26 +msgid "Meta" +msgstr "" + +#: content-single.php:35 +msgid "" +"This entry was posted in %1$s and tagged %2$s by <a href=\"%6$s\">%5$s</a>. " +"Bookmark the <a href=\"%3$s\" title=\"Permalink to %4$s\" rel=\"bookmark" +"\">permalink</a>." +msgstr "" + +#: content-single.php:37 +msgid "" +"This entry was posted in %1$s by <a href=\"%6$s\">%5$s</a>. Bookmark the <a " +"href=\"%3$s\" title=\"Permalink to %4$s\" rel=\"bookmark\">permalink</a>." +msgstr "" + +#: content-single.php:39 +msgid "" +"This entry was posted by <a href=\"%6$s\">%5$s</a>. Bookmark the <a href=\"%3" +"$s\" title=\"Permalink to %4$s\" rel=\"bookmark\">permalink</a>." +msgstr "" + +#: content-single.php:60 author.php:49 +msgid "About %s" +msgstr "" + +#: content-single.php:64 +msgid "View all posts by %s <span class=\"meta-nav\">→</span>" +msgstr "" + +#: tag.php:19 +msgid "Tag Archives: %s" +msgstr "" + +#: content-gallery.php:17 +msgid "Gallery" +msgstr "" + +#: content-gallery.php:47 +msgid "This gallery contains <a %1$s>%2$s photo</a>." +msgid_plural "This gallery contains <a %1$s>%2$s photos</a>." +msgstr[0] "" +msgstr[1] "" + +#: content-gallery.php:87 +msgid "Leave a Reply" +msgstr "" + +#: comments.php:17 +msgid "" +"This post is password protected. Enter the password to view any comments." +msgstr "" + +#: comments.php:33 +msgid "One thought on “%2$s”" +msgid_plural "%1$s thoughts on “%2$s”" +msgstr[0] "" +msgstr[1] "" + +#: comments.php:40 comments.php:60 +msgid "Comment navigation" +msgstr "" + +#: comments.php:41 comments.php:61 +msgid "← Older Comments" +msgstr "" + +#: comments.php:42 comments.php:62 +msgid "Newer Comments →" +msgstr "" + +#: comments.php:72 +msgid "Comments are closed." +msgstr "" + +#: content-aside.php:17 +msgid "Aside" +msgstr "" + +#: 404.php:17 +msgid "This is somewhat embarrassing, isn’t it?" +msgstr "" + +#: 404.php:21 +msgid "" +"It seems we can’t find what you’re looking for. Perhaps " +"searching, or one of the links below, can help." +msgstr "" + +#: 404.php:28 +msgid "Most Used Categories" +msgstr "" + +#. translators: %1$s: smilie +#: 404.php:36 +msgid "Try looking in the monthly archives. %1$s" +msgstr "" + +#: image.php:18 +msgid "Image navigation" +msgstr "" + +#: image.php:19 +msgid "← Previous" +msgstr "" + +#: image.php:20 +msgid "Next →" +msgstr "" + +#: image.php:30 +msgid "" +"<span class=\"meta-prep meta-prep-entry-date\">Published </span> <span class=" +"\"entry-date\"><abbr class=\"published\" title=\"%1$s\">%2$s</abbr></span> " +"at <a href=\"%3$s\" title=\"Link to full-size image\">%4$s × %5$s</a> " +"in <a href=\"%6$s\" title=\"Return to %7$s\" rel=\"gallery\">%7$s</a>" +msgstr "" + +#: functions.php:101 +msgid "Primary Menu" +msgstr "" + +#. translators: header image description +#: functions.php:149 +msgid "Wheel" +msgstr "" + +#. translators: header image description +#: functions.php:155 +msgid "Shore" +msgstr "" + +#. translators: header image description +#: functions.php:161 +msgid "Trolley" +msgstr "" + +#. translators: header image description +#: functions.php:167 +msgid "Pine Cone" +msgstr "" + +#. translators: header image description +#: functions.php:173 +msgid "Chessboard" +msgstr "" + +#. translators: header image description +#: functions.php:179 +msgid "Lanterns" +msgstr "" + +#. translators: header image description +#: functions.php:185 +msgid "Willow" +msgstr "" + +#. translators: header image description +#: functions.php:191 +msgid "Hanoi Plant" +msgstr "" + +#: functions.php:374 +msgid "Main Sidebar" +msgstr "" + +#: functions.php:383 +msgid "Showcase Sidebar" +msgstr "" + +#: functions.php:385 +msgid "The sidebar for the optional Showcase Template" +msgstr "" + +#: functions.php:393 +msgid "Footer Area One" +msgstr "" + +#: functions.php:395 functions.php:405 functions.php:415 +msgid "An optional widget area for your site footer" +msgstr "" + +#: functions.php:403 +msgid "Footer Area Two" +msgstr "" + +#: functions.php:413 +msgid "Footer Area Three" +msgstr "" + +#: functions.php:432 single.php:18 +msgid "Post navigation" +msgstr "" + +#: functions.php:433 +msgid "<span class=\"meta-nav\">←</span> Older posts" +msgstr "" + +#: functions.php:434 +msgid "Newer posts <span class=\"meta-nav\">→</span>" +msgstr "" + +#: functions.php:503 +msgid "Pingback:" +msgstr "" + +#. translators: 1: comment author, 2: date and time +#: functions.php:520 +msgid "%1$s on %2$s <span class=\"says\">said:</span>" +msgstr "" + +#. translators: 1: date, 2: time +#: functions.php:526 +msgid "%1$s at %2$s" +msgstr "" + +#: functions.php:535 +msgid "Your comment is awaiting moderation." +msgstr "" + +#: functions.php:544 +msgid "Reply <span>↓</span>" +msgstr "" + +#: functions.php:562 +msgid "" +"<span class=\"sep\">Posted on </span><a href=\"%1$s\" title=\"%2$s\" rel=" +"\"bookmark\"><time class=\"entry-date\" datetime=\"%3$s\" pubdate>%4$s</" +"time></a><span class=\"by-author\"> <span class=\"sep\"> by </span> <span " +"class=\"author vcard\"><a class=\"url fn n\" href=\"%5$s\" title=\"%6$s\" " +"rel=\"author\">%7$s</a></span></span>" +msgstr "" + +#: header.php:45 +msgid "Page %s" +msgstr "" + +#: header.php:113 +msgid "Main menu" +msgstr "" + +#: header.php:115 +msgid "Skip to primary content" +msgstr "" + +#: header.php:116 +msgid "Skip to secondary content" +msgstr "" + +#: author.php:28 +msgid "Author Archives: %s" +msgstr "" + +#: content-status.php:16 +msgid "Status" +msgstr "" + +#: inc/theme-options.php:80 inc/theme-options.php:81 +msgid "Theme Options" +msgstr "" + +#: inc/theme-options.php:90 +msgid "" +"Some themes provide customization options that are grouped together on a " +"Theme Options screen. If you change themes, options may change or disappear, " +"as they are theme-specific. Your current theme, Twenty Eleven, provides the " +"following Theme Options:" +msgstr "" + +#: inc/theme-options.php:92 +msgid "" +"<strong>Color Scheme</strong>: You can choose a color palette of \"Light" +"\" (light background with dark text) or \"Dark\" (dark background with light " +"text) for your site." +msgstr "" + +#: inc/theme-options.php:93 +msgid "" +"<strong>Link Color</strong>: You can choose the color used for text links on " +"your site. You can enter the HTML color or hex code, or you can choose " +"visually by clicking the \"Select a Color\" button to pick from a color " +"wheel." +msgstr "" + +#: inc/theme-options.php:94 +msgid "" +"<strong>Default Layout</strong>: You can choose if you want your site’" +"s default layout to have a sidebar on the left, the right, or not at all." +msgstr "" + +#: inc/theme-options.php:96 +msgid "" +"Remember to click \"Save Changes\" to save any changes you have made to the " +"theme options." +msgstr "" + +#: inc/theme-options.php:97 +msgid "For more information:" +msgstr "" + +#: inc/theme-options.php:98 +msgid "" +"<a href=\"http://codex.wordpress.org/Appearance_Theme_Options_Screen\" " +"target=\"_blank\">Documentation on Theme Options</a>" +msgstr "" + +#: inc/theme-options.php:99 +msgid "" +"<a href=\"http://wordpress.org/support/\" target=\"_blank\">Support Forums</" +"a>" +msgstr "" + +#: inc/theme-options.php:114 +msgid "Light" +msgstr "" + +#: inc/theme-options.php:120 +msgid "Dark" +msgstr "" + +#: inc/theme-options.php:138 +msgid "Content on left" +msgstr "" + +#: inc/theme-options.php:143 +msgid "Content on right" +msgstr "" + +#: inc/theme-options.php:148 +msgid "One-column, no sidebar" +msgstr "" + +#: inc/theme-options.php:213 +msgid "%s Theme Options" +msgstr "" + +#: inc/theme-options.php:225 inc/theme-options.php:227 +#: inc/theme-options.php:263 +msgid "Color Scheme" +msgstr "" + +#: inc/theme-options.php:248 inc/theme-options.php:250 +msgid "Link Color" +msgstr "" + +#: inc/theme-options.php:253 +msgid "Select a Color" +msgstr "" + +#: inc/theme-options.php:256 +msgid "Default color: %s" +msgstr "" + +#: inc/theme-options.php:261 +msgid "Default Layout" +msgstr "" + +#: inc/widgets.php:19 +msgid "" +"Use this widget to list your recent Aside, Status, Quote, and Link posts" +msgstr "" + +#: inc/widgets.php:20 +msgid "Twenty Eleven Ephemera" +msgstr "" + +#: inc/widgets.php:52 +msgid "Ephemera" +msgstr "" + +#: inc/widgets.php:93 inc/widgets.php:109 +msgid "0 <span class=\"reply\">comments →</span>" +msgstr "" + +#: inc/widgets.php:93 inc/widgets.php:109 +msgid "1 <span class=\"reply\">comment →</span>" +msgstr "" + +#: inc/widgets.php:93 inc/widgets.php:109 +msgid "% <span class=\"reply\">comments →</span>" +msgstr "" + +#: inc/widgets.php:107 +msgid "Link to %s" +msgstr "" + +#: inc/widgets.php:159 +msgid "Title:" +msgstr "" + +#: inc/widgets.php:162 +msgid "Number of posts to show:" +msgstr "" + +#: search.php:18 +msgid "Search Results for: %s" +msgstr "" + +#: search.php:46 +msgid "" +"Sorry, but nothing matched your search criteria. Please try again with some " +"different keywords." +msgstr "" + +#: archive.php:25 +msgid "Daily Archives: %s" +msgstr "" + +#: archive.php:27 +msgid "Monthly Archives: %s" +msgstr "" + +#: archive.php:29 +msgid "Yearly Archives: %s" +msgstr "" + +#: archive.php:31 +msgid "Blog Archives" +msgstr "" + +#: content-link.php:17 +msgid "Link" +msgstr "" + +#: content-featured.php:31 +msgid "" +"This entry was posted in %1$s and tagged %2$s. Bookmark the <a href=\"%3$s\" " +"title=\"Permalink to %4$s\" rel=\"bookmark\">permalink</a>." +msgstr "" + +#: content-featured.php:33 +msgid "" +"This entry was posted in %1$s. Bookmark the <a href=\"%3$s\" title=" +"\"Permalink to %4$s\" rel=\"bookmark\">permalink</a>." +msgstr "" + +#: single.php:19 +msgid "<span class=\"meta-nav\">←</span> Previous" +msgstr "" + +#: single.php:20 +msgid "Next <span class=\"meta-nav\">→</span>" +msgstr "" + +#: searchform.php:11 searchform.php:12 searchform.php:13 +msgid "Search" +msgstr "" + +#. Theme Name of the plugin/theme +msgid "Twenty Eleven" +msgstr "" + +#. Theme URI of the plugin/theme +msgid "http://wordpress.org/extend/themes/twentyeleven" +msgstr "" + +#. Description of the plugin/theme +msgid "" +"The 2011 theme for WordPress is sophisticated, lightweight, and adaptable. " +"Make it yours with a custom menu, header image, and background -- then go " +"further with available theme options for light or dark color scheme, custom " +"link colors, and three layout choices. Twenty Eleven comes equipped with a " +"Showcase page template that transforms your front page into a showcase to " +"show off your best content, widget support galore (sidebar, three footer " +"areas, and a Showcase page widget area), and a custom \"Ephemera\" widget to " +"display your Aside, Link, Quote, or Status posts. Included are styles for " +"print and for the admin editor, support for featured images (as custom " +"header images on posts and pages and as large images on featured \"sticky\" " +"posts), and special styles for six different post formats." +msgstr "" + +#. Author of the plugin/theme +msgid "the WordPress team" +msgstr "" + +#. Tags of the plugin/theme +msgid "" +"dark, light, white, black, gray, one-column, two-columns, left-sidebar, " +"right-sidebar, fixed-width, flexible-width, custom-background, custom-" +"colors, custom-header, custom-menu, editor-style, featured-image-header, " +"featured-images, full-width-template, microformats, post-formats, rtl-" +"language-support, sticky-post, theme-options, translation-ready" +msgstr "" diff --git a/wp-content/themes/twentyeleven/license.txt b/wp-content/themes/twentyeleven/license.txt new file mode 100644 index 000000000..5fbe4a70a --- /dev/null +++ b/wp-content/themes/twentyeleven/license.txt @@ -0,0 +1,281 @@ + GNU GENERAL PUBLIC LICENSE + Version 2, June 1991 + + Copyright (C) 1989, 1991 Free Software Foundation, Inc. + 51 Franklin St, Fifth Floor, Boston, MA 02110, 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 + diff --git a/wp-content/themes/twentyeleven/page.php b/wp-content/themes/twentyeleven/page.php new file mode 100644 index 000000000..3b96e52c9 --- /dev/null +++ b/wp-content/themes/twentyeleven/page.php @@ -0,0 +1,29 @@ +<?php +/** + * The template for displaying all pages. + * + * This is the template that displays all pages by default. + * Please note that this is the WordPress construct of pages + * and that other 'pages' on your WordPress site will use a + * different template. + * + * @package WordPress + * @subpackage Twenty_Eleven + * @since Twenty Eleven 1.0 + */ + +get_header(); ?> + + <div id="primary"> + <div id="content" role="main"> + + <?php the_post(); ?> + + <?php get_template_part( 'content', 'page' ); ?> + + <?php comments_template( '', true ); ?> + + </div><!-- #content --> + </div><!-- #primary --> + +<?php get_footer(); ?> \ No newline at end of file diff --git a/wp-content/themes/twentyeleven/readme.txt b/wp-content/themes/twentyeleven/readme.txt new file mode 100644 index 000000000..e80301484 --- /dev/null +++ b/wp-content/themes/twentyeleven/readme.txt @@ -0,0 +1,5 @@ += TWENTY ELEVEN = + +* by the WordPress team, http://wordpress.org/ + +== ABOUT TWENTY ELEVEN == \ No newline at end of file diff --git a/wp-content/themes/twentyeleven/rtl.css b/wp-content/themes/twentyeleven/rtl.css new file mode 100644 index 000000000..7b67e1f23 --- /dev/null +++ b/wp-content/themes/twentyeleven/rtl.css @@ -0,0 +1,582 @@ +/* +Theme Name: Twenty Eleven + +Adding support for language written in a Right To Left (RTL) direction is easy - +it's just a matter of overwriting all the horizontal positioning attributes +of your CSS stylesheet in a separate stylesheet file named rtl.css. + +http://codex.wordpress.org/Right_to_Left_Language_Support + +*/ + +/* =Reset reset +----------------------------------------------- */ + +caption, th, td { + text-align: right; +} + +/* =Structure +----------------------------------------------- */ + +body { + direction:rtl; + unicode-bidi:embed; +} + +/* Showcase */ +.page-template-showcase-php section.recent-posts { + float: left; + margin: 0 31% 0 0; +} +.page-template-showcase-php #main .widget-area { + float: right; + margin: 0 0 0 -22.15%; +} + +/* One column */ + +.one-column article.feature-image.small .entry-summary a { + left: auto; + right: -9%; +} + +/* Simplify the pullquotes and pull styles */ +.one-column.singular .entry-meta .edit-link a { + right: 0px; + left: auto; +} +/* Make sure we have room for our comment avatars */ +.one-column .commentlist > li.comment { + margin-left: 0; + margin-right: 102px; +} +/* Make sure the logo and search form don't collide */ +.one-column #branding #searchform { + right: auto; + left: 40px; +} +/* Talking avatars take up too much room at this size */ +.one-column .commentlist > li.comment { + margin-right: 0; +} +.one-column .commentlist > li.comment .comment-meta, +.one-column .commentlist > li.comment .comment-content { + margin-right: 0; + margin-left: 85px; +} +.one-column .commentlist .avatar { + right: auto; + left: 1.625em; +} +.one-column .commentlist .children .avatar { + left: auto; + right: 2.2em; +} + +/* =Global +----------------------------------------------- */ + +/* Text elements */ +p { + margin-bottom: 1.625em; +} +ul, ol { + margin: 0 2.5em 1.625em 0; +} +.ltr ul, ol { + margin: 0 0 1.625em 2.5em; +} +blockquote { + font-family: Arial, sans-serif; +} +blockquote em, blockquote i, blockquote cite { + font-style: normal; +} + +/* Forms */ +textarea { + padding-left: 0; + padding-right: 3px; +} +input#s { + background-position: 97% 6px; + padding: 4px 28px 4px 10px; +} + +/* Assistive text */ +#access a.assistive-text:active, +#access a.assistive-text:focus { + left: auto; + right: 7.6%; +} + +/* =Header +----------------------------------------------- */ + +#site-title { + margin-right: 0; + margin-left: 270px; +} + +#site-description { + margin: 0 0 3.65625em 270px; +} + +/* =Menu +-------------------------------------------------------------- */ + +#access { + float: right; +} +#access ul { + margin: 0 -0.8125em 0 0; + padding-right: 0; +} +#access li { + float: right; +} +#access ul ul { + float: right; + left: auto; + right: 0; +} +#access ul ul ul { + left: auto; + right: 100%; +} + +/* Search Form */ +#branding #searchform { + right: auto; + left: 7.6%; + text-align: left; +} +#branding #s { + float: left; +} +#branding .only-search + #access div { + padding-right: 0; + padding-left: 205px; +} + + +/* =Content +----------------------------------------------- */ +.entry-title, +.entry-header .entry-meta { + padding-right: 0; + padding-left: 76px; +} +.entry-content td, +.comment-content td { + padding: 6px 0 6px 10px; +} +.page-link span { + margin-right: 0; + margin-left: 6px; +} +.entry-meta .edit-link a { + float: left; +} +/* Images */ + +.wp-caption .wp-caption-text, +.gallery-caption { + font-family: Arial, sans-serif; +} +.wp-caption .wp-caption-text { + padding: 10px 40px 5px 0px; +} +.wp-caption .wp-caption-text:before { + margin-right: 0; + margin-left: 5px; + left: auto; + right: 10px; +} +#content .gallery-columns-4 .gallery-item { + padding-right:0; + padding-left:2%; +} + +/* Author Info */ +.singular #author-info { + margin: 2.2em -35.4% 0 -35.6%; +} +#author-avatar { + float: right; + margin-right: 0; + margin-left: -78px; +} +#author-description { + float: right; + margin-left: 0; + margin-right: 108px; +} +/* Comments link */ +.entry-header .comments-link a { + background-image: url(images/comment-bubble-rtl.png); + right: auto; + left: 0; +} + +/* + Post Formats Headings +*/ +.singular .entry-title, +.singular .entry-header .entry-meta { + padding-left: 0; +} +.singular .entry-header .entry-meta { + left: auto; + right: 0; +} +.singular .entry-meta .edit-link a { + left: auto; + right: 50px; +} + + +/* =Gallery +----------------------------------------------- */ + +.format-gallery .gallery-thumb { + float: right; + margin: .375em 0 0 1.625em; +} + + +/* =Status +----------------------------------------------- */ + +.format-status img.avatar { + float: right; + margin: 4px 0 2px 10px; +} + + +/* =Image +----------------------------------------------- */ + +.indexed.format-image div.entry-meta { + float: right; +} +/* =error404 +---------------------- +------------------------- */ +.error404 #main .widget { + float: right; + margin-right: auto; + margin-left: 3.7%; +} +.error404 #main .widget_archive { + margin-left: 0; +} +.error404 #main .widget_tag_cloud { + margin-left: 0; +} + +/* =Showcase +----------------------------------------------- */ + +article.intro .edit-link a { + right: auto; + left: 20px; +} + +/* Featured post */ +section.featured-post { + float: right; +} + +/* Small featured post */ +section.featured-post .attachment-small-feature { + float: left; + margin: 0 0 1.625em -8.9%; + right: auto; + left: -15px; +} +article.feature-image.small { + float: right; +} +article.feature-image.small .entry-summary p a { + left:auto; + right: -23.8%; + padding: 9px 85px 9px 26px; +} + +/* Large featured post */ +section.feature-image.large .hentry { + left:auto; + right: 9%; + margin: 1.625em 0 0 9%; +} +/* Featured Slider */ +.featured-posts .showcase-heading { + padding-left: 0; + padding-right: 8.9%; +} +.featured-posts section.featured-post { + left: auto; + right: 0; +} +#content .feature-slider { + right: auto; + left: 8.9%; +} +.feature-slider li { + float: right; +} +/* Recent Posts */ +section.recent-posts .other-recent-posts a[rel="bookmark"] { + float: right; +} +section.recent-posts .other-recent-posts .comments-link a, +section.recent-posts .other-recent-posts .comments-link > span { + padding: 0.3125em 1em 0.3125em 0; + left: 0; + text-align: left; +} + +/* =Attachments +----------------------------------------------- */ + +/* =Navigation +-------------------------------------------------------------- */ + +.nav-previous { + float: right; +} +.nav-next { + float: left; + text-align: left; +} + +/* Singular navigation */ +#nav-single { + float: left; + text-align: left; +} +#nav-single .nav-next { + padding-left: 0; + padding-right: .5em; +} + + +/* =Widgets +----------------------------------------------- */ + +.widget ul ul { + margin-left: 0; + margin-right: 1.5em; +} + +/* Twitter */ +.widget_twitter .timesince { + margin-right: 0; + margin-left: -10px; + text-align: left; +} + +/* =Comments +----------------------------------------------- */ + +.commentlist .children li.comment { + border-left: none; + border-right: 1px solid #ddd; + -moz-border-radius: 3px 0 0 3px; + border-radius: 3px 0 0 3px; +} +.commentlist .children li.comment .comment-meta { + margin-left: 0; + margin-right: 50px; +} +.commentlist .avatar { + left: auto; + right: -102px; +} +.commentlist > li:before { + content: url(images/comment-arrow-rtl.png); + left:auto; + right: -21px; +} +.commentlist > li.pingback:before { + content: ''; +} +.commentlist .children .avatar { + left: auto; + right: 2.2em; +} + +/* Post author highlighting */ +.commentlist > li.bypostauthor:before { + content: url(images/comment-arrow-bypostauthor-rtl.png); +} + +/* sidebar-page.php comments */ +/* Make sure we have room for our comment avatars */ +.page-template-sidebar-page-php .commentlist > li.comment, +.page-template-sidebar-page-php.commentlist .pingback { + margin-left: 0; + margin-right: 102px; +} + +/* Comment Form */ +#respond .comment-form-author label, +#respond .comment-form-email label, +#respond .comment-form-url label, +#respond .comment-form-comment label { + left: auto; + right: 4px; +} +#respond .comment-form-author label, +#respond .comment-form-email label, +#respond .comment-form-url label, +#respond .comment-form-comment label { + -webkit-box-shadow: -1px 2px 2px rgba(204,204,204,0.8); + -moz-box-shadow: -1px 2px 2px rgba(204,204,204,0.8); + box-shadow: -1px 2px 2px rgba(204,204,204,0.8); +} +#respond .comment-form-author .required, +#respond .comment-form-email .required { + left: auto; + right: 75%; +} +#respond .form-submit { + float: left; +} +#respond input#submit { + left: auto; + right: 30px; + padding: 5px 22px 5px 42px; +} +#respond #cancel-comment-reply-link { + margin-left: 0; + margin-right: 10px; +} +#cancel-comment-reply-link { + right: auto; + left: 1.625em; +} + +/* =Footer +----------------------------------------------- */ + +/* Two Footer Widget Areas */ +#supplementary.two .widget-area { + float: right; + margin-right: 0; + margin-left: 3.7%; +} +#supplementary.two .widget-area + .widget-area { + margin-left: 0; +} + +/* Three Footer Widget Areas */ +#supplementary.three .widget-area { + float: right; + margin-right: 0; + margin-left: 3.7%; +} +#supplementary.three .widget-area + .widget-area + .widget-area { + margin-left: 0; +} + +/* Site Generator Line */ +#site-generator .sep { + background-position: right center; +} + + +/* =Responsive Structure +----------------------------------------------- */ + +@media (max-width: 800px) { + /* Simplify the showcase template when small feature */ + section.featured-post .attachment-small-feature, + .one-column section.featured-post .attachment-small-feature { + float: right; + } + article.feature-image.small { + float: left; + } + article.feature-image.small .entry-summary p a { + right: 0; + } + .singular .entry-meta .edit-link a { + left: auto; + right: 0px; + } + /* Make sure we have room for our comment avatars */ + .commentlist > li.comment, + .commentlist .pingback { + margin-left: 0; + margin-right: 102px; + } + /* No need to float footer widgets at this size */ + #colophon #supplementary .widget-area { + margin-left: 0; + } + /* No need to float 404 widgets at this size */ + .error404 #main .widget { + margin-left: 0; + } +} +@media (max-width: 650px) { + /* @media (max-width: 650px) Reduce font-sizes for better readability on smaller devices */ + #site-title, + #site-description { + margin-left: 0; + } + /* Talking avatars take up too much room at this size */ + .commentlist > li.comment, + .commentlist > li.pingback { + margin-right: 0 !important; + } + .commentlist .children .avatar { + left: auto; + right: 2.2em; + } + /* Use the available space in the smaller comment form */ + #respond .comment-form-author .required, + #respond .comment-form-email .required { + left: auto; + right: 95%; + } + #content .gallery-columns-3 .gallery-item { + padding-right: 0; + padding-left:2%; + } +} +@media (max-width: 450px) { + #content .gallery-columns-2 .gallery-item { + padding-right:0; + padding-left:4%; + } +} + +/* =Print +----------------------------------------------- */ + +@media print { + #primary { + float: right; + } + /* Comments */ + .commentlist .avatar { + left: auto; + right: 2.2em; + } + .commentlist li.comment .comment-meta { + margin-left: 0; + margin-right: 50px; + } +} + +/* =IE7 +----------------------------------------------- */ + +#ie7 section.recent-posts { + margin-right: 0; + margin-left: 7.6%; +} diff --git a/wp-content/themes/twentyeleven/screenshot.png b/wp-content/themes/twentyeleven/screenshot.png new file mode 100644 index 0000000000000000000000000000000000000000..b1fb07f4b3b167988786e95e7c16663e04806264 GIT binary patch literal 62878 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 literal 0 HcmV?d00001 diff --git a/wp-content/themes/twentyeleven/search.php b/wp-content/themes/twentyeleven/search.php new file mode 100644 index 000000000..bf45c2fee --- /dev/null +++ b/wp-content/themes/twentyeleven/search.php @@ -0,0 +1,57 @@ +<?php +/** + * The template for displaying Search Results pages. + * + * @package WordPress + * @subpackage Twenty_Eleven + * @since Twenty Eleven 1.0 + */ + +get_header(); ?> + + <section id="primary"> + <div id="content" role="main"> + + <?php if ( have_posts() ) : ?> + + <header class="page-header"> + <h1 class="page-title"><?php printf( __( 'Search Results for: %s', 'twentyeleven' ), '<span>' . get_search_query() . '</span>' ); ?></h1> + </header> + + <?php twentyeleven_content_nav( 'nav-above' ); ?> + + <?php /* Start the Loop */ ?> + <?php while ( have_posts() ) : the_post(); ?> + + <?php + /* Include the Post-Format-specific template for the content. + * If you want to overload this in a child theme then include a file + * called content-___.php (where ___ is the Post Format name) and that will be used instead. + */ + get_template_part( 'content', get_post_format() ); + ?> + + <?php endwhile; ?> + + <?php twentyeleven_content_nav( 'nav-below' ); ?> + + <?php else : ?> + + <article id="post-0" class="post no-results not-found"> + <header class="entry-header"> + <h1 class="entry-title"><?php _e( 'Nothing Found', 'twentyeleven' ); ?></h1> + </header><!-- .entry-header --> + + <div class="entry-content"> + <p><?php _e( 'Sorry, but nothing matched your search criteria. Please try again with some different keywords.', 'twentyeleven' ); ?></p> + <?php get_search_form(); ?> + </div><!-- .entry-content --> + </article><!-- #post-0 --> + + <?php endif; ?> + + </div><!-- #content --> + </section><!-- #primary --> + +<?php get_sidebar(); ?> +<?php get_footer(); ?> \ No newline at end of file diff --git a/wp-content/themes/twentyeleven/searchform.php b/wp-content/themes/twentyeleven/searchform.php new file mode 100644 index 000000000..b83ec1e67 --- /dev/null +++ b/wp-content/themes/twentyeleven/searchform.php @@ -0,0 +1,14 @@ +<?php +/** + * The template for displaying search forms in Twenty Eleven + * + * @package WordPress + * @subpackage Twenty_Eleven + * @since Twenty Eleven 1.0 + */ +?> + <form method="get" id="searchform" action="<?php echo esc_url( home_url( '/' ) ); ?>"> + <label for="s" class="assistive-text"><?php _e( 'Search', 'twentyeleven' ); ?></label> + <input type="text" class="field" name="s" id="s" placeholder="<?php esc_attr_e( 'Search', 'twentyeleven' ); ?>" /> + <input type="submit" class="submit" name="submit" id="searchsubmit" value="<?php esc_attr_e( 'Search', 'twentyeleven' ); ?>" /> + </form> diff --git a/wp-content/themes/twentyeleven/showcase.php b/wp-content/themes/twentyeleven/showcase.php new file mode 100644 index 000000000..58e85e21f --- /dev/null +++ b/wp-content/themes/twentyeleven/showcase.php @@ -0,0 +1,220 @@ +<?php +/** + * Template Name: Showcase Template + * Description: A Page Template that showcases Sticky Posts, Asides, and Blog Posts + * + * The showcase template in Twenty Eleven consists of a featured posts section using sticky posts, + * another recent posts area (with the latest post shown in full and the rest as a list) + * and a left sidebar holding aside posts. + * + * We are creating two queries to fetch the proper posts and a custom widget for the sidebar. + * + * @package WordPress + * @subpackage Twenty_Eleven + * @since Twenty Eleven 1.0 + */ + +// Enqueue showcase script for the slider +wp_enqueue_script( 'twentyeleven-showcase', get_template_directory_uri() . '/js/showcase.js', array( 'jquery' ), '2011-04-28' ); + +get_header(); ?> + + <div id="primary" class="showcase"> + <div id="content" role="main"> + + <?php the_post(); ?> + + <?php + /** + * We are using a heading by rendering the_content + * If we have content for this page, let's display it. + */ + if ( '' != get_the_content() ) + get_template_part( 'content', 'intro' ); + ?> + + <?php + /** + * Begin the featured posts section. + * + * See if we have any sticky posts and use them to create our featured posts. + * We limit the featured posts at ten. + */ + $sticky = get_option( 'sticky_posts' ); + + // Proceed only if sticky posts exist. + if ( ! empty( $sticky ) ) : + + $featured_args = array( + 'post__in' => $sticky, + 'post_status' => 'publish', + 'posts_per_page' => 10, + 'no_found_rows' => true, + ); + + // The Featured Posts query. + $featured = new WP_Query( $featured_args ); + + // Proceed only if published posts exist + if ( $featured->have_posts() ) : + + /** + * We will need to count featured posts starting from zero + * to create the slider navigation. + */ + $counter_slider = 0; + + ?> + + <div class="featured-posts"> + <h1 class="showcase-heading"><?php _e( 'Featured Post', 'twentyeleven' ); ?></h1> + + <?php + // Let's roll. + while ( $featured->have_posts() ) : $featured->the_post(); + + // Increase the counter. + $counter_slider++; + + /** + * We're going to add a class to our featured post for featured images + * by default it'll have the feature-text class. + */ + $feature_class = 'feature-text'; + + if ( has_post_thumbnail() ) { + // ... but if it has a featured image let's add some class + $feature_class = 'feature-image small'; + + // Hang on. Let's check this here image out. + $image = wp_get_attachment_image_src( get_post_thumbnail_id( $post->ID ), array( HEADER_IMAGE_WIDTH, HEADER_IMAGE_WIDTH ) ); + + // Is it bigger than or equal to our header? + if ( $image[1] >= HEADER_IMAGE_WIDTH ) { + // If bigger, let's add a BIGGER class. It's EXTRA classy now. + $feature_class = 'feature-image large'; + } + } + ?> + + <section class="featured-post <?php echo $feature_class; ?>" id="featured-post-<?php echo $counter_slider; ?>"> + + <?php + /** + * If the thumbnail is as big as the header image + * make it a large featured post, otherwise render it small + */ + if ( has_post_thumbnail() ) { + if ( $image[1] >= HEADER_IMAGE_WIDTH ) + $thumbnail_size = 'large-feature'; + else + $thumbnail_size = 'small-feature'; + ?> + <a href="<?php the_permalink(); ?>" title="<?php printf( esc_attr__( 'Permalink to %s', 'twentyeleven' ), the_title_attribute( 'echo=0' ) ); ?>" rel="bookmark"><?php the_post_thumbnail( $thumbnail_size ); ?></a> + <?php + } + ?> + <?php get_template_part( 'content', 'featured' ); ?> + </section> + <?php endwhile; ?> + + <?php + // Show slider only if we have more than one featured post. + if ( $featured->post_count > 1 ) : + ?> + <nav class="feature-slider"> + <ul> + <?php + + // Reset the counter so that we end up with matching elements + $counter_slider = 0; + + // Begin from zero + rewind_posts(); + + // Let's roll again. + while ( $featured->have_posts() ) : $featured->the_post(); + $counter_slider++; + if ( 1 == $counter_slider ) + $class = 'class="active"'; + else + $class = ''; + ?> + <li><a href="#featured-post-<?php echo $counter_slider; ?>" title="<?php printf( esc_attr__( 'Featuring: %s', 'twentyeleven' ), the_title_attribute( 'echo=0' ) ); ?>" <?php echo $class; ?>></a></li> + <?php endwhile; ?> + </ul> + </nav> + <?php endif; // End check for more than one sticky post. ?> + </div><!-- .featured-posts --> + <?php endif; // End check for published posts. ?> + <?php endif; // End check for sticky posts. ?> + + <section class="recent-posts"> + <h1 class="showcase-heading"><?php _e( 'Recent Posts', 'twentyeleven' ); ?></h1> + + <?php + + // Display our recent posts, showing full content for the very latest, ignoring Aside posts. + $recent_args = array( + 'order' => 'DESC', + 'post__not_in' => get_option( 'sticky_posts' ), + 'tax_query' => array( + array( + 'taxonomy' => 'post_format', + 'terms' => array( 'post-format-aside', 'post-format-link', 'post-format-quote', 'post-format-status' ), + 'field' => 'slug', + 'operator' => 'NOT IN', + ), + ), + 'no_found_rows' => true, + ); + + // Our new query for the Recent Posts section. + $recent = new WP_Query( $recent_args ); + + // The first Recent post is displayed normally + if ( $recent->have_posts() ) : $recent->the_post(); + + // Set $more to 0 in order to only get the first part of the post. + global $more; + $more = 0; + + get_template_part( 'content', get_post_format() ); + + echo '<ol class="other-recent-posts">'; + + endif; + + // For all other recent posts, just display the title and comment status. + while ( $recent->have_posts() ) : $recent->the_post(); ?> + + <li class="entry-title"> + <a href="<?php the_permalink(); ?>" title="<?php printf( esc_attr__( 'Permalink to %s', 'twentyeleven' ), the_title_attribute( 'echo=0' ) ); ?>" rel="bookmark"><?php the_title(); ?></a> + <span class="comments-link"> + <?php comments_popup_link( '<span class="leave-reply">' . __( 'Leave a reply', 'twentyeleven' ) . '</span>', __( '<b>1</b> Reply', 'twentyeleven' ), __( '<b>%</b> Replies', 'twentyeleven' ) ); ?> + </span> + </li> + + <?php + endwhile; + + // If we had some posts, close the <ol> + if ( $recent->post_count > 0 ) + echo '</ol>'; + ?> + </section><!-- .recent-posts --> + + <div class="widget-area" role="complementary"> + <?php if ( ! dynamic_sidebar( 'sidebar-2' ) ) : ?> + + <?php + the_widget( 'Twenty_Eleven_Ephemera_Widget', '', array( 'before_title' => '<h3 class="widget-title">', 'after_title' => '</h3>' ) ); + ?> + + <?php endif; // end sidebar widget area ?> + </div><!-- .widget-area --> + + </div><!-- #content --> + </div><!-- #primary --> + +<?php get_footer(); ?> \ No newline at end of file diff --git a/wp-content/themes/twentyeleven/sidebar-footer.php b/wp-content/themes/twentyeleven/sidebar-footer.php new file mode 100644 index 000000000..cbcb49b5d --- /dev/null +++ b/wp-content/themes/twentyeleven/sidebar-footer.php @@ -0,0 +1,42 @@ +<?php +/** + * The Footer widget areas. + * + * @package WordPress + * @subpackage Twenty_Eleven + * @since Twenty Eleven 1.0 + */ +?> + +<?php + /* The footer widget area is triggered if any of the areas + * have widgets. So let's check that first. + * + * If none of the sidebars have widgets, then let's bail early. + */ + if ( ! is_active_sidebar( 'sidebar-3' ) + && ! is_active_sidebar( 'sidebar-4' ) + && ! is_active_sidebar( 'sidebar-5' ) + ) + return; + // If we get this far, we have widgets. Let do this. +?> +<div id="supplementary" <?php twentyeleven_footer_sidebar_class(); ?>> + <?php if ( is_active_sidebar( 'sidebar-3' ) ) : ?> + <div id="first" class="widget-area" role="complementary"> + <?php dynamic_sidebar( 'sidebar-3' ); ?> + </div><!-- #first .widget-area --> + <?php endif; ?> + + <?php if ( is_active_sidebar( 'sidebar-4' ) ) : ?> + <div id="second" class="widget-area" role="complementary"> + <?php dynamic_sidebar( 'sidebar-4' ); ?> + </div><!-- #second .widget-area --> + <?php endif; ?> + + <?php if ( is_active_sidebar( 'sidebar-5' ) ) : ?> + <div id="third" class="widget-area" role="complementary"> + <?php dynamic_sidebar( 'sidebar-5' ); ?> + </div><!-- #third .widget-area --> + <?php endif; ?> +</div><!-- #supplementary --> \ No newline at end of file diff --git a/wp-content/themes/twentyeleven/sidebar-page.php b/wp-content/themes/twentyeleven/sidebar-page.php new file mode 100644 index 000000000..d47e4eea3 --- /dev/null +++ b/wp-content/themes/twentyeleven/sidebar-page.php @@ -0,0 +1,26 @@ +<?php +/** + * Template Name: Sidebar Template + * Description: A Page Template that adds a sidebar to pages + * + * @package WordPress + * @subpackage Twenty_Eleven + * @since Twenty Eleven 1.0 + */ + +get_header(); ?> + + <div id="primary"> + <div id="content" role="main"> + + <?php the_post(); ?> + + <?php get_template_part( 'content', 'page' ); ?> + + <?php comments_template( '', true ); ?> + + </div><!-- #content --> + </div><!-- #primary --> + +<?php get_sidebar(); ?> +<?php get_footer(); ?> \ No newline at end of file diff --git a/wp-content/themes/twentyeleven/sidebar.php b/wp-content/themes/twentyeleven/sidebar.php new file mode 100644 index 000000000..0f0857181 --- /dev/null +++ b/wp-content/themes/twentyeleven/sidebar.php @@ -0,0 +1,36 @@ +<?php +/** + * The Sidebar containing the main widget area. + * + * @package WordPress + * @subpackage Twenty_Eleven + * @since Twenty Eleven 1.0 + */ + +$options = twentyeleven_get_theme_options(); +$current_layout = $options['theme_layout']; + +if ( 'content' != $current_layout ) : +?> + <div id="secondary" class="widget-area" role="complementary"> + <?php if ( ! dynamic_sidebar( 'sidebar-1' ) ) : ?> + + <aside id="archives" class="widget"> + <h3 class="widget-title"><?php _e( 'Archives', 'twentyeleven' ); ?></h3> + <ul> + <?php wp_get_archives( array( 'type' => 'monthly' ) ); ?> + </ul> + </aside> + + <aside id="meta" class="widget"> + <h3 class="widget-title"><?php _e( 'Meta', 'twentyeleven' ); ?></h3> + <ul> + <?php wp_register(); ?> + <li><?php wp_loginout(); ?></li> + <?php wp_meta(); ?> + </ul> + </aside> + + <?php endif; // end sidebar widget area ?> + </div><!-- #secondary .widget-area --> +<?php endif; ?> \ No newline at end of file diff --git a/wp-content/themes/twentyeleven/single.php b/wp-content/themes/twentyeleven/single.php new file mode 100644 index 000000000..01ab46041 --- /dev/null +++ b/wp-content/themes/twentyeleven/single.php @@ -0,0 +1,32 @@ +<?php +/** + * The Template for displaying all single posts. + * + * @package WordPress + * @subpackage Twenty_Eleven + * @since Twenty Eleven 1.0 + */ + +get_header(); ?> + + <div id="primary"> + <div id="content" role="main"> + + <?php while ( have_posts() ) : the_post(); ?> + + <nav id="nav-single"> + <h3 class="assistive-text"><?php _e( 'Post navigation', 'twentyeleven' ); ?></h3> + <span class="nav-previous"><?php previous_post_link( '%link', __( '<span class="meta-nav">←</span> Previous', 'twentyeleven' ) ); ?></span> + <span class="nav-next"><?php next_post_link( '%link', __( 'Next <span class="meta-nav">→</span>', 'twentyeleven' ) ); ?></span> + </nav><!-- #nav-single --> + + <?php get_template_part( 'content', 'single' ); ?> + + <?php comments_template( '', true ); ?> + + <?php endwhile; // end of the loop. ?> + + </div><!-- #content --> + </div><!-- #primary --> + +<?php get_footer(); ?> \ No newline at end of file diff --git a/wp-content/themes/twentyeleven/style.css b/wp-content/themes/twentyeleven/style.css new file mode 100644 index 000000000..68254b5b7 --- /dev/null +++ b/wp-content/themes/twentyeleven/style.css @@ -0,0 +1,2670 @@ +/* +Theme Name: Twenty Eleven +Theme URI: http://wordpress.org/extend/themes/twentyeleven +Author: the WordPress team +Author URI: http://wordpress.org/ +Description: The 2011 theme for WordPress is sophisticated, lightweight, and adaptable. Make it yours with a custom menu, header image, and background -- then go further with available theme options for light or dark color scheme, custom link colors, and three layout choices. Twenty Eleven comes equipped with a Showcase page template that transforms your front page into a showcase to show off your best content, widget support galore (sidebar, three footer areas, and a Showcase page widget area), and a custom "Ephemera" widget to display your Aside, Link, Quote, or Status posts. Included are styles for print and for the admin editor, support for featured images (as custom header images on posts and pages and as large images on featured "sticky" posts), and special styles for six different post formats. +Version: 1.2 +License: GNU General Public License +License URI: license.txt +Tags: dark, light, white, black, gray, one-column, two-columns, left-sidebar, right-sidebar, fixed-width, flexible-width, custom-background, custom-colors, custom-header, custom-menu, editor-style, featured-image-header, featured-images, full-width-template, microformats, post-formats, rtl-language-support, sticky-post, theme-options, translation-ready +*/ + +/* =Reset default browser CSS. Based on work by Eric Meyer: http://meyerweb.com/eric/tools/css/reset/index.html +-------------------------------------------------------------- */ + +html, body, div, span, applet, object, iframe, +h1, h2, h3, h4, h5, h6, p, blockquote, pre, +a, abbr, acronym, address, big, cite, code, +del, dfn, em, font, ins, kbd, q, s, samp, +small, strike, strong, sub, sup, tt, var, +dl, dt, dd, ol, ul, li, +fieldset, form, label, legend, +table, caption, tbody, tfoot, thead, tr, th, td { + border: 0; + font-family: inherit; + font-size: 100%; + font-style: inherit; + font-weight: inherit; + margin: 0; + outline: 0; + padding: 0; + vertical-align: baseline; +} +:focus {/* remember to define focus styles! */ + outline: 0; +} +body { + background: #fff; + line-height: 1; +} +ol, ul { + list-style: none; +} +table {/* tables still need 'cellspacing="0"' in the markup */ + border-collapse: separate; + border-spacing: 0; +} +caption, th, td { + font-weight: normal; + text-align: left; +} +blockquote:before, blockquote:after, +q:before, q:after { + content: ""; +} +blockquote, q { + quotes: "" ""; +} +a img { + border: 0; +} +article, aside, details, figcaption, figure, +footer, header, hgroup, menu, nav, section { + display: block; +} + + +/* =Structure +----------------------------------------------- */ + +body { + padding: 0 2em; +} +#page { + margin: 2em auto; + max-width: 1000px; +} +#branding hgroup { + margin: 0 7.6%; +} +#access div { + margin: 0 7.6%; +} +#primary { + float: left; + margin: 0 -26.4% 0 0; + width: 100%; +} +#content { + margin: 0 34% 0 7.6%; + width: 58.4%; +} +#secondary { + float: right; + margin-right: 7.6%; + width: 18.8%; +} + +/* Singular */ +.singular #primary { + margin: 0; +} +.singular #content, +.left-sidebar.singular #content { + margin: 0 7.6%; + position: relative; + width: auto; +} +.singular .entry-header, +.singular .entry-content, +.singular footer.entry-meta, +.singular #comments-title { + margin: 0 auto; + width: 68.9%; +} + +/* Attachments */ +.singular .image-attachment .entry-content { + margin: 0 auto; + width: auto; +} +.singular .image-attachment .entry-description { + margin: 0 auto; + width: 68.9%; +} + +/* Showcase */ +.page-template-showcase-php #primary, +.left-sidebar.page-template-showcase-php #primary { + margin: 0; +} +.page-template-showcase-php #content, +.left-sidebar.page-template-showcase-php #content { + margin: 0 7.6%; + width: auto; +} +.page-template-showcase-php section.recent-posts { + float: right; + margin: 0 0 0 31%; + width: 69%; +} +.page-template-showcase-php #main .widget-area { + float: left; + margin: 0 -22.15% 0 0; + width: 22.15%; +} + +/* error404 */ +.error404 #primary { + float: none; + margin: 0; +} +.error404 #primary #content { + margin: 0 7.6%; + width: auto; +} + +/* Alignment */ +.alignleft { + display: inline; + float: left; + margin-right: 1.625em; +} +.alignright { + display: inline; + float: right; + margin-left: 1.625em; +} +.aligncenter { + clear: both; + display: block; + margin-left: auto; + margin-right: auto; +} + +/* Right Content */ +.left-sidebar #primary { + float: right; + margin: 0 0 0 -26.4%; + width: 100%; +} +.left-sidebar #content { + margin: 0 7.6% 0 34%; + width: 58.4%; +} +.left-sidebar #secondary { + float: left; + margin-left: 7.6%; + margin-right: 0; + width: 18.8%; +} + +/* One column */ +.one-column #page { + max-width: 690px; +} +.one-column #content { + margin: 0 7.6%; + width: auto; +} +.one-column #nav-below { + border-bottom: 1px solid #ddd; + margin-bottom: 1.625em; +} +.one-column #secondary { + float: none; + margin: 0 7.6%; + width: auto; +} +/* Simplify the showcase template */ +.one-column .page-template-showcase-php section.recent-posts { + float: none; + margin: 0; + width: 100%; +} +.one-column .page-template-showcase-php #main .widget-area { + float: none; + margin: 0; + width: auto; +} +.one-column .page-template-showcase-php .other-recent-posts { + border-bottom: 1px solid #ddd; +} +/* Simplify the showcase template when small feature */ +.one-column section.featured-post .attachment-small-feature { + border: none; + display: block; + height: auto; + max-width: 60%; + position: static; +} +.one-column article.feature-image.small { + margin: 0 0 1.625em; + padding: 0; +} +.one-column article.feature-image.small .entry-title { + font-size: 20px; + line-height: 1.3em; +} +.one-column article.feature-image.small .entry-summary { + height: 150px; + overflow: hidden; + padding: 0; + text-overflow: ellipsis; +} +.one-column article.feature-image.small .entry-summary a { + left: -9%; +} +/* Remove the margin on singular articles */ +.one-column.singular .entry-header, +.one-column.singular .entry-content, +.one-column.singular footer.entry-meta, +.one-column.singular #comments-title { + width: 100%; +} +/* Simplify the pullquotes and pull styles */ +.one-column.singular blockquote.pull { + margin: 0 0 1.625em; +} +.one-column.singular .pull.alignleft { + margin: 0 1.625em 0 0; +} +.one-column.singular .pull.alignright { + margin: 0 0 0 1.625em; +} +.one-column.singular .entry-meta .edit-link a { + position: absolute; + left: 0; + top: 40px; +} +.one-column.singular #author-info { + margin: 2.2em -8.8% 0; + padding: 20px 8.8%; +} +/* Make sure we have room for our comment avatars */ +.one-column .commentlist > li.comment { + margin-left: 102px; + width: auto; +} +/* Make sure the logo and search form don't collide */ +.one-column #branding #searchform { + right: 40px; + top: 4em; +} +/* Talking avatars take up too much room at this size */ +.one-column .commentlist > li.comment { + margin-left: 0; +} +.one-column .commentlist > li.comment .comment-meta, +.one-column .commentlist > li.comment .comment-content { + margin-right: 85px; +} +.one-column .commentlist .avatar { + background: transparent; + display: block; + padding: 0; + top: 1.625em; + left: auto; + right: 1.625em; +} +.one-column .commentlist .children .avatar { + background: none; + padding: 0; + position: absolute; + top: 2.2em; + left: 2.2em; +} +.one-column #respond { + width: auto; +} + + +/* =Global +----------------------------------------------- */ + +body, input, textarea { + color: #373737; + font: 15px "Helvetica Neue", Helvetica, Arial, sans-serif; + font-weight: 300; + line-height: 1.625; +} +body { + background: #e2e2e2; +} +#page { + background: #fff; +} + +/* Headings */ +h1,h2,h3,h4,h5,h6 { + clear: both; +} +hr { + background-color: #ccc; + border: 0; + height: 1px; + margin-bottom: 1.625em; +} + +/* Text elements */ +p { + margin-bottom: 1.625em; +} +ul, ol { + margin: 0 0 1.625em 2.5em; +} +ul { + list-style: square; +} +ol { + list-style-type: decimal; +} +ol ol { + list-style: upper-alpha; +} +ol ol ol { + list-style: lower-roman; +} +ol ol ol ol { + list-style: lower-alpha; +} +ul ul, ol ol, ul ol, ol ul { + margin-bottom: 0; +} +dl { + margin: 0 1.625em; +} +dt { + font-weight: bold; +} +dd { + margin-bottom: 1.625em; +} +strong { + font-weight: bold; +} +cite, em, i { + font-style: italic; +} +blockquote { + font-family: Georgia, "Bitstream Charter", serif; + font-style: italic; + font-weight: normal; + margin: 0 3em; +} +blockquote em, blockquote i, blockquote cite { + font-style: normal; +} +blockquote cite { + color: #666; + font: 12px "Helvetica Neue", Helvetica, Arial, sans-serif; + font-weight: 300; + letter-spacing: 0.05em; + text-transform: uppercase; +} +pre { + background: #f4f4f4; + font: 13px "Courier 10 Pitch", Courier, monospace; + line-height: 1.5; + margin-bottom: 1.625em; + overflow: auto; + padding: 0.75em 1.625em; +} +code, kbd { + font: 13px Monaco, Consolas, "Andale Mono", "DejaVu Sans Mono", monospace; +} +abbr, acronym, dfn { + border-bottom: 1px dotted #666; + cursor: help; +} +address { + display: block; + margin: 0 0 1.625em; +} +ins { + background: #fff9c0; + text-decoration: none; +} +sup, +sub { + font-size: 10px; + height: 0; + line-height: 1; + position: relative; + vertical-align: baseline; +} +sup { + bottom: 1ex; +} +sub { + top: .5ex; +} + +/* Forms */ +input[type=text], +input[type=password], +textarea { + background: #fafafa; + -moz-box-shadow: inset 0 1px 1px rgba(0,0,0,0.1); + -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,0.1); + box-shadow: inset 0 1px 1px rgba(0,0,0,0.1); + border: 1px solid #ddd; + color: #888; +} +input[type=text]:focus, +textarea:focus { + color: #373737; +} +textarea { + padding-left: 3px; + width: 98%; +} +input[type=text] { + padding: 3px; +} +input#s { + background: url(images/search.png) no-repeat 5px 6px; + -moz-border-radius: 2px; + border-radius: 2px; + font-size: 14px; + height: 22px; + line-height: 1.2em; + padding: 4px 10px 4px 28px; +} +input#searchsubmit { + display: none; +} + +/* Links */ +a { + color: #1982d1; + text-decoration: none; +} +a:focus, +a:active, +a:hover { + text-decoration: underline; +} + +/* Assistive text */ +.assistive-text { + position: absolute !important; + clip: rect(1px 1px 1px 1px); /* IE6, IE7 */ + clip: rect(1px, 1px, 1px, 1px); +} +#access a.assistive-text:active, +#access a.assistive-text:focus { + background: #eee; + border-bottom: 1px solid #ddd; + color: #1982d1; + clip: auto !important; + font-size: 12px; + position: absolute; + text-decoration: underline; + top: 0; + left: 7.6%; +} + + +/* =Header +----------------------------------------------- */ + +#branding { + border-top: 2px solid #bbb; + padding-bottom: 10px; + position: relative; + z-index: 2; +} +#site-title { + margin-right: 270px; + padding: 3.65625em 0 0; +} +#site-title a { + color: #111; + font-size: 30px; + font-weight: bold; + line-height: 36px; + text-decoration: none; +} +#site-title a:hover, +#site-title a:focus, +#site-title a:active { + color: #1982d1; +} +#site-description { + color: #7a7a7a; + font-size: 14px; + margin: 0 270px 3.65625em 0; +} +#branding img { + height: auto; + margin-bottom: -7px; + width: 100%; +} + + +/* =Menu +-------------------------------------------------------------- */ + +#access { + background: #222; /* Show a solid color for older browsers */ + background: -moz-linear-gradient(#252525, #0a0a0a); + background: -o-linear-gradient(#252525, #0a0a0a); + background: -webkit-gradient(linear, 0% 0%, 0% 100%, from(#252525), to(#0a0a0a)); /* older webkit syntax */ + background: -webkit-linear-gradient(#252525, #0a0a0a); + -webkit-box-shadow: rgba(0, 0, 0, 0.4) 0px 1px 2px; + -moz-box-shadow: rgba(0, 0, 0, 0.4) 0px 1px 2px; + box-shadow: rgba(0, 0, 0, 0.4) 0px 1px 2px; + clear: both; + display: block; + float: left; + margin: 0 auto 6px; + width: 100%; +} +#access ul { + font-size: 13px; + list-style: none; + margin: 0 0 0 -0.8125em; + padding-left: 0; +} +#access li { + float: left; + position: relative; +} +#access a { + color: #eee; + display: block; + line-height: 3.333em; + padding: 0 1.2125em; + text-decoration: none; +} +#access ul ul { + -moz-box-shadow: 0 3px 3px rgba(0,0,0,0.2); + -webkit-box-shadow: 0 3px 3px rgba(0,0,0,0.2); + box-shadow: 0 3px 3px rgba(0,0,0,0.2); + display: none; + float: left; + margin: 0; + position: absolute; + top: 3.333em; + left: 0; + width: 188px; + z-index: 99999; +} +#access ul ul ul { + left: 100%; + top: 0; +} +#access ul ul a { + background: #f9f9f9; + border-bottom: 1px dotted #ddd; + color: #444; + font-size: 13px; + font-weight: normal; + height: auto; + line-height: 1.4em; + padding: 10px 10px; + width: 168px; +} +#access li:hover > a, +#access ul ul :hover > a, +#access a:focus { + background: #efefef; +} +#access li:hover > a, +#access a:focus { + background: #f9f9f9; /* Show a solid color for older browsers */ + background: -moz-linear-gradient(#f9f9f9, #e5e5e5); + background: -o-linear-gradient(#f9f9f9, #e5e5e5); + background: -webkit-gradient(linear, 0% 0%, 0% 100%, from(#f9f9f9), to(#e5e5e5)); /* Older webkit syntax */ + background: -webkit-linear-gradient(#f9f9f9, #e5e5e5); + color: #373737; +} +#access ul li:hover > ul { + display: block; +} +#access .current_page_item > a, +#access .current_page_ancestor > a { + font-weight: bold; +} + +/* Search Form */ +#branding #searchform { + position: absolute; + top: 3.8em; + right: 7.6%; + text-align: right; +} +#branding #searchform div { + margin: 0; +} +#branding #s { + float: right; + -webkit-transition-duration: 400ms; + -webkit-transition-property: width, background; + -webkit-transition-timing-function: ease; + -moz-transition-duration: 400ms; + -moz-transition-property: width, background; + -moz-transition-timing-function: ease; + -o-transition-duration: 400ms; + -o-transition-property: width, background; + -o-transition-timing-function: ease; + width: 72px; +} +#branding #s:focus { + background-color: #f9f9f9; + width: 196px; +} +#branding #searchsubmit { + display: none; +} +#branding .only-search #searchform { + top: 5px; + z-index: 1; +} +#branding .only-search #s { + background-color: #666; + border-color: #000; + color: #222; +} +#branding .only-search #s, +#branding .only-search #s:focus { + width: 85%; +} +#branding .only-search #s:focus { + background-color: #bbb; +} +#branding .with-image #searchform { + top: auto; + bottom: -27px; + max-width: 195px; +} +#branding .only-search + #access div { + padding-right: 205px; +} + + +/* =Content +----------------------------------------------- */ + +#main { + clear: both; + padding: 1.625em 0 0; +} +.page-title { + color: #666; + font-size: 10px; + font-weight: 500; + letter-spacing: 0.1em; + line-height: 2.6em; + margin: 0 0 2.6em; + text-transform: uppercase; +} +.page-title a { + font-size: 12px; + font-weight: bold; + letter-spacing: 0; + text-transform: none; +} +.hentry, +.no-results { + border-bottom: 1px solid #ddd; + margin: 0 0 1.625em; + padding: 0 0 1.625em; + position: relative; +} +.hentry:last-child, +.no-results { + border-bottom: none; +} +.blog .sticky .entry-header .entry-meta { + clip: rect(1px 1px 1px 1px); /* IE6, IE7 */ + clip: rect(1px, 1px, 1px, 1px); + position: absolute !important; +} +.entry-title, +.entry-header .entry-meta { + padding-right: 76px; +} +.entry-title { + clear: both; + color: #222; + font-size: 26px; + font-weight: bold; + line-height: 1.5em; + padding-bottom: .3em; + padding-top: 15px; +} +.entry-title, +.entry-title a { + color: #222; + text-decoration: none; +} +.entry-title a:hover, +.entry-title a:focus, +.entry-title a:active { + color: #1982d1; +} +.entry-meta { + color: #666; + clear: both; + font-size: 12px; + line-height: 18px; +} +.entry-meta a { + font-weight: bold; +} +.single-author .entry-meta .by-author { + display: none; +} +.entry-content, +.entry-summary { + padding: 1.625em 0 0; +} +.entry-content h1, +.entry-content h2, +.comment-content h1, +.comment-content h2 { + color: #000; + font-weight: bold; + margin: 0 0 .8125em; +} +.entry-content h3, +.comment-content h3 { + font-size: 10px; + letter-spacing: 0.1em; + line-height: 2.6em; + text-transform: uppercase; +} +.entry-content table, +.comment-content table { + border-bottom: 1px solid #ddd; + margin: 0 0 1.625em; + width: 100%; +} +.entry-content th, +.comment-content th { + color: #666; + font-size: 10px; + font-weight: 500; + letter-spacing: 0.1em; + line-height: 2.6em; + text-transform: uppercase; +} +.entry-content td, +.comment-content td { + border-top: 1px solid #ddd; + padding: 6px 10px 6px 0; +} +.entry-content #s { + width: 75%; +} +.comment-content ul, +.comment-content ol { + margin-bottom: 1.625em; +} +.comment-content ul ul, +.comment-content ol ol, +.comment-content ul ol, +.comment-content ol ul { + margin-bottom: 0; +} +dl.gallery-item { + margin: 0; +} +.page-link { + clear: both; + display: block; + margin: 0 0 1.625em; +} +.page-link a { + background: #eee; + color: #373737; + margin: 0; + padding: 2px 3px; + text-decoration: none; +} +.page-link a:hover { + background: #888; + color: #fff; + font-weight: bold; +} +.page-link span { + margin-right: 6px; +} +.entry-meta .edit-link a, +.commentlist .edit-link a { + background: #eee; + -moz-border-radius: 3px; + border-radius: 3px; + color: #666; + float: right; + font-size: 12px; + line-height: 1.5em; + font-weight: 300; + text-decoration: none; + padding: 0 8px; +} +.entry-meta .edit-link a:hover, +.commentlist .edit-link a:hover { + background: #888; + color: #fff; +} +.entry-content .edit-link { + clear: both; + display: block; +} + +/* Images */ +.entry-content img, +.comment-content img, +.widget img { + max-width: 97.5%; /* Fluid images for posts, comments, and widgets */ +} +img[class*="align"], +img[class*="wp-image-"] { + height: auto; /* Make sure images with WordPress-added height and width attributes are scaled correctly */ +} +img.size-full { + max-width: 97.5%; + width: auto; /* Prevent stretching of full-size images with height and width attributes in IE8 */ +} +.entry-content img.wp-smiley { + border: none; + margin-bottom: 0; + margin-top: 0; + padding: 0; +} +img.alignleft, +img.alignright, +img.aligncenter { + margin-bottom: 1.625em; +} +p img, +.wp-caption { + margin-top: 0.4em; +} +.wp-caption { + background: #eee; + margin-bottom: 1.625em; + max-width: 96%; + padding: 9px; +} +.wp-caption img { + display: block; + margin: 0 auto; + max-width: 98%; +} +.wp-caption .wp-caption-text, +.gallery-caption { + color: #666; + font-family: Georgia, serif; + font-size: 12px; +} +.wp-caption .wp-caption-text { + margin-bottom: 0.6em; + padding: 10px 0 5px 40px; + position: relative; +} +.wp-caption .wp-caption-text:before { + color: #666; + content: '\2014'; + font-size: 14px; + font-style: normal; + font-weight: bold; + margin-right: 5px; + position: absolute; + left: 10px; + top: 7px; +} +#content .gallery { + margin: 0 auto 1.625em; +} +#content .gallery a img { + border: none; +} +img#wpstats { + display: block; + margin: 0 auto 1.625em; +} +#content .gallery-columns-4 .gallery-item { + width: 23%; + padding-right: 2%; +} +#content .gallery-columns-4 .gallery-item img { + width: 100%; + height: auto; +} + +/* Image borders */ +img[class*="align"], +img[class*="wp-image-"], +#content .gallery .gallery-icon img {/* Add fancy borders to all WordPress-added images but not things like badges and icons and the like */ + border: 1px solid #ddd; + padding: 6px; +} +.wp-caption img { + border-color: #eee; +} +a:focus img[class*="align"], +a:hover img[class*="align"], +a:active img[class*="align"], +a:focus img[class*="wp-image-"], +a:hover img[class*="wp-image-"], +a:active img[class*="wp-image-"], +#content .gallery .gallery-icon a:focus img, +#content .gallery .gallery-icon a:hover img, +#content .gallery .gallery-icon a:active img {/* Add some useful style to those fancy borders for linked images ... */ + background: #eee; + border-color: #bbb; +} +.wp-caption a:focus img, +.wp-caption a:active img, +.wp-caption a:hover img {/* ... including captioned images! */ + background: #fff; + border-color: #ddd; +} + +/* Password Protected Posts */ +.post-password-required .entry-header .comments-link { + margin: 1.625em 0 0; +} +.post-password-required input[type=password] { + margin: 0.8125em 0; +} +.post-password-required input[type=password]:focus { + background: #f7f7f7; +} + +/* Author Info */ +#author-info { + font-size: 12px; + overflow: hidden; +} +.singular #author-info { + background: #f9f9f9; + border-top: 1px solid #ddd; + border-bottom: 1px solid #ddd; + margin: 2.2em -35.6% 0 -35.4%; + padding: 20px 35.4%; +} +.archive #author-info { + border-bottom: 1px solid #ddd; + margin: 0 0 2.2em; + padding: 0 0 2.2em; +} +#author-avatar { + float: left; + margin-right: -78px; +} +#author-avatar img { + background: #fff; + -moz-border-radius: 3px; + border-radius: 3px; + -webkit-box-shadow: 0 1px 2px #bbb; + -moz-box-shadow: 0 1px 2px #bbb; + box-shadow: 0 1px 2px #bbb; + padding: 3px; +} +#author-description { + float: left; + margin-left: 108px; +} +#author-description h2 { + color: #000; + font-size: 15px; + font-weight: bold; + margin: 5px 0 10px; +} + +/* Comments link */ +.entry-header .comments-link a { + background: #eee url(images/comment-bubble.png) no-repeat; + color: #666; + font-size: 13px; + font-weight: normal; + line-height: 35px; + overflow: hidden; + padding: 0 0 0; + position: absolute; + top: 1.5em; + right: 0; + text-align: center; + text-decoration: none; + width: 43px; + height: 36px; +} +.entry-header .comments-link a:hover, +.entry-header .comments-link a:focus, +.entry-header .comments-link a:active { + background-color: #1982d1; + color: #fff; + color: rgba(255,255,255,0.8); +} +.entry-header .comments-link .leave-reply { + visibility: hidden; +} + +/* +Post Formats Headings +To hide the headings, display: none the ".entry-header .entry-format" selector, +and remove the padding rules below. +*/ +.entry-header .entry-format { + color: #666; + font-size: 10px; + font-weight: 500; + letter-spacing: 0.1em; + line-height: 2.6em; + position: absolute; + text-transform: uppercase; + top: -5px; +} +.entry-header hgroup .entry-title { + padding-top: 15px; +} +article.format-aside .entry-content, +article.format-link .entry-content, +article.format-status .entry-content { + padding: 20px 0 0; +} +.recent-posts .entry-header .entry-format { + display: none; +} +.recent-posts .entry-header hgroup .entry-title { + padding-top: 0; +} + +/* Singular content styles for Posts and Pages */ +.singular .hentry { + border-bottom: none; + padding: 4.875em 0 0; + position: relative; +} +.singular.page .hentry { + padding: 3.5em 0 0; +} +.singular .entry-title { + color: #000; + font-size: 36px; + font-weight: bold; + line-height: 48px; +} +.singular .entry-title, +.singular .entry-header .entry-meta { + padding-right: 0; +} +.singular .entry-header .entry-meta { + position: absolute; + top: 0; + left: 0; +} +blockquote.pull { + font-size: 21px; + font-weight: bold; + line-height: 1.6125em; + margin: 0 0 1.625em; + text-align: center; +} +.singular blockquote.pull { + margin: 0 -22.25% 1.625em; +} +.pull.alignleft { + margin: 0 1.625em 0 0; + text-align: right; + width: 33%; +} +.singular .pull.alignleft { + margin: 0 1.625em 0 -22.25%; +} +.pull.alignright { + margin: 0 0 0 1.625em; + text-align: left; + width: 33%; +} +.singular .pull.alignright { + margin: 0 -22.25% 0 1.625em; +} +.singular blockquote.pull.alignleft, +.singular blockquote.pull.alignright { + width: 33%; +} +.singular .entry-meta .edit-link a { + bottom: auto; + left: 50px; + position: absolute; + right: auto; + top: 80px; +} + + +/* =Aside +----------------------------------------------- */ + +.format-aside .entry-title, +.format-aside .entry-header .comments-link { + display: none; +} +.singular .format-aside .entry-title { + display: block; +} +.format-aside .entry-content { + padding: 0; +} +.singular .format-aside .entry-content { + padding: 1.625em 0 0; +} + + +/* =Link +----------------------------------------------- */ + +.format-link .entry-title, +.format-link .entry-header .comments-link { + display: none; +} +.singular .format-link .entry-title { + display: block; +} +.format-link .entry-content { + padding: 0; +} +.singular .format-link .entry-content { + padding: 1.625em 0 0; +} + + +/* =Gallery +----------------------------------------------- */ + +.format-gallery .gallery-thumb { + float: left; + display: block; + margin: .375em 1.625em 0 0; +} + + +/* =Status +----------------------------------------------- */ + +.format-status .entry-title, +.format-status .entry-header .comments-link { + display: none; +} +.singular .format-status .entry-title { + display: block; +} +.format-status .entry-content { + padding: 0; +} +.singular .format-status .entry-content { + padding: 1.625em 0 0; +} +.format-status img.avatar { + -moz-border-radius: 3px; + border-radius: 3px; + -webkit-box-shadow: 0 1px 2px #ccc; + -moz-box-shadow: 0 1px 2px #ccc; + box-shadow: 0 1px 2px #ccc; + float: left; + margin: 4px 10px 2px 0; + padding: 0; +} + + +/* =Quote +----------------------------------------------- */ + +.format-quote blockquote { + color: #555; + font-size: 17px; + margin: 0; +} + + +/* =Image +----------------------------------------------- */ + +.indexed.format-image .entry-header { + min-height: 61px; /* Prevent the comment icon from colliding with the image when there is no title */ +} +.indexed.format-image .entry-content { + padding-top: 0.5em; +} +.indexed.format-image p, +.indexed.format-image p img { + margin-bottom: 0; +} +.indexed.format-image footer.entry-meta { + background: #ddd; + margin-top: -7px; + padding: 20px 30px; + overflow: hidden; +} +.indexed.format-image div.entry-meta { + display: inline-block; + float: left; + width: 35%; +} +.indexed.format-image div.entry-meta + div.entry-meta { + float: none; + width: 65%; +} +.indexed.format-image .entry-meta span.cat-links, +.indexed.format-image .entry-meta span.tag-links, +.indexed.format-image .entry-meta span.comments-link { + display: block; +} +.indexed.format-image footer.entry-meta a { + color: #444; +} +.indexed.format-image footer.entry-meta a:hover { + color: #fff; +} +#content .indexed.format-image img { + border: none; + max-width: 100%; + padding: 0; +} +.indexed.format-image .wp-caption { + background: #111; + margin-bottom: 0; + max-width: 96%; + padding: 11px; +} +.indexed.format-image .wp-caption .wp-caption-text { + color: #ddd; +} +.indexed.format-image .wp-caption .wp-caption-text:before { + color: #444; +} +.indexed.format-image a:hover img { + opacity: 0.8; +} + + +/* =error404 +----------------------------------------------- */ + +.error404 #main #searchform { + background: #f9f9f9; + border: 1px solid #ddd; + border-width: 1px 0; + margin: 0 -8.9% 1.625em; + overflow: hidden; + padding: 1.625em 8.9%; +} +.error404 #main #s { + width: 95%; +} +.error404 #main .widget { + clear: none; + float: left; + margin-right: 3.7%; + width: 30.85%; +} +.error404 #main .widget_archive { + margin-right: 0; +} +.error404 #main .widget_tag_cloud { + float: none; + margin-right: 0; + width: 100%; +} +.error404 .widgettitle { + font-size: 10px; + letter-spacing: 0.1em; + line-height: 2.6em; + text-transform: uppercase; +} + + +/* =Showcase +----------------------------------------------- */ + +h1.showcase-heading { + color: #666; + font-size: 10px; + font-weight: 500; + letter-spacing: 0.1em; + line-height: 2.6em; + text-transform: uppercase; +} + +/* Intro */ +article.intro { + background: #f9f9f9; + border-bottom: none; + margin: -1.855em -8.9% 1.625em; + padding: 0 8.9%; +} +article.intro .entry-title { + display: none; +} +article.intro .entry-content { + color: #111; + font-size: 16px; + padding: 1.625em 0 0.625em; +} +article.intro .edit-link a { + background: #aaa; + -moz-border-radius: 3px; + border-radius: 3px; + color: #fff; + font-size: 12px; + padding: 0 8px; + position: absolute; + top: 30px; + right: 20px; + text-decoration: none; +} +article.intro .edit-link a:hover, +article.intro .edit-link a:focus, +article.intro .edit-link a:active { + background: #777; +} + +/* Featured post */ +section.featured-post { + float: left; + margin: -1.625em -8.9% 1.625em; + padding: 1.625em 8.9% 0; + position: relative; + width: 100%; +} +section.featured-post .hentry { + border: none; + color: #666; + margin: 0; +} +section.featured-post .entry-meta { + clip: rect(1px 1px 1px 1px); /* IE6, IE7 */ + clip: rect(1px, 1px, 1px, 1px); + position: absolute !important; +} + +/* Small featured post */ +section.featured-post .attachment-small-feature { + float: right; + height: auto; + margin: 0 -8.9% 1.625em 0; + max-width: 59%; + position: relative; + right: -15px; +} +section.featured-post.small { + padding-top: 0; +} +section.featured-post .attachment-small-feature:hover, +section.featured-post .attachment-small-feature:focus, +section.featured-post .attachment-small-feature:active { + opacity: .8; +} +article.feature-image.small { + float: left; + margin: 0 0 1.625em; + width: 45%; +} +article.feature-image.small .entry-title { + line-height: 1.2em; +} +article.feature-image.small .entry-summary { + color: #555; + font-size: 13px; +} +article.feature-image.small .entry-summary p a { + background: #222; + color: #eee; + display: block; + left: -23.8%; + padding: 9px 26px 9px 85px; + position: relative; + text-decoration: none; + top: 20px; + width: 180px; + z-index: 1; +} +article.feature-image.small .entry-summary p a:hover { + background: #1982d1; + color: #eee; + color: rgba(255,255,255,0.8); +} + +/* Large featured post */ +section.feature-image.large { + border: none; + max-height: 288px; + padding: 0; + width: 100%; +} +section.feature-image.large .showcase-heading { + display: none; +} +section.feature-image.large .hentry { + border-bottom: none; + left: 9%; + margin: 1.625em 9% 0 0; + position: absolute; + top: 0; +} +article.feature-image.large .entry-title a { + background: #222; + background: rgba(0,0,0,0.8); + -moz-border-radius: 3px; + border-radius: 3px; + color: #fff; + display: inline-block; + font-weight: 300; + padding: .2em 20px; +} +section.feature-image.large:hover .entry-title a, +section.feature-image.large .entry-title:hover a { + background: #eee; + background: rgba(255,255,255,0.8); + color: #222; +} +article.feature-image.large .entry-summary { + display: none; +} +section.feature-image.large img { + display: block; + height: auto; + max-width: 117.9%; + padding: 0 0 6px; +} + +/* Featured Slider */ +.featured-posts { + border-bottom: 1px solid #ddd; + display: block; + height: 328px; + margin: 1.625em -8.9% 20px; + max-width: 1000px; + padding: 0; + position: relative; + overflow: hidden; +} +.featured-posts .showcase-heading { + padding-left: 8.9%; +} +.featured-posts section.featured-post { + background: #fff; + height: 288px; + left: 0; + margin: 0; + position: absolute; + top: 30px; + width: auto; +} +.featured-posts section.featured-post.large { + max-width: 100%; + overflow: hidden; +} +.featured-posts section.featured-post { + -webkit-transition-duration: 200ms; + -webkit-transition-property: opacity, visibility; + -webkit-transition-timing-function: ease; + -moz-transition-duration: 200ms; + -moz-transition-property: opacity, visibility; + -moz-transition-timing-function: ease; +} +.featured-posts section.featured-post { + opacity: 0; + visibility: hidden; +} +.featured-posts #featured-post-1 { + opacity: 1; + visibility: visible; +} +.featured-post .feature-text:after, +.featured-post .feature-image.small:after { + content: ' '; + background: -moz-linear-gradient(top, rgba(255,255,255,0) 0%, rgba(255,255,255,1) 100%); /* FF3.6+ */ + background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,rgba(255,255,255,0)), color-stop(100%,rgba(255,255,255,1))); /* Chrome,Safari4+ */ + background: -webkit-linear-gradient(top, rgba(255,255,255,0) 0%,rgba(255,255,255,1) 100%); /* Chrome10+,Safari5.1+ */ + background: -o-linear-gradient(top, rgba(255,255,255,0) 0%,rgba(255,255,255,1) 100%); /* Opera11.10+ */ + background: -ms-linear-gradient(top, rgba(255,255,255,0) 0%,rgba(255,255,255,1) 100%); /* IE10+ */ + filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#00ffffff', endColorstr='#ffffff',GradientType=0 ); /* IE6-9 */ + background: linear-gradient(top, rgba(255,255,255,0) 0%,rgba(255,255,255,1) 100%); /* W3C */ + width: 100%; + height: 45px; + position: absolute; + top: 230px; +} +.featured-post .feature-image.small:after { + top: 253px; +} +#content .feature-slider { + top: 5px; + right: 8.9%; + overflow: visible; + position: absolute; +} +.feature-slider ul { + list-style-type: none; + margin: 0; +} +.feature-slider li { + float: left; + margin: 0 6px; +} +.feature-slider a { + background: #3c3c3c; + background: rgba(60,60,60,0.9); + -moz-border-radius: 12px; + border-radius: 12px; + -webkit-box-shadow: inset 1px 1px 5px rgba(0,0,0,0.5), inset 0 0 2px rgba(255,255,255,0.5); + -moz-box-shadow: inset 1px 1px 5px rgba(0,0,0,0.5), inset 0 0 2px rgba(255,255,255,0.5); + box-shadow: inset 1px 1px 5px rgba(0,0,0,0.5), inset 0 0 2px rgba(255,255,255,0.5); + display: block; + width: 14px; + height: 14px; +} +.feature-slider a.active { + background: #1982d1; + -webkit-box-shadow: inset 1px 1px 5px rgba(0,0,0,0.4), inset 0 0 2px rgba(255,255,255,0.8); + -moz-box-shadow: inset 1px 1px 5px rgba(0,0,0,0.4), inset 0 0 2px rgba(255,255,255,0.8); + box-shadow: inset 1px 1px 5px rgba(0,0,0,0.4), inset 0 0 2px rgba(255,255,255,0.8); + cursor: default; + opacity: 0.5; +} + +/* Recent Posts */ +section.recent-posts { + padding: 0 0 1.625em; +} +section.recent-posts .hentry { + border: none; + margin: 0; +} +section.recent-posts .other-recent-posts { + border-bottom: 1px solid #ddd; + list-style: none; + margin: 0; +} +section.recent-posts .other-recent-posts li { + padding: 0.3125em 0; + position: relative; +} +section.recent-posts .other-recent-posts .entry-title { + border-top: 1px solid #ddd; + font-size: 17px; +} +section.recent-posts .other-recent-posts a[rel="bookmark"] { + color: #373737; + float: left; + max-width: 84%; +} +section.recent-posts .other-recent-posts a[rel="bookmark"]:after { + content: '-'; + color: transparent; + font-size: 11px; +} +section.recent-posts .other-recent-posts a[rel="bookmark"]:hover { +} +section.recent-posts .other-recent-posts .comments-link a, +section.recent-posts .other-recent-posts .comments-link > span { + border-bottom: 2px solid #999; + bottom: -2px; + color: #444; + display: block; + font-size: 10px; + font-weight: 500; + line-height: 2.76333em; + padding: 0.3125em 0 0.3125em 1em; + position: absolute; + right: 0; + text-align: right; + text-transform: uppercase; + z-index: 1; +} +section.recent-posts .other-recent-posts .comments-link > span { + border-color: #bbb; + color: #888; +} +section.recent-posts .other-recent-posts .comments-link a:hover { + color: #1982d1; + border-color: #1982d1; +} +section.recent-posts .other-recent-posts li:after { + clear: both; + content: '.'; + display: block; + height: 0; + visibility: hidden; +} + + +/* =Attachments +----------------------------------------------- */ + +.image-attachment div.attachment { + background: #f9f9f9; + border: 1px solid #ddd; + border-width: 1px 0; + margin: 0 -8.9% 1.625em; + overflow: hidden; + padding: 1.625em 1.625em 0; + text-align: center; +} +.image-attachment div.attachment img { + display: block; + height: auto; + margin: 0 auto 1.625em; + max-width: 100%; +} +.image-attachment div.attachment a img { + border-color: #f9f9f9; +} +.image-attachment div.attachment a:focus img, +.image-attachment div.attachment a:hover img, +.image-attachment div.attachment a:active img { + border-color: #ddd; + background: #fff; +} +.image-attachment .entry-caption p { + font-size: 10px; + letter-spacing: 0.1em; + line-height: 2.6em; + margin: 0 0 2.6em; + text-transform: uppercase; +} + + +/* =Navigation +-------------------------------------------------------------- */ + +#content nav { + clear: both; + overflow: hidden; + padding: 0 0 1.625em; +} +#content nav a { + font-size: 12px; + font-weight: bold; + line-height: 2.2em; +} +#nav-above { + padding: 0 0 1.625em; +} +#nav-above { + display: none; +} +.paged #nav-above { + display: block; +} +.nav-previous { + float: left; + width: 50%; +} +.nav-next { + float: right; + text-align: right; + width: 50%; +} +#content nav .meta-nav { + font-weight: normal; +} + +/* Singular navigation */ +#nav-single { + float: right; + position: relative; + top: -0.3em; + text-align: right; + width: 100%; + z-index: 1; +} +#nav-single .nav-previous, +#nav-single .nav-next { + float: none; + width: auto; +} +#nav-single .nav-next { + padding-left: .5em; +} + + +/* =Widgets +----------------------------------------------- */ + +.widget-area { + font-size: 12px; +} +.widget { + clear: both; + margin: 0 0 2.2em; +} +.widget-title { + color: #666; + font-size: 10px; + font-weight: 500; + letter-spacing: 0.1em; + line-height: 2.6em; + text-transform: uppercase; +} +.widget ul { + font-size: 15px; + margin: 0; +} +.widget ul ul { + margin-left: 1.5em; +} +.widget ul li { + color: #777; + font-size: 13px; +} +.widget a { + font-weight: bold; + text-decoration: none; +} +.widget a:hover, +.widget a:focus, +.widget a:active { + text-decoration: underline; +} + +/* Search Widget */ +.widget_search form { + margin: 0 0 1.625em; +} +.widget_search #s { + width: 77%; +} +.widget_search #searchsubmit { + background: #ddd; + border: 1px solid #ccc; + -webkit-box-shadow: inset 0px -1px 1px rgba(0, 0, 0, 0.09); + -moz-box-shadow: inset 0px -1px 1px rgba(0, 0, 0, 0.09); + box-shadow: inset 0px -1px 1px rgba(0, 0, 0, 0.09); + color: #888; + font-size: 13px; + line-height: 25px; + position: relative; + top: -2px; +} +.widget_search #searchsubmit:active { + background: #1982d1; + border-color: #0861a5; + -webkit-box-shadow: inset 0px 1px 1px rgba(0, 0, 0, 0.1); + -moz-box-shadow: inset 0px 1px 1px rgba(0, 0, 0, 0.1); + box-shadow: inset 0px 1px 1px rgba(0, 0, 0, 0.1); + color: #bfddf3; +} + +/* Ephemera Widget */ +section.ephemera ol, +.widget_twentyeleven_ephemera ol { + list-style: square; + margin: 5px 0 0; +} +.widget_twentyeleven_ephemera .widget-entry-title { + font-size: 15px; + font-weight: bold; + padding: 0; +} +.widget_twentyeleven_ephemera .comments-link a, +.widget_twentyeleven_ephemera .comments-link > span { + color: #666; + display: block; + font-size: 10px; + font-weight: 500; + line-height: 2.76333em; + text-transform: uppercase; +} +section.ephemera .entry-title .comments-link a:hover, +.widget_twentyeleven_ephemera .entry-title .comments-link a:hover { +} +section.ephemera .entry-title a span { + color: #29628d; +} + +/* Twitter */ +.widget_twitter li { + list-style-type: none; + margin-bottom: 14px; +} +.widget_twitter .timesince { + display: block; + font-size: 11px; + margin-right: -10px; + text-align: right; +} + +/* Widget Image */ +.widget_image img { + height: auto; + max-width: 100%; +} + +/* Calendar Widget */ + +.widget_calendar #wp-calendar { + color: #555; + width: 95%; + text-align: center; +} +.widget_calendar #wp-calendar caption, +.widget_calendar #wp-calendar td, +.widget_calendar #wp-calendar th { + text-align: center; +} +.widget_calendar #wp-calendar caption { + font-size: 11px; + font-weight: 500; + padding: 5px 0 3px 0; + text-transform: uppercase; +} +.widget_calendar #wp-calendar th { + background: #f4f4f4; + border-top: 1px solid #ccc; + border-bottom: 1px solid #ccc; + font-weight: bold; +} +.widget_calendar #wp-calendar tfoot td { + background: #f4f4f4; + border-top: 1px solid #ccc; + border-bottom: 1px solid #ccc; +} + + +/* =Comments +----------------------------------------------- */ + +#comments-title { + color: #666; + font-size: 10px; + font-weight: 500; + line-height: 2.6em; + padding: 0 0 2.6em; + text-transform: uppercase; +} +.nopassword, +.nocomments { + color: #aaa; + font-size: 24px; + font-weight: 100; + margin: 26px 0; + text-align: center; +} +.commentlist { + list-style: none; + margin: 0 auto; + width: 68.9%; +} +.content .commentlist, +.page-template-sidebar-page-php .commentlist { + width: 100%; /* reset the width for the one-column and sidebar page layout */ +} +.commentlist > li.comment { + background: #f6f6f6; + border: 1px solid #ddd; + -moz-border-radius: 3px; + border-radius: 3px; + margin: 0 0 1.625em; + padding: 1.625em; + position: relative; +} +.commentlist .pingback { + margin: 0 0 1.625em; + padding: 0 1.625em; +} +.commentlist .children { + list-style: none; + margin: 0; +} +.commentlist .children li.comment { + background: #fff; + border-left: 1px solid #ddd; + -moz-border-radius: 0 3px 3px 0; + border-radius: 0 3px 3px 0; + margin: 1.625em 0 0; + padding: 1.625em; + position: relative; +} +.commentlist .children li.comment .fn { + display: block; +} +.comment-meta .fn { + font-style: normal; +} +.comment-meta { + color: #666; + font-size: 12px; + line-height: 2.2em; +} +.commentlist .children li.comment .comment-meta { + line-height: 1.625em; + margin-left: 50px; +} +.commentlist .children li.comment .comment-content { + margin: 1.625em 0 0; +} +.comment-meta a { + font-weight: bold; +} +.comment-meta a:focus, +.comment-meta a:active, +.comment-meta a:hover { +} +.commentlist .avatar { + -moz-border-radius: 3px; + border-radius: 3px; + -webkit-box-shadow: 0 1px 2px #ccc; + -moz-box-shadow: 0 1px 2px #ccc; + box-shadow: 0 1px 2px #ccc; + left: -102px; + padding: 0; + position: absolute; + top: 0; +} +.commentlist > li:before { + content: url(images/comment-arrow.png); + left: -21px; + position: absolute; +} +.commentlist > li.pingback:before { + content: ''; +} +.commentlist .children .avatar { + background: none; + -webkit-box-shadow: none; + -moz-box-shadow: none; + box-shadow: none; + left: 2.2em; + padding: 0; + top: 2.2em; +} +a.comment-reply-link { + background: #eee; + -moz-border-radius: 3px; + border-radius: 3px; + color: #666; + display: inline-block; + font-size: 12px; + padding: 0 8px; + text-decoration: none; +} +a.comment-reply-link:hover, +a.comment-reply-link:focus, +a.comment-reply-link:active { + background: #888; + color: #fff; +} +a.comment-reply-link > span { + display: inline-block; + position: relative; + top: -1px; +} + +/* Post author highlighting */ +.commentlist > li.bypostauthor { + background: #ddd; + border-color: #d3d3d3; +} +.commentlist > li.bypostauthor .comment-meta { + color: #575757; +} +.commentlist > li.bypostauthor .comment-meta a:focus, +.commentlist > li.bypostauthor .comment-meta a:active, +.commentlist > li.bypostauthor .comment-meta a:hover { +} +.commentlist > li.bypostauthor:before { + content: url(images/comment-arrow-bypostauthor.png); +} + +/* Post Author threaded comments */ +.commentlist .children > li.bypostauthor { + background: #ddd; + border-color: #d3d3d3; +} + +/* sidebar-page.php comments */ +/* Make sure we have room for our comment avatars */ +.page-template-sidebar-page-php .commentlist > li.comment, +.page-template-sidebar-page-php.commentlist .pingback { + margin-left: 102px; + width: auto; +} +/* And a full-width comment form */ +.page-template-sidebar-page-php #respond { + width: auto; +} + +/* Comment Form */ +#respond { + background: #ddd; + border: 1px solid #d3d3d3; + -moz-border-radius: 3px; + border-radius: 3px; + margin: 0 auto 1.625em; + padding: 1.625em; + position: relative; + width: 68.9%; +} +#respond input[type="text"], +#respond textarea { + background: #fff; + border: 4px solid #eee; + -moz-border-radius: 5px; + border-radius: 5px; + -webkit-box-shadow: inset 0 1px 3px rgba(204,204,204,0.95); + -moz-box-shadow: inset 0 1px 3px rgba(204,204,204,0.95); + box-shadow: inset 0 1px 3px rgba(204,204,204,0.95); + position: relative; + padding: 10px; + text-indent: 80px; +} +#respond .comment-form-author, +#respond .comment-form-email, +#respond .comment-form-url, +#respond .comment-form-comment { + position: relative; +} +#respond .comment-form-author label, +#respond .comment-form-email label, +#respond .comment-form-url label, +#respond .comment-form-comment label { + background: #eee; + -webkit-box-shadow: 1px 2px 2px rgba(204,204,204,0.8); + -moz-box-shadow: 1px 2px 2px rgba(204,204,204,0.8); + box-shadow: 1px 2px 2px rgba(204,204,204,0.8); + color: #555; + display: inline-block; + font-size: 13px; + left: 4px; + min-width: 60px; + padding: 4px 10px; + position: relative; + top: 40px; + z-index: 1; +} +#respond input[type="text"]:focus, +#respond textarea:focus { + text-indent: 0; + z-index: 1; +} +#respond textarea { + resize: vertical; + width: 95%; +} +#respond .comment-form-author .required, +#respond .comment-form-email .required { + color: #bd3500; + font-size: 22px; + font-weight: bold; + left: 75%; + position: absolute; + top: 45px; + z-index: 1; +} +#respond .comment-notes, +#respond .logged-in-as { + font-size: 13px; +} +#respond p { + margin: 10px 0; +} +#respond .form-submit { + float: right; + margin: -20px 0 10px; +} +#respond input#submit { + background: #222; + border: none; + -moz-border-radius: 3px; + border-radius: 3px; + -webkit-box-shadow: 0px 1px 2px rgba(0,0,0,0.3); + -moz-box-shadow: 0px 1px 2px rgba(0,0,0,0.3); + box-shadow: 0px 1px 2px rgba(0,0,0,0.3); + color: #eee; + cursor: pointer; + font-size: 15px; + margin: 20px 0; + padding: 5px 42px 5px 22px; + position: relative; + left: 30px; + text-shadow: 0 -1px 0 rgba(0,0,0,0.3); +} +#respond input#submit:active { + background: #1982d1; + color: #bfddf3; +} +#respond #cancel-comment-reply-link { + color: #666; + margin-left: 10px; + text-decoration: none; +} +#respond .logged-in-as a:hover, +#respond #cancel-comment-reply-link:hover { + text-decoration: underline; +} +.commentlist #respond { + margin: 1.625em 0 0; + width: auto; +} +#reply-title { + color: #373737; + font-size: 24px; + font-weight: bold; + line-height: 30px; +} +#cancel-comment-reply-link { + color: #888; + display: block; + font-size: 10px; + font-weight: normal; + line-height: 2.2em; + letter-spacing: 0.05em; + position: absolute; + right: 1.625em; + text-decoration: none; + text-transform: uppercase; + top: 1.1em; +} +#cancel-comment-reply-link:focus, +#cancel-comment-reply-link:active, +#cancel-comment-reply-link:hover { + color: #ff4b33; +} +#respond label { + line-height: 2.2em; +} +#respond input[type=text] { + display: block; + height: 24px; + width: 75%; +} +#respond p { + font-size: 12px; +} +p.comment-form-comment { + margin: 0; +} +.form-allowed-tags { + display: none; +} + + +/* =Footer +----------------------------------------------- */ + +#colophon { + clear: both; +} +#supplementary { + border-top: 1px solid #ddd; + padding: 1.625em 7.6%; + overflow: hidden; +} + +/* Two Footer Widget Areas */ +#supplementary.two .widget-area { + float: left; + margin-right: 3.7%; + width: 48.1%; +} +#supplementary.two .widget-area + .widget-area { + margin-right: 0; +} + +/* Three Footer Widget Areas */ +#supplementary.three .widget-area { + float: left; + margin-right: 3.7%; + width: 30.85%; +} +#supplementary.three .widget-area + .widget-area + .widget-area { + margin-right: 0; +} + +/* Site Generator Line */ +#site-generator { + background: #f9f9f9; + border-top: 1px solid #ddd; + color: #666; + font-size: 12px; + line-height: 2.2em; + padding: 2.2em 0.5em; + text-align: center; +} +#site-generator a { + color: #555; + font-weight: bold; +} +#site-generator .sep { + background: url(images/wordpress.png) center left no-repeat; + color: transparent; + display: inline-block; + height: 16px; + line-height: 16px; + margin: 0 7px; + width: 16px; +} + + +/* =Responsive Structure +----------------------------------------------- */ + +@media (max-width: 800px) { + /* Simplify the basic layout */ + #main #content { + margin: 0 7.6%; + width: auto; + } + #nav-below { + border-bottom: 1px solid #ddd; + margin-bottom: 1.625em; + } + #main #secondary { + float: none; + margin: 0 7.6%; + width: auto; + } + /* Simplify the showcase template */ + .page-template-showcase-php .featured-posts { + min-height: 280px; + } + .featured-posts section.featured-post { + height: auto; + } + .page-template-showcase-php section.recent-posts { + float: none; + margin: 0; + width: 100%; + } + .page-template-showcase-php #main .widget-area { + float: none; + margin: 0; + width: auto; + } + .page-template-showcase-php .other-recent-posts { + border-bottom: 1px solid #ddd; + } + /* Simplify the showcase template when small feature */ + section.featured-post .attachment-small-feature, + .one-column section.featured-post .attachment-small-feature { + border: none; + display: block; + float: left; + height: auto; + margin: 0.625em auto 1.025em; + max-width: 30%; + position: static; + } + article.feature-image.small { + float: right; + margin: 0 0 1.625em; + width: 64%; + } + .one-column article.feature-image.small .entry-summary { + height: auto; + } + article.feature-image.small .entry-summary p a { + left: 0; + padding-left: 20px; + padding-right: 20px; + width: auto; + } + /* Remove the margin on singular articles */ + .singular .entry-header, + .singular .entry-content, + .singular footer.entry-meta, + .singular #comments-title { + width: 100%; + } + /* Simplify the pullquotes and pull styles */ + .singular blockquote.pull { + margin: 0 0 1.625em; + } + .singular .pull.alignleft { + margin: 0 1.625em 0 0; + } + .singular .pull.alignright { + margin: 0 0 0 1.625em; + } + .singular .entry-meta .edit-link a { + left: 0; + position: absolute; + top: 40px; + } + .singular #author-info { + margin: 2.2em -8.8% 0; + padding: 20px 8.8%; + } + /* Make sure we have room for our comment avatars */ + .commentlist { + width: 100%; + } + .commentlist > li.comment, + .commentlist .pingback { + margin-left: 102px; + width: auto; + } + /* And a full-width comment form */ + #respond { + width: auto; + } + /* No need to float footer widgets at this size */ + #colophon #supplementary .widget-area { + float: none; + margin-right: 0; + width: auto; + } + /* No need to float 404 widgets at this size */ + .error404 #main .widget { + float: none; + margin-right: 0; + width: auto; + } + /* Make sure embeds fit their containers */ + embed, + object { + max-width: 100%; + } + +} +@media (max-width: 650px) { + /* @media (max-width: 650px) Reduce font-sizes for better readability on smaller devices */ + body, input, textarea { + font-size: 13px; + } + #site-title a { + font-size: 24px; + } + #site-description { + font-size: 12px; + } + #access ul { + font-size: 12px; + } + article.intro .entry-content { + font-size: 12px; + } + .entry-title { + font-size: 21px; + } + .featured-post .entry-title { + font-size: 14px; + } + .singular .entry-title { + font-size: 28px; + } + .entry-meta { + font-size: 12px; + } + blockquote { + margin: 0; + } + blockquote.pull { + font-size: 17px; + } + /* Reposition the site title and description slightly */ + #site-title { + padding: 5.30625em 0 0; + } + #site-title, + #site-description { + margin-right: 0; + } + /* Make sure the logo and search form don't collide */ + #branding #searchform { + top: 1.625em !important; + } + /* Floated content doesn't work well at this size */ + .alignleft, + .alignright { + float: none; + margin-left: 0; + margin-right: 0; + } + /* Make sure the post-post navigation doesn't collide with anything */ + #nav-single { + display: block; + position: static; + } + .singular .hentry { + padding: 1.625em 0 0; + } + .singular.page .hentry { + padding: 1.625em 0 0; + } + /* Talking avatars take up too much room at this size */ + .commentlist > li.comment, + .commentlist > li.pingback { + margin-left: 0 !important; + } + .commentlist .avatar { + background: transparent; + display: block; + padding: 0; + position: static; + } + .commentlist .children .avatar { + background: none; + left: 2.2em; + padding: 0; + position: absolute; + top: 2.2em; + } + /* Use the available space in the smaller comment form */ + #respond input[type="text"] { + width: 95%; + } + #respond .comment-form-author .required, + #respond .comment-form-email .required { + left: 95%; + } + #content .gallery-columns-3 .gallery-item { + width: 31%; + padding-right: 2%; + } + #content .gallery-columns-3 .gallery-item img { + width: 100%; + height: auto; + } + +} +@media (max-width: 450px) { + #content .gallery-columns-2 .gallery-item { + width: 45%; + padding-right: 4%; + } + #content .gallery-columns-2 .gallery-item img { + width: 100%; + height: auto; + } + +} +@media only screen and (min-device-width: 320px) and (max-device-width: 480px) { + body { + padding: 0; + } + #page { + margin-top: 0; + } + #branding { + border-top: none; + } + +} + + +/* =Print +----------------------------------------------- */ + +@media print { + body { + background: none !important; + font-size: 10pt; + } + footer.entry-meta a[rel=bookmark]:link:after, + footer.entry-meta a[rel=bookmark]:visited:after { + content: " [" attr(href) "] "; /* Show URLs */ + } + #page { + clear: both !important; + display: block !important; + float: none !important; + max-width: 100%; + position: relative !important; + } + #branding { + border-top: none !important; + padding: 0; + } + #branding hgroup { + margin: 0; + } + #site-title a { + font-size: 21pt; + } + #site-description { + font-size: 10pt; + } + #branding #searchform { + display: none; + } + #branding img { + display: none; + } + #access { + display: none; + } + #main { + border-top: none; + box-shadow: none; + } + #primary { + float: left; + margin: 0; + width: 100%; + } + #content { + margin: 0; + width: auto; + } + .singular #content { + margin: 0; + width: 100%; + } + .singular .entry-header .entry-meta { + position: static; + } + .entry-meta .edit-link a { + display: none; + } + #content nav { + display: none; + } + .singular .entry-header, + .singular .entry-content, + .singular footer.entry-meta, + .singular #comments-title { + margin: 0; + width: 100%; + } + .singular .hentry { + padding: 0; + } + .entry-title, + .singular .entry-title { + font-size: 21pt; + } + .entry-meta { + font-size: 10pt; + } + .entry-header .comments-link { + display: none; + } + .page-link { + display: none; + } + .singular #author-info { + background: none; + border-bottom: none; + border-top: none; + margin: 2.2em 0 0; + padding: 0; + } + #respond { + display: none; + } + .widget-area { + display: none; + } + #colophon { + display: none; + } + + /* Comments */ + .commentlist > li.comment { + background: none; + border: 1px solid #ddd; + -moz-border-radius: 3px 3px 3px 3px; + border-radius: 3px 3px 3px 3px; + margin: 0 auto 1.625em; + padding: 1.625em; + position: relative; + width: auto; + } + .commentlist .avatar { + height: 39px; + left: 2.2em; + top: 2.2em; + width: 39px; + } + .commentlist li.comment .comment-meta { + line-height: 1.625em; + margin-left: 50px; + } + .commentlist li.comment .fn { + display: block; + } + .commentlist li.comment .comment-content { + margin: 1.625em 0 0; + } + .commentlist .comment-edit-link { + display: none; + } + .commentlist > li::before, + .commentlist > li.bypostauthor::before { + content: ''; + } + .commentlist .reply { + display: none; + } + + /* Post author highlighting */ + .commentlist > li.bypostauthor { + color: #444; + } + .commentlist > li.bypostauthor .comment-meta { + color: #666; + } + .commentlist > li.bypostauthor:before { + content: none; + } + + /* Post Author threaded comments */ + .commentlist .children > li.bypostauthor { + background: #fff; + border-color: #ddd; + } + .commentlist .children > li.bypostauthor > article, + .commentlist .children > li.bypostauthor > article .comment-meta { + color: #666; + } + +} + + +/* =IE7 +----------------------------------------------- */ + +#ie7 article.intro { + margin-left: -7.6%; + margin-right: -7.6%; + padding-left: -7.6%; + padding-right: -7.6%; + max-width: 1000px; +} +#ie7 section.featured-post { + margin-left: -7.6%; + margin-right: -7.6%; + max-width: 850px; +} +#ie7 section.recent-posts { + margin-right: 7.6%; +} diff --git a/wp-content/themes/twentyeleven/tag.php b/wp-content/themes/twentyeleven/tag.php new file mode 100644 index 000000000..8180a8cf4 --- /dev/null +++ b/wp-content/themes/twentyeleven/tag.php @@ -0,0 +1,65 @@ +<?php +/** + * The template used to display Tag Archive pages + * + * @package WordPress + * @subpackage Twenty_Eleven + * @since Twenty Eleven 1.0 + */ + +get_header(); ?> + + <section id="primary"> + <div id="content" role="main"> + + <?php if ( have_posts() ) : ?> + + <header class="page-header"> + <h1 class="page-title"><?php + printf( __( 'Tag Archives: %s', 'twentyeleven' ), '<span>' . single_tag_title( '', false ) . '</span>' ); + ?></h1> + + <?php + $tag_description = tag_description(); + if ( ! empty( $tag_description ) ) + echo apply_filters( 'tag_archive_meta', '<div class="tag-archive-meta">' . $tag_description . '</div>' ); + ?> + </header> + + <?php twentyeleven_content_nav( 'nav-above' ); ?> + + <?php /* Start the Loop */ ?> + <?php while ( have_posts() ) : the_post(); ?> + + <?php + /* Include the Post-Format-specific template for the content. + * If you want to overload this in a child theme then include a file + * called content-___.php (where ___ is the Post Format name) and that will be used instead. + */ + get_template_part( 'content', get_post_format() ); + ?> + + <?php endwhile; ?> + + <?php twentyeleven_content_nav( 'nav-below' ); ?> + + <?php else : ?> + + <article id="post-0" class="post no-results not-found"> + <header class="entry-header"> + <h1 class="entry-title"><?php _e( 'Nothing Found', 'twentyeleven' ); ?></h1> + </header><!-- .entry-header --> + + <div class="entry-content"> + <p><?php _e( 'Apologies, but no results were found for the requested archive. Perhaps searching will help find a related post.', 'twentyeleven' ); ?></p> + <?php get_search_form(); ?> + </div><!-- .entry-content --> + </article><!-- #post-0 --> + + <?php endif; ?> + + </div><!-- #content --> + </section><!-- #primary --> + +<?php get_sidebar(); ?> +<?php get_footer(); ?> diff --git a/wp-content/themes/twentyten/languages/twentyten.pot b/wp-content/themes/twentyten/languages/twentyten.pot index 33093f455..1384ef106 100644 --- a/wp-content/themes/twentyten/languages/twentyten.pot +++ b/wp-content/themes/twentyten/languages/twentyten.pot @@ -4,7 +4,7 @@ msgid "" msgstr "" "Project-Id-Version: Twenty Ten 1.2\n" "Report-Msgid-Bugs-To: http://wordpress.org/tag/twentyten\n" -"POT-Creation-Date: 2011-02-22 08:27:35+00:00\n" +"POT-Creation-Date: 2011-06-13 13:27:43+00:00\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" @@ -16,6 +16,7 @@ msgstr "" msgid "Return to %s" msgstr "" +#. translators: %s - title of parent post #: loop-attachment.php:23 msgid "<span class=\"meta-nav\">←</span> %s" msgstr "" @@ -186,34 +187,42 @@ msgstr "" msgid "Primary Navigation" msgstr "" +#. translators: header image description #: functions.php:140 msgid "Berries" msgstr "" +#. translators: header image description #: functions.php:146 msgid "Cherry Blossoms" msgstr "" +#. translators: header image description #: functions.php:152 msgid "Concave" msgstr "" +#. translators: header image description #: functions.php:158 msgid "Fern" msgstr "" +#. translators: header image description #: functions.php:164 msgid "Forest Floor" msgstr "" +#. translators: header image description #: functions.php:170 msgid "Inkwell" msgstr "" +#. translators: header image description #: functions.php:176 msgid "Path" msgstr "" +#. translators: header image description #: functions.php:182 msgid "Sunset" msgstr "" @@ -226,6 +235,7 @@ msgstr "" msgid "Your comment is awaiting moderation." msgstr "" +#. translators: 1: date, 2: time #: functions.php:340 msgid "%1$s at %2$s" msgstr "" diff --git a/wp-content/themes/twentyten/loop-attachment.php b/wp-content/themes/twentyten/loop-attachment.php index 20794fba0..7368200ab 100644 --- a/wp-content/themes/twentyten/loop-attachment.php +++ b/wp-content/themes/twentyten/loop-attachment.php @@ -31,7 +31,7 @@ <?php printf( __( '<span class="%1$s">By</span> %2$s', 'twentyten' ), 'meta-prep meta-prep-author', - sprintf( '<span class="author vcard"><a class="url fn n" href="%1$s" title="%2$s">%3$s</a></span>', + sprintf( '<span class="author vcard"><a class="url fn n" href="%1$s" title="%2$s" rel="author">%3$s</a></span>', get_author_posts_url( get_the_author_meta( 'ID' ) ), sprintf( esc_attr__( 'View all posts by %s', 'twentyten' ), get_the_author() ), get_the_author() diff --git a/wp-content/themes/twentyten/loop-single.php b/wp-content/themes/twentyten/loop-single.php index 50860e24f..c12d47b2c 100644 --- a/wp-content/themes/twentyten/loop-single.php +++ b/wp-content/themes/twentyten/loop-single.php @@ -43,7 +43,7 @@ <h2><?php printf( esc_attr__( 'About %s', 'twentyten' ), get_the_author() ); ?></h2> <?php the_author_meta( 'description' ); ?> <div id="author-link"> - <a href="<?php echo get_author_posts_url( get_the_author_meta( 'ID' ) ); ?>"> + <a href="<?php echo get_author_posts_url( get_the_author_meta( 'ID' ) ); ?>" rel="author"> <?php printf( __( 'View all posts by %s <span class="meta-nav">→</span>', 'twentyten' ), get_the_author() ); ?> </a> </div><!-- #author-link --> diff --git a/wp-includes/admin-bar.php b/wp-includes/admin-bar.php index 9a950c094..99caaa7f9 100644 --- a/wp-includes/admin-bar.php +++ b/wp-includes/admin-bar.php @@ -75,8 +75,8 @@ add_action( 'admin_footer', 'wp_admin_bar_render', 1000 ); * * @since 3.1.0 */ -function wp_admin_bar_my_account_menu() { - global $wp_admin_bar, $user_identity; +function wp_admin_bar_my_account_menu( $wp_admin_bar ) { + global $user_identity; $user_id = get_current_user_id(); @@ -88,12 +88,26 @@ function wp_admin_bar_my_account_menu() { $wp_admin_bar->add_menu( array( 'id' => $id, 'title' => $avatar . $user_identity, 'href' => get_edit_profile_url( $user_id ) ) ); /* Add the "My Account" sub menus */ - $wp_admin_bar->add_menu( array( 'parent' => $id, 'title' => __( 'Edit My Profile' ), 'href' => get_edit_profile_url( $user_id ) ) ); - if ( is_multisite() ) - $wp_admin_bar->add_menu( array( 'parent' => $id, 'title' => __( 'Dashboard' ), 'href' => get_dashboard_url( $user_id ) ) ); + $wp_admin_bar->add_menu( array( 'id' => 'edit-profile', 'parent' => $id, 'title' => __( 'Edit My Profile' ), 'href' => get_edit_profile_url( $user_id ) ) ); + $wp_admin_bar->add_menu( array( 'id' => 'logout', 'parent' => $id, 'title' => __( 'Log Out' ), 'href' => wp_logout_url() ) ); + } +} + +/** + * Add the "Dashboard"/"Visit Site" menu. + * + * @since 3.2.0 + */ +function wp_admin_bar_dashboard_view_site_menu( $wp_admin_bar ) { + $user_id = get_current_user_id(); + + if ( 0 != $user_id ) { + if ( is_admin() ) + $wp_admin_bar->add_menu( array( 'id' => 'view-site', 'title' => __( 'Visit Site' ), 'href' => home_url() ) ); + elseif ( is_multisite() ) + $wp_admin_bar->add_menu( array( 'id' => 'dashboard', 'title' => __( 'Dashboard' ), 'href' => get_dashboard_url( $user_id ) ) ); else - $wp_admin_bar->add_menu( array( 'parent' => $id, 'title' => __( 'Dashboard' ), 'href' => admin_url() ) ); - $wp_admin_bar->add_menu( array( 'parent' => $id, 'title' => __( 'Log Out' ), 'href' => wp_logout_url() ) ); + $wp_admin_bar->add_menu( array( 'id' => 'dashboard', 'title' => __( 'Dashboard' ), 'href' => admin_url() ) ); } } @@ -102,8 +116,8 @@ function wp_admin_bar_my_account_menu() { * * @since 3.1.0 */ -function wp_admin_bar_my_sites_menu() { - global $wpdb, $wp_admin_bar; +function wp_admin_bar_my_sites_menu( $wp_admin_bar ) { + global $wpdb; /* Add the 'My Sites' menu if the user has more than one site. */ if ( count( $wp_admin_bar->user->blogs ) <= 1 ) @@ -137,9 +151,7 @@ function wp_admin_bar_my_sites_menu() { * * @since 3.1.0 */ -function wp_admin_bar_shortlink_menu() { - global $wp_admin_bar; - +function wp_admin_bar_shortlink_menu( $wp_admin_bar ) { $short = wp_get_shortlink( 0, 'query' ); $id = 'get-shortlink'; @@ -161,18 +173,61 @@ function wp_admin_bar_shortlink_menu() { * * @since 3.1.0 */ -function wp_admin_bar_edit_menu () { - global $wp_admin_bar; - - $current_object = get_queried_object(); - - if ( empty($current_object) ) - return; - - if ( ! empty( $current_object->post_type ) && ( $post_type_object = get_post_type_object( $current_object->post_type ) ) && current_user_can( $post_type_object->cap->edit_post, $current_object->ID ) && $post_type_object->show_ui ) { - $wp_admin_bar->add_menu( array( 'id' => 'edit', 'title' => $post_type_object->labels->edit_item, 'href' => get_edit_post_link( $current_object->ID ) ) ); - } elseif ( ! empty( $current_object->taxonomy ) && ( $tax = get_taxonomy( $current_object->taxonomy ) ) && current_user_can( $tax->cap->edit_terms ) && $tax->show_ui ) { - $wp_admin_bar->add_menu( array( 'id' => 'edit', 'title' => $tax->labels->edit_item, 'href' => get_edit_term_link( $current_object->term_id, $current_object->taxonomy ) ) ); +function wp_admin_bar_edit_menu( $wp_admin_bar ) { + global $post, $tag; + + if ( is_admin() ) { + $current_screen = get_current_screen(); + + if ( 'post' == $current_screen->base + && 'add' != $current_screen->action + && ( $post_type_object = get_post_type_object( $post->post_type ) ) + && current_user_can( $post_type_object->cap->read_post, $post->ID ) + && ( $post_type_object->public ) ) + { + $wp_admin_bar->add_menu( array( + 'id' => 'view', + 'title' => $post_type_object->labels->view_item, + 'href' => get_permalink( $post->ID ) + ) ); + } elseif ( 'edit-tags' == $current_screen->base + && isset( $tag ) && is_object( $tag ) + && ( $tax = get_taxonomy( $tag->taxonomy ) ) + && $tax->public ) + { + $wp_admin_bar->add_menu( array( + 'id' => 'view', + 'title' => $tax->labels->view_item, + 'href' => get_term_link( $tag ) + ) ); + } + } else { + $current_object = get_queried_object(); + + if ( empty($current_object) ) + return; + + if ( ! empty( $current_object->post_type ) + && ( $post_type_object = get_post_type_object( $current_object->post_type ) ) + && current_user_can( $post_type_object->cap->edit_post, $current_object->ID ) + && ( $post_type_object->show_ui || 'attachment' == $current_object->post_type ) ) + { + $wp_admin_bar->add_menu( array( + 'id' => 'edit', + 'title' => $post_type_object->labels->edit_item, + 'href' => get_edit_post_link( $current_object->ID ) + ) ); + } elseif ( ! empty( $current_object->taxonomy ) + && ( $tax = get_taxonomy( $current_object->taxonomy ) ) + && current_user_can( $tax->cap->edit_terms ) + && $tax->show_ui ) + { + $wp_admin_bar->add_menu( array( + 'id' => 'edit', + 'title' => $tax->labels->edit_item, + 'href' => get_edit_term_link( $current_object->term_id, $current_object->taxonomy ) + ) ); + } } } @@ -181,17 +236,30 @@ function wp_admin_bar_edit_menu () { * * @since 3.1.0 */ -function wp_admin_bar_new_content_menu() { - global $wp_admin_bar; - +function wp_admin_bar_new_content_menu( $wp_admin_bar ) { $actions = array(); - foreach ( (array) get_post_types( array( 'show_ui' => true ), 'objects' ) as $ptype_obj ) { - if ( true !== $ptype_obj->show_in_menu || ! current_user_can( $ptype_obj->cap->edit_posts ) ) + foreach ( (array) get_post_types( array( 'show_in_admin_bar' => true ), 'objects' ) as $ptype_obj ) { + if ( ! current_user_can( $ptype_obj->cap->edit_posts ) ) continue; - $actions[ 'post-new.php?post_type=' . $ptype_obj->name ] = array( $ptype_obj->labels->singular_name, $ptype_obj->cap->edit_posts, 'new-' . $ptype_obj->name ); + $actions[ 'post-new.php?post_type=' . $ptype_obj->name ] = array( $ptype_obj->labels->name_admin_bar, $ptype_obj->cap->edit_posts, 'new-' . $ptype_obj->name ); } + if ( current_user_can( 'upload_files' ) ) + $actions[ 'media-new.php' ] = array( _x( 'Media', 'add new from admin bar' ), 'upload_files', 'new-media' ); + + if ( current_user_can( 'manage_links' ) ) + $actions[ 'link-add.php' ] = array( _x( 'Link', 'add new from admin bar' ), 'manage_links', 'new-link' ); + + if ( current_user_can( 'create_users' ) || current_user_can( 'promote_users' ) ) + $actions[ 'user-new.php' ] = array( _x( 'User', 'add new from admin bar' ), 'create_users', 'new-user' ); + + if ( ! is_multisite() && current_user_can( 'install_themes' ) ) + $actions[ 'theme-install.php' ] = array( _x( 'Theme', 'add new from admin bar' ), 'install_themes', 'new-theme' ); + + if ( ! is_multisite() && current_user_can( 'install_plugins' ) ) + $actions[ 'plugin-install.php' ] = array( _x( 'Plugin', 'add new from admin bar' ), 'install_plugins', 'new-plugin' ); + if ( empty( $actions ) ) return; @@ -207,9 +275,7 @@ function wp_admin_bar_new_content_menu() { * * @since 3.1.0 */ -function wp_admin_bar_comments_menu() { - global $wp_admin_bar; - +function wp_admin_bar_comments_menu( $wp_admin_bar ) { if ( !current_user_can('edit_posts') ) return; @@ -225,22 +291,30 @@ function wp_admin_bar_comments_menu() { * * @since 3.1.0 */ -function wp_admin_bar_appearance_menu() { - global $wp_admin_bar; - - if ( !current_user_can('switch_themes') ) +function wp_admin_bar_appearance_menu( $wp_admin_bar ) { + // You can have edit_theme_options but not switch_themes. + if ( ! current_user_can('switch_themes') && ! current_user_can( 'edit_theme_options' ) ) return; $wp_admin_bar->add_menu( array( 'id' => 'appearance', 'title' => __('Appearance'), 'href' => admin_url('themes.php') ) ); - if ( !current_user_can('edit_theme_options') ) + if ( ! current_user_can( 'edit_theme_options' ) ) return; + if ( current_user_can( 'switch_themes' ) ) + $wp_admin_bar->add_menu( array( 'parent' => 'appearance', 'id' => 'themes', 'title' => __('Themes'), 'href' => admin_url('themes.php') ) ); + if ( current_theme_supports( 'widgets' ) ) $wp_admin_bar->add_menu( array( 'parent' => 'appearance', 'id' => 'widgets', 'title' => __('Widgets'), 'href' => admin_url('widgets.php') ) ); if ( current_theme_supports( 'menus' ) || current_theme_supports( 'widgets' ) ) $wp_admin_bar->add_menu( array( 'parent' => 'appearance', 'id' => 'menus', 'title' => __('Menus'), 'href' => admin_url('nav-menus.php') ) ); + + if ( current_theme_supports( 'custom-background' ) ) + $wp_admin_bar->add_menu( array( 'parent' => 'appearance', 'id' => 'background', 'title' => __('Background'), 'href' => admin_url('themes.php?page=custom-background') ) ); + + if ( current_theme_supports( 'custom-header' ) ) + $wp_admin_bar->add_menu( array( 'parent' => 'appearance', 'id' => 'header', 'title' => __('Header'), 'href' => admin_url('themes.php?page=custom-header') ) ); } /** @@ -248,9 +322,7 @@ function wp_admin_bar_appearance_menu() { * * @since 3.1.0 */ -function wp_admin_bar_updates_menu() { - global $wp_admin_bar; - +function wp_admin_bar_updates_menu( $wp_admin_bar ) { if ( !current_user_can('install_plugins') ) return; @@ -278,7 +350,7 @@ function wp_admin_bar_updates_menu() { if ( $plugin_update_count ) $update_title[] = sprintf(_n('%d Plugin Update', '%d Plugin Updates', $plugin_update_count), $plugin_update_count); if ( $theme_update_count ) - $update_title[] = sprintf(_n('%d Theme Update', '%d Themes Updates', $theme_update_count), $theme_update_count); + $update_title[] = sprintf(_n('%d Theme Update', '%d Theme Updates', $theme_update_count), $theme_update_count); $update_title = !empty($update_title) ? esc_attr(implode(', ', $update_title)) : ''; @@ -307,7 +379,7 @@ function wp_admin_bar_header() { ?> * */ function _admin_bar_bump_cb() { ?> -<style type="text/css"> +<style type="text/css" media="screen"> html { margin-top: 28px !important; } * html body { margin-top: 28px !important; } </style> @@ -315,7 +387,7 @@ function _admin_bar_bump_cb() { ?> } /** - * Set the display status of the admin bar + * Set the display status of the admin bar. * * This can be called immediately upon plugin load. It does not need to be called from a function hooked to the init action. * @@ -363,9 +435,9 @@ function is_admin_bar_showing() { * @since 3.1.0 * @access private * - * @param string $context Context of this preference check, either 'admin' or 'front' - * @param int $user Optional. ID of the user to check, defaults to 0 for current user - * @return bool Whether the admin bar should be showing for this user + * @param string $context Context of this preference check, either 'admin' or 'front'. + * @param int $user Optional. ID of the user to check, defaults to 0 for current user. + * @return bool Whether the admin bar should be showing for this user. */ function _get_admin_bar_pref( $context, $user = 0 ) { $pref = get_user_option( "show_admin_bar_{$context}", $user ); diff --git a/wp-includes/author-template.php b/wp-includes/author-template.php index 641b69d46..f082fb24c 100644 --- a/wp-includes/author-template.php +++ b/wp-includes/author-template.php @@ -203,8 +203,10 @@ function the_author_posts_link($deprecated = '') { _deprecated_argument( __FUNCTION__, '2.1' ); global $authordata; + if ( !is_object( $authordata ) ) + return false; $link = sprintf( - '<a href="%1$s" title="%2$s">%3$s</a>', + '<a href="%1$s" title="%2$s" rel="author">%3$s</a>', get_author_posts_url( $authordata->ID, $authordata->user_nicename ), esc_attr( sprintf( __( 'Posts by %s' ), get_the_author() ) ), get_the_author() @@ -366,4 +368,34 @@ function wp_list_authors($args = '') { echo $return; } +/** + * Does this site have more than one author + * + * Checks to see if more than one author has published posts. + * + * @since 3.2.0 + * @return bool Whether or not we have more than one author + */ +function is_multi_author() { + global $wpdb; + + if ( false === ( $is_multi_author = wp_cache_get('is_multi_author', 'posts') ) ) { + $rows = (array) $wpdb->get_col("SELECT DISTINCT post_author FROM $wpdb->posts WHERE post_type = 'post' AND post_status = 'publish' LIMIT 2"); + $is_multi_author = 1 < count( $rows ) ? 1 : 0; + wp_cache_set('is_multi_author', $is_multi_author, 'posts'); + } + + return (bool) $is_multi_author; +} + +/** + * Helper function to clear the cache for number of authors. + * + * @private + */ +function __clear_multi_author_cache() { + wp_cache_delete('is_multi_author', 'posts'); +} +add_action('transition_post_status', '__clear_multi_author_cache'); + ?> diff --git a/wp-includes/bookmark.php b/wp-includes/bookmark.php index 8b0fe4874..e1184231c 100644 --- a/wp-includes/bookmark.php +++ b/wp-includes/bookmark.php @@ -213,22 +213,32 @@ function get_bookmarks($args = '') { $orderby = strtolower($orderby); $length = ''; - switch ($orderby) { + switch ( $orderby ) { case 'length': $length = ", CHAR_LENGTH(link_name) AS length"; break; case 'rand': $orderby = 'rand()'; break; + case 'link_id': + $orderby = "$wpdb->links.link_id"; + break; default: $orderparams = array(); - foreach ( explode(',', $orderby) as $ordparam ) - $orderparams[] = 'link_' . trim($ordparam); + foreach ( explode(',', $orderby) as $ordparam ) { + $ordparam = trim($ordparam); + if ( in_array( $ordparam, array( 'name', 'url', 'visible', 'rating', 'owner', 'updated' ) ) ) + $orderparams[] = 'link_' . $ordparam; + } $orderby = implode(',', $orderparams); } - if ( 'link_id' == $orderby ) - $orderby = "$wpdb->links.link_id"; + if ( empty( $orderby ) ) + $orderby = 'link_name'; + + $order = strtoupper( $order ); + if ( '' !== $order && !in_array( $order, array( 'ASC', 'DESC' ) ) ) + $order = 'ASC'; $visible = ''; if ( $hide_invisible ) diff --git a/wp-includes/cache.php b/wp-includes/cache.php index 895c43161..f73f02bf6 100644 --- a/wp-includes/cache.php +++ b/wp-includes/cache.php @@ -350,7 +350,7 @@ class WP_Object_Cache { if ( isset ($this->cache[$group][$id]) ) { $this->cache_hits += 1; if ( is_object($this->cache[$group][$id]) ) - return wp_clone($this->cache[$group][$id]); + return clone $this->cache[$group][$id]; else return $this->cache[$group][$id]; } @@ -426,7 +426,7 @@ class WP_Object_Cache { $data = ''; if ( is_object($data) ) - $data = wp_clone($data); + $data = clone $data; $this->cache[$group][$id] = $data; @@ -456,17 +456,6 @@ class WP_Object_Cache { echo '</ul>'; } - /** - * PHP4 constructor; Calls PHP 5 style constructor - * - * @since 2.0.0 - * - * @return WP_Object_Cache - */ - function WP_Object_Cache() { - return $this->__construct(); - } - /** * Sets up object properties; PHP 5 style constructor * diff --git a/wp-includes/canonical.php b/wp-includes/canonical.php index d111514df..453641a2b 100644 --- a/wp-includes/canonical.php +++ b/wp-includes/canonical.php @@ -141,8 +141,10 @@ function redirect_canonical( $requested_url = null, $do_redirect = true ) { $redirect['query'] = remove_query_arg('year', $redirect['query']); } elseif ( is_author() && !empty($_GET['author']) && preg_match( '|^[0-9]+$|', $_GET['author'] ) ) { $author = get_userdata(get_query_var('author')); - if ( false !== $author && $redirect_url = get_author_posts_url($author->ID, $author->user_nicename) ) - $redirect['query'] = remove_query_arg('author', $redirect['query']); + if ( ( false !== $author ) && $wpdb->get_var( $wpdb->prepare( "SELECT ID FROM $wpdb->posts WHERE $wpdb->posts.post_author = %d AND $wpdb->posts.post_status = 'publish' LIMIT 1", $author->ID ) ) ) { + if ( $redirect_url = get_author_posts_url($author->ID, $author->user_nicename) ) + $redirect['query'] = remove_query_arg('author', $redirect['query']); + } } elseif ( is_category() || is_tag() || is_tax() ) { // Terms (Tags/categories) $term_count = 0; @@ -150,27 +152,44 @@ function redirect_canonical( $requested_url = null, $do_redirect = true ) { $term_count += count( $tax_query['terms'] ); $obj = $wp_query->get_queried_object(); - if ( $term_count <= 1 && !empty($obj->term_id) && ( $tax_url = get_term_link((int)$obj->term_id, $obj->taxonomy) ) && !is_wp_error($tax_url) && !empty($redirect['query']) ) { + if ( $term_count <= 1 && !empty($obj->term_id) && ( $tax_url = get_term_link((int)$obj->term_id, $obj->taxonomy) ) && !is_wp_error($tax_url) ) { if ( !empty($redirect['query']) ) { + // Strip taxonomy query vars off the url. + $qv_remove = array( 'term', 'taxonomy'); if ( is_category() ) { - $redirect['query'] = remove_query_arg( array( 'category_name', 'category', 'cat'), $redirect['query']); + $qv_remove[] = 'category_name'; + $qv_remove[] = 'cat'; } elseif ( is_tag() ) { - $redirect['query'] = remove_query_arg( array( 'tag', 'tag_id'), $redirect['query']); - } elseif ( is_tax() ) { // Custom taxonomies will have a custom query var, remove those too: - $tax = get_taxonomy( $obj->taxonomy ); - if ( false !== $tax->query_var) - $redirect['query'] = remove_query_arg($tax->query_var, $redirect['query']); - else - $redirect['query'] = remove_query_arg( array( 'term', 'taxonomy'), $redirect['query']); + $qv_remove[] = 'tag'; + $qv_remove[] = 'tag_id'; + } else { // Custom taxonomies will have a custom query var, remove those too: + $tax_obj = get_taxonomy( $obj->taxonomy ); + if ( false !== $tax_obj->query_var ) + $qv_remove[] = $tax_obj->query_var; + } + + $rewrite_vars = array_diff( array_keys($wp_query->query), array_keys($_GET) ); + + if ( !array_diff($rewrite_vars, array_keys($_GET)) ) { // Check to see if all the Query vars are coming from the rewrite, none are set via $_GET + $redirect['query'] = remove_query_arg($qv_remove, $redirect['query']); //Remove all of the per-tax qv's + + // Create the destination url for this taxonomy + $tax_url = parse_url($tax_url); + if ( ! empty($tax_url['query']) ) { // Taxonomy accessable via ?taxonomy=..&term=.. or any custom qv.. + parse_str($tax_url['query'], $query_vars); + $redirect['query'] = add_query_arg($query_vars, $redirect['query']); + } else { // Taxonomy is accessable via a "pretty-URL" + $redirect['path'] = $tax_url['path']; + } + + } else { // Some query vars are set via $_GET. Unset those from $_GET that exist via the rewrite + foreach ( $qv_remove as $_qv ) { + if ( isset($rewrite_vars[$_qv]) ) + $redirect['query'] = remove_query_arg($_qv, $redirect['query']); + } } } - $tax_url = parse_url($tax_url); - if ( ! empty($tax_url['query']) ) { // Custom taxonomies may only be accessable via ?taxonomy=..&term=.. - parse_str($tax_url['query'], $query_vars); - $redirect['query'] = add_query_arg($query_vars, $redirect['query']); - } else { // Taxonomy is accessable via a "pretty-URL" - $redirect['path'] = $tax_url['path']; - } + } } elseif ( is_single() && strpos($wp_rewrite->permalink_structure, '%category%') !== false ) { $category = get_category_by_path(get_query_var('category_name')); diff --git a/wp-includes/capabilities.php b/wp-includes/capabilities.php index 7d8a00d73..28e754155 100644 --- a/wp-includes/capabilities.php +++ b/wp-includes/capabilities.php @@ -73,14 +73,11 @@ class WP_Roles { var $use_db = true; /** - * PHP4 Constructor - Call {@link WP_Roles::_init()} method. + * Constructor * * @since 2.0.0 - * @access public - * - * @return WP_Roles */ - function WP_Roles() { + function __construct() { $this->_init(); } @@ -269,7 +266,7 @@ class WP_Role { var $capabilities; /** - * PHP4 Constructor - Set up object properties. + * Constructor - Set up object properties. * * The list of capabilities, must have the key as the name of the capability * and the value a boolean of whether it is granted to the role. @@ -279,9 +276,8 @@ class WP_Role { * * @param string $role Role name. * @param array $capabilities List of capabilities. - * @return WP_Role */ - function WP_Role( $role, $capabilities ) { + function __construct( $role, $capabilities ) { $this->name = $role; $this->capabilities = $capabilities; } @@ -460,7 +456,7 @@ class WP_User { var $filter = null; /** - * PHP4 Constructor - Sets up the object properties. + * Constructor - Sets up the object properties. * * Retrieves the userdata and then assigns all of the data keys to direct * properties of the object. Calls {@link WP_User::_init_caps()} after @@ -474,7 +470,7 @@ class WP_User { * @param int $blog_id Optional Blog ID, defaults to current blog. * @return WP_User */ - function WP_User( $id, $name = '', $blog_id = '' ) { + function __construct( $id, $name = '', $blog_id = '' ) { if ( empty( $id ) && empty( $name ) ) return; @@ -824,6 +820,11 @@ function map_meta_cap( $cap, $user_id ) { case 'delete_page': $author_data = get_userdata( $user_id ); $post = get_post( $args[0] ); + + if ( 'revision' == $post->post_type ) { + $post = get_post( $post->post_parent ); + } + $post_type = get_post_type_object( $post->post_type ); if ( ! $post_type->map_meta_cap ) { @@ -869,6 +870,11 @@ function map_meta_cap( $cap, $user_id ) { case 'edit_page': $author_data = get_userdata( $user_id ); $post = get_post( $args[0] ); + + if ( 'revision' == $post->post_type ) { + $post = get_post( $post->post_parent ); + } + $post_type = get_post_type_object( $post->post_type ); if ( ! $post_type->map_meta_cap ) { @@ -913,6 +919,11 @@ function map_meta_cap( $cap, $user_id ) { case 'read_page': $author_data = get_userdata( $user_id ); $post = get_post( $args[0] ); + + if ( 'revision' == $post->post_type ) { + $post = get_post( $post->post_parent ); + } + $post_type = get_post_type_object( $post->post_type ); if ( ! $post_type->map_meta_cap ) { diff --git a/wp-includes/category-template.php b/wp-includes/category-template.php index 382488ded..39e68594b 100644 --- a/wp-includes/category-template.php +++ b/wp-includes/category-template.php @@ -82,7 +82,7 @@ function get_the_category( $id = false ) { _make_cat_compat( $categories[$key] ); } - // Filter name is plural because we return alot of categories not just one + // Filter name is plural because we return alot of categories (possibly more than #13237) not just one return apply_filters( 'get_the_categories', $categories ); } @@ -533,7 +533,7 @@ function wp_tag_cloud( $args = '' ) { $tags = get_terms( $args['taxonomy'], array_merge( $args, array( 'orderby' => 'count', 'order' => 'DESC' ) ) ); // Always query top tags - if ( empty( $tags ) ) + if ( empty( $tags ) || is_wp_error( $tags ) ) return; foreach ( $tags as $key => $tag ) { @@ -1064,8 +1064,6 @@ function term_description( $term = 0, $taxonomy = 'post_tag' ) { /** * Retrieve the terms of the taxonomy that are attached to the post. * - * This function can only be used within the loop. - * * @since 2.5.0 * * @param int $id Post ID. Is not optional. diff --git a/wp-includes/class-feed.php b/wp-includes/class-feed.php index cff43a17e..067f36c2c 100644 --- a/wp-includes/class-feed.php +++ b/wp-includes/class-feed.php @@ -4,15 +4,6 @@ if ( !class_exists('SimplePie') ) require_once (ABSPATH . WPINC . '/class-simplepie.php'); class WP_Feed_Cache extends SimplePie_Cache { - /** - * Don't call the constructor. Please. - * - * @access private - */ - function WP_Feed_Cache() { - trigger_error('Please call SimplePie_Cache::create() instead of the constructor', E_USER_ERROR); - } - /** * Create a new SimplePie_Cache object * @@ -29,7 +20,7 @@ class WP_Feed_Cache_Transient { var $mod_name; var $lifetime = 43200; //Default lifetime in cache of 12 hours - function WP_Feed_Cache_Transient($location, $filename, $extension) { + function __construct($location, $filename, $extension) { $this->name = 'feed_' . $filename; $this->mod_name = 'feed_mod_' . $filename; $this->lifetime = apply_filters('wp_feed_cache_transient_lifetime', $this->lifetime, $filename); @@ -65,7 +56,7 @@ class WP_Feed_Cache_Transient { class WP_SimplePie_File extends SimplePie_File { - function WP_SimplePie_File($url, $timeout = 10, $redirects = 5, $headers = null, $useragent = null, $force_fsockopen = false) { + function __construct($url, $timeout = 10, $redirects = 5, $headers = null, $useragent = null, $force_fsockopen = false) { $this->url = $url; $this->timeout = $timeout; $this->redirects = $redirects; @@ -89,9 +80,9 @@ class WP_SimplePie_File extends SimplePie_File { $this->error = 'WP HTTP Error: ' . $res->get_error_message(); $this->success = false; } else { - $this->headers = $res['headers']; - $this->body = $res['body']; - $this->status_code = $res['response']['code']; + $this->headers = wp_remote_retrieve_headers( $res ); + $this->body = wp_remote_retrieve_body( $res ); + $this->status_code = wp_remote_retrieve_response_code( $res ); } } else { if ( ! $this->body = file_get_contents($url) ) { @@ -100,4 +91,4 @@ class WP_SimplePie_File extends SimplePie_File { } } } -} \ No newline at end of file +} diff --git a/wp-includes/class-http.php b/wp-includes/class-http.php index 5d7f83d87..1cf44041b 100644 --- a/wp-includes/class-http.php +++ b/wp-includes/class-http.php @@ -27,146 +27,12 @@ * * Debugging includes several actions, which pass different variables for debugging the HTTP API. * - * <strong>http_transport_get_debug</strong> - gives working, nonblocking, and blocking transports. - * - * <strong>http_transport_post_debug</strong> - gives working, nonblocking, and blocking transports. - * * @package WordPress * @subpackage HTTP * @since 2.7.0 */ class WP_Http { - /** - * PHP4 style Constructor - Calls PHP5 Style Constructor - * - * @since 2.7.0 - * @return WP_Http - */ - function WP_Http() { - $this->__construct(); - } - - /** - * PHP5 style Constructor - Set up available transport if not available. - * - * PHP4 does not have the 'self' keyword and since WordPress supports PHP4, the class needs to - * be used for the static call. The transport are set up to save time and will only be created - * once. This class can be created many times without having to go through the step of finding - * which transports are available. - * - * @since 2.7.0 - * @return WP_Http - */ - function __construct() { - WP_Http::_getTransport(); - WP_Http::_postTransport(); - } - - /** - * Tests the WordPress HTTP objects for an object to use and returns it. - * - * Tests all of the objects and returns the object that passes. Also caches that object to be - * used later. - * - * The order for the GET/HEAD requests are HTTP Extension, cURL, Streams, Fopen, and finally - * Fsockopen. fsockopen() is used last, because it has the most overhead in its implementation. - * There isn't any real way around it, since redirects have to be supported, much the same way - * the other transports also handle redirects. - * - * There are currently issues with "localhost" not resolving correctly with DNS. This may cause - * an error "failed to open stream: A connection attempt failed because the connected party did - * not properly respond after a period of time, or established connection failed because [the] - * connected host has failed to respond." - * - * @since 2.7.0 - * @access private - * - * @param array $args Request args, default us an empty array - * @return object|null Null if no transports are available, HTTP transport object. - */ - function &_getTransport( $args = array() ) { - static $working_transport, $blocking_transport, $nonblocking_transport; - - if ( is_null($working_transport) ) { - if ( true === WP_Http_ExtHttp::test($args) ) { - $working_transport['exthttp'] = new WP_Http_ExtHttp(); - $blocking_transport[] = &$working_transport['exthttp']; - } else if ( true === WP_Http_Curl::test($args) ) { - $working_transport['curl'] = new WP_Http_Curl(); - $blocking_transport[] = &$working_transport['curl']; - } else if ( true === WP_Http_Streams::test($args) ) { - $working_transport['streams'] = new WP_Http_Streams(); - $blocking_transport[] = &$working_transport['streams']; - } else if ( true === WP_Http_Fopen::test($args) ) { - $working_transport['fopen'] = new WP_Http_Fopen(); - $blocking_transport[] = &$working_transport['fopen']; - } else if ( true === WP_Http_Fsockopen::test($args) ) { - $working_transport['fsockopen'] = new WP_Http_Fsockopen(); - $blocking_transport[] = &$working_transport['fsockopen']; - } - - foreach ( array('curl', 'streams', 'fopen', 'fsockopen', 'exthttp') as $transport ) { - if ( isset($working_transport[$transport]) ) - $nonblocking_transport[] = &$working_transport[$transport]; - } - } - - do_action( 'http_transport_get_debug', $working_transport, $blocking_transport, $nonblocking_transport ); - - if ( isset($args['blocking']) && !$args['blocking'] ) - return $nonblocking_transport; - else - return $blocking_transport; - } - - /** - * Tests the WordPress HTTP objects for an object to use and returns it. - * - * Tests all of the objects and returns the object that passes. Also caches - * that object to be used later. This is for posting content to a URL and - * is used when there is a body. The plain Fopen Transport can not be used - * to send content, but the streams transport can. This is a limitation that - * is addressed here, by just not including that transport. - * - * @since 2.7.0 - * @access private - * - * @param array $args Request args, default us an empty array - * @return object|null Null if no transports are available, HTTP transport object. - */ - function &_postTransport( $args = array() ) { - static $working_transport, $blocking_transport, $nonblocking_transport; - - if ( is_null($working_transport) ) { - if ( true === WP_Http_ExtHttp::test($args) ) { - $working_transport['exthttp'] = new WP_Http_ExtHttp(); - $blocking_transport[] = &$working_transport['exthttp']; - } else if ( true === WP_Http_Curl::test($args) ) { - $working_transport['curl'] = new WP_Http_Curl(); - $blocking_transport[] = &$working_transport['curl']; - } else if ( true === WP_Http_Streams::test($args) ) { - $working_transport['streams'] = new WP_Http_Streams(); - $blocking_transport[] = &$working_transport['streams']; - } else if ( true === WP_Http_Fsockopen::test($args) ) { - $working_transport['fsockopen'] = new WP_Http_Fsockopen(); - $blocking_transport[] = &$working_transport['fsockopen']; - } - - foreach ( array('curl', 'streams', 'fsockopen', 'exthttp') as $transport ) { - if ( isset($working_transport[$transport]) ) - $nonblocking_transport[] = &$working_transport[$transport]; - } - } - - do_action( 'http_transport_post_debug', $working_transport, $blocking_transport, $nonblocking_transport ); - - if ( isset($args['blocking']) && !$args['blocking'] ) - return $nonblocking_transport; - else - return $blocking_transport; - } - /** * Send a HTTP request to a URI. * @@ -210,7 +76,7 @@ class WP_Http { * * @param string $url URI resource. * @param str|array $args Optional. Override the defaults. - * @return array containing 'headers', 'body', 'response', 'cookies' + * @return array|object Array containing 'headers', 'body', 'response', 'cookies', 'filename'. A WP_Error instance upon error */ function request( $url, $args = array() ) { global $wp_version; @@ -227,12 +93,25 @@ class WP_Http { 'body' => null, 'compress' => false, 'decompress' => true, - 'sslverify' => true + 'sslverify' => true, + 'stream' => false, + 'filename' => null ); + + // Pre-parse for the HEAD checks. + $args = wp_parse_args( $args ); + + // By default, Head requests do not cause redirections. + if ( isset($args['method']) && 'HEAD' == $args['method'] ) + $defaults['redirection'] = 0; + $r = wp_parse_args( $args, $defaults ); $r = apply_filters( 'http_request_args', $r, $url ); + // Certain classes decrement this, store a copy of the original value for loop purposes. + $r['_redirection'] = $r['redirection']; + // Allow plugins to short-circuit the request $pre = apply_filters( 'pre_http_request', false, $r, $url ); if ( false !== $pre ) @@ -255,6 +134,18 @@ class WP_Http { $r['local'] = $homeURL['host'] == $arrURL['host'] || 'localhost' == $arrURL['host']; unset( $homeURL ); + // If we are streaming to a file but no filename was given drop it in the WP temp dir + // and pick it's name using the basename of the $url + if ( $r['stream'] && empty( $r['filename'] ) ) + $r['filename'] = get_temp_dir() . basename( $url ); + + // Force some settings if we are streaming to a file and check for existence and perms of destination directory + if ( $r['stream'] ) { + $r['blocking'] = true; + if ( ! is_writable( dirname( $r['filename'] ) ) ) + return new WP_Error( 'http_request_failed', __( 'Destination directory for file streaming does not exist or is not writable.' ) ); + } + if ( is_null( $r['headers'] ) ) $r['headers'] = array(); @@ -286,44 +177,88 @@ class WP_Http { // header isn't already set. if ( ($r['method'] == 'POST' || $r['method'] == 'PUT') && ! isset( $r['headers']['Content-Length'] ) ) $r['headers']['Content-Length'] = 0; - - // The method is ambiguous, because we aren't talking about HTTP methods, the "get" in - // this case is simply that we aren't sending any bodies and to get the transports that - // don't support sending bodies along with those which do. - $transports = WP_Http::_getTransport( $r ); } else { if ( is_array( $r['body'] ) || is_object( $r['body'] ) ) { - if ( ! version_compare(phpversion(), '5.1.2', '>=') ) - $r['body'] = _http_build_query( $r['body'], null, '&' ); - else - $r['body'] = http_build_query( $r['body'], null, '&' ); + $r['body'] = http_build_query( $r['body'], null, '&' ); $r['headers']['Content-Type'] = 'application/x-www-form-urlencoded; charset=' . get_option( 'blog_charset' ); $r['headers']['Content-Length'] = strlen( $r['body'] ); } if ( ! isset( $r['headers']['Content-Length'] ) && ! isset( $r['headers']['content-length'] ) ) $r['headers']['Content-Length'] = strlen( $r['body'] ); - - // The method is ambiguous, because we aren't talking about HTTP methods, the "post" in - // this case is simply that we are sending HTTP body and to get the transports that do - // support sending the body. Not all do, depending on the limitations of the PHP core - // limitations. - $transports = WP_Http::_postTransport( $r ); } - do_action( 'http_api_debug', $transports, 'transports_list' ); + return $this->_dispatch_request($url, $r); + } + + /** + * Tests which transports are capable of supporting the request. + * + * @since 3.2.0 + * @access private + * + * @param array $args Request arguments + * @param string $url URL to Request + * + * @return string|false Class name for the first transport that claims to support the request. False if no transport claims to support the request. + */ + public function _get_first_available_transport( $args, $url = null ) { + $request_order = array( 'curl', 'streams', 'fsockopen' ); - $response = array( 'headers' => array(), 'body' => '', 'response' => array('code' => false, 'message' => false), 'cookies' => array() ); - foreach ( (array) $transports as $transport ) { - $response = $transport->request( $url, $r ); + // Loop over each transport on each HTTP request looking for one which will serve this request's needs + foreach ( $request_order as $transport ) { + $class = 'WP_HTTP_' . $transport; - do_action( 'http_api_debug', $response, 'response', get_class( $transport ) ); + // Check to see if this transport is a possibility, calls the transport statically + if ( !call_user_func( array( $class, 'test' ), $args, $url ) ) + continue; - if ( ! is_wp_error( $response ) ) - return apply_filters( 'http_response', $response, $r, $url ); + return $class; } - return $response; + return false; + } + + /** + * Dispatches a HTTP request to a supporting transport. + * + * Tests each transport in order to find a transport which matches the request arguements. + * Also caches the transport instance to be used later. + * + * The order for blocking requests is cURL, Streams, and finally Fsockopen. + * The order for non-blocking requests is cURL, Streams and Fsockopen(). + * + * There are currently issues with "localhost" not resolving correctly with DNS. This may cause + * an error "failed to open stream: A connection attempt failed because the connected party did + * not properly respond after a period of time, or established connection failed because [the] + * connected host has failed to respond." + * + * @since 3.2.0 + * @access private + * + * @param string $url URL to Request + * @param array $args Request arguments + * @return array|object Array containing 'headers', 'body', 'response', 'cookies', 'filename'. A WP_Error instance upon error + */ + private function _dispatch_request( $url, $args ) { + static $transports = array(); + + $class = $this->_get_first_available_transport( $args, $url ); + if ( !$class ) + return new WP_Error( 'http_failure', __( 'There are no HTTP transports available which can complete the requested request.' ) ); + + // Transport claims to support request, instantiate it and give it a whirl. + if ( empty( $transports[$class] ) ) + $transports[$class] = new $class; + + $response = $transports[$class]->request( $url, $args ); + + do_action( 'http_api_debug', $response, 'response', $class ); + + if ( is_wp_error( $response ) ) + return $response; + + return apply_filters( 'http_response', $response, $args, $url ); } /** @@ -336,7 +271,7 @@ class WP_Http { * * @param string $url URI resource. * @param str|array $args Optional. Override the defaults. - * @return boolean + * @return array|object Array containing 'headers', 'body', 'response', 'cookies', 'filename'. A WP_Error instance upon error */ function post($url, $args = array()) { $defaults = array('method' => 'POST'); @@ -354,7 +289,7 @@ class WP_Http { * * @param string $url URI resource. * @param str|array $args Optional. Override the defaults. - * @return boolean + * @return array|object Array containing 'headers', 'body', 'response', 'cookies', 'filename'. A WP_Error instance upon error */ function get($url, $args = array()) { $defaults = array('method' => 'GET'); @@ -372,7 +307,7 @@ class WP_Http { * * @param string $url URI resource. * @param str|array $args Optional. Override the defaults. - * @return boolean + * @return array|object Array containing 'headers', 'body', 'response', 'cookies', 'filename'. A WP_Error instance upon error */ function head($url, $args = array()) { $defaults = array('method' => 'HEAD'); @@ -393,7 +328,7 @@ class WP_Http { function processResponse($strResponse) { $res = explode("\r\n\r\n", $strResponse, 2); - return array('headers' => isset($res[0]) ? $res[0] : array(), 'body' => isset($res[1]) ? $res[1] : ''); + return array('headers' => $res[0], 'body' => isset($res[1]) ? $res[1] : ''); } /** @@ -434,12 +369,14 @@ class WP_Http { $cookies = array(); $newheaders = array(); - foreach ( $headers as $tempheader ) { + foreach ( (array) $headers as $tempheader ) { if ( empty($tempheader) ) continue; if ( false === strpos($tempheader, ':') ) { - list( , $response['code'], $response['message']) = explode(' ', $tempheader, 3); + $stack = explode(' ', $tempheader, 3); + $stack[] = ''; + list( , $response['code'], $response['message']) = $stack; continue; } @@ -624,7 +561,7 @@ class WP_Http_Fsockopen { * @access public * @param string $url URI resource. * @param str|array $args Optional. Override the defaults. - * @return array 'headers', 'body', 'cookies' and 'response' keys. + * @return array 'headers', 'body', 'response', 'cookies' and 'filename' keys. */ function request($url, $args = array()) { $defaults = array( @@ -748,23 +685,52 @@ class WP_Http_Fsockopen { } $strResponse = ''; - while ( ! feof($handle) ) - $strResponse .= fread($handle, 4096); + $bodyStarted = false; + + // If streaming to a file setup the file handle + if ( $r['stream'] ) { + if ( ! WP_DEBUG ) + $stream_handle = @fopen( $r['filename'], 'w+' ); + else + $stream_handle = fopen( $r['filename'], 'w+' ); + if ( ! $stream_handle ) + return new WP_Error( 'http_request_failed', sprintf( __( 'Could not open handle for fopen() to %s' ), $r['filename'] ) ); + + while ( ! feof($handle) ) { + $block = fread( $handle, 4096 ); + if ( $bodyStarted ) { + fwrite( $stream_handle, $block ); + } else { + $strResponse .= $block; + if ( strpos( $strResponse, "\r\n\r\n" ) ) { + $process = WP_Http::processResponse( $strResponse ); + $bodyStarted = true; + fwrite( $stream_handle, $process['body'] ); + unset( $strResponse ); + $process['body'] = ''; + } + } + } + + fclose( $stream_handle ); + + } else { + while ( ! feof($handle) ) + $strResponse .= fread( $handle, 4096 ); - fclose($handle); + $process = WP_Http::processResponse( $strResponse ); + unset( $strResponse ); + } + + fclose( $handle ); if ( true === $secure_transport ) error_reporting($error_reporting); - $process = WP_Http::processResponse($strResponse); - $arrHeaders = WP_Http::processHeaders($process['headers']); - - // Is the response code within the 400 range? - if ( (int) $arrHeaders['response']['code'] >= 400 && (int) $arrHeaders['response']['code'] < 500 ) - return new WP_Error('http_request_failed', $arrHeaders['response']['code'] . ': ' . $arrHeaders['response']['message']); + $arrHeaders = WP_Http::processHeaders( $process['headers'] ); // If location is found, then assume redirect and redirect to location. - if ( 'HEAD' != $r['method'] && isset($arrHeaders['headers']['location']) ) { + if ( isset($arrHeaders['headers']['location']) && 0 !== $r['_redirection'] ) { if ( $r['redirection']-- > 0 ) { return $this->request($arrHeaders['headers']['location'], $r); } else { @@ -779,7 +745,7 @@ class WP_Http_Fsockopen { if ( true === $r['decompress'] && true === WP_Http_Encoding::should_decode($arrHeaders['headers']) ) $process['body'] = WP_Http_Encoding::decompress( $process['body'] ); - return array('headers' => $arrHeaders['headers'], 'body' => $process['body'], 'response' => $arrHeaders['response'], 'cookies' => $arrHeaders['cookies']); + return array( 'headers' => $arrHeaders['headers'], 'body' => $process['body'], 'response' => $arrHeaders['response'], 'cookies' => $arrHeaders['cookies'], 'filename' => $r['filename'] ); } /** @@ -790,168 +756,18 @@ class WP_Http_Fsockopen { * @return boolean False means this class can not be used, true means it can. */ function test( $args = array() ) { - if ( false !== ($option = get_option( 'disable_fsockopen' )) && time()-$option < 43200 ) // 12 hours + if ( ! function_exists( 'fsockopen' ) ) return false; - $is_ssl = isset($args['ssl']) && $args['ssl']; - - if ( ! $is_ssl && function_exists( 'fsockopen' ) ) - $use = true; - elseif ( $is_ssl && extension_loaded('openssl') && function_exists( 'fsockopen' ) ) - $use = true; - else - $use = false; - - return apply_filters('use_fsockopen_transport', $use, $args); - } -} - -/** - * HTTP request method uses fopen function to retrieve the url. - * - * Requires PHP version greater than 4.3.0 for stream support. Does not allow for $context support, - * but should still be okay, to write the headers, before getting the response. Also requires that - * 'allow_url_fopen' to be enabled. - * - * @package WordPress - * @subpackage HTTP - * @since 2.7.0 - */ -class WP_Http_Fopen { - /** - * Send a HTTP request to a URI using fopen(). - * - * This transport does not support sending of headers and body, therefore should not be used in - * the instances, where there is a body and headers. - * - * Notes: Does not support non-blocking mode. Ignores 'redirection' option. - * - * @see WP_Http::retrieve For default options descriptions. - * - * @access public - * @since 2.7.0 - * - * @param string $url URI resource. - * @param str|array $args Optional. Override the defaults. - * @return array 'headers', 'body', 'cookies' and 'response' keys. - */ - function request($url, $args = array()) { - $defaults = array( - 'method' => 'GET', 'timeout' => 5, - 'redirection' => 5, 'httpversion' => '1.0', - 'blocking' => true, - 'headers' => array(), 'body' => null, 'cookies' => array() - ); - - $r = wp_parse_args( $args, $defaults ); - - $arrURL = parse_url($url); - - if ( false === $arrURL ) - return new WP_Error('http_request_failed', sprintf(__('Malformed URL: %s'), $url)); - - if ( 'http' != $arrURL['scheme'] && 'https' != $arrURL['scheme'] ) - $url = str_replace($arrURL['scheme'], 'http', $url); - - if ( is_null( $r['headers'] ) ) - $r['headers'] = array(); - - if ( is_string($r['headers']) ) { - $processedHeaders = WP_Http::processHeaders($r['headers']); - $r['headers'] = $processedHeaders['headers']; - } - - $initial_user_agent = ini_get('user_agent'); - - if ( !empty($r['headers']) && is_array($r['headers']) ) { - $user_agent_extra_headers = ''; - foreach ( $r['headers'] as $header => $value ) - $user_agent_extra_headers .= "\r\n$header: $value"; - @ini_set('user_agent', $r['user-agent'] . $user_agent_extra_headers); - } else { - @ini_set('user_agent', $r['user-agent']); - } - - if ( !WP_DEBUG ) - $handle = @fopen($url, 'r'); - else - $handle = fopen($url, 'r'); - - if (! $handle) - return new WP_Error('http_request_failed', sprintf(__('Could not open handle for fopen() to %s'), $url)); - - $timeout = (int) floor( $r['timeout'] ); - $utimeout = $timeout == $r['timeout'] ? 0 : 1000000 * $r['timeout'] % 1000000; - stream_set_timeout( $handle, $timeout, $utimeout ); - - if ( ! $r['blocking'] ) { - fclose($handle); - @ini_set('user_agent', $initial_user_agent); //Clean up any extra headers added - return array( 'headers' => array(), 'body' => '', 'response' => array('code' => false, 'message' => false), 'cookies' => array() ); - } - - $strResponse = ''; - while ( ! feof($handle) ) - $strResponse .= fread($handle, 4096); - - if ( function_exists('stream_get_meta_data') ) { - $meta = stream_get_meta_data($handle); - - $theHeaders = $meta['wrapper_data']; - if ( isset( $meta['wrapper_data']['headers'] ) ) - $theHeaders = $meta['wrapper_data']['headers']; - } else { - //$http_response_header is a PHP reserved variable which is set in the current-scope when using the HTTP Wrapper - //see http://php.oregonstate.edu/manual/en/reserved.variables.httpresponseheader.php - $theHeaders = $http_response_header; - } - - fclose($handle); - - @ini_set('user_agent', $initial_user_agent); //Clean up any extra headers added - - $processedHeaders = WP_Http::processHeaders($theHeaders); - - if ( ! empty( $strResponse ) && isset( $processedHeaders['headers']['transfer-encoding'] ) && 'chunked' == $processedHeaders['headers']['transfer-encoding'] ) - $strResponse = WP_Http::chunkTransferDecode($strResponse); - - if ( true === $r['decompress'] && true === WP_Http_Encoding::should_decode($processedHeaders['headers']) ) - $strResponse = WP_Http_Encoding::decompress( $strResponse ); - - return array('headers' => $processedHeaders['headers'], 'body' => $strResponse, 'response' => $processedHeaders['response'], 'cookies' => $processedHeaders['cookies']); - } - - /** - * Whether this class can be used for retrieving an URL. - * - * @since 2.7.0 - * @static - * @return boolean False means this class can not be used, true means it can. - */ - function test($args = array()) { - if ( ! function_exists('fopen') || (function_exists('ini_get') && true != ini_get('allow_url_fopen')) ) + if ( false !== ($option = get_option( 'disable_fsockopen' )) && time()-$option < 43200 ) // 12 hours return false; - if ( isset($args['method']) && 'HEAD' == $args['method'] ) //This transport cannot make a HEAD request - return false; + $is_ssl = isset( $args['ssl'] ) && $args['ssl']; - $use = true; - //PHP does not verify SSL certs, We can only make a request via this transports if SSL Verification is turned off. - $is_ssl = isset($args['ssl']) && $args['ssl']; - if ( $is_ssl ) { - $is_local = isset($args['local']) && $args['local']; - $ssl_verify = isset($args['sslverify']) && $args['sslverify']; - if ( $is_local && true != apply_filters('https_local_ssl_verify', true) ) - $use = true; - elseif ( !$is_local && true != apply_filters('https_ssl_verify', true) ) - $use = true; - elseif ( !$ssl_verify ) - $use = true; - else - $use = false; - } + if ( $is_ssl && ! extension_loaded( 'openssl' ) ) + return false; - return apply_filters('use_fopen_transport', $use, $args); + return apply_filters( 'use_fsockopen_transport', true, $args ); } } @@ -976,7 +792,7 @@ class WP_Http_Streams { * * @param string $url * @param str|array $args Optional. Override the defaults. - * @return array 'headers', 'body', 'cookies' and 'response' keys. + * @return array 'headers', 'body', 'response', 'cookies' and 'filename' keys. */ function request($url, $args = array()) { $defaults = array( @@ -1049,9 +865,6 @@ class WP_Http_Streams { $arrContext['http']['header'] .= $proxy->authentication_header() . "\r\n"; } - if ( 'HEAD' == $r['method'] ) // Disable redirects for HEAD requests - $arrContext['http']['max_redirects'] = 1; - if ( ! empty($r['body'] ) ) $arrContext['http']['content'] = $r['body']; @@ -1075,10 +888,26 @@ class WP_Http_Streams { return array( 'headers' => array(), 'body' => '', 'response' => array('code' => false, 'message' => false), 'cookies' => array() ); } - $strResponse = stream_get_contents($handle); - $meta = stream_get_meta_data($handle); + if ( $r['stream'] ) { + if ( ! WP_DEBUG ) + $stream_handle = @fopen( $r['filename'], 'w+' ); + else + $stream_handle = fopen( $r['filename'], 'w+' ); + + if ( ! $stream_handle ) + return new WP_Error( 'http_request_failed', sprintf( __( 'Could not open handle for fopen() to %s' ), $r['filename'] ) ); - fclose($handle); + stream_copy_to_stream( $handle, $stream_handle ); + + fclose( $stream_handle ); + $strResponse = ''; + } else { + $strResponse = stream_get_contents( $handle ); + } + + $meta = stream_get_meta_data( $handle ); + + fclose( $handle ); $processedHeaders = array(); if ( isset( $meta['wrapper_data']['headers'] ) ) @@ -1086,13 +915,18 @@ class WP_Http_Streams { else $processedHeaders = WP_Http::processHeaders($meta['wrapper_data']); + // Streams does not provide an error code which we can use to see why the request stream stoped. + // We can however test to see if a location header is present and return based on that. + if ( isset($processedHeaders['headers']['location']) && 0 !== $args['_redirection'] ) + return new WP_Error('http_request_failed', __('Too many redirects.')); + if ( ! empty( $strResponse ) && isset( $processedHeaders['headers']['transfer-encoding'] ) && 'chunked' == $processedHeaders['headers']['transfer-encoding'] ) $strResponse = WP_Http::chunkTransferDecode($strResponse); if ( true === $r['decompress'] && true === WP_Http_Encoding::should_decode($processedHeaders['headers']) ) $strResponse = WP_Http_Encoding::decompress( $strResponse ); - return array('headers' => $processedHeaders['headers'], 'body' => $strResponse, 'response' => $processedHeaders['response'], 'cookies' => $processedHeaders['cookies']); + return array( 'headers' => $processedHeaders['headers'], 'body' => $strResponse, 'response' => $processedHeaders['response'], 'cookies' => $processedHeaders['cookies'], 'filename' => $r['filename'] ); } /** @@ -1104,179 +938,19 @@ class WP_Http_Streams { * * @return boolean False means this class can not be used, true means it can. */ - function test($args = array()) { - if ( ! function_exists('fopen') || (function_exists('ini_get') && true != ini_get('allow_url_fopen')) ) + function test( $args = array() ) { + if ( ! function_exists( 'fopen' ) ) return false; - if ( version_compare(PHP_VERSION, '5.0', '<') ) + if ( ! function_exists( 'ini_get' ) || true != ini_get( 'allow_url_fopen' ) ) return false; - //HTTPS via Proxy was added in 5.1.0 - $is_ssl = isset($args['ssl']) && $args['ssl']; - if ( $is_ssl && version_compare(PHP_VERSION, '5.1.0', '<') ) { - $proxy = new WP_HTTP_Proxy(); - /** - * No URL check, as its not currently passed to the ::test() function - * In the case where a Proxy is in use, Just bypass this transport for HTTPS. - */ - if ( $proxy->is_enabled() ) - return false; - } - - return apply_filters('use_streams_transport', true, $args); - } -} - -/** - * HTTP request method uses HTTP extension to retrieve the url. - * - * Requires the HTTP extension to be installed. This would be the preferred transport since it can - * handle a lot of the problems that forces the others to use the HTTP version 1.0. Even if PHP 5.2+ - * is being used, it doesn't mean that the HTTP extension will be enabled. - * - * @package WordPress - * @subpackage HTTP - * @since 2.7.0 - */ -class WP_Http_ExtHttp { - /** - * Send a HTTP request to a URI using HTTP extension. - * - * Does not support non-blocking. - * - * @access public - * @since 2.7 - * - * @param string $url - * @param str|array $args Optional. Override the defaults. - * @return array 'headers', 'body', 'cookies' and 'response' keys. - */ - function request($url, $args = array()) { - $defaults = array( - 'method' => 'GET', 'timeout' => 5, - 'redirection' => 5, 'httpversion' => '1.0', - 'blocking' => true, - 'headers' => array(), 'body' => null, 'cookies' => array() - ); - - $r = wp_parse_args( $args, $defaults ); - - if ( isset($r['headers']['User-Agent']) ) { - $r['user-agent'] = $r['headers']['User-Agent']; - unset($r['headers']['User-Agent']); - } else if ( isset($r['headers']['user-agent']) ) { - $r['user-agent'] = $r['headers']['user-agent']; - unset($r['headers']['user-agent']); - } - - // Construct Cookie: header if any cookies are set - WP_Http::buildCookieHeader( $r ); - - switch ( $r['method'] ) { - case 'POST': - $r['method'] = HTTP_METH_POST; - break; - case 'HEAD': - $r['method'] = HTTP_METH_HEAD; - break; - case 'PUT': - $r['method'] = HTTP_METH_PUT; - break; - case 'GET': - default: - $r['method'] = HTTP_METH_GET; - } - - $arrURL = parse_url($url); - - if ( 'http' != $arrURL['scheme'] && 'https' != $arrURL['scheme'] ) - $url = preg_replace('|^' . preg_quote($arrURL['scheme'], '|') . '|', 'http', $url); - - $is_local = isset($args['local']) && $args['local']; - $ssl_verify = isset($args['sslverify']) && $args['sslverify']; - if ( $is_local ) - $ssl_verify = apply_filters('https_local_ssl_verify', $ssl_verify); - elseif ( ! $is_local ) - $ssl_verify = apply_filters('https_ssl_verify', $ssl_verify); - - $r['timeout'] = (int) ceil( $r['timeout'] ); - - $options = array( - 'timeout' => $r['timeout'], - 'connecttimeout' => $r['timeout'], - 'redirect' => $r['redirection'], - 'useragent' => $r['user-agent'], - 'headers' => $r['headers'], - 'ssl' => array( - 'verifypeer' => $ssl_verify, - 'verifyhost' => $ssl_verify - ) - ); - - if ( HTTP_METH_HEAD == $r['method'] ) - $options['redirect'] = 0; // Assumption: Docs seem to suggest that this means do not follow. Untested. - - // The HTTP extensions offers really easy proxy support. - $proxy = new WP_HTTP_Proxy(); - - if ( $proxy->is_enabled() && $proxy->send_through_proxy( $url ) ) { - $options['proxyhost'] = $proxy->host(); - $options['proxyport'] = $proxy->port(); - $options['proxytype'] = HTTP_PROXY_HTTP; - - if ( $proxy->use_authentication() ) { - $options['proxyauth'] = $proxy->authentication(); - $options['proxyauthtype'] = HTTP_AUTH_ANY; - } - } - - if ( !WP_DEBUG ) //Emits warning level notices for max redirects and timeouts - $strResponse = @http_request($r['method'], $url, $r['body'], $options, $info); - else - $strResponse = http_request($r['method'], $url, $r['body'], $options, $info); //Emits warning level notices for max redirects and timeouts - - // Error may still be set, Response may return headers or partial document, and error - // contains a reason the request was aborted, eg, timeout expired or max-redirects reached. - if ( false === $strResponse || ! empty($info['error']) ) - return new WP_Error('http_request_failed', $info['response_code'] . ': ' . $info['error']); + $is_ssl = isset( $args['ssl'] ) && $args['ssl']; - if ( ! $r['blocking'] ) - return array( 'headers' => array(), 'body' => '', 'response' => array('code' => false, 'message' => false), 'cookies' => array() ); - - $headers_body = WP_HTTP::processResponse($strResponse); - $theHeaders = $headers_body['headers']; - $theBody = $headers_body['body']; - unset($headers_body); - - $theHeaders = WP_Http::processHeaders($theHeaders); - - if ( ! empty( $theBody ) && isset( $theHeaders['headers']['transfer-encoding'] ) && 'chunked' == $theHeaders['headers']['transfer-encoding'] ) { - if ( !WP_DEBUG ) - $theBody = @http_chunked_decode($theBody); - else - $theBody = http_chunked_decode($theBody); - } - - if ( true === $r['decompress'] && true === WP_Http_Encoding::should_decode($theHeaders['headers']) ) - $theBody = http_inflate( $theBody ); - - $theResponse = array(); - $theResponse['code'] = $info['response_code']; - $theResponse['message'] = get_status_header_desc($info['response_code']); - - return array('headers' => $theHeaders['headers'], 'body' => $theBody, 'response' => $theResponse, 'cookies' => $theHeaders['cookies']); - } + if ( $is_ssl && ! extension_loaded( 'openssl' ) ) + return false; - /** - * Whether this class can be used for retrieving an URL. - * - * @static - * @since 2.7.0 - * - * @return boolean False means this class can not be used, true means it can. - */ - function test($args = array()) { - return apply_filters('use_http_extension_transport', function_exists('http_request'), $args ); + return apply_filters( 'use_streams_transport', true, $args ); } } @@ -1291,6 +965,15 @@ class WP_Http_ExtHttp { */ class WP_Http_Curl { + /** + * Temporary header storage for use with streaming to a file. + * + * @since 3.2.0 + * @access private + * @var string + */ + private $headers = ''; + /** * Send a HTTP request to a URI using cURL extension. * @@ -1299,7 +982,7 @@ class WP_Http_Curl { * * @param string $url * @param str|array $args Optional. Override the defaults. - * @return array 'headers', 'body', 'cookies' and 'response' keys. + * @return array 'headers', 'body', 'response', 'cookies' and 'filename' keys. */ function request($url, $args = array()) { $defaults = array( @@ -1329,20 +1012,12 @@ class WP_Http_Curl { if ( $proxy->is_enabled() && $proxy->send_through_proxy( $url ) ) { - $isPHP5 = version_compare(PHP_VERSION, '5.0.0', '>='); - - if ( $isPHP5 ) { - curl_setopt( $handle, CURLOPT_PROXYTYPE, CURLPROXY_HTTP ); - curl_setopt( $handle, CURLOPT_PROXY, $proxy->host() ); - curl_setopt( $handle, CURLOPT_PROXYPORT, $proxy->port() ); - } else { - curl_setopt( $handle, CURLOPT_PROXY, $proxy->host() .':'. $proxy->port() ); - } + curl_setopt( $handle, CURLOPT_PROXYTYPE, CURLPROXY_HTTP ); + curl_setopt( $handle, CURLOPT_PROXY, $proxy->host() ); + curl_setopt( $handle, CURLOPT_PROXYPORT, $proxy->port() ); if ( $proxy->use_authentication() ) { - if ( $isPHP5 ) - curl_setopt( $handle, CURLOPT_PROXYAUTH, CURLAUTH_ANY ); - + curl_setopt( $handle, CURLOPT_PROXYAUTH, CURLAUTH_ANY ); curl_setopt( $handle, CURLOPT_PROXYUSERPWD, $proxy->authentication() ); } } @@ -1363,7 +1038,7 @@ class WP_Http_Curl { curl_setopt( $handle, CURLOPT_URL, $url); curl_setopt( $handle, CURLOPT_RETURNTRANSFER, true ); - curl_setopt( $handle, CURLOPT_SSL_VERIFYHOST, $ssl_verify ); + curl_setopt( $handle, CURLOPT_SSL_VERIFYHOST, ( $ssl_verify === true ) ? 2 : false ); curl_setopt( $handle, CURLOPT_SSL_VERIFYPEER, $ssl_verify ); curl_setopt( $handle, CURLOPT_USERAGENT, $r['user-agent'] ); curl_setopt( $handle, CURLOPT_MAXREDIRS, $r['redirection'] ); @@ -1383,13 +1058,23 @@ class WP_Http_Curl { } if ( true === $r['blocking'] ) - curl_setopt( $handle, CURLOPT_HEADER, true ); - else - curl_setopt( $handle, CURLOPT_HEADER, false ); + curl_setopt( $handle, CURLOPT_HEADERFUNCTION, array( &$this, 'stream_headers' ) ); + + curl_setopt( $handle, CURLOPT_HEADER, false ); + + // If streaming to a file open a file handle, and setup our curl streaming handler + if ( $r['stream'] ) { + if ( ! WP_DEBUG ) + $stream_handle = @fopen( $r['filename'], 'w+' ); + else + $stream_handle = fopen( $r['filename'], 'w+' ); + if ( ! $stream_handle ) + return new WP_Error( 'http_request_failed', sprintf( __( 'Could not open handle for fopen() to %s' ), $r['filename'] ) ); + curl_setopt( $handle, CURLOPT_FILE, $stream_handle ); + } // The option doesn't work with safe mode or when open_basedir is set. - // Disable HEAD when making HEAD requests. - if ( !ini_get('safe_mode') && !ini_get('open_basedir') && 'HEAD' != $r['method'] ) + if ( !ini_get('safe_mode') && !ini_get('open_basedir') && 0 !== $r['_redirection'] ) curl_setopt( $handle, CURLOPT_FOLLOWLOCATION, true ); if ( !empty( $r['headers'] ) ) { @@ -1418,48 +1103,58 @@ class WP_Http_Curl { } $theResponse = curl_exec( $handle ); + $theBody = ''; + $theHeaders = WP_Http::processHeaders( $this->headers ); - if ( !empty($theResponse) ) { - $headerLength = curl_getinfo($handle, CURLINFO_HEADER_SIZE); - $theHeaders = trim( substr($theResponse, 0, $headerLength) ); - if ( strlen($theResponse) > $headerLength ) - $theBody = substr( $theResponse, $headerLength ); - else - $theBody = ''; - if ( false !== strpos($theHeaders, "\r\n\r\n") ) { - $headerParts = explode("\r\n\r\n", $theHeaders); - $theHeaders = $headerParts[ count($headerParts) -1 ]; - } - $theHeaders = WP_Http::processHeaders($theHeaders); - } else { + if ( strlen($theResponse) > 0 && ! is_bool( $theResponse ) ) // is_bool: when using $args['stream'], curl_exec will return (bool)true + $theBody = $theResponse; + + // If no response, and It's not a HEAD request with valid headers returned + if ( 0 == strlen($theResponse) && ('HEAD' != $args['method'] || empty($this->headers)) ) { if ( $curl_error = curl_error($handle) ) return new WP_Error('http_request_failed', $curl_error); if ( in_array( curl_getinfo( $handle, CURLINFO_HTTP_CODE ), array(301, 302) ) ) return new WP_Error('http_request_failed', __('Too many redirects.')); - - $theHeaders = array( 'headers' => array(), 'cookies' => array() ); - $theBody = ''; } + unset( $this->headers ); + $response = array(); $response['code'] = curl_getinfo( $handle, CURLINFO_HTTP_CODE ); $response['message'] = get_status_header_desc($response['code']); curl_close( $handle ); + if ( $r['stream'] ) + fclose( $stream_handle ); + // See #11305 - When running under safe mode, redirection is disabled above. Handle it manually. - if ( !empty($theHeaders['headers']['location']) && (ini_get('safe_mode') || ini_get('open_basedir')) ) { + if ( ! empty( $theHeaders['headers']['location'] ) && ( ini_get( 'safe_mode' ) || ini_get( 'open_basedir' ) ) && 0 !== $r['_redirection'] ) { if ( $r['redirection']-- > 0 ) { - return $this->request($theHeaders['headers']['location'], $r); + return $this->request( $theHeaders['headers']['location'], $r ); } else { - return new WP_Error('http_request_failed', __('Too many redirects.')); + return new WP_Error( 'http_request_failed', __( 'Too many redirects.' ) ); } } if ( true === $r['decompress'] && true === WP_Http_Encoding::should_decode($theHeaders['headers']) ) $theBody = WP_Http_Encoding::decompress( $theBody ); - return array('headers' => $theHeaders['headers'], 'body' => $theBody, 'response' => $response, 'cookies' => $theHeaders['cookies']); + return array( 'headers' => $theHeaders['headers'], 'body' => $theBody, 'response' => $response, 'cookies' => $theHeaders['cookies'], 'filename' => $r['filename'] ); + } + + /** + * Grab the headers of the cURL request + * + * Each header is sent individually to this callback, so we append to the $header property for temporary storage + * + * @since 3.2.0 + * @access private + * @return int + */ + private function stream_headers( $handle, $headers ) { + $this->headers .= $headers; + return strlen( $headers ); } /** @@ -1470,11 +1165,19 @@ class WP_Http_Curl { * * @return boolean False means this class can not be used, true means it can. */ - function test($args = array()) { - if ( function_exists('curl_init') && function_exists('curl_exec') ) - return apply_filters('use_curl_transport', true, $args); + function test( $args = array() ) { + if ( ! function_exists( 'curl_init' ) || ! function_exists( 'curl_exec' ) ) + return false; - return false; + $is_ssl = isset( $args['ssl'] ) && $args['ssl']; + + if ( $is_ssl ) { + $curl_version = curl_version(); + if ( ! (CURL_VERSION_SSL & $curl_version['features']) ) // Does this cURL version support SSL requests? + return false; + } + + return apply_filters( 'use_curl_transport', true, $args ); } } @@ -1486,7 +1189,7 @@ class WP_Http_Curl { * constants. * * Please note that only BASIC authentication is supported by most transports. - * cURL and the PHP HTTP Extension MAY support more methods (such as NTLM authentication) depending on your environment. + * cURL MAY support more methods (such as NTLM authentication) depending on your environment. * * The constants are as follows: * <ol> @@ -1720,17 +1423,6 @@ class WP_Http_Cookie { */ var $domain; - /** - * PHP4 style Constructor - Calls PHP5 Style Constructor. - * - * @access public - * @since 2.8.0 - * @param string|array $data Raw cookie data. - */ - function WP_Http_Cookie( $data ) { - $this->__construct( $data ); - } - /** * Sets up this cookie object. * diff --git a/wp-includes/class-oembed.php b/wp-includes/class-oembed.php index 87e59a69b..8bfe25865 100644 --- a/wp-includes/class-oembed.php +++ b/wp-includes/class-oembed.php @@ -21,14 +21,7 @@ class WP_oEmbed { var $providers = array(); /** - * PHP4 constructor - */ - function WP_oEmbed() { - return $this->__construct(); - } - - /** - * PHP5 constructor + * Constructor * * @uses apply_filters() Filters a list of pre-defined oEmbed providers. */ @@ -39,7 +32,7 @@ class WP_oEmbed { $this->providers = apply_filters( 'oembed_providers', array( '#http://(www\.)?youtube.com/watch.*#i' => array( 'http://www.youtube.com/oembed', true ), 'http://youtu.be/*' => array( 'http://www.youtube.com/oembed', false ), - 'http://blip.tv/file/*' => array( 'http://blip.tv/oembed/', false ), + 'http://blip.tv/*' => array( 'http://blip.tv/oembed/', false ), '#http://(www\.)?vimeo\.com/.*#i' => array( 'http://www.vimeo.com/api/oembed.{format}', true ), '#http://(www\.)?dailymotion\.com/.*#i' => array( 'http://www.dailymotion.com/api/oembed', true ), '#http://(www\.)?flickr\.com/.*#i' => array( 'http://www.flickr.com/services/oembed/', true ), @@ -165,8 +158,8 @@ class WP_oEmbed { function fetch( $provider, $url, $args = '' ) { $args = wp_parse_args( $args, wp_embed_defaults() ); - $provider = add_query_arg( 'maxwidth', $args['width'], $provider ); - $provider = add_query_arg( 'maxheight', $args['height'], $provider ); + $provider = add_query_arg( 'maxwidth', (int) $args['width'], $provider ); + $provider = add_query_arg( 'maxheight', (int) $args['height'], $provider ); $provider = add_query_arg( 'url', urlencode($url), $provider ); foreach( array( 'json', 'xml' ) as $format ) { diff --git a/wp-includes/class-phpass.php b/wp-includes/class-phpass.php index 6d77a1cce..ad474bcc5 100644 --- a/wp-includes/class-phpass.php +++ b/wp-includes/class-phpass.php @@ -3,13 +3,13 @@ * Portable PHP password hashing framework. * @package phpass * @since 2.5 - * @version 0.2 / genuine. + * @version 0.3 / WordPress * @link http://www.openwall.com/phpass/ */ # # Written by Solar Designer <solar at openwall.com> in 2004-2006 and placed in -# the public domain. +# the public domain. Revised in subsequent years, still public domain. # # There's absolutely no warranty. # @@ -29,7 +29,7 @@ * Portable PHP password hashing framework. * * @package phpass - * @version 0.2 / genuine. + * @version 0.3 / WordPress * @link http://www.openwall.com/phpass/ * @since 2.5 */ @@ -114,7 +114,9 @@ class PasswordHash { if (substr($setting, 0, 2) == $output) $output = '*1'; - if (substr($setting, 0, 3) != '$P$') + $id = substr($setting, 0, 3); + # We use "$P$", phpBB3 uses "$H$" for the same thing + if ($id != '$P$' && $id != '$H$') return $output; $count_log2 = strpos($this->itoa64, $setting[3]); diff --git a/wp-includes/class-phpmailer.php b/wp-includes/class-phpmailer.php index e9fb2b080..70de3de72 100644 --- a/wp-includes/class-phpmailer.php +++ b/wp-includes/class-phpmailer.php @@ -2,14 +2,16 @@ /*~ class.phpmailer.php .---------------------------------------------------------------------------. | Software: PHPMailer - PHP email class | -| Version: 2.0.4 | -| Contact: via sourceforge.net support pages (also www.codeworxtech.com) | +| Version: 5.1 | +| Contact: via sourceforge.net support pages (also www.worxware.com) | | Info: http://phpmailer.sourceforge.net | | Support: http://sourceforge.net/projects/phpmailer/ | | ------------------------------------------------------------------------- | -| Author: Andy Prevost (project admininistrator) | -| Author: Brent R. Matzelle (original founder) | -| Copyright (c) 2004-2007, Andy Prevost. All Rights Reserved. | +| Admin: Andy Prevost (project admininistrator) | +| Authors: Andy Prevost (codeworxtech) codeworxtech@users.sourceforge.net | +| : Marcus Bointon (coolbru) coolbru@users.sourceforge.net | +| Founder: Brent R. Matzelle (original founder) | +| Copyright (c) 2004-2009, Andy Prevost. All Rights Reserved. | | Copyright (c) 2001-2003, Brent R. Matzelle | | ------------------------------------------------------------------------- | | License: Distributed under the Lesser General Public License (LGPL) | @@ -18,19 +20,26 @@ | ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or | | FITNESS FOR A PARTICULAR PURPOSE. | | ------------------------------------------------------------------------- | -| We offer a number of paid services (www.codeworxtech.com): | +| We offer a number of paid services (www.worxware.com): | | - Web Hosting on highly optimized fast and secure servers | | - Technology Consulting | | - Oursourcing (highly qualified programmers and graphic designers) | '---------------------------------------------------------------------------' - */ +*/ + /** * PHPMailer - PHP email transport class + * NOTE: Requires PHP version 5 or later * @package PHPMailer * @author Andy Prevost + * @author Marcus Bointon * @copyright 2004 - 2009 Andy Prevost + * @version $Id: class.phpmailer.php 447 2009-05-25 01:36:38Z codeworxtech $ + * @license http://www.gnu.org/copyleft/lesser.html GNU Lesser General Public License */ +if (version_compare(PHP_VERSION, '5.0.0', '<') ) exit("Sorry, this version of PHPMailer will only run on PHP version 5 or greater!\n"); + class PHPMailer { ///////////////////////////////////////////////// @@ -41,64 +50,64 @@ class PHPMailer { * Email priority (1 = High, 3 = Normal, 5 = low). * @var int */ - var $Priority = 3; + public $Priority = 3; /** * Sets the CharSet of the message. * @var string */ - var $CharSet = 'iso-8859-1'; + public $CharSet = 'iso-8859-1'; /** * Sets the Content-type of the message. * @var string */ - var $ContentType = 'text/plain'; + public $ContentType = 'text/plain'; /** - * Sets the Encoding of the message. Options for this are "8bit", - * "7bit", "binary", "base64", and "quoted-printable". + * Sets the Encoding of the message. Options for this are + * "8bit", "7bit", "binary", "base64", and "quoted-printable". * @var string */ - var $Encoding = '8bit'; + public $Encoding = '8bit'; /** * Holds the most recent mailer error message. * @var string */ - var $ErrorInfo = ''; + public $ErrorInfo = ''; /** * Sets the From email address for the message. * @var string */ - var $From = 'root@localhost'; + public $From = 'root@localhost'; /** * Sets the From name of the message. * @var string */ - var $FromName = 'Root User'; + public $FromName = 'Root User'; /** * Sets the Sender email (Return-Path) of the message. If not empty, * will be sent via -f to sendmail or as 'MAIL FROM' in smtp mode. * @var string */ - var $Sender = ''; + public $Sender = ''; /** * Sets the Subject of the message. * @var string */ - var $Subject = ''; + public $Subject = ''; /** * Sets the Body of the message. This can be either an HTML or text body. * If HTML then run IsHTML(true). * @var string */ - var $Body = ''; + public $Body = ''; /** * Sets the text-only body of the message. This automatically sets the @@ -107,45 +116,39 @@ class PHPMailer { * that can read HTML will view the normal Body. * @var string */ - var $AltBody = ''; + public $AltBody = ''; /** * Sets word wrapping on the body of the message to a given number of * characters. * @var int */ - var $WordWrap = 0; + public $WordWrap = 0; /** * Method to send mail: ("mail", "sendmail", or "smtp"). * @var string */ - var $Mailer = 'mail'; + public $Mailer = 'mail'; /** * Sets the path of the sendmail program. * @var string */ - var $Sendmail = '/usr/sbin/sendmail'; + public $Sendmail = '/usr/sbin/sendmail'; /** - * Path to PHPMailer plugins. This is now only useful if the SMTP class + * Path to PHPMailer plugins. Useful if the SMTP class * is in a different directory than the PHP include path. * @var string */ - var $PluginDir = ''; - - /** - * Holds PHPMailer version. - * @var string - */ - var $Version = "2.0.4"; + public $PluginDir = ''; /** * Sets the email address that a reading confirmation will be sent. * @var string */ - var $ConfirmReadingTo = ''; + public $ConfirmReadingTo = ''; /** * Sets the hostname to use in Message-Id and Received headers @@ -153,14 +156,14 @@ class PHPMailer { * by SERVER_NAME is used or 'localhost.localdomain'. * @var string */ - var $Hostname = ''; + public $Hostname = ''; /** * Sets the message ID to be used in the Message-Id header. * If empty, a unique id will be generated. * @var string */ - var $MessageID = ''; + public $MessageID = ''; ///////////////////////////////////////////////// // PROPERTIES FOR SMTP @@ -174,57 +177,57 @@ class PHPMailer { * Hosts will be tried in order. * @var string */ - var $Host = 'localhost'; + public $Host = 'localhost'; /** * Sets the default SMTP server port. * @var int */ - var $Port = 25; + public $Port = 25; /** * Sets the SMTP HELO of the message (Default is $Hostname). * @var string */ - var $Helo = ''; + public $Helo = ''; /** * Sets connection prefix. * Options are "", "ssl" or "tls" * @var string */ - var $SMTPSecure = ""; + public $SMTPSecure = ''; /** * Sets SMTP authentication. Utilizes the Username and Password variables. * @var bool */ - var $SMTPAuth = false; + public $SMTPAuth = false; /** * Sets SMTP username. * @var string */ - var $Username = ''; + public $Username = ''; /** * Sets SMTP password. * @var string */ - var $Password = ''; + public $Password = ''; /** - * Sets the SMTP server timeout in seconds. This function will not - * work with the win32 version. + * Sets the SMTP server timeout in seconds. + * This function will not work with the win32 version. * @var int */ - var $Timeout = 10; + public $Timeout = 10; /** * Sets SMTP class debugging on or off. * @var bool */ - var $SMTPDebug = false; + public $SMTPDebug = false; /** * Prevents the SMTP connection from being closed after each mail @@ -232,46 +235,121 @@ class PHPMailer { * requires an explicit call to SmtpClose(). * @var bool */ - var $SMTPKeepAlive = false; + public $SMTPKeepAlive = false; /** * Provides the ability to have the TO field process individual * emails, instead of sending to entire TO addresses * @var bool */ - var $SingleTo = false; + public $SingleTo = false; + + /** + * If SingleTo is true, this provides the array to hold the email addresses + * @var bool + */ + public $SingleToArray = array(); + + /** + * Provides the ability to change the line ending + * @var string + */ + public $LE = "\n"; + + /** + * Used with DKIM DNS Resource Record + * @var string + */ + public $DKIM_selector = 'phpmailer'; + + /** + * Used with DKIM DNS Resource Record + * optional, in format of email address 'you@yourdomain.com' + * @var string + */ + public $DKIM_identity = ''; + + /** + * Used with DKIM DNS Resource Record + * optional, in format of email address 'you@yourdomain.com' + * @var string + */ + public $DKIM_domain = ''; + + /** + * Used with DKIM DNS Resource Record + * optional, in format of email address 'you@yourdomain.com' + * @var string + */ + public $DKIM_private = ''; + + /** + * Callback Action function name + * the function that handles the result of the send email action. Parameters: + * bool $result result of the send action + * string $to email address of the recipient + * string $cc cc email addresses + * string $bcc bcc email addresses + * string $subject the subject + * string $body the email body + * @var string + */ + public $action_function = ''; //'callbackAction'; + + /** + * Sets the PHPMailer Version number + * @var string + */ + public $Version = '5.1'; ///////////////////////////////////////////////// - // PROPERTIES, PRIVATE + // PROPERTIES, PRIVATE AND PROTECTED ///////////////////////////////////////////////// - var $smtp = NULL; - var $to = array(); - var $cc = array(); - var $bcc = array(); - var $ReplyTo = array(); - var $attachment = array(); - var $CustomHeader = array(); - var $message_type = ''; - var $boundary = array(); - var $language = array(); - var $error_count = 0; - var $LE = "\n"; - var $sign_cert_file = ""; - var $sign_key_file = ""; - var $sign_key_pass = ""; + private $smtp = NULL; + private $to = array(); + private $cc = array(); + private $bcc = array(); + private $ReplyTo = array(); + private $all_recipients = array(); + private $attachment = array(); + private $CustomHeader = array(); + private $message_type = ''; + private $boundary = array(); + protected $language = array(); + private $error_count = 0; + private $sign_cert_file = ""; + private $sign_key_file = ""; + private $sign_key_pass = ""; + private $exceptions = false; + + ///////////////////////////////////////////////// + // CONSTANTS + ///////////////////////////////////////////////// + + const STOP_MESSAGE = 0; // message only, continue processing + const STOP_CONTINUE = 1; // message?, likely ok to continue processing + const STOP_CRITICAL = 2; // message, plus full stop, critical error reached ///////////////////////////////////////////////// // METHODS, VARIABLES ///////////////////////////////////////////////// + /** + * Constructor + * @param boolean $exceptions Should we throw external exceptions? + */ + public function __construct($exceptions = false) { + $this->exceptions = ($exceptions == true); + } + /** * Sets message type to HTML. - * @param bool $bool + * @param bool $ishtml * @return void */ - function IsHTML($bool) { - if($bool == true) { + public function IsHTML($ishtml = true) { + if ($ishtml) { $this->ContentType = 'text/html'; } else { $this->ContentType = 'text/plain'; @@ -282,7 +360,7 @@ class PHPMailer { * Sets Mailer to send message using SMTP. * @return void */ - function IsSMTP() { + public function IsSMTP() { $this->Mailer = 'smtp'; } @@ -290,7 +368,7 @@ class PHPMailer { * Sets Mailer to send message using PHP mail() function. * @return void */ - function IsMail() { + public function IsMail() { $this->Mailer = 'mail'; } @@ -298,7 +376,10 @@ class PHPMailer { * Sets Mailer to send message using the $Sendmail program. * @return void */ - function IsSendmail() { + public function IsSendmail() { + if (!stristr(ini_get('sendmail_path'), 'sendmail')) { + $this->Sendmail = '/var/qmail/bin/sendmail'; + } $this->Mailer = 'sendmail'; } @@ -306,8 +387,10 @@ class PHPMailer { * Sets Mailer to send message using the qmail MTA. * @return void */ - function IsQmail() { - $this->Sendmail = '/var/qmail/bin/sendmail'; + public function IsQmail() { + if (stristr(ini_get('sendmail_path'), 'qmail')) { + $this->Sendmail = '/var/qmail/bin/sendmail'; + } $this->Mailer = 'sendmail'; } @@ -319,52 +402,134 @@ class PHPMailer { * Adds a "To" address. * @param string $address * @param string $name - * @return void + * @return boolean true on success, false if address already used */ - function AddAddress($address, $name = '') { - $cur = count($this->to); - $this->to[$cur][0] = trim($address); - $this->to[$cur][1] = $name; + public function AddAddress($address, $name = '') { + return $this->AddAnAddress('to', $address, $name); } /** - * Adds a "Cc" address. Note: this function works - * with the SMTP mailer on win32, not with the "mail" - * mailer. + * Adds a "Cc" address. + * Note: this function works with the SMTP mailer on win32, not with the "mail" mailer. * @param string $address * @param string $name - * @return void + * @return boolean true on success, false if address already used */ - function AddCC($address, $name = '') { - $cur = count($this->cc); - $this->cc[$cur][0] = trim($address); - $this->cc[$cur][1] = $name; + public function AddCC($address, $name = '') { + return $this->AddAnAddress('cc', $address, $name); } /** - * Adds a "Bcc" address. Note: this function works - * with the SMTP mailer on win32, not with the "mail" - * mailer. + * Adds a "Bcc" address. + * Note: this function works with the SMTP mailer on win32, not with the "mail" mailer. * @param string $address * @param string $name - * @return void + * @return boolean true on success, false if address already used */ - function AddBCC($address, $name = '') { - $cur = count($this->bcc); - $this->bcc[$cur][0] = trim($address); - $this->bcc[$cur][1] = $name; + public function AddBCC($address, $name = '') { + return $this->AddAnAddress('bcc', $address, $name); } /** - * Adds a "Reply-To" address. + * Adds a "Reply-to" address. * @param string $address * @param string $name - * @return void + * @return boolean */ - function AddReplyTo($address, $name = '') { - $cur = count($this->ReplyTo); - $this->ReplyTo[$cur][0] = trim($address); - $this->ReplyTo[$cur][1] = $name; + public function AddReplyTo($address, $name = '') { + return $this->AddAnAddress('ReplyTo', $address, $name); + } + + /** + * Adds an address to one of the recipient arrays + * Addresses that have been added already return false, but do not throw exceptions + * @param string $kind One of 'to', 'cc', 'bcc', 'ReplyTo' + * @param string $address The email address to send to + * @param string $name + * @return boolean true on success, false if address already used or invalid in some way + * @access private + */ + private function AddAnAddress($kind, $address, $name = '') { + if (!preg_match('/^(to|cc|bcc|ReplyTo)$/', $kind)) { + echo 'Invalid recipient array: ' . $kind; + return false; + } + $address = trim($address); + $name = trim(preg_replace('/[\r\n]+/', '', $name)); //Strip breaks and trim + if (!self::ValidateAddress($address)) { + $this->SetError($this->Lang('invalid_address').': '. $address); + if ($this->exceptions) { + throw new phpmailerException($this->Lang('invalid_address').': '.$address); + } + echo $this->Lang('invalid_address').': '.$address; + return false; + } + if ($kind != 'ReplyTo') { + if (!isset($this->all_recipients[strtolower($address)])) { + array_push($this->$kind, array($address, $name)); + $this->all_recipients[strtolower($address)] = true; + return true; + } + } else { + if (!array_key_exists(strtolower($address), $this->ReplyTo)) { + $this->ReplyTo[strtolower($address)] = array($address, $name); + return true; + } + } + return false; +} + +/** + * Set the From and FromName properties + * @param string $address + * @param string $name + * @return boolean + */ + public function SetFrom($address, $name = '',$auto=1) { + $address = trim($address); + $name = trim(preg_replace('/[\r\n]+/', '', $name)); //Strip breaks and trim + if (!self::ValidateAddress($address)) { + $this->SetError($this->Lang('invalid_address').': '. $address); + if ($this->exceptions) { + throw new phpmailerException($this->Lang('invalid_address').': '.$address); + } + echo $this->Lang('invalid_address').': '.$address; + return false; + } + $this->From = $address; + $this->FromName = $name; + if ($auto) { + if (empty($this->ReplyTo)) { + $this->AddAnAddress('ReplyTo', $address, $name); + } + if (empty($this->Sender)) { + $this->Sender = $address; + } + } + return true; + } + + /** + * Check that a string looks roughly like an email address should + * Static so it can be used without instantiation + * Tries to use PHP built-in validator in the filter extension (from PHP 5.2), falls back to a reasonably competent regex validator + * Conforms approximately to RFC2822 + * @link http://www.hexillion.com/samples/#Regex Original pattern found here + * @param string $address The email address to check + * @return boolean + * @static + * @access public + */ + public static function ValidateAddress($address) { + if (function_exists('filter_var')) { //Introduced in PHP 5.2 + if(filter_var($address, FILTER_VALIDATE_EMAIL) === FALSE) { + return false; + } else { + return true; + } + } else { + return preg_match('/^(?:[\w\!\#\$\%\&\'\*\+\-\/\=\?\^\`\{\|\}\~]+\.)*[\w\!\#\$\%\&\'\*\+\-\/\=\?\^\`\{\|\}\~]+@(?:(?:(?:[a-zA-Z0-9_](?:[a-zA-Z0-9_\-](?!\.)){0,61}[a-zA-Z0-9_-]?\.)+[a-zA-Z0-9_](?:[a-zA-Z0-9_\-](?!$)){0,61}[a-zA-Z0-9_]?)|(?:\[(?:(?:[01]?\d{1,2}|2[0-4]\d|25[0-5])\.){3}(?:[01]?\d{1,2}|2[0-4]\d|25[0-5])\]))$/', $address); + } } ///////////////////////////////////////////////// @@ -377,257 +542,297 @@ class PHPMailer { * variable to view description of the error. * @return bool */ - function Send() { - $header = ''; - $body = ''; - $result = true; + public function Send() { + try { + if ((count($this->to) + count($this->cc) + count($this->bcc)) < 1) { + throw new phpmailerException($this->Lang('provide_address'), self::STOP_CRITICAL); + } - if((count($this->to) + count($this->cc) + count($this->bcc)) < 1) { - $this->SetError($this->Lang('provide_address')); - return false; - } + // Set whether the message is multipart/alternative + if(!empty($this->AltBody)) { + $this->ContentType = 'multipart/alternative'; + } - /* Set whether the message is multipart/alternative */ - if(!empty($this->AltBody)) { - $this->ContentType = 'multipart/alternative'; - } + $this->error_count = 0; // reset errors + $this->SetMessageType(); + $header = $this->CreateHeader(); + $body = $this->CreateBody(); - $this->error_count = 0; // reset errors - $this->SetMessageType(); - $header .= $this->CreateHeader(); - $body = $this->CreateBody(); + if (empty($this->Body)) { + throw new phpmailerException($this->Lang('empty_message'), self::STOP_CRITICAL); + } - if($body == '') { - return false; - } + // digitally sign with DKIM if enabled + if ($this->DKIM_domain && $this->DKIM_private) { + $header_dkim = $this->DKIM_Add($header,$this->Subject,$body); + $header = str_replace("\r\n","\n",$header_dkim) . $header; + } - /* Choose the mailer */ - switch($this->Mailer) { - case 'sendmail': - $result = $this->SendmailSend($header, $body); - break; - case 'smtp': - $result = $this->SmtpSend($header, $body); - break; - case 'mail': - $result = $this->MailSend($header, $body); - break; - default: - $result = $this->MailSend($header, $body); - break; - //$this->SetError($this->Mailer . $this->Lang('mailer_not_supported')); - //$result = false; - //break; - } + // Choose the mailer and send through it + switch($this->Mailer) { + case 'sendmail': + return $this->SendmailSend($header, $body); + case 'smtp': + return $this->SmtpSend($header, $body); + default: + return $this->MailSend($header, $body); + } - return $result; + } catch (phpmailerException $e) { + $this->SetError($e->getMessage()); + if ($this->exceptions) { + throw $e; + } + echo $e->getMessage()."\n"; + return false; + } } /** * Sends mail using the $Sendmail program. - * @access private + * @param string $header The message headers + * @param string $body The message body + * @access protected * @return bool */ - function SendmailSend($header, $body) { + protected function SendmailSend($header, $body) { if ($this->Sender != '') { $sendmail = sprintf("%s -oi -f %s -t", escapeshellcmd($this->Sendmail), escapeshellarg($this->Sender)); } else { $sendmail = sprintf("%s -oi -t", escapeshellcmd($this->Sendmail)); } - - if(!@$mail = popen($sendmail, 'w')) { - $this->SetError($this->Lang('execute') . $this->Sendmail); - return false; - } - - fputs($mail, $header); - fputs($mail, $body); - - $result = pclose($mail); - if (version_compare(phpversion(), '4.2.3') == -1) { - $result = $result >> 8 & 0xFF; - } - if($result != 0) { - $this->SetError($this->Lang('execute') . $this->Sendmail); - return false; + if ($this->SingleTo === true) { + foreach ($this->SingleToArray as $key => $val) { + if(!@$mail = popen($sendmail, 'w')) { + throw new phpmailerException($this->Lang('execute') . $this->Sendmail, self::STOP_CRITICAL); + } + fputs($mail, "To: " . $val . "\n"); + fputs($mail, $header); + fputs($mail, $body); + $result = pclose($mail); + // implement call back function if it exists + $isSent = ($result == 0) ? 1 : 0; + $this->doCallback($isSent,$val,$this->cc,$this->bcc,$this->Subject,$body); + if($result != 0) { + throw new phpmailerException($this->Lang('execute') . $this->Sendmail, self::STOP_CRITICAL); + } + } + } else { + if(!@$mail = popen($sendmail, 'w')) { + throw new phpmailerException($this->Lang('execute') . $this->Sendmail, self::STOP_CRITICAL); + } + fputs($mail, $header); + fputs($mail, $body); + $result = pclose($mail); + // implement call back function if it exists + $isSent = ($result == 0) ? 1 : 0; + $this->doCallback($isSent,$this->to,$this->cc,$this->bcc,$this->Subject,$body); + if($result != 0) { + throw new phpmailerException($this->Lang('execute') . $this->Sendmail, self::STOP_CRITICAL); + } } return true; } /** * Sends mail using the PHP mail() function. - * @access private + * @param string $header The message headers + * @param string $body The message body + * @access protected * @return bool */ - function MailSend($header, $body) { - - $to = ''; - for($i = 0; $i < count($this->to); $i++) { - if($i != 0) { $to .= ', '; } - $to .= $this->AddrFormat($this->to[$i]); + protected function MailSend($header, $body) { + $toArr = array(); + foreach($this->to as $t) { + $toArr[] = $this->AddrFormat($t); } - - $toArr = split(',', $to); + $to = implode(', ', $toArr); $params = sprintf("-oi -f %s", $this->Sender); - if ($this->Sender != '' && strlen(ini_get('safe_mode')) < 1) { + if ($this->Sender != '' && strlen(ini_get('safe_mode'))< 1) { $old_from = ini_get('sendmail_from'); ini_set('sendmail_from', $this->Sender); if ($this->SingleTo === true && count($toArr) > 1) { foreach ($toArr as $key => $val) { $rt = @mail($val, $this->EncodeHeader($this->SecureHeader($this->Subject)), $body, $header, $params); + // implement call back function if it exists + $isSent = ($rt == 1) ? 1 : 0; + $this->doCallback($isSent,$val,$this->cc,$this->bcc,$this->Subject,$body); } } else { $rt = @mail($to, $this->EncodeHeader($this->SecureHeader($this->Subject)), $body, $header, $params); + // implement call back function if it exists + $isSent = ($rt == 1) ? 1 : 0; + $this->doCallback($isSent,$to,$this->cc,$this->bcc,$this->Subject,$body); } } else { if ($this->SingleTo === true && count($toArr) > 1) { foreach ($toArr as $key => $val) { $rt = @mail($val, $this->EncodeHeader($this->SecureHeader($this->Subject)), $body, $header, $params); + // implement call back function if it exists + $isSent = ($rt == 1) ? 1 : 0; + $this->doCallback($isSent,$val,$this->cc,$this->bcc,$this->Subject,$body); } } else { $rt = @mail($to, $this->EncodeHeader($this->SecureHeader($this->Subject)), $body, $header); + // implement call back function if it exists + $isSent = ($rt == 1) ? 1 : 0; + $this->doCallback($isSent,$to,$this->cc,$this->bcc,$this->Subject,$body); } } - if (isset($old_from)) { ini_set('sendmail_from', $old_from); } - if(!$rt) { - $this->SetError($this->Lang('instantiate')); - return false; + throw new phpmailerException($this->Lang('instantiate'), self::STOP_CRITICAL); } - return true; } /** - * Sends mail via SMTP using PhpSMTP (Author: - * Chris Ryan). Returns bool. Returns false if there is a - * bad MAIL FROM, RCPT, or DATA input. - * @access private + * Sends mail via SMTP using PhpSMTP + * Returns false if there is a bad MAIL FROM, RCPT, or DATA input. + * @param string $header The message headers + * @param string $body The message body + * @uses SMTP + * @access protected * @return bool */ - function SmtpSend($header, $body) { - include_once($this->PluginDir . 'class-smtp.php'); - $error = ''; + protected function SmtpSend($header, $body) { + require_once $this->PluginDir . 'class-smtp.php'; $bad_rcpt = array(); if(!$this->SmtpConnect()) { - return false; + throw new phpmailerException($this->Lang('smtp_connect_failed'), self::STOP_CRITICAL); } - $smtp_from = ($this->Sender == '') ? $this->From : $this->Sender; if(!$this->smtp->Mail($smtp_from)) { - $error = $this->Lang('from_failed') . $smtp_from; - $this->SetError($error); - $this->smtp->Reset(); - return false; + throw new phpmailerException($this->Lang('from_failed') . $smtp_from, self::STOP_CRITICAL); } - /* Attempt to send attach all recipients */ - for($i = 0; $i < count($this->to); $i++) { - if(!$this->smtp->Recipient($this->to[$i][0])) { - $bad_rcpt[] = $this->to[$i][0]; + // Attempt to send attach all recipients + foreach($this->to as $to) { + if (!$this->smtp->Recipient($to[0])) { + $bad_rcpt[] = $to[0]; + // implement call back function if it exists + $isSent = 0; + $this->doCallback($isSent,$to[0],'','',$this->Subject,$body); + } else { + // implement call back function if it exists + $isSent = 1; + $this->doCallback($isSent,$to[0],'','',$this->Subject,$body); } } - for($i = 0; $i < count($this->cc); $i++) { - if(!$this->smtp->Recipient($this->cc[$i][0])) { - $bad_rcpt[] = $this->cc[$i][0]; + foreach($this->cc as $cc) { + if (!$this->smtp->Recipient($cc[0])) { + $bad_rcpt[] = $cc[0]; + // implement call back function if it exists + $isSent = 0; + $this->doCallback($isSent,'',$cc[0],'',$this->Subject,$body); + } else { + // implement call back function if it exists + $isSent = 1; + $this->doCallback($isSent,'',$cc[0],'',$this->Subject,$body); } } - for($i = 0; $i < count($this->bcc); $i++) { - if(!$this->smtp->Recipient($this->bcc[$i][0])) { - $bad_rcpt[] = $this->bcc[$i][0]; + foreach($this->bcc as $bcc) { + if (!$this->smtp->Recipient($bcc[0])) { + $bad_rcpt[] = $bcc[0]; + // implement call back function if it exists + $isSent = 0; + $this->doCallback($isSent,'','',$bcc[0],$this->Subject,$body); + } else { + // implement call back function if it exists + $isSent = 1; + $this->doCallback($isSent,'','',$bcc[0],$this->Subject,$body); } } - if(count($bad_rcpt) > 0) { // Create error message - for($i = 0; $i < count($bad_rcpt); $i++) { - if($i != 0) { - $error .= ', '; - } - $error .= $bad_rcpt[$i]; - } - $error = $this->Lang('recipients_failed') . $error; - $this->SetError($error); - $this->smtp->Reset(); - return false; - } + if (count($bad_rcpt) > 0 ) { //Create error message for any bad addresses + $badaddresses = implode(', ', $bad_rcpt); + throw new phpmailerException($this->Lang('recipients_failed') . $badaddresses); + } if(!$this->smtp->Data($header . $body)) { - $this->SetError($this->Lang('data_not_accepted')); - $this->smtp->Reset(); - return false; + throw new phpmailerException($this->Lang('data_not_accepted'), self::STOP_CRITICAL); } if($this->SMTPKeepAlive == true) { $this->smtp->Reset(); - } else { - $this->SmtpClose(); } - return true; } /** - * Initiates a connection to an SMTP server. Returns false if the - * operation failed. - * @access private + * Initiates a connection to an SMTP server. + * Returns false if the operation failed. + * @uses SMTP + * @access public * @return bool */ - function SmtpConnect() { - if($this->smtp == NULL) { + public function SmtpConnect() { + if(is_null($this->smtp)) { $this->smtp = new SMTP(); } $this->smtp->do_debug = $this->SMTPDebug; $hosts = explode(';', $this->Host); $index = 0; - $connection = ($this->smtp->Connected()); - - /* Retry while there is no connection */ - while($index < count($hosts) && $connection == false) { - $hostinfo = array(); - if(eregi('^(.+):([0-9]+)$', $hosts[$index], $hostinfo)) { - $host = $hostinfo[1]; - $port = $hostinfo[2]; - } else { - $host = $hosts[$index]; - $port = $this->Port; - } - - if($this->smtp->Connect(((!empty($this->SMTPSecure))?$this->SMTPSecure.'://':'').$host, $port, $this->Timeout)) { - if ($this->Helo != '') { - $this->smtp->Hello($this->Helo); + $connection = $this->smtp->Connected(); + + // Retry while there is no connection + try { + while($index < count($hosts) && !$connection) { + $hostinfo = array(); + if (preg_match('/^(.+):([0-9]+)$/', $hosts[$index], $hostinfo)) { + $host = $hostinfo[1]; + $port = $hostinfo[2]; } else { - $this->smtp->Hello($this->ServerHostname()); + $host = $hosts[$index]; + $port = $this->Port; } - $connection = true; - if($this->SMTPAuth) { - if(!$this->smtp->Authenticate($this->Username, $this->Password)) { - $this->SetError($this->Lang('authenticate')); - $this->smtp->Reset(); - $connection = false; + $tls = ($this->SMTPSecure == 'tls'); + $ssl = ($this->SMTPSecure == 'ssl'); + + if ($this->smtp->Connect(($ssl ? 'ssl://':'').$host, $port, $this->Timeout)) { + + $hello = ($this->Helo != '' ? $this->Helo : $this->ServerHostname()); + $this->smtp->Hello($hello); + + if ($tls) { + if (!$this->smtp->StartTLS()) { + throw new phpmailerException($this->Lang('tls')); + } + + //We must resend HELO after tls negotiation + $this->smtp->Hello($hello); + } + + $connection = true; + if ($this->SMTPAuth) { + if (!$this->smtp->Authenticate($this->Username, $this->Password)) { + throw new phpmailerException($this->Lang('authenticate')); + } } } + $index++; + if (!$connection) { + throw new phpmailerException($this->Lang('connect_host')); + } } - $index++; - } - if(!$connection) { - $this->SetError($this->Lang('connect_host')); + } catch (phpmailerException $e) { + $this->smtp->Reset(); + throw $e; } - - return $connection; + return true; } /** * Closes the active SMTP session if one exists. * @return void */ - function SmtpClose() { - if($this->smtp != NULL) { + public function SmtpClose() { + if(!is_null($this->smtp)) { if($this->smtp->Connected()) { $this->smtp->Quit(); $this->smtp->Close(); @@ -636,38 +841,48 @@ class PHPMailer { } /** - * Sets the language for all class error messages. Returns false - * if it cannot load the language file. The default language type - * is English. - * @param string $lang_type Type of language (e.g. Portuguese: "br") - * @param string $lang_path Path to the language file directory - * @access public - * @return bool - */ - function SetLanguage($lang_type, $lang_path = 'language/') { - if(file_exists($lang_path.'phpmailer.lang-'.$lang_type.'.php')) { - include($lang_path.'phpmailer.lang-'.$lang_type.'.php'); - } elseif (file_exists($lang_path.'phpmailer.lang-en.php')) { - include($lang_path.'phpmailer.lang-en.php'); - } else { - $PHPMAILER_LANG = array(); - $PHPMAILER_LANG["provide_address"] = 'You must provide at least one ' . - $PHPMAILER_LANG["mailer_not_supported"] = ' mailer is not supported.'; - $PHPMAILER_LANG["execute"] = 'Could not execute: '; - $PHPMAILER_LANG["instantiate"] = 'Could not instantiate mail function.'; - $PHPMAILER_LANG["authenticate"] = 'SMTP Error: Could not authenticate.'; - $PHPMAILER_LANG["from_failed"] = 'The following From address failed: '; - $PHPMAILER_LANG["recipients_failed"] = 'SMTP Error: The following ' . - $PHPMAILER_LANG["data_not_accepted"] = 'SMTP Error: Data not accepted.'; - $PHPMAILER_LANG["connect_host"] = 'SMTP Error: Could not connect to SMTP host.'; - $PHPMAILER_LANG["file_access"] = 'Could not access file: '; - $PHPMAILER_LANG["file_open"] = 'File Error: Could not open file: '; - $PHPMAILER_LANG["encoding"] = 'Unknown encoding: '; - $PHPMAILER_LANG["signing"] = 'Signing Error: '; + * Sets the language for all class error messages. + * Returns false if it cannot load the language file. The default language is English. + * @param string $langcode ISO 639-1 2-character language code (e.g. Portuguese: "br") + * @param string $lang_path Path to the language file directory + * @access public + */ + function SetLanguage($langcode = 'en', $lang_path = 'language/') { + //Define full set of translatable strings + $PHPMAILER_LANG = array( + 'provide_address' => 'You must provide at least one recipient email address.', + 'mailer_not_supported' => ' mailer is not supported.', + 'execute' => 'Could not execute: ', + 'instantiate' => 'Could not instantiate mail function.', + 'authenticate' => 'SMTP Error: Could not authenticate.', + 'from_failed' => 'The following From address failed: ', + 'recipients_failed' => 'SMTP Error: The following recipients failed: ', + 'data_not_accepted' => 'SMTP Error: Data not accepted.', + 'connect_host' => 'SMTP Error: Could not connect to SMTP host.', + 'file_access' => 'Could not access file: ', + 'file_open' => 'File Error: Could not open file: ', + 'encoding' => 'Unknown encoding: ', + 'signing' => 'Signing Error: ', + 'smtp_error' => 'SMTP server error: ', + 'empty_message' => 'Message body empty', + 'invalid_address' => 'Invalid address', + 'variable_set' => 'Cannot set or reset variable: ' + ); + //Overwrite language-specific strings. This way we'll never have missing translations - no more "language string failed to load"! + $l = true; + if ($langcode != 'en') { //There is no English translation file + $l = @include $lang_path.'phpmailer.lang-'.$langcode.'.php'; } $this->language = $PHPMAILER_LANG; + return ($l == true); //Returns false if language not found + } - return true; + /** + * Return the current array of language strings + * @return array + */ + public function GetTranslations() { + return $this->language; } ///////////////////////////////////////////////// @@ -676,17 +891,16 @@ class PHPMailer { /** * Creates recipient headers. - * @access private + * @access public * @return string */ - function AddrAppend($type, $addr) { + public function AddrAppend($type, $addr) { $addr_str = $type . ': '; - $addr_str .= $this->AddrFormat($addr[0]); - if(count($addr) > 1) { - for($i = 1; $i < count($addr); $i++) { - $addr_str .= ', ' . $this->AddrFormat($addr[$i]); - } + $addresses = array(); + foreach ($addr as $a) { + $addresses[] = $this->AddrFormat($a); } + $addr_str .= implode(', ', $addresses); $addr_str .= $this->LE; return $addr_str; @@ -694,27 +908,28 @@ class PHPMailer { /** * Formats an address correctly. - * @access private + * @access public * @return string */ - function AddrFormat($addr) { - if(empty($addr[1])) { - $formatted = $this->SecureHeader($addr[0]); + public function AddrFormat($addr) { + if (empty($addr[1])) { + return $this->SecureHeader($addr[0]); } else { - $formatted = $this->EncodeHeader($this->SecureHeader($addr[1]), 'phrase') . " <" . $this->SecureHeader($addr[0]) . ">"; + return $this->EncodeHeader($this->SecureHeader($addr[1]), 'phrase') . " <" . $this->SecureHeader($addr[0]) . ">"; } - - return $formatted; } /** * Wraps message for use with mailers that do not * automatically perform wrapping and for quoted-printable. * Original written by philippe. - * @access private + * @param string $message The message to wrap + * @param integer $length The line length to wrap to + * @param boolean $qp_mode Whether to run in Quoted-Printable mode + * @access public * @return string */ - function WrapText($message, $length, $qp_mode = false) { + public function WrapText($message, $length, $qp_mode = false) { $soft_break = ($qp_mode) ? sprintf(" =%s", $this->LE) : $this->LE; // If utf-8 encoding is used, we will need to make sure we don't // split multibyte characters when we wrap @@ -791,12 +1006,12 @@ class PHPMailer { * Finds last character boundary prior to maxLength in a utf-8 * quoted (printable) encoded string. * Original written by Colin Brown. - * @access private + * @access public * @param string $encodedText utf-8 QP text * @param int $maxLength find last character boundary prior to this length * @return int */ - function UTF8CharBoundary($encodedText, $maxLength) { + public function UTF8CharBoundary($encodedText, $maxLength) { $foundSplitPos = false; $lookBack = 3; while (!$foundSplitPos) { @@ -828,19 +1043,19 @@ class PHPMailer { return $maxLength; } + /** * Set the body wrapping. - * @access private + * @access public * @return void */ - function SetWordWrap() { + public function SetWordWrap() { if($this->WordWrap < 1) { return; } switch($this->message_type) { case 'alt': - /* fall through */ case 'alt_attachments': $this->AltBody = $this->WrapText($this->AltBody, $this->WordWrap); break; @@ -852,30 +1067,36 @@ class PHPMailer { /** * Assembles message header. - * @access private - * @return string + * @access public + * @return string The assembled header */ - function CreateHeader() { + public function CreateHeader() { $result = ''; - /* Set the boundaries */ + // Set the boundaries $uniq_id = md5(uniqid(time())); $this->boundary[1] = 'b1_' . $uniq_id; $this->boundary[2] = 'b2_' . $uniq_id; - $result .= $this->HeaderLine('Date', $this->RFCDate()); + $result .= $this->HeaderLine('Date', self::RFCDate()); if($this->Sender == '') { $result .= $this->HeaderLine('Return-Path', trim($this->From)); } else { $result .= $this->HeaderLine('Return-Path', trim($this->Sender)); } - /* To be created automatically by mail() */ + // To be created automatically by mail() if($this->Mailer != 'mail') { - if(count($this->to) > 0) { - $result .= $this->AddrAppend('To', $this->to); - } elseif (count($this->cc) == 0) { - $result .= $this->HeaderLine('To', 'undisclosed-recipients:;'); + if ($this->SingleTo === true) { + foreach($this->to as $t) { + $this->SingleToArray[] = $this->AddrFormat($t); + } + } else { + if(count($this->to) > 0) { + $result .= $this->AddrAppend('To', $this->to); + } elseif (count($this->cc) == 0) { + $result .= $this->HeaderLine('To', 'undisclosed-recipients:;'); + } } } @@ -884,21 +1105,21 @@ class PHPMailer { $from[0][1] = $this->FromName; $result .= $this->AddrAppend('From', $from); - /* sendmail and mail() extract Cc from the header before sending */ - if((($this->Mailer == 'sendmail') || ($this->Mailer == 'mail')) && (count($this->cc) > 0)) { + // sendmail and mail() extract Cc from the header before sending + if(count($this->cc) > 0) { $result .= $this->AddrAppend('Cc', $this->cc); } - /* sendmail and mail() extract Bcc from the header before sending */ + // sendmail and mail() extract Bcc from the header before sending if((($this->Mailer == 'sendmail') || ($this->Mailer == 'mail')) && (count($this->bcc) > 0)) { $result .= $this->AddrAppend('Bcc', $this->bcc); } if(count($this->ReplyTo) > 0) { - $result .= $this->AddrAppend('Reply-To', $this->ReplyTo); + $result .= $this->AddrAppend('Reply-to', $this->ReplyTo); } - /* mail() sets the subject itself */ + // mail() sets the subject itself if($this->Mailer != 'mail') { $result .= $this->HeaderLine('Subject', $this->EncodeHeader($this->SecureHeader($this->Subject))); } @@ -909,7 +1130,7 @@ class PHPMailer { $result .= sprintf("Message-ID: <%s@%s>%s", $uniq_id, $this->ServerHostname(), $this->LE); } $result .= $this->HeaderLine('X-Priority', $this->Priority); - $result .= $this->HeaderLine('X-Mailer', 'PHPMailer (phpmailer.sourceforge.net) [version ' . $this->Version . ']'); + $result .= $this->HeaderLine('X-Mailer', 'PHPMailer '.$this->Version.' (phpmailer.sourceforge.net)'); if($this->ConfirmReadingTo != '') { $result .= $this->HeaderLine('Disposition-Notification-To', '<' . trim($this->ConfirmReadingTo) . '>'); @@ -929,10 +1150,10 @@ class PHPMailer { /** * Returns the message MIME. - * @access private + * @access public * @return string */ - function GetMailMIME() { + public function GetMailMIME() { $result = ''; switch($this->message_type) { case 'plain': @@ -940,7 +1161,6 @@ class PHPMailer { $result .= sprintf("Content-Type: %s; charset=\"%s\"", $this->ContentType, $this->CharSet); break; case 'attachments': - /* fall through */ case 'alt_attachments': if($this->InlineImageExists()){ $result .= sprintf("Content-Type: %s;%s\ttype=\"text/html\";%s\tboundary=\"%s\"%s", 'multipart/related', $this->LE, $this->LE, $this->boundary[1], $this->LE); @@ -964,84 +1184,83 @@ class PHPMailer { /** * Assembles the message body. Returns an empty string on failure. - * @access private - * @return string + * @access public + * @return string The assembled message body */ - function CreateBody() { - $result = ''; + public function CreateBody() { + $body = ''; + if ($this->sign_key_file) { - $result .= $this->GetMailMIME(); + $body .= $this->GetMailMIME(); } $this->SetWordWrap(); switch($this->message_type) { case 'alt': - $result .= $this->GetBoundary($this->boundary[1], '', 'text/plain', ''); - $result .= $this->EncodeString($this->AltBody, $this->Encoding); - $result .= $this->LE.$this->LE; - $result .= $this->GetBoundary($this->boundary[1], '', 'text/html', ''); - $result .= $this->EncodeString($this->Body, $this->Encoding); - $result .= $this->LE.$this->LE; - $result .= $this->EndBoundary($this->boundary[1]); + $body .= $this->GetBoundary($this->boundary[1], '', 'text/plain', ''); + $body .= $this->EncodeString($this->AltBody, $this->Encoding); + $body .= $this->LE.$this->LE; + $body .= $this->GetBoundary($this->boundary[1], '', 'text/html', ''); + $body .= $this->EncodeString($this->Body, $this->Encoding); + $body .= $this->LE.$this->LE; + $body .= $this->EndBoundary($this->boundary[1]); break; case 'plain': - $result .= $this->EncodeString($this->Body, $this->Encoding); + $body .= $this->EncodeString($this->Body, $this->Encoding); break; case 'attachments': - $result .= $this->GetBoundary($this->boundary[1], '', '', ''); - $result .= $this->EncodeString($this->Body, $this->Encoding); - $result .= $this->LE; - $result .= $this->AttachAll(); + $body .= $this->GetBoundary($this->boundary[1], '', '', ''); + $body .= $this->EncodeString($this->Body, $this->Encoding); + $body .= $this->LE; + $body .= $this->AttachAll(); break; case 'alt_attachments': - $result .= sprintf("--%s%s", $this->boundary[1], $this->LE); - $result .= sprintf("Content-Type: %s;%s" . "\tboundary=\"%s\"%s", 'multipart/alternative', $this->LE, $this->boundary[2], $this->LE.$this->LE); - $result .= $this->GetBoundary($this->boundary[2], '', 'text/plain', '') . $this->LE; // Create text body - $result .= $this->EncodeString($this->AltBody, $this->Encoding); - $result .= $this->LE.$this->LE; - $result .= $this->GetBoundary($this->boundary[2], '', 'text/html', '') . $this->LE; // Create the HTML body - $result .= $this->EncodeString($this->Body, $this->Encoding); - $result .= $this->LE.$this->LE; - $result .= $this->EndBoundary($this->boundary[2]); - $result .= $this->AttachAll(); + $body .= sprintf("--%s%s", $this->boundary[1], $this->LE); + $body .= sprintf("Content-Type: %s;%s" . "\tboundary=\"%s\"%s", 'multipart/alternative', $this->LE, $this->boundary[2], $this->LE.$this->LE); + $body .= $this->GetBoundary($this->boundary[2], '', 'text/plain', '') . $this->LE; // Create text body + $body .= $this->EncodeString($this->AltBody, $this->Encoding); + $body .= $this->LE.$this->LE; + $body .= $this->GetBoundary($this->boundary[2], '', 'text/html', '') . $this->LE; // Create the HTML body + $body .= $this->EncodeString($this->Body, $this->Encoding); + $body .= $this->LE.$this->LE; + $body .= $this->EndBoundary($this->boundary[2]); + $body .= $this->AttachAll(); break; } - if($this->IsError()) { - $result = ''; - } else if ($this->sign_key_file) { - $file = tempnam("", "mail"); - $fp = fopen($file, "w"); - fwrite($fp, $result); - fclose($fp); - $signed = tempnam("", "signed"); - - if (@openssl_pkcs7_sign($file, $signed, "file://".$this->sign_cert_file, array("file://".$this->sign_key_file, $this->sign_key_pass), null)) { - $fp = fopen($signed, "r"); - $result = fread($fp, filesize($this->sign_key_file)); - $result = ''; - while(!feof($fp)){ - $result = $result . fread($fp, 1024); + if ($this->IsError()) { + $body = ''; + } elseif ($this->sign_key_file) { + try { + $file = tempnam('', 'mail'); + file_put_contents($file, $body); //TODO check this worked + $signed = tempnam("", "signed"); + if (@openssl_pkcs7_sign($file, $signed, "file://".$this->sign_cert_file, array("file://".$this->sign_key_file, $this->sign_key_pass), NULL)) { + @unlink($file); + @unlink($signed); + $body = file_get_contents($signed); + } else { + @unlink($file); + @unlink($signed); + throw new phpmailerException($this->Lang("signing").openssl_error_string()); + } + } catch (phpmailerException $e) { + $body = ''; + if ($this->exceptions) { + throw $e; } - fclose($fp); - } else { - $this->SetError($this->Lang("signing").openssl_error_string()); - $result = ''; } - - unlink($file); - unlink($signed); } - return $result; + return $body; } /** * Returns the start of a message boundary. * @access private */ - function GetBoundary($boundary, $charSet, $contentType, $encoding) { + private function GetBoundary($boundary, $charSet, $contentType, $encoding) { $result = ''; if($charSet == '') { $charSet = $this->CharSet; @@ -1065,7 +1284,7 @@ class PHPMailer { * Returns the end of a message boundary. * @access private */ - function EndBoundary($boundary) { + private function EndBoundary($boundary) { return $this->LE . '--' . $boundary . '--' . $this->LE; } @@ -1074,7 +1293,7 @@ class PHPMailer { * @access private * @return void */ - function SetMessageType() { + private function SetMessageType() { if(count($this->attachment) < 1 && strlen($this->AltBody) < 1) { $this->message_type = 'plain'; } else { @@ -1090,20 +1309,21 @@ class PHPMailer { } } - /* Returns a formatted header line. - * @access private + /** + * Returns a formatted header line. + * @access public * @return string */ - function HeaderLine($name, $value) { + public function HeaderLine($name, $value) { return $name . ': ' . $value . $this->LE; } /** * Returns a formatted mail line. - * @access private + * @access public * @return string */ - function TextLine($value) { + public function TextLine($value) { return $value . $this->LE; } @@ -1121,56 +1341,80 @@ class PHPMailer { * @param string $type File extension (MIME) type. * @return bool */ - function AddAttachment($path, $name = '', $encoding = 'base64', $type = 'application/octet-stream') { - if(!@is_file($path)) { - $this->SetError($this->Lang('file_access') . $path); - return false; - } + public function AddAttachment($path, $name = '', $encoding = 'base64', $type = 'application/octet-stream') { + try { + if ( !@is_file($path) ) { + throw new phpmailerException($this->Lang('file_access') . $path, self::STOP_CONTINUE); + } + $filename = basename($path); + if ( $name == '' ) { + $name = $filename; + } - $filename = basename($path); - if($name == '') { - $name = $filename; + $this->attachment[] = array( + 0 => $path, + 1 => $filename, + 2 => $name, + 3 => $encoding, + 4 => $type, + 5 => false, // isStringAttachment + 6 => 'attachment', + 7 => 0 + ); + + } catch (phpmailerException $e) { + $this->SetError($e->getMessage()); + if ($this->exceptions) { + throw $e; + } + echo $e->getMessage()."\n"; + if ( $e->getCode() == self::STOP_CRITICAL ) { + return false; + } } - - $cur = count($this->attachment); - $this->attachment[$cur][0] = $path; - $this->attachment[$cur][1] = $filename; - $this->attachment[$cur][2] = $name; - $this->attachment[$cur][3] = $encoding; - $this->attachment[$cur][4] = $type; - $this->attachment[$cur][5] = false; // isStringAttachment - $this->attachment[$cur][6] = 'attachment'; - $this->attachment[$cur][7] = 0; - return true; } + /** + * Return the current array of attachments + * @return array + */ + public function GetAttachments() { + return $this->attachment; + } + /** * Attaches all fs, string, and binary attachments to the message. * Returns an empty string on failure. * @access private * @return string */ - function AttachAll() { - /* Return text of body */ + private function AttachAll() { + // Return text of body $mime = array(); + $cidUniq = array(); + $incl = array(); - /* Add all attachments */ - for($i = 0; $i < count($this->attachment); $i++) { - /* Check for string attachment */ - $bString = $this->attachment[$i][5]; + // Add all attachments + foreach ($this->attachment as $attachment) { + // Check for string attachment + $bString = $attachment[5]; if ($bString) { - $string = $this->attachment[$i][0]; + $string = $attachment[0]; } else { - $path = $this->attachment[$i][0]; + $path = $attachment[0]; } - $filename = $this->attachment[$i][1]; - $name = $this->attachment[$i][2]; - $encoding = $this->attachment[$i][3]; - $type = $this->attachment[$i][4]; - $disposition = $this->attachment[$i][6]; - $cid = $this->attachment[$i][7]; + if (in_array($attachment[0], $incl)) { continue; } + $filename = $attachment[1]; + $name = $attachment[2]; + $encoding = $attachment[3]; + $type = $attachment[4]; + $disposition = $attachment[6]; + $cid = $attachment[7]; + $incl[] = $attachment[0]; + if ( $disposition == 'inline' && isset($cidUniq[$cid]) ) { continue; } + $cidUniq[$cid] = true; $mime[] = sprintf("--%s%s", $this->boundary[1], $this->LE); $mime[] = sprintf("Content-Type: %s; name=\"%s\"%s", $type, $this->EncodeHeader($this->SecureHeader($name)), $this->LE); @@ -1182,7 +1426,7 @@ class PHPMailer { $mime[] = sprintf("Content-Disposition: %s; filename=\"%s\"%s", $disposition, $this->EncodeHeader($this->SecureHeader($name)), $this->LE.$this->LE); - /* Encode as string attachment */ + // Encode as string attachment if($bString) { $mime[] = $this->EncodeString($string, $encoding); if($this->IsError()) { @@ -1204,42 +1448,56 @@ class PHPMailer { } /** - * Encodes attachment in requested format. Returns an - * empty string on failure. + * Encodes attachment in requested format. + * Returns an empty string on failure. + * @param string $path The full path to the file + * @param string $encoding The encoding to use; one of 'base64', '7bit', '8bit', 'binary', 'quoted-printable' + * @see EncodeFile() * @access private * @return string */ - function EncodeFile ($path, $encoding = 'base64') { - if(!@$fd = fopen($path, 'rb')) { - $this->SetError($this->Lang('file_open') . $path); + private function EncodeFile($path, $encoding = 'base64') { + try { + if (!is_readable($path)) { + throw new phpmailerException($this->Lang('file_open') . $path, self::STOP_CONTINUE); + } + if (function_exists('get_magic_quotes')) { + function get_magic_quotes() { + return false; + } + } + if (PHP_VERSION < 6) { + $magic_quotes = get_magic_quotes_runtime(); + set_magic_quotes_runtime(0); + } + $file_buffer = file_get_contents($path); + $file_buffer = $this->EncodeString($file_buffer, $encoding); + if (PHP_VERSION < 6) { set_magic_quotes_runtime($magic_quotes); } + return $file_buffer; + } catch (Exception $e) { + $this->SetError($e->getMessage()); return ''; } - $magic_quotes = get_magic_quotes_runtime(); - set_magic_quotes_runtime(0); - $file_buffer = fread($fd, filesize($path)); - $file_buffer = $this->EncodeString($file_buffer, $encoding); - fclose($fd); - set_magic_quotes_runtime($magic_quotes); - - return $file_buffer; } /** - * Encodes string to requested format. Returns an - * empty string on failure. - * @access private + * Encodes string to requested format. + * Returns an empty string on failure. + * @param string $str The text to encode + * @param string $encoding The encoding to use; one of 'base64', '7bit', '8bit', 'binary', 'quoted-printable' + * @access public * @return string */ - function EncodeString ($str, $encoding = 'base64') { + public function EncodeString ($str, $encoding = 'base64') { $encoded = ''; switch(strtolower($encoding)) { case 'base64': - /* chunk_split is found in PHP >= 3.0.6 */ $encoded = chunk_split(base64_encode($str), 76, $this->LE); break; case '7bit': case '8bit': $encoded = $this->FixEOL($str); + //Make sure it ends with a line break if (substr($encoded, -(strlen($this->LE))) != $this->LE) $encoded .= $this->LE; break; @@ -1257,17 +1515,17 @@ class PHPMailer { } /** - * Encode a header string to best of Q, B, quoted or none. - * @access private + * Encode a header string to best (shortest) of Q, B, quoted or none. + * @access public * @return string */ - function EncodeHeader ($str, $position = 'text') { + public function EncodeHeader($str, $position = 'text') { $x = 0; switch (strtolower($position)) { case 'phrase': if (!preg_match('/[\200-\377]/', $str)) { - /* Can't use addslashes as we don't know what value has magic_quotes_sybase. */ + // Can't use addslashes as we don't know what value has magic_quotes_sybase $encoded = addcslashes($str, "\0..\37\177\\\""); if (($str == $encoded) && !preg_match('/[^A-Za-z0-9!#$%&\'*+\/=?^_`{|}~ -]/', $str)) { return ($encoded); @@ -1279,7 +1537,7 @@ class PHPMailer { break; case 'comment': $x = preg_match_all('/[()"]/', $str, $matches); - /* Fall-through */ + // Fall-through case 'text': default: $x += preg_match_all('/[\000-\010\013\014\016-\037\177-\377]/', $str, $matches); @@ -1291,12 +1549,12 @@ class PHPMailer { } $maxlen = 75 - 7 - strlen($this->CharSet); - /* Try to select the encoding which should produce the shortest output */ + // Try to select the encoding which should produce the shortest output if (strlen($str)/3 < $x) { $encoding = 'B'; if (function_exists('mb_strlen') && $this->HasMultiBytes($str)) { - // Use a custom function which correctly encodes and wraps long - // multibyte strings without breaking lines within a character + // Use a custom function which correctly encodes and wraps long + // multibyte strings without breaking lines within a character $encoded = $this->Base64EncodeWrapMB($str); } else { $encoded = base64_encode($str); @@ -1318,15 +1576,15 @@ class PHPMailer { /** * Checks if a string contains multibyte characters. - * @access private + * @access public * @param string $str multi-byte text to wrap encode * @return bool */ - function HasMultiBytes($str) { + public function HasMultiBytes($str) { if (function_exists('mb_strlen')) { return (strlen($str) > mb_strlen($str, $this->CharSet)); } else { // Assume no multibytes (we can't handle without mbstring functions anyway) - return False; + return false; } } @@ -1334,11 +1592,11 @@ class PHPMailer { * Correctly encodes and wraps long multibyte strings for mail headers * without breaking lines within a character. * Adapted from a function by paravoid at http://uk.php.net/manual/en/function.mb-encode-mimeheader.php - * @access private + * @access public * @param string $str multi-byte text to wrap encode * @return string */ - function Base64EncodeWrapMB($str) { + public function Base64EncodeWrapMB($str) { $start = "=?".$this->CharSet."?B?"; $end = "?="; $encoded = ""; @@ -1371,11 +1629,14 @@ class PHPMailer { } /** - * Encode string to quoted-printable. - * @access private - * @return string - */ - function EncodeQP( $input = '', $line_max = 76, $space_conv = false ) { + * Encode string to quoted-printable. + * Only uses standard PHP, slow, but will always work + * @access public + * @param string $string the text to encode + * @param integer $line_max Number of chars allowed on a line before wrapping + * @return string + */ + public function EncodeQPphp( $input = '', $line_max = 76, $space_conv = false) { $hex = array('0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'); $lines = preg_split('/(?:\r\n|\r|\n)/', $input); $eol = "\r\n"; @@ -1417,41 +1678,66 @@ class PHPMailer { } /** - * Callback for converting to "=XX". - * @access private - * @return string - */ - function EncodeQ_callback ($matches) { - return sprintf('=%02X', ord($matches[1])); + * Encode string to RFC2045 (6.7) quoted-printable format + * Uses a PHP5 stream filter to do the encoding about 64x faster than the old version + * Also results in same content as you started with after decoding + * @see EncodeQPphp() + * @access public + * @param string $string the text to encode + * @param integer $line_max Number of chars allowed on a line before wrapping + * @param boolean $space_conv Dummy param for compatibility with existing EncodeQP function + * @return string + * @author Marcus Bointon + */ + public function EncodeQP($string, $line_max = 76, $space_conv = false) { + if (function_exists('quoted_printable_encode')) { //Use native function if it's available (>= PHP5.3) + return quoted_printable_encode($string); + } + $filters = stream_get_filters(); + if (!in_array('convert.*', $filters)) { //Got convert stream filter? + return $this->EncodeQPphp($string, $line_max, $space_conv); //Fall back to old implementation + } + $fp = fopen('php://temp/', 'r+'); + $string = preg_replace('/\r\n?/', $this->LE, $string); //Normalise line breaks + $params = array('line-length' => $line_max, 'line-break-chars' => $this->LE); + $s = stream_filter_append($fp, 'convert.quoted-printable-encode', STREAM_FILTER_READ, $params); + fputs($fp, $string); + rewind($fp); + $out = stream_get_contents($fp); + stream_filter_remove($s); + $out = preg_replace('/^\./m', '=2E', $out); //Encode . if it is first char on a line, workaround for bug in Exchange + fclose($fp); + return $out; } /** * Encode string to q encoding. - * @access private + * @link http://tools.ietf.org/html/rfc2047 + * @param string $str the text to encode + * @param string $position Where the text is going to be used, see the RFC for what that means + * @access public * @return string */ - function EncodeQ ($str, $position = 'text') { - /* There should not be any EOL in the string */ - $encoded = preg_replace("/[\r\n]/", '', $str); + public function EncodeQ ($str, $position = 'text') { + // There should not be any EOL in the string + $encoded = preg_replace('/[\r\n]*/', '', $str); switch (strtolower($position)) { case 'phrase': - $encoded = preg_replace_callback("/([^A-Za-z0-9!*+\/ -])/", - array('PHPMailer', 'EncodeQ_callback'), $encoded); + $encoded = preg_replace("/([^A-Za-z0-9!*+\/ -])/e", "'='.sprintf('%02X', ord('\\1'))", $encoded); break; case 'comment': - $encoded = preg_replace_callback("/([\(\)\"])/", - array('PHPMailer', 'EncodeQ_callback'), $encoded); - break; + $encoded = preg_replace("/([\(\)\"])/e", "'='.sprintf('%02X', ord('\\1'))", $encoded); case 'text': default: - /* Replace every high ascii, control =, ? and _ characters */ - $encoded = preg_replace_callback('/([\000-\011\013\014\016-\037\075\077\137\177-\377])/', - array('PHPMailer', 'EncodeQ_callback'), $encoded); + // Replace every high ascii, control =, ? and _ characters + //TODO using /e (equivalent to eval()) is probably not a good idea + $encoded = preg_replace('/([\000-\011\013\014\016-\037\075\077\137\177-\377])/e', + "'='.sprintf('%02X', ord('\\1'))", $encoded); break; } - /* Replace every spaces to _ (more readable than =20) */ + // Replace every spaces to _ (more readable than =20) $encoded = str_replace(' ', '_', $encoded); return $encoded; @@ -1467,17 +1753,18 @@ class PHPMailer { * @param string $type File extension (MIME) type. * @return void */ - function AddStringAttachment($string, $filename, $encoding = 'base64', $type = 'application/octet-stream') { - /* Append to $attachment array */ - $cur = count($this->attachment); - $this->attachment[$cur][0] = $string; - $this->attachment[$cur][1] = $filename; - $this->attachment[$cur][2] = $filename; - $this->attachment[$cur][3] = $encoding; - $this->attachment[$cur][4] = $type; - $this->attachment[$cur][5] = true; // isString - $this->attachment[$cur][6] = 'attachment'; - $this->attachment[$cur][7] = 0; + public function AddStringAttachment($string, $filename, $encoding = 'base64', $type = 'application/octet-stream') { + // Append to $attachment array + $this->attachment[] = array( + 0 => $string, + 1 => $filename, + 2 => basename($filename), + 3 => $encoding, + 4 => $type, + 5 => true, // isStringAttachment + 6 => 'attachment', + 7 => 0 + ); } /** @@ -1493,47 +1780,45 @@ class PHPMailer { * @param string $type File extension (MIME) type. * @return bool */ - function AddEmbeddedImage($path, $cid, $name = '', $encoding = 'base64', $type = 'application/octet-stream') { + public function AddEmbeddedImage($path, $cid, $name = '', $encoding = 'base64', $type = 'application/octet-stream') { - if(!@is_file($path)) { + if ( !@is_file($path) ) { $this->SetError($this->Lang('file_access') . $path); return false; } $filename = basename($path); - if($name == '') { + if ( $name == '' ) { $name = $filename; } - /* Append to $attachment array */ - $cur = count($this->attachment); - $this->attachment[$cur][0] = $path; - $this->attachment[$cur][1] = $filename; - $this->attachment[$cur][2] = $name; - $this->attachment[$cur][3] = $encoding; - $this->attachment[$cur][4] = $type; - $this->attachment[$cur][5] = false; - $this->attachment[$cur][6] = 'inline'; - $this->attachment[$cur][7] = $cid; + // Append to $attachment array + $this->attachment[] = array( + 0 => $path, + 1 => $filename, + 2 => $name, + 3 => $encoding, + 4 => $type, + 5 => false, // isStringAttachment + 6 => 'inline', + 7 => $cid + ); return true; } /** * Returns true if an inline attachment is present. - * @access private + * @access public * @return bool */ - function InlineImageExists() { - $result = false; - for($i = 0; $i < count($this->attachment); $i++) { - if($this->attachment[$i][6] == 'inline') { - $result = true; - break; + public function InlineImageExists() { + foreach($this->attachment as $attachment) { + if ($attachment[6] == 'inline') { + return true; } } - - return $result; + return false; } ///////////////////////////////////////////////// @@ -1544,7 +1829,10 @@ class PHPMailer { * Clears all recipients assigned in the TO array. Returns void. * @return void */ - function ClearAddresses() { + public function ClearAddresses() { + foreach($this->to as $to) { + unset($this->all_recipients[strtolower($to[0])]); + } $this->to = array(); } @@ -1552,7 +1840,10 @@ class PHPMailer { * Clears all recipients assigned in the CC array. Returns void. * @return void */ - function ClearCCs() { + public function ClearCCs() { + foreach($this->cc as $cc) { + unset($this->all_recipients[strtolower($cc[0])]); + } $this->cc = array(); } @@ -1560,7 +1851,10 @@ class PHPMailer { * Clears all recipients assigned in the BCC array. Returns void. * @return void */ - function ClearBCCs() { + public function ClearBCCs() { + foreach($this->bcc as $bcc) { + unset($this->all_recipients[strtolower($bcc[0])]); + } $this->bcc = array(); } @@ -1568,7 +1862,7 @@ class PHPMailer { * Clears all recipients assigned in the ReplyTo array. Returns void. * @return void */ - function ClearReplyTos() { + public function ClearReplyTos() { $this->ReplyTo = array(); } @@ -1577,10 +1871,11 @@ class PHPMailer { * array. Returns void. * @return void */ - function ClearAllRecipients() { + public function ClearAllRecipients() { $this->to = array(); $this->cc = array(); $this->bcc = array(); + $this->all_recipients = array(); } /** @@ -1588,7 +1883,7 @@ class PHPMailer { * attachments. Returns void. * @return void */ - function ClearAttachments() { + public function ClearAttachments() { $this->attachment = array(); } @@ -1596,7 +1891,7 @@ class PHPMailer { * Clears all custom headers. Returns void. * @return void */ - function ClearCustomHeaders() { + public function ClearCustomHeaders() { $this->CustomHeader = array(); } @@ -1606,21 +1901,27 @@ class PHPMailer { /** * Adds the error message to the error container. - * Returns void. - * @access private + * @access protected * @return void */ - function SetError($msg) { + protected function SetError($msg) { $this->error_count++; + if ($this->Mailer == 'smtp' and !is_null($this->smtp)) { + $lasterror = $this->smtp->getError(); + if (!empty($lasterror) and array_key_exists('smtp_msg', $lasterror)) { + $msg .= '<p>' . $this->Lang('smtp_error') . $lasterror['smtp_msg'] . "</p>\n"; + } + } $this->ErrorInfo = $msg; } /** * Returns the proper RFC 822 formatted date. - * @access private + * @access public * @return string + * @static */ - function RFCDate() { + public static function RFCDate() { $tz = date('Z'); $tzs = ($tz < 0) ? '-' : '+'; $tz = abs($tz); @@ -1630,41 +1931,16 @@ class PHPMailer { return $result; } - /** - * Returns the appropriate server variable. Should work with both - * PHP 4.1.0+ as well as older versions. Returns an empty string - * if nothing is found. - * @access private - * @return mixed - */ - function ServerVar($varName) { - global $HTTP_SERVER_VARS; - global $HTTP_ENV_VARS; - - if(!isset($_SERVER)) { - $_SERVER = $HTTP_SERVER_VARS; - if(!isset($_SERVER['REMOTE_ADDR'])) { - $_SERVER = $HTTP_ENV_VARS; // must be Apache - } - } - - if(isset($_SERVER[$varName])) { - return $_SERVER[$varName]; - } else { - return ''; - } - } - /** * Returns the server hostname or 'localhost.localdomain' if unknown. * @access private * @return string */ - function ServerHostname() { - if ($this->Hostname != '') { + private function ServerHostname() { + if (!empty($this->Hostname)) { $result = $this->Hostname; - } elseif ($this->ServerVar('SERVER_NAME') != '') { - $result = $this->ServerVar('SERVER_NAME'); + } elseif (isset($_SERVER['SERVER_NAME'])) { + $result = $_SERVER['SERVER_NAME']; } else { $result = 'localhost.localdomain'; } @@ -1677,7 +1953,7 @@ class PHPMailer { * @access private * @return string */ - function Lang($key) { + private function Lang($key) { if(count($this->language) < 1) { $this->SetLanguage('en'); // set the default language } @@ -1691,9 +1967,10 @@ class PHPMailer { /** * Returns true if an error occurred. + * @access public * @return bool */ - function IsError() { + public function IsError() { return ($this->error_count > 0); } @@ -1702,7 +1979,7 @@ class PHPMailer { * @access private * @return string */ - function FixEOL($str) { + private function FixEOL($str) { $str = str_replace("\r\n", "\n", $str); $str = str_replace("\r", "\n", $str); $str = str_replace("\n", $this->LE, $str); @@ -1711,9 +1988,10 @@ class PHPMailer { /** * Adds a custom header. + * @access public * @return void */ - function AddCustomHeader($custom_header) { + public function AddCustomHeader($custom_header) { $this->CustomHeader[] = explode(':', $custom_header, 2); } @@ -1722,19 +2000,18 @@ class PHPMailer { * @access public * @return $message */ - function MsgHTML($message,$basedir='') { + public function MsgHTML($message, $basedir = '') { preg_match_all("/(src|background)=\"(.*)\"/Ui", $message, $images); if(isset($images[2])) { foreach($images[2] as $i => $url) { // do not change urls for absolute images (thanks to corvuscorax) - if (!preg_match('/^[A-z][A-z]*:\/\//',$url)) { + if (!preg_match('#^[A-z]+://#',$url)) { $filename = basename($url); $directory = dirname($url); ($directory == '.')?$directory='':''; $cid = 'cid:' . md5($filename); - $fileParts = split("\.", $filename); - $ext = $fileParts[1]; - $mimeType = $this->_mime_types($ext); + $ext = pathinfo($filename, PATHINFO_EXTENSION); + $mimeType = self::_mime_types($ext); if ( strlen($basedir) > 1 && substr($basedir,-1) != '/') { $basedir .= '/'; } if ( strlen($directory) > 1 && substr($directory,-1) != '/') { $directory .= '/'; } if ( $this->AddEmbeddedImage($basedir.$directory.$filename, md5($filename), $filename, 'base64',$mimeType) ) { @@ -1746,161 +2023,152 @@ class PHPMailer { $this->IsHTML(true); $this->Body = $message; $textMsg = trim(strip_tags(preg_replace('/<(head|title|style|script)[^>]*>.*?<\/\\1>/s','',$message))); - if ( !empty($textMsg) && empty($this->AltBody) ) { + if (!empty($textMsg) && empty($this->AltBody)) { $this->AltBody = html_entity_decode($textMsg); } - if ( empty($this->AltBody) ) { - $this->AltBody = 'To view this email message, open the email in with HTML compatibility!' . "\n\n"; + if (empty($this->AltBody)) { + $this->AltBody = 'To view this email message, open it in a program that understands HTML!' . "\n\n"; } } /** - * Gets the mime type of the embedded or inline image - * @access private - * @return mime type of ext + * Gets the MIME type of the embedded or inline image + * @param string File extension + * @access public + * @return string MIME type of ext + * @static */ - function _mime_types($ext = '') { + public static function _mime_types($ext = '') { $mimes = array( - 'ai' => 'application/postscript', - 'aif' => 'audio/x-aiff', - 'aifc' => 'audio/x-aiff', - 'aiff' => 'audio/x-aiff', - 'avi' => 'video/x-msvideo', + 'hqx' => 'application/mac-binhex40', + 'cpt' => 'application/mac-compactpro', + 'doc' => 'application/msword', 'bin' => 'application/macbinary', - 'bmp' => 'image/bmp', + 'dms' => 'application/octet-stream', + 'lha' => 'application/octet-stream', + 'lzh' => 'application/octet-stream', + 'exe' => 'application/octet-stream', 'class' => 'application/octet-stream', - 'cpt' => 'application/mac-compactpro', - 'css' => 'text/css', + 'psd' => 'application/octet-stream', + 'so' => 'application/octet-stream', + 'sea' => 'application/octet-stream', + 'dll' => 'application/octet-stream', + 'oda' => 'application/oda', + 'pdf' => 'application/pdf', + 'ai' => 'application/postscript', + 'eps' => 'application/postscript', + 'ps' => 'application/postscript', + 'smi' => 'application/smil', + 'smil' => 'application/smil', + 'mif' => 'application/vnd.mif', + 'xls' => 'application/vnd.ms-excel', + 'ppt' => 'application/vnd.ms-powerpoint', + 'wbxml' => 'application/vnd.wap.wbxml', + 'wmlc' => 'application/vnd.wap.wmlc', 'dcr' => 'application/x-director', 'dir' => 'application/x-director', - 'dll' => 'application/octet-stream', - 'dms' => 'application/octet-stream', - 'doc' => 'application/msword', - 'dvi' => 'application/x-dvi', 'dxr' => 'application/x-director', - 'eml' => 'message/rfc822', - 'eps' => 'application/postscript', - 'exe' => 'application/octet-stream', - 'gif' => 'image/gif', + 'dvi' => 'application/x-dvi', 'gtar' => 'application/x-gtar', - 'htm' => 'text/html', - 'html' => 'text/html', - 'jpe' => 'image/jpeg', - 'jpeg' => 'image/jpeg', - 'jpg' => 'image/jpeg', - 'hqx' => 'application/mac-binhex40', + 'php' => 'application/x-httpd-php', + 'php4' => 'application/x-httpd-php', + 'php3' => 'application/x-httpd-php', + 'phtml' => 'application/x-httpd-php', + 'phps' => 'application/x-httpd-php-source', 'js' => 'application/x-javascript', - 'lha' => 'application/octet-stream', - 'log' => 'text/plain', - 'lzh' => 'application/octet-stream', + 'swf' => 'application/x-shockwave-flash', + 'sit' => 'application/x-stuffit', + 'tar' => 'application/x-tar', + 'tgz' => 'application/x-tar', + 'xhtml' => 'application/xhtml+xml', + 'xht' => 'application/xhtml+xml', + 'zip' => 'application/zip', 'mid' => 'audio/midi', 'midi' => 'audio/midi', - 'mif' => 'application/vnd.mif', - 'mov' => 'video/quicktime', - 'movie' => 'video/x-sgi-movie', + 'mpga' => 'audio/mpeg', 'mp2' => 'audio/mpeg', 'mp3' => 'audio/mpeg', - 'mpe' => 'video/mpeg', - 'mpeg' => 'video/mpeg', - 'mpg' => 'video/mpeg', - 'mpga' => 'audio/mpeg', - 'oda' => 'application/oda', - 'pdf' => 'application/pdf', - 'php' => 'application/x-httpd-php', - 'php3' => 'application/x-httpd-php', - 'php4' => 'application/x-httpd-php', - 'phps' => 'application/x-httpd-php-source', - 'phtml' => 'application/x-httpd-php', - 'png' => 'image/png', - 'ppt' => 'application/vnd.ms-powerpoint', - 'ps' => 'application/postscript', - 'psd' => 'application/octet-stream', - 'qt' => 'video/quicktime', - 'ra' => 'audio/x-realaudio', + 'aif' => 'audio/x-aiff', + 'aiff' => 'audio/x-aiff', + 'aifc' => 'audio/x-aiff', 'ram' => 'audio/x-pn-realaudio', 'rm' => 'audio/x-pn-realaudio', 'rpm' => 'audio/x-pn-realaudio-plugin', - 'rtf' => 'text/rtf', - 'rtx' => 'text/richtext', + 'ra' => 'audio/x-realaudio', 'rv' => 'video/vnd.rn-realvideo', - 'sea' => 'application/octet-stream', + 'wav' => 'audio/x-wav', + 'bmp' => 'image/bmp', + 'gif' => 'image/gif', + 'jpeg' => 'image/jpeg', + 'jpg' => 'image/jpeg', + 'jpe' => 'image/jpeg', + 'png' => 'image/png', + 'tiff' => 'image/tiff', + 'tif' => 'image/tiff', + 'css' => 'text/css', + 'html' => 'text/html', + 'htm' => 'text/html', 'shtml' => 'text/html', - 'sit' => 'application/x-stuffit', - 'so' => 'application/octet-stream', - 'smi' => 'application/smil', - 'smil' => 'application/smil', - 'swf' => 'application/x-shockwave-flash', - 'tar' => 'application/x-tar', - 'text' => 'text/plain', 'txt' => 'text/plain', - 'tgz' => 'application/x-tar', - 'tif' => 'image/tiff', - 'tiff' => 'image/tiff', - 'wav' => 'audio/x-wav', - 'wbxml' => 'application/vnd.wap.wbxml', - 'wmlc' => 'application/vnd.wap.wmlc', - 'word' => 'application/msword', - 'xht' => 'application/xhtml+xml', - 'xhtml' => 'application/xhtml+xml', - 'xl' => 'application/excel', - 'xls' => 'application/vnd.ms-excel', + 'text' => 'text/plain', + 'log' => 'text/plain', + 'rtx' => 'text/richtext', + 'rtf' => 'text/rtf', 'xml' => 'text/xml', 'xsl' => 'text/xml', - 'zip' => 'application/zip' + 'mpeg' => 'video/mpeg', + 'mpg' => 'video/mpeg', + 'mpe' => 'video/mpeg', + 'qt' => 'video/quicktime', + 'mov' => 'video/quicktime', + 'avi' => 'video/x-msvideo', + 'movie' => 'video/x-sgi-movie', + 'doc' => 'application/msword', + 'word' => 'application/msword', + 'xl' => 'application/excel', + 'eml' => 'message/rfc822' ); - return ( ! isset($mimes[strtolower($ext)])) ? 'application/octet-stream' : $mimes[strtolower($ext)]; - } - - /** - * Set (or reset) Class Objects (variables) - * - * Usage Example: - * $page->set('X-Priority', '3'); - * - * @access public - * @param string $name Parameter Name - * @param mixed $value Parameter Value - * NOTE: will not work with arrays, there are no arrays to set/reset - */ - function set ( $name, $value = '' ) { - if ( isset($this->$name) ) { - $this->$name = $value; - } else { - $this->SetError('Cannot set or reset variable ' . $name); - return false; - } + return (!isset($mimes[strtolower($ext)])) ? 'application/octet-stream' : $mimes[strtolower($ext)]; } /** - * Read a file from a supplied filename and return it. - * - * @access public - * @param string $filename Parameter File Name - */ - function getFile($filename) { - $return = ''; - if ($fp = fopen($filename, 'rb')) { - while (!feof($fp)) { - $return .= fread($fp, 1024); + * Set (or reset) Class Objects (variables) + * + * Usage Example: + * $page->set('X-Priority', '3'); + * + * @access public + * @param string $name Parameter Name + * @param mixed $value Parameter Value + * NOTE: will not work with arrays, there are no arrays to set/reset + * @todo Should this not be using __set() magic function? + */ + public function set($name, $value = '') { + try { + if (isset($this->$name) ) { + $this->$name = $value; + } else { + throw new phpmailerException($this->Lang('variable_set') . $name, self::STOP_CRITICAL); + } + } catch (Exception $e) { + $this->SetError($e->getMessage()); + if ($e->getCode() == self::STOP_CRITICAL) { + return false; } - fclose($fp); - return $return; - } else { - return false; } + return true; } /** * Strips newlines to prevent header injection. - * @access private + * @access public * @param string $str String * @return string */ - function SecureHeader($str) { - $str = trim($str); - $str = str_replace("\r", "", $str); - $str = str_replace("\n", "", $str); - return $str; + public function SecureHeader($str) { + $str = str_replace("\r", '', $str); + $str = str_replace("\n", '', $str); + return trim($str); } /** @@ -1910,12 +2178,143 @@ class PHPMailer { * @param string $key_filename Parameter File Name * @param string $key_pass Password for private key */ - function Sign($cert_filename, $key_filename, $key_pass) { + public function Sign($cert_filename, $key_filename, $key_pass) { $this->sign_cert_file = $cert_filename; $this->sign_key_file = $key_filename; $this->sign_key_pass = $key_pass; } + /** + * Set the private key file and password to sign the message. + * + * @access public + * @param string $key_filename Parameter File Name + * @param string $key_pass Password for private key + */ + public function DKIM_QP($txt) { + $tmp=""; + $line=""; + for ($i=0;$i<strlen($txt);$i++) { + $ord=ord($txt[$i]); + if ( ((0x21 <= $ord) && ($ord <= 0x3A)) || $ord == 0x3C || ((0x3E <= $ord) && ($ord <= 0x7E)) ) { + $line.=$txt[$i]; + } else { + $line.="=".sprintf("%02X",$ord); + } + } + return $line; + } + + /** + * Generate DKIM signature + * + * @access public + * @param string $s Header + */ + public function DKIM_Sign($s) { + $privKeyStr = file_get_contents($this->DKIM_private); + if ($this->DKIM_passphrase!='') { + $privKey = openssl_pkey_get_private($privKeyStr,$this->DKIM_passphrase); + } else { + $privKey = $privKeyStr; + } + if (openssl_sign($s, $signature, $privKey)) { + return base64_encode($signature); + } + } + + /** + * Generate DKIM Canonicalization Header + * + * @access public + * @param string $s Header + */ + public function DKIM_HeaderC($s) { + $s=preg_replace("/\r\n\s+/"," ",$s); + $lines=explode("\r\n",$s); + foreach ($lines as $key=>$line) { + list($heading,$value)=explode(":",$line,2); + $heading=strtolower($heading); + $value=preg_replace("/\s+/"," ",$value) ; // Compress useless spaces + $lines[$key]=$heading.":".trim($value) ; // Don't forget to remove WSP around the value + } + $s=implode("\r\n",$lines); + return $s; + } + + /** + * Generate DKIM Canonicalization Body + * + * @access public + * @param string $body Message Body + */ + public function DKIM_BodyC($body) { + if ($body == '') return "\r\n"; + // stabilize line endings + $body=str_replace("\r\n","\n",$body); + $body=str_replace("\n","\r\n",$body); + // END stabilize line endings + while (substr($body,strlen($body)-4,4) == "\r\n\r\n") { + $body=substr($body,0,strlen($body)-2); + } + return $body; + } + + /** + * Create the DKIM header, body, as new header + * + * @access public + * @param string $headers_line Header lines + * @param string $subject Subject + * @param string $body Body + */ + public function DKIM_Add($headers_line,$subject,$body) { + $DKIMsignatureType = 'rsa-sha1'; // Signature & hash algorithms + $DKIMcanonicalization = 'relaxed/simple'; // Canonicalization of header/body + $DKIMquery = 'dns/txt'; // Query method + $DKIMtime = time() ; // Signature Timestamp = seconds since 00:00:00 - Jan 1, 1970 (UTC time zone) + $subject_header = "Subject: $subject"; + $headers = explode("\r\n",$headers_line); + foreach($headers as $header) { + if (strpos($header,'From:') === 0) { + $from_header=$header; + } elseif (strpos($header,'To:') === 0) { + $to_header=$header; + } + } + $from = str_replace('|','=7C',$this->DKIM_QP($from_header)); + $to = str_replace('|','=7C',$this->DKIM_QP($to_header)); + $subject = str_replace('|','=7C',$this->DKIM_QP($subject_header)) ; // Copied header fields (dkim-quoted-printable + $body = $this->DKIM_BodyC($body); + $DKIMlen = strlen($body) ; // Length of body + $DKIMb64 = base64_encode(pack("H*", sha1($body))) ; // Base64 of packed binary SHA-1 hash of body + $ident = ($this->DKIM_identity == '')? '' : " i=" . $this->DKIM_identity . ";"; + $dkimhdrs = "DKIM-Signature: v=1; a=" . $DKIMsignatureType . "; q=" . $DKIMquery . "; l=" . $DKIMlen . "; s=" . $this->DKIM_selector . ";\r\n". + "\tt=" . $DKIMtime . "; c=" . $DKIMcanonicalization . ";\r\n". + "\th=From:To:Subject;\r\n". + "\td=" . $this->DKIM_domain . ";" . $ident . "\r\n". + "\tz=$from\r\n". + "\t|$to\r\n". + "\t|$subject;\r\n". + "\tbh=" . $DKIMb64 . ";\r\n". + "\tb="; + $toSign = $this->DKIM_HeaderC($from_header . "\r\n" . $to_header . "\r\n" . $subject_header . "\r\n" . $dkimhdrs); + $signed = $this->DKIM_Sign($toSign); + return "X-PHPMAILER-DKIM: phpmailer.worxware.com\r\n".$dkimhdrs.$signed."\r\n"; + } + + protected function doCallback($isSent,$to,$cc,$bcc,$subject,$body) { + if (!empty($this->action_function) && function_exists($this->action_function)) { + $params = array($isSent,$to,$cc,$bcc,$subject,$body); + call_user_func_array($this->action_function,$params); + } + } } -?> +class phpmailerException extends Exception { + public function errorMessage() { + $errorMsg = '<strong>' . $this->getMessage() . "</strong><br />\n"; + return $errorMsg; + } +} +?> \ No newline at end of file diff --git a/wp-includes/class-pop3.php b/wp-includes/class-pop3.php index e265ad726..d0455d7ef 100644 --- a/wp-includes/class-pop3.php +++ b/wp-includes/class-pop3.php @@ -2,20 +2,18 @@ /** * mail_fetch/setup.php * - * @package SquirrelMail - * - * @copyright (c) 1999-2006 The SquirrelMail Project Team - * - * @copyright (c) 1999 CDI (cdi@thewebmasters.net) All Rights Reserved - * Modified by Philippe Mingo 2001 mingo@rotedic.com + * Copyright (c) 1999-2011 CDI (cdi@thewebmasters.net) All Rights Reserved + * Modified by Philippe Mingo 2001-2009 mingo@rotedic.com * An RFC 1939 compliant wrapper class for the POP3 protocol. * * Licensed under the GNU GPL. For full terms see the file COPYING. - * @license http://opensource.org/licenses/gpl-license.php GNU General Public License * - * pop3 class + * POP3 class * - * $Id: class-pop3.php 17436 2011-02-09 17:36:23Z ryan $ + * @copyright 1999-2011 The SquirrelMail Project Team + * @license http://opensource.org/licenses/gpl-license.php GNU Public License + * @package plugins + * @subpackage mail_fetch */ class POP3 { @@ -76,7 +74,7 @@ class POP3 { // If MAILSERVER is set, override $server with it's value - if (!isset($port) || !$port) {$port = 110;} + if (!isset($port) || !$port) {$port = 110;} if(!empty($this->MAILSERVER)) $server = $this->MAILSERVER; @@ -253,7 +251,7 @@ class POP3 { $MsgArray = array(); $line = fgets($fp,$buffer); - while ( !ereg("^\.\r\n",$line)) + while ( !preg_match('/^\.\r\n/',$line)) { $MsgArray[$count] = $line; $count++; @@ -320,7 +318,7 @@ class POP3 { if($msgC > $Total) { break; } $line = fgets($fp,$this->BUFFER); $line = $this->strip_clf($line); - if(ereg("^\.",$line)) + if(strpos($line, '.') === 0) { $this->ERROR = "POP3 pop_list: " . _("Premature end of list"); return false; @@ -366,9 +364,9 @@ class POP3 { $MsgArray = array(); $line = fgets($fp,$buffer); - while ( !ereg("^\.\r\n",$line)) + while ( !preg_match('/^\.\r\n/',$line)) { - if ( $line[0] == '.' ) { $line = substr($line,1); } + if ( $line{0} == '.' ) { $line = substr($line,1); } $MsgArray[$count] = $line; $count++; $line = fgets($fp,$buffer); @@ -554,10 +552,7 @@ class POP3 { $line = ""; $count = 1; $line = fgets($fp,$buffer); - while ( !ereg("^\.\r\n",$line)) { - if(ereg("^\.\r\n",$line)) { - break; - } + while ( !preg_match('/^\.\r\n/',$line)) { list ($msg,$msgUidl) = preg_split('/\s+/',$line); $msgUidl = $this->strip_clf($msgUidl); if($count == $msg) { @@ -607,7 +602,7 @@ class POP3 { if( empty($cmd) ) return false; else - return( ereg ("^\+OK", $cmd ) ); + return( stripos($cmd, '+OK') !== false ); } function strip_clf ($text = "") { @@ -616,8 +611,7 @@ class POP3 { if(empty($text)) return $text; else { - $stripped = str_replace("\r",'',$text); - $stripped = str_replace("\n",'',$stripped); + $stripped = str_replace(array("\r","\n"),'',$text); return $stripped; } } @@ -649,4 +643,10 @@ class POP3 { } } // End class -?> + +// For php4 compatibility +if (!function_exists("stripos")) { + function stripos($haystack, $needle){ + return strpos($haystack, stristr( $haystack, $needle )); + } +} diff --git a/wp-includes/class-smtp.php b/wp-includes/class-smtp.php index 065e2e931..c664d971e 100644 --- a/wp-includes/class-smtp.php +++ b/wp-includes/class-smtp.php @@ -2,14 +2,16 @@ /*~ class.smtp.php .---------------------------------------------------------------------------. | Software: PHPMailer - PHP email class | -| Version: 2.0.4 | +| Version: 5.1 | | Contact: via sourceforge.net support pages (also www.codeworxtech.com) | | Info: http://phpmailer.sourceforge.net | | Support: http://sourceforge.net/projects/phpmailer/ | | ------------------------------------------------------------------------- | -| Author: Andy Prevost (project admininistrator) | -| Author: Brent R. Matzelle (original founder) | -| Copyright (c) 2004-2007, Andy Prevost. All Rights Reserved. | +| Admin: Andy Prevost (project admininistrator) | +| Authors: Andy Prevost (codeworxtech) codeworxtech@users.sourceforge.net | +| : Marcus Bointon (coolbru) coolbru@users.sourceforge.net | +| Founder: Brent R. Matzelle (original founder) | +| Copyright (c) 2004-2009, Andy Prevost. All Rights Reserved. | | Copyright (c) 2001-2003, Brent R. Matzelle | | ------------------------------------------------------------------------- | | License: Distributed under the Lesser General Public License (LGPL) | @@ -23,56 +25,66 @@ | - Technology Consulting | | - Oursourcing (highly qualified programmers and graphic designers) | '---------------------------------------------------------------------------' +*/ + +/** + * PHPMailer - PHP SMTP email transport class + * NOTE: Designed for use with PHP version 5 and up + * @package PHPMailer + * @author Andy Prevost + * @author Marcus Bointon + * @copyright 2004 - 2008 Andy Prevost + * @license http://www.gnu.org/copyleft/lesser.html Distributed under the Lesser General Public License (LGPL) + * @version $Id: class.smtp.php 444 2009-05-05 11:22:26Z coolbru $ */ + /** * SMTP is rfc 821 compliant and implements all the rfc 821 SMTP * commands except TURN which will always return a not implemented * error. SMTP also provides some utility methods for sending mail * to an SMTP server. - * @package PHPMailer - * @author Chris Ryan + * original author: Chris Ryan */ -class SMTP -{ +class SMTP { /** * SMTP server port * @var int */ - var $SMTP_PORT = 25; + public $SMTP_PORT = 25; /** * SMTP reply line ending * @var string */ - var $CRLF = "\r\n"; + public $CRLF = "\r\n"; /** * Sets whether debugging is turned on * @var bool */ - var $do_debug; # the level of debug to perform + public $do_debug; // the level of debug to perform /** * Sets VERP use on/off (default is off) * @var bool */ - var $do_verp = false; + public $do_verp = false; - /**#@+ - * @access private - */ - var $smtp_conn; # the socket to the server - var $error; # error if any on the last call - var $helo_rply; # the reply the server sent to us for HELO - /**#@-*/ + ///////////////////////////////////////////////// + // PROPERTIES, PRIVATE AND PROTECTED + ///////////////////////////////////////////////// + + private $smtp_conn; // the socket to the server + private $error; // error if any on the last call + private $helo_rply; // the reply the server sent to us for HELO /** * Initialize the class so that the data is in a known state. * @access public * @return void */ - function SMTP() { + public function __construct() { $this->smtp_conn = 0; $this->error = null; $this->helo_rply = null; @@ -80,9 +92,9 @@ class SMTP $this->do_debug = 0; } - /************************************************************* - * CONNECTION FUNCTIONS * - ***********************************************************/ + ///////////////////////////////////////////////// + // CONNECTION FUNCTIONS + ///////////////////////////////////////////////// /** * Connect to the server specified on the port specified. @@ -97,15 +109,13 @@ class SMTP * @access public * @return bool */ - function Connect($host,$port=0,$tval=30) { - # set the error val to null so there is no confusion + public function Connect($host, $port = 0, $tval = 30) { + // set the error val to null so there is no confusion $this->error = null; - # make sure we are __not__ connected + // make sure we are __not__ connected if($this->connected()) { - # ok we are connected! what should we do? - # for now we will just give an error saying we - # are already connected + // already connected, generate error $this->error = array("error" => "Already connected to a server"); return false; } @@ -114,39 +124,78 @@ class SMTP $port = $this->SMTP_PORT; } - #connect to the smtp server - $this->smtp_conn = fsockopen($host, # the host of the server - $port, # the port to use - $errno, # error number if any - $errstr, # error message if any - $tval); # give up after ? secs - # verify we connected properly + // connect to the smtp server + $this->smtp_conn = @fsockopen($host, // the host of the server + $port, // the port to use + $errno, // error number if any + $errstr, // error message if any + $tval); // give up after ? secs + // verify we connected properly if(empty($this->smtp_conn)) { $this->error = array("error" => "Failed to connect to server", "errno" => $errno, "errstr" => $errstr); if($this->do_debug >= 1) { - echo "SMTP -> ERROR: " . $this->error["error"] . - ": $errstr ($errno)" . $this->CRLF; + echo "SMTP -> ERROR: " . $this->error["error"] . ": $errstr ($errno)" . $this->CRLF . '<br />'; } return false; } - # sometimes the SMTP server takes a little longer to respond - # so we will give it a longer timeout for the first read - // Windows still does not have support for this timeout function + // SMTP server can take longer to respond, give longer timeout for first read + // Windows does not have support for this timeout function if(substr(PHP_OS, 0, 3) != "WIN") socket_set_timeout($this->smtp_conn, $tval, 0); - # get any announcement stuff + // get any announcement $announce = $this->get_lines(); - # set the timeout of any socket functions at 1/10 of a second - //if(function_exists("socket_set_timeout")) - // socket_set_timeout($this->smtp_conn, 0, 100000); + if($this->do_debug >= 2) { + echo "SMTP -> FROM SERVER:" . $announce . $this->CRLF . '<br />'; + } + + return true; + } + + /** + * Initiate a TLS communication with the server. + * + * SMTP CODE 220 Ready to start TLS + * SMTP CODE 501 Syntax error (no parameters allowed) + * SMTP CODE 454 TLS not available due to temporary reason + * @access public + * @return bool success + */ + public function StartTLS() { + $this->error = null; # to avoid confusion + + if(!$this->connected()) { + $this->error = array("error" => "Called StartTLS() without being connected"); + return false; + } + + fputs($this->smtp_conn,"STARTTLS" . $this->CRLF); + + $rply = $this->get_lines(); + $code = substr($rply,0,3); if($this->do_debug >= 2) { - echo "SMTP -> FROM SERVER:" . $this->CRLF . $announce; + echo "SMTP -> FROM SERVER:" . $rply . $this->CRLF . '<br />'; + } + + if($code != 220) { + $this->error = + array("error" => "STARTTLS not accepted from server", + "smtp_code" => $code, + "smtp_msg" => substr($rply,4)); + if($this->do_debug >= 1) { + echo "SMTP -> ERROR: " . $this->error["error"] . ": " . $rply . $this->CRLF . '<br />'; + } + return false; + } + + // Begin encrypted connection + if(!stream_socket_enable_crypto($this->smtp_conn, true, STREAM_CRYPTO_METHOD_TLS_CLIENT)) { + return false; } return true; @@ -158,7 +207,7 @@ class SMTP * @access public * @return bool */ - function Authenticate($username, $password) { + public function Authenticate($username, $password) { // Start authentication fputs($this->smtp_conn,"AUTH LOGIN" . $this->CRLF); @@ -171,8 +220,7 @@ class SMTP "smtp_code" => $code, "smtp_msg" => substr($rply,4)); if($this->do_debug >= 1) { - echo "SMTP -> ERROR: " . $this->error["error"] . - ": " . $rply . $this->CRLF; + echo "SMTP -> ERROR: " . $this->error["error"] . ": " . $rply . $this->CRLF . '<br />'; } return false; } @@ -189,8 +237,7 @@ class SMTP "smtp_code" => $code, "smtp_msg" => substr($rply,4)); if($this->do_debug >= 1) { - echo "SMTP -> ERROR: " . $this->error["error"] . - ": " . $rply . $this->CRLF; + echo "SMTP -> ERROR: " . $this->error["error"] . ": " . $rply . $this->CRLF . '<br />'; } return false; } @@ -207,8 +254,7 @@ class SMTP "smtp_code" => $code, "smtp_msg" => substr($rply,4)); if($this->do_debug >= 1) { - echo "SMTP -> ERROR: " . $this->error["error"] . - ": " . $rply . $this->CRLF; + echo "SMTP -> ERROR: " . $this->error["error"] . ": " . $rply . $this->CRLF . '<br />'; } return false; } @@ -218,23 +264,21 @@ class SMTP /** * Returns true if connected to a server otherwise false - * @access private + * @access public * @return bool */ - function Connected() { + public function Connected() { if(!empty($this->smtp_conn)) { $sock_status = socket_get_status($this->smtp_conn); if($sock_status["eof"]) { - # hmm this is an odd situation... the socket is - # valid but we are not connected anymore + // the socket is valid but we are not connected if($this->do_debug >= 1) { - echo "SMTP -> NOTICE:" . $this->CRLF . - "EOF caught while checking if connected"; + echo "SMTP -> NOTICE:" . $this->CRLF . "EOF caught while checking if connected"; } $this->Close(); return false; } - return true; # everything looks good + return true; // everything looks good } return false; } @@ -246,26 +290,26 @@ class SMTP * @access public * @return void */ - function Close() { - $this->error = null; # so there is no confusion + public function Close() { + $this->error = null; // so there is no confusion $this->helo_rply = null; if(!empty($this->smtp_conn)) { - # close the connection and cleanup + // close the connection and cleanup fclose($this->smtp_conn); $this->smtp_conn = 0; } } - /*************************************************************** - * SMTP COMMANDS * - *************************************************************/ + ///////////////////////////////////////////////// + // SMTP COMMANDS + ///////////////////////////////////////////////// /** * Issues a data command and sends the msg_data to the server * finializing the mail transaction. $msg_data is the message * that is to be send with the headers. Each header needs to be * on a single line followed by a <CRLF> with the message headers - * and the message body being separated by and additional <CRLF>. + * and the message body being seperated by and additional <CRLF>. * * Implements rfc 821: DATA <CRLF> * @@ -279,8 +323,8 @@ class SMTP * @access public * @return bool */ - function Data($msg_data) { - $this->error = null; # so no confusion is caused + public function Data($msg_data) { + $this->error = null; // so no confusion is caused if(!$this->connected()) { $this->error = array( @@ -294,7 +338,7 @@ class SMTP $code = substr($rply,0,3); if($this->do_debug >= 2) { - echo "SMTP -> FROM SERVER:" . $this->CRLF . $rply; + echo "SMTP -> FROM SERVER:" . $rply . $this->CRLF . '<br />'; } if($code != 354) { @@ -303,69 +347,73 @@ class SMTP "smtp_code" => $code, "smtp_msg" => substr($rply,4)); if($this->do_debug >= 1) { - echo "SMTP -> ERROR: " . $this->error["error"] . - ": " . $rply . $this->CRLF; + echo "SMTP -> ERROR: " . $this->error["error"] . ": " . $rply . $this->CRLF . '<br />'; } return false; } - # the server is ready to accept data! - # according to rfc 821 we should not send more than 1000 - # including the CRLF - # characters on a single line so we will break the data up - # into lines by \r and/or \n then if needed we will break - # each of those into smaller lines to fit within the limit. - # in addition we will be looking for lines that start with - # a period '.' and append and additional period '.' to that - # line. NOTE: this does not count towards are limit. - - # normalize the line breaks so we know the explode works + /* the server is ready to accept data! + * according to rfc 821 we should not send more than 1000 + * including the CRLF + * characters on a single line so we will break the data up + * into lines by \r and/or \n then if needed we will break + * each of those into smaller lines to fit within the limit. + * in addition we will be looking for lines that start with + * a period '.' and append and additional period '.' to that + * line. NOTE: this does not count towards limit. + */ + + // normalize the line breaks so we know the explode works $msg_data = str_replace("\r\n","\n",$msg_data); $msg_data = str_replace("\r","\n",$msg_data); $lines = explode("\n",$msg_data); - # we need to find a good way to determine is headers are - # in the msg_data or if it is a straight msg body - # currently I am assuming rfc 822 definitions of msg headers - # and if the first field of the first line (':' sperated) - # does not contain a space then it _should_ be a header - # and we can process all lines before a blank "" line as - # headers. + /* we need to find a good way to determine is headers are + * in the msg_data or if it is a straight msg body + * currently I am assuming rfc 822 definitions of msg headers + * and if the first field of the first line (':' sperated) + * does not contain a space then it _should_ be a header + * and we can process all lines before a blank "" line as + * headers. + */ + $field = substr($lines[0],0,strpos($lines[0],":")); $in_headers = false; if(!empty($field) && !strstr($field," ")) { $in_headers = true; } - $max_line_length = 998; # used below; set here for ease in change + $max_line_length = 998; // used below; set here for ease in change while(list(,$line) = @each($lines)) { $lines_out = null; if($line == "" && $in_headers) { $in_headers = false; } - # ok we need to break this line up into several - # smaller lines + // ok we need to break this line up into several smaller lines while(strlen($line) > $max_line_length) { $pos = strrpos(substr($line,0,$max_line_length)," "); - # Patch to fix DOS attack + // Patch to fix DOS attack if(!$pos) { $pos = $max_line_length - 1; + $lines_out[] = substr($line,0,$pos); + $line = substr($line,$pos); + } else { + $lines_out[] = substr($line,0,$pos); + $line = substr($line,$pos + 1); } - $lines_out[] = substr($line,0,$pos); - $line = substr($line,$pos + 1); - # if we are processing headers we need to - # add a LWSP-char to the front of the new line - # rfc 822 on long msg headers + /* if processing headers add a LWSP-char to the front of new line + * rfc 822 on long msg headers + */ if($in_headers) { $line = "\t" . $line; } } $lines_out[] = $line; - # now send the lines to the server + // send the lines to the server while(list(,$line_out) = @each($lines_out)) { if(strlen($line_out) > 0) { @@ -377,15 +425,14 @@ class SMTP } } - # ok all the message data has been sent so lets get this - # over with aleady + // message data has been sent fputs($this->smtp_conn, $this->CRLF . "." . $this->CRLF); $rply = $this->get_lines(); $code = substr($rply,0,3); if($this->do_debug >= 2) { - echo "SMTP -> FROM SERVER:" . $this->CRLF . $rply; + echo "SMTP -> FROM SERVER:" . $rply . $this->CRLF . '<br />'; } if($code != 250) { @@ -394,69 +441,13 @@ class SMTP "smtp_code" => $code, "smtp_msg" => substr($rply,4)); if($this->do_debug >= 1) { - echo "SMTP -> ERROR: " . $this->error["error"] . - ": " . $rply . $this->CRLF; + echo "SMTP -> ERROR: " . $this->error["error"] . ": " . $rply . $this->CRLF . '<br />'; } return false; } return true; } - /** - * Expand takes the name and asks the server to list all the - * people who are members of the _list_. Expand will return - * back and array of the result or false if an error occurs. - * Each value in the array returned has the format of: - * [ <full-name> <sp> ] <path> - * The definition of <path> is defined in rfc 821 - * - * Implements rfc 821: EXPN <SP> <string> <CRLF> - * - * SMTP CODE SUCCESS: 250 - * SMTP CODE FAILURE: 550 - * SMTP CODE ERROR : 500,501,502,504,421 - * @access public - * @return string array - */ - function Expand($name) { - $this->error = null; # so no confusion is caused - - if(!$this->connected()) { - $this->error = array( - "error" => "Called Expand() without being connected"); - return false; - } - - fputs($this->smtp_conn,"EXPN " . $name . $this->CRLF); - - $rply = $this->get_lines(); - $code = substr($rply,0,3); - - if($this->do_debug >= 2) { - echo "SMTP -> FROM SERVER:" . $this->CRLF . $rply; - } - - if($code != 250) { - $this->error = - array("error" => "EXPN not accepted from server", - "smtp_code" => $code, - "smtp_msg" => substr($rply,4)); - if($this->do_debug >= 1) { - echo "SMTP -> ERROR: " . $this->error["error"] . - ": " . $rply . $this->CRLF; - } - return false; - } - - # parse the reply and place in our array to return to user - $entries = explode($this->CRLF,$rply); - while(list(,$l) = @each($entries)) { - $list[] = substr($l,4); - } - - return $list; - } - /** * Sends the HELO command to the smtp server. * This makes sure that we and the server are in @@ -469,8 +460,8 @@ class SMTP * @access public * @return bool */ - function Hello($host="") { - $this->error = null; # so no confusion is caused + public function Hello($host = '') { + $this->error = null; // so no confusion is caused if(!$this->connected()) { $this->error = array( @@ -478,19 +469,17 @@ class SMTP return false; } - # if a hostname for the HELO was not specified determine - # a suitable one to send + // if hostname for HELO was not specified send default if(empty($host)) { - # we need to determine some sort of appopiate default - # to send to the server + // determine appropriate default to send to server $host = "localhost"; } // Send extended hello first (RFC 2821) - if(!$this->SendHello("EHLO", $host)) - { - if(!$this->SendHello("HELO", $host)) - return false; + if(!$this->SendHello("EHLO", $host)) { + if(!$this->SendHello("HELO", $host)) { + return false; + } } return true; @@ -501,14 +490,14 @@ class SMTP * @access private * @return bool */ - function SendHello($hello, $host) { + private function SendHello($hello, $host) { fputs($this->smtp_conn, $hello . " " . $host . $this->CRLF); $rply = $this->get_lines(); $code = substr($rply,0,3); if($this->do_debug >= 2) { - echo "SMTP -> FROM SERVER: " . $this->CRLF . $rply; + echo "SMTP -> FROM SERVER: " . $rply . $this->CRLF . '<br />'; } if($code != 250) { @@ -517,8 +506,7 @@ class SMTP "smtp_code" => $code, "smtp_msg" => substr($rply,4)); if($this->do_debug >= 1) { - echo "SMTP -> ERROR: " . $this->error["error"] . - ": " . $rply . $this->CRLF; + echo "SMTP -> ERROR: " . $this->error["error"] . ": " . $rply . $this->CRLF . '<br />'; } return false; } @@ -528,59 +516,6 @@ class SMTP return true; } - /** - * Gets help information on the keyword specified. If the keyword - * is not specified then returns generic help, ussually contianing - * A list of keywords that help is available on. This function - * returns the results back to the user. It is up to the user to - * handle the returned data. If an error occurs then false is - * returned with $this->error set appropiately. - * - * Implements rfc 821: HELP [ <SP> <string> ] <CRLF> - * - * SMTP CODE SUCCESS: 211,214 - * SMTP CODE ERROR : 500,501,502,504,421 - * @access public - * @return string - */ - function Help($keyword="") { - $this->error = null; # to avoid confusion - - if(!$this->connected()) { - $this->error = array( - "error" => "Called Help() without being connected"); - return false; - } - - $extra = ""; - if(!empty($keyword)) { - $extra = " " . $keyword; - } - - fputs($this->smtp_conn,"HELP" . $extra . $this->CRLF); - - $rply = $this->get_lines(); - $code = substr($rply,0,3); - - if($this->do_debug >= 2) { - echo "SMTP -> FROM SERVER:" . $this->CRLF . $rply; - } - - if($code != 211 && $code != 214) { - $this->error = - array("error" => "HELP not accepted from server", - "smtp_code" => $code, - "smtp_msg" => substr($rply,4)); - if($this->do_debug >= 1) { - echo "SMTP -> ERROR: " . $this->error["error"] . - ": " . $rply . $this->CRLF; - } - return false; - } - - return $rply; - } - /** * Starts a mail transaction from the email address specified in * $from. Returns true if successful or false otherwise. If True @@ -595,8 +530,8 @@ class SMTP * @access public * @return bool */ - function Mail($from) { - $this->error = null; # so no confusion is caused + public function Mail($from) { + $this->error = null; // so no confusion is caused if(!$this->connected()) { $this->error = array( @@ -611,7 +546,7 @@ class SMTP $code = substr($rply,0,3); if($this->do_debug >= 2) { - echo "SMTP -> FROM SERVER:" . $this->CRLF . $rply; + echo "SMTP -> FROM SERVER:" . $rply . $this->CRLF . '<br />'; } if($code != 250) { @@ -620,50 +555,7 @@ class SMTP "smtp_code" => $code, "smtp_msg" => substr($rply,4)); if($this->do_debug >= 1) { - echo "SMTP -> ERROR: " . $this->error["error"] . - ": " . $rply . $this->CRLF; - } - return false; - } - return true; - } - - /** - * Sends the command NOOP to the SMTP server. - * - * Implements from rfc 821: NOOP <CRLF> - * - * SMTP CODE SUCCESS: 250 - * SMTP CODE ERROR : 500, 421 - * @access public - * @return bool - */ - function Noop() { - $this->error = null; # so no confusion is caused - - if(!$this->connected()) { - $this->error = array( - "error" => "Called Noop() without being connected"); - return false; - } - - fputs($this->smtp_conn,"NOOP" . $this->CRLF); - - $rply = $this->get_lines(); - $code = substr($rply,0,3); - - if($this->do_debug >= 2) { - echo "SMTP -> FROM SERVER:" . $this->CRLF . $rply; - } - - if($code != 250) { - $this->error = - array("error" => "NOOP not accepted from server", - "smtp_code" => $code, - "smtp_msg" => substr($rply,4)); - if($this->do_debug >= 1) { - echo "SMTP -> ERROR: " . $this->error["error"] . - ": " . $rply . $this->CRLF; + echo "SMTP -> ERROR: " . $this->error["error"] . ": " . $rply . $this->CRLF . '<br />'; } return false; } @@ -681,8 +573,8 @@ class SMTP * @access public * @return bool */ - function Quit($close_on_error=true) { - $this->error = null; # so there is no confusion + public function Quit($close_on_error = true) { + $this->error = null; // so there is no confusion if(!$this->connected()) { $this->error = array( @@ -690,14 +582,14 @@ class SMTP return false; } - # send the quit command to the server + // send the quit command to the server fputs($this->smtp_conn,"quit" . $this->CRLF); - # get any good-bye messages + // get any good-bye messages $byemsg = $this->get_lines(); if($this->do_debug >= 2) { - echo "SMTP -> FROM SERVER:" . $this->CRLF . $byemsg; + echo "SMTP -> FROM SERVER:" . $byemsg . $this->CRLF . '<br />'; } $rval = true; @@ -705,14 +597,13 @@ class SMTP $code = substr($byemsg,0,3); if($code != 221) { - # use e as a tmp var cause Close will overwrite $this->error + // use e as a tmp var cause Close will overwrite $this->error $e = array("error" => "SMTP server rejected quit command", "smtp_code" => $code, "smtp_rply" => substr($byemsg,4)); $rval = false; if($this->do_debug >= 1) { - echo "SMTP -> ERROR: " . $e["error"] . ": " . - $byemsg . $this->CRLF; + echo "SMTP -> ERROR: " . $e["error"] . ": " . $byemsg . $this->CRLF . '<br />'; } } @@ -735,8 +626,8 @@ class SMTP * @access public * @return bool */ - function Recipient($to) { - $this->error = null; # so no confusion is caused + public function Recipient($to) { + $this->error = null; // so no confusion is caused if(!$this->connected()) { $this->error = array( @@ -750,7 +641,7 @@ class SMTP $code = substr($rply,0,3); if($this->do_debug >= 2) { - echo "SMTP -> FROM SERVER:" . $this->CRLF . $rply; + echo "SMTP -> FROM SERVER:" . $rply . $this->CRLF . '<br />'; } if($code != 250 && $code != 251) { @@ -759,8 +650,7 @@ class SMTP "smtp_code" => $code, "smtp_msg" => substr($rply,4)); if($this->do_debug >= 1) { - echo "SMTP -> ERROR: " . $this->error["error"] . - ": " . $rply . $this->CRLF; + echo "SMTP -> ERROR: " . $this->error["error"] . ": " . $rply . $this->CRLF . '<br />'; } return false; } @@ -779,8 +669,8 @@ class SMTP * @access public * @return bool */ - function Reset() { - $this->error = null; # so no confusion is caused + public function Reset() { + $this->error = null; // so no confusion is caused if(!$this->connected()) { $this->error = array( @@ -794,7 +684,7 @@ class SMTP $code = substr($rply,0,3); if($this->do_debug >= 2) { - echo "SMTP -> FROM SERVER:" . $this->CRLF . $rply; + echo "SMTP -> FROM SERVER:" . $rply . $this->CRLF . '<br />'; } if($code != 250) { @@ -803,8 +693,7 @@ class SMTP "smtp_code" => $code, "smtp_msg" => substr($rply,4)); if($this->do_debug >= 1) { - echo "SMTP -> ERROR: " . $this->error["error"] . - ": " . $rply . $this->CRLF; + echo "SMTP -> ERROR: " . $this->error["error"] . ": " . $rply . $this->CRLF . '<br />'; } return false; } @@ -812,54 +701,6 @@ class SMTP return true; } - /** - * Starts a mail transaction from the email address specified in - * $from. Returns true if successful or false otherwise. If True - * the mail transaction is started and then one or more Recipient - * commands may be called followed by a Data command. This command - * will send the message to the users terminal if they are logged - * in. - * - * Implements rfc 821: SEND <SP> FROM:<reverse-path> <CRLF> - * - * SMTP CODE SUCCESS: 250 - * SMTP CODE SUCCESS: 552,451,452 - * SMTP CODE SUCCESS: 500,501,502,421 - * @access public - * @return bool - */ - function Send($from) { - $this->error = null; # so no confusion is caused - - if(!$this->connected()) { - $this->error = array( - "error" => "Called Send() without being connected"); - return false; - } - - fputs($this->smtp_conn,"SEND FROM:" . $from . $this->CRLF); - - $rply = $this->get_lines(); - $code = substr($rply,0,3); - - if($this->do_debug >= 2) { - echo "SMTP -> FROM SERVER:" . $this->CRLF . $rply; - } - - if($code != 250) { - $this->error = - array("error" => "SEND not accepted from server", - "smtp_code" => $code, - "smtp_msg" => substr($rply,4)); - if($this->do_debug >= 1) { - echo "SMTP -> ERROR: " . $this->error["error"] . - ": " . $rply . $this->CRLF; - } - return false; - } - return true; - } - /** * Starts a mail transaction from the email address specified in * $from. Returns true if successful or false otherwise. If True @@ -876,8 +717,8 @@ class SMTP * @access public * @return bool */ - function SendAndMail($from) { - $this->error = null; # so no confusion is caused + public function SendAndMail($from) { + $this->error = null; // so no confusion is caused if(!$this->connected()) { $this->error = array( @@ -891,7 +732,7 @@ class SMTP $code = substr($rply,0,3); if($this->do_debug >= 2) { - echo "SMTP -> FROM SERVER:" . $this->CRLF . $rply; + echo "SMTP -> FROM SERVER:" . $rply . $this->CRLF . '<br />'; } if($code != 250) { @@ -900,56 +741,7 @@ class SMTP "smtp_code" => $code, "smtp_msg" => substr($rply,4)); if($this->do_debug >= 1) { - echo "SMTP -> ERROR: " . $this->error["error"] . - ": " . $rply . $this->CRLF; - } - return false; - } - return true; - } - - /** - * Starts a mail transaction from the email address specified in - * $from. Returns true if successful or false otherwise. If True - * the mail transaction is started and then one or more Recipient - * commands may be called followed by a Data command. This command - * will send the message to the users terminal if they are logged - * in or mail it to them if they are not. - * - * Implements rfc 821: SOML <SP> FROM:<reverse-path> <CRLF> - * - * SMTP CODE SUCCESS: 250 - * SMTP CODE SUCCESS: 552,451,452 - * SMTP CODE SUCCESS: 500,501,502,421 - * @access public - * @return bool - */ - function SendOrMail($from) { - $this->error = null; # so no confusion is caused - - if(!$this->connected()) { - $this->error = array( - "error" => "Called SendOrMail() without being connected"); - return false; - } - - fputs($this->smtp_conn,"SOML FROM:" . $from . $this->CRLF); - - $rply = $this->get_lines(); - $code = substr($rply,0,3); - - if($this->do_debug >= 2) { - echo "SMTP -> FROM SERVER:" . $this->CRLF . $rply; - } - - if($code != 250) { - $this->error = - array("error" => "SOML not accepted from server", - "smtp_code" => $code, - "smtp_msg" => substr($rply,4)); - if($this->do_debug >= 1) { - echo "SMTP -> ERROR: " . $this->error["error"] . - ": " . $rply . $this->CRLF; + echo "SMTP -> ERROR: " . $this->error["error"] . ": " . $rply . $this->CRLF . '<br />'; } return false; } @@ -969,63 +761,27 @@ class SMTP * @access public * @return bool */ - function Turn() { + public function Turn() { $this->error = array("error" => "This method, TURN, of the SMTP ". "is not implemented"); if($this->do_debug >= 1) { - echo "SMTP -> NOTICE: " . $this->error["error"] . $this->CRLF; + echo "SMTP -> NOTICE: " . $this->error["error"] . $this->CRLF . '<br />'; } return false; } /** - * Verifies that the name is recognized by the server. - * Returns false if the name could not be verified otherwise - * the response from the server is returned. - * - * Implements rfc 821: VRFY <SP> <string> <CRLF> - * - * SMTP CODE SUCCESS: 250,251 - * SMTP CODE FAILURE: 550,551,553 - * SMTP CODE ERROR : 500,501,502,421 - * @access public - * @return int - */ - function Verify($name) { - $this->error = null; # so no confusion is caused - - if(!$this->connected()) { - $this->error = array( - "error" => "Called Verify() without being connected"); - return false; - } - - fputs($this->smtp_conn,"VRFY " . $name . $this->CRLF); - - $rply = $this->get_lines(); - $code = substr($rply,0,3); - - if($this->do_debug >= 2) { - echo "SMTP -> FROM SERVER:" . $this->CRLF . $rply; - } - - if($code != 250 && $code != 251) { - $this->error = - array("error" => "VRFY failed on name '$name'", - "smtp_code" => $code, - "smtp_msg" => substr($rply,4)); - if($this->do_debug >= 1) { - echo "SMTP -> ERROR: " . $this->error["error"] . - ": " . $rply . $this->CRLF; - } - return false; - } - return $rply; + * Get the current error + * @access public + * @return array + */ + public function getError() { + return $this->error; } - /******************************************************************* - * INTERNAL FUNCTIONS * - ******************************************************************/ + ///////////////////////////////////////////////// + // INTERNAL FUNCTIONS + ///////////////////////////////////////////////// /** * Read in as many lines as possible @@ -1036,21 +792,18 @@ class SMTP * @access private * @return string */ - function get_lines() { + private function get_lines() { $data = ""; while($str = @fgets($this->smtp_conn,515)) { if($this->do_debug >= 4) { - echo "SMTP -> get_lines(): \$data was \"$data\"" . - $this->CRLF; - echo "SMTP -> get_lines(): \$str is \"$str\"" . - $this->CRLF; + echo "SMTP -> get_lines(): \$data was \"$data\"" . $this->CRLF . '<br />'; + echo "SMTP -> get_lines(): \$str is \"$str\"" . $this->CRLF . '<br />'; } $data .= $str; if($this->do_debug >= 4) { - echo "SMTP -> get_lines(): \$data is \"$data\"" . $this->CRLF; + echo "SMTP -> get_lines(): \$data is \"$data\"" . $this->CRLF . '<br />'; } - # if the 4th character is a space then we are done reading - # so just break the loop + // if 4th character is a space, we are done reading, break the loop if(substr($str,3,1) == " ") { break; } } return $data; @@ -1058,5 +811,4 @@ class SMTP } - - ?> +?> \ No newline at end of file diff --git a/wp-includes/class-wp-admin-bar.php b/wp-includes/class-wp-admin-bar.php index 549d5ecf2..7db0fa22b 100644 --- a/wp-includes/class-wp-admin-bar.php +++ b/wp-includes/class-wp-admin-bar.php @@ -181,6 +181,7 @@ class WP_Admin_Bar { function add_menus() { add_action( 'admin_bar_menu', 'wp_admin_bar_my_account_menu', 10 ); add_action( 'admin_bar_menu', 'wp_admin_bar_my_sites_menu', 20 ); + add_action( 'admin_bar_menu', 'wp_admin_bar_dashboard_view_site_menu', 25 ); add_action( 'admin_bar_menu', 'wp_admin_bar_edit_menu', 30 ); add_action( 'admin_bar_menu', 'wp_admin_bar_shortlink_menu', 80 ); add_action( 'admin_bar_menu', 'wp_admin_bar_updates_menu', 70 ); diff --git a/wp-includes/class-wp-ajax-response.php b/wp-includes/class-wp-ajax-response.php index cf64bfbc3..9c225c116 100644 --- a/wp-includes/class-wp-ajax-response.php +++ b/wp-includes/class-wp-ajax-response.php @@ -16,7 +16,7 @@ class WP_Ajax_Response { var $responses = array(); /** - * PHP4 Constructor - Passes args to {@link WP_Ajax_Response::add()}. + * Constructor - Passes args to {@link WP_Ajax_Response::add()}. * * @since 2.1.0 * @see WP_Ajax_Response::add() @@ -24,7 +24,7 @@ class WP_Ajax_Response { * @param string|array $args Optional. Will be passed to add() method. * @return WP_Ajax_Response */ - function WP_Ajax_Response( $args = '' ) { + function __construct( $args = '' ) { if ( !empty($args) ) $this->add($args); } diff --git a/wp-includes/class-wp-error.php b/wp-includes/class-wp-error.php index 162419583..ba4de05d7 100644 --- a/wp-includes/class-wp-error.php +++ b/wp-includes/class-wp-error.php @@ -38,7 +38,7 @@ class WP_Error { var $error_data = array(); /** - * PHP4 Constructor - Sets up error message. + * Constructor - Sets up error message. * * If code parameter is empty then nothing will be done. It is possible to * add multiple messages to the same code, but with other methods in the @@ -54,7 +54,7 @@ class WP_Error { * @param mixed $data Optional. Error data. * @return WP_Error */ - function WP_Error($code = '', $message = '', $data = '') { + function __construct($code = '', $message = '', $data = '') { if ( empty($code) ) return; diff --git a/wp-includes/class-wp-http-ixr-client.php b/wp-includes/class-wp-http-ixr-client.php index 4c36334ee..9e202ed63 100644 --- a/wp-includes/class-wp-http-ixr-client.php +++ b/wp-includes/class-wp-http-ixr-client.php @@ -7,13 +7,14 @@ * */ class WP_HTTP_IXR_Client extends IXR_Client { - function WP_HTTP_IXR_Client($server, $path = false, $port = 80, $timeout = 15) { + + function __construct($server, $path = false, $port = false, $timeout = 15) { if ( ! $path ) { // Assume we have been given a URL instead $bits = parse_url($server); $this->scheme = $bits['scheme']; $this->server = $bits['host']; - $this->port = isset($bits['port']) ? $bits['port'] : 80; + $this->port = isset($bits['port']) ? $bits['port'] : $port; $this->path = !empty($bits['path']) ? $bits['path'] : '/'; // Make absolutely sure we have a path @@ -35,7 +36,8 @@ class WP_HTTP_IXR_Client extends IXR_Client { $request = new IXR_Request($method, $args); $xml = $request->getXml(); - $url = $this->scheme . '://' . $this->server . ':' . $this->port . $this->path; + $port = $this->port ? ":$this->port" : ''; + $url = $this->scheme . '://' . $this->server . $port . $this->path; $args = array( 'headers' => array('Content-Type' => 'text/xml'), 'user-agent' => $this->useragent, @@ -62,16 +64,16 @@ class WP_HTTP_IXR_Client extends IXR_Client { return false; } - if ( $response['response']['code'] != 200 ) { - $this->error = new IXR_Error(-32301, "transport error - HTTP status code was not 200 ({$response['response']['code']})"); + if ( 200 != wp_remote_retrieve_response_code( $response ) ) { + $this->error = new IXR_Error(-32301, 'transport error - HTTP status code was not 200 (' . wp_remote_retrieve_response_code( $response ) . ')'); return false; } if ( $this->debug ) - echo '<pre class="ixr_response">' . htmlspecialchars($response['body']) . "\n</pre>\n\n"; + echo '<pre class="ixr_response">' . htmlspecialchars( wp_remote_retrieve_body( $response ) ) . "\n</pre>\n\n"; // Now parse what we've got back - $this->message = new IXR_Message( $response['body'] ); + $this->message = new IXR_Message( wp_remote_retrieve_body( $response ) ); if ( ! $this->message->parse() ) { // XML error $this->error = new IXR_Error(-32700, 'parse error. not well formed'); @@ -88,4 +90,4 @@ class WP_HTTP_IXR_Client extends IXR_Client { return true; } } -?> \ No newline at end of file +?> diff --git a/wp-includes/class-wp-xmlrpc-server.php b/wp-includes/class-wp-xmlrpc-server.php index 5e9bbd491..9d92cecff 100644 --- a/wp-includes/class-wp-xmlrpc-server.php +++ b/wp-includes/class-wp-xmlrpc-server.php @@ -24,7 +24,7 @@ class wp_xmlrpc_server extends IXR_Server { /** * Register all of the XMLRPC methods that XMLRPC server understands. * - * PHP4 constructor and sets up server and method property. Passes XMLRPC + * Sets up server and method property. Passes XMLRPC * methods through the 'xmlrpc_methods' filter to allow plugins to extend * or replace XMLRPC methods. * @@ -32,7 +32,7 @@ class wp_xmlrpc_server extends IXR_Server { * * @return wp_xmlrpc_server */ - function wp_xmlrpc_server() { + function __construct() { $this->methods = array( // WordPress API 'wp.getUsersBlogs' => 'this:wp_getUsersBlogs', @@ -382,8 +382,15 @@ class wp_xmlrpc_server extends IXR_Server { * * @since 2.6.0 * - * @param array $args Method parameters. - * @return array + * @param array $args Method parameters. Contains: + * - username + * - password + * @return array. Contains: + * - 'isAdmin' + * - 'url' + * - 'blogid' + * - 'blogName' + * - 'xmlrpc' - url of xmlrpc endpoint */ function wp_getUsersBlogs( $args ) { global $current_site; @@ -435,7 +442,11 @@ class wp_xmlrpc_server extends IXR_Server { * * @since 2.2.0 * - * @param array $args Method parameters. + * @param array $args Method parameters. Contains: + * - blog_id + * - page_id + * - username + * - password * @return array */ function wp_getPage($args) { @@ -459,7 +470,7 @@ class wp_xmlrpc_server extends IXR_Server { $page = get_page($page_id); // If we found the page then format the data. - if ( $page->ID && ($page->post_type == "page") ) { + if ( $page->ID && ($page->post_type == 'page') ) { // Get all of the page content and link. $full_page = get_extended($page->post_content); $link = post_permalink($page->ID); @@ -476,8 +487,8 @@ class wp_xmlrpc_server extends IXR_Server { $allow_pings = pings_open($page->ID) ? 1 : 0; // Format page date. - $page_date = mysql2date("Ymd\TH:i:s", $page->post_date, false); - $page_date_gmt = mysql2date("Ymd\TH:i:s", $page->post_date_gmt, false); + $page_date = mysql2date('Ymd\TH:i:s', $page->post_date, false); + $page_date_gmt = mysql2date('Ymd\TH:i:s', $page->post_date_gmt, false); // For drafts use the GMT version of the date if ( $page->post_status == 'draft' ) @@ -497,37 +508,37 @@ class wp_xmlrpc_server extends IXR_Server { $page_template = 'default'; $page_struct = array( - "dateCreated" => new IXR_Date($page_date), - "userid" => $page->post_author, - "page_id" => $page->ID, - "page_status" => $page->post_status, - "description" => $full_page["main"], - "title" => $page->post_title, - "link" => $link, - "permaLink" => $link, - "categories" => $categories, - "excerpt" => $page->post_excerpt, - "text_more" => $full_page["extended"], - "mt_allow_comments" => $allow_comments, - "mt_allow_pings" => $allow_pings, - "wp_slug" => $page->post_name, - "wp_password" => $page->post_password, - "wp_author" => $author->display_name, - "wp_page_parent_id" => $page->post_parent, - "wp_page_parent_title" => $parent_title, - "wp_page_order" => $page->menu_order, - "wp_author_id" => $author->ID, - "wp_author_display_name" => $author->display_name, - "date_created_gmt" => new IXR_Date($page_date_gmt), - "custom_fields" => $this->get_custom_fields($page_id), - "wp_page_template" => $page_template + 'dateCreated' => new IXR_Date($page_date), + 'userid' => $page->post_author, + 'page_id' => $page->ID, + 'page_status' => $page->post_status, + 'description' => $full_page['main'], + 'title' => $page->post_title, + 'link' => $link, + 'permaLink' => $link, + 'categories' => $categories, + 'excerpt' => $page->post_excerpt, + 'text_more' => $full_page['extended'], + 'mt_allow_comments' => $allow_comments, + 'mt_allow_pings' => $allow_pings, + 'wp_slug' => $page->post_name, + 'wp_password' => $page->post_password, + 'wp_author' => $author->display_name, + 'wp_page_parent_id' => $page->post_parent, + 'wp_page_parent_title' => $parent_title, + 'wp_page_order' => $page->menu_order, + 'wp_author_id' => $author->ID, + 'wp_author_display_name' => $author->display_name, + 'date_created_gmt' => new IXR_Date($page_date_gmt), + 'custom_fields' => $this->get_custom_fields($page_id), + 'wp_page_template' => $page_template ); return($page_struct); } // If the page doesn't exist indicate that. else { - return(new IXR_Error(404, __("Sorry, no such page."))); + return(new IXR_Error(404, __('Sorry, no such page.'))); } } @@ -536,7 +547,11 @@ class wp_xmlrpc_server extends IXR_Server { * * @since 2.2.0 * - * @param array $args Method parameters. + * @param array $args Method parameters. Contains: + * - blog_id + * - username + * - password + * - num_pages * @return array */ function wp_getPages($args) { @@ -582,7 +597,7 @@ class wp_xmlrpc_server extends IXR_Server { * * @since 2.2.0 * - * @param array $args Method parameters. + * @param array $args Method parameters. See {@link wp_xmlrpc_server::mw_newPost()} * @return unknown */ function wp_newPage($args) { @@ -598,11 +613,11 @@ class wp_xmlrpc_server extends IXR_Server { do_action('xmlrpc_call', 'wp.newPage'); // Make sure the user is allowed to add new pages. - if ( !current_user_can("publish_pages") ) - return(new IXR_Error(401, __("Sorry, you cannot add new pages."))); + if ( !current_user_can('publish_pages') ) + return(new IXR_Error(401, __('Sorry, you cannot add new pages.'))); // Mark this as content for a page. - $args[3]["post_type"] = "page"; + $args[3]["post_type"] = 'page'; // Let mw_newPost do all of the heavy lifting. return($this->mw_newPost($args)); @@ -632,17 +647,17 @@ class wp_xmlrpc_server extends IXR_Server { // Get the current page based on the page_id and // make sure it is a page and not a post. $actual_page = wp_get_single_post($page_id, ARRAY_A); - if ( !$actual_page || ($actual_page["post_type"] != "page") ) - return(new IXR_Error(404, __("Sorry, no such page."))); + if ( !$actual_page || ($actual_page['post_type'] != 'page') ) + return(new IXR_Error(404, __('Sorry, no such page.'))); // Make sure the user can delete pages. - if ( !current_user_can("delete_page", $page_id) ) - return(new IXR_Error(401, __("Sorry, you do not have the right to delete this page."))); + if ( !current_user_can('delete_page', $page_id) ) + return(new IXR_Error(401, __('Sorry, you do not have the right to delete this page.'))); // Attempt to delete the page. $result = wp_delete_post($page_id); if ( !$result ) - return(new IXR_Error(500, __("Failed to delete the page."))); + return(new IXR_Error(500, __('Failed to delete the page.'))); return(true); } @@ -671,15 +686,15 @@ class wp_xmlrpc_server extends IXR_Server { // Get the page data and make sure it is a page. $actual_page = wp_get_single_post($page_id, ARRAY_A); - if ( !$actual_page || ($actual_page["post_type"] != "page") ) - return(new IXR_Error(404, __("Sorry, no such page."))); + if ( !$actual_page || ($actual_page['post_type'] != 'page') ) + return(new IXR_Error(404, __('Sorry, no such page.'))); // Make sure the user is allowed to edit pages. - if ( !current_user_can("edit_page", $page_id) ) - return(new IXR_Error(401, __("Sorry, you do not have the right to edit this page."))); + if ( !current_user_can('edit_page', $page_id) ) + return(new IXR_Error(401, __('Sorry, you do not have the right to edit this page.'))); // Mark this as content for a page. - $content["post_type"] = "page"; + $content['post_type'] = 'page'; // Arrange args in the way mw_editPost understands. $args = array( @@ -735,8 +750,8 @@ class wp_xmlrpc_server extends IXR_Server { // The date needs to be formated properly. $num_pages = count($page_list); for ( $i = 0; $i < $num_pages; $i++ ) { - $post_date = mysql2date("Ymd\TH:i:s", $page_list[$i]->post_date, false); - $post_date_gmt = mysql2date("Ymd\TH:i:s", $page_list[$i]->post_date_gmt, false); + $post_date = mysql2date('Ymd\TH:i:s', $page_list[$i]->post_date, false); + $post_date_gmt = mysql2date('Ymd\TH:i:s', $page_list[$i]->post_date_gmt, false); $page_list[$i]->dateCreated = new IXR_Date($post_date); $page_list[$i]->date_created_gmt = new IXR_Date($post_date_gmt); @@ -774,17 +789,17 @@ class wp_xmlrpc_server extends IXR_Server { if ( !$user = $this->login($username, $password) ) return $this->error; - if ( !current_user_can("edit_posts") ) - return(new IXR_Error(401, __("Sorry, you cannot edit posts on this site."))); + if ( !current_user_can('edit_posts') ) + return(new IXR_Error(401, __('Sorry, you cannot edit posts on this site.'))); do_action('xmlrpc_call', 'wp.getAuthors'); $authors = array(); foreach ( get_users( array( 'fields' => array('ID','user_login','display_name') ) ) as $user ) { $authors[] = array( - "user_id" => $user->ID, - "user_login" => $user->user_login, - "display_name" => $user->display_name + 'user_id' => $user->ID, + 'user_login' => $user->user_login, + 'display_name' => $user->display_name ); } @@ -854,28 +869,28 @@ class wp_xmlrpc_server extends IXR_Server { do_action('xmlrpc_call', 'wp.newCategory'); // Make sure the user is allowed to add a category. - if ( !current_user_can("manage_categories") ) - return(new IXR_Error(401, __("Sorry, you do not have the right to add a category."))); + if ( !current_user_can('manage_categories') ) + return(new IXR_Error(401, __('Sorry, you do not have the right to add a category.'))); // If no slug was provided make it empty so that // WordPress will generate one. - if ( empty($category["slug"]) ) - $category["slug"] = ""; + if ( empty($category['slug']) ) + $category['slug'] = ''; // If no parent_id was provided make it empty // so that it will be a top level page (no parent). - if ( !isset($category["parent_id"]) ) - $category["parent_id"] = ""; + if ( !isset($category['parent_id']) ) + $category['parent_id'] = ''; // If no description was provided make it empty. if ( empty($category["description"]) ) $category["description"] = ""; $new_category = array( - "cat_name" => $category["name"], - "category_nicename" => $category["slug"], - "category_parent" => $category["parent_id"], - "category_description" => $category["description"] + 'cat_name' => $category['name'], + 'category_nicename' => $category['slug'], + 'category_parent' => $category['parent_id'], + 'category_description' => $category['description'] ); $cat_id = wp_insert_category($new_category, true); @@ -883,9 +898,9 @@ class wp_xmlrpc_server extends IXR_Server { if ( 'term_exists' == $cat_id->get_error_code() ) return (int) $cat_id->get_error_data(); else - return(new IXR_Error(500, __("Sorry, the new category failed."))); + return(new IXR_Error(500, __('Sorry, the new category failed.'))); } elseif ( ! $cat_id ) { - return(new IXR_Error(500, __("Sorry, the new category failed."))); + return(new IXR_Error(500, __('Sorry, the new category failed.'))); } return($cat_id); @@ -912,8 +927,8 @@ class wp_xmlrpc_server extends IXR_Server { do_action('xmlrpc_call', 'wp.deleteCategory'); - if ( !current_user_can("manage_categories") ) - return new IXR_Error( 401, __( "Sorry, you do not have the right to delete a category." ) ); + if ( !current_user_can('manage_categories') ) + return new IXR_Error( 401, __( 'Sorry, you do not have the right to delete a category.' ) ); return wp_delete_term( $category_id, 'category' ); } @@ -947,8 +962,8 @@ class wp_xmlrpc_server extends IXR_Server { $args = array('get' => 'all', 'number' => $max_results, 'name__like' => $category); foreach ( (array) get_categories($args) as $cat ) { $category_suggestions[] = array( - "category_id" => $cat->term_id, - "category_name" => $cat->name + 'category_id' => $cat->term_id, + 'category_name' => $cat->name ); } @@ -983,8 +998,8 @@ class wp_xmlrpc_server extends IXR_Server { return new IXR_Error( 404, __( 'Invalid comment ID.' ) ); // Format page date. - $comment_date = mysql2date("Ymd\TH:i:s", $comment->comment_date, false); - $comment_date_gmt = mysql2date("Ymd\TH:i:s", $comment->comment_date_gmt, false); + $comment_date = mysql2date('Ymd\TH:i:s', $comment->comment_date, false); + $comment_date_gmt = mysql2date('Ymd\TH:i:s', $comment->comment_date_gmt, false); if ( '0' == $comment->comment_approved ) $comment_status = 'hold'; @@ -998,20 +1013,20 @@ class wp_xmlrpc_server extends IXR_Server { $link = get_comment_link($comment); $comment_struct = array( - "date_created_gmt" => new IXR_Date($comment_date_gmt), - "user_id" => $comment->user_id, - "comment_id" => $comment->comment_ID, - "parent" => $comment->comment_parent, - "status" => $comment_status, - "content" => $comment->comment_content, - "link" => $link, - "post_id" => $comment->comment_post_ID, - "post_title" => get_the_title($comment->comment_post_ID), - "author" => $comment->comment_author, - "author_url" => $comment->comment_author_url, - "author_email" => $comment->comment_author_email, - "author_ip" => $comment->comment_author_IP, - "type" => $comment->comment_type, + 'date_created_gmt' => new IXR_Date($comment_date_gmt), + 'user_id' => $comment->user_id, + 'comment_id' => $comment->comment_ID, + 'parent' => $comment->comment_parent, + 'status' => $comment_status, + 'content' => $comment->comment_content, + 'link' => $link, + 'post_id' => $comment->comment_post_ID, + 'post_title' => get_the_title($comment->comment_post_ID), + 'author' => $comment->comment_author, + 'author_url' => $comment->comment_author_url, + 'author_email' => $comment->comment_author_email, + 'author_ip' => $comment->comment_author_IP, + 'type' => $comment->comment_type, ); return $comment_struct; @@ -1020,10 +1035,21 @@ class wp_xmlrpc_server extends IXR_Server { /** * Retrieve comments. * + * Besides the common blog_id, username, and password arguments, it takes a filter + * array as last argument. + * + * Accepted 'filter' keys are 'status', 'post_id', 'offset', and 'number'. + * + * The defaults are as follows: + * - 'status' - Default is ''. Filter by status (e.g., 'approve', 'hold') + * - 'post_id' - Default is ''. The post where the comment is posted. Empty string shows all comments. + * - 'number' - Default is 10. Total number of media items to retrieve. + * - 'offset' - Default is 0. See {@link WP_Query::query()} for more. + * * @since 2.7.0 * * @param array $args Method parameters. - * @return array + * @return array. Contains a collection of comments. See {@link wp_xmlrpc_server::wp_getComment()} for a description of each item contents */ function wp_getComments($args) { $raw_args = $args; @@ -1067,6 +1093,7 @@ class wp_xmlrpc_server extends IXR_Server { $comments_struct = array(); + // FIXME: we already have the comments, why query them again? for ( $i = 0; $i < $num_comments; $i++ ) { $comment = wp_xmlrpc_server::wp_getComment(array( $raw_args[0], $raw_args[1], $raw_args[2], $comments[$i]->comment_ID, @@ -1078,11 +1105,19 @@ class wp_xmlrpc_server extends IXR_Server { } /** - * Remove comment. + * Delete a comment. + * + * By default, the comment will be moved to the trash instead of deleted. + * See {@link wp_delete_comment()} for more information on + * this behavior. * * @since 2.7.0 * - * @param array $args Method parameters. + * @param array $args Method parameters. Contains: + * - blog_id + * - username + * - password + * - comment_id * @return mixed {@link wp_delete_comment()} */ function wp_deleteComment($args) { @@ -1113,9 +1148,25 @@ class wp_xmlrpc_server extends IXR_Server { /** * Edit comment. * + * Besides the common blog_id, username, and password arguments, it takes a + * comment_id integer and a content_struct array as last argument. + * + * The allowed keys in the content_struct array are: + * - 'author' + * - 'author_url' + * - 'author_email' + * - 'content' + * - 'date_created_gmt' + * - 'status'. Common statuses are 'approve', 'hold', 'spam'. See {@link get_comment_statuses()} for more details + * * @since 2.7.0 * - * @param array $args Method parameters. + * @param array $args. Contains: + * - blog_id + * - username + * - password + * - comment_id + * - content_struct * @return bool True, on success. */ function wp_editComment($args) { @@ -1317,10 +1368,10 @@ class wp_xmlrpc_server extends IXR_Server { $count = wp_count_comments( $post_id ); return array( - "approved" => $count->approved, - "awaiting_moderation" => $count->moderated, - "spam" => $count->spam, - "total_comments" => $count->total_comments + 'approved' => $count->approved, + 'awaiting_moderation' => $count->moderated, + 'spam' => $count->spam, + 'total_comments' => $count->total_comments ); } @@ -1522,7 +1573,7 @@ class wp_xmlrpc_server extends IXR_Server { return $this->error; if ( !current_user_can( 'upload_files' ) ) - return new IXR_Error( 403, __( 'You are not allowed to upload files on this site.' ) ); + return new IXR_Error( 403, __( 'You are not allowed to upload files to this site.' ) ); do_action('xmlrpc_call', 'wp.getMediaItem'); @@ -1530,21 +1581,21 @@ class wp_xmlrpc_server extends IXR_Server { return new IXR_Error( 404, __( 'Invalid attachment ID.' ) ); // Format page date. - $attachment_date = mysql2date("Ymd\TH:i:s", $attachment->post_date, false); - $attachment_date_gmt = mysql2date("Ymd\TH:i:s", $attachment->post_date_gmt, false); + $attachment_date = mysql2date('Ymd\TH:i:s', $attachment->post_date, false); + $attachment_date_gmt = mysql2date('Ymd\TH:i:s', $attachment->post_date_gmt, false); $link = wp_get_attachment_url($attachment->ID); $thumbnail_link = wp_get_attachment_thumb_url($attachment->ID); $attachment_struct = array( - "date_created_gmt" => new IXR_Date($attachment_date_gmt), - "parent" => $attachment->post_parent, - "link" => $link, - "thumbnail" => $thumbnail_link, - "title" => $attachment->post_title, - "caption" => $attachment->post_excerpt, - "description" => $attachment->post_content, - "metadata" => wp_get_attachment_metadata($attachment->ID), + 'date_created_gmt' => new IXR_Date($attachment_date_gmt), + 'parent' => $attachment->post_parent, + 'link' => $link, + 'thumbnail' => $thumbnail_link, + 'title' => $attachment->post_title, + 'caption' => $attachment->post_excerpt, + 'description' => $attachment->post_content, + 'metadata' => wp_get_attachment_metadata($attachment->ID), ); return $attachment_struct; @@ -1631,7 +1682,24 @@ class wp_xmlrpc_server extends IXR_Server { return $this->error; do_action( 'xmlrpc_call', 'wp.getPostFormats' ); - return get_post_format_strings(); + + $formats = get_post_format_strings(); + + # find out if they want a list of currently supports formats + if ( isset( $args[3] ) && is_array( $args[3] ) ) { + if ( $args[3]['show-supported'] ) { + if ( current_theme_supports( 'post-formats' ) ) { + $supported = get_theme_support( 'post-formats' ); + + $data['all'] = $formats; + $data['supported'] = $supported[0]; + + $formats = $data; + } + } + } + + return $formats; } /* Blogger API functions. @@ -2074,9 +2142,35 @@ class wp_xmlrpc_server extends IXR_Server { /** * Create a new post. * + * The 'content_struct' argument must contain: + * - title + * - description + * - mt_excerpt + * - mt_text_more + * - mt_keywords + * - mt_tb_ping_urls + * - categories + * + * Also, it can optionally contain: + * - wp_slug + * - wp_password + * - wp_page_parent_id + * - wp_page_order + * - wp_author_id + * - post_status | page_status - can be 'draft', 'private', 'publish', or 'pending' + * - mt_allow_comments - can be 'open' or 'closed' + * - mt_allow_pings - can be 'open' or 'closed' + * - date_created_gmt + * - dateCreated + * * @since 1.5.0 * - * @param array $args Method parameters. + * @param array $args Method parameters. Contains: + * - blog_id + * - username + * - password + * - content_struct + * - publish * @return int */ function mw_newPost($args) { @@ -2144,39 +2238,39 @@ class wp_xmlrpc_server extends IXR_Server { // Let WordPress generate the post_name (slug) unless // one has been provided. $post_name = ""; - if ( isset($content_struct["wp_slug"]) ) - $post_name = $content_struct["wp_slug"]; + if ( isset($content_struct['wp_slug']) ) + $post_name = $content_struct['wp_slug']; // Only use a password if one was given. - if ( isset($content_struct["wp_password"]) ) - $post_password = $content_struct["wp_password"]; + if ( isset($content_struct['wp_password']) ) + $post_password = $content_struct['wp_password']; // Only set a post parent if one was provided. - if ( isset($content_struct["wp_page_parent_id"]) ) - $post_parent = $content_struct["wp_page_parent_id"]; + if ( isset($content_struct['wp_page_parent_id']) ) + $post_parent = $content_struct['wp_page_parent_id']; // Only set the menu_order if it was provided. - if ( isset($content_struct["wp_page_order"]) ) - $menu_order = $content_struct["wp_page_order"]; + if ( isset($content_struct['wp_page_order']) ) + $menu_order = $content_struct['wp_page_order']; $post_author = $user->ID; // If an author id was provided then use it instead. - if ( isset($content_struct["wp_author_id"]) && ($user->ID != $content_struct["wp_author_id"]) ) { + if ( isset($content_struct['wp_author_id']) && ($user->ID != $content_struct['wp_author_id']) ) { switch ( $post_type ) { case "post": - if ( !current_user_can("edit_others_posts") ) - return(new IXR_Error(401, __("You are not allowed to post as this user"))); + if ( !current_user_can('edit_others_posts') ) + return(new IXR_Error(401, __('You are not allowed to post as this user'))); break; case "page": - if ( !current_user_can("edit_others_pages") ) - return(new IXR_Error(401, __("You are not allowed to create pages as this user"))); + if ( !current_user_can('edit_others_pages') ) + return(new IXR_Error(401, __('You are not allowed to create pages as this user'))); break; default: - return(new IXR_Error(401, __("Invalid post type."))); + return(new IXR_Error(401, __('Invalid post type.'))); break; } - $post_author = $content_struct["wp_author_id"]; + $post_author = $content_struct['wp_author_id']; } $post_title = isset( $content_struct['title'] ) ? $content_struct['title'] : null; @@ -2187,15 +2281,11 @@ class wp_xmlrpc_server extends IXR_Server { if ( isset( $content_struct["{$post_type}_status"] ) ) { switch ( $content_struct["{$post_type}_status"] ) { case 'draft': + case 'pending': case 'private': case 'publish': $post_status = $content_struct["{$post_type}_status"]; break; - case 'pending': - // Pending is only valid for posts, not pages. - if ( $post_type === 'post' ) - $post_status = $content_struct["{$post_type}_status"]; - break; default: $post_status = $publish ? 'publish' : 'draft'; break; @@ -2207,69 +2297,69 @@ class wp_xmlrpc_server extends IXR_Server { $tags_input = isset($content_struct['mt_keywords']) ? $content_struct['mt_keywords'] : null; - if ( isset($content_struct["mt_allow_comments"]) ) { - if ( !is_numeric($content_struct["mt_allow_comments"]) ) { - switch ( $content_struct["mt_allow_comments"] ) { - case "closed": - $comment_status = "closed"; + if ( isset($content_struct['mt_allow_comments']) ) { + if ( !is_numeric($content_struct['mt_allow_comments']) ) { + switch ( $content_struct['mt_allow_comments'] ) { + case 'closed': + $comment_status = 'closed'; break; - case "open": - $comment_status = "open"; + case 'open': + $comment_status = 'open'; break; default: - $comment_status = get_option("default_comment_status"); + $comment_status = get_option('default_comment_status'); break; } } else { - switch ( (int) $content_struct["mt_allow_comments"] ) { + switch ( (int) $content_struct['mt_allow_comments'] ) { case 0: case 2: - $comment_status = "closed"; + $comment_status = 'closed'; break; case 1: - $comment_status = "open"; + $comment_status = 'open'; break; default: - $comment_status = get_option("default_comment_status"); + $comment_status = get_option('default_comment_status'); break; } } } else { - $comment_status = get_option("default_comment_status"); + $comment_status = get_option('default_comment_status'); } - if ( isset($content_struct["mt_allow_pings"]) ) { - if ( !is_numeric($content_struct["mt_allow_pings"]) ) { + if ( isset($content_struct['mt_allow_pings']) ) { + if ( !is_numeric($content_struct['mt_allow_pings']) ) { switch ( $content_struct['mt_allow_pings'] ) { - case "closed": - $ping_status = "closed"; + case 'closed': + $ping_status = 'closed'; break; - case "open": - $ping_status = "open"; + case 'open': + $ping_status = 'open'; break; default: - $ping_status = get_option("default_ping_status"); + $ping_status = get_option('default_ping_status'); break; } } else { - switch ( (int) $content_struct["mt_allow_pings"] ) { + switch ( (int) $content_struct['mt_allow_pings'] ) { case 0: - $ping_status = "closed"; + $ping_status = 'closed'; break; case 1: - $ping_status = "open"; + $ping_status = 'open'; break; default: - $ping_status = get_option("default_ping_status"); + $ping_status = get_option('default_ping_status'); break; } } } else { - $ping_status = get_option("default_ping_status"); + $ping_status = get_option('default_ping_status'); } if ( $post_more ) - $post_content = $post_content . "<!--more-->" . $post_more; + $post_content = $post_content . '<!--more-->' . $post_more; $to_ping = null; if ( isset( $content_struct['mt_tb_ping_urls'] ) ) { @@ -2456,100 +2546,101 @@ class wp_xmlrpc_server extends IXR_Server { // now and return an error. Other wise a new post will be // created (which was the old behavior). if ( empty($postdata["ID"]) ) - return(new IXR_Error(404, __("Invalid post ID."))); + return(new IXR_Error(404, __('Invalid post ID.'))); $this->escape($postdata); extract($postdata, EXTR_SKIP); // Let WordPress manage slug if none was provided. $post_name = ""; - if ( isset($content_struct["wp_slug"]) ) - $post_name = $content_struct["wp_slug"]; + $post_name = $postdata['post_name']; + if ( isset($content_struct['wp_slug']) ) + $post_name = $content_struct['wp_slug']; // Only use a password if one was given. - if ( isset($content_struct["wp_password"]) ) - $post_password = $content_struct["wp_password"]; + if ( isset($content_struct['wp_password']) ) + $post_password = $content_struct['wp_password']; // Only set a post parent if one was given. - if ( isset($content_struct["wp_page_parent_id"]) ) - $post_parent = $content_struct["wp_page_parent_id"]; + if ( isset($content_struct['wp_page_parent_id']) ) + $post_parent = $content_struct['wp_page_parent_id']; // Only set the menu_order if it was given. - if ( isset($content_struct["wp_page_order"]) ) - $menu_order = $content_struct["wp_page_order"]; + if ( isset($content_struct['wp_page_order']) ) + $menu_order = $content_struct['wp_page_order']; - $post_author = $postdata["post_author"]; + $post_author = $postdata['post_author']; // Only set the post_author if one is set. - if ( isset($content_struct["wp_author_id"]) && ($user->ID != $content_struct["wp_author_id"]) ) { + if ( isset($content_struct['wp_author_id']) && ($user->ID != $content_struct['wp_author_id']) ) { switch ( $post_type ) { - case "post": - if ( !current_user_can("edit_others_posts") ) - return(new IXR_Error(401, __("You are not allowed to change the post author as this user."))); + case 'post': + if ( !current_user_can('edit_others_posts') ) + return(new IXR_Error(401, __('You are not allowed to change the post author as this user.'))); break; - case "page": - if ( !current_user_can("edit_others_pages") ) - return(new IXR_Error(401, __("You are not allowed to change the page author as this user."))); + case 'page': + if ( !current_user_can('edit_others_pages') ) + return(new IXR_Error(401, __('You are not allowed to change the page author as this user.'))); break; default: - return(new IXR_Error(401, __("Invalid post type."))); + return(new IXR_Error(401, __('Invalid post type.'))); break; } - $post_author = $content_struct["wp_author_id"]; + $post_author = $content_struct['wp_author_id']; } - if ( isset($content_struct["mt_allow_comments"]) ) { - if ( !is_numeric($content_struct["mt_allow_comments"]) ) { - switch ( $content_struct["mt_allow_comments"] ) { - case "closed": - $comment_status = "closed"; + if ( isset($content_struct['mt_allow_comments']) ) { + if ( !is_numeric($content_struct['mt_allow_comments']) ) { + switch ( $content_struct['mt_allow_comments'] ) { + case 'closed': + $comment_status = 'closed'; break; - case "open": - $comment_status = "open"; + case 'open': + $comment_status = 'open'; break; default: - $comment_status = get_option("default_comment_status"); + $comment_status = get_option('default_comment_status'); break; } } else { - switch ( (int) $content_struct["mt_allow_comments"] ) { + switch ( (int) $content_struct['mt_allow_comments'] ) { case 0: case 2: - $comment_status = "closed"; + $comment_status = 'closed'; break; case 1: - $comment_status = "open"; + $comment_status = 'open'; break; default: - $comment_status = get_option("default_comment_status"); + $comment_status = get_option('default_comment_status'); break; } } } - if ( isset($content_struct["mt_allow_pings"]) ) { - if ( !is_numeric($content_struct["mt_allow_pings"]) ) { - switch ( $content_struct["mt_allow_pings"] ) { - case "closed": - $ping_status = "closed"; + if ( isset($content_struct['mt_allow_pings']) ) { + if ( !is_numeric($content_struct['mt_allow_pings']) ) { + switch ( $content_struct['mt_allow_pings'] ) { + case 'closed': + $ping_status = 'closed'; break; - case "open": - $ping_status = "open"; + case 'open': + $ping_status = 'open'; break; default: - $ping_status = get_option("default_ping_status"); + $ping_status = get_option('default_ping_status'); break; } } else { switch ( (int) $content_struct["mt_allow_pings"] ) { case 0: - $ping_status = "closed"; + $ping_status = 'closed'; break; case 1: - $ping_status = "open"; + $ping_status = 'open'; break; default: - $ping_status = get_option("default_ping_status"); + $ping_status = get_option('default_ping_status'); break; } } @@ -2575,15 +2666,11 @@ class wp_xmlrpc_server extends IXR_Server { if ( isset( $content_struct["{$post_type}_status"] ) ) { switch( $content_struct["{$post_type}_status"] ) { case 'draft': + case 'pending': case 'private': case 'publish': $post_status = $content_struct["{$post_type}_status"]; break; - case 'pending': - // Pending is only valid for posts, not pages. - if ( $post_type === 'post' ) - $post_status = $content_struct["{$post_type}_status"]; - break; default: $post_status = $publish ? 'publish' : 'draft'; break; @@ -2970,10 +3057,10 @@ class wp_xmlrpc_server extends IXR_Server { return $this->error; } - if ( $upload_err = apply_filters( "pre_upload_error", false ) ) + if ( $upload_err = apply_filters( 'pre_upload_error', false ) ) return new IXR_Error(500, $upload_err); - if ( !empty($data["overwrite"]) && ($data["overwrite"] == true) ) { + if ( !empty($data['overwrite']) && ($data['overwrite'] == true) ) { // Get postmeta info on the object. $old_file = $wpdb->get_row(" SELECT ID @@ -2987,7 +3074,7 @@ class wp_xmlrpc_server extends IXR_Server { // Make sure the new name is different by pre-pending the // previous post id. - $filename = preg_replace("/^wpid\d+-/", "", $name); + $filename = preg_replace('/^wpid\d+-/', '', $name); $name = "wpid{$old_file->ID}-{$filename}"; } @@ -3068,6 +3155,7 @@ class wp_xmlrpc_server extends IXR_Server { 'userid' => $entry['post_author'], 'postid' => (string) $entry['ID'], 'title' => $entry['post_title'], + 'post_status' => $entry['post_status'], 'date_created_gmt' => new IXR_Date($post_date_gmt) ); @@ -3524,4 +3612,4 @@ class wp_xmlrpc_server extends IXR_Server { return $pingbacks; } } -?> \ No newline at end of file +?> diff --git a/wp-includes/class-wp.php b/wp-includes/class-wp.php index 7ca64697a..cf671bd79 100644 --- a/wp-includes/class-wp.php +++ b/wp-includes/class-wp.php @@ -470,7 +470,7 @@ class WP { if ( !is_admin() && ( 0 == count( $wp_query->posts ) ) && !is_404() && !is_robots() && !is_search() && !is_home() ) { // Don't 404 for these queries if they matched an object. - if ( ( is_tag() || is_category() || is_tax() || is_author() ) && $wp_query->get_queried_object() && !is_paged() ) { + if ( ( is_tag() || is_category() || is_tax() || is_author() || is_post_type_archive() ) && $wp_query->get_queried_object() && !is_paged() ) { if ( !is_404() ) status_header( 200 ); return; @@ -504,18 +504,6 @@ class WP { do_action_ref_array('wp', array(&$this)); } - /** - * PHP4 Constructor - Does nothing. - * - * Call main() method when ready to run setup. - * - * @since 2.0.0 - * - * @return WP - */ - function WP() { - // Empty. - } } /** diff --git a/wp-includes/class.wp-dependencies.php b/wp-includes/class.wp-dependencies.php index de3630ad8..0e3f51ede 100644 --- a/wp-includes/class.wp-dependencies.php +++ b/wp-includes/class.wp-dependencies.php @@ -25,13 +25,6 @@ class WP_Dependencies { var $groups = array(); var $group = 0; - function WP_Dependencies() { - $args = func_get_args(); - call_user_func_array( array(&$this, '__construct'), $args ); - } - - function __construct() {} - /** * Do the dependencies * @@ -228,7 +221,7 @@ class _WP_Dependency { var $extra = array(); - function _WP_Dependency() { + function __construct() { @list($this->handle, $this->src, $this->deps, $this->ver, $this->args) = func_get_args(); if ( !is_array($this->deps) ) $this->deps = array(); diff --git a/wp-includes/comment-template.php b/wp-includes/comment-template.php index d00c65994..ce0f9ddbb 100644 --- a/wp-includes/comment-template.php +++ b/wp-includes/comment-template.php @@ -1162,8 +1162,9 @@ function cancel_comment_reply_link($text = '') { * * @return string Hidden input HTML for replying to comments */ -function get_comment_id_fields() { - $id = get_the_ID(); +function get_comment_id_fields( $id = 0 ) { + if ( empty( $id ) ) + $id = get_the_ID(); $replytoid = isset($_GET['replytocom']) ? (int) $_GET['replytocom'] : 0; $result = "<input type='hidden' name='comment_post_ID' value='$id' id='comment_post_ID' />\n"; @@ -1177,8 +1178,8 @@ function get_comment_id_fields() { * @since 2.7.0 * @see get_comment_id_fields() Echoes result */ -function comment_id_fields() { - echo get_comment_id_fields(); +function comment_id_fields( $id = 0 ) { + echo get_comment_id_fields( $id ); } /** @@ -1573,7 +1574,7 @@ function comment_form( $args = array(), $post_id = null ) { <?php echo $args['comment_notes_after']; ?> <p class="form-submit"> <input name="submit" type="submit" id="<?php echo esc_attr( $args['id_submit'] ); ?>" value="<?php echo esc_attr( $args['label_submit'] ); ?>" /> - <?php comment_id_fields(); ?> + <?php comment_id_fields( $post_id ); ?> </p> <?php do_action( 'comment_form', $post_id ); ?> </form> diff --git a/wp-includes/comment.php b/wp-includes/comment.php index c0c175661..8e17000a5 100644 --- a/wp-includes/comment.php +++ b/wp-includes/comment.php @@ -213,6 +213,11 @@ class WP_Comment_Query { 'parent' => '', 'post_ID' => '', 'post_id' => 0, + 'post_author' => '', + 'post_name' => '', + 'post_parent' => '', + 'post_status' => '', + 'post_type' => '', 'status' => '', 'type' => '', 'user_id' => '', @@ -319,6 +324,13 @@ class WP_Comment_Query { if ( '' !== $search ) $where .= $this->get_search_sql( $search, array( 'comment_author', 'comment_author_email', 'comment_author_url', 'comment_author_IP', 'comment_content' ) ); + $post_fields = array_filter( compact( array( 'post_author', 'post_name', 'post_parent', 'post_status', 'post_type', ) ) ); + if ( ! empty( $post_fields ) ) { + $join = "JOIN $wpdb->posts ON $wpdb->posts.ID = $wpdb->comments.comment_post_ID"; + foreach( $post_fields as $field_name => $field_value ) + $where .= $wpdb->prepare( " AND {$wpdb->posts}.{$field_name} = %s", $field_value ); + } + $pieces = array( 'fields', 'join', 'where', 'orderby', 'order', 'limits' ); $clauses = apply_filters_ref_array( 'comments_clauses', array( compact( $pieces ), &$this ) ); foreach ( $pieces as $piece ) @@ -892,12 +904,11 @@ function wp_count_comments( $post_id = 0 ) { $total = 0; $approved = array('0' => 'moderated', '1' => 'approved', 'spam' => 'spam', 'trash' => 'trash', 'post-trashed' => 'post-trashed'); - $known_types = array_keys( $approved ); foreach ( (array) $count as $row ) { // Don't count post-trashed toward totals if ( 'post-trashed' != $row['comment_approved'] && 'trash' != $row['comment_approved'] ) $total += $row['num_comments']; - if ( in_array( $row['comment_approved'], $known_types ) ) + if ( isset( $approved[$row['comment_approved']] ) ) $stats[$approved[$row['comment_approved']]] = $row['num_comments']; } @@ -1394,7 +1405,7 @@ function wp_set_comment_status($comment_id, $comment_status, $wp_error = false) return false; } - $comment_old = wp_clone(get_comment($comment_id)); + $comment_old = clone get_comment($comment_id); if ( !$wpdb->update( $wpdb->comments, array('comment_approved' => $status), array('comment_ID' => $comment_id) ) ) { if ( $wp_error ) @@ -1608,11 +1619,11 @@ function discover_pingback_server_uri( $url, $deprecated = '' ) { if ( is_wp_error( $response ) ) return false; - if ( isset( $response['headers']['x-pingback'] ) ) - return $response['headers']['x-pingback']; + if ( wp_remote_retrieve_header( $response, 'x-pingback' ) ) + return wp_remote_retrieve_header( $response, 'x-pingback' ); // Not an (x)html, sgml, or xml page, no use going further. - if ( isset( $response['headers']['content-type'] ) && preg_match('#(image|audio|video|model)/#is', $response['headers']['content-type']) ) + if ( preg_match('#(image|audio|video|model)/#is', wp_remote_retrieve_header( $response, 'content-type' )) ) return false; // Now do a GET since we're going to look in the html headers (and we're sure its not a binary file) @@ -1621,7 +1632,7 @@ function discover_pingback_server_uri( $url, $deprecated = '' ) { if ( is_wp_error( $response ) ) return false; - $contents = $response['body']; + $contents = wp_remote_retrieve_body( $response ); $pingback_link_offset_dquote = strpos($contents, $pingback_str_dquote); $pingback_link_offset_squote = strpos($contents, $pingback_str_squote); @@ -1954,6 +1965,10 @@ function _close_comments_for_old_posts( $posts ) { if ( empty($posts) || !is_singular() || !get_option('close_comments_for_old_posts') ) return $posts; + $post_types = apply_filters( 'close_comments_for_post_types', array( 'post' ) ); + if ( ! in_array( $posts[0]->post_type, $post_types ) ) + return $posts; + $days_old = (int) get_option('close_comments_days_old'); if ( !$days_old ) return $posts; @@ -1989,6 +2004,10 @@ function _close_comments_for_old_post( $open, $post_id ) { $post = get_post($post_id); + $post_types = apply_filters( 'close_comments_for_post_types', array( 'post' ) ); + if ( ! in_array( $post->post_type, $post_types ) ) + return $open; + if ( time() - strtotime( $post->post_date_gmt ) > ( $days_old * 24 * 60 * 60 ) ) return false; diff --git a/wp-includes/compat.php b/wp-includes/compat.php index 4edf33b0c..cb2a5597c 100644 --- a/wp-includes/compat.php +++ b/wp-includes/compat.php @@ -1,59 +1,35 @@ <?php /** - * WordPress implementation for PHP functions missing from older PHP versions. + * WordPress implementation for PHP functions either missing from older PHP versions or not included by default. * * @package PHP * @access private */ -// Added in PHP 5.0 - -if (!function_exists('http_build_query')) { - function http_build_query($data, $prefix=null, $sep=null) { - return _http_build_query($data, $prefix, $sep); - } -} - -// from php.net (modified by Mark Jaquith to behave like the native PHP5 function) -function _http_build_query($data, $prefix=null, $sep=null, $key='', $urlencode=true) { - $ret = array(); - - foreach ( (array) $data as $k => $v ) { - if ( $urlencode) - $k = urlencode($k); - if ( is_int($k) && $prefix != null ) - $k = $prefix.$k; - if ( !empty($key) ) - $k = $key . '%5B' . $k . '%5D'; - if ( $v === NULL ) - continue; - elseif ( $v === FALSE ) - $v = '0'; - - if ( is_array($v) || is_object($v) ) - array_push($ret,_http_build_query($v, '', $sep, $k, $urlencode)); - elseif ( $urlencode ) - array_push($ret, $k.'='.urlencode($v)); - else - array_push($ret, $k.'='.$v); - } - - if ( NULL === $sep ) - $sep = ini_get('arg_separator.output'); - - return implode($sep, $ret); -} - +// If gettext isn't available if ( !function_exists('_') ) { function _($string) { return $string; } } -if (!function_exists('stripos')) { - function stripos($haystack, $needle, $offset = 0) { - return strpos(strtolower($haystack), strtolower($needle), $offset); +if ( !function_exists('mb_substr') ): + function mb_substr( $str, $start, $length=null, $encoding=null ) { + return _mb_substr($str, $start, $length, $encoding); } +endif; + +function _mb_substr( $str, $start, $length=null, $encoding=null ) { + // the solution below, works only for utf-8, so in case of a different + // charset, just use built-in substr + $charset = get_option( 'blog_charset' ); + if ( !in_array( $charset, array('utf8', 'utf-8', 'UTF8', 'UTF-8') ) ) { + return is_null( $length )? substr( $str, $start ) : substr( $str, $start, $length); + } + // use the regex unicode support to separate the UTF-8 characters into an array + preg_match_all( '/./us', $str, $match ); + $chars = is_null( $length )? array_slice( $match[0], $start ) : array_slice( $match[0], $start, $length ); + return implode( '', $chars ); } if ( !function_exists('hash_hmac') ): @@ -85,45 +61,6 @@ function _hash_hmac($algo, $data, $key, $raw_output = false) { return $hmac; } -if ( !function_exists('mb_substr') ): - function mb_substr( $str, $start, $length=null, $encoding=null ) { - return _mb_substr($str, $start, $length, $encoding); - } -endif; - -function _mb_substr( $str, $start, $length=null, $encoding=null ) { - // the solution below, works only for utf-8, so in case of a different - // charset, just use built-in substr - $charset = get_option( 'blog_charset' ); - if ( !in_array( $charset, array('utf8', 'utf-8', 'UTF8', 'UTF-8') ) ) { - return is_null( $length )? substr( $str, $start ) : substr( $str, $start, $length); - } - // use the regex unicode support to separate the UTF-8 characters into an array - preg_match_all( '/./us', $str, $match ); - $chars = is_null( $length )? array_slice( $match[0], $start ) : array_slice( $match[0], $start, $length ); - return implode( '', $chars ); -} - -if ( !function_exists( 'htmlspecialchars_decode' ) ) { - // Added in PHP 5.1.0 - // Error checks from PEAR::PHP_Compat - function htmlspecialchars_decode( $string, $quote_style = ENT_COMPAT ) - { - if ( !is_scalar( $string ) ) { - trigger_error( 'htmlspecialchars_decode() expects parameter 1 to be string, ' . gettype( $string ) . ' given', E_USER_WARNING ); - return; - } - - if ( !is_int( $quote_style ) && $quote_style !== null ) { - trigger_error( 'htmlspecialchars_decode() expects parameter 2 to be integer, ' . gettype( $quote_style ) . ' given', E_USER_WARNING ); - return; - } - - return wp_specialchars_decode( $string, $quote_style ); - } -} - -// For PHP < 5.2.0 if ( !function_exists('json_encode') ) { function json_encode( $string ) { global $wp_json; @@ -157,14 +94,3 @@ if ( !function_exists('json_decode') ) { return is_array($data) ? array_map(__FUNCTION__, $data) : $data; } } - -// pathinfo that fills 'filename' without extension like in PHP 5.2+ -function pathinfo52($path) { - $parts = pathinfo($path); - if ( !isset($parts['filename']) ) { - $parts['filename'] = substr( $parts['basename'], 0, strrpos($parts['basename'], '.') ); - if ( empty($parts['filename']) ) // there's no extension - $parts['filename'] = $parts['basename']; - } - return $parts; -} diff --git a/wp-includes/css/admin-bar-rtl.css b/wp-includes/css/admin-bar-rtl.css index 5684c0952..59ad56a9a 100644 --- a/wp-includes/css/admin-bar-rtl.css +++ b/wp-includes/css/admin-bar-rtl.css @@ -1 +1 @@ -#wpadminbar{direction:rtl;font-family:Tahoma,Arial,sans-serif;right:0;left:auto;}#wpadminbar .quicklinks ul{text-align:right;}#wpadminbar .quicklinks ul li{float:right;}#wpadminbar .quicklinks>ul>li>a{border-left:1px solid #686868;border-right:1px solid #808080;}#wpadminbar .quicklinks>ul>li:last-child>a{border-left:none;border-right:1px solid #808080;}#wpadminbar .quicklinks>ul>li:hover>a{border-right-color:#707070;border-left-color:#686868;}#wpadminbar .quicklinks li#wp-admin-bar-my-account-with-avatar a img{margin:-2px -5px 0 23px;}#wpadminbar .quicklinks li#wp-admin-bar-my-account-with-avatar ul{left:auto;right:30px;}#wpadminbar .quicklinks .menupop li:hover>ul,#wpadminbar .quicklinks .menupop li.hover>ul{margin-right:100%;margin-left:0;}#wpadminbar .quicklinks .menupop a>span{background:url(../images/admin-bar-sprite-rtl.png?d=11122010) left -58px no-repeat;padding-right:0;padding-left:.8em;}#wpadminbar .quicklinks .menupop ul li a>span{background:url(../images/admin-bar-sprite-rtl.png?d=11122010) left -29px no-repeat;padding-right:0;padding-left:1.5em;}#wpadminbar .quicklinks a{font-family:Tahoma,Arial,Helvetica,sans-serif;}#wpadminbar .quicklinks .menupop li a img.blavatar{margin-right:0;margin-left:8px;}#wpadminbar .quicklinks li#wp-admin-bar-my-account-with-avatar>a{background:url(../images/admin-bar-sprite-rtl.png?d=11122010) top right no-repeat;}#wpadminbar .quicklinks li#wp-admin-bar-my-account>a,#wpadminbar .quicklinks li#wp-admin-bar-my-account-with-avatar>a{border-right:none;border-left:1px solid #686868;}#wpadminbar #adminbarsearch{float:left;}#wpadminbar #adminbarsearch .adminbar-input{float:right;font-family:Tahoma,Arial,Helvetica,sans-serif;margin-right:0;margin-left:3px;-moz-box-shadow:inset 2px -2px 1px #cdcdcd;-webkit-box-shadow:inset -2px 2px 1px #cdcdcd;box-shadow:inset 2px -2px 1px #cdcdcd;}#wpadminbar #adminbarsearch .adminbar-button{float:right;font-family:Tahoma,Arial,Helvetica,sans-serif;} \ No newline at end of file +#wpadminbar{direction:rtl;font-family:Tahoma,Arial,Helvetica,sans-serif;right:0;left:auto;}#wpadminbar *{font-family:Tahoma,Arial,Helvetica,sans-serif;}#wpadminbar .quicklinks ul{text-align:right;}#wpadminbar .quicklinks ul li{float:right;}#wpadminbar .quicklinks>ul>li>a{border-left:1px solid #686868;border-right:1px solid #808080;}#wpadminbar .quicklinks>ul>li:last-child>a{border-left:none;border-right:1px solid #808080;}#wpadminbar .quicklinks>ul>li:hover>a{border-right-color:#707070;border-left-color:#686868;}#wpadminbar .quicklinks li#wp-admin-bar-my-account-with-avatar a img{margin:-2px -5px 0 23px;}#wpadminbar .quicklinks li#wp-admin-bar-my-account-with-avatar ul{left:auto;right:30px;}#wpadminbar .quicklinks li#wp-admin-bar-my-account-with-avatar ul ul{right:0;left:auto;}#wpadminbar .quicklinks .menupop li:hover>ul,#wpadminbar .quicklinks .menupop li.hover>ul{margin-right:100%;margin-left:0;}#wpadminbar .quicklinks .menupop a>span{background:url(../images/admin-bar-sprite-rtl.png?d=11122010) left -58px no-repeat;padding-right:0;padding-left:.8em;}#wpadminbar .quicklinks .menupop ul li a>span{background:url(../images/admin-bar-sprite-rtl.png?d=11122010) left -29px no-repeat;padding-right:0;padding-left:1.5em;}#wpadminbar .quicklinks a{font-family:Tahoma,Arial,Helvetica,sans-serif;}#wpadminbar .quicklinks .menupop li a img.blavatar{margin-right:0;margin-left:8px;}#wpadminbar .quicklinks li#wp-admin-bar-my-account-with-avatar>a{background:url(../images/admin-bar-sprite-rtl.png?d=11122010) top right no-repeat;}#wpadminbar .quicklinks li#wp-admin-bar-my-account>a,#wpadminbar .quicklinks li#wp-admin-bar-my-account-with-avatar>a{border-right:none;border-left:1px solid #686868;}#wpadminbar #adminbarsearch{float:left;}#wpadminbar #adminbarsearch .adminbar-input{float:right;font-family:Tahoma,Arial,Helvetica,sans-serif;margin-right:0;margin-left:3px;-moz-box-shadow:inset 2px -2px 1px #cdcdcd;-webkit-box-shadow:inset -2px 2px 1px #cdcdcd;box-shadow:inset 2px -2px 1px #cdcdcd;}#wpadminbar #adminbarsearch .adminbar-button{float:right;font-family:Tahoma,Arial,Helvetica,sans-serif;} \ No newline at end of file diff --git a/wp-includes/css/admin-bar-rtl.dev.css b/wp-includes/css/admin-bar-rtl.dev.css index acfe04524..26138f527 100644 --- a/wp-includes/css/admin-bar-rtl.dev.css +++ b/wp-includes/css/admin-bar-rtl.dev.css @@ -1,10 +1,14 @@ #wpadminbar { direction: rtl; - font-family: Tahoma, Arial ,sans-serif; + font-family: Tahoma, Arial, Helvetica, sans-serif; right: 0; left: auto; } +#wpadminbar * { + font-family: Tahoma, Arial, Helvetica, sans-serif; +} + #wpadminbar .quicklinks ul { text-align: right; } @@ -37,6 +41,11 @@ right: 30px; } +#wpadminbar .quicklinks li#wp-admin-bar-my-account-with-avatar ul ul { + right: 0; + left: auto; +} + #wpadminbar .quicklinks .menupop li:hover > ul, #wpadminbar .quicklinks .menupop li.hover > ul { margin-right: 100%; diff --git a/wp-includes/css/admin-bar.css b/wp-includes/css/admin-bar.css index 5e2fcc3a6..d98ef3a98 100644 --- a/wp-includes/css/admin-bar.css +++ b/wp-includes/css/admin-bar.css @@ -1 +1 @@ -#wpadminbar *{height:auto;width:auto;margin:0;padding:0;position:static;text-transform:none;letter-spacing:normal;line-height:1;}#wpadminbar :before,#wpadminbar :after{content:normal;}#wpadminbar a,#wpadminbar a:hover,#wpadminbar a img,#wpadminbar a img:hover{outline:none;border:none;text-decoration:none;background:none;}#wpadminbar{direction:ltr;background-color:#777;background-image:-moz-linear-gradient(bottom,#666,#7f7f7f);background-image:-webkit-gradient(linear,left bottom,left top,from(#666),to(#7f7f7f));color:#ddd;font:normal 12px/28px Arial,Helvetica,sans-serif;height:28px;position:fixed;top:0;left:0;width:100%;z-index:99999;min-width:960px;}#wpadminbar ul,#wpadminbar ul li{background:none;list-style:none;margin:0;padding:0;position:relative;z-index:99999;}#wpadminbar .quicklinks ul{text-align:left;}#wpadminbar .quicklinks ul li{float:left;}#wpadminbar .quicklinks>ul>li>a{border-right:1px solid #686868;border-left:1px solid #808080;}#wpadminbar .quicklinks>ul>li:last-child>a{border-right:none;}#wpadminbar .quicklinks>ul>li:hover>a{border-left-color:#707070;}#wpadminbar .quicklinks a,#wpadminbar .shortlink-input{color:#ddd;height:28px;text-shadow:#555 0 -1px 0;display:block;font:normal 13px/28px Arial,Helvetica,sans-serif;padding:0 .85em;margin:0;}#wpadminbar .quicklinks a>span{line-height:28px;}#wpadminbar .quicklinks .menupop ul,#wpadminbar .shortlink-input{-moz-box-shadow:0 4px 8px rgba(0,0,0,0.1);-webkit-box-shadow:0 4px 8px rgba(0,0,0,0.1);box-shadow:0 4px 8px rgba(0,0,0,0.1);background:#fff;background:rgba(255,255,255,0.97);display:none;position:absolute;border:1px solid #dfdfdf;border-top:none;float:none;}#wpadminbar .selected .shortlink-input{display:block;}#wpadminbar .quicklinks .menupop ul li{float:none;}#wpadminbar .quicklinks .menupop ul li a,#wpadminbar .shortlink-input{color:#555;text-shadow:none;white-space:nowrap;min-width:140px;}#wpadminbar .shortlink-input{width:200px;}#wpadminbar .quicklinks .menupop ul li:hover>a{color:#fff;text-shadow:#666 0 -1px 0;}#wpadminbar .quicklinks li:hover>ul,#wpadminbar .quicklinks li.hover>ul{display:block;}#wpadminbar .quicklinks .menupop li:hover>ul,#wpadminbar .quicklinks .menupop li.hover>ul{margin-left:100%;margin-top:-28px;}#wpadminbar .quicklinks li:hover,#wpadminbar .quicklinks .selected{background:#555;background:-moz-linear-gradient(bottom,#555,#3e3e3e);background:-webkit-gradient(linear,left bottom,left top,from(#555),to(#3e3e3e));}#wpadminbar .quicklinks .menupop li:hover{background:#888;background:-moz-linear-gradient(bottom,#888,#9d9d9d);background:-webkit-gradient(linear,left bottom,left top,from(#888),to(#9d9d9d));}#wpadminbar .quicklinks .menupop a>span{display:inline;background:url(../images/admin-bar-sprite.png?d=11122010) right -58px no-repeat;padding-right:.8em;}#wpadminbar .quicklinks .menupop ul li a>span{display:block;background:url(../images/admin-bar-sprite.png?d=11122010) right -29px no-repeat;padding-right:1.5em;}#wpadminbar .quicklinks a span#ab-awaiting-mod,#wpadminbar .quicklinks a span#ab-updates{background:#eee;color:#333;text-shadow:none;display:inline;padding:2px 5px;font-size:10px;font-weight:bold;-moz-border-radius:10px;-khtml-border-radius:10px;-webkit-border-radius:10px;border-radius:10px;}#wpadminbar .quicklinks a:hover span#ab-awaiting-mod,#wpadminbar .quicklinks a:hover span#ab-updates{background:#fff;color:#000;}#wpadminbar .quicklinks li#wp-admin-bar-my-account>a{border-left:none;}#wpadminbar .quicklinks li#wp-admin-bar-my-account-with-avatar>a{border-left:none;background:url(../images/admin-bar-sprite.png?d=11122010) top left no-repeat;}#wpadminbar .quicklinks li#wp-admin-bar-my-account-with-avatar>a img{width:16px;height:16px;display:inline;border:1px solid #999;vertical-align:middle;margin:-2px 23px 0 -5px;padding:0;background:#eee;float:none;}#wpadminbar .quicklinks li#wp-admin-bar-my-account-with-avatar ul{left:30px;}#wpadminbar .quicklinks li#wp-admin-bar-my-account-with-avatar ul ul{left:0;}#wpadminbar .quicklinks .menupop li a img.blavatar{vertical-align:middle;margin:0 8px 0 0;padding:0;}#wpadminbar #adminbarsearch{float:right;height:18px;padding:3px;margin:0;}#wpadminbar #adminbarsearch .adminbar-input{width:140px;height:auto;float:left;font:12px Arial,Helvetica,sans-serif;color:#555;text-shadow:0 1px 0 #fff;border:1px solid #626262;padding:2px 3px;margin:0 3px 0 0;background:#ddd;-moz-box-shadow:inset 2px 2px 1px #cdcdcd;-webkit-box-shadow:inset 2px 2px 1px #cdcdcd;box-shadow:inset 2px 2px 1px #cdcdcd;-webkit-border-radius:0;-khtml-border-radius:0;-moz-border-radius:0;border-radius:0;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;-ms-box-sizing:border-box;box-sizing:border-box;outline:none;}#wpadminbar #adminbarsearch .adminbar-button{font:bold 12px Arial,Helvetica,sans-serif;color:#444;text-shadow:0 1px 0 #eee;cursor:pointer;float:left;background:#aaa;background:-moz-linear-gradient(bottom,#aaa,#cecece);background:-webkit-gradient(linear,left bottom,left top,from(#aaa),to(#cecece));-webkit-border-radius:10px;-khtml-border-radius:10px;-moz-border-radius:10px;border-radius:10px;border:1px solid #626262;padding:2px 13px;margin:0;width:auto;height:auto;}#wpadminbar #adminbarsearch .adminbar-button:active{background:#a0a0a0;background:-moz-linear-gradient(bottom,#a0a0a0,#c1c1c1);background:-webkit-gradient(linear,left bottom,left top,from(#a0a0a0),to(#c1c1c1));-moz-box-shadow:inset 1px 1px 1px #9b9b9b;-webkit-box-shadow:inset 1px 1px 1px #9b9b9b;box-shadow:inset 1px 1px 1px #9b9b9b;}#wpadminbar #adminbarsearch .adminbar-button:hover{color:#000;}#wpadminbar #adminbarsearch .adminbar-button::-moz-focus-inner{border:none;}* html #wpadminbar{overflow:hidden;position:absolute;}* html #wpadminbar .quicklinks ul li a{float:left;}* html #wpadminbar .menupop a span{background-image:none;} \ No newline at end of file +#wpadminbar *{height:auto;width:auto;margin:0;padding:0;position:static;text-transform:none;letter-spacing:normal;line-height:1;font:normal 13px/28px Arial,Helvetica,sans-serif;color:#ddd;text-shadow:#555 0 -1px 0;}#wpadminbar :before,#wpadminbar :after{content:normal;}#wpadminbar a,#wpadminbar a:hover,#wpadminbar a img,#wpadminbar a img:hover{outline:none;border:none;text-decoration:none;background:none;}#wpadminbar{direction:ltr;background-color:#777;background-image:-moz-linear-gradient(bottom,#666,#7f7f7f);background-image:-webkit-gradient(linear,left bottom,left top,from(#666),to(#7f7f7f));color:#ddd;font:normal 12px/28px Arial,Helvetica,sans-serif;height:28px;position:fixed;top:0;left:0;width:100%;z-index:99999;min-width:960px;}#wpadminbar ul,#wpadminbar ul li{background:none;list-style:none;margin:0;padding:0;position:relative;z-index:99999;}#wpadminbar .quicklinks ul{text-align:left;}#wpadminbar .quicklinks ul li{float:left;}#wpadminbar .quicklinks>ul>li>a{border-right:1px solid #686868;border-left:1px solid #808080;}#wpadminbar .quicklinks>ul>li:last-child>a{border-right:none;}#wpadminbar .quicklinks>ul>li:hover>a{border-left-color:#707070;}#wpadminbar .quicklinks a,#wpadminbar .shortlink-input{height:28px;display:block;padding:0 .85em;margin:0;}#wpadminbar .quicklinks a>span{line-height:28px;}#wpadminbar .quicklinks .menupop ul,#wpadminbar .shortlink-input{-moz-box-shadow:0 4px 8px rgba(0,0,0,0.1);-webkit-box-shadow:0 4px 8px rgba(0,0,0,0.1);box-shadow:0 4px 8px rgba(0,0,0,0.1);background:#fff;background:rgba(255,255,255,0.97);display:none;position:absolute;border:1px solid #dfdfdf;border-top:none;float:none;}#wpadminbar .selected .shortlink-input{display:block;}#wpadminbar .quicklinks .menupop ul li{float:none;}#wpadminbar .quicklinks .menupop ul li a strong{font-weight:bold;}#wpadminbar .quicklinks .menupop ul li a,#wpadminbar .quicklinks .menupop ul li a span,#wpadminbar .quicklinks .menupop ul li a strong,#wpadminbar .shortlink-input{color:#555;text-shadow:none;white-space:nowrap;min-width:140px;}#wpadminbar .shortlink-input{width:200px;}#wpadminbar .quicklinks .menupop ul li:hover>a,#wpadminbar .quicklinks .menupop ul li:hover>a span,#wpadminbar .quicklinks .menupop ul li:hover>a strong{color:#fff;text-shadow:#666 0 -1px 0;}#wpadminbar .quicklinks li:hover>ul,#wpadminbar .quicklinks li.hover>ul{display:block;}#wpadminbar .quicklinks .menupop li:hover>ul,#wpadminbar .quicklinks .menupop li.hover>ul{margin-left:100%;margin-top:-28px;}#wpadminbar .quicklinks li:hover,#wpadminbar .quicklinks .selected{background:#555;background:-moz-linear-gradient(bottom,#555,#3e3e3e);background:-webkit-gradient(linear,left bottom,left top,from(#555),to(#3e3e3e));}#wpadminbar .quicklinks .menupop li:hover{background:#888;background:-moz-linear-gradient(bottom,#888,#9d9d9d);background:-webkit-gradient(linear,left bottom,left top,from(#888),to(#9d9d9d));}#wpadminbar .quicklinks .menupop a>span{display:inline;background:url(../images/admin-bar-sprite.png?d=11122010) right -58px no-repeat;padding-right:.8em;}#wpadminbar .quicklinks .menupop ul li a>span{display:block;background:url(../images/admin-bar-sprite.png?d=11122010) right -29px no-repeat;padding-right:1.5em;}#wpadminbar .quicklinks a span#ab-awaiting-mod,#wpadminbar .quicklinks a span#ab-updates{background:#eee;color:#333;text-shadow:none;display:inline;padding:2px 5px;font-size:10px;font-weight:bold;-moz-border-radius:10px;-khtml-border-radius:10px;-webkit-border-radius:10px;border-radius:10px;}#wpadminbar .quicklinks a:hover span#ab-awaiting-mod,#wpadminbar .quicklinks a:hover span#ab-updates{background:#fff;color:#000;}#wpadminbar .quicklinks li#wp-admin-bar-my-account>a{border-left:none;}#wpadminbar .quicklinks li#wp-admin-bar-my-account-with-avatar>a{border-left:none;background:url(../images/admin-bar-sprite.png?d=11122010) top left no-repeat;}#wpadminbar .quicklinks li#wp-admin-bar-my-account-with-avatar>a img{width:16px;height:16px;display:inline;border:1px solid #999;vertical-align:middle;margin:-2px 23px 0 -5px;padding:0;background:#eee;float:none;}#wpadminbar .quicklinks li#wp-admin-bar-my-account-with-avatar ul{left:30px;}#wpadminbar .quicklinks li#wp-admin-bar-my-account-with-avatar ul ul{left:0;}#wpadminbar .quicklinks .menupop li a img.blavatar{vertical-align:middle;margin:0 8px 0 0;padding:0;}#wpadminbar #adminbarsearch{float:right;height:18px;padding:3px;margin:0;}#wpadminbar #adminbarsearch .adminbar-input{width:140px;height:auto;float:left;font:12px Arial,Helvetica,sans-serif;color:#555;text-shadow:0 1px 0 #fff;border:1px solid #626262;padding:2px 3px;margin:0 3px 0 0;background:#ddd;-moz-box-shadow:inset 2px 2px 1px #cdcdcd;-webkit-box-shadow:inset 2px 2px 1px #cdcdcd;box-shadow:inset 2px 2px 1px #cdcdcd;-webkit-border-radius:0;-khtml-border-radius:0;-moz-border-radius:0;border-radius:0;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;-ms-box-sizing:border-box;box-sizing:border-box;outline:none;}#wpadminbar #adminbarsearch .adminbar-button{font:bold 12px Arial,Helvetica,sans-serif;color:#444;text-shadow:0 1px 0 #eee;cursor:pointer;float:left;background:#aaa;background:-moz-linear-gradient(bottom,#aaa,#cecece);background:-webkit-gradient(linear,left bottom,left top,from(#aaa),to(#cecece));-webkit-border-radius:10px;-khtml-border-radius:10px;-moz-border-radius:10px;border-radius:10px;border:1px solid #626262;padding:2px 13px;margin:0;width:auto;height:auto;}#wpadminbar #adminbarsearch .adminbar-button:active{background:#a0a0a0;background:-moz-linear-gradient(bottom,#a0a0a0,#c1c1c1);background:-webkit-gradient(linear,left bottom,left top,from(#a0a0a0),to(#c1c1c1));-moz-box-shadow:inset 1px 1px 1px #9b9b9b;-webkit-box-shadow:inset 1px 1px 1px #9b9b9b;box-shadow:inset 1px 1px 1px #9b9b9b;}#wpadminbar #adminbarsearch .adminbar-button:hover{color:#000;}#wpadminbar #adminbarsearch .adminbar-button::-moz-focus-inner{border:none;}* html #wpadminbar{overflow:hidden;position:absolute;}* html #wpadminbar .quicklinks ul li a{float:left;}* html #wpadminbar .menupop a span{background-image:none;} \ No newline at end of file diff --git a/wp-includes/css/admin-bar.dev.css b/wp-includes/css/admin-bar.dev.css index 0b86c84f1..e94d80e26 100644 --- a/wp-includes/css/admin-bar.dev.css +++ b/wp-includes/css/admin-bar.dev.css @@ -7,6 +7,9 @@ text-transform: none; letter-spacing: normal; line-height: 1; + font: normal 13px/28px Arial, Helvetica, sans-serif; + color: #ddd; + text-shadow: #555 0px -1px 0px; } #wpadminbar :before, @@ -73,11 +76,8 @@ #wpadminbar .quicklinks a, #wpadminbar .shortlink-input { - color: #ddd; height: 28px; - text-shadow: #555 0px -1px 0px; display: block; - font: normal 13px/28px Arial, Helvetica, sans-serif; padding: 0 0.85em; margin: 0; } @@ -108,7 +108,13 @@ float: none; } +#wpadminbar .quicklinks .menupop ul li a strong { + font-weight: bold; +} + #wpadminbar .quicklinks .menupop ul li a, +#wpadminbar .quicklinks .menupop ul li a span, +#wpadminbar .quicklinks .menupop ul li a strong, #wpadminbar .shortlink-input { color: #555; text-shadow: none; @@ -120,7 +126,9 @@ width: 200px; } -#wpadminbar .quicklinks .menupop ul li:hover > a { +#wpadminbar .quicklinks .menupop ul li:hover > a, +#wpadminbar .quicklinks .menupop ul li:hover > a span, +#wpadminbar .quicklinks .menupop ul li:hover > a strong { color: #fff; text-shadow: #666 0px -1px 0px; } diff --git a/wp-includes/default-constants.php b/wp-includes/default-constants.php index 47b9cd76e..0ba447fda 100644 --- a/wp-includes/default-constants.php +++ b/wp-includes/default-constants.php @@ -24,6 +24,10 @@ function wp_initial_constants( ) { } } + if ( ! defined( 'WP_MAX_MEMORY_LIMIT' ) ) { + define( 'WP_MAX_MEMORY_LIMIT', '256M' ); + } + /** * The $blog_id global, which you can change in the config allows you to create a simple * multiple blog installation using just one WordPress and changing $blog_id around. @@ -272,13 +276,13 @@ function wp_functionality_constants( ) { */ function wp_templating_constants( ) { /** - * Web Path to the current active template directory + * Filesystem path to the current active template directory * @since 1.5.0 */ define('TEMPLATEPATH', get_template_directory()); /** - * Web Path to the current active template stylesheet directory + * Filesystem path to the current active template stylesheet directory * @since 2.1.0 */ define('STYLESHEETPATH', get_stylesheet_directory()); @@ -290,7 +294,7 @@ function wp_templating_constants( ) { * @since 3.0.0 */ if ( !defined('WP_DEFAULT_THEME') ) - define( 'WP_DEFAULT_THEME', 'twentyten' ); + define( 'WP_DEFAULT_THEME', 'twentyeleven' ); } diff --git a/wp-includes/default-filters.php b/wp-includes/default-filters.php index 4822e2ead..a5b6150a5 100644 --- a/wp-includes/default-filters.php +++ b/wp-includes/default-filters.php @@ -58,14 +58,14 @@ foreach ( array( 'comment_author_email', 'user_email' ) as $filter ) { // Save URL foreach ( array( 'pre_comment_author_url', 'pre_user_url', 'pre_link_url', 'pre_link_image', - 'pre_link_rss' ) as $filter ) { + 'pre_link_rss', 'pre_post_guid' ) as $filter ) { add_filter( $filter, 'wp_strip_all_tags' ); add_filter( $filter, 'esc_url_raw' ); add_filter( $filter, 'wp_filter_kses' ); } // Display URL -foreach ( array( 'user_url', 'link_url', 'link_image', 'link_rss', 'comment_url' ) as $filter ) { +foreach ( array( 'user_url', 'link_url', 'link_image', 'link_rss', 'comment_url', 'post_guid' ) as $filter ) { if ( is_admin() ) add_filter( $filter, 'wp_strip_all_tags' ); add_filter( $filter, 'esc_url' ); @@ -86,6 +86,10 @@ foreach ( array( 'pre_post_status', 'pre_post_comment_status', 'pre_post_ping_st add_filter( $filter, 'sanitize_key' ); } +// Mime types +add_filter( 'pre_post_mime_type', 'sanitize_mime_type' ); +add_filter( 'post_mime_type', 'sanitize_mime_type' ); + // Places to balance tags on input foreach ( array( 'content_save_pre', 'excerpt_save_pre', 'comment_save_pre', 'pre_comment_content' ) as $filter ) { add_filter( $filter, 'balanceTags', 50 ); @@ -191,9 +195,6 @@ add_filter( 'pings_open', '_close_comments_for_old_post', 10, 2 ); add_filter( 'editable_slug', 'urldecode' ); add_filter( 'nav_menu_meta_box_object', '_wp_nav_menu_meta_box_object' ); -// Atom SSL support -add_filter( 'atom_service_url','atom_service_url_filter' ); - // Actions add_action( 'wp_head', 'wp_enqueue_scripts', 1 ); add_action( 'wp_head', 'feed_links', 2 ); @@ -215,9 +216,13 @@ add_action( 'wp_footer', 'wp_print_footer_scripts' ); add_action( 'wp_head', 'wp_shortlink_wp_head', 10, 0 ); add_action( 'template_redirect', 'wp_shortlink_header', 11, 0 ); +if ( isset( $_GET['replytocom'] ) ) + add_filter( 'pre_option_blog_public', '__return_zero' ); + // Login actions add_action( 'login_head', 'wp_print_head_scripts', 9 ); add_action( 'login_footer', 'wp_print_footer_scripts' ); +add_action( 'login_init', 'send_frame_options_header', 10, 0 ); // Feed Generator Tags foreach ( array( 'rss2_head', 'commentsrss2_head', 'rss_head', 'rdf_header', 'atom_head', 'comments_atom_head', 'opml_head', 'app_head' ) as $action ) { @@ -249,6 +254,10 @@ add_action( 'save_post', '_save_post_hook', 5, 2 ); add_action( 'transition_post_status', '_transition_post_status', 5, 3 ); add_action( 'comment_form', 'wp_comment_form_unfiltered_html_nonce' ); add_action( 'wp_scheduled_delete', 'wp_scheduled_delete' ); +add_action( 'before_wp_tiny_mce', 'wp_print_editor_js' ); +add_action( 'after_wp_tiny_mce', 'wp_preload_dialogs', 10, 1 ); +add_action( 'admin_init', 'send_frame_options_header', 10, 0 ); +add_action( 'importer_scheduled_cleanup', 'wp_delete_attachment' ); // Navigation menu actions add_action( 'delete_post', '_wp_delete_post_menu_item' ); diff --git a/wp-includes/default-widgets.php b/wp-includes/default-widgets.php index a36990515..d9b932a8e 100644 --- a/wp-includes/default-widgets.php +++ b/wp-includes/default-widgets.php @@ -13,9 +13,9 @@ */ class WP_Widget_Pages extends WP_Widget { - function WP_Widget_Pages() { + function __construct() { $widget_ops = array('classname' => 'widget_pages', 'description' => __( 'Your site’s WordPress Pages') ); - $this->WP_Widget('pages', __('Pages'), $widget_ops); + parent::__construct('pages', __('Pages'), $widget_ops); } function widget( $args, $instance ) { @@ -89,9 +89,9 @@ class WP_Widget_Pages extends WP_Widget { */ class WP_Widget_Links extends WP_Widget { - function WP_Widget_Links() { + function __construct() { $widget_ops = array('description' => __( "Your blogroll" ) ); - $this->WP_Widget('links', __('Links'), $widget_ops); + parent::__construct('links', __('Links'), $widget_ops); } function widget( $args, $instance ) { @@ -170,9 +170,9 @@ class WP_Widget_Links extends WP_Widget { */ class WP_Widget_Search extends WP_Widget { - function WP_Widget_Search() { + function __construct() { $widget_ops = array('classname' => 'widget_search', 'description' => __( "A search form for your site") ); - $this->WP_Widget('search', __('Search'), $widget_ops); + parent::__construct('search', __('Search'), $widget_ops); } function widget( $args, $instance ) { @@ -213,9 +213,9 @@ class WP_Widget_Search extends WP_Widget { */ class WP_Widget_Archives extends WP_Widget { - function WP_Widget_Archives() { + function __construct() { $widget_ops = array('classname' => 'widget_archive', 'description' => __( 'A monthly archive of your site’s posts') ); - $this->WP_Widget('archives', __('Archives'), $widget_ops); + parent::__construct('archives', __('Archives'), $widget_ops); } function widget( $args, $instance ) { @@ -278,9 +278,9 @@ class WP_Widget_Archives extends WP_Widget { */ class WP_Widget_Meta extends WP_Widget { - function WP_Widget_Meta() { + function __construct() { $widget_ops = array('classname' => 'widget_meta', 'description' => __( "Log in/out, admin, feed and WordPress links") ); - $this->WP_Widget('meta', __('Meta'), $widget_ops); + parent::__construct('meta', __('Meta'), $widget_ops); } function widget( $args, $instance ) { @@ -326,9 +326,9 @@ class WP_Widget_Meta extends WP_Widget { */ class WP_Widget_Calendar extends WP_Widget { - function WP_Widget_Calendar() { + function __construct() { $widget_ops = array('classname' => 'widget_calendar', 'description' => __( 'A calendar of your site’s posts') ); - $this->WP_Widget('calendar', __('Calendar'), $widget_ops); + parent::__construct('calendar', __('Calendar'), $widget_ops); } function widget( $args, $instance ) { @@ -367,10 +367,10 @@ class WP_Widget_Calendar extends WP_Widget { */ class WP_Widget_Text extends WP_Widget { - function WP_Widget_Text() { + function __construct() { $widget_ops = array('classname' => 'widget_text', 'description' => __('Arbitrary text or HTML')); $control_ops = array('width' => 400, 'height' => 350); - $this->WP_Widget('text', __('Text'), $widget_ops, $control_ops); + parent::__construct('text', __('Text'), $widget_ops, $control_ops); } function widget( $args, $instance ) { @@ -417,9 +417,9 @@ class WP_Widget_Text extends WP_Widget { */ class WP_Widget_Categories extends WP_Widget { - function WP_Widget_Categories() { + function __construct() { $widget_ops = array( 'classname' => 'widget_categories', 'description' => __( "A list or dropdown of categories" ) ); - $this->WP_Widget('categories', __('Categories'), $widget_ops); + parent::__construct('categories', __('Categories'), $widget_ops); } function widget( $args, $instance ) { @@ -509,9 +509,9 @@ class WP_Widget_Categories extends WP_Widget { */ class WP_Widget_Recent_Posts extends WP_Widget { - function WP_Widget_Recent_Posts() { + function __construct() { $widget_ops = array('classname' => 'widget_recent_entries', 'description' => __( "The most recent posts on your site") ); - $this->WP_Widget('recent-posts', __('Recent Posts'), $widget_ops); + parent::__construct('recent-posts', __('Recent Posts'), $widget_ops); $this->alt_option_name = 'widget_recent_entries'; add_action( 'save_post', array(&$this, 'flush_widget_cache') ); @@ -537,7 +537,7 @@ class WP_Widget_Recent_Posts extends WP_Widget { if ( ! $number = absint( $instance['number'] ) ) $number = 10; - $r = new WP_Query(array('posts_per_page' => $number, 'nopaging' => 0, 'post_status' => 'publish', 'ignore_sticky_posts' => true)); + $r = new WP_Query(array('posts_per_page' => $number, 'no_found_rows' => true, 'post_status' => 'publish', 'ignore_sticky_posts' => true)); if ($r->have_posts()) : ?> <?php echo $before_widget; ?> @@ -595,9 +595,9 @@ class WP_Widget_Recent_Posts extends WP_Widget { */ class WP_Widget_Recent_Comments extends WP_Widget { - function WP_Widget_Recent_Comments() { + function __construct() { $widget_ops = array('classname' => 'widget_recent_comments', 'description' => __( 'The most recent comments' ) ); - $this->WP_Widget('recent-comments', __('Recent Comments'), $widget_ops); + parent::__construct('recent-comments', __('Recent Comments'), $widget_ops); $this->alt_option_name = 'widget_recent_comments'; if ( is_active_widget(false, false, $this->id_base) ) @@ -640,7 +640,7 @@ class WP_Widget_Recent_Comments extends WP_Widget { if ( ! $number = absint( $instance['number'] ) ) $number = 5; - $comments = get_comments( array( 'number' => $number, 'status' => 'approve' ) ); + $comments = get_comments( array( 'number' => $number, 'status' => 'approve', 'post_status' => 'publish' ) ); $output .= $before_widget; if ( $title ) $output .= $before_title . $title . $after_title; @@ -692,10 +692,10 @@ class WP_Widget_Recent_Comments extends WP_Widget { */ class WP_Widget_RSS extends WP_Widget { - function WP_Widget_RSS() { + function __construct() { $widget_ops = array( 'description' => __('Entries from any RSS or Atom feed') ); $control_ops = array( 'width' => 400, 'height' => 200 ); - $this->WP_Widget( 'rss', __('RSS'), $widget_ops, $control_ops ); + parent::__construct( 'rss', __('RSS'), $widget_ops, $control_ops ); } function widget($args, $instance) { @@ -713,7 +713,7 @@ class WP_Widget_RSS extends WP_Widget { return; // self-url destruction sequence - if ( $url == site_url() || $url == home_url() ) + if ( in_array( untrailingslashit( $url ), array( site_url(), home_url() ) ) ) return; $rss = fetch_feed($url); @@ -985,9 +985,9 @@ function wp_widget_rss_process( $widget_rss, $check_feed = true ) { */ class WP_Widget_Tag_Cloud extends WP_Widget { - function WP_Widget_Tag_Cloud() { + function __construct() { $widget_ops = array( 'description' => __( "Your most used tags in cloud format") ); - $this->WP_Widget('tag_cloud', __('Tag Cloud'), $widget_ops); + parent::__construct('tag_cloud', __('Tag Cloud'), $widget_ops); } function widget( $args, $instance ) { @@ -1052,9 +1052,9 @@ class WP_Widget_Tag_Cloud extends WP_Widget { */ class WP_Nav_Menu_Widget extends WP_Widget { - function WP_Nav_Menu_Widget() { + function __construct() { $widget_ops = array( 'description' => __('Use this widget to add one of your custom menus as a widget.') ); - parent::WP_Widget( 'nav_menu', __('Custom Menu'), $widget_ops ); + parent::__construct( 'nav_menu', __('Custom Menu'), $widget_ops ); } function widget($args, $instance) { diff --git a/wp-includes/deprecated.php b/wp-includes/deprecated.php index 2300572ef..1464b6874 100644 --- a/wp-includes/deprecated.php +++ b/wp-includes/deprecated.php @@ -1323,7 +1323,7 @@ function get_category_children( $id, $before = '/', $after = '', $visited = arra * * @since 1.5 * @deprecated 2.8 - * @deprecated Use the_author_meta('description') + * @deprecated Use get_the_author_meta('description') * @see get_the_author_meta() * * @return string The author's description. @@ -1351,7 +1351,7 @@ function the_author_description() { * * @since 1.5 * @deprecated 2.8 - * @deprecated Use the_author_meta('login') + * @deprecated Use get_the_author_meta('login') * @see get_the_author_meta() * * @return string The author's login name (username). @@ -1379,7 +1379,7 @@ function the_author_login() { * * @since 1.5 * @deprecated 2.8 - * @deprecated Use the_author_meta('first_name') + * @deprecated Use get_the_author_meta('first_name') * @see get_the_author_meta() * * @return string The author's first name. @@ -2602,3 +2602,16 @@ function update_category_cache() { return true; } +/** + * Check for PHP timezone support + * + * @since 2.9.0 + * @deprecated 3.2 + * + * @return bool + */ +function wp_timezone_supported() { + _deprecated_function( __FUNCTION__, '3.2' ); + + return true; +} diff --git a/wp-includes/feed-atom.php b/wp-includes/feed-atom.php index b23dffcd9..db8d66b80 100644 --- a/wp-includes/feed-atom.php +++ b/wp-includes/feed-atom.php @@ -32,7 +32,8 @@ echo '<?xml version="1.0" encoding="'.get_option('blog_charset').'"?'.'>'; ?> <name><?php the_author() ?></name> <?php $author_url = get_the_author_meta('url'); if ( !empty($author_url) ) : ?> <uri><?php the_author_meta('url')?></uri> - <?php endif; ?> + <?php endif; + do_action('atom_author'); ?> </author> <title type="<?php html_type_rss(); ?>"><![CDATA[<?php the_title_rss() ?>]]></title> <link rel="alternate" type="text/html" href="<?php the_permalink_rss() ?>" /> diff --git a/wp-includes/formatting.php b/wp-includes/formatting.php index c4f53e9c9..82a1b9bdf 100644 --- a/wp-includes/formatting.php +++ b/wp-includes/formatting.php @@ -28,14 +28,10 @@ */ function wptexturize($text) { global $wp_cockneyreplace; - static $static_setup = false, $opening_quote, $closing_quote, $default_no_texturize_tags, $default_no_texturize_shortcodes, $static_characters, $static_replacements, $dynamic_characters, $dynamic_replacements; - $output = ''; - $curl = ''; - $textarr = preg_split('/(<.*>|\[.*\])/Us', $text, -1, PREG_SPLIT_DELIM_CAPTURE); - $stop = count($textarr); + static $opening_quote, $closing_quote, $default_no_texturize_tags, $default_no_texturize_shortcodes, $static_characters, $static_replacements, $dynamic_characters, $dynamic_replacements; - // No need to set up these variables more than once - if (!$static_setup) { + // No need to set up these static variables more than once + if ( empty( $opening_quote ) ) { /* translators: opening curly quote */ $opening_quote = _x('“', 'opening curly quote'); /* translators: closing curly quote */ @@ -58,8 +54,6 @@ function wptexturize($text) { $dynamic_characters = array('/\'(\d\d(?:’|\')?s)/', '/\'(\d)/', '/(\s|\A|[([{<]|")\'/', '/(\d)"/', '/(\d)\'/', '/(\S)\'([^\'\s])/', '/(\s|\A|[([{<])"(?!\s)/', '/"(\s|\S|\Z)/', '/\'([\s.]|\Z)/', '/\b(\d+)x(\d+)\b/'); $dynamic_replacements = array('’$1','’$1', '$1‘', '$1″', '$1′', '$1’$2', '$1' . $opening_quote . '$2', $closing_quote . '$1', '’$1', '$1×$2'); - - $static_setup = true; } // Transform into regexp sub-expression used in _wptexturize_pushpop_element @@ -70,32 +64,27 @@ function wptexturize($text) { $no_texturize_tags_stack = array(); $no_texturize_shortcodes_stack = array(); - for ( $i = 0; $i < $stop; $i++ ) { - $curl = $textarr[$i]; + $textarr = preg_split('/(<.*>|\[.*\])/Us', $text, -1, PREG_SPLIT_DELIM_CAPTURE); + + foreach ( $textarr as &$curl ) { + if ( empty( $curl ) ) + continue; - if ( !empty($curl) && '<' != $curl[0] && '[' != $curl[0] - && empty($no_texturize_shortcodes_stack) && empty($no_texturize_tags_stack)) { - // This is not a tag, nor is the texturization disabled - // static strings + // Only call _wptexturize_pushpop_element if first char is correct tag opening + $first = $curl[0]; + if ( '<' === $first ) { + _wptexturize_pushpop_element($curl, $no_texturize_tags_stack, $no_texturize_tags, '<', '>'); + } elseif ( '[' === $first ) { + _wptexturize_pushpop_element($curl, $no_texturize_shortcodes_stack, $no_texturize_shortcodes, '[', ']'); + } elseif ( empty($no_texturize_shortcodes_stack) && empty($no_texturize_tags_stack) ) { + // This is not a tag, nor is the texturization disabled static strings $curl = str_replace($static_characters, $static_replacements, $curl); // regular expressions $curl = preg_replace($dynamic_characters, $dynamic_replacements, $curl); - } elseif (!empty($curl)) { - /* - * Only call _wptexturize_pushpop_element if first char is correct - * tag opening - */ - if ('<' == $curl[0]) - _wptexturize_pushpop_element($curl, $no_texturize_tags_stack, $no_texturize_tags, '<', '>'); - elseif ('[' == $curl[0]) - _wptexturize_pushpop_element($curl, $no_texturize_shortcodes_stack, $no_texturize_shortcodes, '[', ']'); } - $curl = preg_replace('/&([^#])(?![a-zA-Z1-4]{1,8};)/', '&$1', $curl); - $output .= $curl; } - - return $output; + return implode( '', $textarr ); } /** @@ -573,7 +562,7 @@ function remove_accents($string) { chr(195).chr(176) => 'd', chr(195).chr(177) => 'n', chr(195).chr(178) => 'o', chr(195).chr(179) => 'o', chr(195).chr(180) => 'o', chr(195).chr(181) => 'o', - chr(195).chr(182) => 'o', chr(195).chr(182) => 'o', + chr(195).chr(182) => 'o', chr(195).chr(184) => 'o', chr(195).chr(185) => 'u', chr(195).chr(186) => 'u', chr(195).chr(187) => 'u', chr(195).chr(188) => 'u', chr(195).chr(189) => 'y', chr(195).chr(190) => 'th', @@ -718,7 +707,7 @@ function sanitize_file_name( $filename ) { if ( preg_match("/^[a-zA-Z]{2,5}\d?$/", $part) ) { $allowed = false; foreach ( $mimes as $ext_preg => $mime_match ) { - $ext_preg = '!(^' . $ext_preg . ')$!i'; + $ext_preg = '!^(' . $ext_preg . ')$!i'; if ( preg_match( $ext_preg, $part ) ) { $allowed = true; break; @@ -876,7 +865,7 @@ function sanitize_sql_orderby( $orderby ){ /** * Santizes a html classname to ensure it only contains valid characters * - * Strips the string down to A-Z,a-z,0-9,'-' if this results in an empty + * Strips the string down to A-Z,a-z,0-9,_,-. If this results in an empty * string then it will return the alternative value supplied. * * @todo Expand to support the full range of CDATA that a class attribute can contain. @@ -890,10 +879,10 @@ function sanitize_sql_orderby( $orderby ){ */ function sanitize_html_class( $class, $fallback = '' ) { //Strip out any % encoded octets - $sanitized = preg_replace('|%[a-fA-F0-9][a-fA-F0-9]|', '', $class); + $sanitized = preg_replace( '|%[a-fA-F0-9][a-fA-F0-9]|', '', $class ); - //Limit to A-Z,a-z,0-9,'-' - $sanitized = preg_replace('/[^A-Za-z0-9-]/', '', $sanitized); + //Limit to A-Z,a-z,0-9,_,- + $sanitized = preg_replace( '/[^A-Za-z0-9_-]/', '', $sanitized ); if ( '' == $sanitized ) $sanitized = $fallback; @@ -1238,7 +1227,7 @@ function addslashes_gpc($gpc) { * * @since 2.0.0 * - * @param array|string $value The array or string to be striped. + * @param array|string $value The array or string to be stripped. * @return array|string Stripped array (or string in the callback). */ function stripslashes_deep($value) { @@ -1599,8 +1588,8 @@ function _wp_iso_convert( $match ) { * * Requires and returns a date in the Y-m-d H:i:s format. Simply subtracts the * value of the 'gmt_offset' option. Return format can be overridden using the - * $format parameter. If PHP5 is supported, the function uses the DateTime and - * DateTimeZone objects to respect time zone differences in DST. + * $format parameter. The DateTime and DateTimeZone classes are used to respect + * time zone differences in DST. * * @since 1.2.0 * @@ -1612,8 +1601,7 @@ function _wp_iso_convert( $match ) { function get_gmt_from_date($string, $format = 'Y-m-d H:i:s') { preg_match('#([0-9]{1,4})-([0-9]{1,2})-([0-9]{1,2}) ([0-9]{1,2}):([0-9]{1,2}):([0-9]{1,2})#', $string, $matches); $tz = get_option('timezone_string'); - if( class_exists('DateTime') && $tz ) { - //PHP5 + if ( $tz ) { date_default_timezone_set( $tz ); $datetime = new DateTime( $string ); $datetime->setTimezone( new DateTimeZone('UTC') ); @@ -1622,9 +1610,7 @@ function get_gmt_from_date($string, $format = 'Y-m-d H:i:s') { $string_gmt = gmdate($format, $datetime->format('U')); date_default_timezone_set('UTC'); - } - else { - //PHP4 + } else { $string_time = gmmktime($matches[4], $matches[5], $matches[6], $matches[2], $matches[3], $matches[1]); $string_gmt = gmdate($format, $string_time - get_option('gmt_offset') * 3600); } @@ -2440,7 +2426,14 @@ function sanitize_option($option, $value) { add_settings_error('admin_email', 'invalid_admin_email', __('The email address entered did not appear to be a valid email address. Please enter a valid email address.')); } break; - + case 'new_admin_email': + $value = sanitize_email($value); + if ( !is_email($value) ) { + $value = get_option( $option ); // Resets option to stored value in the case of failed sanitization + if ( function_exists('add_settings_error') ) + add_settings_error('new_admin_email', 'invalid_admin_email', __('The email address entered did not appear to be a valid email address. Please enter a valid email address.')); + } + break; case 'thumbnail_size_w': case 'thumbnail_size_h': case 'medium_size_w': @@ -2534,6 +2527,20 @@ function sanitize_option($option, $value) { add_settings_error('home', 'invalid_home', __('The Site address you entered did not appear to be a valid URL. Please enter a valid URL.')); } break; + case 'WPLANG': + $allowed = get_available_languages(); + if ( ! in_array( $value, $allowed ) && ! empty( $value ) ) + $value = get_option( $option ); + break; + + case 'timezone_string': + $allowed_zones = timezone_identifiers_list(); + if ( ! in_array( $value, $allowed_zones ) && ! empty( $value ) ) { + $value = get_option( $option ); // Resets option to stored value in the case of failed sanitization + if ( function_exists('add_settings_error') ) + add_settings_error('timezone_string', 'invalid_timezone_string', __('The timezone you have entered is not valid. Please select a valid timezone.') ); + } + break; default : $value = apply_filters("sanitize_option_{$option}", $value, $option); @@ -2678,7 +2685,7 @@ function wp_sprintf_l($pattern, $args) { // Translate and filter the delimiter set (avoid ampersands and entities here) $l = apply_filters('wp_sprintf_l', array( - /* translators: used between list items, there is a space after the coma */ + /* translators: used between list items, there is a space after the comma */ 'between' => __(', '), /* translators: used between list items, there is a space after the and */ 'between_last_two' => __(', and '), @@ -2769,7 +2776,7 @@ function _links_add_base($m) { * This function by default only applies to <a> tags, however this can be * modified by the 3rd param. * - * <b>NOTE:</b> Any current target attributed will be striped and replaced. + * <b>NOTE:</b> Any current target attributed will be stripped and replaced. * * @since 2.7.0 * @@ -2903,4 +2910,17 @@ function capital_P_dangit( $text ) { } +/** + * Sanitize a mime type + * + * @since 3.1.3 + * + * @param string $mime_type Mime type + * @return string Sanitized mime type + */ +function sanitize_mime_type( $mime_type ) { + $sani_mime_type = preg_replace( '/[^-+*.a-zA-Z0-9\/]/', '', $mime_type ); + return apply_filters( 'sanitize_mime_type', $sani_mime_type, $mime_type ); +} + ?> diff --git a/wp-includes/functions.php b/wp-includes/functions.php index 72843130a..7a682ef36 100644 --- a/wp-includes/functions.php +++ b/wp-includes/functions.php @@ -84,8 +84,8 @@ function current_time( $type, $gmt = 0 ) { function date_i18n( $dateformatstring, $unixtimestamp = false, $gmt = false ) { global $wp_locale; $i = $unixtimestamp; - // Sanity check for PHP 5.1.0- - if ( false === $i || intval($i) < 0 ) { + + if ( false === $i ) { if ( ! $gmt ) $i = current_time( 'timestamp' ); else @@ -120,7 +120,7 @@ function date_i18n( $dateformatstring, $unixtimestamp = false, $gmt = false ) { } $timezone_formats = array( 'P', 'I', 'O', 'T', 'Z', 'e' ); $timezone_formats_re = implode( '|', $timezone_formats ); - if ( preg_match( "/$timezone_formats_re/", $dateformatstring ) && wp_timezone_supported() ) { + if ( preg_match( "/$timezone_formats_re/", $dateformatstring ) ) { $timezone_string = get_option( 'timezone_string' ); if ( $timezone_string ) { $timezone_object = timezone_open( $timezone_string ); @@ -288,9 +288,19 @@ function is_serialized_string( $data ) { if ( !is_string( $data ) ) return false; $data = trim( $data ); - if ( preg_match( '/^s:[0-9]+:.*;$/s', $data ) ) // this should fetch all serialized strings + $length = strlen( $data ); + if ( $length < 4 ) + return false; + elseif ( ':' !== $data[1] ) + return false; + elseif ( ';' !== $data[$length-1] ) + return false; + elseif ( $data[0] !== 's' ) + return false; + elseif ( '"' !== $data[$length-2] ) + return false; + else return true; - return false; } /** @@ -509,7 +519,7 @@ function update_option( $option, $newvalue ) { wp_protect_special_option( $option ); if ( is_object($newvalue) ) - $newvalue = wp_clone($newvalue); + $newvalue = clone $newvalue; $newvalue = sanitize_option( $option, $newvalue ); $oldvalue = get_option( $option ); @@ -591,7 +601,7 @@ function add_option( $option, $value = '', $deprecated = '', $autoload = 'yes' ) wp_protect_special_option( $option ); if ( is_object($value) ) - $value = wp_clone($value); + $value = clone $value; $value = sanitize_option( $option, $value ); @@ -1291,7 +1301,7 @@ function wp_get_http( $url, $file_path = false, $red = 1 ) { return false; $headers = wp_remote_retrieve_headers( $response ); - $headers['response'] = $response['response']['code']; + $headers['response'] = wp_remote_retrieve_response_code( $response ); // WP_HTTP no longer follows redirects for HEAD requests. if ( 'HEAD' == $options['method'] && in_array($headers['response'], array(301, 302)) && isset( $headers['location'] ) ) { @@ -1306,7 +1316,7 @@ function wp_get_http( $url, $file_path = false, $red = 1 ) { if ( !$out_fp ) return $headers; - fwrite( $out_fp, $response['body']); + fwrite( $out_fp, wp_remote_retrieve_body( $response ) ); fclose($out_fp); clearstatcache(); @@ -1370,6 +1380,36 @@ function build_query( $data ) { return _http_build_query( $data, null, '&', '', false ); } +// from php.net (modified by Mark Jaquith to behave like the native PHP5 function) +function _http_build_query($data, $prefix=null, $sep=null, $key='', $urlencode=true) { + $ret = array(); + + foreach ( (array) $data as $k => $v ) { + if ( $urlencode) + $k = urlencode($k); + if ( is_int($k) && $prefix != null ) + $k = $prefix.$k; + if ( !empty($key) ) + $k = $key . '%5B' . $k . '%5D'; + if ( $v === NULL ) + continue; + elseif ( $v === FALSE ) + $v = '0'; + + if ( is_array($v) || is_object($v) ) + array_push($ret,_http_build_query($v, '', $sep, $k, $urlencode)); + elseif ( $urlencode ) + array_push($ret, $k.'='.urlencode($v)); + else + array_push($ret, $k.'='.$v); + } + + if ( NULL === $sep ) + $sep = ini_get('arg_separator.output'); + + return implode($sep, $ret); +} + /** * Retrieve a modified URL query string. * @@ -1512,7 +1552,7 @@ function wp_remote_fopen( $uri ) { if ( is_wp_error( $response ) ) return false; - return $response['body']; + return wp_remote_retrieve_body( $response ); } /** @@ -1910,11 +1950,6 @@ function wp_nonce_url( $actionurl, $action = -1 ) { * offer absolute protection, but should protect against most cases. It is very * important to use nonce field in forms. * - * If you set $echo to true and set $referer to true, then you will need to - * retrieve the {@link wp_referer_field() wp referer field}. If you have the - * $referer set to true and are echoing the nonce field, it will also echo the - * referer field. - * * The $action and $name are optional, but if you want to have better security, * it is strongly suggested to set those two parameters. It is easier to just * call the function without any parameters, because validation of the nonce @@ -1938,11 +1973,12 @@ function wp_nonce_url( $actionurl, $action = -1 ) { function wp_nonce_field( $action = -1, $name = "_wpnonce", $referer = true , $echo = true ) { $name = esc_attr( $name ); $nonce_field = '<input type="hidden" id="' . $name . '" name="' . $name . '" value="' . wp_create_nonce( $action ) . '" />'; - if ( $echo ) - echo $nonce_field; if ( $referer ) - wp_referer_field( $echo ); + $nonce_field .= wp_referer_field( false ); + + if ( $echo ) + echo $nonce_field; return $nonce_field; } @@ -2110,6 +2146,42 @@ function path_join( $base, $path ) { return rtrim($base, '/') . '/' . ltrim($path, '/'); } +/** + * Determines a writable directory for temporary files. + * Function's preference is to WP_CONTENT_DIR followed by the return value of <code>sys_get_temp_dir()</code>, before finally defaulting to /tmp/ + * + * In the event that this function does not find a writable location, It may be overridden by the <code>WP_TEMP_DIR</code> constant in your <code>wp-config.php</code> file. + * + * @since 2.5.0 + * + * @return string Writable temporary directory + */ +function get_temp_dir() { + static $temp; + if ( defined('WP_TEMP_DIR') ) + return trailingslashit(WP_TEMP_DIR); + + if ( $temp ) + return trailingslashit($temp); + + $temp = WP_CONTENT_DIR . '/'; + if ( is_dir($temp) && @is_writable($temp) ) + return $temp; + + if ( function_exists('sys_get_temp_dir') ) { + $temp = sys_get_temp_dir(); + if ( @is_writable($temp) ) + return trailingslashit($temp); + } + + $temp = ini_get('upload_tmp_dir'); + if ( is_dir($temp) && @is_writable($temp) ) + return trailingslashit($temp); + + $temp = '/tmp/'; + return $temp; +} + /** * Get an array containing the current upload directory's path and url. * @@ -2493,6 +2565,7 @@ function get_allowed_mime_types() { 'txt|asc|c|cc|h' => 'text/plain', 'csv' => 'text/csv', 'tsv' => 'text/tab-separated-values', + 'ics' => 'text/calendar', 'rtx' => 'text/richtext', 'css' => 'text/css', 'htm|html' => 'text/html', @@ -2784,6 +2857,42 @@ if ( 'rtl' == $text_direction ) : ?> die(); } +/** + * Kill WordPress execution and display XML message with error message. + * + * This is the handler for wp_die when processing XMLRPC requests. + * + * @since 3.2.0 + * @access private + * + * @param string $message Error message. + * @param string $title Error title. + * @param string|array $args Optional arguements to control behaviour. + */ +function _xmlrpc_wp_die_handler( $message, $title = '', $args = array() ) { + global $wp_xmlrpc_server; + $defaults = array( 'response' => 500 ); + + $r = wp_parse_args($args, $defaults); + + if ( $wp_xmlrpc_server ) { + $error = new IXR_Error( $r['response'] , $message); + $wp_xmlrpc_server->output( $error->getXml() ); + } + die(); +} + +/** + * Filter to enable special wp_die handler for xmlrpc requests. + * + * @since 3.2.0 + * @access private + */ +function _xmlrpc_wp_die_filter() { + return '_xmlrpc_wp_die_handler'; +} + + /** * Retrieve the WordPress home page URL. * @@ -3100,20 +3209,6 @@ function wp_list_pluck( $list, $field ) { return $list; } -/** - * Determines if default embed handlers should be loaded. - * - * Checks to make sure that the embeds library hasn't already been loaded. If - * it hasn't, then it will load the embeds library. - * - * @since 2.9.0 - */ -function wp_maybe_load_embeds() { - if ( ! apply_filters('load_default_embeds', true) ) - return; - require_once( ABSPATH . WPINC . '/default-embeds.php' ); -} - /** * Determines if Widgets library should be loaded. * @@ -3252,22 +3347,6 @@ function url_is_accessable_via_ssl($url) return false; } -/** - * Secure URL, if available or the given URL. - * - * @since 2.5.0 - * - * @param string $url Complete URL path with transport. - * @return string Secure or regular URL path. - */ -function atom_service_url_filter($url) -{ - if ( url_is_accessable_via_ssl($url) ) - return preg_replace( '/^http:\/\//', 'https://', $url ); - else - return $url; -} - /** * Marks a function as deprecated and informs when it has been used. * @@ -3563,7 +3642,7 @@ function force_ssl_login( $force = null ) { } /** - * Whether to force SSL used for the Administration Panels. + * Whether to force SSL used for the Administration Screens. * * @since 2.6.0 * @@ -3992,9 +4071,6 @@ function global_terms_enabled() { * @return float|bool */ function wp_timezone_override_offset() { - if ( !wp_timezone_supported() ) { - return false; - } if ( !$timezone_string = get_option( 'timezone_string' ) ) { return false; } @@ -4007,27 +4083,6 @@ function wp_timezone_override_offset() { return round( timezone_offset_get( $timezone_object, $datetime_object ) / 3600, 2 ); } -/** - * Check for PHP timezone support - * - * @since 2.9.0 - * - * @return bool - */ -function wp_timezone_supported() { - $support = false; - if ( - function_exists( 'date_create' ) && - function_exists( 'date_default_timezone_set' ) && - function_exists( 'timezone_identifiers_list' ) && - function_exists( 'timezone_open' ) && - function_exists( 'timezone_offset_get' ) - ) { - $support = true; - } - return apply_filters( 'timezone_support', $support ); -} - /** * {@internal Missing Short Description}} * @@ -4482,4 +4537,16 @@ function wp_find_hierarchy_loop_tortoise_hare( $callback, $start, $override = ar return false; } +/** + * Send a HTTP header to limit rendering of pages to same origin iframes. + * + * @link https://developer.mozilla.org/en/the_x-frame-options_response_header + * + * @since 3.1.3 + * @return none + */ +function send_frame_options_header() { + @header( 'X-Frame-Options: SAMEORIGIN' ); +} + ?> diff --git a/wp-includes/general-template.php b/wp-includes/general-template.php index 19194f2f1..be1af2a3d 100644 --- a/wp-includes/general-template.php +++ b/wp-includes/general-template.php @@ -28,7 +28,7 @@ function get_header( $name = null ) { if ( isset($name) ) $templates[] = "header-{$name}.php"; - $templates[] = "header.php"; + $templates[] = 'header.php'; // Backward compat code will be removed in a future release if ('' == locate_template($templates, true)) @@ -57,7 +57,7 @@ function get_footer( $name = null ) { if ( isset($name) ) $templates[] = "footer-{$name}.php"; - $templates[] = "footer.php"; + $templates[] = 'footer.php'; // Backward compat code will be removed in a future release if ('' == locate_template($templates, true)) @@ -86,7 +86,7 @@ function get_sidebar( $name = null ) { if ( isset($name) ) $templates[] = "sidebar-{$name}.php"; - $templates[] = "sidebar.php"; + $templates[] = 'sidebar.php'; // Backward compat code will be removed in a future release if ('' == locate_template($templates, true)) @@ -569,7 +569,7 @@ function wp_title($sep = '»', $display = true, $seplocation = '') { $my_year = substr($m, 0, 4); $my_month = $wp_locale->get_month(substr($m, 4, 2)); $my_day = intval(substr($m, 6, 2)); - $title = $my_year . ($my_month ? $t_sep . $my_month : "") . ($my_day ? $t_sep . $my_day : ""); + $title = $my_year . ( $my_month ? $t_sep . $my_month : '' ) . ( $my_day ? $t_sep . $my_day : '' ); } // If there's a year @@ -843,7 +843,7 @@ function get_archives_link($url, $text, $format = 'html', $before = '', $after = else // custom $link_html = "\t$before<a href='$url' title='$title_text'>$text</a>$after\n"; - $link_html = apply_filters( "get_archives_link", $link_html ); + $link_html = apply_filters( 'get_archives_link', $link_html ); return $link_html; } @@ -915,8 +915,8 @@ function wp_get_archives($args = '') { } //filters - $where = apply_filters('getarchives_where', "WHERE post_type = 'post' AND post_status = 'publish'", $r ); - $join = apply_filters('getarchives_join', "", $r); + $where = apply_filters( 'getarchives_where', "WHERE post_type = 'post' AND post_status = 'publish'", $r ); + $join = apply_filters( 'getarchives_join', '', $r ); $output = ''; @@ -1016,7 +1016,7 @@ function wp_get_archives($args = '') { } } } elseif ( ( 'postbypost' == $type ) || ('alpha' == $type) ) { - $orderby = ('alpha' == $type) ? "post_title ASC " : "post_date DESC "; + $orderby = ('alpha' == $type) ? 'post_title ASC ' : 'post_date DESC '; $query = "SELECT * FROM $wpdb->posts $join $where ORDER BY $orderby $limit"; $key = md5($query); $cache = wp_cache_get( 'wp_get_archives' , 'general'); @@ -1146,7 +1146,7 @@ function get_calendar($initial = true, $echo = true) { /* translators: Calendar caption: 1: month name, 2: 4-digit year */ $calendar_caption = _x('%1$s %2$s', 'calendar caption'); - $calendar_output = '<table id="wp-calendar" summary="' . esc_attr__('Calendar') . '"> + $calendar_output = '<table id="wp-calendar"> <caption>' . sprintf($calendar_caption, $wp_locale->get_month($thismonth), date('Y', $unixmonth)) . '</caption> <thead> <tr>'; @@ -1248,7 +1248,7 @@ function get_calendar($initial = true, $echo = true) { $calendar_output .= '<td>'; if ( in_array($day, $daywithpost) ) // any posts today? - $calendar_output .= '<a href="' . get_day_link($thisyear, $thismonth, $day) . "\" title=\"" . esc_attr($ak_titles_for_day[$day]) . "\">$day</a>"; + $calendar_output .= '<a href="' . get_day_link( $thisyear, $thismonth, $day ) . '" title="' . esc_attr( $ak_titles_for_day[ $day ] ) . "\">$day</a>"; else $calendar_output .= $day; $calendar_output .= '</td>'; @@ -1786,7 +1786,7 @@ function wp_default_editor() { * @param bool $media_buttons Optional, default is true. Whether to display media buttons. * @param int $tab_index Optional, default is 2. Tabindex for textarea element. */ -function the_editor($content, $id = 'content', $prev_id = 'title', $media_buttons = true, $tab_index = 2) { +function the_editor($content, $id = 'content', $prev_id = 'title', $media_buttons = true, $tab_index = 2, $extended = true) { $rows = get_option('default_post_edit_rows'); if (($rows < 3) || ($rows > 100)) $rows = 12; @@ -1839,8 +1839,15 @@ function the_editor($content, $id = 'content', $prev_id = 'title', $media_button ?> <script type="text/javascript"> edCanvas = document.getElementById('<?php echo $id; ?>'); +<?php if ( ! $extended ) { ?> jQuery('#ed_fullscreen, #ed_more').hide();<?php } ?> </script> <?php + // queue scripts + if ( $richedit ) + add_action( 'admin_print_footer_scripts', 'wp_tiny_mce', 25 ); + elseif ( $extended ) + add_action( 'admin_print_footer_scripts', 'wp_quicktags', 25 ); + } /** @@ -1990,7 +1997,7 @@ function paginate_links( $args = '' ) { if ( $add_args ) $link = add_query_arg( $add_args, $link ); $link .= $add_fragment; - $page_links[] = "<a class='prev page-numbers' href='" . esc_url( apply_filters( 'paginate_links', $link ) ) . "'>$prev_text</a>"; + $page_links[] = '<a class="prev page-numbers" href="' . esc_url( apply_filters( 'paginate_links', $link ) ) . '">' . $prev_text . '</a>'; endif; for ( $n = 1; $n <= $total; $n++ ) : $n_display = number_format_i18n($n); @@ -2007,7 +2014,7 @@ function paginate_links( $args = '' ) { $page_links[] = "<a class='page-numbers' href='" . esc_url( apply_filters( 'paginate_links', $link ) ) . "'>$n_display</a>"; $dots = true; elseif ( $dots && !$show_all ) : - $page_links[] = "<span class='page-numbers dots'>...</span>"; + $page_links[] = '<span class="page-numbers dots">...</span>'; $dots = false; endif; endif; @@ -2018,7 +2025,7 @@ function paginate_links( $args = '' ) { if ( $add_args ) $link = add_query_arg( $add_args, $link ); $link .= $add_fragment; - $page_links[] = "<a class='next page-numbers' href='" . esc_url( apply_filters( 'paginate_links', $link ) ) . "'>$next_text</a>"; + $page_links[] = '<a class="next page-numbers" href="' . esc_url( apply_filters( 'paginate_links', $link ) ) . '">' . $next_text . '</a>'; endif; switch ( $type ) : case 'array' : diff --git a/wp-includes/http.php b/wp-includes/http.php index 63cf97d1f..a909e001f 100644 --- a/wp-includes/http.php +++ b/wp-includes/http.php @@ -191,4 +191,34 @@ function wp_remote_retrieve_body(&$response) { return $response['body']; } -?> \ No newline at end of file +/** + * Determines if there is an HTTP Transport that can process this request. + * + * @since 3.2.0 + * + * @param array $capabilities Array of capabilities to test or a wp_remote_request() $args array. + * @param string $url Optional. If given, will check if the URL requires SSL and adds that requirement to the capabilities array. + * + * @return bool + */ +function wp_http_supports( $capabilities = array(), $url = null ) { + $objFetchSite = _wp_http_get_object(); + + $capabilities = wp_parse_args( $capabilities ); + + $count = count( $capabilities ); + + // If we have a numeric $capabilities array, spoof a wp_remote_request() associative $args array + if ( $count && count( array_filter( array_keys( $capabilities ), 'is_numeric' ) ) == $count ) { + $capabilities = array_combine( array_values( $capabilities ), array_fill( 0, $count, true ) ); + } + + if ( $url && !isset( $capabilities['ssl'] ) ) { + $scheme = parse_url( $url, PHP_URL_SCHEME ); + if ( 'https' == $scheme || 'ssl' == $scheme ) { + $capabilities['ssl'] = true; + } + } + + return (bool) $objFetchSite->_get_first_available_transport( $capabilities ); +} diff --git a/wp-includes/js/autosave.dev.js b/wp-includes/js/autosave.dev.js index 91be51803..aa4181152 100644 --- a/wp-includes/js/autosave.dev.js +++ b/wp-includes/js/autosave.dev.js @@ -1,4 +1,4 @@ -var autosave, autosaveLast = '', autosavePeriodical, autosaveOldMessage = '', autosaveDelayPreview = false, notSaved = true, blockSave = false, interimLogin = false; +var autosave, autosaveLast = '', autosavePeriodical, autosaveOldMessage = '', autosaveDelayPreview = false, notSaved = true, blockSave = false, fullscreen; jQuery(document).ready( function($) { var dotabkey = true; @@ -34,7 +34,14 @@ jQuery(document).ready( function($) { if ( mce.isDirty() ) return autosaveL10n.saveAlert; } else { - title = $('#post #title').val(), content = $('#post #content').val(); + if ( fullscreen && fullscreen.settings.visible ) { + title = $('#wp-fullscreen-title').val(); + content = $("#wp_mce_fullscreen").val(); + } else { + title = $('#post #title').val(); + content = $('#post #content').val(); + } + if ( ( title || content ) && title + content != autosaveLast ) return autosaveL10n.saveAlert; } @@ -83,7 +90,7 @@ jQuery(document).ready( function($) { }); function autosave_parse_response(response) { - var res = wpAjax.parseAjaxResponse(response, 'autosave'), message = '', postID, sup, url; + var res = wpAjax.parseAjaxResponse(response, 'autosave'), message = '', postID, sup; if ( res && res.responses && res.responses.length ) { message = res.responses[0].data; // The saved message or error. @@ -94,13 +101,12 @@ function autosave_parse_response(response) { autosave = function() {}; res = { errors: true }; } - if ( sup['session_expired'] && (url = sup['session_expired']) ) { - if ( !interimLogin || interimLogin.closed ) { - interimLogin = window.open(url, 'login', 'width=600,height=450,resizable=yes,scrollbars=yes,status=yes'); - interimLogin.focus(); - } - delete sup['session_expired']; + + if ( sup['alert'] ) { + jQuery('#autosave-alert').remove(); + jQuery('#titlediv').after('<div id="autosave-alert" class="error below-h2"><p>' + sup['alert'] + '</p></div>'); } + jQuery.each(sup, function(selector, value) { if ( selector.match(/^replace-/) ) { jQuery('#'+selector.replace('replace-', '')).val(value); @@ -116,8 +122,11 @@ function autosave_parse_response(response) { } } } - if ( message ) { jQuery('#autosave').html(message); } // update autosave message - else if ( autosaveOldMessage && res ) { jQuery('#autosave').html( autosaveOldMessage ); } + if ( message ) { // update autosave message + jQuery('.autosave-message').html(message); + } else if ( autosaveOldMessage && res ) { + jQuery('.autosave-message').html( autosaveOldMessage ); + } return res; } @@ -131,7 +140,7 @@ function autosave_saved(response) { // called when autosaving new post function autosave_saved_new(response) { blockSave = false; - var res = autosave_parse_response(response), tempID, postID; + var res = autosave_parse_response(response), postID; if ( res && res.responses.length && !res.errors ) { // An ID is sent only for real auto-saves, not for autosave=0 "keepalive" saves postID = parseInt( res.responses[0].id, 10 ); @@ -152,24 +161,24 @@ function autosave_saved_new(response) { function autosave_update_slug(post_id) { // create slug area only if not already there if ( 'undefined' != makeSlugeditClickable && jQuery.isFunction(makeSlugeditClickable) && !jQuery('#edit-slug-box > *').size() ) { - jQuery.post( - ajaxurl, - { + jQuery.post( ajaxurl, { action: 'sample-permalink', post_id: post_id, - new_title: jQuery('#title').val(), + new_title: fullscreen && fullscreen.settings.visible ? jQuery('#wp-fullscreen-title').val() : jQuery('#title').val(), samplepermalinknonce: jQuery('#samplepermalinknonce').val() }, function(data) { - jQuery('#edit-slug-box').html(data); - makeSlugeditClickable(); + if ( data !== '-1' ) { + jQuery('#edit-slug-box').html(data); + makeSlugeditClickable(); + } } ); } } function autosave_loading() { - jQuery('#autosave').html(autosaveL10n.savingText); + jQuery('.autosave-message').html(autosaveL10n.savingText); } function autosave_enable_buttons() { @@ -181,7 +190,7 @@ function autosave_enable_buttons() { } function autosave_disable_buttons() { - jQuery(':button, :submit', '#submitpost').attr('disabled', 'disabled'); + jQuery(':button, :submit', '#submitpost').prop('disabled', true); // Re-enable 5 sec later. Just gives autosave a head start to avoid collisions. setTimeout(autosave_enable_buttons, 5000); } @@ -197,14 +206,14 @@ function delayed_autosave() { autosave = function() { // (bool) is rich editor enabled and active blockSave = true; - var rich = (typeof tinyMCE != "undefined") && tinyMCE.activeEditor && !tinyMCE.activeEditor.isHidden(), post_data, doAutoSave, ed, origStatus, successCallback; + var rich = (typeof tinyMCE != "undefined") && tinyMCE.activeEditor && !tinyMCE.activeEditor.isHidden(), + post_data, doAutoSave, ed, origStatus, successCallback; autosave_disable_buttons(); post_data = { action: "autosave", post_ID: jQuery("#post_ID").val() || 0, - post_title: jQuery("#title").val() || "", autosavenonce: jQuery('#autosavenonce').val(), post_type: jQuery('#post_type').val() || "", autosave: 1 @@ -229,13 +238,20 @@ autosave = function() { if ( ed.plugins.spellchecker && ed.plugins.spellchecker.active ) { doAutoSave = false; } else { - if ( 'mce_fullscreen' == ed.id ) + if ( 'mce_fullscreen' == ed.id || 'wp_mce_fullscreen' == ed.id ) tinyMCE.get('content').setContent(ed.getContent({format : 'raw'}), {format : 'raw'}); - tinyMCE.get('content').save(); + tinyMCE.triggerSave(); } } - post_data["content"] = jQuery("#content").val(); + if ( fullscreen && fullscreen.settings.visible ) { + post_data["post_title"] = jQuery('#wp-fullscreen-title').val(); + post_data["content"] = jQuery("#wp_mce_fullscreen").val(); + } else { + post_data["post_title"] = jQuery("#title").val() + post_data["content"] = jQuery("#content").val(); + } + if ( jQuery('#post_name').val() ) post_data["post_name"] = jQuery('#post_name').val(); @@ -252,9 +268,9 @@ autosave = function() { } ); post_data["catslist"] = goodcats.join(","); - if ( jQuery("#comment_status").attr("checked") ) + if ( jQuery("#comment_status").prop("checked") ) post_data["comment_status"] = 'open'; - if ( jQuery("#ping_status").attr("checked") ) + if ( jQuery("#ping_status").prop("checked") ) post_data["ping_status"] = 'open'; if ( jQuery("#excerpt").size() ) post_data["excerpt"] = jQuery("#excerpt").val(); @@ -267,7 +283,8 @@ autosave = function() { post_data["auto_draft"] = '1'; if ( doAutoSave ) { - autosaveLast = jQuery("#title").val() + jQuery("#content").val(); + autosaveLast = post_data["post_title"] + post_data["content"]; + jQuery(document).triggerHandler('wpcountwords', [ post_data["content"] ]); } else { post_data['autosave'] = 0; } @@ -283,7 +300,7 @@ autosave = function() { data: post_data, beforeSend: doAutoSave ? autosave_loading : null, type: "POST", - url: autosaveL10n.requestFile, + url: ajaxurl, success: successCallback }); } diff --git a/wp-includes/js/autosave.js b/wp-includes/js/autosave.js index 14529d9de..ee06aaf56 100644 --- a/wp-includes/js/autosave.js +++ b/wp-includes/js/autosave.js @@ -1 +1 @@ -var autosave,autosaveLast="",autosavePeriodical,autosaveOldMessage="",autosaveDelayPreview=false,notSaved=true,blockSave=false,interimLogin=false;jQuery(document).ready(function(b){var a=true;autosaveLast=b("#post #title").val()+b("#post #content").val();autosavePeriodical=b.schedule({time:autosaveL10n.autosaveInterval*1000,func:function(){autosave()},repeat:true,protect:true});b("#post").submit(function(){b.cancel(autosavePeriodical)});b('input[type="submit"], a.submitdelete',"#submitpost").click(function(){blockSave=true;window.onbeforeunload=null;b(":button, :submit","#submitpost").each(function(){var c=b(this);if(c.hasClass("button-primary")){c.addClass("button-primary-disabled")}else{c.addClass("button-disabled")}});if(b(this).attr("id")=="publish"){b("#ajax-loading").css("visibility","visible")}else{b("#draft-ajax-loading").css("visibility","visible")}});window.onbeforeunload=function(){var c=typeof(tinyMCE)!="undefined"?tinyMCE.activeEditor:false,e,d;if(c&&!c.isHidden()){if(c.isDirty()){return autosaveL10n.saveAlert}}else{e=b("#post #title").val(),d=b("#post #content").val();if((e||d)&&e+d!=autosaveLast){return autosaveL10n.saveAlert}}};b("#post-preview").click(function(){if(b("#auto_draft").val()=="1"&¬Saved){autosaveDelayPreview=true;autosave();return false}doPreview();return false});doPreview=function(){b("input#wp-preview").val("dopreview");b("form#post").attr("target","wp-preview").submit().attr("target","");b("input#wp-preview").val("")};if(typeof tinyMCE!="undefined"){b("#title")[b.browser.opera?"keypress":"keydown"](function(c){if(c.which==9&&!c.shiftKey&&!c.controlKey&&!c.altKey){if((b("#auto_draft").val()=="1")&&(b("#title").val().length>0)){autosave()}if(tinyMCE.activeEditor&&!tinyMCE.activeEditor.isHidden()&&a){c.preventDefault();a=false;tinyMCE.activeEditor.focus();return false}}})}if("1"==b("#auto_draft").val()){b("#title").blur(function(){if(!this.value||b("#auto_draft").val()!="1"){return}delayed_autosave()})}});function autosave_parse_response(c){var e=wpAjax.parseAjaxResponse(c,"autosave"),f="",a,b,d;if(e&&e.responses&&e.responses.length){f=e.responses[0].data;if(e.responses[0].supplemental){b=e.responses[0].supplemental;if("disable"==b.disable_autosave){autosave=function(){};e={errors:true}}if(b.session_expired&&(d=b.session_expired)){if(!interimLogin||interimLogin.closed){interimLogin=window.open(d,"login","width=600,height=450,resizable=yes,scrollbars=yes,status=yes");interimLogin.focus()}delete b.session_expired}jQuery.each(b,function(g,h){if(g.match(/^replace-/)){jQuery("#"+g.replace("replace-","")).val(h)}})}if(!e.errors){a=parseInt(e.responses[0].id,10);if(!isNaN(a)&&a>0){autosave_update_slug(a)}}}if(f){jQuery("#autosave").html(f)}else{if(autosaveOldMessage&&e){jQuery("#autosave").html(autosaveOldMessage)}}return e}function autosave_saved(a){blockSave=false;autosave_parse_response(a);autosave_enable_buttons()}function autosave_saved_new(b){blockSave=false;var d=autosave_parse_response(b),c,a;if(d&&d.responses.length&&!d.errors){a=parseInt(d.responses[0].id,10);if(!isNaN(a)&&a>0){notSaved=false;jQuery("#auto_draft").val("0")}autosave_enable_buttons();if(autosaveDelayPreview){autosaveDelayPreview=false;doPreview()}}else{autosave_enable_buttons()}}function autosave_update_slug(a){if("undefined"!=makeSlugeditClickable&&jQuery.isFunction(makeSlugeditClickable)&&!jQuery("#edit-slug-box > *").size()){jQuery.post(ajaxurl,{action:"sample-permalink",post_id:a,new_title:jQuery("#title").val(),samplepermalinknonce:jQuery("#samplepermalinknonce").val()},function(b){jQuery("#edit-slug-box").html(b);makeSlugeditClickable()})}}function autosave_loading(){jQuery("#autosave").html(autosaveL10n.savingText)}function autosave_enable_buttons(){setTimeout(function(){jQuery(":button, :submit","#submitpost").removeAttr("disabled");jQuery(".ajax-loading").css("visibility","hidden")},500)}function autosave_disable_buttons(){jQuery(":button, :submit","#submitpost").attr("disabled","disabled");setTimeout(autosave_enable_buttons,5000)}function delayed_autosave(){setTimeout(function(){if(blockSave){return}autosave()},200)}autosave=function(){blockSave=true;var c=(typeof tinyMCE!="undefined")&&tinyMCE.activeEditor&&!tinyMCE.activeEditor.isHidden(),d,f,b,e,a;autosave_disable_buttons();d={action:"autosave",post_ID:jQuery("#post_ID").val()||0,post_title:jQuery("#title").val()||"",autosavenonce:jQuery("#autosavenonce").val(),post_type:jQuery("#post_type").val()||"",autosave:1};jQuery(".tags-input").each(function(){d[this.name]=this.value});f=true;if(jQuery("#TB_window").css("display")=="block"){f=false}if(c&&f){b=tinyMCE.activeEditor;if(b.plugins.spellchecker&&b.plugins.spellchecker.active){f=false}else{if("mce_fullscreen"==b.id){tinyMCE.get("content").setContent(b.getContent({format:"raw"}),{format:"raw"})}tinyMCE.get("content").save()}}d.content=jQuery("#content").val();if(jQuery("#post_name").val()){d.post_name=jQuery("#post_name").val()}if((d.post_title.length==0&&d.content.length==0)||d.post_title+d.content==autosaveLast){f=false}e=jQuery("#original_post_status").val();goodcats=([]);jQuery("[name='post_category[]']:checked").each(function(g){goodcats.push(this.value)});d.catslist=goodcats.join(",");if(jQuery("#comment_status").attr("checked")){d.comment_status="open"}if(jQuery("#ping_status").attr("checked")){d.ping_status="open"}if(jQuery("#excerpt").size()){d.excerpt=jQuery("#excerpt").val()}if(jQuery("#post_author").size()){d.post_author=jQuery("#post_author").val()}if(jQuery("#parent_id").val()){d.parent_id=jQuery("#parent_id").val()}d.user_ID=jQuery("#user-id").val();if(jQuery("#auto_draft").val()=="1"){d.auto_draft="1"}if(f){autosaveLast=jQuery("#title").val()+jQuery("#content").val()}else{d.autosave=0}if(d.auto_draft=="1"){a=autosave_saved_new}else{a=autosave_saved}autosaveOldMessage=jQuery("#autosave").html();jQuery.ajax({data:d,beforeSend:f?autosave_loading:null,type:"POST",url:autosaveL10n.requestFile,success:a})}; \ No newline at end of file +var autosave,autosaveLast="",autosavePeriodical,autosaveOldMessage="",autosaveDelayPreview=false,notSaved=true,blockSave=false,fullscreen;jQuery(document).ready(function(b){var a=true;autosaveLast=b("#post #title").val()+b("#post #content").val();autosavePeriodical=b.schedule({time:autosaveL10n.autosaveInterval*1000,func:function(){autosave()},repeat:true,protect:true});b("#post").submit(function(){b.cancel(autosavePeriodical)});b('input[type="submit"], a.submitdelete',"#submitpost").click(function(){blockSave=true;window.onbeforeunload=null;b(":button, :submit","#submitpost").each(function(){var c=b(this);if(c.hasClass("button-primary")){c.addClass("button-primary-disabled")}else{c.addClass("button-disabled")}});if(b(this).attr("id")=="publish"){b("#ajax-loading").css("visibility","visible")}else{b("#draft-ajax-loading").css("visibility","visible")}});window.onbeforeunload=function(){var c=typeof(tinyMCE)!="undefined"?tinyMCE.activeEditor:false,e,d;if(c&&!c.isHidden()){if(c.isDirty()){return autosaveL10n.saveAlert}}else{if(fullscreen&&fullscreen.settings.visible){e=b("#wp-fullscreen-title").val();d=b("#wp_mce_fullscreen").val()}else{e=b("#post #title").val();d=b("#post #content").val()}if((e||d)&&e+d!=autosaveLast){return autosaveL10n.saveAlert}}};b("#post-preview").click(function(){if(b("#auto_draft").val()=="1"&¬Saved){autosaveDelayPreview=true;autosave();return false}doPreview();return false});doPreview=function(){b("input#wp-preview").val("dopreview");b("form#post").attr("target","wp-preview").submit().attr("target","");b("input#wp-preview").val("")};if(typeof tinyMCE!="undefined"){b("#title")[b.browser.opera?"keypress":"keydown"](function(c){if(c.which==9&&!c.shiftKey&&!c.controlKey&&!c.altKey){if((b("#auto_draft").val()=="1")&&(b("#title").val().length>0)){autosave()}if(tinyMCE.activeEditor&&!tinyMCE.activeEditor.isHidden()&&a){c.preventDefault();a=false;tinyMCE.activeEditor.focus();return false}}})}if("1"==b("#auto_draft").val()){b("#title").blur(function(){if(!this.value||b("#auto_draft").val()!="1"){return}delayed_autosave()})}});function autosave_parse_response(c){var d=wpAjax.parseAjaxResponse(c,"autosave"),e="",a,b;if(d&&d.responses&&d.responses.length){e=d.responses[0].data;if(d.responses[0].supplemental){b=d.responses[0].supplemental;if("disable"==b.disable_autosave){autosave=function(){};d={errors:true}}if(b.alert){jQuery("#autosave-alert").remove();jQuery("#titlediv").after('<div id="autosave-alert" class="error below-h2"><p>'+b.alert+"</p></div>")}jQuery.each(b,function(f,g){if(f.match(/^replace-/)){jQuery("#"+f.replace("replace-","")).val(g)}})}if(!d.errors){a=parseInt(d.responses[0].id,10);if(!isNaN(a)&&a>0){autosave_update_slug(a)}}}if(e){jQuery(".autosave-message").html(e)}else{if(autosaveOldMessage&&d){jQuery(".autosave-message").html(autosaveOldMessage)}}return d}function autosave_saved(a){blockSave=false;autosave_parse_response(a);autosave_enable_buttons()}function autosave_saved_new(b){blockSave=false;var c=autosave_parse_response(b),a;if(c&&c.responses.length&&!c.errors){a=parseInt(c.responses[0].id,10);if(!isNaN(a)&&a>0){notSaved=false;jQuery("#auto_draft").val("0")}autosave_enable_buttons();if(autosaveDelayPreview){autosaveDelayPreview=false;doPreview()}}else{autosave_enable_buttons()}}function autosave_update_slug(a){if("undefined"!=makeSlugeditClickable&&jQuery.isFunction(makeSlugeditClickable)&&!jQuery("#edit-slug-box > *").size()){jQuery.post(ajaxurl,{action:"sample-permalink",post_id:a,new_title:fullscreen&&fullscreen.settings.visible?jQuery("#wp-fullscreen-title").val():jQuery("#title").val(),samplepermalinknonce:jQuery("#samplepermalinknonce").val()},function(b){if(b!=="-1"){jQuery("#edit-slug-box").html(b);makeSlugeditClickable()}})}}function autosave_loading(){jQuery(".autosave-message").html(autosaveL10n.savingText)}function autosave_enable_buttons(){setTimeout(function(){jQuery(":button, :submit","#submitpost").removeAttr("disabled");jQuery(".ajax-loading").css("visibility","hidden")},500)}function autosave_disable_buttons(){jQuery(":button, :submit","#submitpost").prop("disabled",true);setTimeout(autosave_enable_buttons,5000)}function delayed_autosave(){setTimeout(function(){if(blockSave){return}autosave()},200)}autosave=function(){blockSave=true;var c=(typeof tinyMCE!="undefined")&&tinyMCE.activeEditor&&!tinyMCE.activeEditor.isHidden(),d,f,b,e,a;autosave_disable_buttons();d={action:"autosave",post_ID:jQuery("#post_ID").val()||0,autosavenonce:jQuery("#autosavenonce").val(),post_type:jQuery("#post_type").val()||"",autosave:1};jQuery(".tags-input").each(function(){d[this.name]=this.value});f=true;if(jQuery("#TB_window").css("display")=="block"){f=false}if(c&&f){b=tinyMCE.activeEditor;if(b.plugins.spellchecker&&b.plugins.spellchecker.active){f=false}else{if("mce_fullscreen"==b.id||"wp_mce_fullscreen"==b.id){tinyMCE.get("content").setContent(b.getContent({format:"raw"}),{format:"raw"})}tinyMCE.triggerSave()}}if(fullscreen&&fullscreen.settings.visible){d.post_title=jQuery("#wp-fullscreen-title").val();d.content=jQuery("#wp_mce_fullscreen").val()}else{d.post_title=jQuery("#title").val();d.content=jQuery("#content").val()}if(jQuery("#post_name").val()){d.post_name=jQuery("#post_name").val()}if((d.post_title.length==0&&d.content.length==0)||d.post_title+d.content==autosaveLast){f=false}e=jQuery("#original_post_status").val();goodcats=([]);jQuery("[name='post_category[]']:checked").each(function(g){goodcats.push(this.value)});d.catslist=goodcats.join(",");if(jQuery("#comment_status").prop("checked")){d.comment_status="open"}if(jQuery("#ping_status").prop("checked")){d.ping_status="open"}if(jQuery("#excerpt").size()){d.excerpt=jQuery("#excerpt").val()}if(jQuery("#post_author").size()){d.post_author=jQuery("#post_author").val()}if(jQuery("#parent_id").val()){d.parent_id=jQuery("#parent_id").val()}d.user_ID=jQuery("#user-id").val();if(jQuery("#auto_draft").val()=="1"){d.auto_draft="1"}if(f){autosaveLast=d.post_title+d.content;jQuery(document).triggerHandler("wpcountwords",[d.content])}else{d.autosave=0}if(d.auto_draft=="1"){a=autosave_saved_new}else{a=autosave_saved}autosaveOldMessage=jQuery("#autosave").html();jQuery.ajax({data:d,beforeSend:f?autosave_loading:null,type:"POST",url:ajaxurl,success:a})}; \ No newline at end of file diff --git a/wp-includes/js/imgareaselect/jquery.imgareaselect.dev.js b/wp-includes/js/imgareaselect/jquery.imgareaselect.dev.js index aa3ff78c5..5fc41c7b5 100644 --- a/wp-includes/js/imgareaselect/jquery.imgareaselect.dev.js +++ b/wp-includes/js/imgareaselect/jquery.imgareaselect.dev.js @@ -1,8 +1,8 @@ /* * imgAreaSelect jQuery plugin - * version 0.9.1 + * version 0.9.6 * - * Copyright (c) 2008-2009 Michal Wojciechowski (odyniec.net) + * Copyright (c) 2008-2011 Michal Wojciechowski (odyniec.net) * * Dual licensed under the MIT (MIT-LICENSE.txt) * and GPL (GPL-LICENSE.txt) licenses. @@ -39,13 +39,13 @@ $.imgAreaSelect = function (img, options) { left, top, - imgOfs, + imgOfs = { left: 0, top: 0 }, imgWidth, imgHeight, $parent, - parOfs, + parOfs = { left: 0, top: 0 }, zIndex = 0, @@ -59,6 +59,8 @@ $.imgAreaSelect = function (img, options) { resize, + minWidth, minHeight, maxWidth, maxHeight, + aspectRatio, shown, @@ -67,6 +69,8 @@ $.imgAreaSelect = function (img, options) { selection = { x1: 0, y1: 0, x2: 0, y2: 0, width: 0, height: 0 }, + docElem = document.documentElement, + $p, d, i, o, w, h, adjusted; function viewX(x) { @@ -108,14 +112,14 @@ $.imgAreaSelect = function (img, options) { var sx = noScale || scaleX, sy = noScale || scaleY; selection = { - x1: round(x1 / sx), - y1: round(y1 / sy), - x2: round(x2 / sx), - y2: round(y2 / sy) + x1: round(x1 / sx || 0), + y1: round(y1 / sy || 0), + x2: round(x2 / sx || 0), + y2: round(y2 / sy || 0) }; - selection.width = (x2 = viewX(selection.x2)) - (x1 = viewX(selection.x1)); - selection.height = (y2 = viewX(selection.y2)) - (y1 = viewX(selection.y1)); + selection.width = selection.x2 - selection.x1; + selection.height = selection.y2 - selection.y1; } function adjust() { @@ -124,13 +128,22 @@ $.imgAreaSelect = function (img, options) { imgOfs = { left: round($img.offset().left), top: round($img.offset().top) }; - imgWidth = $img.width(); - imgHeight = $img.height(); + imgWidth = $img.innerWidth(); + imgHeight = $img.innerHeight(); + + imgOfs.top += ($img.outerHeight() - imgHeight) >> 1; + imgOfs.left += ($img.outerWidth() - imgWidth) >> 1; - if ($().jquery == '1.3.2' && $.browser.safari && position == 'fixed') { - imgOfs.top += max(document.documentElement.scrollTop, $('body').scrollTop()); + minWidth = options.minWidth || 0; + minHeight = options.minHeight || 0; + maxWidth = min(options.maxWidth || 1<<24, imgWidth); + maxHeight = min(options.maxHeight || 1<<24, imgHeight); - imgOfs.left += max(document.documentElement.scrollLeft, $('body').scrollLeft()); + if ($().jquery == '1.3.2' && position == 'fixed' && + !docElem['getBoundingClientRect']) + { + imgOfs.top += max(document.body.scrollTop, docElem.scrollTop); + imgOfs.left += max(document.body.scrollLeft, docElem.scrollLeft); } parOfs = $.inArray($parent.css('position'), ['absolute', 'relative']) + 1 ? @@ -142,6 +155,9 @@ $.imgAreaSelect = function (img, options) { left = viewX(0); top = viewY(0); + + if (selection.x2 > imgWidth || selection.y2 > imgHeight) + doResize(); } function update(resetKeyPress) { @@ -170,10 +186,10 @@ $.imgAreaSelect = function (img, options) { switch ($handles.length) { case 8: - $($handles[4]).css({ left: w / 2 }); - $($handles[5]).css({ left: w, top: h / 2 }); - $($handles[6]).css({ left: w / 2, top: h }); - $($handles[7]).css({ top: h / 2 }); + $($handles[4]).css({ left: w >> 1 }); + $($handles[5]).css({ left: w, top: h >> 1 }); + $($handles[6]).css({ left: w >> 1, top: h }); + $($handles[7]).css({ top: h >> 1 }); case 4: $handles.slice(1,3).css({ left: w }); $handles.slice(2,4).css({ top: h }); @@ -221,13 +237,13 @@ $.imgAreaSelect = function (img, options) { resize = ''; if (options.resizable) { - if (y <= resizeMargin) + if (y <= options.resizeMargin) resize = 'n'; - else if (y >= selection.height - resizeMargin) + else if (y >= selection.height - options.resizeMargin) resize = 's'; - if (x <= resizeMargin) + if (x <= options.resizeMargin) resize += 'w'; - else if (x >= selection.width - resizeMargin) + else if (x >= selection.width - options.resizeMargin) resize += 'e'; } @@ -239,14 +255,13 @@ $.imgAreaSelect = function (img, options) { function docMouseUp(event) { $('body').css('cursor', ''); - if (options.autoHide || selection.width * selection.height == 0) hide($box.add($outer), function () { $(this).hide(); }); - options.onSelectEnd(img, getSelection()); - $(document).unbind('mousemove', selectingMouseMove); $box.mousemove(areaMouseMove); + + options.onSelectEnd(img, getSelection()); } function areaMouseDown(event) { @@ -284,59 +299,60 @@ $.imgAreaSelect = function (img, options) { return false; } - function aspectRatioXY() { - x2 = max(left, min(left + imgWidth, - x1 + abs(y2 - y1) * aspectRatio * (x2 > x1 || -1))); - - y2 = round(max(top, min(top + imgHeight, - y1 + abs(x2 - x1) / aspectRatio * (y2 > y1 || -1)))); - x2 = round(x2); - } + function fixAspectRatio(xFirst) { + if (aspectRatio) + if (xFirst) { + x2 = max(left, min(left + imgWidth, + x1 + abs(y2 - y1) * aspectRatio * (x2 > x1 || -1))); - function aspectRatioYX() { - y2 = max(top, min(top + imgHeight, - y1 + abs(x2 - x1) / aspectRatio * (y2 > y1 || -1))); - x2 = round(max(left, min(left + imgWidth, - x1 + abs(y2 - y1) * aspectRatio * (x2 > x1 || -1)))); - y2 = round(y2); + y2 = round(max(top, min(top + imgHeight, + y1 + abs(x2 - x1) / aspectRatio * (y2 > y1 || -1)))); + x2 = round(x2); + } + else { + y2 = max(top, min(top + imgHeight, + y1 + abs(x2 - x1) / aspectRatio * (y2 > y1 || -1))); + x2 = round(max(left, min(left + imgWidth, + x1 + abs(y2 - y1) * aspectRatio * (x2 > x1 || -1)))); + y2 = round(y2); + } } function doResize() { - if (abs(x2 - x1) < options.minWidth) { - x2 = x1 - options.minWidth * (x2 < x1 || -1); + x1 = min(x1, left + imgWidth); + y1 = min(y1, top + imgHeight); + + if (abs(x2 - x1) < minWidth) { + x2 = x1 - minWidth * (x2 < x1 || -1); if (x2 < left) - x1 = left + options.minWidth; + x1 = left + minWidth; else if (x2 > left + imgWidth) - x1 = left + imgWidth - options.minWidth; + x1 = left + imgWidth - minWidth; } - if (abs(y2 - y1) < options.minHeight) { - y2 = y1 - options.minHeight * (y2 < y1 || -1); + if (abs(y2 - y1) < minHeight) { + y2 = y1 - minHeight * (y2 < y1 || -1); if (y2 < top) - y1 = top + options.minHeight; + y1 = top + minHeight; else if (y2 > top + imgHeight) - y1 = top + imgHeight - options.minHeight; + y1 = top + imgHeight - minHeight; } x2 = max(left, min(x2, left + imgWidth)); y2 = max(top, min(y2, top + imgHeight)); - if (aspectRatio) - if (abs(x2 - x1) / aspectRatio > abs(y2 - y1)) - aspectRatioYX(); - else - aspectRatioXY(); + fixAspectRatio(abs(x2 - x1) < abs(y2 - y1) * aspectRatio); - if (abs(x2 - x1) > options.maxWidth) { - x2 = x1 - options.maxWidth * (x2 < x1 || -1); - if (aspectRatio) aspectRatioYX(); + if (abs(x2 - x1) > maxWidth) { + x2 = x1 - maxWidth * (x2 < x1 || -1); + fixAspectRatio(); } - if (abs(y2 - y1) > options.maxHeight) { - y2 = y1 - options.maxHeight * (y2 < y1 || -1); - if (aspectRatio) aspectRatioXY(); + if (abs(y2 - y1) > maxHeight) { + y2 = y1 - maxHeight * (y2 < y1 || -1); + fixAspectRatio(true); } selection = { x1: selX(min(x1, x2)), x2: selX(max(x1, x2)), @@ -362,8 +378,8 @@ $.imgAreaSelect = function (img, options) { x2 = (x1 = newX1) + selection.width; y2 = (y1 = newY1) + selection.height; - selection = $.extend(selection, { x1: selX(x1), y1: selY(y1), - x2: selX(x2), y2: selY(y2) }); + $.extend(selection, { x1: selX(x1), y1: selY(y1), x2: selX(x2), + y2: selY(y2) }); update(); @@ -382,6 +398,7 @@ $.imgAreaSelect = function (img, options) { } function startSelection() { + $(document).unbind('mousemove', startSelection); adjust(); x2 = x1; @@ -404,11 +421,11 @@ $.imgAreaSelect = function (img, options) { } function cancelSelection() { - $(document).unbind('mousemove', startSelection); + $(document).unbind('mousemove', startSelection) + .unbind('mouseup', cancelSelection); hide($box.add($outer)); - selection = { x1: selX(x1), y1: selY(y1), x2: selX(x1), y2: selY(y1), - width: 0, height: 0 }; + setSelection(selX(x1), selY(y1), selX(x1), selY(y1)); options.onSelectChange(img, getSelection()); options.onSelectEnd(img, getSelection()); @@ -421,13 +438,12 @@ $.imgAreaSelect = function (img, options) { startX = x1 = evX(event); startY = y1 = evY(event); - $(document).one('mousemove', startSelection) - .one('mouseup', cancelSelection); + $(document).mousemove(startSelection).mouseup(cancelSelection); return false; } - function parentScroll() { + function windowResize() { doUpdate(false); } @@ -437,8 +453,9 @@ $.imgAreaSelect = function (img, options) { setOptions(options = $.extend({ classPrefix: 'imgareaselect', movable: true, - resizable: true, parent: 'body', + resizable: true, + resizeMargin: 10, onInit: function () {}, onSelectStart: function () {}, onSelectChange: function () {}, @@ -458,7 +475,7 @@ $.imgAreaSelect = function (img, options) { } var docKeyPress = function(event) { - var k = options.keys, d, t, key = event.keyCode || event.which; + var k = options.keys, d, t, key = event.keyCode; d = !isNaN(k.alt) && (event.altKey || event.originalEvent.altKey) ? k.alt : !isNaN(k.ctrl) && event.ctrlKey ? k.ctrl : @@ -476,7 +493,7 @@ $.imgAreaSelect = function (img, options) { t = max(x1, x2); x1 = min(x1, x2); x2 = max(t + d, x1); - if (aspectRatio) aspectRatioYX(); + fixAspectRatio(); break; case 38: d = -d; @@ -484,7 +501,7 @@ $.imgAreaSelect = function (img, options) { t = max(y1, y2); y1 = min(y1, y2); y2 = max(t + d, y1); - if (aspectRatio) aspectRatioXY(); + fixAspectRatio(true); break; default: return; @@ -527,7 +544,7 @@ $.imgAreaSelect = function (img, options) { if (newOptions.parent) ($parent = $(newOptions.parent)).append($box.add($outer)); - options = $.extend(options, newOptions); + $.extend(options, newOptions); adjust(); @@ -546,7 +563,7 @@ $.imgAreaSelect = function (img, options) { zIndex: zIndex + 1 || 1 }); - if (!parseInt($handles.css('width'))) + if (!parseInt($handles.css('width')) >= 0) $handles.width(5).height(5); if (o = options.borderWidth) @@ -562,7 +579,7 @@ $.imgAreaSelect = function (img, options) { if (newOptions.x1 != null) { setSelection(newOptions.x1, newOptions.y1, newOptions.x2, - newOptions.y2); + newOptions.y2); newOptions.show = !newOptions.hide; } @@ -586,7 +603,7 @@ $.imgAreaSelect = function (img, options) { if (o = options.borderColor2) $($border[1]).css({ borderStyle: 'dashed', borderColor: o }); - $box.append($area.add($border).add($handles).add($areaOpera)); + $box.append($area.add($border).add($areaOpera).add($handles)); if ($.browser.msie) { if (o = $outer.css('filter').match(/opacity=([0-9]+)/)) @@ -605,25 +622,32 @@ $.imgAreaSelect = function (img, options) { aspectRatio = (d = (options.aspectRatio || '').split(/:/))[0] / d[1]; + $img.add($outer).unbind('mousedown', imgMouseDown); + if (options.disable || options.enable === false) { $box.unbind('mousemove', areaMouseMove).unbind('mousedown', areaMouseDown); - $img.add($outer).unbind('mousedown', imgMouseDown); - $(window).unbind('resize', parentScroll); - $img.add($img.parents()).unbind('scroll', parentScroll); + $(window).unbind('resize', windowResize); } - else if (options.enable || options.disable === false) { - if (options.resizable || options.movable) - $box.mousemove(areaMouseMove).mousedown(areaMouseDown); + else { + if (options.enable || options.disable === false) { + if (options.resizable || options.movable) + $box.mousemove(areaMouseMove).mousedown(areaMouseDown); + + $(window).resize(windowResize); + } if (!options.persistent) $img.add($outer).mousedown(imgMouseDown); - $(window).resize(parentScroll); - $img.add($img.parents()).scroll(parentScroll); } options.enable = options.disable = undefined; } + this.remove = function () { + setOptions({ disable: true }); + $box.add($outer).remove(); + }; + this.getOptions = function () { return options; }; this.setOptions = setOptions; @@ -636,17 +660,16 @@ $.imgAreaSelect = function (img, options) { $p = $img; - while ($p.length && !$p.is('body')) { - if (!isNaN($p.css('z-index')) && $p.css('z-index') > zIndex) - zIndex = $p.css('z-index'); + while ($p.length) { + zIndex = max(zIndex, + !isNaN($p.css('z-index')) ? $p.css('z-index') : zIndex); if ($p.css('position') == 'fixed') position = 'fixed'; - $p = $p.parent(); + $p = $p.parent(':not(body)'); } - if (!isNaN(options.zIndex)) - zIndex = options.zIndex; + zIndex = options.zIndex || zIndex; if ($.browser.msie) $img.attr('unselectable', 'on'); @@ -661,20 +684,28 @@ $.imgAreaSelect = function (img, options) { $box.add($outer).css({ visibility: 'hidden', position: position, overflow: 'hidden', zIndex: zIndex || '0' }); $box.css({ zIndex: zIndex + 2 || 2 }); - $area.add($border).css({ position: 'absolute' }); + $area.add($border).css({ position: 'absolute', fontSize: 0 }); img.complete || img.readyState == 'complete' || !$img.is('img') ? imgLoad() : $img.one('load', imgLoad); + if ($.browser.msie && $.browser.version >= 9) + img.src = img.src; }; $.fn.imgAreaSelect = function (options) { options = options || {}; this.each(function () { - if ($(this).data('imgAreaSelect')) - $(this).data('imgAreaSelect').setOptions(options); - else { + if ($(this).data('imgAreaSelect')) { + if (options.remove) { + $(this).data('imgAreaSelect').remove(); + $(this).removeData('imgAreaSelect'); + } + else + $(this).data('imgAreaSelect').setOptions(options); + } + else if (!options.remove) { if (options.enable === undefined && options.disable === undefined) options.enable = true; diff --git a/wp-includes/js/imgareaselect/jquery.imgareaselect.js b/wp-includes/js/imgareaselect/jquery.imgareaselect.js index 9f2aee24a..a29d6678f 100644 --- a/wp-includes/js/imgareaselect/jquery.imgareaselect.js +++ b/wp-includes/js/imgareaselect/jquery.imgareaselect.js @@ -1 +1 @@ -(function(e){var b=Math.abs,a=Math.max,d=Math.min,c=Math.round;function f(){return e("<div/>")}e.imgAreaSelect=function(q,S){var aw=e(q),U,ar=f(),af=f(),H=f().add(f()).add(f()).add(f()),Y=f().add(f()).add(f()).add(f()),L=e([]),R,n,p,az,N,j,A,M,B=0,ad="absolute",Q,P,aa,Z,V=10,I,T,K,y,aA,x,ay,v={x1:0,y1:0,x2:0,y2:0,width:0,height:0},l,aq,am,ag,ac,an,u;function G(h){return h+az.left-M.left}function F(h){return h+az.top-M.top}function E(h){return h-az.left+M.left}function z(h){return h-az.top+M.top}function ak(h){return h.pageX-M.left}function ai(h){return h.pageY-M.top}function D(h){var o=h||aa,i=h||Z;return{x1:c(v.x1*o),y1:c(v.y1*i),x2:c(v.x2*o),y2:c(v.y2*i),width:c(v.x2*o)-c(v.x1*o),height:c(v.y2*i)-c(v.y1*i)}}function ae(i,w,h,o,aB){var aD=aB||aa,aC=aB||Z;v={x1:c(i/aD),y1:c(w/aC),x2:c(h/aD),y2:c(o/aC)};v.width=(h=G(v.x2))-(i=G(v.x1));v.height=(o=G(v.y2))-(w=G(v.y1))}function ao(){if(!aw.width()){return}az={left:c(aw.offset().left),top:c(aw.offset().top)};N=aw.width();j=aw.height();if(e().jquery=="1.3.2"&&e.browser.safari&&ad=="fixed"){az.top+=a(document.documentElement.scrollTop,e("body").scrollTop());az.left+=a(document.documentElement.scrollLeft,e("body").scrollLeft())}M=e.inArray(A.css("position"),["absolute","relative"])+1?{left:c(A.offset().left)-A.scrollLeft(),top:c(A.offset().top)-A.scrollTop()}:ad=="fixed"?{left:e(document).scrollLeft(),top:e(document).scrollTop()}:{left:0,top:0};n=G(0);p=F(0)}function X(h){if(!K){return}ar.css({left:G(v.x1),top:F(v.y1)}).add(af).width(ac=v.width).height(an=v.height);af.add(H).add(L).css({left:0,top:0});H.width(a(ac-H.outerWidth()+H.innerWidth(),0)).height(a(an-H.outerHeight()+H.innerHeight(),0));e(Y[0]).css({left:n,top:p,width:v.x1,height:j});e(Y[1]).css({left:n+v.x1,top:p,width:ac,height:v.y1});e(Y[2]).css({left:n+v.x2,top:p,width:N-v.x2,height:j});e(Y[3]).css({left:n+v.x1,top:p+v.y2,width:ac,height:j-v.y2});ac-=L.outerWidth();an-=L.outerHeight();switch(L.length){case 8:e(L[4]).css({left:ac/2});e(L[5]).css({left:ac,top:an/2});e(L[6]).css({left:ac/2,top:an});e(L[7]).css({top:an/2});case 4:L.slice(1,3).css({left:ac});L.slice(2,4).css({top:an})}if(h!==false){if(e.imgAreaSelect.keyPress!=at){e(document).unbind(e.imgAreaSelect.keyPress,e.imgAreaSelect.onKeyPress)}if(S.keys){e(document)[e.imgAreaSelect.keyPress](e.imgAreaSelect.onKeyPress=at)}}if(e.browser.msie&&H.outerWidth()-H.innerWidth()==2){H.css("margin",0);setTimeout(function(){H.css("margin","auto")},0)}}function t(h){ao();X(h);y=G(v.x1);aA=F(v.y1);x=G(v.x2);ay=F(v.y2)}function ah(h,i){S.fadeSpeed?h.fadeOut(S.fadeSpeed,i):h.hide()}function C(i){var h=E(ak(i))-v.x1,o=z(ai(i))-v.y1;if(!u){ao();u=true;ar.one("mouseout",function(){u=false})}I="";if(S.resizable){if(o<=V){I="n"}else{if(o>=v.height-V){I="s"}}if(h<=V){I+="w"}else{if(h>=v.width-V){I+="e"}}}ar.css("cursor",I?I+"-resize":S.movable?"move":"");if(R){R.toggle()}}function aj(h){e("body").css("cursor","");if(S.autoHide||v.width*v.height==0){ah(ar.add(Y),function(){e(this).hide()})}S.onSelectEnd(q,D());e(document).unbind("mousemove",ab);ar.mousemove(C)}function s(h){if(h.which!=1){return false}ao();if(I){e("body").css("cursor",I+"-resize");y=G(v[/w/.test(I)?"x2":"x1"]);aA=F(v[/n/.test(I)?"y2":"y1"]);e(document).mousemove(ab).one("mouseup",aj);ar.unbind("mousemove",C)}else{if(S.movable){Q=n+v.x1-ak(h);P=p+v.y1-ai(h);ar.unbind("mousemove",C);e(document).mousemove(g).one("mouseup",function(){S.onSelectEnd(q,D());e(document).unbind("mousemove",g);ar.mousemove(C)})}else{aw.mousedown(h)}}return false}function r(){x=a(n,d(n+N,y+b(ay-aA)*T*(x>y||-1)));ay=c(a(p,d(p+j,aA+b(x-y)/T*(ay>aA||-1))));x=c(x)}function al(){ay=a(p,d(p+j,aA+b(x-y)/T*(ay>aA||-1)));x=c(a(n,d(n+N,y+b(ay-aA)*T*(x>y||-1))));ay=c(ay)}function av(){if(b(x-y)<S.minWidth){x=y-S.minWidth*(x<y||-1);if(x<n){y=n+S.minWidth}else{if(x>n+N){y=n+N-S.minWidth}}}if(b(ay-aA)<S.minHeight){ay=aA-S.minHeight*(ay<aA||-1);if(ay<p){aA=p+S.minHeight}else{if(ay>p+j){aA=p+j-S.minHeight}}}x=a(n,d(x,n+N));ay=a(p,d(ay,p+j));if(T){if(b(x-y)/T>b(ay-aA)){al()}else{r()}}if(b(x-y)>S.maxWidth){x=y-S.maxWidth*(x<y||-1);if(T){al()}}if(b(ay-aA)>S.maxHeight){ay=aA-S.maxHeight*(ay<aA||-1);if(T){r()}}v={x1:E(d(y,x)),x2:E(a(y,x)),y1:z(d(aA,ay)),y2:z(a(aA,ay)),width:b(x-y),height:b(ay-aA)};X();S.onSelectChange(q,D())}function ab(h){x=I==""||/w|e/.test(I)||T?ak(h):G(v.x2);ay=I==""||/n|s/.test(I)||T?ai(h):F(v.y2);av();return false}function O(h,i){x=(y=h)+v.width;ay=(aA=i)+v.height;v=e.extend(v,{x1:E(y),y1:z(aA),x2:E(x),y2:z(ay)});X();S.onSelectChange(q,D())}function g(h){y=a(n,d(Q+ak(h),n+N-v.width));aA=a(p,d(P+ai(h),p+j-v.height));O(y,aA);h.preventDefault();return false}function ax(){ao();x=y;ay=aA;av();I="";if(Y.is(":not(:visible)")){ar.add(Y).hide().fadeIn(S.fadeSpeed||0)}K=true;e(document).unbind("mouseup",ap).mousemove(ab).one("mouseup",aj);ar.unbind("mousemove",C);S.onSelectStart(q,D())}function ap(){e(document).unbind("mousemove",ax);ah(ar.add(Y));v={x1:E(y),y1:z(aA),x2:E(y),y2:z(aA),width:0,height:0};S.onSelectChange(q,D());S.onSelectEnd(q,D())}function m(h){if(h.which!=1||Y.is(":animated")){return false}ao();Q=y=ak(h);P=aA=ai(h);e(document).one("mousemove",ax).one("mouseup",ap);return false}function W(){t(false)}function au(){U=true;J(S=e.extend({classPrefix:"imgareaselect",movable:true,resizable:true,parent:"body",onInit:function(){},onSelectStart:function(){},onSelectChange:function(){},onSelectEnd:function(){}},S));ar.add(Y).css({visibility:""});if(S.show){K=true;ao();X();ar.add(Y).hide().fadeIn(S.fadeSpeed||0)}setTimeout(function(){S.onInit(q,D())},0)}var at=function(w){var h=S.keys,aB,o,i=w.keyCode||w.which;aB=!isNaN(h.alt)&&(w.altKey||w.originalEvent.altKey)?h.alt:!isNaN(h.ctrl)&&w.ctrlKey?h.ctrl:!isNaN(h.shift)&&w.shiftKey?h.shift:!isNaN(h.arrows)?h.arrows:10;if(h.arrows=="resize"||(h.shift=="resize"&&w.shiftKey)||(h.ctrl=="resize"&&w.ctrlKey)||(h.alt=="resize"&&(w.altKey||w.originalEvent.altKey))){switch(i){case 37:aB=-aB;case 39:o=a(y,x);y=d(y,x);x=a(o+aB,y);if(T){al()}break;case 38:aB=-aB;case 40:o=a(aA,ay);aA=d(aA,ay);ay=a(o+aB,aA);if(T){r()}break;default:return}av()}else{y=d(y,x);aA=d(aA,ay);switch(i){case 37:O(a(y-aB,n),aA);break;case 38:O(y,a(aA-aB,p));break;case 39:O(y+d(aB,N-E(x)),aA);break;case 40:O(y,aA+d(aB,j-z(ay)));break;default:return}}return false};function k(h,i){for(option in i){if(S[option]!==undefined){h.css(i[option],S[option])}}}function J(h){if(h.parent){(A=e(h.parent)).append(ar.add(Y))}S=e.extend(S,h);ao();if(h.handles!=null){L.remove();L=e([]);am=h.handles?h.handles=="corners"?4:8:0;while(am--){L=L.add(f())}L.addClass(S.classPrefix+"-handle").css({position:"absolute",fontSize:0,zIndex:B+1||1});if(!parseInt(L.css("width"))){L.width(5).height(5)}if(ag=S.borderWidth){L.css({borderWidth:ag,borderStyle:"solid"})}k(L,{borderColor1:"border-color",borderColor2:"background-color",borderOpacity:"opacity"})}aa=S.imageWidth/N||1;Z=S.imageHeight/j||1;if(h.x1!=null){ae(h.x1,h.y1,h.x2,h.y2);h.show=!h.hide}if(h.keys){S.keys=e.extend({shift:1,ctrl:"resize"},h.keys)}Y.addClass(S.classPrefix+"-outer");af.addClass(S.classPrefix+"-selection");for(am=0;am++<4;){e(H[am-1]).addClass(S.classPrefix+"-border"+am)}k(af,{selectionColor:"background-color",selectionOpacity:"opacity"});k(H,{borderOpacity:"opacity",borderWidth:"border-width"});k(Y,{outerColor:"background-color",outerOpacity:"opacity"});if(ag=S.borderColor1){e(H[0]).css({borderStyle:"solid",borderColor:ag})}if(ag=S.borderColor2){e(H[1]).css({borderStyle:"dashed",borderColor:ag})}ar.append(af.add(H).add(L).add(R));if(e.browser.msie){if(ag=Y.css("filter").match(/opacity=([0-9]+)/)){Y.css("opacity",ag[1]/100)}if(ag=H.css("filter").match(/opacity=([0-9]+)/)){H.css("opacity",ag[1]/100)}}if(h.hide){ah(ar.add(Y))}else{if(h.show&&U){K=true;ar.add(Y).fadeIn(S.fadeSpeed||0);t()}}T=(aq=(S.aspectRatio||"").split(/:/))[0]/aq[1];if(S.disable||S.enable===false){ar.unbind("mousemove",C).unbind("mousedown",s);aw.add(Y).unbind("mousedown",m);e(window).unbind("resize",W);aw.add(aw.parents()).unbind("scroll",W)}else{if(S.enable||S.disable===false){if(S.resizable||S.movable){ar.mousemove(C).mousedown(s)}if(!S.persistent){aw.add(Y).mousedown(m)}e(window).resize(W);aw.add(aw.parents()).scroll(W)}}S.enable=S.disable=undefined}this.getOptions=function(){return S};this.setOptions=J;this.getSelection=D;this.setSelection=ae;this.update=t;l=aw;while(l.length&&!l.is("body")){if(!isNaN(l.css("z-index"))&&l.css("z-index")>B){B=l.css("z-index")}if(l.css("position")=="fixed"){ad="fixed"}l=l.parent()}if(!isNaN(S.zIndex)){B=S.zIndex}if(e.browser.msie){aw.attr("unselectable","on")}e.imgAreaSelect.keyPress=e.browser.msie||e.browser.safari?"keydown":"keypress";if(e.browser.opera){R=f().css({width:"100%",height:"100%",position:"absolute",zIndex:B+2||2})}ar.add(Y).css({visibility:"hidden",position:ad,overflow:"hidden",zIndex:B||"0"});ar.css({zIndex:B+2||2});af.add(H).css({position:"absolute"});q.complete||q.readyState=="complete"||!aw.is("img")?au():aw.one("load",au)};e.fn.imgAreaSelect=function(g){g=g||{};this.each(function(){if(e(this).data("imgAreaSelect")){e(this).data("imgAreaSelect").setOptions(g)}else{if(g.enable===undefined&&g.disable===undefined){g.enable=true}e(this).data("imgAreaSelect",new e.imgAreaSelect(this,g))}});if(g.instance){return e(this).data("imgAreaSelect")}return this}})(jQuery); \ No newline at end of file +(function(e){var b=Math.abs,a=Math.max,d=Math.min,c=Math.round;function f(){return e("<div/>")}e.imgAreaSelect=function(Q,ad){var M=e(Q),u,B=f(),E=f(),ap=f().add(f()).add(f()).add(f()),v=f().add(f()).add(f()).add(f()),ax=e([]),aj,T,ao,ay={left:0,top:0},S,aA,p,V={left:0,top:0},g=0,ak="absolute",an,am,ab,aa,az=10,t,q,al,k,x,aE,ah,D,n,C,l,aC={x1:0,y1:0,x2:0,y2:0,width:0,height:0},F=document.documentElement,Z,R,O,N,K,P,I;function Y(h){return h+ay.left-V.left}function X(h){return h+ay.top-V.top}function au(h){return h-ay.left+V.left}function at(h){return h-ay.top+V.top}function A(h){return h.pageX-V.left}function z(h){return h.pageY-V.top}function ar(h){var o=h||ab,i=h||aa;return{x1:c(aC.x1*o),y1:c(aC.y1*i),x2:c(aC.x2*o),y2:c(aC.y2*i),width:c(aC.x2*o)-c(aC.x1*o),height:c(aC.y2*i)-c(aC.y1*i)}}function aq(i,w,h,o,aF){var aH=aF||ab,aG=aF||aa;aC={x1:c(i/aH||0),y1:c(w/aG||0),x2:c(h/aH||0),y2:c(o/aG||0)};aC.width=aC.x2-aC.x1;aC.height=aC.y2-aC.y1}function m(){if(!M.width()){return}ay={left:c(M.offset().left),top:c(M.offset().top)};S=M.innerWidth();aA=M.innerHeight();ay.top+=(M.outerHeight()-aA)>>1;ay.left+=(M.outerWidth()-S)>>1;q=ad.minWidth||0;al=ad.minHeight||0;k=d(ad.maxWidth||1<<24,S);x=d(ad.maxHeight||1<<24,aA);if(e().jquery=="1.3.2"&&ak=="fixed"&&!F.getBoundingClientRect){ay.top+=a(document.body.scrollTop,F.scrollTop);ay.left+=a(document.body.scrollLeft,F.scrollLeft)}V=e.inArray(p.css("position"),["absolute","relative"])+1?{left:c(p.offset().left)-p.scrollLeft(),top:c(p.offset().top)-p.scrollTop()}:ak=="fixed"?{left:e(document).scrollLeft(),top:e(document).scrollTop()}:{left:0,top:0};T=Y(0);ao=X(0);if(aC.x2>S||aC.y2>aA){aB()}}function J(h){if(!ah){return}B.css({left:Y(aC.x1),top:X(aC.y1)}).add(E).width(K=aC.width).height(P=aC.height);E.add(ap).add(ax).css({left:0,top:0});ap.width(a(K-ap.outerWidth()+ap.innerWidth(),0)).height(a(P-ap.outerHeight()+ap.innerHeight(),0));e(v[0]).css({left:T,top:ao,width:aC.x1,height:aA});e(v[1]).css({left:T+aC.x1,top:ao,width:K,height:aC.y1});e(v[2]).css({left:T+aC.x2,top:ao,width:S-aC.x2,height:aA});e(v[3]).css({left:T+aC.x1,top:ao+aC.y2,width:K,height:aA-aC.y2});K-=ax.outerWidth();P-=ax.outerHeight();switch(ax.length){case 8:e(ax[4]).css({left:K>>1});e(ax[5]).css({left:K,top:P>>1});e(ax[6]).css({left:K>>1,top:P});e(ax[7]).css({top:P>>1});case 4:ax.slice(1,3).css({left:K});ax.slice(2,4).css({top:P})}if(h!==false){if(e.imgAreaSelect.keyPress!=av){e(document).unbind(e.imgAreaSelect.keyPress,e.imgAreaSelect.onKeyPress)}if(ad.keys){e(document)[e.imgAreaSelect.keyPress](e.imgAreaSelect.onKeyPress=av)}}if(e.browser.msie&&ap.outerWidth()-ap.innerWidth()==2){ap.css("margin",0);setTimeout(function(){ap.css("margin","auto")},0)}}function y(h){m();J(h);D=Y(aC.x1);n=X(aC.y1);C=Y(aC.x2);l=X(aC.y2)}function ag(h,i){ad.fadeSpeed?h.fadeOut(ad.fadeSpeed,i):h.hide()}function H(i){var h=au(A(i))-aC.x1,o=at(z(i))-aC.y1;if(!I){m();I=true;B.one("mouseout",function(){I=false})}t="";if(ad.resizable){if(o<=ad.resizeMargin){t="n"}else{if(o>=aC.height-ad.resizeMargin){t="s"}}if(h<=ad.resizeMargin){t+="w"}else{if(h>=aC.width-ad.resizeMargin){t+="e"}}}B.css("cursor",t?t+"-resize":ad.movable?"move":"");if(aj){aj.toggle()}}function j(h){e("body").css("cursor","");if(ad.autoHide||aC.width*aC.height==0){ag(B.add(v),function(){e(this).hide()})}e(document).unbind("mousemove",ae);B.mousemove(H);ad.onSelectEnd(Q,ar())}function aw(h){if(h.which!=1){return false}m();if(t){e("body").css("cursor",t+"-resize");D=Y(aC[/w/.test(t)?"x2":"x1"]);n=X(aC[/n/.test(t)?"y2":"y1"]);e(document).mousemove(ae).one("mouseup",j);B.unbind("mousemove",H)}else{if(ad.movable){an=T+aC.x1-A(h);am=ao+aC.y1-z(h);B.unbind("mousemove",H);e(document).mousemove(ac).one("mouseup",function(){ad.onSelectEnd(Q,ar());e(document).unbind("mousemove",ac);B.mousemove(H)})}else{M.mousedown(h)}}return false}function L(h){if(aE){if(h){C=a(T,d(T+S,D+b(l-n)*aE*(C>D||-1)));l=c(a(ao,d(ao+aA,n+b(C-D)/aE*(l>n||-1))));C=c(C)}else{l=a(ao,d(ao+aA,n+b(C-D)/aE*(l>n||-1)));C=c(a(T,d(T+S,D+b(l-n)*aE*(C>D||-1))));l=c(l)}}}function aB(){D=d(D,T+S);n=d(n,ao+aA);if(b(C-D)<q){C=D-q*(C<D||-1);if(C<T){D=T+q}else{if(C>T+S){D=T+S-q}}}if(b(l-n)<al){l=n-al*(l<n||-1);if(l<ao){n=ao+al}else{if(l>ao+aA){n=ao+aA-al}}}C=a(T,d(C,T+S));l=a(ao,d(l,ao+aA));L(b(C-D)<b(l-n)*aE);if(b(C-D)>k){C=D-k*(C<D||-1);L()}if(b(l-n)>x){l=n-x*(l<n||-1);L(true)}aC={x1:au(d(D,C)),x2:au(a(D,C)),y1:at(d(n,l)),y2:at(a(n,l)),width:b(C-D),height:b(l-n)};J();ad.onSelectChange(Q,ar())}function ae(h){C=t==""||/w|e/.test(t)||aE?A(h):Y(aC.x2);l=t==""||/n|s/.test(t)||aE?z(h):X(aC.y2);aB();return false}function U(h,i){C=(D=h)+aC.width;l=(n=i)+aC.height;e.extend(aC,{x1:au(D),y1:at(n),x2:au(C),y2:at(l)});J();ad.onSelectChange(Q,ar())}function ac(h){D=a(T,d(an+A(h),T+S-aC.width));n=a(ao,d(am+z(h),ao+aA-aC.height));U(D,n);h.preventDefault();return false}function r(){e(document).unbind("mousemove",r);m();C=D;l=n;aB();t="";if(v.is(":not(:visible)")){B.add(v).hide().fadeIn(ad.fadeSpeed||0)}ah=true;e(document).unbind("mouseup",W).mousemove(ae).one("mouseup",j);B.unbind("mousemove",H);ad.onSelectStart(Q,ar())}function W(){e(document).unbind("mousemove",r).unbind("mouseup",W);ag(B.add(v));aq(au(D),at(n),au(D),at(n));ad.onSelectChange(Q,ar());ad.onSelectEnd(Q,ar())}function aD(h){if(h.which!=1||v.is(":animated")){return false}m();an=D=A(h);am=n=z(h);e(document).mousemove(r).mouseup(W);return false}function ai(){y(false)}function s(){u=true;af(ad=e.extend({classPrefix:"imgareaselect",movable:true,parent:"body",resizable:true,resizeMargin:10,onInit:function(){},onSelectStart:function(){},onSelectChange:function(){},onSelectEnd:function(){}},ad));B.add(v).css({visibility:""});if(ad.show){ah=true;m();J();B.add(v).hide().fadeIn(ad.fadeSpeed||0)}setTimeout(function(){ad.onInit(Q,ar())},0)}var av=function(w){var h=ad.keys,aF,o,i=w.keyCode;aF=!isNaN(h.alt)&&(w.altKey||w.originalEvent.altKey)?h.alt:!isNaN(h.ctrl)&&w.ctrlKey?h.ctrl:!isNaN(h.shift)&&w.shiftKey?h.shift:!isNaN(h.arrows)?h.arrows:10;if(h.arrows=="resize"||(h.shift=="resize"&&w.shiftKey)||(h.ctrl=="resize"&&w.ctrlKey)||(h.alt=="resize"&&(w.altKey||w.originalEvent.altKey))){switch(i){case 37:aF=-aF;case 39:o=a(D,C);D=d(D,C);C=a(o+aF,D);L();break;case 38:aF=-aF;case 40:o=a(n,l);n=d(n,l);l=a(o+aF,n);L(true);break;default:return}aB()}else{D=d(D,C);n=d(n,l);switch(i){case 37:U(a(D-aF,T),n);break;case 38:U(D,a(n-aF,ao));break;case 39:U(D+d(aF,S-au(C)),n);break;case 40:U(D,n+d(aF,aA-at(l)));break;default:return}}return false};function G(h,i){for(option in i){if(ad[option]!==undefined){h.css(i[option],ad[option])}}}function af(h){if(h.parent){(p=e(h.parent)).append(B.add(v))}e.extend(ad,h);m();if(h.handles!=null){ax.remove();ax=e([]);O=h.handles?h.handles=="corners"?4:8:0;while(O--){ax=ax.add(f())}ax.addClass(ad.classPrefix+"-handle").css({position:"absolute",fontSize:0,zIndex:g+1||1});if(!parseInt(ax.css("width"))>=0){ax.width(5).height(5)}if(N=ad.borderWidth){ax.css({borderWidth:N,borderStyle:"solid"})}G(ax,{borderColor1:"border-color",borderColor2:"background-color",borderOpacity:"opacity"})}ab=ad.imageWidth/S||1;aa=ad.imageHeight/aA||1;if(h.x1!=null){aq(h.x1,h.y1,h.x2,h.y2);h.show=!h.hide}if(h.keys){ad.keys=e.extend({shift:1,ctrl:"resize"},h.keys)}v.addClass(ad.classPrefix+"-outer");E.addClass(ad.classPrefix+"-selection");for(O=0;O++<4;){e(ap[O-1]).addClass(ad.classPrefix+"-border"+O)}G(E,{selectionColor:"background-color",selectionOpacity:"opacity"});G(ap,{borderOpacity:"opacity",borderWidth:"border-width"});G(v,{outerColor:"background-color",outerOpacity:"opacity"});if(N=ad.borderColor1){e(ap[0]).css({borderStyle:"solid",borderColor:N})}if(N=ad.borderColor2){e(ap[1]).css({borderStyle:"dashed",borderColor:N})}B.append(E.add(ap).add(aj).add(ax));if(e.browser.msie){if(N=v.css("filter").match(/opacity=([0-9]+)/)){v.css("opacity",N[1]/100)}if(N=ap.css("filter").match(/opacity=([0-9]+)/)){ap.css("opacity",N[1]/100)}}if(h.hide){ag(B.add(v))}else{if(h.show&&u){ah=true;B.add(v).fadeIn(ad.fadeSpeed||0);y()}}aE=(R=(ad.aspectRatio||"").split(/:/))[0]/R[1];M.add(v).unbind("mousedown",aD);if(ad.disable||ad.enable===false){B.unbind("mousemove",H).unbind("mousedown",aw);e(window).unbind("resize",ai)}else{if(ad.enable||ad.disable===false){if(ad.resizable||ad.movable){B.mousemove(H).mousedown(aw)}e(window).resize(ai)}if(!ad.persistent){M.add(v).mousedown(aD)}}ad.enable=ad.disable=undefined}this.remove=function(){af({disable:true});B.add(v).remove()};this.getOptions=function(){return ad};this.setOptions=af;this.getSelection=ar;this.setSelection=aq;this.update=y;Z=M;while(Z.length){g=a(g,!isNaN(Z.css("z-index"))?Z.css("z-index"):g);if(Z.css("position")=="fixed"){ak="fixed"}Z=Z.parent(":not(body)")}g=ad.zIndex||g;if(e.browser.msie){M.attr("unselectable","on")}e.imgAreaSelect.keyPress=e.browser.msie||e.browser.safari?"keydown":"keypress";if(e.browser.opera){aj=f().css({width:"100%",height:"100%",position:"absolute",zIndex:g+2||2})}B.add(v).css({visibility:"hidden",position:ak,overflow:"hidden",zIndex:g||"0"});B.css({zIndex:g+2||2});E.add(ap).css({position:"absolute",fontSize:0});Q.complete||Q.readyState=="complete"||!M.is("img")?s():M.one("load",s);if(e.browser.msie&&e.browser.version>=9){Q.src=Q.src}};e.fn.imgAreaSelect=function(g){g=g||{};this.each(function(){if(e(this).data("imgAreaSelect")){if(g.remove){e(this).data("imgAreaSelect").remove();e(this).removeData("imgAreaSelect")}else{e(this).data("imgAreaSelect").setOptions(g)}}else{if(!g.remove){if(g.enable===undefined&&g.disable===undefined){g.enable=true}e(this).data("imgAreaSelect",new e.imgAreaSelect(this,g))}}});if(g.instance){return e(this).data("imgAreaSelect")}return this}})(jQuery); \ No newline at end of file diff --git a/wp-includes/js/jquery/jquery.form.dev.js b/wp-includes/js/jquery/jquery.form.dev.js index 2ee5c9626..006580752 100644 --- a/wp-includes/js/jquery/jquery.form.dev.js +++ b/wp-includes/js/jquery/jquery.form.dev.js @@ -1,382 +1,470 @@ -/* +/*! * jQuery Form Plugin - * version: 2.02 (12/16/2007) - * @requires jQuery v1.1 or later + * version: 2.73 (03-MAY-2011) + * @requires jQuery v1.3.2 or later * - * Examples at: http://malsup.com/jquery/form/ + * Examples and documentation at: http://malsup.com/jquery/form/ * Dual licensed under the MIT and GPL licenses: * http://www.opensource.org/licenses/mit-license.php * http://www.gnu.org/licenses/gpl.html - * - * Revision: $Id$ */ - (function($) { +;(function($) { + +/* + Usage Note: + ----------- + Do not use both ajaxSubmit and ajaxForm on the same form. These + functions are intended to be exclusive. Use ajaxSubmit if you want + to bind your own submit handler to the form. For example, + + $(document).ready(function() { + $('#myForm').bind('submit', function(e) { + e.preventDefault(); // <-- important + $(this).ajaxSubmit({ + target: '#output' + }); + }); + }); + + Use ajaxForm when you want the plugin to manage all the event binding + for you. For example, + + $(document).ready(function() { + $('#myForm').ajaxForm({ + target: '#output' + }); + }); + + When using ajaxForm, the ajaxSubmit function will be invoked for you + at the appropriate time. +*/ + /** - * ajaxSubmit() provides a mechanism for submitting an HTML form using AJAX. - * - * ajaxSubmit accepts a single argument which can be either a success callback function - * or an options Object. If a function is provided it will be invoked upon successful - * completion of the submit and will be passed the response from the server. - * If an options Object is provided, the following attributes are supported: - * - * target: Identifies the element(s) in the page to be updated with the server response. - * This value may be specified as a jQuery selection string, a jQuery object, - * or a DOM element. - * default value: null - * - * url: URL to which the form data will be submitted. - * default value: value of form's 'action' attribute - * - * type: The method in which the form data should be submitted, 'GET' or 'POST'. - * default value: value of form's 'method' attribute (or 'GET' if none found) - * - * data: Additional data to add to the request, specified as key/value pairs (see $.ajax). - * - * beforeSubmit: Callback method to be invoked before the form is submitted. - * default value: null - * - * success: Callback method to be invoked after the form has been successfully submitted - * and the response has been returned from the server - * default value: null - * - * dataType: Expected dataType of the response. One of: null, 'xml', 'script', or 'json' - * default value: null - * - * semantic: Boolean flag indicating whether data must be submitted in semantic order (slower). - * default value: false - * - * resetForm: Boolean flag indicating whether the form should be reset if the submit is successful - * - * clearForm: Boolean flag indicating whether the form should be cleared if the submit is successful - * - * - * The 'beforeSubmit' callback can be provided as a hook for running pre-submit logic or for - * validating the form data. If the 'beforeSubmit' callback returns false then the form will - * not be submitted. The 'beforeSubmit' callback is invoked with three arguments: the form data - * in array format, the jQuery object, and the options object passed into ajaxSubmit. - * The form data array takes the following form: - * - * [ { name: 'username', value: 'jresig' }, { name: 'password', value: 'secret' } ] - * - * If a 'success' callback method is provided it is invoked after the response has been returned - * from the server. It is passed the responseText or responseXML value (depending on dataType). - * See jQuery.ajax for further details. - * - * - * The dataType option provides a means for specifying how the server response should be handled. - * This maps directly to the jQuery.httpData method. The following values are supported: - * - * 'xml': if dataType == 'xml' the server response is treated as XML and the 'success' - * callback method, if specified, will be passed the responseXML value - * 'json': if dataType == 'json' the server response will be evaluted and passed to - * the 'success' callback, if specified - * 'script': if dataType == 'script' the server response is evaluated in the global context - * - * - * Note that it does not make sense to use both the 'target' and 'dataType' options. If both - * are provided the target will be ignored. - * - * The semantic argument can be used to force form serialization in semantic order. - * This is normally true anyway, unless the form contains input elements of type='image'. - * If your form must be submitted with name/value pairs in semantic order and your form - * contains an input of type='image" then pass true for this arg, otherwise pass false - * (or nothing) to avoid the overhead for this logic. - * - * - * When used on its own, ajaxSubmit() is typically bound to a form's submit event like this: - * - * $("#form-id").submit(function() { - * $(this).ajaxSubmit(options); - * return false; // cancel conventional submit - * }); - * - * When using ajaxForm(), however, this is done for you. - * - * @example - * $('#myForm').ajaxSubmit(function(data) { - * alert('Form submit succeeded! Server returned: ' + data); - * }); - * @desc Submit form and alert server response - * - * - * @example - * var options = { - * target: '#myTargetDiv' - * }; - * $('#myForm').ajaxSubmit(options); - * @desc Submit form and update page element with server response - * - * - * @example - * var options = { - * success: function(responseText) { - * alert(responseText); - * } - * }; - * $('#myForm').ajaxSubmit(options); - * @desc Submit form and alert the server response - * - * - * @example - * var options = { - * beforeSubmit: function(formArray, jqForm) { - * if (formArray.length == 0) { - * alert('Please enter data.'); - * return false; - * } - * } - * }; - * $('#myForm').ajaxSubmit(options); - * @desc Pre-submit validation which aborts the submit operation if form data is empty - * - * - * @example - * var options = { - * url: myJsonUrl.php, - * dataType: 'json', - * success: function(data) { - * // 'data' is an object representing the the evaluated json data - * } - * }; - * $('#myForm').ajaxSubmit(options); - * @desc json data returned and evaluated - * - * - * @example - * var options = { - * url: myXmlUrl.php, - * dataType: 'xml', - * success: function(responseXML) { - * // responseXML is XML document object - * var data = $('myElement', responseXML).text(); - * } - * }; - * $('#myForm').ajaxSubmit(options); - * @desc XML data returned from server - * - * - * @example - * var options = { - * resetForm: true - * }; - * $('#myForm').ajaxSubmit(options); - * @desc submit form and reset it if successful - * - * @example - * $('#myForm).submit(function() { - * $(this).ajaxSubmit(); - * return false; - * }); - * @desc Bind form's submit event to use ajaxSubmit - * - * - * @name ajaxSubmit - * @type jQuery - * @param options object literal containing options which control the form submission process - * @cat Plugins/Form - * @return jQuery + * ajaxSubmit() provides a mechanism for immediately submitting + * an HTML form using AJAX. */ $.fn.ajaxSubmit = function(options) { - if (typeof options == 'function') - options = { success: options }; + // fast fail if nothing selected (http://dev.jquery.com/ticket/2752) + if (!this.length) { + log('ajaxSubmit: skipping submit process - no element selected'); + return this; + } - options = $.extend({ - url: this.attr('action') || window.location.toString(), - type: this.attr('method') || 'GET' - }, options || {}); + if (typeof options == 'function') { + options = { success: options }; + } - // hook for manipulating the form data before it is extracted; - // convenient for use with rich editors like tinyMCE or FCKEditor - var veto = {}; - $.event.trigger('form.pre.serialize', [this, options, veto]); - if (veto.veto) return this; + var action = this.attr('action'); + var url = (typeof action === 'string') ? $.trim(action) : ''; + if (url) { + // clean url (don't include hash vaue) + url = (url.match(/^([^#]+)/)||[])[1]; + } + url = url || window.location.href || ''; + + options = $.extend(true, { + url: url, + success: $.ajaxSettings.success, + type: this[0].getAttribute('method') || 'GET', // IE7 massage (see issue 57) + iframeSrc: /^https/i.test(window.location.href || '') ? 'javascript:false' : 'about:blank' + }, options); + + // hook for manipulating the form data before it is extracted; + // convenient for use with rich editors like tinyMCE or FCKEditor + var veto = {}; + this.trigger('form-pre-serialize', [this, options, veto]); + if (veto.veto) { + log('ajaxSubmit: submit vetoed via form-pre-serialize trigger'); + return this; + } - var a = this.formToArray(options.semantic); + // provide opportunity to alter form data before it is serialized + if (options.beforeSerialize && options.beforeSerialize(this, options) === false) { + log('ajaxSubmit: submit aborted via beforeSerialize callback'); + return this; + } + + var n,v,a = this.formToArray(options.semantic); if (options.data) { - for (var n in options.data) - a.push( { name: n, value: options.data[n] } ); + options.extraData = options.data; + for (n in options.data) { + if(options.data[n] instanceof Array) { + for (var k in options.data[n]) { + a.push( { name: n, value: options.data[n][k] } ); + } + } + else { + v = options.data[n]; + v = $.isFunction(v) ? v() : v; // if value is fn, invoke it + a.push( { name: n, value: v } ); + } + } } - // give pre-submit callback an opportunity to abort the submit - if (options.beforeSubmit && options.beforeSubmit(a, this, options) === false) return this; - - // fire vetoable 'validate' event - $.event.trigger('form.submit.validate', [a, this, options, veto]); - if (veto.veto) return this; - - var q = $.param(a);//.replace(/%20/g,'+'); - - if (options.type.toUpperCase() == 'GET') { - options.url += (options.url.indexOf('?') >= 0 ? '&' : '?') + q; - options.data = null; // data is null for 'get' - } - else - options.data = q; // data is the query string for 'post' - - var $form = this, callbacks = []; - if (options.resetForm) callbacks.push(function() { $form.resetForm(); }); - if (options.clearForm) callbacks.push(function() { $form.clearForm(); }); - - // perform a load on the target only if dataType is not provided - if (!options.dataType && options.target) { - var oldSuccess = options.success || function(){}; - callbacks.push(function(data) { - if (this.evalScripts) - $(options.target).attr("innerHTML", data).evalScripts().each(oldSuccess, arguments); - else // jQuery v1.1.4 - $(options.target).html(data).each(oldSuccess, arguments); - }); - } - else if (options.success) - callbacks.push(options.success); - - options.success = function(data, status) { - for (var i=0, max=callbacks.length; i < max; i++) - callbacks[i](data, status, $form); - }; - - // are there files to upload? - var files = $('input:file', this).fieldValue(); - var found = false; - for (var j=0; j < files.length; j++) - if (files[j]) - found = true; - - // options.iframe allows user to force iframe mode - if (options.iframe || found) { - // hack to fix Safari hang (thanks to Tim Molendijk for this) - // see: http://groups.google.com/group/jquery-dev/browse_thread/thread/36395b7ab510dd5d - if ($.browser.safari && options.closeKeepAlive) - $.get(options.closeKeepAlive, fileUpload); - else - fileUpload(); - } - else - $.ajax(options); - - // fire 'notify' event - $.event.trigger('form.submit.notify', [this, options]); - return this; - - - // private function for handling file uploads (hat tip to YAHOO!) - function fileUpload() { - var form = $form[0]; - var opts = $.extend({}, $.ajaxSettings, options); - - var id = 'jqFormIO' + $.fn.ajaxSubmit.counter++; - var $io = $('<iframe id="' + id + '" name="' + id + '" />'); - var io = $io[0]; - var op8 = $.browser.opera && window.opera.version() < 9; - if ($.browser.msie || op8) io.src = 'javascript:false;document.write("");'; - $io.css({ position: 'absolute', top: '-1000px', left: '-1000px' }); - - var xhr = { // mock object - responseText: null, - responseXML: null, - status: 0, - statusText: 'n/a', - getAllResponseHeaders: function() {}, - getResponseHeader: function() {}, - setRequestHeader: function() {} - }; - - var g = opts.global; - // trigger ajax global events so that activity/block indicators work like normal - if (g && ! $.active++) $.event.trigger("ajaxStart"); - if (g) $.event.trigger("ajaxSend", [xhr, opts]); - - var cbInvoked = 0; - var timedOut = 0; - - // take a breath so that pending repaints get some cpu time before the upload starts - setTimeout(function() { - // make sure form attrs are set - var encAttr = form.encoding ? 'encoding' : 'enctype'; - var t = $form.attr('target'); - $form.attr({ - target: id, - method: 'POST', - action: opts.url - }); - form[encAttr] = 'multipart/form-data'; - - // support timout - if (opts.timeout) - setTimeout(function() { timedOut = true; cb(); }, opts.timeout); - - // add iframe to doc and submit the form - $io.appendTo('body'); - io.attachEvent ? io.attachEvent('onload', cb) : io.addEventListener('load', cb, false); - form.submit(); - $form.attr('target', t); // reset target - }, 10); - - function cb() { - if (cbInvoked++) return; + // give pre-submit callback an opportunity to abort the submit + if (options.beforeSubmit && options.beforeSubmit(a, this, options) === false) { + log('ajaxSubmit: submit aborted via beforeSubmit callback'); + return this; + } + // fire vetoable 'validate' event + this.trigger('form-submit-validate', [a, this, options, veto]); + if (veto.veto) { + log('ajaxSubmit: submit vetoed via form-submit-validate trigger'); + return this; + } + + var q = $.param(a); + + if (options.type.toUpperCase() == 'GET') { + options.url += (options.url.indexOf('?') >= 0 ? '&' : '?') + q; + options.data = null; // data is null for 'get' + } + else { + options.data = q; // data is the query string for 'post' + } + + var $form = this, callbacks = []; + if (options.resetForm) { + callbacks.push(function() { $form.resetForm(); }); + } + if (options.clearForm) { + callbacks.push(function() { $form.clearForm(); }); + } + + // perform a load on the target only if dataType is not provided + if (!options.dataType && options.target) { + var oldSuccess = options.success || function(){}; + callbacks.push(function(data) { + var fn = options.replaceTarget ? 'replaceWith' : 'html'; + $(options.target)[fn](data).each(oldSuccess, arguments); + }); + } + else if (options.success) { + callbacks.push(options.success); + } + + options.success = function(data, status, xhr) { // jQuery 1.4+ passes xhr as 3rd arg + var context = options.context || options; // jQuery 1.4+ supports scope context + for (var i=0, max=callbacks.length; i < max; i++) { + callbacks[i].apply(context, [data, status, xhr || $form, $form]); + } + }; + + // are there files to upload? + var fileInputs = $('input:file', this).length > 0; + var mp = 'multipart/form-data'; + var multipart = ($form.attr('enctype') == mp || $form.attr('encoding') == mp); + + // options.iframe allows user to force iframe mode + // 06-NOV-09: now defaulting to iframe mode if file input is detected + if (options.iframe !== false && (fileInputs || options.iframe || multipart)) { + // hack to fix Safari hang (thanks to Tim Molendijk for this) + // see: http://groups.google.com/group/jquery-dev/browse_thread/thread/36395b7ab510dd5d + if (options.closeKeepAlive) { + $.get(options.closeKeepAlive, fileUpload); + } + else { + fileUpload(); + } + } + else { + $.ajax(options); + } + + // fire 'notify' event + this.trigger('form-submit-notify', [this, options]); + return this; + + + // private function for handling file uploads (hat tip to YAHOO!) + function fileUpload() { + var form = $form[0]; + + if ($(':input[name=submit],:input[id=submit]', form).length) { + // if there is an input with a name or id of 'submit' then we won't be + // able to invoke the submit fn on the form (at least not x-browser) + alert('Error: Form elements must not have name or id of "submit".'); + return; + } + + var s = $.extend(true, {}, $.ajaxSettings, options); + s.context = s.context || s; + var id = 'jqFormIO' + (new Date().getTime()), fn = '_'+id; + var $io = $('<iframe id="' + id + '" name="' + id + '" src="'+ s.iframeSrc +'" />'); + var io = $io[0]; + + $io.css({ position: 'absolute', top: '-1000px', left: '-1000px' }); + + var xhr = { // mock object + aborted: 0, + responseText: null, + responseXML: null, + status: 0, + statusText: 'n/a', + getAllResponseHeaders: function() {}, + getResponseHeader: function() {}, + setRequestHeader: function() {}, + abort: function(status) { + var e = (status === 'timeout' ? 'timeout' : 'aborted'); + log('aborting upload... ' + e); + this.aborted = 1; + $io.attr('src', s.iframeSrc); // abort op in progress + xhr.error = e; + s.error && s.error.call(s.context, xhr, e, e); + g && $.event.trigger("ajaxError", [xhr, s, e]); + s.complete && s.complete.call(s.context, xhr, e); + } + }; + + var g = s.global; + // trigger ajax global events so that activity/block indicators work like normal + if (g && ! $.active++) { + $.event.trigger("ajaxStart"); + } + if (g) { + $.event.trigger("ajaxSend", [xhr, s]); + } + + if (s.beforeSend && s.beforeSend.call(s.context, xhr, s) === false) { + if (s.global) { + $.active--; + } + return; + } + if (xhr.aborted) { + return; + } + + var timedOut = 0, timeoutHandle; + + // add submitting element to data if we know it + var sub = form.clk; + if (sub) { + var n = sub.name; + if (n && !sub.disabled) { + s.extraData = s.extraData || {}; + s.extraData[n] = sub.value; + if (sub.type == "image") { + s.extraData[n+'.x'] = form.clk_x; + s.extraData[n+'.y'] = form.clk_y; + } + } + } + + // take a breath so that pending repaints get some cpu time before the upload starts + function doSubmit() { + // make sure form attrs are set + var t = $form.attr('target'), a = $form.attr('action'); + + // update form attrs in IE friendly way + form.setAttribute('target',id); + if (form.getAttribute('method') != 'POST') { + form.setAttribute('method', 'POST'); + } + if (form.getAttribute('action') != s.url) { + form.setAttribute('action', s.url); + } + + // ie borks in some cases when setting encoding + if (! s.skipEncodingOverride) { + $form.attr({ + encoding: 'multipart/form-data', + enctype: 'multipart/form-data' + }); + } + + // support timout + if (s.timeout) { + timeoutHandle = setTimeout(function() { timedOut = true; cb(true); }, s.timeout); + } + + // add "extra" data to form if provided in options + var extraInputs = []; + try { + if (s.extraData) { + for (var n in s.extraData) { + extraInputs.push( + $('<input type="hidden" name="'+n+'" value="'+s.extraData[n]+'" />') + .appendTo(form)[0]); + } + } + + // add iframe to doc and submit the form + $io.appendTo('body'); + io.attachEvent ? io.attachEvent('onload', cb) : io.addEventListener('load', cb, false); + form.submit(); + } + finally { + // reset attrs and remove "extra" input elements + form.setAttribute('action',a); + if(t) { + form.setAttribute('target', t); + } else { + $form.removeAttr('target'); + } + $(extraInputs).remove(); + } + } + + if (s.forceSync) { + doSubmit(); + } + else { + setTimeout(doSubmit, 10); // this lets dom updates render + } + + var data, doc, domCheckCount = 50, callbackProcessed; + + function cb(e) { + if (xhr.aborted || callbackProcessed) { + return; + } + if (e === true && xhr) { + xhr.abort('timeout'); + return; + } + + var doc = io.contentWindow ? io.contentWindow.document : io.contentDocument ? io.contentDocument : io.document; + if (!doc || doc.location.href == s.iframeSrc) { + // response not received yet + if (!timedOut) + return; + } io.detachEvent ? io.detachEvent('onload', cb) : io.removeEventListener('load', cb, false); - var ok = true; - try { - if (timedOut) throw 'timeout'; - // extract the server response from the iframe - var data, doc; - doc = io.contentWindow ? io.contentWindow.document : io.contentDocument ? io.contentDocument : io.document; - xhr.responseText = doc.body ? doc.body.innerHTML : null; - xhr.responseXML = doc.XMLDocument ? doc.XMLDocument : doc; - - if (opts.dataType == 'json' || opts.dataType == 'script') { - var ta = doc.getElementsByTagName('textarea')[0]; - data = ta ? ta.value : xhr.responseText; - if (opts.dataType == 'json') - eval("data = " + data); - else - $.globalEval(data); - } - else if (opts.dataType == 'xml') { - data = xhr.responseXML; - if (!data && xhr.responseText != null) - data = toXml(xhr.responseText); - } - else { - data = xhr.responseText; - } - } - catch(e){ - ok = false; - $.handleError(opts, xhr, 'error', e); - } - - // ordering of these callbacks/triggers is odd, but that's how $.ajax does it - if (ok) { - opts.success(data, 'success'); - if (g) $.event.trigger("ajaxSuccess", [xhr, opts]); - } - if (g) $.event.trigger("ajaxComplete", [xhr, opts]); - if (g && ! --$.active) $.event.trigger("ajaxStop"); - if (opts.complete) opts.complete(xhr, ok ? 'success' : 'error'); - - // clean up - setTimeout(function() { - $io.remove(); - xhr.responseXML = null; - }, 100); - }; - - function toXml(s, doc) { - if (window.ActiveXObject) { - doc = new ActiveXObject('Microsoft.XMLDOM'); - doc.async = 'false'; - doc.loadXML(s); - } - else - doc = (new DOMParser()).parseFromString(s, 'text/xml'); - return (doc && doc.documentElement && doc.documentElement.tagName != 'parsererror') ? doc : null; - }; - }; + var ok = true; + try { + if (timedOut) { + throw 'timeout'; + } + + var isXml = s.dataType == 'xml' || doc.XMLDocument || $.isXMLDoc(doc); + log('isXml='+isXml); + if (!isXml && window.opera && (doc.body == null || doc.body.innerHTML == '')) { + if (--domCheckCount) { + // in some browsers (Opera) the iframe DOM is not always traversable when + // the onload callback fires, so we loop a bit to accommodate + log('requeing onLoad callback, DOM not available'); + setTimeout(cb, 250); + return; + } + // let this fall through because server response could be an empty document + //log('Could not access iframe DOM after mutiple tries.'); + //throw 'DOMException: not available'; + } + + //log('response detected'); + xhr.responseText = doc.body ? doc.body.innerHTML : doc.documentElement ? doc.documentElement.innerHTML : null; + xhr.responseXML = doc.XMLDocument ? doc.XMLDocument : doc; + if (isXml) + s.dataType = 'xml'; + xhr.getResponseHeader = function(header){ + var headers = {'content-type': s.dataType}; + return headers[header]; + }; + + var scr = /(json|script|text)/.test(s.dataType); + if (scr || s.textarea) { + // see if user embedded response in textarea + var ta = doc.getElementsByTagName('textarea')[0]; + if (ta) { + xhr.responseText = ta.value; + } + else if (scr) { + // account for browsers injecting pre around json response + var pre = doc.getElementsByTagName('pre')[0]; + var b = doc.getElementsByTagName('body')[0]; + if (pre) { + xhr.responseText = pre.textContent; + } + else if (b) { + xhr.responseText = b.innerHTML; + } + } + } + else if (s.dataType == 'xml' && !xhr.responseXML && xhr.responseText != null) { + xhr.responseXML = toXml(xhr.responseText); + } + + data = httpData(xhr, s.dataType, s); + } + catch(e){ + log('error caught:',e); + ok = false; + xhr.error = e; + s.error && s.error.call(s.context, xhr, 'error', e); + g && $.event.trigger("ajaxError", [xhr, s, e]); + } + + if (xhr.aborted) { + log('upload aborted'); + ok = false; + } + + // ordering of these callbacks/triggers is odd, but that's how $.ajax does it + if (ok) { + s.success && s.success.call(s.context, data, 'success', xhr); + g && $.event.trigger("ajaxSuccess", [xhr, s]); + } + + g && $.event.trigger("ajaxComplete", [xhr, s]); + + if (g && ! --$.active) { + $.event.trigger("ajaxStop"); + } + + s.complete && s.complete.call(s.context, xhr, ok ? 'success' : 'error'); + + callbackProcessed = true; + if (s.timeout) + clearTimeout(timeoutHandle); + + // clean up + setTimeout(function() { + $io.removeData('form-plugin-onload'); + $io.remove(); + xhr.responseXML = null; + }, 100); + } + + var toXml = $.parseXML || function(s, doc) { // use parseXML if available (jQuery 1.5+) + if (window.ActiveXObject) { + doc = new ActiveXObject('Microsoft.XMLDOM'); + doc.async = 'false'; + doc.loadXML(s); + } + else { + doc = (new DOMParser()).parseFromString(s, 'text/xml'); + } + return (doc && doc.documentElement && doc.documentElement.nodeName != 'parsererror') ? doc : null; + }; + var parseJSON = $.parseJSON || function(s) { + return window['eval']('(' + s + ')'); + }; + + var httpData = function( xhr, type, s ) { // mostly lifted from jq1.4.4 + var ct = xhr.getResponseHeader('content-type') || '', + xml = type === 'xml' || !type && ct.indexOf('xml') >= 0, + data = xml ? xhr.responseXML : xhr.responseText; + + if (xml && data.documentElement.nodeName === 'parsererror') { + $.error && $.error('parsererror'); + } + if (s && s.dataFilter) { + data = s.dataFilter(data, type); + } + if (typeof data === 'string') { + if (type === 'json' || !type && ct.indexOf('json') >= 0) { + data = parseJSON(data); + } else if (type === "script" || !type && ct.indexOf("javascript") >= 0) { + $.globalEval(data); + } + } + return data; + }; + } }; -$.fn.ajaxSubmit.counter = 0; // used to create unique iframe ids /** * ajaxForm() provides a mechanism for fully automating form submission. @@ -384,112 +472,70 @@ $.fn.ajaxSubmit.counter = 0; // used to create unique iframe ids * The advantages of using this method instead of ajaxSubmit() are: * * 1: This method will include coordinates for <input type="image" /> elements (if the element - * is used to submit the form). + * is used to submit the form). * 2. This method will include the submit element's name/value data (for the element that was - * used to submit the form). + * used to submit the form). * 3. This method binds the submit() method to the form for you. * - * Note that for accurate x/y coordinates of image submit elements in all browsers - * you need to also use the "dimensions" plugin (this method will auto-detect its presence). - * * The options argument for ajaxForm works exactly as it does for ajaxSubmit. ajaxForm merely * passes the options argument along after properly binding events for submit elements and - * the form itself. See ajaxSubmit for a full description of the options argument. - * - * - * @example - * var options = { - * target: '#myTargetDiv' - * }; - * $('#myForm').ajaxSForm(options); - * @desc Bind form's submit event so that 'myTargetDiv' is updated with the server response - * when the form is submitted. - * - * - * @example - * var options = { - * success: function(responseText) { - * alert(responseText); - * } - * }; - * $('#myForm').ajaxSubmit(options); - * @desc Bind form's submit event so that server response is alerted after the form is submitted. - * - * - * @example - * var options = { - * beforeSubmit: function(formArray, jqForm) { - * if (formArray.length == 0) { - * alert('Please enter data.'); - * return false; - * } - * } - * }; - * $('#myForm').ajaxSubmit(options); - * @desc Bind form's submit event so that pre-submit callback is invoked before the form - * is submitted. - * - * - * @name ajaxForm - * @param options object literal containing options which control the form submission process - * @return jQuery - * @cat Plugins/Form - * @type jQuery + * the form itself. */ $.fn.ajaxForm = function(options) { - return this.ajaxFormUnbind().submit(submitHandler).each(function() { - // store options in hash - this.formPluginId = $.fn.ajaxForm.counter++; - $.fn.ajaxForm.optionHash[this.formPluginId] = options; - $(":submit,input:image", this).click(clickHandler); - }); -}; - -$.fn.ajaxForm.counter = 1; -$.fn.ajaxForm.optionHash = {}; - -function clickHandler(e) { - var $form = this.form; - $form.clk = this; - if (this.type == 'image') { - if (e.offsetX != undefined) { - $form.clk_x = e.offsetX; - $form.clk_y = e.offsetY; - } else if (typeof $.fn.offset == 'function') { // try to use dimensions plugin - var offset = $(this).offset(); - $form.clk_x = e.pageX - offset.left; - $form.clk_y = e.pageY - offset.top; - } else { - $form.clk_x = e.pageX - this.offsetLeft; - $form.clk_y = e.pageY - this.offsetTop; - } - } - // clear form vars - setTimeout(function() { $form.clk = $form.clk_x = $form.clk_y = null; }, 10); -}; + // in jQuery 1.3+ we can fix mistakes with the ready state + if (this.length === 0) { + var o = { s: this.selector, c: this.context }; + if (!$.isReady && o.s) { + log('DOM not ready, queuing ajaxForm'); + $(function() { + $(o.s,o.c).ajaxForm(options); + }); + return this; + } + // is your DOM ready? http://docs.jquery.com/Tutorials:Introducing_$(document).ready() + log('terminating; zero elements found by selector' + ($.isReady ? '' : ' (DOM not ready)')); + return this; + } -function submitHandler() { - // retrieve options from hash - var id = this.formPluginId; - var options = $.fn.ajaxForm.optionHash[id]; - $(this).ajaxSubmit(options); - return false; + return this.ajaxFormUnbind().bind('submit.form-plugin', function(e) { + if (!e.isDefaultPrevented()) { // if event has been canceled, don't proceed + e.preventDefault(); + $(this).ajaxSubmit(options); + } + }).bind('click.form-plugin', function(e) { + var target = e.target; + var $el = $(target); + if (!($el.is(":submit,input:image"))) { + // is this a child element of the submit el? (ex: a span within a button) + var t = $el.closest(':submit'); + if (t.length == 0) { + return; + } + target = t[0]; + } + var form = this; + form.clk = target; + if (target.type == 'image') { + if (e.offsetX != undefined) { + form.clk_x = e.offsetX; + form.clk_y = e.offsetY; + } else if (typeof $.fn.offset == 'function') { // try to use dimensions plugin + var offset = $el.offset(); + form.clk_x = e.pageX - offset.left; + form.clk_y = e.pageY - offset.top; + } else { + form.clk_x = e.pageX - target.offsetLeft; + form.clk_y = e.pageY - target.offsetTop; + } + } + // clear form vars + setTimeout(function() { form.clk = form.clk_x = form.clk_y = null; }, 100); + }); }; -/** - * ajaxFormUnbind unbinds the event handlers that were bound by ajaxForm - * - * @name ajaxFormUnbind - * @return jQuery - * @cat Plugins/Form - * @type jQuery - */ +// ajaxFormUnbind unbinds the event handlers that were bound by ajaxForm $.fn.ajaxFormUnbind = function() { - this.unbind('submit', submitHandler); - return this.each(function() { - $(":submit,input:image", this).unbind('click', clickHandler); - }); - + return this.unbind('submit.form-plugin click.form-plugin'); }; /** @@ -502,144 +548,103 @@ $.fn.ajaxFormUnbind = function() { * * It is this array that is passed to pre-submit callback functions provided to the * ajaxSubmit() and ajaxForm() methods. - * - * The semantic argument can be used to force form serialization in semantic order. - * This is normally true anyway, unless the form contains input elements of type='image'. - * If your form must be submitted with name/value pairs in semantic order and your form - * contains an input of type='image" then pass true for this arg, otherwise pass false - * (or nothing) to avoid the overhead for this logic. - * - * @example var data = $("#myForm").formToArray(); - * $.post( "myscript.cgi", data ); - * @desc Collect all the data from a form and submit it to the server. - * - * @name formToArray - * @param semantic true if serialization must maintain strict semantic ordering of elements (slower) - * @type Array<Object> - * @cat Plugins/Form */ $.fn.formToArray = function(semantic) { - var a = []; - if (this.length == 0) return a; - - var form = this[0]; - var els = semantic ? form.getElementsByTagName('*') : form.elements; - if (!els) return a; - for(var i=0, max=els.length; i < max; i++) { - var el = els[i]; - var n = el.name; - if (!n) continue; - - if (semantic && form.clk && el.type == "image") { - // handle image inputs on the fly when semantic == true - if(!el.disabled && form.clk == el) - a.push({name: n+'.x', value: form.clk_x}, {name: n+'.y', value: form.clk_y}); - continue; - } - - var v = $.fieldValue(el, true); - if (v && v.constructor == Array) { - for(var j=0, jmax=v.length; j < jmax; j++) - a.push({name: n, value: v[j]}); - } - else if (v !== null && typeof v != 'undefined') - a.push({name: n, value: v}); - } - - if (!semantic && form.clk) { - // input type=='image' are not found in elements array! handle them here - var inputs = form.getElementsByTagName("input"); - for(var i=0, max=inputs.length; i < max; i++) { - var input = inputs[i]; - var n = input.name; - if(n && !input.disabled && input.type == "image" && form.clk == input) - a.push({name: n+'.x', value: form.clk_x}, {name: n+'.y', value: form.clk_y}); - } - } - return a; -}; + var a = []; + if (this.length === 0) { + return a; + } + + var form = this[0]; + var els = semantic ? form.getElementsByTagName('*') : form.elements; + if (!els) { + return a; + } + var i,j,n,v,el,max,jmax; + for(i=0, max=els.length; i < max; i++) { + el = els[i]; + n = el.name; + if (!n) { + continue; + } + + if (semantic && form.clk && el.type == "image") { + // handle image inputs on the fly when semantic == true + if(!el.disabled && form.clk == el) { + a.push({name: n, value: $(el).val()}); + a.push({name: n+'.x', value: form.clk_x}, {name: n+'.y', value: form.clk_y}); + } + continue; + } + + v = $.fieldValue(el, true); + if (v && v.constructor == Array) { + for(j=0, jmax=v.length; j < jmax; j++) { + a.push({name: n, value: v[j]}); + } + } + else if (v !== null && typeof v != 'undefined') { + a.push({name: n, value: v}); + } + } + + if (!semantic && form.clk) { + // input type=='image' are not found in elements array! handle it here + var $input = $(form.clk), input = $input[0]; + n = input.name; + if (n && !input.disabled && input.type == 'image') { + a.push({name: n, value: $input.val()}); + a.push({name: n+'.x', value: form.clk_x}, {name: n+'.y', value: form.clk_y}); + } + } + return a; +}; /** * Serializes form data into a 'submittable' string. This method will return a string * in the format: name1=value1&name2=value2 - * - * The semantic argument can be used to force form serialization in semantic order. - * If your form must be submitted with name/value pairs in semantic order then pass - * true for this arg, otherwise pass false (or nothing) to avoid the overhead for - * this logic (which can be significant for very large forms). - * - * @example var data = $("#myForm").formSerialize(); - * $.ajax('POST', "myscript.cgi", data); - * @desc Collect all the data from a form into a single string - * - * @name formSerialize - * @param semantic true if serialization must maintain strict semantic ordering of elements (slower) - * @type String - * @cat Plugins/Form */ $.fn.formSerialize = function(semantic) { - //hand off to jQuery.param for proper encoding - return $.param(this.formToArray(semantic)); + //hand off to jQuery.param for proper encoding + return $.param(this.formToArray(semantic)); }; - /** * Serializes all field elements in the jQuery object into a query string. * This method will return a string in the format: name1=value1&name2=value2 - * - * The successful argument controls whether or not serialization is limited to - * 'successful' controls (per http://www.w3.org/TR/html4/interact/forms.html#successful-controls). - * The default value of the successful argument is true. - * - * @example var data = $("input").formSerialize(); - * @desc Collect the data from all successful input elements into a query string - * - * @example var data = $(":radio").formSerialize(); - * @desc Collect the data from all successful radio input elements into a query string - * - * @example var data = $("#myForm :checkbox").formSerialize(); - * @desc Collect the data from all successful checkbox input elements in myForm into a query string - * - * @example var data = $("#myForm :checkbox").formSerialize(false); - * @desc Collect the data from all checkbox elements in myForm (even the unchecked ones) into a query string - * - * @example var data = $(":input").formSerialize(); - * @desc Collect the data from all successful input, select, textarea and button elements into a query string - * - * @name fieldSerialize - * @param successful true if only successful controls should be serialized (default is true) - * @type String - * @cat Plugins/Form */ $.fn.fieldSerialize = function(successful) { - var a = []; - this.each(function() { - var n = this.name; - if (!n) return; - var v = $.fieldValue(this, successful); - if (v && v.constructor == Array) { - for (var i=0,max=v.length; i < max; i++) - a.push({name: n, value: v[i]}); - } - else if (v !== null && typeof v != 'undefined') - a.push({name: this.name, value: v}); - }); - //hand off to jQuery.param for proper encoding - return $.param(a); + var a = []; + this.each(function() { + var n = this.name; + if (!n) { + return; + } + var v = $.fieldValue(this, successful); + if (v && v.constructor == Array) { + for (var i=0,max=v.length; i < max; i++) { + a.push({name: n, value: v[i]}); + } + } + else if (v !== null && typeof v != 'undefined') { + a.push({name: this.name, value: v}); + } + }); + //hand off to jQuery.param for proper encoding + return $.param(a); }; - /** * Returns the value(s) of the element in the matched set. For example, consider the following form: * * <form><fieldset> - * <input name="A" type="text" /> - * <input name="A" type="text" /> - * <input name="B" type="checkbox" value="B1" /> - * <input name="B" type="checkbox" value="B2"/> - * <input name="C" type="radio" value="C1" /> - * <input name="C" type="radio" value="C2" /> + * <input name="A" type="text" /> + * <input name="A" type="text" /> + * <input name="B" type="checkbox" value="B1" /> + * <input name="B" type="checkbox" value="B2"/> + * <input name="C" type="radio" value="C1" /> + * <input name="C" type="radio" value="C2" /> * </fieldset></form> * * var v = $(':text').fieldValue(); @@ -666,94 +671,61 @@ $.fn.fieldSerialize = function(successful) { * for each element is returned. * * Note: This method *always* returns an array. If no valid value can be determined the - * array will be empty, otherwise it will contain one or more values. - * - * @example var data = $("#myPasswordElement").fieldValue(); - * alert(data[0]); - * @desc Alerts the current value of the myPasswordElement element - * - * @example var data = $("#myForm :input").fieldValue(); - * @desc Get the value(s) of the form elements in myForm - * - * @example var data = $("#myForm :checkbox").fieldValue(); - * @desc Get the value(s) for the successful checkbox element(s) in the jQuery object. - * - * @example var data = $("#mySingleSelect").fieldValue(); - * @desc Get the value(s) of the select control - * - * @example var data = $(':text').fieldValue(); - * @desc Get the value(s) of the text input or textarea elements - * - * @example var data = $("#myMultiSelect").fieldValue(); - * @desc Get the values for the select-multiple control - * - * @name fieldValue - * @param Boolean successful true if only the values for successful controls should be returned (default is true) - * @type Array<String> - * @cat Plugins/Form + * array will be empty, otherwise it will contain one or more values. */ $.fn.fieldValue = function(successful) { - for (var val=[], i=0, max=this.length; i < max; i++) { - var el = this[i]; - var v = $.fieldValue(el, successful); - if (v === null || typeof v == 'undefined' || (v.constructor == Array && !v.length)) - continue; - v.constructor == Array ? $.merge(val, v) : val.push(v); - } - return val; + for (var val=[], i=0, max=this.length; i < max; i++) { + var el = this[i]; + var v = $.fieldValue(el, successful); + if (v === null || typeof v == 'undefined' || (v.constructor == Array && !v.length)) { + continue; + } + v.constructor == Array ? $.merge(val, v) : val.push(v); + } + return val; }; /** * Returns the value of the field element. - * - * The successful argument controls whether or not the field element must be 'successful' - * (per http://www.w3.org/TR/html4/interact/forms.html#successful-controls). - * The default value of the successful argument is true. If the given element is not - * successful and the successful arg is not false then the returned value will be null. - * - * Note: If the successful flag is true (default) but the element is not successful, the return will be null - * Note: The value returned for a successful select-multiple element will always be an array. - * Note: If the element has no value the return value will be undefined. - * - * @example var data = jQuery.fieldValue($("#myPasswordElement")[0]); - * @desc Gets the current value of the myPasswordElement element - * - * @name fieldValue - * @param Element el The DOM element for which the value will be returned - * @param Boolean successful true if value returned must be for a successful controls (default is true) - * @type String or Array<String> or null or undefined - * @cat Plugins/Form */ $.fieldValue = function(el, successful) { - var n = el.name, t = el.type, tag = el.tagName.toLowerCase(); - if (typeof successful == 'undefined') successful = true; - - if (successful && (!n || el.disabled || t == 'reset' || t == 'button' || - (t == 'checkbox' || t == 'radio') && !el.checked || - (t == 'submit' || t == 'image') && el.form && el.form.clk != el || - tag == 'select' && el.selectedIndex == -1)) - return null; - - if (tag == 'select') { - var index = el.selectedIndex; - if (index < 0) return null; - var a = [], ops = el.options; - var one = (t == 'select-one'); - var max = (one ? index+1 : ops.length); - for(var i=(one ? index : 0); i < max; i++) { - var op = ops[i]; - if (op.selected) { - // extra pain for IE... - var v = $.browser.msie && !(op.attributes['value'].specified) ? op.text : op.value; - if (one) return v; - a.push(v); - } - } - return a; - } - return el.value; -}; + var n = el.name, t = el.type, tag = el.tagName.toLowerCase(); + if (successful === undefined) { + successful = true; + } + if (successful && (!n || el.disabled || t == 'reset' || t == 'button' || + (t == 'checkbox' || t == 'radio') && !el.checked || + (t == 'submit' || t == 'image') && el.form && el.form.clk != el || + tag == 'select' && el.selectedIndex == -1)) { + return null; + } + + if (tag == 'select') { + var index = el.selectedIndex; + if (index < 0) { + return null; + } + var a = [], ops = el.options; + var one = (t == 'select-one'); + var max = (one ? index+1 : ops.length); + for(var i=(one ? index : 0); i < max; i++) { + var op = ops[i]; + if (op.selected) { + var v = op.value; + if (!v) { // extra pain for IE... + v = (op.attributes && op.attributes['value'] && !(op.attributes['value'].specified)) ? op.text : op.value; + } + if (one) { + return v; + } + a.push(v); + } + } + return a; + } + return $(el).val(); +}; /** * Clears the form data. Takes the following actions on the form's input fields: @@ -762,111 +734,93 @@ $.fieldValue = function(el, successful) { * - checkbox and radio inputs will have their 'checked' property set to false * - inputs of type submit, button, reset, and hidden will *not* be effected * - button elements will *not* be effected - * - * @example $('form').clearForm(); - * @desc Clears all forms on the page. - * - * @name clearForm - * @type jQuery - * @cat Plugins/Form */ $.fn.clearForm = function() { - return this.each(function() { - $('input,select,textarea', this).clearFields(); - }); + return this.each(function() { + $('input,select,textarea', this).clearFields(); + }); }; /** - * Clears the selected form elements. Takes the following actions on the matched elements: - * - input text fields will have their 'value' property set to the empty string - * - select elements will have their 'selectedIndex' property set to -1 - * - checkbox and radio inputs will have their 'checked' property set to false - * - inputs of type submit, button, reset, and hidden will *not* be effected - * - button elements will *not* be effected - * - * @example $('.myInputs').clearFields(); - * @desc Clears all inputs with class myInputs - * - * @name clearFields - * @type jQuery - * @cat Plugins/Form + * Clears the selected form elements. */ $.fn.clearFields = $.fn.clearInputs = function() { - return this.each(function() { - var t = this.type, tag = this.tagName.toLowerCase(); - if (t == 'text' || t == 'password' || tag == 'textarea') - this.value = ''; - else if (t == 'checkbox' || t == 'radio') - this.checked = false; - else if (tag == 'select') - this.selectedIndex = -1; - }); + return this.each(function() { + var t = this.type, tag = this.tagName.toLowerCase(); + if (t == 'text' || t == 'password' || tag == 'textarea') { + this.value = ''; + } + else if (t == 'checkbox' || t == 'radio') { + this.checked = false; + } + else if (tag == 'select') { + this.selectedIndex = -1; + } + }); }; - /** * Resets the form data. Causes all form elements to be reset to their original value. - * - * @example $('form').resetForm(); - * @desc Resets all forms on the page. - * - * @name resetForm - * @type jQuery - * @cat Plugins/Form */ $.fn.resetForm = function() { - return this.each(function() { - // guard against an input with the name of 'reset' - // note that IE reports the reset function as an 'object' - if (typeof this.reset == 'function' || (typeof this.reset == 'object' && !this.reset.nodeType)) - this.reset(); - }); + return this.each(function() { + // guard against an input with the name of 'reset' + // note that IE reports the reset function as an 'object' + if (typeof this.reset == 'function' || (typeof this.reset == 'object' && !this.reset.nodeType)) { + this.reset(); + } + }); }; - /** * Enables or disables any matching elements. - * - * @example $(':radio').enabled(false); - * @desc Disables all radio buttons - * - * @name select - * @type jQuery - * @cat Plugins/Form */ -$.fn.enable = function(b) { - if (b == undefined) b = true; - return this.each(function() { - this.disabled = !b - }); +$.fn.enable = function(b) { + if (b === undefined) { + b = true; + } + return this.each(function() { + this.disabled = !b; + }); }; /** * Checks/unchecks any matching checkboxes or radio buttons and * selects/deselects and matching option elements. - * - * @example $(':checkbox').selected(); - * @desc Checks all checkboxes - * - * @name select - * @type jQuery - * @cat Plugins/Form */ -$.fn.select = function(select) { - if (select == undefined) select = true; - return this.each(function() { - var t = this.type; - if (t == 'checkbox' || t == 'radio') - this.checked = select; - else if (this.tagName.toLowerCase() == 'option') { - var $sel = $(this).parent('select'); - if (select && $sel[0] && $sel[0].type == 'select-one') { - // deselect all other options - $sel.find('option').select(false); - } - this.selected = select; - } - }); +$.fn.selected = function(select) { + if (select === undefined) { + select = true; + } + return this.each(function() { + var t = this.type; + if (t == 'checkbox' || t == 'radio') { + this.checked = select; + } + else if (this.tagName.toLowerCase() == 'option') { + var $sel = $(this).parent('select'); + if (select && $sel[0] && $sel[0].type == 'select-one') { + // deselect all other options + $sel.find('option').selected(false); + } + this.selected = select; + } + }); +}; + +// helper fn for console logging +// set $.fn.ajaxSubmit.debug to true to enable debug logging +function log() { + if ($.fn.ajaxSubmit.debug) { + var msg = '[jquery.form] ' + Array.prototype.join.call(arguments,''); + if (window.console && window.console.log) { + window.console.log(msg); + } + else if (window.opera && window.opera.postError) { + window.opera.postError(msg); + } + } }; })(jQuery); + diff --git a/wp-includes/js/jquery/jquery.form.js b/wp-includes/js/jquery/jquery.form.js index 6978c297d..43c37ab65 100644 --- a/wp-includes/js/jquery/jquery.form.js +++ b/wp-includes/js/jquery/jquery.form.js @@ -1 +1,11 @@ -(function($){$.fn.ajaxSubmit=function(options){if(typeof options=="function"){options={success:options}}options=$.extend({url:this.attr("action")||window.location.toString(),type:this.attr("method")||"GET"},options||{});var veto={};$.event.trigger("form.pre.serialize",[this,options,veto]);if(veto.veto){return this}var a=this.formToArray(options.semantic);if(options.data){for(var n in options.data){a.push({name:n,value:options.data[n]})}}if(options.beforeSubmit&&options.beforeSubmit(a,this,options)===false){return this}$.event.trigger("form.submit.validate",[a,this,options,veto]);if(veto.veto){return this}var q=$.param(a);if(options.type.toUpperCase()=="GET"){options.url+=(options.url.indexOf("?")>=0?"&":"?")+q;options.data=null}else{options.data=q}var $form=this,callbacks=[];if(options.resetForm){callbacks.push(function(){$form.resetForm()})}if(options.clearForm){callbacks.push(function(){$form.clearForm()})}if(!options.dataType&&options.target){var oldSuccess=options.success||function(){};callbacks.push(function(data){if(this.evalScripts){$(options.target).attr("innerHTML",data).evalScripts().each(oldSuccess,arguments)}else{$(options.target).html(data).each(oldSuccess,arguments)}})}else{if(options.success){callbacks.push(options.success)}}options.success=function(data,status){for(var i=0,max=callbacks.length;i<max;i++){callbacks[i](data,status,$form)}};var files=$("input:file",this).fieldValue();var found=false;for(var j=0;j<files.length;j++){if(files[j]){found=true}}if(options.iframe||found){if($.browser.safari&&options.closeKeepAlive){$.get(options.closeKeepAlive,fileUpload)}else{fileUpload()}}else{$.ajax(options)}$.event.trigger("form.submit.notify",[this,options]);return this;function fileUpload(){var form=$form[0];var opts=$.extend({},$.ajaxSettings,options);var id="jqFormIO"+$.fn.ajaxSubmit.counter++;var $io=$('<iframe id="'+id+'" name="'+id+'" />');var io=$io[0];var op8=$.browser.opera&&window.opera.version()<9;if($.browser.msie||op8){io.src='javascript:false;document.write("");'}$io.css({position:"absolute",top:"-1000px",left:"-1000px"});var xhr={responseText:null,responseXML:null,status:0,statusText:"n/a",getAllResponseHeaders:function(){},getResponseHeader:function(){},setRequestHeader:function(){}};var g=opts.global;if(g&&!$.active++){$.event.trigger("ajaxStart")}if(g){$.event.trigger("ajaxSend",[xhr,opts])}var cbInvoked=0;var timedOut=0;setTimeout(function(){var encAttr=form.encoding?"encoding":"enctype";var t=$form.attr("target");$form.attr({target:id,method:"POST",action:opts.url});form[encAttr]="multipart/form-data";if(opts.timeout){setTimeout(function(){timedOut=true;cb()},opts.timeout)}$io.appendTo("body");io.attachEvent?io.attachEvent("onload",cb):io.addEventListener("load",cb,false);form.submit();$form.attr("target",t)},10);function cb(){if(cbInvoked++){return}io.detachEvent?io.detachEvent("onload",cb):io.removeEventListener("load",cb,false);var ok=true;try{if(timedOut){throw"timeout"}var data,doc;doc=io.contentWindow?io.contentWindow.document:io.contentDocument?io.contentDocument:io.document;xhr.responseText=doc.body?doc.body.innerHTML:null;xhr.responseXML=doc.XMLDocument?doc.XMLDocument:doc;if(opts.dataType=="json"||opts.dataType=="script"){var ta=doc.getElementsByTagName("textarea")[0];data=ta?ta.value:xhr.responseText;if(opts.dataType=="json"){eval("data = "+data)}else{$.globalEval(data)}}else{if(opts.dataType=="xml"){data=xhr.responseXML;if(!data&&xhr.responseText!=null){data=toXml(xhr.responseText)}}else{data=xhr.responseText}}}catch(e){ok=false;$.handleError(opts,xhr,"error",e)}if(ok){opts.success(data,"success");if(g){$.event.trigger("ajaxSuccess",[xhr,opts])}}if(g){$.event.trigger("ajaxComplete",[xhr,opts])}if(g&&!--$.active){$.event.trigger("ajaxStop")}if(opts.complete){opts.complete(xhr,ok?"success":"error")}setTimeout(function(){$io.remove();xhr.responseXML=null},100)}function toXml(s,doc){if(window.ActiveXObject){doc=new ActiveXObject("Microsoft.XMLDOM");doc.async="false";doc.loadXML(s)}else{doc=(new DOMParser()).parseFromString(s,"text/xml")}return(doc&&doc.documentElement&&doc.documentElement.tagName!="parsererror")?doc:null}}};$.fn.ajaxSubmit.counter=0;$.fn.ajaxForm=function(options){return this.ajaxFormUnbind().submit(submitHandler).each(function(){this.formPluginId=$.fn.ajaxForm.counter++;$.fn.ajaxForm.optionHash[this.formPluginId]=options;$(":submit,input:image",this).click(clickHandler)})};$.fn.ajaxForm.counter=1;$.fn.ajaxForm.optionHash={};function clickHandler(e){var $form=this.form;$form.clk=this;if(this.type=="image"){if(e.offsetX!=undefined){$form.clk_x=e.offsetX;$form.clk_y=e.offsetY}else{if(typeof $.fn.offset=="function"){var offset=$(this).offset();$form.clk_x=e.pageX-offset.left;$form.clk_y=e.pageY-offset.top}else{$form.clk_x=e.pageX-this.offsetLeft;$form.clk_y=e.pageY-this.offsetTop}}}setTimeout(function(){$form.clk=$form.clk_x=$form.clk_y=null},10)}function submitHandler(){var id=this.formPluginId;var options=$.fn.ajaxForm.optionHash[id];$(this).ajaxSubmit(options);return false}$.fn.ajaxFormUnbind=function(){this.unbind("submit",submitHandler);return this.each(function(){$(":submit,input:image",this).unbind("click",clickHandler)})};$.fn.formToArray=function(semantic){var a=[];if(this.length==0){return a}var form=this[0];var els=semantic?form.getElementsByTagName("*"):form.elements;if(!els){return a}for(var i=0,max=els.length;i<max;i++){var el=els[i];var n=el.name;if(!n){continue}if(semantic&&form.clk&&el.type=="image"){if(!el.disabled&&form.clk==el){a.push({name:n+".x",value:form.clk_x},{name:n+".y",value:form.clk_y})}continue}var v=$.fieldValue(el,true);if(v&&v.constructor==Array){for(var j=0,jmax=v.length;j<jmax;j++){a.push({name:n,value:v[j]})}}else{if(v!==null&&typeof v!="undefined"){a.push({name:n,value:v})}}}if(!semantic&&form.clk){var inputs=form.getElementsByTagName("input");for(var i=0,max=inputs.length;i<max;i++){var input=inputs[i];var n=input.name;if(n&&!input.disabled&&input.type=="image"&&form.clk==input){a.push({name:n+".x",value:form.clk_x},{name:n+".y",value:form.clk_y})}}}return a};$.fn.formSerialize=function(semantic){return $.param(this.formToArray(semantic))};$.fn.fieldSerialize=function(successful){var a=[];this.each(function(){var n=this.name;if(!n){return}var v=$.fieldValue(this,successful);if(v&&v.constructor==Array){for(var i=0,max=v.length;i<max;i++){a.push({name:n,value:v[i]})}}else{if(v!==null&&typeof v!="undefined"){a.push({name:this.name,value:v})}}});return $.param(a)};$.fn.fieldValue=function(successful){for(var val=[],i=0,max=this.length;i<max;i++){var el=this[i];var v=$.fieldValue(el,successful);if(v===null||typeof v=="undefined"||(v.constructor==Array&&!v.length)){continue}v.constructor==Array?$.merge(val,v):val.push(v)}return val};$.fieldValue=function(el,successful){var n=el.name,t=el.type,tag=el.tagName.toLowerCase();if(typeof successful=="undefined"){successful=true}if(successful&&(!n||el.disabled||t=="reset"||t=="button"||(t=="checkbox"||t=="radio")&&!el.checked||(t=="submit"||t=="image")&&el.form&&el.form.clk!=el||tag=="select"&&el.selectedIndex==-1)){return null}if(tag=="select"){var index=el.selectedIndex;if(index<0){return null}var a=[],ops=el.options;var one=(t=="select-one");var max=(one?index+1:ops.length);for(var i=(one?index:0);i<max;i++){var op=ops[i];if(op.selected){var v=$.browser.msie&&!(op.attributes.value.specified)?op.text:op.value;if(one){return v}a.push(v)}}return a}return el.value};$.fn.clearForm=function(){return this.each(function(){$("input,select,textarea",this).clearFields()})};$.fn.clearFields=$.fn.clearInputs=function(){return this.each(function(){var t=this.type,tag=this.tagName.toLowerCase();if(t=="text"||t=="password"||tag=="textarea"){this.value=""}else{if(t=="checkbox"||t=="radio"){this.checked=false}else{if(tag=="select"){this.selectedIndex=-1}}}})};$.fn.resetForm=function(){return this.each(function(){if(typeof this.reset=="function"||(typeof this.reset=="object"&&!this.reset.nodeType)){this.reset()}})};$.fn.enable=function(b){if(b==undefined){b=true}return this.each(function(){this.disabled=!b})};$.fn.select=function(select){if(select==undefined){select=true}return this.each(function(){var t=this.type;if(t=="checkbox"||t=="radio"){this.checked=select}else{if(this.tagName.toLowerCase()=="option"){var $sel=$(this).parent("select");if(select&&$sel[0]&&$sel[0].type=="select-one"){$sel.find("option").select(false)}this.selected=select}}})}})(jQuery); \ No newline at end of file +/* + * jQuery Form Plugin + * version: 2.73 (03-MAY-2011) + * @requires jQuery v1.3.2 or later + * + * Examples and documentation at: http://malsup.com/jquery/form/ + * Dual licensed under the MIT and GPL licenses: + * http://www.opensource.org/licenses/mit-license.php + * http://www.gnu.org/licenses/gpl.html + */ +(function(b){b.fn.ajaxSubmit=function(t){if(!this.length){a("ajaxSubmit: skipping submit process - no element selected");return this}if(typeof t=="function"){t={success:t}}var h=this.attr("action");var d=(typeof h==="string")?b.trim(h):"";if(d){d=(d.match(/^([^#]+)/)||[])[1]}d=d||window.location.href||"";t=b.extend(true,{url:d,success:b.ajaxSettings.success,type:this[0].getAttribute("method")||"GET",iframeSrc:/^https/i.test(window.location.href||"")?"javascript:false":"about:blank"},t);var u={};this.trigger("form-pre-serialize",[this,t,u]);if(u.veto){a("ajaxSubmit: submit vetoed via form-pre-serialize trigger");return this}if(t.beforeSerialize&&t.beforeSerialize(this,t)===false){a("ajaxSubmit: submit aborted via beforeSerialize callback");return this}var f,p,m=this.formToArray(t.semantic);if(t.data){t.extraData=t.data;for(f in t.data){if(t.data[f] instanceof Array){for(var i in t.data[f]){m.push({name:f,value:t.data[f][i]})}}else{p=t.data[f];p=b.isFunction(p)?p():p;m.push({name:f,value:p})}}}if(t.beforeSubmit&&t.beforeSubmit(m,this,t)===false){a("ajaxSubmit: submit aborted via beforeSubmit callback");return this}this.trigger("form-submit-validate",[m,this,t,u]);if(u.veto){a("ajaxSubmit: submit vetoed via form-submit-validate trigger");return this}var c=b.param(m);if(t.type.toUpperCase()=="GET"){t.url+=(t.url.indexOf("?")>=0?"&":"?")+c;t.data=null}else{t.data=c}var s=this,l=[];if(t.resetForm){l.push(function(){s.resetForm()})}if(t.clearForm){l.push(function(){s.clearForm()})}if(!t.dataType&&t.target){var r=t.success||function(){};l.push(function(n){var k=t.replaceTarget?"replaceWith":"html";b(t.target)[k](n).each(r,arguments)})}else{if(t.success){l.push(t.success)}}t.success=function(w,n,x){var v=t.context||t;for(var q=0,k=l.length;q<k;q++){l[q].apply(v,[w,n,x||s,s])}};var g=b("input:file",this).length>0;var e="multipart/form-data";var j=(s.attr("enctype")==e||s.attr("encoding")==e);if(t.iframe!==false&&(g||t.iframe||j)){if(t.closeKeepAlive){b.get(t.closeKeepAlive,o)}else{o()}}else{b.ajax(t)}this.trigger("form-submit-notify",[this,t]);return this;function o(){var v=s[0];if(b(":input[name=submit],:input[id=submit]",v).length){alert('Error: Form elements must not have name or id of "submit".');return}var D=b.extend(true,{},b.ajaxSettings,t);D.context=D.context||D;var G="jqFormIO"+(new Date().getTime()),A="_"+G;var x=b('<iframe id="'+G+'" name="'+G+'" src="'+D.iframeSrc+'" />');var B=x[0];x.css({position:"absolute",top:"-1000px",left:"-1000px"});var y={aborted:0,responseText:null,responseXML:null,status:0,statusText:"n/a",getAllResponseHeaders:function(){},getResponseHeader:function(){},setRequestHeader:function(){},abort:function(n){var O=(n==="timeout"?"timeout":"aborted");a("aborting upload... "+O);this.aborted=1;x.attr("src",D.iframeSrc);y.error=O;D.error&&D.error.call(D.context,y,O,O);K&&b.event.trigger("ajaxError",[y,D,O]);D.complete&&D.complete.call(D.context,y,O)}};var K=D.global;if(K&&!b.active++){b.event.trigger("ajaxStart")}if(K){b.event.trigger("ajaxSend",[y,D])}if(D.beforeSend&&D.beforeSend.call(D.context,y,D)===false){if(D.global){b.active--}return}if(y.aborted){return}var J=0,C;var z=v.clk;if(z){var H=z.name;if(H&&!z.disabled){D.extraData=D.extraData||{};D.extraData[H]=z.value;if(z.type=="image"){D.extraData[H+".x"]=v.clk_x;D.extraData[H+".y"]=v.clk_y}}}function I(){var Q=s.attr("target"),O=s.attr("action");v.setAttribute("target",G);if(v.getAttribute("method")!="POST"){v.setAttribute("method","POST")}if(v.getAttribute("action")!=D.url){v.setAttribute("action",D.url)}if(!D.skipEncodingOverride){s.attr({encoding:"multipart/form-data",enctype:"multipart/form-data"})}if(D.timeout){C=setTimeout(function(){J=true;F(true)},D.timeout)}var P=[];try{if(D.extraData){for(var R in D.extraData){P.push(b('<input type="hidden" name="'+R+'" value="'+D.extraData[R]+'" />').appendTo(v)[0])}}x.appendTo("body");B.attachEvent?B.attachEvent("onload",F):B.addEventListener("load",F,false);v.submit()}finally{v.setAttribute("action",O);if(Q){v.setAttribute("target",Q)}else{s.removeAttr("target")}b(P).remove()}}if(D.forceSync){I()}else{setTimeout(I,10)}var M,N,L=50,w;function F(T){if(y.aborted||w){return}if(T===true&&y){y.abort("timeout");return}var S=B.contentWindow?B.contentWindow.document:B.contentDocument?B.contentDocument:B.document;if(!S||S.location.href==D.iframeSrc){if(!J){return}}B.detachEvent?B.detachEvent("onload",F):B.removeEventListener("load",F,false);var P=true;try{if(J){throw"timeout"}var U=D.dataType=="xml"||S.XMLDocument||b.isXMLDoc(S);a("isXml="+U);if(!U&&window.opera&&(S.body==null||S.body.innerHTML=="")){if(--L){a("requeing onLoad callback, DOM not available");setTimeout(F,250);return}}y.responseText=S.body?S.body.innerHTML:S.documentElement?S.documentElement.innerHTML:null;y.responseXML=S.XMLDocument?S.XMLDocument:S;if(U){D.dataType="xml"}y.getResponseHeader=function(W){var V={"content-type":D.dataType};return V[W]};var R=/(json|script|text)/.test(D.dataType);if(R||D.textarea){var O=S.getElementsByTagName("textarea")[0];if(O){y.responseText=O.value}else{if(R){var Q=S.getElementsByTagName("pre")[0];var n=S.getElementsByTagName("body")[0];if(Q){y.responseText=Q.textContent}else{if(n){y.responseText=n.innerHTML}}}}}else{if(D.dataType=="xml"&&!y.responseXML&&y.responseText!=null){y.responseXML=E(y.responseText)}}M=k(y,D.dataType,D)}catch(T){a("error caught:",T);P=false;y.error=T;D.error&&D.error.call(D.context,y,"error",T);K&&b.event.trigger("ajaxError",[y,D,T])}if(y.aborted){a("upload aborted");P=false}if(P){D.success&&D.success.call(D.context,M,"success",y);K&&b.event.trigger("ajaxSuccess",[y,D])}K&&b.event.trigger("ajaxComplete",[y,D]);if(K&&!--b.active){b.event.trigger("ajaxStop")}D.complete&&D.complete.call(D.context,y,P?"success":"error");w=true;if(D.timeout){clearTimeout(C)}setTimeout(function(){x.removeData("form-plugin-onload");x.remove();y.responseXML=null},100)}var E=b.parseXML||function(n,O){if(window.ActiveXObject){O=new ActiveXObject("Microsoft.XMLDOM");O.async="false";O.loadXML(n)}else{O=(new DOMParser()).parseFromString(n,"text/xml")}return(O&&O.documentElement&&O.documentElement.nodeName!="parsererror")?O:null};var q=b.parseJSON||function(n){return window["eval"]("("+n+")")};var k=function(S,Q,P){var O=S.getResponseHeader("content-type")||"",n=Q==="xml"||!Q&&O.indexOf("xml")>=0,R=n?S.responseXML:S.responseText;if(n&&R.documentElement.nodeName==="parsererror"){b.error&&b.error("parsererror")}if(P&&P.dataFilter){R=P.dataFilter(R,Q)}if(typeof R==="string"){if(Q==="json"||!Q&&O.indexOf("json")>=0){R=q(R)}else{if(Q==="script"||!Q&&O.indexOf("javascript")>=0){b.globalEval(R)}}}return R}}};b.fn.ajaxForm=function(c){if(this.length===0){var d={s:this.selector,c:this.context};if(!b.isReady&&d.s){a("DOM not ready, queuing ajaxForm");b(function(){b(d.s,d.c).ajaxForm(c)});return this}a("terminating; zero elements found by selector"+(b.isReady?"":" (DOM not ready)"));return this}return this.ajaxFormUnbind().bind("submit.form-plugin",function(f){if(!f.isDefaultPrevented()){f.preventDefault();b(this).ajaxSubmit(c)}}).bind("click.form-plugin",function(j){var i=j.target;var g=b(i);if(!(g.is(":submit,input:image"))){var f=g.closest(":submit");if(f.length==0){return}i=f[0]}var h=this;h.clk=i;if(i.type=="image"){if(j.offsetX!=undefined){h.clk_x=j.offsetX;h.clk_y=j.offsetY}else{if(typeof b.fn.offset=="function"){var k=g.offset();h.clk_x=j.pageX-k.left;h.clk_y=j.pageY-k.top}else{h.clk_x=j.pageX-i.offsetLeft;h.clk_y=j.pageY-i.offsetTop}}}setTimeout(function(){h.clk=h.clk_x=h.clk_y=null},100)})};b.fn.ajaxFormUnbind=function(){return this.unbind("submit.form-plugin click.form-plugin")};b.fn.formToArray=function(q){var p=[];if(this.length===0){return p}var d=this[0];var g=q?d.getElementsByTagName("*"):d.elements;if(!g){return p}var k,h,f,r,e,m,c;for(k=0,m=g.length;k<m;k++){e=g[k];f=e.name;if(!f){continue}if(q&&d.clk&&e.type=="image"){if(!e.disabled&&d.clk==e){p.push({name:f,value:b(e).val()});p.push({name:f+".x",value:d.clk_x},{name:f+".y",value:d.clk_y})}continue}r=b.fieldValue(e,true);if(r&&r.constructor==Array){for(h=0,c=r.length;h<c;h++){p.push({name:f,value:r[h]})}}else{if(r!==null&&typeof r!="undefined"){p.push({name:f,value:r})}}}if(!q&&d.clk){var l=b(d.clk),o=l[0];f=o.name;if(f&&!o.disabled&&o.type=="image"){p.push({name:f,value:l.val()});p.push({name:f+".x",value:d.clk_x},{name:f+".y",value:d.clk_y})}}return p};b.fn.formSerialize=function(c){return b.param(this.formToArray(c))};b.fn.fieldSerialize=function(d){var c=[];this.each(function(){var h=this.name;if(!h){return}var f=b.fieldValue(this,d);if(f&&f.constructor==Array){for(var g=0,e=f.length;g<e;g++){c.push({name:h,value:f[g]})}}else{if(f!==null&&typeof f!="undefined"){c.push({name:this.name,value:f})}}});return b.param(c)};b.fn.fieldValue=function(h){for(var g=[],e=0,c=this.length;e<c;e++){var f=this[e];var d=b.fieldValue(f,h);if(d===null||typeof d=="undefined"||(d.constructor==Array&&!d.length)){continue}d.constructor==Array?b.merge(g,d):g.push(d)}return g};b.fieldValue=function(c,j){var e=c.name,p=c.type,q=c.tagName.toLowerCase();if(j===undefined){j=true}if(j&&(!e||c.disabled||p=="reset"||p=="button"||(p=="checkbox"||p=="radio")&&!c.checked||(p=="submit"||p=="image")&&c.form&&c.form.clk!=c||q=="select"&&c.selectedIndex==-1)){return null}if(q=="select"){var k=c.selectedIndex;if(k<0){return null}var m=[],d=c.options;var g=(p=="select-one");var l=(g?k+1:d.length);for(var f=(g?k:0);f<l;f++){var h=d[f];if(h.selected){var o=h.value;if(!o){o=(h.attributes&&h.attributes.value&&!(h.attributes.value.specified))?h.text:h.value}if(g){return o}m.push(o)}}return m}return b(c).val()};b.fn.clearForm=function(){return this.each(function(){b("input,select,textarea",this).clearFields()})};b.fn.clearFields=b.fn.clearInputs=function(){return this.each(function(){var d=this.type,c=this.tagName.toLowerCase();if(d=="text"||d=="password"||c=="textarea"){this.value=""}else{if(d=="checkbox"||d=="radio"){this.checked=false}else{if(c=="select"){this.selectedIndex=-1}}}})};b.fn.resetForm=function(){return this.each(function(){if(typeof this.reset=="function"||(typeof this.reset=="object"&&!this.reset.nodeType)){this.reset()}})};b.fn.enable=function(c){if(c===undefined){c=true}return this.each(function(){this.disabled=!c})};b.fn.selected=function(c){if(c===undefined){c=true}return this.each(function(){var d=this.type;if(d=="checkbox"||d=="radio"){this.checked=c}else{if(this.tagName.toLowerCase()=="option"){var e=b(this).parent("select");if(c&&e[0]&&e[0].type=="select-one"){e.find("option").selected(false)}this.selected=c}}})};function a(){if(b.fn.ajaxSubmit.debug){var c="[jquery.form] "+Array.prototype.join.call(arguments,"");if(window.console&&window.console.log){window.console.log(c)}else{if(window.opera&&window.opera.postError){window.opera.postError(c)}}}}})(jQuery); \ No newline at end of file diff --git a/wp-includes/js/jquery/jquery.js b/wp-includes/js/jquery/jquery.js index 53e8e8be2..8b0811d81 100644 --- a/wp-includes/js/jquery/jquery.js +++ b/wp-includes/js/jquery/jquery.js @@ -1,167 +1,18 @@ /*! - * jQuery JavaScript Library v1.4.4 + * jQuery JavaScript Library v1.6.1 * http://jquery.com/ * - * Copyright 2010, John Resig + * Copyright 2011, John Resig * Dual licensed under the MIT or GPL Version 2 licenses. * http://jquery.org/license * * Includes Sizzle.js * http://sizzlejs.com/ - * Copyright 2010, The Dojo Foundation + * Copyright 2011, The Dojo Foundation * Released under the MIT, BSD, and GPL Licenses. * - * Date: Thu Nov 11 19:04:53 2010 -0500 + * Date: Thu May 12 15:04:36 2011 -0400 */ -(function(E,B){function ka(a,b,d){if(d===B&&a.nodeType===1){d=a.getAttribute("data-"+b);if(typeof d==="string"){try{d=d==="true"?true:d==="false"?false:d==="null"?null:!c.isNaN(d)?parseFloat(d):Ja.test(d)?c.parseJSON(d):d}catch(e){}c.data(a,b,d)}else d=B}return d}function U(){return false}function ca(){return true}function la(a,b,d){d[0].type=a;return c.event.handle.apply(b,d)}function Ka(a){var b,d,e,f,h,l,k,o,x,r,A,C=[];f=[];h=c.data(this,this.nodeType?"events":"__events__");if(typeof h==="function")h= -h.events;if(!(a.liveFired===this||!h||!h.live||a.button&&a.type==="click")){if(a.namespace)A=RegExp("(^|\\.)"+a.namespace.split(".").join("\\.(?:.*\\.)?")+"(\\.|$)");a.liveFired=this;var J=h.live.slice(0);for(k=0;k<J.length;k++){h=J[k];h.origType.replace(X,"")===a.type?f.push(h.selector):J.splice(k--,1)}f=c(a.target).closest(f,a.currentTarget);o=0;for(x=f.length;o<x;o++){r=f[o];for(k=0;k<J.length;k++){h=J[k];if(r.selector===h.selector&&(!A||A.test(h.namespace))){l=r.elem;e=null;if(h.preType==="mouseenter"|| -h.preType==="mouseleave"){a.type=h.preType;e=c(a.relatedTarget).closest(h.selector)[0]}if(!e||e!==l)C.push({elem:l,handleObj:h,level:r.level})}}}o=0;for(x=C.length;o<x;o++){f=C[o];if(d&&f.level>d)break;a.currentTarget=f.elem;a.data=f.handleObj.data;a.handleObj=f.handleObj;A=f.handleObj.origHandler.apply(f.elem,arguments);if(A===false||a.isPropagationStopped()){d=f.level;if(A===false)b=false;if(a.isImmediatePropagationStopped())break}}return b}}function Y(a,b){return(a&&a!=="*"?a+".":"")+b.replace(La, -"`").replace(Ma,"&")}function ma(a,b,d){if(c.isFunction(b))return c.grep(a,function(f,h){return!!b.call(f,h,f)===d});else if(b.nodeType)return c.grep(a,function(f){return f===b===d});else if(typeof b==="string"){var e=c.grep(a,function(f){return f.nodeType===1});if(Na.test(b))return c.filter(b,e,!d);else b=c.filter(b,e)}return c.grep(a,function(f){return c.inArray(f,b)>=0===d})}function na(a,b){var d=0;b.each(function(){if(this.nodeName===(a[d]&&a[d].nodeName)){var e=c.data(a[d++]),f=c.data(this, -e);if(e=e&&e.events){delete f.handle;f.events={};for(var h in e)for(var l in e[h])c.event.add(this,h,e[h][l],e[h][l].data)}}})}function Oa(a,b){b.src?c.ajax({url:b.src,async:false,dataType:"script"}):c.globalEval(b.text||b.textContent||b.innerHTML||"");b.parentNode&&b.parentNode.removeChild(b)}function oa(a,b,d){var e=b==="width"?a.offsetWidth:a.offsetHeight;if(d==="border")return e;c.each(b==="width"?Pa:Qa,function(){d||(e-=parseFloat(c.css(a,"padding"+this))||0);if(d==="margin")e+=parseFloat(c.css(a, -"margin"+this))||0;else e-=parseFloat(c.css(a,"border"+this+"Width"))||0});return e}function da(a,b,d,e){if(c.isArray(b)&&b.length)c.each(b,function(f,h){d||Ra.test(a)?e(a,h):da(a+"["+(typeof h==="object"||c.isArray(h)?f:"")+"]",h,d,e)});else if(!d&&b!=null&&typeof b==="object")c.isEmptyObject(b)?e(a,""):c.each(b,function(f,h){da(a+"["+f+"]",h,d,e)});else e(a,b)}function S(a,b){var d={};c.each(pa.concat.apply([],pa.slice(0,b)),function(){d[this]=a});return d}function qa(a){if(!ea[a]){var b=c("<"+ -a+">").appendTo("body"),d=b.css("display");b.remove();if(d==="none"||d==="")d="block";ea[a]=d}return ea[a]}function fa(a){return c.isWindow(a)?a:a.nodeType===9?a.defaultView||a.parentWindow:false}var t=E.document,c=function(){function a(){if(!b.isReady){try{t.documentElement.doScroll("left")}catch(j){setTimeout(a,1);return}b.ready()}}var b=function(j,s){return new b.fn.init(j,s)},d=E.jQuery,e=E.$,f,h=/^(?:[^<]*(<[\w\W]+>)[^>]*$|#([\w\-]+)$)/,l=/\S/,k=/^\s+/,o=/\s+$/,x=/\W/,r=/\d/,A=/^<(\w+)\s*\/?>(?:<\/\1>)?$/, -C=/^[\],:{}\s]*$/,J=/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,w=/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,I=/(?:^|:|,)(?:\s*\[)+/g,L=/(webkit)[ \/]([\w.]+)/,g=/(opera)(?:.*version)?[ \/]([\w.]+)/,i=/(msie) ([\w.]+)/,n=/(mozilla)(?:.*? rv:([\w.]+))?/,m=navigator.userAgent,p=false,q=[],u,y=Object.prototype.toString,F=Object.prototype.hasOwnProperty,M=Array.prototype.push,N=Array.prototype.slice,O=String.prototype.trim,D=Array.prototype.indexOf,R={};b.fn=b.prototype={init:function(j, -s){var v,z,H;if(!j)return this;if(j.nodeType){this.context=this[0]=j;this.length=1;return this}if(j==="body"&&!s&&t.body){this.context=t;this[0]=t.body;this.selector="body";this.length=1;return this}if(typeof j==="string")if((v=h.exec(j))&&(v[1]||!s))if(v[1]){H=s?s.ownerDocument||s:t;if(z=A.exec(j))if(b.isPlainObject(s)){j=[t.createElement(z[1])];b.fn.attr.call(j,s,true)}else j=[H.createElement(z[1])];else{z=b.buildFragment([v[1]],[H]);j=(z.cacheable?z.fragment.cloneNode(true):z.fragment).childNodes}return b.merge(this, -j)}else{if((z=t.getElementById(v[2]))&&z.parentNode){if(z.id!==v[2])return f.find(j);this.length=1;this[0]=z}this.context=t;this.selector=j;return this}else if(!s&&!x.test(j)){this.selector=j;this.context=t;j=t.getElementsByTagName(j);return b.merge(this,j)}else return!s||s.jquery?(s||f).find(j):b(s).find(j);else if(b.isFunction(j))return f.ready(j);if(j.selector!==B){this.selector=j.selector;this.context=j.context}return b.makeArray(j,this)},selector:"",jquery:"1.4.4",length:0,size:function(){return this.length}, -toArray:function(){return N.call(this,0)},get:function(j){return j==null?this.toArray():j<0?this.slice(j)[0]:this[j]},pushStack:function(j,s,v){var z=b();b.isArray(j)?M.apply(z,j):b.merge(z,j);z.prevObject=this;z.context=this.context;if(s==="find")z.selector=this.selector+(this.selector?" ":"")+v;else if(s)z.selector=this.selector+"."+s+"("+v+")";return z},each:function(j,s){return b.each(this,j,s)},ready:function(j){b.bindReady();if(b.isReady)j.call(t,b);else q&&q.push(j);return this},eq:function(j){return j=== --1?this.slice(j):this.slice(j,+j+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(N.apply(this,arguments),"slice",N.call(arguments).join(","))},map:function(j){return this.pushStack(b.map(this,function(s,v){return j.call(s,v,s)}))},end:function(){return this.prevObject||b(null)},push:M,sort:[].sort,splice:[].splice};b.fn.init.prototype=b.fn;b.extend=b.fn.extend=function(){var j,s,v,z,H,G=arguments[0]||{},K=1,Q=arguments.length,ga=false; -if(typeof G==="boolean"){ga=G;G=arguments[1]||{};K=2}if(typeof G!=="object"&&!b.isFunction(G))G={};if(Q===K){G=this;--K}for(;K<Q;K++)if((j=arguments[K])!=null)for(s in j){v=G[s];z=j[s];if(G!==z)if(ga&&z&&(b.isPlainObject(z)||(H=b.isArray(z)))){if(H){H=false;v=v&&b.isArray(v)?v:[]}else v=v&&b.isPlainObject(v)?v:{};G[s]=b.extend(ga,v,z)}else if(z!==B)G[s]=z}return G};b.extend({noConflict:function(j){E.$=e;if(j)E.jQuery=d;return b},isReady:false,readyWait:1,ready:function(j){j===true&&b.readyWait--; -if(!b.readyWait||j!==true&&!b.isReady){if(!t.body)return setTimeout(b.ready,1);b.isReady=true;if(!(j!==true&&--b.readyWait>0))if(q){var s=0,v=q;for(q=null;j=v[s++];)j.call(t,b);b.fn.trigger&&b(t).trigger("ready").unbind("ready")}}},bindReady:function(){if(!p){p=true;if(t.readyState==="complete")return setTimeout(b.ready,1);if(t.addEventListener){t.addEventListener("DOMContentLoaded",u,false);E.addEventListener("load",b.ready,false)}else if(t.attachEvent){t.attachEvent("onreadystatechange",u);E.attachEvent("onload", -b.ready);var j=false;try{j=E.frameElement==null}catch(s){}t.documentElement.doScroll&&j&&a()}}},isFunction:function(j){return b.type(j)==="function"},isArray:Array.isArray||function(j){return b.type(j)==="array"},isWindow:function(j){return j&&typeof j==="object"&&"setInterval"in j},isNaN:function(j){return j==null||!r.test(j)||isNaN(j)},type:function(j){return j==null?String(j):R[y.call(j)]||"object"},isPlainObject:function(j){if(!j||b.type(j)!=="object"||j.nodeType||b.isWindow(j))return false;if(j.constructor&& -!F.call(j,"constructor")&&!F.call(j.constructor.prototype,"isPrototypeOf"))return false;for(var s in j);return s===B||F.call(j,s)},isEmptyObject:function(j){for(var s in j)return false;return true},error:function(j){throw j;},parseJSON:function(j){if(typeof j!=="string"||!j)return null;j=b.trim(j);if(C.test(j.replace(J,"@").replace(w,"]").replace(I,"")))return E.JSON&&E.JSON.parse?E.JSON.parse(j):(new Function("return "+j))();else b.error("Invalid JSON: "+j)},noop:function(){},globalEval:function(j){if(j&& -l.test(j)){var s=t.getElementsByTagName("head")[0]||t.documentElement,v=t.createElement("script");v.type="text/javascript";if(b.support.scriptEval)v.appendChild(t.createTextNode(j));else v.text=j;s.insertBefore(v,s.firstChild);s.removeChild(v)}},nodeName:function(j,s){return j.nodeName&&j.nodeName.toUpperCase()===s.toUpperCase()},each:function(j,s,v){var z,H=0,G=j.length,K=G===B||b.isFunction(j);if(v)if(K)for(z in j){if(s.apply(j[z],v)===false)break}else for(;H<G;){if(s.apply(j[H++],v)===false)break}else if(K)for(z in j){if(s.call(j[z], -z,j[z])===false)break}else for(v=j[0];H<G&&s.call(v,H,v)!==false;v=j[++H]);return j},trim:O?function(j){return j==null?"":O.call(j)}:function(j){return j==null?"":j.toString().replace(k,"").replace(o,"")},makeArray:function(j,s){var v=s||[];if(j!=null){var z=b.type(j);j.length==null||z==="string"||z==="function"||z==="regexp"||b.isWindow(j)?M.call(v,j):b.merge(v,j)}return v},inArray:function(j,s){if(s.indexOf)return s.indexOf(j);for(var v=0,z=s.length;v<z;v++)if(s[v]===j)return v;return-1},merge:function(j, -s){var v=j.length,z=0;if(typeof s.length==="number")for(var H=s.length;z<H;z++)j[v++]=s[z];else for(;s[z]!==B;)j[v++]=s[z++];j.length=v;return j},grep:function(j,s,v){var z=[],H;v=!!v;for(var G=0,K=j.length;G<K;G++){H=!!s(j[G],G);v!==H&&z.push(j[G])}return z},map:function(j,s,v){for(var z=[],H,G=0,K=j.length;G<K;G++){H=s(j[G],G,v);if(H!=null)z[z.length]=H}return z.concat.apply([],z)},guid:1,proxy:function(j,s,v){if(arguments.length===2)if(typeof s==="string"){v=j;j=v[s];s=B}else if(s&&!b.isFunction(s)){v= -s;s=B}if(!s&&j)s=function(){return j.apply(v||this,arguments)};if(j)s.guid=j.guid=j.guid||s.guid||b.guid++;return s},access:function(j,s,v,z,H,G){var K=j.length;if(typeof s==="object"){for(var Q in s)b.access(j,Q,s[Q],z,H,v);return j}if(v!==B){z=!G&&z&&b.isFunction(v);for(Q=0;Q<K;Q++)H(j[Q],s,z?v.call(j[Q],Q,H(j[Q],s)):v,G);return j}return K?H(j[0],s):B},now:function(){return(new Date).getTime()},uaMatch:function(j){j=j.toLowerCase();j=L.exec(j)||g.exec(j)||i.exec(j)||j.indexOf("compatible")<0&&n.exec(j)|| -[];return{browser:j[1]||"",version:j[2]||"0"}},browser:{}});b.each("Boolean Number String Function Array Date RegExp Object".split(" "),function(j,s){R["[object "+s+"]"]=s.toLowerCase()});m=b.uaMatch(m);if(m.browser){b.browser[m.browser]=true;b.browser.version=m.version}if(b.browser.webkit)b.browser.safari=true;if(D)b.inArray=function(j,s){return D.call(s,j)};if(!/\s/.test("\u00a0")){k=/^[\s\xA0]+/;o=/[\s\xA0]+$/}f=b(t);if(t.addEventListener)u=function(){t.removeEventListener("DOMContentLoaded",u, -false);b.ready()};else if(t.attachEvent)u=function(){if(t.readyState==="complete"){t.detachEvent("onreadystatechange",u);b.ready()}};return E.jQuery=E.$=b}();(function(){c.support={};var a=t.documentElement,b=t.createElement("script"),d=t.createElement("div"),e="script"+c.now();d.style.display="none";d.innerHTML=" <link/><table></table><a href='/a' style='color:red;float:left;opacity:.55;'>a</a><input type='checkbox'/>";var f=d.getElementsByTagName("*"),h=d.getElementsByTagName("a")[0],l=t.createElement("select"), -k=l.appendChild(t.createElement("option"));if(!(!f||!f.length||!h)){c.support={leadingWhitespace:d.firstChild.nodeType===3,tbody:!d.getElementsByTagName("tbody").length,htmlSerialize:!!d.getElementsByTagName("link").length,style:/red/.test(h.getAttribute("style")),hrefNormalized:h.getAttribute("href")==="/a",opacity:/^0.55$/.test(h.style.opacity),cssFloat:!!h.style.cssFloat,checkOn:d.getElementsByTagName("input")[0].value==="on",optSelected:k.selected,deleteExpando:true,optDisabled:false,checkClone:false, -scriptEval:false,noCloneEvent:true,boxModel:null,inlineBlockNeedsLayout:false,shrinkWrapBlocks:false,reliableHiddenOffsets:true};l.disabled=true;c.support.optDisabled=!k.disabled;b.type="text/javascript";try{b.appendChild(t.createTextNode("window."+e+"=1;"))}catch(o){}a.insertBefore(b,a.firstChild);if(E[e]){c.support.scriptEval=true;delete E[e]}try{delete b.test}catch(x){c.support.deleteExpando=false}a.removeChild(b);if(d.attachEvent&&d.fireEvent){d.attachEvent("onclick",function r(){c.support.noCloneEvent= -false;d.detachEvent("onclick",r)});d.cloneNode(true).fireEvent("onclick")}d=t.createElement("div");d.innerHTML="<input type='radio' name='radiotest' checked='checked'/>";a=t.createDocumentFragment();a.appendChild(d.firstChild);c.support.checkClone=a.cloneNode(true).cloneNode(true).lastChild.checked;c(function(){var r=t.createElement("div");r.style.width=r.style.paddingLeft="1px";t.body.appendChild(r);c.boxModel=c.support.boxModel=r.offsetWidth===2;if("zoom"in r.style){r.style.display="inline";r.style.zoom= -1;c.support.inlineBlockNeedsLayout=r.offsetWidth===2;r.style.display="";r.innerHTML="<div style='width:4px;'></div>";c.support.shrinkWrapBlocks=r.offsetWidth!==2}r.innerHTML="<table><tr><td style='padding:0;display:none'></td><td>t</td></tr></table>";var A=r.getElementsByTagName("td");c.support.reliableHiddenOffsets=A[0].offsetHeight===0;A[0].style.display="";A[1].style.display="none";c.support.reliableHiddenOffsets=c.support.reliableHiddenOffsets&&A[0].offsetHeight===0;r.innerHTML="";t.body.removeChild(r).style.display= -"none"});a=function(r){var A=t.createElement("div");r="on"+r;var C=r in A;if(!C){A.setAttribute(r,"return;");C=typeof A[r]==="function"}return C};c.support.submitBubbles=a("submit");c.support.changeBubbles=a("change");a=b=d=f=h=null}})();var ra={},Ja=/^(?:\{.*\}|\[.*\])$/;c.extend({cache:{},uuid:0,expando:"jQuery"+c.now(),noData:{embed:true,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:true},data:function(a,b,d){if(c.acceptData(a)){a=a==E?ra:a;var e=a.nodeType,f=e?a[c.expando]:null,h= -c.cache;if(!(e&&!f&&typeof b==="string"&&d===B)){if(e)f||(a[c.expando]=f=++c.uuid);else h=a;if(typeof b==="object")if(e)h[f]=c.extend(h[f],b);else c.extend(h,b);else if(e&&!h[f])h[f]={};a=e?h[f]:h;if(d!==B)a[b]=d;return typeof b==="string"?a[b]:a}}},removeData:function(a,b){if(c.acceptData(a)){a=a==E?ra:a;var d=a.nodeType,e=d?a[c.expando]:a,f=c.cache,h=d?f[e]:e;if(b){if(h){delete h[b];d&&c.isEmptyObject(h)&&c.removeData(a)}}else if(d&&c.support.deleteExpando)delete a[c.expando];else if(a.removeAttribute)a.removeAttribute(c.expando); -else if(d)delete f[e];else for(var l in a)delete a[l]}},acceptData:function(a){if(a.nodeName){var b=c.noData[a.nodeName.toLowerCase()];if(b)return!(b===true||a.getAttribute("classid")!==b)}return true}});c.fn.extend({data:function(a,b){var d=null;if(typeof a==="undefined"){if(this.length){var e=this[0].attributes,f;d=c.data(this[0]);for(var h=0,l=e.length;h<l;h++){f=e[h].name;if(f.indexOf("data-")===0){f=f.substr(5);ka(this[0],f,d[f])}}}return d}else if(typeof a==="object")return this.each(function(){c.data(this, -a)});var k=a.split(".");k[1]=k[1]?"."+k[1]:"";if(b===B){d=this.triggerHandler("getData"+k[1]+"!",[k[0]]);if(d===B&&this.length){d=c.data(this[0],a);d=ka(this[0],a,d)}return d===B&&k[1]?this.data(k[0]):d}else return this.each(function(){var o=c(this),x=[k[0],b];o.triggerHandler("setData"+k[1]+"!",x);c.data(this,a,b);o.triggerHandler("changeData"+k[1]+"!",x)})},removeData:function(a){return this.each(function(){c.removeData(this,a)})}});c.extend({queue:function(a,b,d){if(a){b=(b||"fx")+"queue";var e= -c.data(a,b);if(!d)return e||[];if(!e||c.isArray(d))e=c.data(a,b,c.makeArray(d));else e.push(d);return e}},dequeue:function(a,b){b=b||"fx";var d=c.queue(a,b),e=d.shift();if(e==="inprogress")e=d.shift();if(e){b==="fx"&&d.unshift("inprogress");e.call(a,function(){c.dequeue(a,b)})}}});c.fn.extend({queue:function(a,b){if(typeof a!=="string"){b=a;a="fx"}if(b===B)return c.queue(this[0],a);return this.each(function(){var d=c.queue(this,a,b);a==="fx"&&d[0]!=="inprogress"&&c.dequeue(this,a)})},dequeue:function(a){return this.each(function(){c.dequeue(this, -a)})},delay:function(a,b){a=c.fx?c.fx.speeds[a]||a:a;b=b||"fx";return this.queue(b,function(){var d=this;setTimeout(function(){c.dequeue(d,b)},a)})},clearQueue:function(a){return this.queue(a||"fx",[])}});var sa=/[\n\t]/g,ha=/\s+/,Sa=/\r/g,Ta=/^(?:href|src|style)$/,Ua=/^(?:button|input)$/i,Va=/^(?:button|input|object|select|textarea)$/i,Wa=/^a(?:rea)?$/i,ta=/^(?:radio|checkbox)$/i;c.props={"for":"htmlFor","class":"className",readonly:"readOnly",maxlength:"maxLength",cellspacing:"cellSpacing",rowspan:"rowSpan", -colspan:"colSpan",tabindex:"tabIndex",usemap:"useMap",frameborder:"frameBorder"};c.fn.extend({attr:function(a,b){return c.access(this,a,b,true,c.attr)},removeAttr:function(a){return this.each(function(){c.attr(this,a,"");this.nodeType===1&&this.removeAttribute(a)})},addClass:function(a){if(c.isFunction(a))return this.each(function(x){var r=c(this);r.addClass(a.call(this,x,r.attr("class")))});if(a&&typeof a==="string")for(var b=(a||"").split(ha),d=0,e=this.length;d<e;d++){var f=this[d];if(f.nodeType=== -1)if(f.className){for(var h=" "+f.className+" ",l=f.className,k=0,o=b.length;k<o;k++)if(h.indexOf(" "+b[k]+" ")<0)l+=" "+b[k];f.className=c.trim(l)}else f.className=a}return this},removeClass:function(a){if(c.isFunction(a))return this.each(function(o){var x=c(this);x.removeClass(a.call(this,o,x.attr("class")))});if(a&&typeof a==="string"||a===B)for(var b=(a||"").split(ha),d=0,e=this.length;d<e;d++){var f=this[d];if(f.nodeType===1&&f.className)if(a){for(var h=(" "+f.className+" ").replace(sa," "), -l=0,k=b.length;l<k;l++)h=h.replace(" "+b[l]+" "," ");f.className=c.trim(h)}else f.className=""}return this},toggleClass:function(a,b){var d=typeof a,e=typeof b==="boolean";if(c.isFunction(a))return this.each(function(f){var h=c(this);h.toggleClass(a.call(this,f,h.attr("class"),b),b)});return this.each(function(){if(d==="string")for(var f,h=0,l=c(this),k=b,o=a.split(ha);f=o[h++];){k=e?k:!l.hasClass(f);l[k?"addClass":"removeClass"](f)}else if(d==="undefined"||d==="boolean"){this.className&&c.data(this, -"__className__",this.className);this.className=this.className||a===false?"":c.data(this,"__className__")||""}})},hasClass:function(a){a=" "+a+" ";for(var b=0,d=this.length;b<d;b++)if((" "+this[b].className+" ").replace(sa," ").indexOf(a)>-1)return true;return false},val:function(a){if(!arguments.length){var b=this[0];if(b){if(c.nodeName(b,"option")){var d=b.attributes.value;return!d||d.specified?b.value:b.text}if(c.nodeName(b,"select")){var e=b.selectedIndex;d=[];var f=b.options;b=b.type==="select-one"; -if(e<0)return null;var h=b?e:0;for(e=b?e+1:f.length;h<e;h++){var l=f[h];if(l.selected&&(c.support.optDisabled?!l.disabled:l.getAttribute("disabled")===null)&&(!l.parentNode.disabled||!c.nodeName(l.parentNode,"optgroup"))){a=c(l).val();if(b)return a;d.push(a)}}return d}if(ta.test(b.type)&&!c.support.checkOn)return b.getAttribute("value")===null?"on":b.value;return(b.value||"").replace(Sa,"")}return B}var k=c.isFunction(a);return this.each(function(o){var x=c(this),r=a;if(this.nodeType===1){if(k)r= -a.call(this,o,x.val());if(r==null)r="";else if(typeof r==="number")r+="";else if(c.isArray(r))r=c.map(r,function(C){return C==null?"":C+""});if(c.isArray(r)&&ta.test(this.type))this.checked=c.inArray(x.val(),r)>=0;else if(c.nodeName(this,"select")){var A=c.makeArray(r);c("option",this).each(function(){this.selected=c.inArray(c(this).val(),A)>=0});if(!A.length)this.selectedIndex=-1}else this.value=r}})}});c.extend({attrFn:{val:true,css:true,html:true,text:true,data:true,width:true,height:true,offset:true}, -attr:function(a,b,d,e){if(!a||a.nodeType===3||a.nodeType===8)return B;if(e&&b in c.attrFn)return c(a)[b](d);e=a.nodeType!==1||!c.isXMLDoc(a);var f=d!==B;b=e&&c.props[b]||b;var h=Ta.test(b);if((b in a||a[b]!==B)&&e&&!h){if(f){b==="type"&&Ua.test(a.nodeName)&&a.parentNode&&c.error("type property can't be changed");if(d===null)a.nodeType===1&&a.removeAttribute(b);else a[b]=d}if(c.nodeName(a,"form")&&a.getAttributeNode(b))return a.getAttributeNode(b).nodeValue;if(b==="tabIndex")return(b=a.getAttributeNode("tabIndex"))&& -b.specified?b.value:Va.test(a.nodeName)||Wa.test(a.nodeName)&&a.href?0:B;return a[b]}if(!c.support.style&&e&&b==="style"){if(f)a.style.cssText=""+d;return a.style.cssText}f&&a.setAttribute(b,""+d);if(!a.attributes[b]&&a.hasAttribute&&!a.hasAttribute(b))return B;a=!c.support.hrefNormalized&&e&&h?a.getAttribute(b,2):a.getAttribute(b);return a===null?B:a}});var X=/\.(.*)$/,ia=/^(?:textarea|input|select)$/i,La=/\./g,Ma=/ /g,Xa=/[^\w\s.|`]/g,Ya=function(a){return a.replace(Xa,"\\$&")},ua={focusin:0,focusout:0}; -c.event={add:function(a,b,d,e){if(!(a.nodeType===3||a.nodeType===8)){if(c.isWindow(a)&&a!==E&&!a.frameElement)a=E;if(d===false)d=U;else if(!d)return;var f,h;if(d.handler){f=d;d=f.handler}if(!d.guid)d.guid=c.guid++;if(h=c.data(a)){var l=a.nodeType?"events":"__events__",k=h[l],o=h.handle;if(typeof k==="function"){o=k.handle;k=k.events}else if(!k){a.nodeType||(h[l]=h=function(){});h.events=k={}}if(!o)h.handle=o=function(){return typeof c!=="undefined"&&!c.event.triggered?c.event.handle.apply(o.elem, -arguments):B};o.elem=a;b=b.split(" ");for(var x=0,r;l=b[x++];){h=f?c.extend({},f):{handler:d,data:e};if(l.indexOf(".")>-1){r=l.split(".");l=r.shift();h.namespace=r.slice(0).sort().join(".")}else{r=[];h.namespace=""}h.type=l;if(!h.guid)h.guid=d.guid;var A=k[l],C=c.event.special[l]||{};if(!A){A=k[l]=[];if(!C.setup||C.setup.call(a,e,r,o)===false)if(a.addEventListener)a.addEventListener(l,o,false);else a.attachEvent&&a.attachEvent("on"+l,o)}if(C.add){C.add.call(a,h);if(!h.handler.guid)h.handler.guid= -d.guid}A.push(h);c.event.global[l]=true}a=null}}},global:{},remove:function(a,b,d,e){if(!(a.nodeType===3||a.nodeType===8)){if(d===false)d=U;var f,h,l=0,k,o,x,r,A,C,J=a.nodeType?"events":"__events__",w=c.data(a),I=w&&w[J];if(w&&I){if(typeof I==="function"){w=I;I=I.events}if(b&&b.type){d=b.handler;b=b.type}if(!b||typeof b==="string"&&b.charAt(0)==="."){b=b||"";for(f in I)c.event.remove(a,f+b)}else{for(b=b.split(" ");f=b[l++];){r=f;k=f.indexOf(".")<0;o=[];if(!k){o=f.split(".");f=o.shift();x=RegExp("(^|\\.)"+ -c.map(o.slice(0).sort(),Ya).join("\\.(?:.*\\.)?")+"(\\.|$)")}if(A=I[f])if(d){r=c.event.special[f]||{};for(h=e||0;h<A.length;h++){C=A[h];if(d.guid===C.guid){if(k||x.test(C.namespace)){e==null&&A.splice(h--,1);r.remove&&r.remove.call(a,C)}if(e!=null)break}}if(A.length===0||e!=null&&A.length===1){if(!r.teardown||r.teardown.call(a,o)===false)c.removeEvent(a,f,w.handle);delete I[f]}}else for(h=0;h<A.length;h++){C=A[h];if(k||x.test(C.namespace)){c.event.remove(a,r,C.handler,h);A.splice(h--,1)}}}if(c.isEmptyObject(I)){if(b= -w.handle)b.elem=null;delete w.events;delete w.handle;if(typeof w==="function")c.removeData(a,J);else c.isEmptyObject(w)&&c.removeData(a)}}}}},trigger:function(a,b,d,e){var f=a.type||a;if(!e){a=typeof a==="object"?a[c.expando]?a:c.extend(c.Event(f),a):c.Event(f);if(f.indexOf("!")>=0){a.type=f=f.slice(0,-1);a.exclusive=true}if(!d){a.stopPropagation();c.event.global[f]&&c.each(c.cache,function(){this.events&&this.events[f]&&c.event.trigger(a,b,this.handle.elem)})}if(!d||d.nodeType===3||d.nodeType=== -8)return B;a.result=B;a.target=d;b=c.makeArray(b);b.unshift(a)}a.currentTarget=d;(e=d.nodeType?c.data(d,"handle"):(c.data(d,"__events__")||{}).handle)&&e.apply(d,b);e=d.parentNode||d.ownerDocument;try{if(!(d&&d.nodeName&&c.noData[d.nodeName.toLowerCase()]))if(d["on"+f]&&d["on"+f].apply(d,b)===false){a.result=false;a.preventDefault()}}catch(h){}if(!a.isPropagationStopped()&&e)c.event.trigger(a,b,e,true);else if(!a.isDefaultPrevented()){var l;e=a.target;var k=f.replace(X,""),o=c.nodeName(e,"a")&&k=== -"click",x=c.event.special[k]||{};if((!x._default||x._default.call(d,a)===false)&&!o&&!(e&&e.nodeName&&c.noData[e.nodeName.toLowerCase()])){try{if(e[k]){if(l=e["on"+k])e["on"+k]=null;c.event.triggered=true;e[k]()}}catch(r){}if(l)e["on"+k]=l;c.event.triggered=false}}},handle:function(a){var b,d,e,f;d=[];var h=c.makeArray(arguments);a=h[0]=c.event.fix(a||E.event);a.currentTarget=this;b=a.type.indexOf(".")<0&&!a.exclusive;if(!b){e=a.type.split(".");a.type=e.shift();d=e.slice(0).sort();e=RegExp("(^|\\.)"+ -d.join("\\.(?:.*\\.)?")+"(\\.|$)")}a.namespace=a.namespace||d.join(".");f=c.data(this,this.nodeType?"events":"__events__");if(typeof f==="function")f=f.events;d=(f||{})[a.type];if(f&&d){d=d.slice(0);f=0;for(var l=d.length;f<l;f++){var k=d[f];if(b||e.test(k.namespace)){a.handler=k.handler;a.data=k.data;a.handleObj=k;k=k.handler.apply(this,h);if(k!==B){a.result=k;if(k===false){a.preventDefault();a.stopPropagation()}}if(a.isImmediatePropagationStopped())break}}}return a.result},props:"altKey attrChange attrName bubbles button cancelable charCode clientX clientY ctrlKey currentTarget data detail eventPhase fromElement handler keyCode layerX layerY metaKey newValue offsetX offsetY pageX pageY prevValue relatedNode relatedTarget screenX screenY shiftKey srcElement target toElement view wheelDelta which".split(" "), -fix:function(a){if(a[c.expando])return a;var b=a;a=c.Event(b);for(var d=this.props.length,e;d;){e=this.props[--d];a[e]=b[e]}if(!a.target)a.target=a.srcElement||t;if(a.target.nodeType===3)a.target=a.target.parentNode;if(!a.relatedTarget&&a.fromElement)a.relatedTarget=a.fromElement===a.target?a.toElement:a.fromElement;if(a.pageX==null&&a.clientX!=null){b=t.documentElement;d=t.body;a.pageX=a.clientX+(b&&b.scrollLeft||d&&d.scrollLeft||0)-(b&&b.clientLeft||d&&d.clientLeft||0);a.pageY=a.clientY+(b&&b.scrollTop|| -d&&d.scrollTop||0)-(b&&b.clientTop||d&&d.clientTop||0)}if(a.which==null&&(a.charCode!=null||a.keyCode!=null))a.which=a.charCode!=null?a.charCode:a.keyCode;if(!a.metaKey&&a.ctrlKey)a.metaKey=a.ctrlKey;if(!a.which&&a.button!==B)a.which=a.button&1?1:a.button&2?3:a.button&4?2:0;return a},guid:1E8,proxy:c.proxy,special:{ready:{setup:c.bindReady,teardown:c.noop},live:{add:function(a){c.event.add(this,Y(a.origType,a.selector),c.extend({},a,{handler:Ka,guid:a.handler.guid}))},remove:function(a){c.event.remove(this, -Y(a.origType,a.selector),a)}},beforeunload:{setup:function(a,b,d){if(c.isWindow(this))this.onbeforeunload=d},teardown:function(a,b){if(this.onbeforeunload===b)this.onbeforeunload=null}}}};c.removeEvent=t.removeEventListener?function(a,b,d){a.removeEventListener&&a.removeEventListener(b,d,false)}:function(a,b,d){a.detachEvent&&a.detachEvent("on"+b,d)};c.Event=function(a){if(!this.preventDefault)return new c.Event(a);if(a&&a.type){this.originalEvent=a;this.type=a.type}else this.type=a;this.timeStamp= -c.now();this[c.expando]=true};c.Event.prototype={preventDefault:function(){this.isDefaultPrevented=ca;var a=this.originalEvent;if(a)if(a.preventDefault)a.preventDefault();else a.returnValue=false},stopPropagation:function(){this.isPropagationStopped=ca;var a=this.originalEvent;if(a){a.stopPropagation&&a.stopPropagation();a.cancelBubble=true}},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=ca;this.stopPropagation()},isDefaultPrevented:U,isPropagationStopped:U,isImmediatePropagationStopped:U}; -var va=function(a){var b=a.relatedTarget;try{for(;b&&b!==this;)b=b.parentNode;if(b!==this){a.type=a.data;c.event.handle.apply(this,arguments)}}catch(d){}},wa=function(a){a.type=a.data;c.event.handle.apply(this,arguments)};c.each({mouseenter:"mouseover",mouseleave:"mouseout"},function(a,b){c.event.special[a]={setup:function(d){c.event.add(this,b,d&&d.selector?wa:va,a)},teardown:function(d){c.event.remove(this,b,d&&d.selector?wa:va)}}});if(!c.support.submitBubbles)c.event.special.submit={setup:function(){if(this.nodeName.toLowerCase()!== -"form"){c.event.add(this,"click.specialSubmit",function(a){var b=a.target,d=b.type;if((d==="submit"||d==="image")&&c(b).closest("form").length){a.liveFired=B;return la("submit",this,arguments)}});c.event.add(this,"keypress.specialSubmit",function(a){var b=a.target,d=b.type;if((d==="text"||d==="password")&&c(b).closest("form").length&&a.keyCode===13){a.liveFired=B;return la("submit",this,arguments)}})}else return false},teardown:function(){c.event.remove(this,".specialSubmit")}};if(!c.support.changeBubbles){var V, -xa=function(a){var b=a.type,d=a.value;if(b==="radio"||b==="checkbox")d=a.checked;else if(b==="select-multiple")d=a.selectedIndex>-1?c.map(a.options,function(e){return e.selected}).join("-"):"";else if(a.nodeName.toLowerCase()==="select")d=a.selectedIndex;return d},Z=function(a,b){var d=a.target,e,f;if(!(!ia.test(d.nodeName)||d.readOnly)){e=c.data(d,"_change_data");f=xa(d);if(a.type!=="focusout"||d.type!=="radio")c.data(d,"_change_data",f);if(!(e===B||f===e))if(e!=null||f){a.type="change";a.liveFired= -B;return c.event.trigger(a,b,d)}}};c.event.special.change={filters:{focusout:Z,beforedeactivate:Z,click:function(a){var b=a.target,d=b.type;if(d==="radio"||d==="checkbox"||b.nodeName.toLowerCase()==="select")return Z.call(this,a)},keydown:function(a){var b=a.target,d=b.type;if(a.keyCode===13&&b.nodeName.toLowerCase()!=="textarea"||a.keyCode===32&&(d==="checkbox"||d==="radio")||d==="select-multiple")return Z.call(this,a)},beforeactivate:function(a){a=a.target;c.data(a,"_change_data",xa(a))}},setup:function(){if(this.type=== -"file")return false;for(var a in V)c.event.add(this,a+".specialChange",V[a]);return ia.test(this.nodeName)},teardown:function(){c.event.remove(this,".specialChange");return ia.test(this.nodeName)}};V=c.event.special.change.filters;V.focus=V.beforeactivate}t.addEventListener&&c.each({focus:"focusin",blur:"focusout"},function(a,b){function d(e){e=c.event.fix(e);e.type=b;return c.event.trigger(e,null,e.target)}c.event.special[b]={setup:function(){ua[b]++===0&&t.addEventListener(a,d,true)},teardown:function(){--ua[b]=== -0&&t.removeEventListener(a,d,true)}}});c.each(["bind","one"],function(a,b){c.fn[b]=function(d,e,f){if(typeof d==="object"){for(var h in d)this[b](h,e,d[h],f);return this}if(c.isFunction(e)||e===false){f=e;e=B}var l=b==="one"?c.proxy(f,function(o){c(this).unbind(o,l);return f.apply(this,arguments)}):f;if(d==="unload"&&b!=="one")this.one(d,e,f);else{h=0;for(var k=this.length;h<k;h++)c.event.add(this[h],d,l,e)}return this}});c.fn.extend({unbind:function(a,b){if(typeof a==="object"&&!a.preventDefault)for(var d in a)this.unbind(d, -a[d]);else{d=0;for(var e=this.length;d<e;d++)c.event.remove(this[d],a,b)}return this},delegate:function(a,b,d,e){return this.live(b,d,e,a)},undelegate:function(a,b,d){return arguments.length===0?this.unbind("live"):this.die(b,null,d,a)},trigger:function(a,b){return this.each(function(){c.event.trigger(a,b,this)})},triggerHandler:function(a,b){if(this[0]){var d=c.Event(a);d.preventDefault();d.stopPropagation();c.event.trigger(d,b,this[0]);return d.result}},toggle:function(a){for(var b=arguments,d= -1;d<b.length;)c.proxy(a,b[d++]);return this.click(c.proxy(a,function(e){var f=(c.data(this,"lastToggle"+a.guid)||0)%d;c.data(this,"lastToggle"+a.guid,f+1);e.preventDefault();return b[f].apply(this,arguments)||false}))},hover:function(a,b){return this.mouseenter(a).mouseleave(b||a)}});var ya={focus:"focusin",blur:"focusout",mouseenter:"mouseover",mouseleave:"mouseout"};c.each(["live","die"],function(a,b){c.fn[b]=function(d,e,f,h){var l,k=0,o,x,r=h||this.selector;h=h?this:c(this.context);if(typeof d=== -"object"&&!d.preventDefault){for(l in d)h[b](l,e,d[l],r);return this}if(c.isFunction(e)){f=e;e=B}for(d=(d||"").split(" ");(l=d[k++])!=null;){o=X.exec(l);x="";if(o){x=o[0];l=l.replace(X,"")}if(l==="hover")d.push("mouseenter"+x,"mouseleave"+x);else{o=l;if(l==="focus"||l==="blur"){d.push(ya[l]+x);l+=x}else l=(ya[l]||l)+x;if(b==="live"){x=0;for(var A=h.length;x<A;x++)c.event.add(h[x],"live."+Y(l,r),{data:e,selector:r,handler:f,origType:l,origHandler:f,preType:o})}else h.unbind("live."+Y(l,r),f)}}return this}}); -c.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error".split(" "),function(a,b){c.fn[b]=function(d,e){if(e==null){e=d;d=null}return arguments.length>0?this.bind(b,d,e):this.trigger(b)};if(c.attrFn)c.attrFn[b]=true});E.attachEvent&&!E.addEventListener&&c(E).bind("unload",function(){for(var a in c.cache)if(c.cache[a].handle)try{c.event.remove(c.cache[a].handle.elem)}catch(b){}}); -(function(){function a(g,i,n,m,p,q){p=0;for(var u=m.length;p<u;p++){var y=m[p];if(y){var F=false;for(y=y[g];y;){if(y.sizcache===n){F=m[y.sizset];break}if(y.nodeType===1&&!q){y.sizcache=n;y.sizset=p}if(y.nodeName.toLowerCase()===i){F=y;break}y=y[g]}m[p]=F}}}function b(g,i,n,m,p,q){p=0;for(var u=m.length;p<u;p++){var y=m[p];if(y){var F=false;for(y=y[g];y;){if(y.sizcache===n){F=m[y.sizset];break}if(y.nodeType===1){if(!q){y.sizcache=n;y.sizset=p}if(typeof i!=="string"){if(y===i){F=true;break}}else if(k.filter(i, -[y]).length>0){F=y;break}}y=y[g]}m[p]=F}}}var d=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^\[\]]*\]|['"][^'"]*['"]|[^\[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,e=0,f=Object.prototype.toString,h=false,l=true;[0,0].sort(function(){l=false;return 0});var k=function(g,i,n,m){n=n||[];var p=i=i||t;if(i.nodeType!==1&&i.nodeType!==9)return[];if(!g||typeof g!=="string")return n;var q,u,y,F,M,N=true,O=k.isXML(i),D=[],R=g;do{d.exec("");if(q=d.exec(R)){R=q[3];D.push(q[1]);if(q[2]){F=q[3]; -break}}}while(q);if(D.length>1&&x.exec(g))if(D.length===2&&o.relative[D[0]])u=L(D[0]+D[1],i);else for(u=o.relative[D[0]]?[i]:k(D.shift(),i);D.length;){g=D.shift();if(o.relative[g])g+=D.shift();u=L(g,u)}else{if(!m&&D.length>1&&i.nodeType===9&&!O&&o.match.ID.test(D[0])&&!o.match.ID.test(D[D.length-1])){q=k.find(D.shift(),i,O);i=q.expr?k.filter(q.expr,q.set)[0]:q.set[0]}if(i){q=m?{expr:D.pop(),set:C(m)}:k.find(D.pop(),D.length===1&&(D[0]==="~"||D[0]==="+")&&i.parentNode?i.parentNode:i,O);u=q.expr?k.filter(q.expr, -q.set):q.set;if(D.length>0)y=C(u);else N=false;for(;D.length;){q=M=D.pop();if(o.relative[M])q=D.pop();else M="";if(q==null)q=i;o.relative[M](y,q,O)}}else y=[]}y||(y=u);y||k.error(M||g);if(f.call(y)==="[object Array]")if(N)if(i&&i.nodeType===1)for(g=0;y[g]!=null;g++){if(y[g]&&(y[g]===true||y[g].nodeType===1&&k.contains(i,y[g])))n.push(u[g])}else for(g=0;y[g]!=null;g++)y[g]&&y[g].nodeType===1&&n.push(u[g]);else n.push.apply(n,y);else C(y,n);if(F){k(F,p,n,m);k.uniqueSort(n)}return n};k.uniqueSort=function(g){if(w){h= -l;g.sort(w);if(h)for(var i=1;i<g.length;i++)g[i]===g[i-1]&&g.splice(i--,1)}return g};k.matches=function(g,i){return k(g,null,null,i)};k.matchesSelector=function(g,i){return k(i,null,null,[g]).length>0};k.find=function(g,i,n){var m;if(!g)return[];for(var p=0,q=o.order.length;p<q;p++){var u,y=o.order[p];if(u=o.leftMatch[y].exec(g)){var F=u[1];u.splice(1,1);if(F.substr(F.length-1)!=="\\"){u[1]=(u[1]||"").replace(/\\/g,"");m=o.find[y](u,i,n);if(m!=null){g=g.replace(o.match[y],"");break}}}}m||(m=i.getElementsByTagName("*")); -return{set:m,expr:g}};k.filter=function(g,i,n,m){for(var p,q,u=g,y=[],F=i,M=i&&i[0]&&k.isXML(i[0]);g&&i.length;){for(var N in o.filter)if((p=o.leftMatch[N].exec(g))!=null&&p[2]){var O,D,R=o.filter[N];D=p[1];q=false;p.splice(1,1);if(D.substr(D.length-1)!=="\\"){if(F===y)y=[];if(o.preFilter[N])if(p=o.preFilter[N](p,F,n,y,m,M)){if(p===true)continue}else q=O=true;if(p)for(var j=0;(D=F[j])!=null;j++)if(D){O=R(D,p,j,F);var s=m^!!O;if(n&&O!=null)if(s)q=true;else F[j]=false;else if(s){y.push(D);q=true}}if(O!== -B){n||(F=y);g=g.replace(o.match[N],"");if(!q)return[];break}}}if(g===u)if(q==null)k.error(g);else break;u=g}return F};k.error=function(g){throw"Syntax error, unrecognized expression: "+g;};var o=k.selectors={order:["ID","NAME","TAG"],match:{ID:/#((?:[\w\u00c0-\uFFFF\-]|\\.)+)/,CLASS:/\.((?:[\w\u00c0-\uFFFF\-]|\\.)+)/,NAME:/\[name=['"]*((?:[\w\u00c0-\uFFFF\-]|\\.)+)['"]*\]/,ATTR:/\[\s*((?:[\w\u00c0-\uFFFF\-]|\\.)+)\s*(?:(\S?=)\s*(['"]*)(.*?)\3|)\s*\]/,TAG:/^((?:[\w\u00c0-\uFFFF\*\-]|\\.)+)/,CHILD:/:(only|nth|last|first)-child(?:\((even|odd|[\dn+\-]*)\))?/, -POS:/:(nth|eq|gt|lt|first|last|even|odd)(?:\((\d*)\))?(?=[^\-]|$)/,PSEUDO:/:((?:[\w\u00c0-\uFFFF\-]|\\.)+)(?:\((['"]?)((?:\([^\)]+\)|[^\(\)]*)+)\2\))?/},leftMatch:{},attrMap:{"class":"className","for":"htmlFor"},attrHandle:{href:function(g){return g.getAttribute("href")}},relative:{"+":function(g,i){var n=typeof i==="string",m=n&&!/\W/.test(i);n=n&&!m;if(m)i=i.toLowerCase();m=0;for(var p=g.length,q;m<p;m++)if(q=g[m]){for(;(q=q.previousSibling)&&q.nodeType!==1;);g[m]=n||q&&q.nodeName.toLowerCase()=== -i?q||false:q===i}n&&k.filter(i,g,true)},">":function(g,i){var n,m=typeof i==="string",p=0,q=g.length;if(m&&!/\W/.test(i))for(i=i.toLowerCase();p<q;p++){if(n=g[p]){n=n.parentNode;g[p]=n.nodeName.toLowerCase()===i?n:false}}else{for(;p<q;p++)if(n=g[p])g[p]=m?n.parentNode:n.parentNode===i;m&&k.filter(i,g,true)}},"":function(g,i,n){var m,p=e++,q=b;if(typeof i==="string"&&!/\W/.test(i)){m=i=i.toLowerCase();q=a}q("parentNode",i,p,g,m,n)},"~":function(g,i,n){var m,p=e++,q=b;if(typeof i==="string"&&!/\W/.test(i)){m= -i=i.toLowerCase();q=a}q("previousSibling",i,p,g,m,n)}},find:{ID:function(g,i,n){if(typeof i.getElementById!=="undefined"&&!n)return(g=i.getElementById(g[1]))&&g.parentNode?[g]:[]},NAME:function(g,i){if(typeof i.getElementsByName!=="undefined"){for(var n=[],m=i.getElementsByName(g[1]),p=0,q=m.length;p<q;p++)m[p].getAttribute("name")===g[1]&&n.push(m[p]);return n.length===0?null:n}},TAG:function(g,i){return i.getElementsByTagName(g[1])}},preFilter:{CLASS:function(g,i,n,m,p,q){g=" "+g[1].replace(/\\/g, -"")+" ";if(q)return g;q=0;for(var u;(u=i[q])!=null;q++)if(u)if(p^(u.className&&(" "+u.className+" ").replace(/[\t\n]/g," ").indexOf(g)>=0))n||m.push(u);else if(n)i[q]=false;return false},ID:function(g){return g[1].replace(/\\/g,"")},TAG:function(g){return g[1].toLowerCase()},CHILD:function(g){if(g[1]==="nth"){var i=/(-?)(\d*)n((?:\+|-)?\d*)/.exec(g[2]==="even"&&"2n"||g[2]==="odd"&&"2n+1"||!/\D/.test(g[2])&&"0n+"+g[2]||g[2]);g[2]=i[1]+(i[2]||1)-0;g[3]=i[3]-0}g[0]=e++;return g},ATTR:function(g,i,n, -m,p,q){i=g[1].replace(/\\/g,"");if(!q&&o.attrMap[i])g[1]=o.attrMap[i];if(g[2]==="~=")g[4]=" "+g[4]+" ";return g},PSEUDO:function(g,i,n,m,p){if(g[1]==="not")if((d.exec(g[3])||"").length>1||/^\w/.test(g[3]))g[3]=k(g[3],null,null,i);else{g=k.filter(g[3],i,n,true^p);n||m.push.apply(m,g);return false}else if(o.match.POS.test(g[0])||o.match.CHILD.test(g[0]))return true;return g},POS:function(g){g.unshift(true);return g}},filters:{enabled:function(g){return g.disabled===false&&g.type!=="hidden"},disabled:function(g){return g.disabled=== -true},checked:function(g){return g.checked===true},selected:function(g){return g.selected===true},parent:function(g){return!!g.firstChild},empty:function(g){return!g.firstChild},has:function(g,i,n){return!!k(n[3],g).length},header:function(g){return/h\d/i.test(g.nodeName)},text:function(g){return"text"===g.type},radio:function(g){return"radio"===g.type},checkbox:function(g){return"checkbox"===g.type},file:function(g){return"file"===g.type},password:function(g){return"password"===g.type},submit:function(g){return"submit"=== -g.type},image:function(g){return"image"===g.type},reset:function(g){return"reset"===g.type},button:function(g){return"button"===g.type||g.nodeName.toLowerCase()==="button"},input:function(g){return/input|select|textarea|button/i.test(g.nodeName)}},setFilters:{first:function(g,i){return i===0},last:function(g,i,n,m){return i===m.length-1},even:function(g,i){return i%2===0},odd:function(g,i){return i%2===1},lt:function(g,i,n){return i<n[3]-0},gt:function(g,i,n){return i>n[3]-0},nth:function(g,i,n){return n[3]- -0===i},eq:function(g,i,n){return n[3]-0===i}},filter:{PSEUDO:function(g,i,n,m){var p=i[1],q=o.filters[p];if(q)return q(g,n,i,m);else if(p==="contains")return(g.textContent||g.innerText||k.getText([g])||"").indexOf(i[3])>=0;else if(p==="not"){i=i[3];n=0;for(m=i.length;n<m;n++)if(i[n]===g)return false;return true}else k.error("Syntax error, unrecognized expression: "+p)},CHILD:function(g,i){var n=i[1],m=g;switch(n){case "only":case "first":for(;m=m.previousSibling;)if(m.nodeType===1)return false;if(n=== -"first")return true;m=g;case "last":for(;m=m.nextSibling;)if(m.nodeType===1)return false;return true;case "nth":n=i[2];var p=i[3];if(n===1&&p===0)return true;var q=i[0],u=g.parentNode;if(u&&(u.sizcache!==q||!g.nodeIndex)){var y=0;for(m=u.firstChild;m;m=m.nextSibling)if(m.nodeType===1)m.nodeIndex=++y;u.sizcache=q}m=g.nodeIndex-p;return n===0?m===0:m%n===0&&m/n>=0}},ID:function(g,i){return g.nodeType===1&&g.getAttribute("id")===i},TAG:function(g,i){return i==="*"&&g.nodeType===1||g.nodeName.toLowerCase()=== -i},CLASS:function(g,i){return(" "+(g.className||g.getAttribute("class"))+" ").indexOf(i)>-1},ATTR:function(g,i){var n=i[1];n=o.attrHandle[n]?o.attrHandle[n](g):g[n]!=null?g[n]:g.getAttribute(n);var m=n+"",p=i[2],q=i[4];return n==null?p==="!=":p==="="?m===q:p==="*="?m.indexOf(q)>=0:p==="~="?(" "+m+" ").indexOf(q)>=0:!q?m&&n!==false:p==="!="?m!==q:p==="^="?m.indexOf(q)===0:p==="$="?m.substr(m.length-q.length)===q:p==="|="?m===q||m.substr(0,q.length+1)===q+"-":false},POS:function(g,i,n,m){var p=o.setFilters[i[2]]; -if(p)return p(g,n,i,m)}}},x=o.match.POS,r=function(g,i){return"\\"+(i-0+1)},A;for(A in o.match){o.match[A]=RegExp(o.match[A].source+/(?![^\[]*\])(?![^\(]*\))/.source);o.leftMatch[A]=RegExp(/(^(?:.|\r|\n)*?)/.source+o.match[A].source.replace(/\\(\d+)/g,r))}var C=function(g,i){g=Array.prototype.slice.call(g,0);if(i){i.push.apply(i,g);return i}return g};try{Array.prototype.slice.call(t.documentElement.childNodes,0)}catch(J){C=function(g,i){var n=0,m=i||[];if(f.call(g)==="[object Array]")Array.prototype.push.apply(m, -g);else if(typeof g.length==="number")for(var p=g.length;n<p;n++)m.push(g[n]);else for(;g[n];n++)m.push(g[n]);return m}}var w,I;if(t.documentElement.compareDocumentPosition)w=function(g,i){if(g===i){h=true;return 0}if(!g.compareDocumentPosition||!i.compareDocumentPosition)return g.compareDocumentPosition?-1:1;return g.compareDocumentPosition(i)&4?-1:1};else{w=function(g,i){var n,m,p=[],q=[];n=g.parentNode;m=i.parentNode;var u=n;if(g===i){h=true;return 0}else if(n===m)return I(g,i);else if(n){if(!m)return 1}else return-1; -for(;u;){p.unshift(u);u=u.parentNode}for(u=m;u;){q.unshift(u);u=u.parentNode}n=p.length;m=q.length;for(u=0;u<n&&u<m;u++)if(p[u]!==q[u])return I(p[u],q[u]);return u===n?I(g,q[u],-1):I(p[u],i,1)};I=function(g,i,n){if(g===i)return n;for(g=g.nextSibling;g;){if(g===i)return-1;g=g.nextSibling}return 1}}k.getText=function(g){for(var i="",n,m=0;g[m];m++){n=g[m];if(n.nodeType===3||n.nodeType===4)i+=n.nodeValue;else if(n.nodeType!==8)i+=k.getText(n.childNodes)}return i};(function(){var g=t.createElement("div"), -i="script"+(new Date).getTime(),n=t.documentElement;g.innerHTML="<a name='"+i+"'/>";n.insertBefore(g,n.firstChild);if(t.getElementById(i)){o.find.ID=function(m,p,q){if(typeof p.getElementById!=="undefined"&&!q)return(p=p.getElementById(m[1]))?p.id===m[1]||typeof p.getAttributeNode!=="undefined"&&p.getAttributeNode("id").nodeValue===m[1]?[p]:B:[]};o.filter.ID=function(m,p){var q=typeof m.getAttributeNode!=="undefined"&&m.getAttributeNode("id");return m.nodeType===1&&q&&q.nodeValue===p}}n.removeChild(g); -n=g=null})();(function(){var g=t.createElement("div");g.appendChild(t.createComment(""));if(g.getElementsByTagName("*").length>0)o.find.TAG=function(i,n){var m=n.getElementsByTagName(i[1]);if(i[1]==="*"){for(var p=[],q=0;m[q];q++)m[q].nodeType===1&&p.push(m[q]);m=p}return m};g.innerHTML="<a href='#'></a>";if(g.firstChild&&typeof g.firstChild.getAttribute!=="undefined"&&g.firstChild.getAttribute("href")!=="#")o.attrHandle.href=function(i){return i.getAttribute("href",2)};g=null})();t.querySelectorAll&& -function(){var g=k,i=t.createElement("div");i.innerHTML="<p class='TEST'></p>";if(!(i.querySelectorAll&&i.querySelectorAll(".TEST").length===0)){k=function(m,p,q,u){p=p||t;m=m.replace(/\=\s*([^'"\]]*)\s*\]/g,"='$1']");if(!u&&!k.isXML(p))if(p.nodeType===9)try{return C(p.querySelectorAll(m),q)}catch(y){}else if(p.nodeType===1&&p.nodeName.toLowerCase()!=="object"){var F=p.getAttribute("id"),M=F||"__sizzle__";F||p.setAttribute("id",M);try{return C(p.querySelectorAll("#"+M+" "+m),q)}catch(N){}finally{F|| -p.removeAttribute("id")}}return g(m,p,q,u)};for(var n in g)k[n]=g[n];i=null}}();(function(){var g=t.documentElement,i=g.matchesSelector||g.mozMatchesSelector||g.webkitMatchesSelector||g.msMatchesSelector,n=false;try{i.call(t.documentElement,"[test!='']:sizzle")}catch(m){n=true}if(i)k.matchesSelector=function(p,q){q=q.replace(/\=\s*([^'"\]]*)\s*\]/g,"='$1']");if(!k.isXML(p))try{if(n||!o.match.PSEUDO.test(q)&&!/!=/.test(q))return i.call(p,q)}catch(u){}return k(q,null,null,[p]).length>0}})();(function(){var g= -t.createElement("div");g.innerHTML="<div class='test e'></div><div class='test'></div>";if(!(!g.getElementsByClassName||g.getElementsByClassName("e").length===0)){g.lastChild.className="e";if(g.getElementsByClassName("e").length!==1){o.order.splice(1,0,"CLASS");o.find.CLASS=function(i,n,m){if(typeof n.getElementsByClassName!=="undefined"&&!m)return n.getElementsByClassName(i[1])};g=null}}})();k.contains=t.documentElement.contains?function(g,i){return g!==i&&(g.contains?g.contains(i):true)}:t.documentElement.compareDocumentPosition? -function(g,i){return!!(g.compareDocumentPosition(i)&16)}:function(){return false};k.isXML=function(g){return(g=(g?g.ownerDocument||g:0).documentElement)?g.nodeName!=="HTML":false};var L=function(g,i){for(var n,m=[],p="",q=i.nodeType?[i]:i;n=o.match.PSEUDO.exec(g);){p+=n[0];g=g.replace(o.match.PSEUDO,"")}g=o.relative[g]?g+"*":g;n=0;for(var u=q.length;n<u;n++)k(g,q[n],m);return k.filter(p,m)};c.find=k;c.expr=k.selectors;c.expr[":"]=c.expr.filters;c.unique=k.uniqueSort;c.text=k.getText;c.isXMLDoc=k.isXML; -c.contains=k.contains})();var Za=/Until$/,$a=/^(?:parents|prevUntil|prevAll)/,ab=/,/,Na=/^.[^:#\[\.,]*$/,bb=Array.prototype.slice,cb=c.expr.match.POS;c.fn.extend({find:function(a){for(var b=this.pushStack("","find",a),d=0,e=0,f=this.length;e<f;e++){d=b.length;c.find(a,this[e],b);if(e>0)for(var h=d;h<b.length;h++)for(var l=0;l<d;l++)if(b[l]===b[h]){b.splice(h--,1);break}}return b},has:function(a){var b=c(a);return this.filter(function(){for(var d=0,e=b.length;d<e;d++)if(c.contains(this,b[d]))return true})}, -not:function(a){return this.pushStack(ma(this,a,false),"not",a)},filter:function(a){return this.pushStack(ma(this,a,true),"filter",a)},is:function(a){return!!a&&c.filter(a,this).length>0},closest:function(a,b){var d=[],e,f,h=this[0];if(c.isArray(a)){var l,k={},o=1;if(h&&a.length){e=0;for(f=a.length;e<f;e++){l=a[e];k[l]||(k[l]=c.expr.match.POS.test(l)?c(l,b||this.context):l)}for(;h&&h.ownerDocument&&h!==b;){for(l in k){e=k[l];if(e.jquery?e.index(h)>-1:c(h).is(e))d.push({selector:l,elem:h,level:o})}h= -h.parentNode;o++}}return d}l=cb.test(a)?c(a,b||this.context):null;e=0;for(f=this.length;e<f;e++)for(h=this[e];h;)if(l?l.index(h)>-1:c.find.matchesSelector(h,a)){d.push(h);break}else{h=h.parentNode;if(!h||!h.ownerDocument||h===b)break}d=d.length>1?c.unique(d):d;return this.pushStack(d,"closest",a)},index:function(a){if(!a||typeof a==="string")return c.inArray(this[0],a?c(a):this.parent().children());return c.inArray(a.jquery?a[0]:a,this)},add:function(a,b){var d=typeof a==="string"?c(a,b||this.context): -c.makeArray(a),e=c.merge(this.get(),d);return this.pushStack(!d[0]||!d[0].parentNode||d[0].parentNode.nodeType===11||!e[0]||!e[0].parentNode||e[0].parentNode.nodeType===11?e:c.unique(e))},andSelf:function(){return this.add(this.prevObject)}});c.each({parent:function(a){return(a=a.parentNode)&&a.nodeType!==11?a:null},parents:function(a){return c.dir(a,"parentNode")},parentsUntil:function(a,b,d){return c.dir(a,"parentNode",d)},next:function(a){return c.nth(a,2,"nextSibling")},prev:function(a){return c.nth(a, -2,"previousSibling")},nextAll:function(a){return c.dir(a,"nextSibling")},prevAll:function(a){return c.dir(a,"previousSibling")},nextUntil:function(a,b,d){return c.dir(a,"nextSibling",d)},prevUntil:function(a,b,d){return c.dir(a,"previousSibling",d)},siblings:function(a){return c.sibling(a.parentNode.firstChild,a)},children:function(a){return c.sibling(a.firstChild)},contents:function(a){return c.nodeName(a,"iframe")?a.contentDocument||a.contentWindow.document:c.makeArray(a.childNodes)}},function(a, -b){c.fn[a]=function(d,e){var f=c.map(this,b,d);Za.test(a)||(e=d);if(e&&typeof e==="string")f=c.filter(e,f);f=this.length>1?c.unique(f):f;if((this.length>1||ab.test(e))&&$a.test(a))f=f.reverse();return this.pushStack(f,a,bb.call(arguments).join(","))}});c.extend({filter:function(a,b,d){if(d)a=":not("+a+")";return b.length===1?c.find.matchesSelector(b[0],a)?[b[0]]:[]:c.find.matches(a,b)},dir:function(a,b,d){var e=[];for(a=a[b];a&&a.nodeType!==9&&(d===B||a.nodeType!==1||!c(a).is(d));){a.nodeType===1&& -e.push(a);a=a[b]}return e},nth:function(a,b,d){b=b||1;for(var e=0;a;a=a[d])if(a.nodeType===1&&++e===b)break;return a},sibling:function(a,b){for(var d=[];a;a=a.nextSibling)a.nodeType===1&&a!==b&&d.push(a);return d}});var za=/ jQuery\d+="(?:\d+|null)"/g,$=/^\s+/,Aa=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/ig,Ba=/<([\w:]+)/,db=/<tbody/i,eb=/<|&#?\w+;/,Ca=/<(?:script|object|embed|option|style)/i,Da=/checked\s*(?:[^=]|=\s*.checked.)/i,fb=/\=([^="'>\s]+\/)>/g,P={option:[1, -"<select multiple='multiple'>","</select>"],legend:[1,"<fieldset>","</fieldset>"],thead:[1,"<table>","</table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],col:[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"],area:[1,"<map>","</map>"],_default:[0,"",""]};P.optgroup=P.option;P.tbody=P.tfoot=P.colgroup=P.caption=P.thead;P.th=P.td;if(!c.support.htmlSerialize)P._default=[1,"div<div>","</div>"];c.fn.extend({text:function(a){if(c.isFunction(a))return this.each(function(b){var d= -c(this);d.text(a.call(this,b,d.text()))});if(typeof a!=="object"&&a!==B)return this.empty().append((this[0]&&this[0].ownerDocument||t).createTextNode(a));return c.text(this)},wrapAll:function(a){if(c.isFunction(a))return this.each(function(d){c(this).wrapAll(a.call(this,d))});if(this[0]){var b=c(a,this[0].ownerDocument).eq(0).clone(true);this[0].parentNode&&b.insertBefore(this[0]);b.map(function(){for(var d=this;d.firstChild&&d.firstChild.nodeType===1;)d=d.firstChild;return d}).append(this)}return this}, -wrapInner:function(a){if(c.isFunction(a))return this.each(function(b){c(this).wrapInner(a.call(this,b))});return this.each(function(){var b=c(this),d=b.contents();d.length?d.wrapAll(a):b.append(a)})},wrap:function(a){return this.each(function(){c(this).wrapAll(a)})},unwrap:function(){return this.parent().each(function(){c.nodeName(this,"body")||c(this).replaceWith(this.childNodes)}).end()},append:function(){return this.domManip(arguments,true,function(a){this.nodeType===1&&this.appendChild(a)})}, -prepend:function(){return this.domManip(arguments,true,function(a){this.nodeType===1&&this.insertBefore(a,this.firstChild)})},before:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,false,function(b){this.parentNode.insertBefore(b,this)});else if(arguments.length){var a=c(arguments[0]);a.push.apply(a,this.toArray());return this.pushStack(a,"before",arguments)}},after:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,false,function(b){this.parentNode.insertBefore(b, -this.nextSibling)});else if(arguments.length){var a=this.pushStack(this,"after",arguments);a.push.apply(a,c(arguments[0]).toArray());return a}},remove:function(a,b){for(var d=0,e;(e=this[d])!=null;d++)if(!a||c.filter(a,[e]).length){if(!b&&e.nodeType===1){c.cleanData(e.getElementsByTagName("*"));c.cleanData([e])}e.parentNode&&e.parentNode.removeChild(e)}return this},empty:function(){for(var a=0,b;(b=this[a])!=null;a++)for(b.nodeType===1&&c.cleanData(b.getElementsByTagName("*"));b.firstChild;)b.removeChild(b.firstChild); -return this},clone:function(a){var b=this.map(function(){if(!c.support.noCloneEvent&&!c.isXMLDoc(this)){var d=this.outerHTML,e=this.ownerDocument;if(!d){d=e.createElement("div");d.appendChild(this.cloneNode(true));d=d.innerHTML}return c.clean([d.replace(za,"").replace(fb,'="$1">').replace($,"")],e)[0]}else return this.cloneNode(true)});if(a===true){na(this,b);na(this.find("*"),b.find("*"))}return b},html:function(a){if(a===B)return this[0]&&this[0].nodeType===1?this[0].innerHTML.replace(za,""):null; -else if(typeof a==="string"&&!Ca.test(a)&&(c.support.leadingWhitespace||!$.test(a))&&!P[(Ba.exec(a)||["",""])[1].toLowerCase()]){a=a.replace(Aa,"<$1></$2>");try{for(var b=0,d=this.length;b<d;b++)if(this[b].nodeType===1){c.cleanData(this[b].getElementsByTagName("*"));this[b].innerHTML=a}}catch(e){this.empty().append(a)}}else c.isFunction(a)?this.each(function(f){var h=c(this);h.html(a.call(this,f,h.html()))}):this.empty().append(a);return this},replaceWith:function(a){if(this[0]&&this[0].parentNode){if(c.isFunction(a))return this.each(function(b){var d= -c(this),e=d.html();d.replaceWith(a.call(this,b,e))});if(typeof a!=="string")a=c(a).detach();return this.each(function(){var b=this.nextSibling,d=this.parentNode;c(this).remove();b?c(b).before(a):c(d).append(a)})}else return this.pushStack(c(c.isFunction(a)?a():a),"replaceWith",a)},detach:function(a){return this.remove(a,true)},domManip:function(a,b,d){var e,f,h,l=a[0],k=[];if(!c.support.checkClone&&arguments.length===3&&typeof l==="string"&&Da.test(l))return this.each(function(){c(this).domManip(a, -b,d,true)});if(c.isFunction(l))return this.each(function(x){var r=c(this);a[0]=l.call(this,x,b?r.html():B);r.domManip(a,b,d)});if(this[0]){e=l&&l.parentNode;e=c.support.parentNode&&e&&e.nodeType===11&&e.childNodes.length===this.length?{fragment:e}:c.buildFragment(a,this,k);h=e.fragment;if(f=h.childNodes.length===1?h=h.firstChild:h.firstChild){b=b&&c.nodeName(f,"tr");f=0;for(var o=this.length;f<o;f++)d.call(b?c.nodeName(this[f],"table")?this[f].getElementsByTagName("tbody")[0]||this[f].appendChild(this[f].ownerDocument.createElement("tbody")): -this[f]:this[f],f>0||e.cacheable||this.length>1?h.cloneNode(true):h)}k.length&&c.each(k,Oa)}return this}});c.buildFragment=function(a,b,d){var e,f,h;b=b&&b[0]?b[0].ownerDocument||b[0]:t;if(a.length===1&&typeof a[0]==="string"&&a[0].length<512&&b===t&&!Ca.test(a[0])&&(c.support.checkClone||!Da.test(a[0]))){f=true;if(h=c.fragments[a[0]])if(h!==1)e=h}if(!e){e=b.createDocumentFragment();c.clean(a,b,e,d)}if(f)c.fragments[a[0]]=h?e:1;return{fragment:e,cacheable:f}};c.fragments={};c.each({appendTo:"append", -prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){c.fn[a]=function(d){var e=[];d=c(d);var f=this.length===1&&this[0].parentNode;if(f&&f.nodeType===11&&f.childNodes.length===1&&d.length===1){d[b](this[0]);return this}else{f=0;for(var h=d.length;f<h;f++){var l=(f>0?this.clone(true):this).get();c(d[f])[b](l);e=e.concat(l)}return this.pushStack(e,a,d.selector)}}});c.extend({clean:function(a,b,d,e){b=b||t;if(typeof b.createElement==="undefined")b=b.ownerDocument|| -b[0]&&b[0].ownerDocument||t;for(var f=[],h=0,l;(l=a[h])!=null;h++){if(typeof l==="number")l+="";if(l){if(typeof l==="string"&&!eb.test(l))l=b.createTextNode(l);else if(typeof l==="string"){l=l.replace(Aa,"<$1></$2>");var k=(Ba.exec(l)||["",""])[1].toLowerCase(),o=P[k]||P._default,x=o[0],r=b.createElement("div");for(r.innerHTML=o[1]+l+o[2];x--;)r=r.lastChild;if(!c.support.tbody){x=db.test(l);k=k==="table"&&!x?r.firstChild&&r.firstChild.childNodes:o[1]==="<table>"&&!x?r.childNodes:[];for(o=k.length- -1;o>=0;--o)c.nodeName(k[o],"tbody")&&!k[o].childNodes.length&&k[o].parentNode.removeChild(k[o])}!c.support.leadingWhitespace&&$.test(l)&&r.insertBefore(b.createTextNode($.exec(l)[0]),r.firstChild);l=r.childNodes}if(l.nodeType)f.push(l);else f=c.merge(f,l)}}if(d)for(h=0;f[h];h++)if(e&&c.nodeName(f[h],"script")&&(!f[h].type||f[h].type.toLowerCase()==="text/javascript"))e.push(f[h].parentNode?f[h].parentNode.removeChild(f[h]):f[h]);else{f[h].nodeType===1&&f.splice.apply(f,[h+1,0].concat(c.makeArray(f[h].getElementsByTagName("script")))); -d.appendChild(f[h])}return f},cleanData:function(a){for(var b,d,e=c.cache,f=c.event.special,h=c.support.deleteExpando,l=0,k;(k=a[l])!=null;l++)if(!(k.nodeName&&c.noData[k.nodeName.toLowerCase()]))if(d=k[c.expando]){if((b=e[d])&&b.events)for(var o in b.events)f[o]?c.event.remove(k,o):c.removeEvent(k,o,b.handle);if(h)delete k[c.expando];else k.removeAttribute&&k.removeAttribute(c.expando);delete e[d]}}});var Ea=/alpha\([^)]*\)/i,gb=/opacity=([^)]*)/,hb=/-([a-z])/ig,ib=/([A-Z])/g,Fa=/^-?\d+(?:px)?$/i, -jb=/^-?\d/,kb={position:"absolute",visibility:"hidden",display:"block"},Pa=["Left","Right"],Qa=["Top","Bottom"],W,Ga,aa,lb=function(a,b){return b.toUpperCase()};c.fn.css=function(a,b){if(arguments.length===2&&b===B)return this;return c.access(this,a,b,true,function(d,e,f){return f!==B?c.style(d,e,f):c.css(d,e)})};c.extend({cssHooks:{opacity:{get:function(a,b){if(b){var d=W(a,"opacity","opacity");return d===""?"1":d}else return a.style.opacity}}},cssNumber:{zIndex:true,fontWeight:true,opacity:true, -zoom:true,lineHeight:true},cssProps:{"float":c.support.cssFloat?"cssFloat":"styleFloat"},style:function(a,b,d,e){if(!(!a||a.nodeType===3||a.nodeType===8||!a.style)){var f,h=c.camelCase(b),l=a.style,k=c.cssHooks[h];b=c.cssProps[h]||h;if(d!==B){if(!(typeof d==="number"&&isNaN(d)||d==null)){if(typeof d==="number"&&!c.cssNumber[h])d+="px";if(!k||!("set"in k)||(d=k.set(a,d))!==B)try{l[b]=d}catch(o){}}}else{if(k&&"get"in k&&(f=k.get(a,false,e))!==B)return f;return l[b]}}},css:function(a,b,d){var e,f=c.camelCase(b), -h=c.cssHooks[f];b=c.cssProps[f]||f;if(h&&"get"in h&&(e=h.get(a,true,d))!==B)return e;else if(W)return W(a,b,f)},swap:function(a,b,d){var e={},f;for(f in b){e[f]=a.style[f];a.style[f]=b[f]}d.call(a);for(f in b)a.style[f]=e[f]},camelCase:function(a){return a.replace(hb,lb)}});c.curCSS=c.css;c.each(["height","width"],function(a,b){c.cssHooks[b]={get:function(d,e,f){var h;if(e){if(d.offsetWidth!==0)h=oa(d,b,f);else c.swap(d,kb,function(){h=oa(d,b,f)});if(h<=0){h=W(d,b,b);if(h==="0px"&&aa)h=aa(d,b,b); -if(h!=null)return h===""||h==="auto"?"0px":h}if(h<0||h==null){h=d.style[b];return h===""||h==="auto"?"0px":h}return typeof h==="string"?h:h+"px"}},set:function(d,e){if(Fa.test(e)){e=parseFloat(e);if(e>=0)return e+"px"}else return e}}});if(!c.support.opacity)c.cssHooks.opacity={get:function(a,b){return gb.test((b&&a.currentStyle?a.currentStyle.filter:a.style.filter)||"")?parseFloat(RegExp.$1)/100+"":b?"1":""},set:function(a,b){var d=a.style;d.zoom=1;var e=c.isNaN(b)?"":"alpha(opacity="+b*100+")",f= -d.filter||"";d.filter=Ea.test(f)?f.replace(Ea,e):d.filter+" "+e}};if(t.defaultView&&t.defaultView.getComputedStyle)Ga=function(a,b,d){var e;d=d.replace(ib,"-$1").toLowerCase();if(!(b=a.ownerDocument.defaultView))return B;if(b=b.getComputedStyle(a,null)){e=b.getPropertyValue(d);if(e===""&&!c.contains(a.ownerDocument.documentElement,a))e=c.style(a,d)}return e};if(t.documentElement.currentStyle)aa=function(a,b){var d,e,f=a.currentStyle&&a.currentStyle[b],h=a.style;if(!Fa.test(f)&&jb.test(f)){d=h.left; -e=a.runtimeStyle.left;a.runtimeStyle.left=a.currentStyle.left;h.left=b==="fontSize"?"1em":f||0;f=h.pixelLeft+"px";h.left=d;a.runtimeStyle.left=e}return f===""?"auto":f};W=Ga||aa;if(c.expr&&c.expr.filters){c.expr.filters.hidden=function(a){var b=a.offsetHeight;return a.offsetWidth===0&&b===0||!c.support.reliableHiddenOffsets&&(a.style.display||c.css(a,"display"))==="none"};c.expr.filters.visible=function(a){return!c.expr.filters.hidden(a)}}var mb=c.now(),nb=/<script\b[^<]*(?:(?!<\/script>)<[^<]*)*<\/script>/gi, -ob=/^(?:select|textarea)/i,pb=/^(?:color|date|datetime|email|hidden|month|number|password|range|search|tel|text|time|url|week)$/i,qb=/^(?:GET|HEAD)$/,Ra=/\[\]$/,T=/\=\?(&|$)/,ja=/\?/,rb=/([?&])_=[^&]*/,sb=/^(\w+:)?\/\/([^\/?#]+)/,tb=/%20/g,ub=/#.*$/,Ha=c.fn.load;c.fn.extend({load:function(a,b,d){if(typeof a!=="string"&&Ha)return Ha.apply(this,arguments);else if(!this.length)return this;var e=a.indexOf(" ");if(e>=0){var f=a.slice(e,a.length);a=a.slice(0,e)}e="GET";if(b)if(c.isFunction(b)){d=b;b=null}else if(typeof b=== -"object"){b=c.param(b,c.ajaxSettings.traditional);e="POST"}var h=this;c.ajax({url:a,type:e,dataType:"html",data:b,complete:function(l,k){if(k==="success"||k==="notmodified")h.html(f?c("<div>").append(l.responseText.replace(nb,"")).find(f):l.responseText);d&&h.each(d,[l.responseText,k,l])}});return this},serialize:function(){return c.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?c.makeArray(this.elements):this}).filter(function(){return this.name&& -!this.disabled&&(this.checked||ob.test(this.nodeName)||pb.test(this.type))}).map(function(a,b){var d=c(this).val();return d==null?null:c.isArray(d)?c.map(d,function(e){return{name:b.name,value:e}}):{name:b.name,value:d}}).get()}});c.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "),function(a,b){c.fn[b]=function(d){return this.bind(b,d)}});c.extend({get:function(a,b,d,e){if(c.isFunction(b)){e=e||d;d=b;b=null}return c.ajax({type:"GET",url:a,data:b,success:d,dataType:e})}, -getScript:function(a,b){return c.get(a,null,b,"script")},getJSON:function(a,b,d){return c.get(a,b,d,"json")},post:function(a,b,d,e){if(c.isFunction(b)){e=e||d;d=b;b={}}return c.ajax({type:"POST",url:a,data:b,success:d,dataType:e})},ajaxSetup:function(a){c.extend(c.ajaxSettings,a)},ajaxSettings:{url:location.href,global:true,type:"GET",contentType:"application/x-www-form-urlencoded",processData:true,async:true,xhr:function(){return new E.XMLHttpRequest},accepts:{xml:"application/xml, text/xml",html:"text/html", -script:"text/javascript, application/javascript",json:"application/json, text/javascript",text:"text/plain",_default:"*/*"}},ajax:function(a){var b=c.extend(true,{},c.ajaxSettings,a),d,e,f,h=b.type.toUpperCase(),l=qb.test(h);b.url=b.url.replace(ub,"");b.context=a&&a.context!=null?a.context:b;if(b.data&&b.processData&&typeof b.data!=="string")b.data=c.param(b.data,b.traditional);if(b.dataType==="jsonp"){if(h==="GET")T.test(b.url)||(b.url+=(ja.test(b.url)?"&":"?")+(b.jsonp||"callback")+"=?");else if(!b.data|| -!T.test(b.data))b.data=(b.data?b.data+"&":"")+(b.jsonp||"callback")+"=?";b.dataType="json"}if(b.dataType==="json"&&(b.data&&T.test(b.data)||T.test(b.url))){d=b.jsonpCallback||"jsonp"+mb++;if(b.data)b.data=(b.data+"").replace(T,"="+d+"$1");b.url=b.url.replace(T,"="+d+"$1");b.dataType="script";var k=E[d];E[d]=function(m){if(c.isFunction(k))k(m);else{E[d]=B;try{delete E[d]}catch(p){}}f=m;c.handleSuccess(b,w,e,f);c.handleComplete(b,w,e,f);r&&r.removeChild(A)}}if(b.dataType==="script"&&b.cache===null)b.cache= -false;if(b.cache===false&&l){var o=c.now(),x=b.url.replace(rb,"$1_="+o);b.url=x+(x===b.url?(ja.test(b.url)?"&":"?")+"_="+o:"")}if(b.data&&l)b.url+=(ja.test(b.url)?"&":"?")+b.data;b.global&&c.active++===0&&c.event.trigger("ajaxStart");o=(o=sb.exec(b.url))&&(o[1]&&o[1].toLowerCase()!==location.protocol||o[2].toLowerCase()!==location.host);if(b.dataType==="script"&&h==="GET"&&o){var r=t.getElementsByTagName("head")[0]||t.documentElement,A=t.createElement("script");if(b.scriptCharset)A.charset=b.scriptCharset; -A.src=b.url;if(!d){var C=false;A.onload=A.onreadystatechange=function(){if(!C&&(!this.readyState||this.readyState==="loaded"||this.readyState==="complete")){C=true;c.handleSuccess(b,w,e,f);c.handleComplete(b,w,e,f);A.onload=A.onreadystatechange=null;r&&A.parentNode&&r.removeChild(A)}}}r.insertBefore(A,r.firstChild);return B}var J=false,w=b.xhr();if(w){b.username?w.open(h,b.url,b.async,b.username,b.password):w.open(h,b.url,b.async);try{if(b.data!=null&&!l||a&&a.contentType)w.setRequestHeader("Content-Type", -b.contentType);if(b.ifModified){c.lastModified[b.url]&&w.setRequestHeader("If-Modified-Since",c.lastModified[b.url]);c.etag[b.url]&&w.setRequestHeader("If-None-Match",c.etag[b.url])}o||w.setRequestHeader("X-Requested-With","XMLHttpRequest");w.setRequestHeader("Accept",b.dataType&&b.accepts[b.dataType]?b.accepts[b.dataType]+", */*; q=0.01":b.accepts._default)}catch(I){}if(b.beforeSend&&b.beforeSend.call(b.context,w,b)===false){b.global&&c.active--===1&&c.event.trigger("ajaxStop");w.abort();return false}b.global&& -c.triggerGlobal(b,"ajaxSend",[w,b]);var L=w.onreadystatechange=function(m){if(!w||w.readyState===0||m==="abort"){J||c.handleComplete(b,w,e,f);J=true;if(w)w.onreadystatechange=c.noop}else if(!J&&w&&(w.readyState===4||m==="timeout")){J=true;w.onreadystatechange=c.noop;e=m==="timeout"?"timeout":!c.httpSuccess(w)?"error":b.ifModified&&c.httpNotModified(w,b.url)?"notmodified":"success";var p;if(e==="success")try{f=c.httpData(w,b.dataType,b)}catch(q){e="parsererror";p=q}if(e==="success"||e==="notmodified")d|| -c.handleSuccess(b,w,e,f);else c.handleError(b,w,e,p);d||c.handleComplete(b,w,e,f);m==="timeout"&&w.abort();if(b.async)w=null}};try{var g=w.abort;w.abort=function(){w&&Function.prototype.call.call(g,w);L("abort")}}catch(i){}b.async&&b.timeout>0&&setTimeout(function(){w&&!J&&L("timeout")},b.timeout);try{w.send(l||b.data==null?null:b.data)}catch(n){c.handleError(b,w,null,n);c.handleComplete(b,w,e,f)}b.async||L();return w}},param:function(a,b){var d=[],e=function(h,l){l=c.isFunction(l)?l():l;d[d.length]= -encodeURIComponent(h)+"="+encodeURIComponent(l)};if(b===B)b=c.ajaxSettings.traditional;if(c.isArray(a)||a.jquery)c.each(a,function(){e(this.name,this.value)});else for(var f in a)da(f,a[f],b,e);return d.join("&").replace(tb,"+")}});c.extend({active:0,lastModified:{},etag:{},handleError:function(a,b,d,e){a.error&&a.error.call(a.context,b,d,e);a.global&&c.triggerGlobal(a,"ajaxError",[b,a,e])},handleSuccess:function(a,b,d,e){a.success&&a.success.call(a.context,e,d,b);a.global&&c.triggerGlobal(a,"ajaxSuccess", -[b,a])},handleComplete:function(a,b,d){a.complete&&a.complete.call(a.context,b,d);a.global&&c.triggerGlobal(a,"ajaxComplete",[b,a]);a.global&&c.active--===1&&c.event.trigger("ajaxStop")},triggerGlobal:function(a,b,d){(a.context&&a.context.url==null?c(a.context):c.event).trigger(b,d)},httpSuccess:function(a){try{return!a.status&&location.protocol==="file:"||a.status>=200&&a.status<300||a.status===304||a.status===1223}catch(b){}return false},httpNotModified:function(a,b){var d=a.getResponseHeader("Last-Modified"), -e=a.getResponseHeader("Etag");if(d)c.lastModified[b]=d;if(e)c.etag[b]=e;return a.status===304},httpData:function(a,b,d){var e=a.getResponseHeader("content-type")||"",f=b==="xml"||!b&&e.indexOf("xml")>=0;a=f?a.responseXML:a.responseText;f&&a.documentElement.nodeName==="parsererror"&&c.error("parsererror");if(d&&d.dataFilter)a=d.dataFilter(a,b);if(typeof a==="string")if(b==="json"||!b&&e.indexOf("json")>=0)a=c.parseJSON(a);else if(b==="script"||!b&&e.indexOf("javascript")>=0)c.globalEval(a);return a}}); -if(E.ActiveXObject)c.ajaxSettings.xhr=function(){if(E.location.protocol!=="file:")try{return new E.XMLHttpRequest}catch(a){}try{return new E.ActiveXObject("Microsoft.XMLHTTP")}catch(b){}};c.support.ajax=!!c.ajaxSettings.xhr();var ea={},vb=/^(?:toggle|show|hide)$/,wb=/^([+\-]=)?([\d+.\-]+)(.*)$/,ba,pa=[["height","marginTop","marginBottom","paddingTop","paddingBottom"],["width","marginLeft","marginRight","paddingLeft","paddingRight"],["opacity"]];c.fn.extend({show:function(a,b,d){if(a||a===0)return this.animate(S("show", -3),a,b,d);else{d=0;for(var e=this.length;d<e;d++){a=this[d];b=a.style.display;if(!c.data(a,"olddisplay")&&b==="none")b=a.style.display="";b===""&&c.css(a,"display")==="none"&&c.data(a,"olddisplay",qa(a.nodeName))}for(d=0;d<e;d++){a=this[d];b=a.style.display;if(b===""||b==="none")a.style.display=c.data(a,"olddisplay")||""}return this}},hide:function(a,b,d){if(a||a===0)return this.animate(S("hide",3),a,b,d);else{a=0;for(b=this.length;a<b;a++){d=c.css(this[a],"display");d!=="none"&&c.data(this[a],"olddisplay", -d)}for(a=0;a<b;a++)this[a].style.display="none";return this}},_toggle:c.fn.toggle,toggle:function(a,b,d){var e=typeof a==="boolean";if(c.isFunction(a)&&c.isFunction(b))this._toggle.apply(this,arguments);else a==null||e?this.each(function(){var f=e?a:c(this).is(":hidden");c(this)[f?"show":"hide"]()}):this.animate(S("toggle",3),a,b,d);return this},fadeTo:function(a,b,d,e){return this.filter(":hidden").css("opacity",0).show().end().animate({opacity:b},a,d,e)},animate:function(a,b,d,e){var f=c.speed(b, -d,e);if(c.isEmptyObject(a))return this.each(f.complete);return this[f.queue===false?"each":"queue"](function(){var h=c.extend({},f),l,k=this.nodeType===1,o=k&&c(this).is(":hidden"),x=this;for(l in a){var r=c.camelCase(l);if(l!==r){a[r]=a[l];delete a[l];l=r}if(a[l]==="hide"&&o||a[l]==="show"&&!o)return h.complete.call(this);if(k&&(l==="height"||l==="width")){h.overflow=[this.style.overflow,this.style.overflowX,this.style.overflowY];if(c.css(this,"display")==="inline"&&c.css(this,"float")==="none")if(c.support.inlineBlockNeedsLayout)if(qa(this.nodeName)=== -"inline")this.style.display="inline-block";else{this.style.display="inline";this.style.zoom=1}else this.style.display="inline-block"}if(c.isArray(a[l])){(h.specialEasing=h.specialEasing||{})[l]=a[l][1];a[l]=a[l][0]}}if(h.overflow!=null)this.style.overflow="hidden";h.curAnim=c.extend({},a);c.each(a,function(A,C){var J=new c.fx(x,h,A);if(vb.test(C))J[C==="toggle"?o?"show":"hide":C](a);else{var w=wb.exec(C),I=J.cur()||0;if(w){var L=parseFloat(w[2]),g=w[3]||"px";if(g!=="px"){c.style(x,A,(L||1)+g);I=(L|| -1)/J.cur()*I;c.style(x,A,I+g)}if(w[1])L=(w[1]==="-="?-1:1)*L+I;J.custom(I,L,g)}else J.custom(I,C,"")}});return true})},stop:function(a,b){var d=c.timers;a&&this.queue([]);this.each(function(){for(var e=d.length-1;e>=0;e--)if(d[e].elem===this){b&&d[e](true);d.splice(e,1)}});b||this.dequeue();return this}});c.each({slideDown:S("show",1),slideUp:S("hide",1),slideToggle:S("toggle",1),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(a,b){c.fn[a]=function(d,e,f){return this.animate(b, -d,e,f)}});c.extend({speed:function(a,b,d){var e=a&&typeof a==="object"?c.extend({},a):{complete:d||!d&&b||c.isFunction(a)&&a,duration:a,easing:d&&b||b&&!c.isFunction(b)&&b};e.duration=c.fx.off?0:typeof e.duration==="number"?e.duration:e.duration in c.fx.speeds?c.fx.speeds[e.duration]:c.fx.speeds._default;e.old=e.complete;e.complete=function(){e.queue!==false&&c(this).dequeue();c.isFunction(e.old)&&e.old.call(this)};return e},easing:{linear:function(a,b,d,e){return d+e*a},swing:function(a,b,d,e){return(-Math.cos(a* -Math.PI)/2+0.5)*e+d}},timers:[],fx:function(a,b,d){this.options=b;this.elem=a;this.prop=d;if(!b.orig)b.orig={}}});c.fx.prototype={update:function(){this.options.step&&this.options.step.call(this.elem,this.now,this);(c.fx.step[this.prop]||c.fx.step._default)(this)},cur:function(){if(this.elem[this.prop]!=null&&(!this.elem.style||this.elem.style[this.prop]==null))return this.elem[this.prop];var a=parseFloat(c.css(this.elem,this.prop));return a&&a>-1E4?a:0},custom:function(a,b,d){function e(l){return f.step(l)} -var f=this,h=c.fx;this.startTime=c.now();this.start=a;this.end=b;this.unit=d||this.unit||"px";this.now=this.start;this.pos=this.state=0;e.elem=this.elem;if(e()&&c.timers.push(e)&&!ba)ba=setInterval(h.tick,h.interval)},show:function(){this.options.orig[this.prop]=c.style(this.elem,this.prop);this.options.show=true;this.custom(this.prop==="width"||this.prop==="height"?1:0,this.cur());c(this.elem).show()},hide:function(){this.options.orig[this.prop]=c.style(this.elem,this.prop);this.options.hide=true; -this.custom(this.cur(),0)},step:function(a){var b=c.now(),d=true;if(a||b>=this.options.duration+this.startTime){this.now=this.end;this.pos=this.state=1;this.update();this.options.curAnim[this.prop]=true;for(var e in this.options.curAnim)if(this.options.curAnim[e]!==true)d=false;if(d){if(this.options.overflow!=null&&!c.support.shrinkWrapBlocks){var f=this.elem,h=this.options;c.each(["","X","Y"],function(k,o){f.style["overflow"+o]=h.overflow[k]})}this.options.hide&&c(this.elem).hide();if(this.options.hide|| -this.options.show)for(var l in this.options.curAnim)c.style(this.elem,l,this.options.orig[l]);this.options.complete.call(this.elem)}return false}else{a=b-this.startTime;this.state=a/this.options.duration;b=this.options.easing||(c.easing.swing?"swing":"linear");this.pos=c.easing[this.options.specialEasing&&this.options.specialEasing[this.prop]||b](this.state,a,0,1,this.options.duration);this.now=this.start+(this.end-this.start)*this.pos;this.update()}return true}};c.extend(c.fx,{tick:function(){for(var a= -c.timers,b=0;b<a.length;b++)a[b]()||a.splice(b--,1);a.length||c.fx.stop()},interval:13,stop:function(){clearInterval(ba);ba=null},speeds:{slow:600,fast:200,_default:400},step:{opacity:function(a){c.style(a.elem,"opacity",a.now)},_default:function(a){if(a.elem.style&&a.elem.style[a.prop]!=null)a.elem.style[a.prop]=(a.prop==="width"||a.prop==="height"?Math.max(0,a.now):a.now)+a.unit;else a.elem[a.prop]=a.now}}});if(c.expr&&c.expr.filters)c.expr.filters.animated=function(a){return c.grep(c.timers,function(b){return a=== -b.elem}).length};var xb=/^t(?:able|d|h)$/i,Ia=/^(?:body|html)$/i;c.fn.offset="getBoundingClientRect"in t.documentElement?function(a){var b=this[0],d;if(a)return this.each(function(l){c.offset.setOffset(this,a,l)});if(!b||!b.ownerDocument)return null;if(b===b.ownerDocument.body)return c.offset.bodyOffset(b);try{d=b.getBoundingClientRect()}catch(e){}var f=b.ownerDocument,h=f.documentElement;if(!d||!c.contains(h,b))return d||{top:0,left:0};b=f.body;f=fa(f);return{top:d.top+(f.pageYOffset||c.support.boxModel&& -h.scrollTop||b.scrollTop)-(h.clientTop||b.clientTop||0),left:d.left+(f.pageXOffset||c.support.boxModel&&h.scrollLeft||b.scrollLeft)-(h.clientLeft||b.clientLeft||0)}}:function(a){var b=this[0];if(a)return this.each(function(x){c.offset.setOffset(this,a,x)});if(!b||!b.ownerDocument)return null;if(b===b.ownerDocument.body)return c.offset.bodyOffset(b);c.offset.initialize();var d,e=b.offsetParent,f=b.ownerDocument,h=f.documentElement,l=f.body;d=(f=f.defaultView)?f.getComputedStyle(b,null):b.currentStyle; -for(var k=b.offsetTop,o=b.offsetLeft;(b=b.parentNode)&&b!==l&&b!==h;){if(c.offset.supportsFixedPosition&&d.position==="fixed")break;d=f?f.getComputedStyle(b,null):b.currentStyle;k-=b.scrollTop;o-=b.scrollLeft;if(b===e){k+=b.offsetTop;o+=b.offsetLeft;if(c.offset.doesNotAddBorder&&!(c.offset.doesAddBorderForTableAndCells&&xb.test(b.nodeName))){k+=parseFloat(d.borderTopWidth)||0;o+=parseFloat(d.borderLeftWidth)||0}e=b.offsetParent}if(c.offset.subtractsBorderForOverflowNotVisible&&d.overflow!=="visible"){k+= -parseFloat(d.borderTopWidth)||0;o+=parseFloat(d.borderLeftWidth)||0}d=d}if(d.position==="relative"||d.position==="static"){k+=l.offsetTop;o+=l.offsetLeft}if(c.offset.supportsFixedPosition&&d.position==="fixed"){k+=Math.max(h.scrollTop,l.scrollTop);o+=Math.max(h.scrollLeft,l.scrollLeft)}return{top:k,left:o}};c.offset={initialize:function(){var a=t.body,b=t.createElement("div"),d,e,f,h=parseFloat(c.css(a,"marginTop"))||0;c.extend(b.style,{position:"absolute",top:0,left:0,margin:0,border:0,width:"1px", -height:"1px",visibility:"hidden"});b.innerHTML="<div style='position:absolute;top:0;left:0;margin:0;border:5px solid #000;padding:0;width:1px;height:1px;'><div></div></div><table style='position:absolute;top:0;left:0;margin:0;border:5px solid #000;padding:0;width:1px;height:1px;' cellpadding='0' cellspacing='0'><tr><td></td></tr></table>";a.insertBefore(b,a.firstChild);d=b.firstChild;e=d.firstChild;f=d.nextSibling.firstChild.firstChild;this.doesNotAddBorder=e.offsetTop!==5;this.doesAddBorderForTableAndCells= -f.offsetTop===5;e.style.position="fixed";e.style.top="20px";this.supportsFixedPosition=e.offsetTop===20||e.offsetTop===15;e.style.position=e.style.top="";d.style.overflow="hidden";d.style.position="relative";this.subtractsBorderForOverflowNotVisible=e.offsetTop===-5;this.doesNotIncludeMarginInBodyOffset=a.offsetTop!==h;a.removeChild(b);c.offset.initialize=c.noop},bodyOffset:function(a){var b=a.offsetTop,d=a.offsetLeft;c.offset.initialize();if(c.offset.doesNotIncludeMarginInBodyOffset){b+=parseFloat(c.css(a, -"marginTop"))||0;d+=parseFloat(c.css(a,"marginLeft"))||0}return{top:b,left:d}},setOffset:function(a,b,d){var e=c.css(a,"position");if(e==="static")a.style.position="relative";var f=c(a),h=f.offset(),l=c.css(a,"top"),k=c.css(a,"left"),o=e==="absolute"&&c.inArray("auto",[l,k])>-1;e={};var x={};if(o)x=f.position();l=o?x.top:parseInt(l,10)||0;k=o?x.left:parseInt(k,10)||0;if(c.isFunction(b))b=b.call(a,d,h);if(b.top!=null)e.top=b.top-h.top+l;if(b.left!=null)e.left=b.left-h.left+k;"using"in b?b.using.call(a, -e):f.css(e)}};c.fn.extend({position:function(){if(!this[0])return null;var a=this[0],b=this.offsetParent(),d=this.offset(),e=Ia.test(b[0].nodeName)?{top:0,left:0}:b.offset();d.top-=parseFloat(c.css(a,"marginTop"))||0;d.left-=parseFloat(c.css(a,"marginLeft"))||0;e.top+=parseFloat(c.css(b[0],"borderTopWidth"))||0;e.left+=parseFloat(c.css(b[0],"borderLeftWidth"))||0;return{top:d.top-e.top,left:d.left-e.left}},offsetParent:function(){return this.map(function(){for(var a=this.offsetParent||t.body;a&&!Ia.test(a.nodeName)&& -c.css(a,"position")==="static";)a=a.offsetParent;return a})}});c.each(["Left","Top"],function(a,b){var d="scroll"+b;c.fn[d]=function(e){var f=this[0],h;if(!f)return null;if(e!==B)return this.each(function(){if(h=fa(this))h.scrollTo(!a?e:c(h).scrollLeft(),a?e:c(h).scrollTop());else this[d]=e});else return(h=fa(f))?"pageXOffset"in h?h[a?"pageYOffset":"pageXOffset"]:c.support.boxModel&&h.document.documentElement[d]||h.document.body[d]:f[d]}});c.each(["Height","Width"],function(a,b){var d=b.toLowerCase(); -c.fn["inner"+b]=function(){return this[0]?parseFloat(c.css(this[0],d,"padding")):null};c.fn["outer"+b]=function(e){return this[0]?parseFloat(c.css(this[0],d,e?"margin":"border")):null};c.fn[d]=function(e){var f=this[0];if(!f)return e==null?null:this;if(c.isFunction(e))return this.each(function(l){var k=c(this);k[d](e.call(this,l,k[d]()))});if(c.isWindow(f))return f.document.compatMode==="CSS1Compat"&&f.document.documentElement["client"+b]||f.document.body["client"+b];else if(f.nodeType===9)return Math.max(f.documentElement["client"+ -b],f.body["scroll"+b],f.documentElement["scroll"+b],f.body["offset"+b],f.documentElement["offset"+b]);else if(e===B){f=c.css(f,d);var h=parseFloat(f);return c.isNaN(h)?f:h}else return this.css(d,typeof e==="string"?e:e+"px")}})})(window);jQuery.noConflict(); \ No newline at end of file +(function(a,b){function cy(a){return f.isWindow(a)?a:a.nodeType===9?a.defaultView||a.parentWindow:!1}function cv(a){if(!cj[a]){var b=f("<"+a+">").appendTo("body"),d=b.css("display");b.remove();if(d==="none"||d===""){ck||(ck=c.createElement("iframe"),ck.frameBorder=ck.width=ck.height=0),c.body.appendChild(ck);if(!cl||!ck.createElement)cl=(ck.contentWindow||ck.contentDocument).document,cl.write("<!doctype><html><body></body></html>");b=cl.createElement(a),cl.body.appendChild(b),d=f.css(b,"display"),c.body.removeChild(ck)}cj[a]=d}return cj[a]}function cu(a,b){var c={};f.each(cp.concat.apply([],cp.slice(0,b)),function(){c[this]=a});return c}function ct(){cq=b}function cs(){setTimeout(ct,0);return cq=f.now()}function ci(){try{return new a.ActiveXObject("Microsoft.XMLHTTP")}catch(b){}}function ch(){try{return new a.XMLHttpRequest}catch(b){}}function cb(a,c){a.dataFilter&&(c=a.dataFilter(c,a.dataType));var d=a.dataTypes,e={},g,h,i=d.length,j,k=d[0],l,m,n,o,p;for(g=1;g<i;g++){if(g===1)for(h in a.converters)typeof h=="string"&&(e[h.toLowerCase()]=a.converters[h]);l=k,k=d[g];if(k==="*")k=l;else if(l!=="*"&&l!==k){m=l+" "+k,n=e[m]||e["* "+k];if(!n){p=b;for(o in e){j=o.split(" ");if(j[0]===l||j[0]==="*"){p=e[j[1]+" "+k];if(p){o=e[o],o===!0?n=p:p===!0&&(n=o);break}}}}!n&&!p&&f.error("No conversion from "+m.replace(" "," to ")),n!==!0&&(c=n?n(c):p(o(c)))}}return c}function ca(a,c,d){var e=a.contents,f=a.dataTypes,g=a.responseFields,h,i,j,k;for(i in g)i in d&&(c[g[i]]=d[i]);while(f[0]==="*")f.shift(),h===b&&(h=a.mimeType||c.getResponseHeader("content-type"));if(h)for(i in e)if(e[i]&&e[i].test(h)){f.unshift(i);break}if(f[0]in d)j=f[0];else{for(i in d){if(!f[0]||a.converters[i+" "+f[0]]){j=i;break}k||(k=i)}j=j||k}if(j){j!==f[0]&&f.unshift(j);return d[j]}}function b_(a,b,c,d){if(f.isArray(b))f.each(b,function(b,e){c||bF.test(a)?d(a,e):b_(a+"["+(typeof e=="object"||f.isArray(e)?b:"")+"]",e,c,d)});else if(!c&&b!=null&&typeof b=="object")for(var e in b)b_(a+"["+e+"]",b[e],c,d);else d(a,b)}function b$(a,c,d,e,f,g){f=f||c.dataTypes[0],g=g||{},g[f]=!0;var h=a[f],i=0,j=h?h.length:0,k=a===bU,l;for(;i<j&&(k||!l);i++)l=h[i](c,d,e),typeof l=="string"&&(!k||g[l]?l=b:(c.dataTypes.unshift(l),l=b$(a,c,d,e,l,g)));(k||!l)&&!g["*"]&&(l=b$(a,c,d,e,"*",g));return l}function bZ(a){return function(b,c){typeof b!="string"&&(c=b,b="*");if(f.isFunction(c)){var d=b.toLowerCase().split(bQ),e=0,g=d.length,h,i,j;for(;e<g;e++)h=d[e],j=/^\+/.test(h),j&&(h=h.substr(1)||"*"),i=a[h]=a[h]||[],i[j?"unshift":"push"](c)}}}function bD(a,b,c){var d=b==="width"?bx:by,e=b==="width"?a.offsetWidth:a.offsetHeight;if(c==="border")return e;f.each(d,function(){c||(e-=parseFloat(f.css(a,"padding"+this))||0),c==="margin"?e+=parseFloat(f.css(a,"margin"+this))||0:e-=parseFloat(f.css(a,"border"+this+"Width"))||0});return e}function bn(a,b){b.src?f.ajax({url:b.src,async:!1,dataType:"script"}):f.globalEval((b.text||b.textContent||b.innerHTML||"").replace(bf,"/*$0*/")),b.parentNode&&b.parentNode.removeChild(b)}function bm(a){f.nodeName(a,"input")?bl(a):a.getElementsByTagName&&f.grep(a.getElementsByTagName("input"),bl)}function bl(a){if(a.type==="checkbox"||a.type==="radio")a.defaultChecked=a.checked}function bk(a){return"getElementsByTagName"in a?a.getElementsByTagName("*"):"querySelectorAll"in a?a.querySelectorAll("*"):[]}function bj(a,b){var c;if(b.nodeType===1){b.clearAttributes&&b.clearAttributes(),b.mergeAttributes&&b.mergeAttributes(a),c=b.nodeName.toLowerCase();if(c==="object")b.outerHTML=a.outerHTML;else if(c!=="input"||a.type!=="checkbox"&&a.type!=="radio"){if(c==="option")b.selected=a.defaultSelected;else if(c==="input"||c==="textarea")b.defaultValue=a.defaultValue}else a.checked&&(b.defaultChecked=b.checked=a.checked),b.value!==a.value&&(b.value=a.value);b.removeAttribute(f.expando)}}function bi(a,b){if(b.nodeType===1&&!!f.hasData(a)){var c=f.expando,d=f.data(a),e=f.data(b,d);if(d=d[c]){var g=d.events;e=e[c]=f.extend({},d);if(g){delete e.handle,e.events={};for(var h in g)for(var i=0,j=g[h].length;i<j;i++)f.event.add(b,h+(g[h][i].namespace?".":"")+g[h][i].namespace,g[h][i],g[h][i].data)}}}}function bh(a,b){return f.nodeName(a,"table")?a.getElementsByTagName("tbody")[0]||a.appendChild(a.ownerDocument.createElement("tbody")):a}function X(a,b,c){b=b||0;if(f.isFunction(b))return f.grep(a,function(a,d){var e=!!b.call(a,d,a);return e===c});if(b.nodeType)return f.grep(a,function(a,d){return a===b===c});if(typeof b=="string"){var d=f.grep(a,function(a){return a.nodeType===1});if(S.test(b))return f.filter(b,d,!c);b=f.filter(b,d)}return f.grep(a,function(a,d){return f.inArray(a,b)>=0===c})}function W(a){return!a||!a.parentNode||a.parentNode.nodeType===11}function O(a,b){return(a&&a!=="*"?a+".":"")+b.replace(A,"`").replace(B,"&")}function N(a){var b,c,d,e,g,h,i,j,k,l,m,n,o,p=[],q=[],r=f._data(this,"events");if(!(a.liveFired===this||!r||!r.live||a.target.disabled||a.button&&a.type==="click")){a.namespace&&(n=new RegExp("(^|\\.)"+a.namespace.split(".").join("\\.(?:.*\\.)?")+"(\\.|$)")),a.liveFired=this;var s=r.live.slice(0);for(i=0;i<s.length;i++)g=s[i],g.origType.replace(y,"")===a.type?q.push(g.selector):s.splice(i--,1);e=f(a.target).closest(q,a.currentTarget);for(j=0,k=e.length;j<k;j++){m=e[j];for(i=0;i<s.length;i++){g=s[i];if(m.selector===g.selector&&(!n||n.test(g.namespace))&&!m.elem.disabled){h=m.elem,d=null;if(g.preType==="mouseenter"||g.preType==="mouseleave")a.type=g.preType,d=f(a.relatedTarget).closest(g.selector)[0],d&&f.contains(h,d)&&(d=h);(!d||d!==h)&&p.push({elem:h,handleObj:g,level:m.level})}}}for(j=0,k=p.length;j<k;j++){e=p[j];if(c&&e.level>c)break;a.currentTarget=e.elem,a.data=e.handleObj.data,a.handleObj=e.handleObj,o=e.handleObj.origHandler.apply(e.elem,arguments);if(o===!1||a.isPropagationStopped()){c=e.level,o===!1&&(b=!1);if(a.isImmediatePropagationStopped())break}}return b}}function L(a,c,d){var e=f.extend({},d[0]);e.type=a,e.originalEvent={},e.liveFired=b,f.event.handle.call(c,e),e.isDefaultPrevented()&&d[0].preventDefault()}function F(){return!0}function E(){return!1}function m(a,c,d){var e=c+"defer",g=c+"queue",h=c+"mark",i=f.data(a,e,b,!0);i&&(d==="queue"||!f.data(a,g,b,!0))&&(d==="mark"||!f.data(a,h,b,!0))&&setTimeout(function(){!f.data(a,g,b,!0)&&!f.data(a,h,b,!0)&&(f.removeData(a,e,!0),i.resolve())},0)}function l(a){for(var b in a)if(b!=="toJSON")return!1;return!0}function k(a,c,d){if(d===b&&a.nodeType===1){var e="data-"+c.replace(j,"$1-$2").toLowerCase();d=a.getAttribute(e);if(typeof d=="string"){try{d=d==="true"?!0:d==="false"?!1:d==="null"?null:f.isNaN(d)?i.test(d)?f.parseJSON(d):d:parseFloat(d)}catch(g){}f.data(a,c,d)}else d=b}return d}var c=a.document,d=a.navigator,e=a.location,f=function(){function H(){if(!e.isReady){try{c.documentElement.doScroll("left")}catch(a){setTimeout(H,1);return}e.ready()}}var e=function(a,b){return new e.fn.init(a,b,h)},f=a.jQuery,g=a.$,h,i=/^(?:[^<]*(<[\w\W]+>)[^>]*$|#([\w\-]*)$)/,j=/\S/,k=/^\s+/,l=/\s+$/,m=/\d/,n=/^<(\w+)\s*\/?>(?:<\/\1>)?$/,o=/^[\],:{}\s]*$/,p=/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,q=/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,r=/(?:^|:|,)(?:\s*\[)+/g,s=/(webkit)[ \/]([\w.]+)/,t=/(opera)(?:.*version)?[ \/]([\w.]+)/,u=/(msie) ([\w.]+)/,v=/(mozilla)(?:.*? rv:([\w.]+))?/,w=d.userAgent,x,y,z,A=Object.prototype.toString,B=Object.prototype.hasOwnProperty,C=Array.prototype.push,D=Array.prototype.slice,E=String.prototype.trim,F=Array.prototype.indexOf,G={};e.fn=e.prototype={constructor:e,init:function(a,d,f){var g,h,j,k;if(!a)return this;if(a.nodeType){this.context=this[0]=a,this.length=1;return this}if(a==="body"&&!d&&c.body){this.context=c,this[0]=c.body,this.selector=a,this.length=1;return this}if(typeof a=="string"){a.charAt(0)!=="<"||a.charAt(a.length-1)!==">"||a.length<3?g=i.exec(a):g=[null,a,null];if(g&&(g[1]||!d)){if(g[1]){d=d instanceof e?d[0]:d,k=d?d.ownerDocument||d:c,j=n.exec(a),j?e.isPlainObject(d)?(a=[c.createElement(j[1])],e.fn.attr.call(a,d,!0)):a=[k.createElement(j[1])]:(j=e.buildFragment([g[1]],[k]),a=(j.cacheable?e.clone(j.fragment):j.fragment).childNodes);return e.merge(this,a)}h=c.getElementById(g[2]);if(h&&h.parentNode){if(h.id!==g[2])return f.find(a);this.length=1,this[0]=h}this.context=c,this.selector=a;return this}return!d||d.jquery?(d||f).find(a):this.constructor(d).find(a)}if(e.isFunction(a))return f.ready(a);a.selector!==b&&(this.selector=a.selector,this.context=a.context);return e.makeArray(a,this)},selector:"",jquery:"1.6.1",length:0,size:function(){return this.length},toArray:function(){return D.call(this,0)},get:function(a){return a==null?this.toArray():a<0?this[this.length+a]:this[a]},pushStack:function(a,b,c){var d=this.constructor();e.isArray(a)?C.apply(d,a):e.merge(d,a),d.prevObject=this,d.context=this.context,b==="find"?d.selector=this.selector+(this.selector?" ":"")+c:b&&(d.selector=this.selector+"."+b+"("+c+")");return d},each:function(a,b){return e.each(this,a,b)},ready:function(a){e.bindReady(),y.done(a);return this},eq:function(a){return a===-1?this.slice(a):this.slice(a,+a+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(D.apply(this,arguments),"slice",D.call(arguments).join(","))},map:function(a){return this.pushStack(e.map(this,function(b,c){return a.call(b,c,b)}))},end:function(){return this.prevObject||this.constructor(null)},push:C,sort:[].sort,splice:[].splice},e.fn.init.prototype=e.fn,e.extend=e.fn.extend=function(){var a,c,d,f,g,h,i=arguments[0]||{},j=1,k=arguments.length,l=!1;typeof i=="boolean"&&(l=i,i=arguments[1]||{},j=2),typeof i!="object"&&!e.isFunction(i)&&(i={}),k===j&&(i=this,--j);for(;j<k;j++)if((a=arguments[j])!=null)for(c in a){d=i[c],f=a[c];if(i===f)continue;l&&f&&(e.isPlainObject(f)||(g=e.isArray(f)))?(g?(g=!1,h=d&&e.isArray(d)?d:[]):h=d&&e.isPlainObject(d)?d:{},i[c]=e.extend(l,h,f)):f!==b&&(i[c]=f)}return i},e.extend({noConflict:function(b){a.$===e&&(a.$=g),b&&a.jQuery===e&&(a.jQuery=f);return e},isReady:!1,readyWait:1,holdReady:function(a){a?e.readyWait++:e.ready(!0)},ready:function(a){if(a===!0&&!--e.readyWait||a!==!0&&!e.isReady){if(!c.body)return setTimeout(e.ready,1);e.isReady=!0;if(a!==!0&&--e.readyWait>0)return;y.resolveWith(c,[e]),e.fn.trigger&&e(c).trigger("ready").unbind("ready")}},bindReady:function(){if(!y){y=e._Deferred();if(c.readyState==="complete")return setTimeout(e.ready,1);if(c.addEventListener)c.addEventListener("DOMContentLoaded",z,!1),a.addEventListener("load",e.ready,!1);else if(c.attachEvent){c.attachEvent("onreadystatechange",z),a.attachEvent("onload",e.ready);var b=!1;try{b=a.frameElement==null}catch(d){}c.documentElement.doScroll&&b&&H()}}},isFunction:function(a){return e.type(a)==="function"},isArray:Array.isArray||function(a){return e.type(a)==="array"},isWindow:function(a){return a&&typeof a=="object"&&"setInterval"in a},isNaN:function(a){return a==null||!m.test(a)||isNaN(a)},type:function(a){return a==null?String(a):G[A.call(a)]||"object"},isPlainObject:function(a){if(!a||e.type(a)!=="object"||a.nodeType||e.isWindow(a))return!1;if(a.constructor&&!B.call(a,"constructor")&&!B.call(a.constructor.prototype,"isPrototypeOf"))return!1;var c;for(c in a);return c===b||B.call(a,c)},isEmptyObject:function(a){for(var b in a)return!1;return!0},error:function(a){throw a},parseJSON:function(b){if(typeof b!="string"||!b)return null;b=e.trim(b);if(a.JSON&&a.JSON.parse)return a.JSON.parse(b);if(o.test(b.replace(p,"@").replace(q,"]").replace(r,"")))return(new Function("return "+b))();e.error("Invalid JSON: "+b)},parseXML:function(b,c,d){a.DOMParser?(d=new DOMParser,c=d.parseFromString(b,"text/xml")):(c=new ActiveXObject("Microsoft.XMLDOM"),c.async="false",c.loadXML(b)),d=c.documentElement,(!d||!d.nodeName||d.nodeName==="parsererror")&&e.error("Invalid XML: "+b);return c},noop:function(){},globalEval:function(b){b&&j.test(b)&&(a.execScript||function(b){a.eval.call(a,b)})(b)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toUpperCase()===b.toUpperCase()},each:function(a,c,d){var f,g=0,h=a.length,i=h===b||e.isFunction(a);if(d){if(i){for(f in a)if(c.apply(a[f],d)===!1)break}else for(;g<h;)if(c.apply(a[g++],d)===!1)break}else if(i){for(f in a)if(c.call(a[f],f,a[f])===!1)break}else for(;g<h;)if(c.call(a[g],g,a[g++])===!1)break;return a},trim:E?function(a){return a==null?"":E.call(a)}:function(a){return a==null?"":(a+"").replace(k,"").replace(l,"")},makeArray:function(a,b){var c=b||[];if(a!=null){var d=e.type(a);a.length==null||d==="string"||d==="function"||d==="regexp"||e.isWindow(a)?C.call(c,a):e.merge(c,a)}return c},inArray:function(a,b){if(F)return F.call(b,a);for(var c=0,d=b.length;c<d;c++)if(b[c]===a)return c;return-1},merge:function(a,c){var d=a.length,e=0;if(typeof c.length=="number")for(var f=c.length;e<f;e++)a[d++]=c[e];else while(c[e]!==b)a[d++]=c[e++];a.length=d;return a},grep:function(a,b,c){var d=[],e;c=!!c;for(var f=0,g=a.length;f<g;f++)e=!!b(a[f],f),c!==e&&d.push(a[f]);return d},map:function(a,c,d){var f,g,h=[],i=0,j=a.length,k=a instanceof e||j!==b&&typeof j=="number"&&(j>0&&a[0]&&a[j-1]||j===0||e.isArray(a));if(k)for(;i<j;i++)f=c(a[i],i,d),f!=null&&(h[h.length]=f);else for(g in a)f=c(a[g],g,d),f!=null&&(h[h.length]=f);return h.concat.apply([],h)},guid:1,proxy:function(a,c){if(typeof c=="string"){var d=a[c];c=a,a=d}if(!e.isFunction(a))return b;var f=D.call(arguments,2),g=function(){return a.apply(c,f.concat(D.call(arguments)))};g.guid=a.guid=a.guid||g.guid||e.guid++;return g},access:function(a,c,d,f,g,h){var i=a.length;if(typeof c=="object"){for(var j in c)e.access(a,j,c[j],f,g,d);return a}if(d!==b){f=!h&&f&&e.isFunction(d);for(var k=0;k<i;k++)g(a[k],c,f?d.call(a[k],k,g(a[k],c)):d,h);return a}return i?g(a[0],c):b},now:function(){return(new Date).getTime()},uaMatch:function(a){a=a.toLowerCase();var b=s.exec(a)||t.exec(a)||u.exec(a)||a.indexOf("compatible")<0&&v.exec(a)||[];return{browser:b[1]||"",version:b[2]||"0"}},sub:function(){function a(b,c){return new a.fn.init(b,c)}e.extend(!0,a,this),a.superclass=this,a.fn=a.prototype=this(),a.fn.constructor=a,a.sub=this.sub,a.fn.init=function(d,f){f&&f instanceof e&&!(f instanceof a)&&(f=a(f));return e.fn.init.call(this,d,f,b)},a.fn.init.prototype=a.fn;var b=a(c);return a},browser:{}}),e.each("Boolean Number String Function Array Date RegExp Object".split(" "),function(a,b){G["[object "+b+"]"]=b.toLowerCase()}),x=e.uaMatch(w),x.browser&&(e.browser[x.browser]=!0,e.browser.version=x.version),e.browser.webkit&&(e.browser.safari=!0),j.test(" ")&&(k=/^[\s\xA0]+/,l=/[\s\xA0]+$/),h=e(c),c.addEventListener?z=function(){c.removeEventListener("DOMContentLoaded",z,!1),e.ready()}:c.attachEvent&&(z=function(){c.readyState==="complete"&&(c.detachEvent("onreadystatechange",z),e.ready())});return e}(),g="done fail isResolved isRejected promise then always pipe".split(" "),h=[].slice;f.extend({_Deferred:function(){var a=[],b,c,d,e={done:function(){if(!d){var c=arguments,g,h,i,j,k;b&&(k=b,b=0);for(g=0,h=c.length;g<h;g++)i=c[g],j=f.type(i),j==="array"?e.done.apply(e,i):j==="function"&&a.push(i);k&&e.resolveWith(k[0],k[1])}return this},resolveWith:function(e,f){if(!d&&!b&&!c){f=f||[],c=1;try{while(a[0])a.shift().apply(e,f)}finally{b=[e,f],c=0}}return this},resolve:function(){e.resolveWith(this,arguments);return this},isResolved:function(){return!!c||!!b},cancel:function(){d=1,a=[];return this}};return e},Deferred:function(a){var b=f._Deferred(),c=f._Deferred(),d;f.extend(b,{then:function(a,c){b.done(a).fail(c);return this},always:function(){return b.done.apply(b,arguments).fail.apply(this,arguments)},fail:c.done,rejectWith:c.resolveWith,reject:c.resolve,isRejected:c.isResolved,pipe:function(a,c){return f.Deferred(function(d){f.each({done:[a,"resolve"],fail:[c,"reject"]},function(a,c){var e=c[0],g=c[1],h;f.isFunction(e)?b[a](function(){h=e.apply(this,arguments),h&&f.isFunction(h.promise)?h.promise().then(d.resolve,d.reject):d[g](h)}):b[a](d[g])})}).promise()},promise:function(a){if(a==null){if(d)return d;d=a={}}var c=g.length;while(c--)a[g[c]]=b[g[c]];return a}}),b.done(c.cancel).fail(b.cancel),delete b.cancel,a&&a.call(b,b);return b},when:function(a){function i(a){return function(c){b[a]=arguments.length>1?h.call(arguments,0):c,--e||g.resolveWith(g,h.call(b,0))}}var b=arguments,c=0,d=b.length,e=d,g=d<=1&&a&&f.isFunction(a.promise)?a:f.Deferred();if(d>1){for(;c<d;c++)b[c]&&f.isFunction(b[c].promise)?b[c].promise().then(i(c),g.reject):--e;e||g.resolveWith(g,b)}else g!==a&&g.resolveWith(g,d?[a]:[]);return g.promise()}}),f.support=function(){var a=c.createElement("div"),b=c.documentElement,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r;a.setAttribute("className","t"),a.innerHTML=" <link/><table></table><a href='/a' style='top:1px;float:left;opacity:.55;'>a</a><input type='checkbox'/>",d=a.getElementsByTagName("*"),e=a.getElementsByTagName("a")[0];if(!d||!d.length||!e)return{};f=c.createElement("select"),g=f.appendChild(c.createElement("option")),h=a.getElementsByTagName("input")[0],j={leadingWhitespace:a.firstChild.nodeType===3,tbody:!a.getElementsByTagName("tbody").length,htmlSerialize:!!a.getElementsByTagName("link").length,style:/top/.test(e.getAttribute("style")),hrefNormalized:e.getAttribute("href")==="/a",opacity:/^0.55$/.test(e.style.opacity),cssFloat:!!e.style.cssFloat,checkOn:h.value==="on",optSelected:g.selected,getSetAttribute:a.className!=="t",submitBubbles:!0,changeBubbles:!0,focusinBubbles:!1,deleteExpando:!0,noCloneEvent:!0,inlineBlockNeedsLayout:!1,shrinkWrapBlocks:!1,reliableMarginRight:!0},h.checked=!0,j.noCloneChecked=h.cloneNode(!0).checked,f.disabled=!0,j.optDisabled=!g.disabled;try{delete a.test}catch(s){j.deleteExpando=!1}!a.addEventListener&&a.attachEvent&&a.fireEvent&&(a.attachEvent("onclick",function b(){j.noCloneEvent=!1,a.detachEvent("onclick",b)}),a.cloneNode(!0).fireEvent("onclick")),h=c.createElement("input"),h.value="t",h.setAttribute("type","radio"),j.radioValue=h.value==="t",h.setAttribute("checked","checked"),a.appendChild(h),k=c.createDocumentFragment(),k.appendChild(a.firstChild),j.checkClone=k.cloneNode(!0).cloneNode(!0).lastChild.checked,a.innerHTML="",a.style.width=a.style.paddingLeft="1px",l=c.createElement("body"),m={visibility:"hidden",width:0,height:0,border:0,margin:0,background:"none"};for(q in m)l.style[q]=m[q];l.appendChild(a),b.insertBefore(l,b.firstChild),j.appendChecked=h.checked,j.boxModel=a.offsetWidth===2,"zoom"in a.style&&(a.style.display="inline",a.style.zoom=1,j.inlineBlockNeedsLayout=a.offsetWidth===2,a.style.display="",a.innerHTML="<div style='width:4px;'></div>",j.shrinkWrapBlocks=a.offsetWidth!==2),a.innerHTML="<table><tr><td style='padding:0;border:0;display:none'></td><td>t</td></tr></table>",n=a.getElementsByTagName("td"),r=n[0].offsetHeight===0,n[0].style.display="",n[1].style.display="none",j.reliableHiddenOffsets=r&&n[0].offsetHeight===0,a.innerHTML="",c.defaultView&&c.defaultView.getComputedStyle&&(i=c.createElement("div"),i.style.width="0",i.style.marginRight="0",a.appendChild(i),j.reliableMarginRight=(parseInt((c.defaultView.getComputedStyle(i,null)||{marginRight:0}).marginRight,10)||0)===0),l.innerHTML="",b.removeChild(l);if(a.attachEvent)for(q in{submit:1,change:1,focusin:1})p="on"+q,r=p in a,r||(a.setAttribute(p,"return;"),r=typeof a[p]=="function"),j[q+"Bubbles"]=r;return j}(),f.boxModel=f.support.boxModel;var i=/^(?:\{.*\}|\[.*\])$/,j=/([a-z])([A-Z])/g;f.extend({cache:{},uuid:0,expando:"jQuery"+(f.fn.jquery+Math.random()).replace(/\D/g,""),noData:{embed:!0,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:!0},hasData:function(a){a=a.nodeType?f.cache[a[f.expando]]:a[f.expando];return!!a&&!l(a)},data:function(a,c,d,e){if(!!f.acceptData(a)){var g=f.expando,h=typeof c=="string",i,j=a.nodeType,k=j?f.cache:a,l=j?a[f.expando]:a[f.expando]&&f.expando;if((!l||e&&l&&!k[l][g])&&h&&d===b)return;l||(j?a[f.expando]=l=++f.uuid:l=f.expando),k[l]||(k[l]={},j||(k[l].toJSON=f.noop));if(typeof c=="object"||typeof c=="function")e?k[l][g]=f.extend(k[l][g],c):k[l]=f.extend(k[l],c);i=k[l],e&&(i[g]||(i[g]={}),i=i[g]),d!==b&&(i[f.camelCase(c)]=d);if(c==="events"&&!i[c])return i[g]&&i[g].events;return h?i[f.camelCase(c)]:i}},removeData:function(b,c,d){if(!!f.acceptData(b)){var e=f.expando,g=b.nodeType,h=g?f.cache:b,i=g?b[f.expando]:f.expando;if(!h[i])return;if(c){var j=d?h[i][e]:h[i];if(j){delete j[c];if(!l(j))return}}if(d){delete h[i][e];if(!l(h[i]))return}var k=h[i][e];f.support.deleteExpando||h!=a?delete h[i]:h[i]=null,k?(h[i]={},g||(h[i].toJSON=f.noop),h[i][e]=k):g&&(f.support.deleteExpando?delete b[f.expando]:b.removeAttribute?b.removeAttribute(f.expando):b[f.expando]=null)}},_data:function(a,b,c){return f.data(a,b,c,!0)},acceptData:function(a){if(a.nodeName){var b=f.noData[a.nodeName.toLowerCase()];if(b)return b!==!0&&a.getAttribute("classid")===b}return!0}}),f.fn.extend({data:function(a,c){var d=null;if(typeof a=="undefined"){if(this.length){d=f.data(this[0]);if(this[0].nodeType===1){var e=this[0].attributes,g;for(var h=0,i=e.length;h<i;h++)g=e[h].name,g.indexOf("data-")===0&&(g=f.camelCase(g.substring(5)),k(this[0],g,d[g]))}}return d}if(typeof a=="object")return this.each(function(){f.data(this,a)});var j=a.split(".");j[1]=j[1]?"."+j[1]:"";if(c===b){d=this.triggerHandler("getData"+j[1]+"!",[j[0]]),d===b&&this.length&&(d=f.data(this[0],a),d=k(this[0],a,d));return d===b&&j[1]?this.data(j[0]):d}return this.each(function(){var b=f(this),d=[j[0],c];b.triggerHandler("setData"+j[1]+"!",d),f.data(this,a,c),b.triggerHandler("changeData"+j[1]+"!",d)})},removeData:function(a){return this.each(function(){f.removeData(this,a)})}}),f.extend({_mark:function(a,c){a&&(c=(c||"fx")+"mark",f.data(a,c,(f.data(a,c,b,!0)||0)+1,!0))},_unmark:function(a,c,d){a!==!0&&(d=c,c=a,a=!1);if(c){d=d||"fx";var e=d+"mark",g=a?0:(f.data(c,e,b,!0)||1)-1;g?f.data(c,e,g,!0):(f.removeData(c,e,!0),m(c,d,"mark"))}},queue:function(a,c,d){if(a){c=(c||"fx")+"queue";var e=f.data(a,c,b,!0);d&&(!e||f.isArray(d)?e=f.data(a,c,f.makeArray(d),!0):e.push(d));return e||[]}},dequeue:function(a,b){b=b||"fx";var c=f.queue(a,b),d=c.shift(),e;d==="inprogress"&&(d=c.shift()),d&&(b==="fx"&&c.unshift("inprogress"),d.call(a,function(){f.dequeue(a,b)})),c.length||(f.removeData(a,b+"queue",!0),m(a,b,"queue"))}}),f.fn.extend({queue:function(a,c){typeof a!="string"&&(c=a,a="fx");if(c===b)return f.queue(this[0],a);return this.each(function(){var b=f.queue(this,a,c);a==="fx"&&b[0]!=="inprogress"&&f.dequeue(this,a)})},dequeue:function(a){return this.each(function(){f.dequeue(this,a)})},delay:function(a,b){a=f.fx?f.fx.speeds[a]||a:a,b=b||"fx";return this.queue(b,function(){var c=this;setTimeout(function(){f.dequeue(c,b)},a)})},clearQueue:function(a){return this.queue(a||"fx",[])},promise:function(a,c){function m(){--h||d.resolveWith(e,[e])}typeof a!="string"&&(c=a,a=b),a=a||"fx";var d=f.Deferred(),e=this,g=e.length,h=1,i=a+"defer",j=a+"queue",k=a+"mark",l;while(g--)if(l=f.data(e[g],i,b,!0)||(f.data(e[g],j,b,!0)||f.data(e[g],k,b,!0))&&f.data(e[g],i,f._Deferred(),!0))h++,l.done(m);m();return d.promise()}});var n=/[\n\t\r]/g,o=/\s+/,p=/\r/g,q=/^(?:button|input)$/i,r=/^(?:button|input|object|select|textarea)$/i,s=/^a(?:rea)?$/i,t=/^(?:autofocus|autoplay|async|checked|controls|defer|disabled|hidden|loop|multiple|open|readonly|required|scoped|selected)$/i,u=/\:/,v,w;f.fn.extend({attr:function(a,b){return f.access(this,a,b,!0,f.attr)},removeAttr:function(a){return this.each(function(){f.removeAttr(this,a)})},prop:function(a,b){return f.access(this,a,b,!0,f.prop)},removeProp:function(a){a=f.propFix[a]||a;return this.each(function(){try{this[a]=b,delete this[a]}catch(c){}})},addClass:function(a){if(f.isFunction(a))return this.each(function(b){var c=f(this);c.addClass(a.call(this,b,c.attr("class")||""))});if(a&&typeof a=="string"){var b=(a||"").split(o);for(var c=0,d=this.length;c<d;c++){var e=this[c];if(e.nodeType===1)if(!e.className)e.className=a;else{var g=" "+e.className+" ",h=e.className;for(var i=0,j=b.length;i<j;i++)g.indexOf(" "+b[i]+" ")<0&&(h+=" "+b[i]);e.className=f.trim(h)}}}return this},removeClass:function(a){if(f.isFunction(a))return this.each(function(b){var c=f(this);c.removeClass(a.call(this,b,c.attr("class")))});if(a&&typeof a=="string"||a===b){var c=(a||"").split(o);for(var d=0,e=this.length;d<e;d++){var g=this[d];if(g.nodeType===1&&g.className)if(a){var h=(" "+g.className+" ").replace(n," ");for(var i=0,j=c.length;i<j;i++)h=h.replace(" "+c[i]+" "," ");g.className=f.trim(h)}else g.className=""}}return this},toggleClass:function(a,b){var c=typeof a,d=typeof b=="boolean";if(f.isFunction(a))return this.each(function(c){var d=f(this);d.toggleClass(a.call(this,c,d.attr("class"),b),b)});return this.each(function(){if(c==="string"){var e,g=0,h=f(this),i=b,j=a.split(o);while(e=j[g++])i=d?i:!h.hasClass(e),h[i?"addClass":"removeClass"](e)}else if(c==="undefined"||c==="boolean")this.className&&f._data(this,"__className__",this.className),this.className=this.className||a===!1?"":f._data(this,"__className__")||""})},hasClass:function(a){var b=" "+a+" ";for(var c=0,d=this.length;c<d;c++)if((" "+this[c].className+" ").replace(n," ").indexOf(b)>-1)return!0;return!1},val:function(a){var c,d,e=this[0];if(!arguments.length){if(e){c=f.valHooks[e.nodeName.toLowerCase()]||f.valHooks[e.type];if(c&&"get"in c&&(d=c.get(e,"value"))!==b)return d;return(e.value||"").replace(p,"")}return b}var g=f.isFunction(a);return this.each(function(d){var e=f(this),h;if(this.nodeType===1){g?h=a.call(this,d,e.val()):h=a,h==null?h="":typeof h=="number"?h+="":f.isArray(h)&&(h=f.map(h,function(a){return a==null?"":a+""})),c=f.valHooks[this.nodeName.toLowerCase()]||f.valHooks[this.type];if(!c||!("set"in c)||c.set(this,h,"value")===b)this.value=h}})}}),f.extend({valHooks:{option:{get:function(a){var b=a.attributes.value;return!b||b.specified?a.value:a.text}},select:{get:function(a){var b,c=a.selectedIndex,d=[],e=a.options,g=a.type==="select-one";if(c<0)return null;for(var h=g?c:0,i=g?c+1:e.length;h<i;h++){var j=e[h];if(j.selected&&(f.support.optDisabled?!j.disabled:j.getAttribute("disabled")===null)&&(!j.parentNode.disabled||!f.nodeName(j.parentNode,"optgroup"))){b=f(j).val();if(g)return b;d.push(b)}}if(g&&!d.length&&e.length)return f(e[c]).val();return d},set:function(a,b){var c=f.makeArray(b);f(a).find("option").each(function(){this.selected=f.inArray(f(this).val(),c)>=0}),c.length||(a.selectedIndex=-1);return c}}},attrFn:{val:!0,css:!0,html:!0,text:!0,data:!0,width:!0,height:!0,offset:!0},attrFix:{tabindex:"tabIndex"},attr:function(a,c,d,e){var g=a.nodeType;if(!a||g===3||g===8||g===2)return b;if(e&&c in f.attrFn)return f(a)[c](d);if(!("getAttribute"in a))return f.prop(a,c,d);var h,i,j=g!==1||!f.isXMLDoc(a);c=j&&f.attrFix[c]||c,i=f.attrHooks[c],i||(!t.test(c)||typeof d!="boolean"&&d!==b&&d.toLowerCase()!==c.toLowerCase()?v&&(f.nodeName(a,"form")||u.test(c))&&(i=v):i=w);if(d!==b){if(d===null){f.removeAttr(a,c);return b}if(i&&"set"in i&&j&&(h=i.set(a,d,c))!==b)return h;a.setAttribute(c,""+d);return d}if(i&&"get"in i&&j)return i.get(a,c);h=a.getAttribute(c);return h===null?b:h},removeAttr:function(a,b){var c;a.nodeType===1&&(b=f.attrFix[b]||b,f.support.getSetAttribute?a.removeAttribute(b):(f.attr(a,b,""),a.removeAttributeNode(a.getAttributeNode(b))),t.test(b)&&(c=f.propFix[b]||b)in a&&(a[c]=!1))},attrHooks:{type:{set:function(a,b){if(q.test(a.nodeName)&&a.parentNode)f.error("type property can't be changed");else if(!f.support.radioValue&&b==="radio"&&f.nodeName(a,"input")){var c=a.value;a.setAttribute("type",b),c&&(a.value=c);return b}}},tabIndex:{get:function(a){var c=a.getAttributeNode("tabIndex");return c&&c.specified?parseInt(c.value,10):r.test(a.nodeName)||s.test(a.nodeName)&&a.href?0:b}}},propFix:{tabindex:"tabIndex",readonly:"readOnly","for":"htmlFor","class":"className",maxlength:"maxLength",cellspacing:"cellSpacing",cellpadding:"cellPadding",rowspan:"rowSpan",colspan:"colSpan",usemap:"useMap",frameborder:"frameBorder",contenteditable:"contentEditable"},prop:function(a,c,d){var e=a.nodeType;if(!a||e===3||e===8||e===2)return b;var g,h,i=e!==1||!f.isXMLDoc(a);c=i&&f.propFix[c]||c,h=f.propHooks[c];return d!==b?h&&"set"in h&&(g=h.set(a,d,c))!==b?g:a[c]=d:h&&"get"in h&&(g=h.get(a,c))!==b?g:a[c]},propHooks:{}}),w={get:function(a,c){return a[f.propFix[c]||c]?c.toLowerCase():b},set:function(a,b,c){var d;b===!1?f.removeAttr(a,c):(d=f.propFix[c]||c,d in a&&(a[d]=b),a.setAttribute(c,c.toLowerCase()));return c}},f.attrHooks.value={get:function(a,b){if(v&&f.nodeName(a,"button"))return v.get(a,b);return a.value},set:function(a,b,c){if(v&&f.nodeName(a,"button"))return v.set(a,b,c);a.value=b}},f.support.getSetAttribute||(f.attrFix=f.propFix,v=f.attrHooks.name=f.valHooks.button={get:function(a,c){var d;d=a.getAttributeNode(c);return d&&d.nodeValue!==""?d.nodeValue:b},set:function(a,b,c){var d=a.getAttributeNode(c);if(d){d.nodeValue=b;return b}}},f.each(["width","height"],function(a,b){f.attrHooks[b]=f.extend(f.attrHooks[b],{set:function(a,c){if(c===""){a.setAttribute(b,"auto");return c}}})})),f.support.hrefNormalized||f.each(["href","src","width","height"],function(a,c){f.attrHooks[c]=f.extend(f.attrHooks[c],{get:function(a){var d=a.getAttribute(c,2);return d===null?b:d}})}),f.support.style||(f.attrHooks.style={get:function(a){return a.style.cssText.toLowerCase()||b},set:function(a,b){return a.style.cssText=""+b}}),f.support.optSelected||(f.propHooks.selected=f.extend(f.propHooks.selected,{get:function(a){var b=a.parentNode;b&&(b.selectedIndex,b.parentNode&&b.parentNode.selectedIndex)}})),f.support.checkOn||f.each(["radio","checkbox"],function(){f.valHooks[this]={get:function(a){return a.getAttribute("value")===null?"on":a.value}}}),f.each(["radio","checkbox"],function(){f.valHooks[this]=f.extend(f.valHooks[this],{set:function(a,b){if(f.isArray(b))return a.checked=f.inArray(f(a).val(),b)>=0}})});var x=Object.prototype.hasOwnProperty,y=/\.(.*)$/,z=/^(?:textarea|input|select)$/i,A=/\./g,B=/ /g,C=/[^\w\s.|`]/g,D=function(a){return a.replace(C,"\\$&")};f.event={add:function(a,c,d,e){if(a.nodeType!==3&&a.nodeType!==8){if(d===!1)d=E;else if(!d)return;var g,h;d.handler&&(g=d,d=g.handler),d.guid||(d.guid=f.guid++);var i=f._data(a);if(!i)return;var j=i.events,k=i.handle;j||(i.events=j={}),k||(i.handle=k=function(a){return typeof f!="undefined"&&(!a||f.event.triggered!==a.type)?f.event.handle.apply(k.elem,arguments):b}),k.elem=a,c=c.split(" ");var l,m=0,n;while(l=c[m++]){h=g?f.extend({},g):{handler:d,data:e},l.indexOf(".")>-1?(n=l.split("."),l=n.shift(),h.namespace=n.slice(0).sort().join(".")):(n=[],h.namespace=""),h.type=l,h.guid||(h.guid=d.guid);var o=j[l],p=f.event.special[l]||{};if(!o){o=j[l]=[];if(!p.setup||p.setup.call(a,e,n,k)===!1)a.addEventListener?a.addEventListener(l,k,!1):a.attachEvent&&a.attachEvent("on"+l,k)}p.add&&(p.add.call(a,h),h.handler.guid||(h.handler.guid=d.guid)),o.push(h),f.event.global[l]=!0}a=null}},global:{},remove:function(a,c,d,e){if(a.nodeType!==3&&a.nodeType!==8){d===!1&&(d=E);var g,h,i,j,k=0,l,m,n,o,p,q,r,s=f.hasData(a)&&f._data(a),t=s&&s.events;if(!s||!t)return;c&&c.type&&(d=c.handler,c=c.type);if(!c||typeof c=="string"&&c.charAt(0)==="."){c=c||"";for(h in t)f.event.remove(a,h+c);return}c=c.split(" ");while(h=c[k++]){r=h,q=null,l=h.indexOf(".")<0,m=[],l||(m=h.split("."),h=m.shift(),n=new RegExp("(^|\\.)"+f.map(m.slice(0).sort(),D).join("\\.(?:.*\\.)?")+"(\\.|$)")),p=t[h];if(!p)continue;if(!d){for(j=0;j<p.length;j++){q=p[j];if(l||n.test(q.namespace))f.event.remove(a,r,q.handler,j),p.splice(j--,1)}continue}o=f.event.special[h]||{};for(j=e||0;j<p.length;j++){q=p[j];if(d.guid===q.guid){if(l||n.test(q.namespace))e==null&&p.splice(j--,1),o.remove&&o.remove.call(a,q);if(e!=null)break}}if(p.length===0||e!=null&&p.length===1)(!o.teardown||o.teardown.call(a,m)===!1)&&f.removeEvent(a,h,s.handle),g=null,delete t[h]}if(f.isEmptyObject(t)){var u=s.handle;u&&(u.elem=null),delete s.events,delete s.handle,f.isEmptyObject(s)&&f.removeData(a,b,!0)}}},customEvent:{getData:!0,setData:!0,changeData:!0},trigger:function(c,d,e,g){var h=c.type||c,i=[],j;h.indexOf("!")>=0&&(h=h.slice(0,-1),j=!0),h.indexOf(".")>=0&&(i=h.split("."),h=i.shift(),i.sort());if(!!e&&!f.event.customEvent[h]||!!f.event.global[h]){c=typeof c=="object"?c[f.expando]?c:new f.Event(h,c):new f.Event(h),c.type=h,c.exclusive=j,c.namespace=i.join("."),c.namespace_re=new RegExp("(^|\\.)"+i.join("\\.(?:.*\\.)?")+"(\\.|$)");if(g||!e)c.preventDefault(),c.stopPropagation();if(!e){f.each(f.cache,function(){var a=f.expando,b=this[a];b&&b.events&&b.events[h]&&f.event.trigger(c,d,b.handle.elem +)});return}if(e.nodeType===3||e.nodeType===8)return;c.result=b,c.target=e,d=d?f.makeArray(d):[],d.unshift(c);var k=e,l=h.indexOf(":")<0?"on"+h:"";do{var m=f._data(k,"handle");c.currentTarget=k,m&&m.apply(k,d),l&&f.acceptData(k)&&k[l]&&k[l].apply(k,d)===!1&&(c.result=!1,c.preventDefault()),k=k.parentNode||k.ownerDocument||k===c.target.ownerDocument&&a}while(k&&!c.isPropagationStopped());if(!c.isDefaultPrevented()){var n,o=f.event.special[h]||{};if((!o._default||o._default.call(e.ownerDocument,c)===!1)&&(h!=="click"||!f.nodeName(e,"a"))&&f.acceptData(e)){try{l&&e[h]&&(n=e[l],n&&(e[l]=null),f.event.triggered=h,e[h]())}catch(p){}n&&(e[l]=n),f.event.triggered=b}}return c.result}},handle:function(c){c=f.event.fix(c||a.event);var d=((f._data(this,"events")||{})[c.type]||[]).slice(0),e=!c.exclusive&&!c.namespace,g=Array.prototype.slice.call(arguments,0);g[0]=c,c.currentTarget=this;for(var h=0,i=d.length;h<i;h++){var j=d[h];if(e||c.namespace_re.test(j.namespace)){c.handler=j.handler,c.data=j.data,c.handleObj=j;var k=j.handler.apply(this,g);k!==b&&(c.result=k,k===!1&&(c.preventDefault(),c.stopPropagation()));if(c.isImmediatePropagationStopped())break}}return c.result},props:"altKey attrChange attrName bubbles button cancelable charCode clientX clientY ctrlKey currentTarget data detail eventPhase fromElement handler keyCode layerX layerY metaKey newValue offsetX offsetY pageX pageY prevValue relatedNode relatedTarget screenX screenY shiftKey srcElement target toElement view wheelDelta which".split(" "),fix:function(a){if(a[f.expando])return a;var d=a;a=f.Event(d);for(var e=this.props.length,g;e;)g=this.props[--e],a[g]=d[g];a.target||(a.target=a.srcElement||c),a.target.nodeType===3&&(a.target=a.target.parentNode),!a.relatedTarget&&a.fromElement&&(a.relatedTarget=a.fromElement===a.target?a.toElement:a.fromElement);if(a.pageX==null&&a.clientX!=null){var h=a.target.ownerDocument||c,i=h.documentElement,j=h.body;a.pageX=a.clientX+(i&&i.scrollLeft||j&&j.scrollLeft||0)-(i&&i.clientLeft||j&&j.clientLeft||0),a.pageY=a.clientY+(i&&i.scrollTop||j&&j.scrollTop||0)-(i&&i.clientTop||j&&j.clientTop||0)}a.which==null&&(a.charCode!=null||a.keyCode!=null)&&(a.which=a.charCode!=null?a.charCode:a.keyCode),!a.metaKey&&a.ctrlKey&&(a.metaKey=a.ctrlKey),!a.which&&a.button!==b&&(a.which=a.button&1?1:a.button&2?3:a.button&4?2:0);return a},guid:1e8,proxy:f.proxy,special:{ready:{setup:f.bindReady,teardown:f.noop},live:{add:function(a){f.event.add(this,O(a.origType,a.selector),f.extend({},a,{handler:N,guid:a.handler.guid}))},remove:function(a){f.event.remove(this,O(a.origType,a.selector),a)}},beforeunload:{setup:function(a,b,c){f.isWindow(this)&&(this.onbeforeunload=c)},teardown:function(a,b){this.onbeforeunload===b&&(this.onbeforeunload=null)}}}},f.removeEvent=c.removeEventListener?function(a,b,c){a.removeEventListener&&a.removeEventListener(b,c,!1)}:function(a,b,c){a.detachEvent&&a.detachEvent("on"+b,c)},f.Event=function(a,b){if(!this.preventDefault)return new f.Event(a,b);a&&a.type?(this.originalEvent=a,this.type=a.type,this.isDefaultPrevented=a.defaultPrevented||a.returnValue===!1||a.getPreventDefault&&a.getPreventDefault()?F:E):this.type=a,b&&f.extend(this,b),this.timeStamp=f.now(),this[f.expando]=!0},f.Event.prototype={preventDefault:function(){this.isDefaultPrevented=F;var a=this.originalEvent;!a||(a.preventDefault?a.preventDefault():a.returnValue=!1)},stopPropagation:function(){this.isPropagationStopped=F;var a=this.originalEvent;!a||(a.stopPropagation&&a.stopPropagation(),a.cancelBubble=!0)},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=F,this.stopPropagation()},isDefaultPrevented:E,isPropagationStopped:E,isImmediatePropagationStopped:E};var G=function(a){var b=a.relatedTarget;a.type=a.data;try{if(b&&b!==c&&!b.parentNode)return;while(b&&b!==this)b=b.parentNode;b!==this&&f.event.handle.apply(this,arguments)}catch(d){}},H=function(a){a.type=a.data,f.event.handle.apply(this,arguments)};f.each({mouseenter:"mouseover",mouseleave:"mouseout"},function(a,b){f.event.special[a]={setup:function(c){f.event.add(this,b,c&&c.selector?H:G,a)},teardown:function(a){f.event.remove(this,b,a&&a.selector?H:G)}}}),f.support.submitBubbles||(f.event.special.submit={setup:function(a,b){if(!f.nodeName(this,"form"))f.event.add(this,"click.specialSubmit",function(a){var b=a.target,c=b.type;(c==="submit"||c==="image")&&f(b).closest("form").length&&L("submit",this,arguments)}),f.event.add(this,"keypress.specialSubmit",function(a){var b=a.target,c=b.type;(c==="text"||c==="password")&&f(b).closest("form").length&&a.keyCode===13&&L("submit",this,arguments)});else return!1},teardown:function(a){f.event.remove(this,".specialSubmit")}});if(!f.support.changeBubbles){var I,J=function(a){var b=a.type,c=a.value;b==="radio"||b==="checkbox"?c=a.checked:b==="select-multiple"?c=a.selectedIndex>-1?f.map(a.options,function(a){return a.selected}).join("-"):"":f.nodeName(a,"select")&&(c=a.selectedIndex);return c},K=function(c){var d=c.target,e,g;if(!!z.test(d.nodeName)&&!d.readOnly){e=f._data(d,"_change_data"),g=J(d),(c.type!=="focusout"||d.type!=="radio")&&f._data(d,"_change_data",g);if(e===b||g===e)return;if(e!=null||g)c.type="change",c.liveFired=b,f.event.trigger(c,arguments[1],d)}};f.event.special.change={filters:{focusout:K,beforedeactivate:K,click:function(a){var b=a.target,c=f.nodeName(b,"input")?b.type:"";(c==="radio"||c==="checkbox"||f.nodeName(b,"select"))&&K.call(this,a)},keydown:function(a){var b=a.target,c=f.nodeName(b,"input")?b.type:"";(a.keyCode===13&&!f.nodeName(b,"textarea")||a.keyCode===32&&(c==="checkbox"||c==="radio")||c==="select-multiple")&&K.call(this,a)},beforeactivate:function(a){var b=a.target;f._data(b,"_change_data",J(b))}},setup:function(a,b){if(this.type==="file")return!1;for(var c in I)f.event.add(this,c+".specialChange",I[c]);return z.test(this.nodeName)},teardown:function(a){f.event.remove(this,".specialChange");return z.test(this.nodeName)}},I=f.event.special.change.filters,I.focus=I.beforeactivate}f.support.focusinBubbles||f.each({focus:"focusin",blur:"focusout"},function(a,b){function e(a){var c=f.event.fix(a);c.type=b,c.originalEvent={},f.event.trigger(c,null,c.target),c.isDefaultPrevented()&&a.preventDefault()}var d=0;f.event.special[b]={setup:function(){d++===0&&c.addEventListener(a,e,!0)},teardown:function(){--d===0&&c.removeEventListener(a,e,!0)}}}),f.each(["bind","one"],function(a,c){f.fn[c]=function(a,d,e){var g;if(typeof a=="object"){for(var h in a)this[c](h,d,a[h],e);return this}if(arguments.length===2||d===!1)e=d,d=b;c==="one"?(g=function(a){f(this).unbind(a,g);return e.apply(this,arguments)},g.guid=e.guid||f.guid++):g=e;if(a==="unload"&&c!=="one")this.one(a,d,e);else for(var i=0,j=this.length;i<j;i++)f.event.add(this[i],a,g,d);return this}}),f.fn.extend({unbind:function(a,b){if(typeof a=="object"&&!a.preventDefault)for(var c in a)this.unbind(c,a[c]);else for(var d=0,e=this.length;d<e;d++)f.event.remove(this[d],a,b);return this},delegate:function(a,b,c,d){return this.live(b,c,d,a)},undelegate:function(a,b,c){return arguments.length===0?this.unbind("live"):this.die(b,null,c,a)},trigger:function(a,b){return this.each(function(){f.event.trigger(a,b,this)})},triggerHandler:function(a,b){if(this[0])return f.event.trigger(a,b,this[0],!0)},toggle:function(a){var b=arguments,c=a.guid||f.guid++,d=0,e=function(c){var e=(f.data(this,"lastToggle"+a.guid)||0)%d;f.data(this,"lastToggle"+a.guid,e+1),c.preventDefault();return b[e].apply(this,arguments)||!1};e.guid=c;while(d<b.length)b[d++].guid=c;return this.click(e)},hover:function(a,b){return this.mouseenter(a).mouseleave(b||a)}});var M={focus:"focusin",blur:"focusout",mouseenter:"mouseover",mouseleave:"mouseout"};f.each(["live","die"],function(a,c){f.fn[c]=function(a,d,e,g){var h,i=0,j,k,l,m=g||this.selector,n=g?this:f(this.context);if(typeof a=="object"&&!a.preventDefault){for(var o in a)n[c](o,d,a[o],m);return this}if(c==="die"&&!a&&g&&g.charAt(0)==="."){n.unbind(g);return this}if(d===!1||f.isFunction(d))e=d||E,d=b;a=(a||"").split(" ");while((h=a[i++])!=null){j=y.exec(h),k="",j&&(k=j[0],h=h.replace(y,""));if(h==="hover"){a.push("mouseenter"+k,"mouseleave"+k);continue}l=h,M[h]?(a.push(M[h]+k),h=h+k):h=(M[h]||h)+k;if(c==="live")for(var p=0,q=n.length;p<q;p++)f.event.add(n[p],"live."+O(h,m),{data:d,selector:m,handler:e,origType:h,origHandler:e,preType:l});else n.unbind("live."+O(h,m),e)}return this}}),f.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error".split(" "),function(a,b){f.fn[b]=function(a,c){c==null&&(c=a,a=null);return arguments.length>0?this.bind(b,a,c):this.trigger(b)},f.attrFn&&(f.attrFn[b]=!0)}),function(){function u(a,b,c,d,e,f){for(var g=0,h=d.length;g<h;g++){var i=d[g];if(i){var j=!1;i=i[a];while(i){if(i.sizcache===c){j=d[i.sizset];break}if(i.nodeType===1){f||(i.sizcache=c,i.sizset=g);if(typeof b!="string"){if(i===b){j=!0;break}}else if(k.filter(b,[i]).length>0){j=i;break}}i=i[a]}d[g]=j}}}function t(a,b,c,d,e,f){for(var g=0,h=d.length;g<h;g++){var i=d[g];if(i){var j=!1;i=i[a];while(i){if(i.sizcache===c){j=d[i.sizset];break}i.nodeType===1&&!f&&(i.sizcache=c,i.sizset=g);if(i.nodeName.toLowerCase()===b){j=i;break}i=i[a]}d[g]=j}}}var a=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^\[\]]*\]|['"][^'"]*['"]|[^\[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,d=0,e=Object.prototype.toString,g=!1,h=!0,i=/\\/g,j=/\W/;[0,0].sort(function(){h=!1;return 0});var k=function(b,d,f,g){f=f||[],d=d||c;var h=d;if(d.nodeType!==1&&d.nodeType!==9)return[];if(!b||typeof b!="string")return f;var i,j,n,o,q,r,s,t,u=!0,w=k.isXML(d),x=[],y=b;do{a.exec(""),i=a.exec(y);if(i){y=i[3],x.push(i[1]);if(i[2]){o=i[3];break}}}while(i);if(x.length>1&&m.exec(b))if(x.length===2&&l.relative[x[0]])j=v(x[0]+x[1],d);else{j=l.relative[x[0]]?[d]:k(x.shift(),d);while(x.length)b=x.shift(),l.relative[b]&&(b+=x.shift()),j=v(b,j)}else{!g&&x.length>1&&d.nodeType===9&&!w&&l.match.ID.test(x[0])&&!l.match.ID.test(x[x.length-1])&&(q=k.find(x.shift(),d,w),d=q.expr?k.filter(q.expr,q.set)[0]:q.set[0]);if(d){q=g?{expr:x.pop(),set:p(g)}:k.find(x.pop(),x.length===1&&(x[0]==="~"||x[0]==="+")&&d.parentNode?d.parentNode:d,w),j=q.expr?k.filter(q.expr,q.set):q.set,x.length>0?n=p(j):u=!1;while(x.length)r=x.pop(),s=r,l.relative[r]?s=x.pop():r="",s==null&&(s=d),l.relative[r](n,s,w)}else n=x=[]}n||(n=j),n||k.error(r||b);if(e.call(n)==="[object Array]")if(!u)f.push.apply(f,n);else if(d&&d.nodeType===1)for(t=0;n[t]!=null;t++)n[t]&&(n[t]===!0||n[t].nodeType===1&&k.contains(d,n[t]))&&f.push(j[t]);else for(t=0;n[t]!=null;t++)n[t]&&n[t].nodeType===1&&f.push(j[t]);else p(n,f);o&&(k(o,h,f,g),k.uniqueSort(f));return f};k.uniqueSort=function(a){if(r){g=h,a.sort(r);if(g)for(var b=1;b<a.length;b++)a[b]===a[b-1]&&a.splice(b--,1)}return a},k.matches=function(a,b){return k(a,null,null,b)},k.matchesSelector=function(a,b){return k(b,null,null,[a]).length>0},k.find=function(a,b,c){var d;if(!a)return[];for(var e=0,f=l.order.length;e<f;e++){var g,h=l.order[e];if(g=l.leftMatch[h].exec(a)){var j=g[1];g.splice(1,1);if(j.substr(j.length-1)!=="\\"){g[1]=(g[1]||"").replace(i,""),d=l.find[h](g,b,c);if(d!=null){a=a.replace(l.match[h],"");break}}}}d||(d=typeof b.getElementsByTagName!="undefined"?b.getElementsByTagName("*"):[]);return{set:d,expr:a}},k.filter=function(a,c,d,e){var f,g,h=a,i=[],j=c,m=c&&c[0]&&k.isXML(c[0]);while(a&&c.length){for(var n in l.filter)if((f=l.leftMatch[n].exec(a))!=null&&f[2]){var o,p,q=l.filter[n],r=f[1];g=!1,f.splice(1,1);if(r.substr(r.length-1)==="\\")continue;j===i&&(i=[]);if(l.preFilter[n]){f=l.preFilter[n](f,j,d,i,e,m);if(!f)g=o=!0;else if(f===!0)continue}if(f)for(var s=0;(p=j[s])!=null;s++)if(p){o=q(p,f,s,j);var t=e^!!o;d&&o!=null?t?g=!0:j[s]=!1:t&&(i.push(p),g=!0)}if(o!==b){d||(j=i),a=a.replace(l.match[n],"");if(!g)return[];break}}if(a===h)if(g==null)k.error(a);else break;h=a}return j},k.error=function(a){throw"Syntax error, unrecognized expression: "+a};var l=k.selectors={order:["ID","NAME","TAG"],match:{ID:/#((?:[\w\u00c0-\uFFFF\-]|\\.)+)/,CLASS:/\.((?:[\w\u00c0-\uFFFF\-]|\\.)+)/,NAME:/\[name=['"]*((?:[\w\u00c0-\uFFFF\-]|\\.)+)['"]*\]/,ATTR:/\[\s*((?:[\w\u00c0-\uFFFF\-]|\\.)+)\s*(?:(\S?=)\s*(?:(['"])(.*?)\3|(#?(?:[\w\u00c0-\uFFFF\-]|\\.)*)|)|)\s*\]/,TAG:/^((?:[\w\u00c0-\uFFFF\*\-]|\\.)+)/,CHILD:/:(only|nth|last|first)-child(?:\(\s*(even|odd|(?:[+\-]?\d+|(?:[+\-]?\d*)?n\s*(?:[+\-]\s*\d+)?))\s*\))?/,POS:/:(nth|eq|gt|lt|first|last|even|odd)(?:\((\d*)\))?(?=[^\-]|$)/,PSEUDO:/:((?:[\w\u00c0-\uFFFF\-]|\\.)+)(?:\((['"]?)((?:\([^\)]+\)|[^\(\)]*)+)\2\))?/},leftMatch:{},attrMap:{"class":"className","for":"htmlFor"},attrHandle:{href:function(a){return a.getAttribute("href")},type:function(a){return a.getAttribute("type")}},relative:{"+":function(a,b){var c=typeof b=="string",d=c&&!j.test(b),e=c&&!d;d&&(b=b.toLowerCase());for(var f=0,g=a.length,h;f<g;f++)if(h=a[f]){while((h=h.previousSibling)&&h.nodeType!==1);a[f]=e||h&&h.nodeName.toLowerCase()===b?h||!1:h===b}e&&k.filter(b,a,!0)},">":function(a,b){var c,d=typeof b=="string",e=0,f=a.length;if(d&&!j.test(b)){b=b.toLowerCase();for(;e<f;e++){c=a[e];if(c){var g=c.parentNode;a[e]=g.nodeName.toLowerCase()===b?g:!1}}}else{for(;e<f;e++)c=a[e],c&&(a[e]=d?c.parentNode:c.parentNode===b);d&&k.filter(b,a,!0)}},"":function(a,b,c){var e,f=d++,g=u;typeof b=="string"&&!j.test(b)&&(b=b.toLowerCase(),e=b,g=t),g("parentNode",b,f,a,e,c)},"~":function(a,b,c){var e,f=d++,g=u;typeof b=="string"&&!j.test(b)&&(b=b.toLowerCase(),e=b,g=t),g("previousSibling",b,f,a,e,c)}},find:{ID:function(a,b,c){if(typeof b.getElementById!="undefined"&&!c){var d=b.getElementById(a[1]);return d&&d.parentNode?[d]:[]}},NAME:function(a,b){if(typeof b.getElementsByName!="undefined"){var c=[],d=b.getElementsByName(a[1]);for(var e=0,f=d.length;e<f;e++)d[e].getAttribute("name")===a[1]&&c.push(d[e]);return c.length===0?null:c}},TAG:function(a,b){if(typeof b.getElementsByTagName!="undefined")return b.getElementsByTagName(a[1])}},preFilter:{CLASS:function(a,b,c,d,e,f){a=" "+a[1].replace(i,"")+" ";if(f)return a;for(var g=0,h;(h=b[g])!=null;g++)h&&(e^(h.className&&(" "+h.className+" ").replace(/[\t\n\r]/g," ").indexOf(a)>=0)?c||d.push(h):c&&(b[g]=!1));return!1},ID:function(a){return a[1].replace(i,"")},TAG:function(a,b){return a[1].replace(i,"").toLowerCase()},CHILD:function(a){if(a[1]==="nth"){a[2]||k.error(a[0]),a[2]=a[2].replace(/^\+|\s*/g,"");var b=/(-?)(\d*)(?:n([+\-]?\d*))?/.exec(a[2]==="even"&&"2n"||a[2]==="odd"&&"2n+1"||!/\D/.test(a[2])&&"0n+"+a[2]||a[2]);a[2]=b[1]+(b[2]||1)-0,a[3]=b[3]-0}else a[2]&&k.error(a[0]);a[0]=d++;return a},ATTR:function(a,b,c,d,e,f){var g=a[1]=a[1].replace(i,"");!f&&l.attrMap[g]&&(a[1]=l.attrMap[g]),a[4]=(a[4]||a[5]||"").replace(i,""),a[2]==="~="&&(a[4]=" "+a[4]+" ");return a},PSEUDO:function(b,c,d,e,f){if(b[1]==="not")if((a.exec(b[3])||"").length>1||/^\w/.test(b[3]))b[3]=k(b[3],null,null,c);else{var g=k.filter(b[3],c,d,!0^f);d||e.push.apply(e,g);return!1}else if(l.match.POS.test(b[0])||l.match.CHILD.test(b[0]))return!0;return b},POS:function(a){a.unshift(!0);return a}},filters:{enabled:function(a){return a.disabled===!1&&a.type!=="hidden"},disabled:function(a){return a.disabled===!0},checked:function(a){return a.checked===!0},selected:function(a){a.parentNode&&a.parentNode.selectedIndex;return a.selected===!0},parent:function(a){return!!a.firstChild},empty:function(a){return!a.firstChild},has:function(a,b,c){return!!k(c[3],a).length},header:function(a){return/h\d/i.test(a.nodeName)},text:function(a){var b=a.getAttribute("type"),c=a.type;return a.nodeName.toLowerCase()==="input"&&"text"===c&&(b===c||b===null)},radio:function(a){return a.nodeName.toLowerCase()==="input"&&"radio"===a.type},checkbox:function(a){return a.nodeName.toLowerCase()==="input"&&"checkbox"===a.type},file:function(a){return a.nodeName.toLowerCase()==="input"&&"file"===a.type},password:function(a){return a.nodeName.toLowerCase()==="input"&&"password"===a.type},submit:function(a){var b=a.nodeName.toLowerCase();return(b==="input"||b==="button")&&"submit"===a.type},image:function(a){return a.nodeName.toLowerCase()==="input"&&"image"===a.type},reset:function(a){var b=a.nodeName.toLowerCase();return(b==="input"||b==="button")&&"reset"===a.type},button:function(a){var b=a.nodeName.toLowerCase();return b==="input"&&"button"===a.type||b==="button"},input:function(a){return/input|select|textarea|button/i.test(a.nodeName)},focus:function(a){return a===a.ownerDocument.activeElement}},setFilters:{first:function(a,b){return b===0},last:function(a,b,c,d){return b===d.length-1},even:function(a,b){return b%2===0},odd:function(a,b){return b%2===1},lt:function(a,b,c){return b<c[3]-0},gt:function(a,b,c){return b>c[3]-0},nth:function(a,b,c){return c[3]-0===b},eq:function(a,b,c){return c[3]-0===b}},filter:{PSEUDO:function(a,b,c,d){var e=b[1],f=l.filters[e];if(f)return f(a,c,b,d);if(e==="contains")return(a.textContent||a.innerText||k.getText([a])||"").indexOf(b[3])>=0;if(e==="not"){var g=b[3];for(var h=0,i=g.length;h<i;h++)if(g[h]===a)return!1;return!0}k.error(e)},CHILD:function(a,b){var c=b[1],d=a;switch(c){case"only":case"first":while(d=d.previousSibling)if(d.nodeType===1)return!1;if(c==="first")return!0;d=a;case"last":while(d=d.nextSibling)if(d.nodeType===1)return!1;return!0;case"nth":var e=b[2],f=b[3];if(e===1&&f===0)return!0;var g=b[0],h=a.parentNode;if(h&&(h.sizcache!==g||!a.nodeIndex)){var i=0;for(d=h.firstChild;d;d=d.nextSibling)d.nodeType===1&&(d.nodeIndex=++i);h.sizcache=g}var j=a.nodeIndex-f;return e===0?j===0:j%e===0&&j/e>=0}},ID:function(a,b){return a.nodeType===1&&a.getAttribute("id")===b},TAG:function(a,b){return b==="*"&&a.nodeType===1||a.nodeName.toLowerCase()===b},CLASS:function(a,b){return(" "+(a.className||a.getAttribute("class"))+" ").indexOf(b)>-1},ATTR:function(a,b){var c=b[1],d=l.attrHandle[c]?l.attrHandle[c](a):a[c]!=null?a[c]:a.getAttribute(c),e=d+"",f=b[2],g=b[4];return d==null?f==="!=":f==="="?e===g:f==="*="?e.indexOf(g)>=0:f==="~="?(" "+e+" ").indexOf(g)>=0:g?f==="!="?e!==g:f==="^="?e.indexOf(g)===0:f==="$="?e.substr(e.length-g.length)===g:f==="|="?e===g||e.substr(0,g.length+1)===g+"-":!1:e&&d!==!1},POS:function(a,b,c,d){var e=b[2],f=l.setFilters[e];if(f)return f(a,c,b,d)}}},m=l.match.POS,n=function(a,b){return"\\"+(b-0+1)};for(var o in l.match)l.match[o]=new RegExp(l.match[o].source+/(?![^\[]*\])(?![^\(]*\))/.source),l.leftMatch[o]=new RegExp(/(^(?:.|\r|\n)*?)/.source+l.match[o].source.replace(/\\(\d+)/g,n));var p=function(a,b){a=Array.prototype.slice.call(a,0);if(b){b.push.apply(b,a);return b}return a};try{Array.prototype.slice.call(c.documentElement.childNodes,0)[0].nodeType}catch(q){p=function(a,b){var c=0,d=b||[];if(e.call(a)==="[object Array]")Array.prototype.push.apply(d,a);else if(typeof a.length=="number")for(var f=a.length;c<f;c++)d.push(a[c]);else for(;a[c];c++)d.push(a[c]);return d}}var r,s;c.documentElement.compareDocumentPosition?r=function(a,b){if(a===b){g=!0;return 0}if(!a.compareDocumentPosition||!b.compareDocumentPosition)return a.compareDocumentPosition?-1:1;return a.compareDocumentPosition(b)&4?-1:1}:(r=function(a,b){if(a===b){g=!0;return 0}if(a.sourceIndex&&b.sourceIndex)return a.sourceIndex-b.sourceIndex;var c,d,e=[],f=[],h=a.parentNode,i=b.parentNode,j=h;if(h===i)return s(a,b);if(!h)return-1;if(!i)return 1;while(j)e.unshift(j),j=j.parentNode;j=i;while(j)f.unshift(j),j=j.parentNode;c=e.length,d=f.length;for(var k=0;k<c&&k<d;k++)if(e[k]!==f[k])return s(e[k],f[k]);return k===c?s(a,f[k],-1):s(e[k],b,1)},s=function(a,b,c){if(a===b)return c;var d=a.nextSibling;while(d){if(d===b)return-1;d=d.nextSibling}return 1}),k.getText=function(a){var b="",c;for(var d=0;a[d];d++)c=a[d],c.nodeType===3||c.nodeType===4?b+=c.nodeValue:c.nodeType!==8&&(b+=k.getText(c.childNodes));return b},function(){var a=c.createElement("div"),d="script"+(new Date).getTime(),e=c.documentElement;a.innerHTML="<a name='"+d+"'/>",e.insertBefore(a,e.firstChild),c.getElementById(d)&&(l.find.ID=function(a,c,d){if(typeof c.getElementById!="undefined"&&!d){var e=c.getElementById(a[1]);return e?e.id===a[1]||typeof e.getAttributeNode!="undefined"&&e.getAttributeNode("id").nodeValue===a[1]?[e]:b:[]}},l.filter.ID=function(a,b){var c=typeof a.getAttributeNode!="undefined"&&a.getAttributeNode("id");return a.nodeType===1&&c&&c.nodeValue===b}),e.removeChild(a),e=a=null}(),function(){var a=c.createElement("div");a.appendChild(c.createComment("")),a.getElementsByTagName("*").length>0&&(l.find.TAG=function(a,b){var c=b.getElementsByTagName(a[1]);if(a[1]==="*"){var d=[];for(var e=0;c[e];e++)c[e].nodeType===1&&d.push(c[e]);c=d}return c}),a.innerHTML="<a href='#'></a>",a.firstChild&&typeof a.firstChild.getAttribute!="undefined"&&a.firstChild.getAttribute("href")!=="#"&&(l.attrHandle.href=function(a){return a.getAttribute("href",2)}),a=null}(),c.querySelectorAll&&function(){var a=k,b=c.createElement("div"),d="__sizzle__";b.innerHTML="<p class='TEST'></p>";if(!b.querySelectorAll||b.querySelectorAll(".TEST").length!==0){k=function(b,e,f,g){e=e||c;if(!g&&!k.isXML(e)){var h=/^(\w+$)|^\.([\w\-]+$)|^#([\w\-]+$)/.exec(b);if(h&&(e.nodeType===1||e.nodeType===9)){if(h[1])return p(e.getElementsByTagName(b),f);if(h[2]&&l.find.CLASS&&e.getElementsByClassName)return p(e.getElementsByClassName(h[2]),f)}if(e.nodeType===9){if(b==="body"&&e.body)return p([e.body],f);if(h&&h[3]){var i=e.getElementById(h[3]);if(!i||!i.parentNode)return p([],f);if(i.id===h[3])return p([i],f)}try{return p(e.querySelectorAll(b),f)}catch(j){}}else if(e.nodeType===1&&e.nodeName.toLowerCase()!=="object"){var m=e,n=e.getAttribute("id"),o=n||d,q=e.parentNode,r=/^\s*[+~]/.test(b);n?o=o.replace(/'/g,"\\$&"):e.setAttribute("id",o),r&&q&&(e=e.parentNode);try{if(!r||q)return p(e.querySelectorAll("[id='"+o+"'] "+b),f)}catch(s){}finally{n||m.removeAttribute("id")}}}return a(b,e,f,g)};for(var e in a)k[e]=a[e];b=null}}(),function(){var a=c.documentElement,b=a.matchesSelector||a.mozMatchesSelector||a.webkitMatchesSelector||a.msMatchesSelector;if(b){var d=!b.call(c.createElement("div"),"div"),e=!1;try{b.call(c.documentElement,"[test!='']:sizzle")}catch(f){e=!0}k.matchesSelector=function(a,c){c=c.replace(/\=\s*([^'"\]]*)\s*\]/g,"='$1']");if(!k.isXML(a))try{if(e||!l.match.PSEUDO.test(c)&&!/!=/.test(c)){var f=b.call(a,c);if(f||!d||a.document&&a.document.nodeType!==11)return f}}catch(g){}return k(c,null,null,[a]).length>0}}}(),function(){var a=c.createElement("div");a.innerHTML="<div class='test e'></div><div class='test'></div>";if(!!a.getElementsByClassName&&a.getElementsByClassName("e").length!==0){a.lastChild.className="e";if(a.getElementsByClassName("e").length===1)return;l.order.splice(1,0,"CLASS"),l.find.CLASS=function(a,b,c){if(typeof b.getElementsByClassName!="undefined"&&!c)return b.getElementsByClassName(a[1])},a=null}}(),c.documentElement.contains?k.contains=function(a,b){return a!==b&&(a.contains?a.contains(b):!0)}:c.documentElement.compareDocumentPosition?k.contains=function(a,b){return!!(a.compareDocumentPosition(b)&16)}:k.contains=function(){return!1},k.isXML=function(a){var b=(a?a.ownerDocument||a:0).documentElement;return b?b.nodeName!=="HTML":!1};var v=function(a,b){var c,d=[],e="",f=b.nodeType?[b]:b;while(c=l.match.PSEUDO.exec(a))e+=c[0],a=a.replace(l.match.PSEUDO,"");a=l.relative[a]?a+"*":a;for(var g=0,h=f.length;g<h;g++)k(a,f[g],d);return k.filter(e,d)};f.find=k,f.expr=k.selectors,f.expr[":"]=f.expr.filters,f.unique=k.uniqueSort,f.text=k.getText,f.isXMLDoc=k.isXML,f.contains=k.contains}();var P=/Until$/,Q=/^(?:parents|prevUntil|prevAll)/,R=/,/,S=/^.[^:#\[\.,]*$/,T=Array.prototype.slice,U=f.expr.match.POS,V={children:!0,contents:!0,next:!0,prev:!0};f.fn.extend({find:function(a){var b=this,c,d;if(typeof a!="string")return f(a).filter(function(){for(c=0,d=b.length;c<d;c++)if(f.contains(b[c],this))return!0});var e=this.pushStack("","find",a),g,h,i;for(c=0,d=this.length;c<d;c++){g=e.length,f.find(a,this[c],e);if(c>0)for(h=g;h<e.length;h++)for(i=0;i<g;i++)if(e[i]===e[h]){e.splice(h--,1);break}}return e},has:function(a){var b=f(a);return this.filter(function(){for(var a=0,c=b.length;a<c;a++)if(f.contains(this,b[a]))return!0})},not:function(a){return this.pushStack(X(this,a,!1),"not",a)},filter:function(a){return this.pushStack(X(this,a,!0),"filter",a)},is:function(a){return!!a&&(typeof a=="string"?f.filter(a,this).length>0:this.filter(a).length>0)},closest:function(a,b){var c=[],d,e,g=this[0];if(f.isArray(a)){var h,i,j={},k=1;if(g&&a.length){for(d=0,e=a.length;d<e;d++)i=a[d],j[i]||(j[i]=U.test(i)?f(i,b||this.context):i);while(g&&g.ownerDocument&&g!==b){for(i in j)h=j[i],(h.jquery?h.index(g)>-1:f(g).is(h))&&c.push({selector:i,elem:g,level:k});g=g.parentNode,k++}}return c}var l=U.test(a)||typeof a!="string"?f(a,b||this.context):0;for(d=0,e=this.length;d<e;d++){g=this[d];while(g){if(l?l.index(g)>-1:f.find.matchesSelector(g,a)){c.push(g);break}g=g.parentNode;if(!g||!g.ownerDocument||g===b||g.nodeType===11)break}}c=c.length>1?f.unique(c):c;return this.pushStack(c,"closest",a)},index:function(a){if(!a||typeof a=="string")return f.inArray(this[0],a?f(a):this.parent().children());return f.inArray(a.jquery?a[0]:a,this)},add:function(a,b){var c=typeof a=="string"?f(a,b):f.makeArray(a&&a.nodeType?[a]:a),d=f.merge(this.get(),c);return this.pushStack(W(c[0])||W(d[0])?d:f.unique(d))},andSelf:function(){return this.add(this.prevObject)}}),f.each({parent:function(a){var b=a.parentNode;return b&&b.nodeType!==11?b:null},parents:function(a){return f.dir(a,"parentNode")},parentsUntil:function(a,b,c){return f.dir(a,"parentNode",c)},next:function(a){return f.nth(a,2,"nextSibling")},prev:function(a){return f.nth(a,2,"previousSibling")},nextAll:function(a){return f.dir(a,"nextSibling")},prevAll:function(a){return f.dir(a,"previousSibling")},nextUntil:function(a,b,c){return f.dir(a,"nextSibling",c)},prevUntil:function(a,b,c){return f.dir(a,"previousSibling",c)},siblings:function(a){return f.sibling(a.parentNode.firstChild,a)},children:function(a){return f.sibling(a.firstChild)},contents:function(a){return f.nodeName(a,"iframe")?a.contentDocument||a.contentWindow.document:f.makeArray(a.childNodes)}},function(a,b){f.fn[a]=function(c,d){var e=f.map(this,b,c),g=T.call(arguments);P.test(a)||(d=c),d&&typeof d=="string"&&(e=f.filter(d,e)),e=this.length>1&&!V[a]?f.unique(e):e,(this.length>1||R.test(d))&&Q.test(a)&&(e=e.reverse());return this.pushStack(e,a,g.join(","))}}),f.extend({filter:function(a,b,c){c&&(a=":not("+a+")");return b.length===1?f.find.matchesSelector(b[0],a)?[b[0]]:[]:f.find.matches(a,b)},dir:function(a,c,d){var e=[],g=a[c];while(g&&g.nodeType!==9&&(d===b||g.nodeType!==1||!f(g).is(d)))g.nodeType===1&&e.push(g),g=g[c];return e},nth:function(a,b,c,d){b=b||1;var e=0;for(;a;a=a[c])if(a.nodeType===1&&++e===b)break;return a},sibling:function(a,b){var c=[];for(;a;a=a.nextSibling)a.nodeType===1&&a!==b&&c.push(a);return c}});var Y=/ jQuery\d+="(?:\d+|null)"/g,Z=/^\s+/,$=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/ig,_=/<([\w:]+)/,ba=/<tbody/i,bb=/<|&#?\w+;/,bc=/<(?:script|object|embed|option|style)/i,bd=/checked\s*(?:[^=]|=\s*.checked.)/i,be=/\/(java|ecma)script/i,bf=/^\s*<!(?:\[CDATA\[|\-\-)/,bg={option:[1,"<select multiple='multiple'>","</select>"],legend:[1,"<fieldset>","</fieldset>"],thead:[1,"<table>","</table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],col:[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"],area:[1,"<map>","</map>"],_default:[0,"",""]};bg.optgroup=bg.option,bg.tbody=bg.tfoot=bg.colgroup=bg.caption=bg.thead,bg.th=bg.td,f.support.htmlSerialize||(bg._default=[1,"div<div>","</div>"]),f.fn.extend({text:function(a){if(f.isFunction(a))return this.each(function(b){var c=f(this);c.text(a.call(this,b,c.text()))});if(typeof a!="object"&&a!==b)return this.empty().append((this[0]&&this[0].ownerDocument||c).createTextNode(a));return f.text(this)},wrapAll:function(a){if(f.isFunction(a))return this.each(function(b){f(this).wrapAll(a.call(this,b))});if(this[0]){var b=f(a,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&b.insertBefore(this[0]),b.map(function(){var a=this;while(a.firstChild&&a.firstChild.nodeType===1)a=a.firstChild;return a}).append(this)}return this},wrapInner:function(a){if(f.isFunction(a))return this.each(function(b){f(this).wrapInner(a.call(this,b))});return this.each(function(){var b=f(this),c=b.contents();c.length?c.wrapAll(a):b.append(a)})},wrap:function(a){return this.each(function(){f(this).wrapAll(a)})},unwrap:function(){return this.parent().each(function(){f.nodeName(this,"body")||f(this).replaceWith(this.childNodes)}).end()},append:function(){return this.domManip(arguments,!0,function(a){this.nodeType===1&&this.appendChild(a)})},prepend:function(){return this.domManip(arguments,!0,function(a){this.nodeType===1&&this.insertBefore(a,this.firstChild)})},before:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,!1,function(a){this.parentNode.insertBefore(a,this)});if(arguments.length){var a=f(arguments[0]);a.push.apply(a,this.toArray());return this.pushStack(a,"before",arguments)}},after:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,!1,function(a){this.parentNode.insertBefore(a,this.nextSibling)});if(arguments.length){var a=this.pushStack(this,"after",arguments);a.push.apply(a,f(arguments[0]).toArray());return a}},remove:function(a,b){for(var c=0,d;(d=this[c])!=null;c++)if(!a||f.filter(a,[d]).length)!b&&d.nodeType===1&&(f.cleanData(d.getElementsByTagName("*")),f.cleanData([d])),d.parentNode&&d.parentNode.removeChild(d);return this},empty:function(){for(var a=0,b;(b=this[a])!=null;a++){b.nodeType===1&&f.cleanData(b.getElementsByTagName("*"));while(b.firstChild)b.removeChild(b.firstChild)}return this},clone:function(a,b){a=a==null?!1:a,b=b==null?a:b;return this.map(function(){return f.clone(this,a,b)})},html:function(a){if(a===b)return this[0]&&this[0].nodeType===1?this[0].innerHTML.replace(Y,""):null;if(typeof a=="string"&&!bc.test(a)&&(f.support.leadingWhitespace||!Z.test(a))&&!bg[(_.exec(a)||["",""])[1].toLowerCase()]){a=a.replace($,"<$1></$2>");try{for(var c=0,d=this.length;c<d;c++)this[c].nodeType===1&&(f.cleanData(this[c].getElementsByTagName("*")),this[c].innerHTML=a)}catch(e){this.empty().append(a)}}else f.isFunction(a)?this.each(function(b){var c=f(this);c.html(a.call(this,b,c.html()))}):this.empty().append(a);return this},replaceWith:function(a){if(this[0]&&this[0].parentNode){if(f.isFunction(a))return this.each(function(b){var c=f(this),d=c.html();c.replaceWith(a.call(this,b,d))});typeof a!="string"&&(a=f(a).detach());return this.each(function(){var b=this.nextSibling,c=this.parentNode;f(this).remove(),b?f(b).before(a):f(c).append(a)})}return this.length?this.pushStack(f(f.isFunction(a)?a():a),"replaceWith",a):this},detach:function(a){return this.remove(a,!0)},domManip:function(a,c,d){var e,g,h,i,j=a[0],k=[];if(!f.support.checkClone&&arguments.length===3&&typeof j=="string"&&bd.test(j))return this.each(function(){f(this).domManip(a,c,d,!0)});if(f.isFunction(j))return this.each(function(e){var g=f(this);a[0]=j.call(this,e,c?g.html():b),g.domManip(a,c,d)});if(this[0]){i=j&&j.parentNode,f.support.parentNode&&i&&i.nodeType===11&&i.childNodes.length===this.length?e={fragment:i}:e=f.buildFragment(a,this,k),h=e.fragment,h.childNodes.length===1?g=h=h.firstChild:g=h.firstChild;if(g){c=c&&f.nodeName(g,"tr");for(var l=0,m=this.length,n=m-1;l<m;l++)d.call(c?bh(this[l],g):this[l],e.cacheable||m>1&&l<n?f.clone(h,!0,!0):h)}k.length&&f.each(k,bn)}return this}}),f.buildFragment=function(a,b,d){var e,g,h,i=b&&b[0]?b[0].ownerDocument||b[0]:c;a.length===1&&typeof a[0]=="string"&&a[0].length<512&&i===c&&a[0].charAt(0)==="<"&&!bc.test(a[0])&&(f.support.checkClone||!bd.test(a[0]))&&(g=!0,h=f.fragments[a[0]],h&&h!==1&&(e=h)),e||(e=i.createDocumentFragment(),f.clean(a,i,e,d)),g&&(f.fragments[a[0]]=h?e:1);return{fragment:e,cacheable:g}},f.fragments={},f.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){f.fn[a]=function(c){var d=[],e=f(c),g=this.length===1&&this[0].parentNode;if(g&&g.nodeType===11&&g.childNodes.length===1&&e.length===1){e[b](this[0]);return this}for(var h=0,i=e.length;h<i;h++){var j=(h>0?this.clone(!0):this).get();f(e[h])[b](j),d=d.concat(j)}return this.pushStack(d,a,e.selector)}}),f.extend({clone:function(a,b,c){var d=a.cloneNode(!0),e,g,h;if((!f.support.noCloneEvent||!f.support.noCloneChecked)&&(a.nodeType===1||a.nodeType===11)&&!f.isXMLDoc(a)){bj(a,d),e=bk(a),g=bk(d);for(h=0;e[h];++h)bj(e[h],g[h])}if(b){bi(a,d);if(c){e=bk(a),g=bk(d);for(h=0;e[h];++h)bi(e[h],g[h])}}return d},clean:function(a,b,d,e){var g;b=b||c,typeof b.createElement=="undefined"&&(b=b.ownerDocument|| +b[0]&&b[0].ownerDocument||c);var h=[],i;for(var j=0,k;(k=a[j])!=null;j++){typeof k=="number"&&(k+="");if(!k)continue;if(typeof k=="string")if(!bb.test(k))k=b.createTextNode(k);else{k=k.replace($,"<$1></$2>");var l=(_.exec(k)||["",""])[1].toLowerCase(),m=bg[l]||bg._default,n=m[0],o=b.createElement("div");o.innerHTML=m[1]+k+m[2];while(n--)o=o.lastChild;if(!f.support.tbody){var p=ba.test(k),q=l==="table"&&!p?o.firstChild&&o.firstChild.childNodes:m[1]==="<table>"&&!p?o.childNodes:[];for(i=q.length-1;i>=0;--i)f.nodeName(q[i],"tbody")&&!q[i].childNodes.length&&q[i].parentNode.removeChild(q[i])}!f.support.leadingWhitespace&&Z.test(k)&&o.insertBefore(b.createTextNode(Z.exec(k)[0]),o.firstChild),k=o.childNodes}var r;if(!f.support.appendChecked)if(k[0]&&typeof (r=k.length)=="number")for(i=0;i<r;i++)bm(k[i]);else bm(k);k.nodeType?h.push(k):h=f.merge(h,k)}if(d){g=function(a){return!a.type||be.test(a.type)};for(j=0;h[j];j++)if(e&&f.nodeName(h[j],"script")&&(!h[j].type||h[j].type.toLowerCase()==="text/javascript"))e.push(h[j].parentNode?h[j].parentNode.removeChild(h[j]):h[j]);else{if(h[j].nodeType===1){var s=f.grep(h[j].getElementsByTagName("script"),g);h.splice.apply(h,[j+1,0].concat(s))}d.appendChild(h[j])}}return h},cleanData:function(a){var b,c,d=f.cache,e=f.expando,g=f.event.special,h=f.support.deleteExpando;for(var i=0,j;(j=a[i])!=null;i++){if(j.nodeName&&f.noData[j.nodeName.toLowerCase()])continue;c=j[f.expando];if(c){b=d[c]&&d[c][e];if(b&&b.events){for(var k in b.events)g[k]?f.event.remove(j,k):f.removeEvent(j,k,b.handle);b.handle&&(b.handle.elem=null)}h?delete j[f.expando]:j.removeAttribute&&j.removeAttribute(f.expando),delete d[c]}}}});var bo=/alpha\([^)]*\)/i,bp=/opacity=([^)]*)/,bq=/-([a-z])/ig,br=/([A-Z]|^ms)/g,bs=/^-?\d+(?:px)?$/i,bt=/^-?\d/,bu=/^[+\-]=/,bv=/[^+\-\.\de]+/g,bw={position:"absolute",visibility:"hidden",display:"block"},bx=["Left","Right"],by=["Top","Bottom"],bz,bA,bB,bC=function(a,b){return b.toUpperCase()};f.fn.css=function(a,c){if(arguments.length===2&&c===b)return this;return f.access(this,a,c,!0,function(a,c,d){return d!==b?f.style(a,c,d):f.css(a,c)})},f.extend({cssHooks:{opacity:{get:function(a,b){if(b){var c=bz(a,"opacity","opacity");return c===""?"1":c}return a.style.opacity}}},cssNumber:{zIndex:!0,fontWeight:!0,opacity:!0,zoom:!0,lineHeight:!0,widows:!0,orphans:!0},cssProps:{"float":f.support.cssFloat?"cssFloat":"styleFloat"},style:function(a,c,d,e){if(!!a&&a.nodeType!==3&&a.nodeType!==8&&!!a.style){var g,h,i=f.camelCase(c),j=a.style,k=f.cssHooks[i];c=f.cssProps[i]||i;if(d===b){if(k&&"get"in k&&(g=k.get(a,!1,e))!==b)return g;return j[c]}h=typeof d;if(h==="number"&&isNaN(d)||d==null)return;h==="string"&&bu.test(d)&&(d=+d.replace(bv,"")+parseFloat(f.css(a,c))),h==="number"&&!f.cssNumber[i]&&(d+="px");if(!k||!("set"in k)||(d=k.set(a,d))!==b)try{j[c]=d}catch(l){}}},css:function(a,c,d){var e,g;c=f.camelCase(c),g=f.cssHooks[c],c=f.cssProps[c]||c,c==="cssFloat"&&(c="float");if(g&&"get"in g&&(e=g.get(a,!0,d))!==b)return e;if(bz)return bz(a,c)},swap:function(a,b,c){var d={};for(var e in b)d[e]=a.style[e],a.style[e]=b[e];c.call(a);for(e in b)a.style[e]=d[e]},camelCase:function(a){return a.replace(bq,bC)}}),f.curCSS=f.css,f.each(["height","width"],function(a,b){f.cssHooks[b]={get:function(a,c,d){var e;if(c){a.offsetWidth!==0?e=bD(a,b,d):f.swap(a,bw,function(){e=bD(a,b,d)});if(e<=0){e=bz(a,b,b),e==="0px"&&bB&&(e=bB(a,b,b));if(e!=null)return e===""||e==="auto"?"0px":e}if(e<0||e==null){e=a.style[b];return e===""||e==="auto"?"0px":e}return typeof e=="string"?e:e+"px"}},set:function(a,b){if(!bs.test(b))return b;b=parseFloat(b);if(b>=0)return b+"px"}}}),f.support.opacity||(f.cssHooks.opacity={get:function(a,b){return bp.test((b&&a.currentStyle?a.currentStyle.filter:a.style.filter)||"")?parseFloat(RegExp.$1)/100+"":b?"1":""},set:function(a,b){var c=a.style,d=a.currentStyle;c.zoom=1;var e=f.isNaN(b)?"":"alpha(opacity="+b*100+")",g=d&&d.filter||c.filter||"";c.filter=bo.test(g)?g.replace(bo,e):g+" "+e}}),f(function(){f.support.reliableMarginRight||(f.cssHooks.marginRight={get:function(a,b){var c;f.swap(a,{display:"inline-block"},function(){b?c=bz(a,"margin-right","marginRight"):c=a.style.marginRight});return c}})}),c.defaultView&&c.defaultView.getComputedStyle&&(bA=function(a,c){var d,e,g;c=c.replace(br,"-$1").toLowerCase();if(!(e=a.ownerDocument.defaultView))return b;if(g=e.getComputedStyle(a,null))d=g.getPropertyValue(c),d===""&&!f.contains(a.ownerDocument.documentElement,a)&&(d=f.style(a,c));return d}),c.documentElement.currentStyle&&(bB=function(a,b){var c,d=a.currentStyle&&a.currentStyle[b],e=a.runtimeStyle&&a.runtimeStyle[b],f=a.style;!bs.test(d)&&bt.test(d)&&(c=f.left,e&&(a.runtimeStyle.left=a.currentStyle.left),f.left=b==="fontSize"?"1em":d||0,d=f.pixelLeft+"px",f.left=c,e&&(a.runtimeStyle.left=e));return d===""?"auto":d}),bz=bA||bB,f.expr&&f.expr.filters&&(f.expr.filters.hidden=function(a){var b=a.offsetWidth,c=a.offsetHeight;return b===0&&c===0||!f.support.reliableHiddenOffsets&&(a.style.display||f.css(a,"display"))==="none"},f.expr.filters.visible=function(a){return!f.expr.filters.hidden(a)});var bE=/%20/g,bF=/\[\]$/,bG=/\r?\n/g,bH=/#.*$/,bI=/^(.*?):[ \t]*([^\r\n]*)\r?$/mg,bJ=/^(?:color|date|datetime|email|hidden|month|number|password|range|search|tel|text|time|url|week)$/i,bK=/^(?:about|app|app\-storage|.+\-extension|file|widget):$/,bL=/^(?:GET|HEAD)$/,bM=/^\/\//,bN=/\?/,bO=/<script\b[^<]*(?:(?!<\/script>)<[^<]*)*<\/script>/gi,bP=/^(?:select|textarea)/i,bQ=/\s+/,bR=/([?&])_=[^&]*/,bS=/^([\w\+\.\-]+:)(?:\/\/([^\/?#:]*)(?::(\d+))?)?/,bT=f.fn.load,bU={},bV={},bW,bX;try{bW=e.href}catch(bY){bW=c.createElement("a"),bW.href="",bW=bW.href}bX=bS.exec(bW.toLowerCase())||[],f.fn.extend({load:function(a,c,d){if(typeof a!="string"&&bT)return bT.apply(this,arguments);if(!this.length)return this;var e=a.indexOf(" ");if(e>=0){var g=a.slice(e,a.length);a=a.slice(0,e)}var h="GET";c&&(f.isFunction(c)?(d=c,c=b):typeof c=="object"&&(c=f.param(c,f.ajaxSettings.traditional),h="POST"));var i=this;f.ajax({url:a,type:h,dataType:"html",data:c,complete:function(a,b,c){c=a.responseText,a.isResolved()&&(a.done(function(a){c=a}),i.html(g?f("<div>").append(c.replace(bO,"")).find(g):c)),d&&i.each(d,[c,b,a])}});return this},serialize:function(){return f.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?f.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||bP.test(this.nodeName)||bJ.test(this.type))}).map(function(a,b){var c=f(this).val();return c==null?null:f.isArray(c)?f.map(c,function(a,c){return{name:b.name,value:a.replace(bG,"\r\n")}}):{name:b.name,value:c.replace(bG,"\r\n")}}).get()}}),f.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "),function(a,b){f.fn[b]=function(a){return this.bind(b,a)}}),f.each(["get","post"],function(a,c){f[c]=function(a,d,e,g){f.isFunction(d)&&(g=g||e,e=d,d=b);return f.ajax({type:c,url:a,data:d,success:e,dataType:g})}}),f.extend({getScript:function(a,c){return f.get(a,b,c,"script")},getJSON:function(a,b,c){return f.get(a,b,c,"json")},ajaxSetup:function(a,b){b?f.extend(!0,a,f.ajaxSettings,b):(b=a,a=f.extend(!0,f.ajaxSettings,b));for(var c in{context:1,url:1})c in b?a[c]=b[c]:c in f.ajaxSettings&&(a[c]=f.ajaxSettings[c]);return a},ajaxSettings:{url:bW,isLocal:bK.test(bX[1]),global:!0,type:"GET",contentType:"application/x-www-form-urlencoded",processData:!0,async:!0,accepts:{xml:"application/xml, text/xml",html:"text/html",text:"text/plain",json:"application/json, text/javascript","*":"*/*"},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText"},converters:{"* text":a.String,"text html":!0,"text json":f.parseJSON,"text xml":f.parseXML}},ajaxPrefilter:bZ(bU),ajaxTransport:bZ(bV),ajax:function(a,c){function w(a,c,l,m){if(s!==2){s=2,q&&clearTimeout(q),p=b,n=m||"",v.readyState=a?4:0;var o,r,u,w=l?ca(d,v,l):b,x,y;if(a>=200&&a<300||a===304){if(d.ifModified){if(x=v.getResponseHeader("Last-Modified"))f.lastModified[k]=x;if(y=v.getResponseHeader("Etag"))f.etag[k]=y}if(a===304)c="notmodified",o=!0;else try{r=cb(d,w),c="success",o=!0}catch(z){c="parsererror",u=z}}else{u=c;if(!c||a)c="error",a<0&&(a=0)}v.status=a,v.statusText=c,o?h.resolveWith(e,[r,c,v]):h.rejectWith(e,[v,c,u]),v.statusCode(j),j=b,t&&g.trigger("ajax"+(o?"Success":"Error"),[v,d,o?r:u]),i.resolveWith(e,[v,c]),t&&(g.trigger("ajaxComplete",[v,d]),--f.active||f.event.trigger("ajaxStop"))}}typeof a=="object"&&(c=a,a=b),c=c||{};var d=f.ajaxSetup({},c),e=d.context||d,g=e!==d&&(e.nodeType||e instanceof f)?f(e):f.event,h=f.Deferred(),i=f._Deferred(),j=d.statusCode||{},k,l={},m={},n,o,p,q,r,s=0,t,u,v={readyState:0,setRequestHeader:function(a,b){if(!s){var c=a.toLowerCase();a=m[c]=m[c]||a,l[a]=b}return this},getAllResponseHeaders:function(){return s===2?n:null},getResponseHeader:function(a){var c;if(s===2){if(!o){o={};while(c=bI.exec(n))o[c[1].toLowerCase()]=c[2]}c=o[a.toLowerCase()]}return c===b?null:c},overrideMimeType:function(a){s||(d.mimeType=a);return this},abort:function(a){a=a||"abort",p&&p.abort(a),w(0,a);return this}};h.promise(v),v.success=v.done,v.error=v.fail,v.complete=i.done,v.statusCode=function(a){if(a){var b;if(s<2)for(b in a)j[b]=[j[b],a[b]];else b=a[v.status],v.then(b,b)}return this},d.url=((a||d.url)+"").replace(bH,"").replace(bM,bX[1]+"//"),d.dataTypes=f.trim(d.dataType||"*").toLowerCase().split(bQ),d.crossDomain==null&&(r=bS.exec(d.url.toLowerCase()),d.crossDomain=!(!r||r[1]==bX[1]&&r[2]==bX[2]&&(r[3]||(r[1]==="http:"?80:443))==(bX[3]||(bX[1]==="http:"?80:443)))),d.data&&d.processData&&typeof d.data!="string"&&(d.data=f.param(d.data,d.traditional)),b$(bU,d,c,v);if(s===2)return!1;t=d.global,d.type=d.type.toUpperCase(),d.hasContent=!bL.test(d.type),t&&f.active++===0&&f.event.trigger("ajaxStart");if(!d.hasContent){d.data&&(d.url+=(bN.test(d.url)?"&":"?")+d.data),k=d.url;if(d.cache===!1){var x=f.now(),y=d.url.replace(bR,"$1_="+x);d.url=y+(y===d.url?(bN.test(d.url)?"&":"?")+"_="+x:"")}}(d.data&&d.hasContent&&d.contentType!==!1||c.contentType)&&v.setRequestHeader("Content-Type",d.contentType),d.ifModified&&(k=k||d.url,f.lastModified[k]&&v.setRequestHeader("If-Modified-Since",f.lastModified[k]),f.etag[k]&&v.setRequestHeader("If-None-Match",f.etag[k])),v.setRequestHeader("Accept",d.dataTypes[0]&&d.accepts[d.dataTypes[0]]?d.accepts[d.dataTypes[0]]+(d.dataTypes[0]!=="*"?", */*; q=0.01":""):d.accepts["*"]);for(u in d.headers)v.setRequestHeader(u,d.headers[u]);if(d.beforeSend&&(d.beforeSend.call(e,v,d)===!1||s===2)){v.abort();return!1}for(u in{success:1,error:1,complete:1})v[u](d[u]);p=b$(bV,d,c,v);if(!p)w(-1,"No Transport");else{v.readyState=1,t&&g.trigger("ajaxSend",[v,d]),d.async&&d.timeout>0&&(q=setTimeout(function(){v.abort("timeout")},d.timeout));try{s=1,p.send(l,w)}catch(z){status<2?w(-1,z):f.error(z)}}return v},param:function(a,c){var d=[],e=function(a,b){b=f.isFunction(b)?b():b,d[d.length]=encodeURIComponent(a)+"="+encodeURIComponent(b)};c===b&&(c=f.ajaxSettings.traditional);if(f.isArray(a)||a.jquery&&!f.isPlainObject(a))f.each(a,function(){e(this.name,this.value)});else for(var g in a)b_(g,a[g],c,e);return d.join("&").replace(bE,"+")}}),f.extend({active:0,lastModified:{},etag:{}});var cc=f.now(),cd=/(\=)\?(&|$)|\?\?/i;f.ajaxSetup({jsonp:"callback",jsonpCallback:function(){return f.expando+"_"+cc++}}),f.ajaxPrefilter("json jsonp",function(b,c,d){var e=b.contentType==="application/x-www-form-urlencoded"&&typeof b.data=="string";if(b.dataTypes[0]==="jsonp"||b.jsonp!==!1&&(cd.test(b.url)||e&&cd.test(b.data))){var g,h=b.jsonpCallback=f.isFunction(b.jsonpCallback)?b.jsonpCallback():b.jsonpCallback,i=a[h],j=b.url,k=b.data,l="$1"+h+"$2";b.jsonp!==!1&&(j=j.replace(cd,l),b.url===j&&(e&&(k=k.replace(cd,l)),b.data===k&&(j+=(/\?/.test(j)?"&":"?")+b.jsonp+"="+h))),b.url=j,b.data=k,a[h]=function(a){g=[a]},d.always(function(){a[h]=i,g&&f.isFunction(i)&&a[h](g[0])}),b.converters["script json"]=function(){g||f.error(h+" was not called");return g[0]},b.dataTypes[0]="json";return"script"}}),f.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/javascript|ecmascript/},converters:{"text script":function(a){f.globalEval(a);return a}}}),f.ajaxPrefilter("script",function(a){a.cache===b&&(a.cache=!1),a.crossDomain&&(a.type="GET",a.global=!1)}),f.ajaxTransport("script",function(a){if(a.crossDomain){var d,e=c.head||c.getElementsByTagName("head")[0]||c.documentElement;return{send:function(f,g){d=c.createElement("script"),d.async="async",a.scriptCharset&&(d.charset=a.scriptCharset),d.src=a.url,d.onload=d.onreadystatechange=function(a,c){if(c||!d.readyState||/loaded|complete/.test(d.readyState))d.onload=d.onreadystatechange=null,e&&d.parentNode&&e.removeChild(d),d=b,c||g(200,"success")},e.insertBefore(d,e.firstChild)},abort:function(){d&&d.onload(0,1)}}}});var ce=a.ActiveXObject?function(){for(var a in cg)cg[a](0,1)}:!1,cf=0,cg;f.ajaxSettings.xhr=a.ActiveXObject?function(){return!this.isLocal&&ch()||ci()}:ch,function(a){f.extend(f.support,{ajax:!!a,cors:!!a&&"withCredentials"in a})}(f.ajaxSettings.xhr()),f.support.ajax&&f.ajaxTransport(function(c){if(!c.crossDomain||f.support.cors){var d;return{send:function(e,g){var h=c.xhr(),i,j;c.username?h.open(c.type,c.url,c.async,c.username,c.password):h.open(c.type,c.url,c.async);if(c.xhrFields)for(j in c.xhrFields)h[j]=c.xhrFields[j];c.mimeType&&h.overrideMimeType&&h.overrideMimeType(c.mimeType),!c.crossDomain&&!e["X-Requested-With"]&&(e["X-Requested-With"]="XMLHttpRequest");try{for(j in e)h.setRequestHeader(j,e[j])}catch(k){}h.send(c.hasContent&&c.data||null),d=function(a,e){var j,k,l,m,n;try{if(d&&(e||h.readyState===4)){d=b,i&&(h.onreadystatechange=f.noop,ce&&delete cg[i]);if(e)h.readyState!==4&&h.abort();else{j=h.status,l=h.getAllResponseHeaders(),m={},n=h.responseXML,n&&n.documentElement&&(m.xml=n),m.text=h.responseText;try{k=h.statusText}catch(o){k=""}!j&&c.isLocal&&!c.crossDomain?j=m.text?200:404:j===1223&&(j=204)}}}catch(p){e||g(-1,p)}m&&g(j,k,m,l)},!c.async||h.readyState===4?d():(i=++cf,ce&&(cg||(cg={},f(a).unload(ce)),cg[i]=d),h.onreadystatechange=d)},abort:function(){d&&d(0,1)}}}});var cj={},ck,cl,cm=/^(?:toggle|show|hide)$/,cn=/^([+\-]=)?([\d+.\-]+)([a-z%]*)$/i,co,cp=[["height","marginTop","marginBottom","paddingTop","paddingBottom"],["width","marginLeft","marginRight","paddingLeft","paddingRight"],["opacity"]],cq,cr=a.webkitRequestAnimationFrame||a.mozRequestAnimationFrame||a.oRequestAnimationFrame;f.fn.extend({show:function(a,b,c){var d,e;if(a||a===0)return this.animate(cu("show",3),a,b,c);for(var g=0,h=this.length;g<h;g++)d=this[g],d.style&&(e=d.style.display,!f._data(d,"olddisplay")&&e==="none"&&(e=d.style.display=""),e===""&&f.css(d,"display")==="none"&&f._data(d,"olddisplay",cv(d.nodeName)));for(g=0;g<h;g++){d=this[g];if(d.style){e=d.style.display;if(e===""||e==="none")d.style.display=f._data(d,"olddisplay")||""}}return this},hide:function(a,b,c){if(a||a===0)return this.animate(cu("hide",3),a,b,c);for(var d=0,e=this.length;d<e;d++)if(this[d].style){var g=f.css(this[d],"display");g!=="none"&&!f._data(this[d],"olddisplay")&&f._data(this[d],"olddisplay",g)}for(d=0;d<e;d++)this[d].style&&(this[d].style.display="none");return this},_toggle:f.fn.toggle,toggle:function(a,b,c){var d=typeof a=="boolean";f.isFunction(a)&&f.isFunction(b)?this._toggle.apply(this,arguments):a==null||d?this.each(function(){var b=d?a:f(this).is(":hidden");f(this)[b?"show":"hide"]()}):this.animate(cu("toggle",3),a,b,c);return this},fadeTo:function(a,b,c,d){return this.filter(":hidden").css("opacity",0).show().end().animate({opacity:b},a,c,d)},animate:function(a,b,c,d){var e=f.speed(b,c,d);if(f.isEmptyObject(a))return this.each(e.complete,[!1]);a=f.extend({},a);return this[e.queue===!1?"each":"queue"](function(){e.queue===!1&&f._mark(this);var b=f.extend({},e),c=this.nodeType===1,d=c&&f(this).is(":hidden"),g,h,i,j,k,l,m,n,o;b.animatedProperties={};for(i in a){g=f.camelCase(i),i!==g&&(a[g]=a[i],delete a[i]),h=a[g],f.isArray(h)?(b.animatedProperties[g]=h[1],h=a[g]=h[0]):b.animatedProperties[g]=b.specialEasing&&b.specialEasing[g]||b.easing||"swing";if(h==="hide"&&d||h==="show"&&!d)return b.complete.call(this);c&&(g==="height"||g==="width")&&(b.overflow=[this.style.overflow,this.style.overflowX,this.style.overflowY],f.css(this,"display")==="inline"&&f.css(this,"float")==="none"&&(f.support.inlineBlockNeedsLayout?(j=cv(this.nodeName),j==="inline"?this.style.display="inline-block":(this.style.display="inline",this.style.zoom=1)):this.style.display="inline-block"))}b.overflow!=null&&(this.style.overflow="hidden");for(i in a)k=new f.fx(this,b,i),h=a[i],cm.test(h)?k[h==="toggle"?d?"show":"hide":h]():(l=cn.exec(h),m=k.cur(),l?(n=parseFloat(l[2]),o=l[3]||(f.cssNumber[i]?"":"px"),o!=="px"&&(f.style(this,i,(n||1)+o),m=(n||1)/k.cur()*m,f.style(this,i,m+o)),l[1]&&(n=(l[1]==="-="?-1:1)*n+m),k.custom(m,n,o)):k.custom(m,h,""));return!0})},stop:function(a,b){a&&this.queue([]),this.each(function(){var a=f.timers,c=a.length;b||f._unmark(!0,this);while(c--)a[c].elem===this&&(b&&a[c](!0),a.splice(c,1))}),b||this.dequeue();return this}}),f.each({slideDown:cu("show",1),slideUp:cu("hide",1),slideToggle:cu("toggle",1),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(a,b){f.fn[a]=function(a,c,d){return this.animate(b,a,c,d)}}),f.extend({speed:function(a,b,c){var d=a&&typeof a=="object"?f.extend({},a):{complete:c||!c&&b||f.isFunction(a)&&a,duration:a,easing:c&&b||b&&!f.isFunction(b)&&b};d.duration=f.fx.off?0:typeof d.duration=="number"?d.duration:d.duration in f.fx.speeds?f.fx.speeds[d.duration]:f.fx.speeds._default,d.old=d.complete,d.complete=function(a){d.queue!==!1?f.dequeue(this):a!==!1&&f._unmark(this),f.isFunction(d.old)&&d.old.call(this)};return d},easing:{linear:function(a,b,c,d){return c+d*a},swing:function(a,b,c,d){return(-Math.cos(a*Math.PI)/2+.5)*d+c}},timers:[],fx:function(a,b,c){this.options=b,this.elem=a,this.prop=c,b.orig=b.orig||{}}}),f.fx.prototype={update:function(){this.options.step&&this.options.step.call(this.elem,this.now,this),(f.fx.step[this.prop]||f.fx.step._default)(this)},cur:function(){if(this.elem[this.prop]!=null&&(!this.elem.style||this.elem.style[this.prop]==null))return this.elem[this.prop];var a,b=f.css(this.elem,this.prop);return isNaN(a=parseFloat(b))?!b||b==="auto"?0:b:a},custom:function(a,b,c){function h(a){return d.step(a)}var d=this,e=f.fx,g;this.startTime=cq||cs(),this.start=a,this.end=b,this.unit=c||this.unit||(f.cssNumber[this.prop]?"":"px"),this.now=this.start,this.pos=this.state=0,h.elem=this.elem,h()&&f.timers.push(h)&&!co&&(cr?(co=1,g=function(){co&&(cr(g),e.tick())},cr(g)):co=setInterval(e.tick,e.interval))},show:function(){this.options.orig[this.prop]=f.style(this.elem,this.prop),this.options.show=!0,this.custom(this.prop==="width"||this.prop==="height"?1:0,this.cur()),f(this.elem).show()},hide:function(){this.options.orig[this.prop]=f.style(this.elem,this.prop),this.options.hide=!0,this.custom(this.cur(),0)},step:function(a){var b=cq||cs(),c=!0,d=this.elem,e=this.options,g,h;if(a||b>=e.duration+this.startTime){this.now=this.end,this.pos=this.state=1,this.update(),e.animatedProperties[this.prop]=!0;for(g in e.animatedProperties)e.animatedProperties[g]!==!0&&(c=!1);if(c){e.overflow!=null&&!f.support.shrinkWrapBlocks&&f.each(["","X","Y"],function(a,b){d.style["overflow"+b]=e.overflow[a]}),e.hide&&f(d).hide();if(e.hide||e.show)for(var i in e.animatedProperties)f.style(d,i,e.orig[i]);e.complete.call(d)}return!1}e.duration==Infinity?this.now=b:(h=b-this.startTime,this.state=h/e.duration,this.pos=f.easing[e.animatedProperties[this.prop]](this.state,h,0,1,e.duration),this.now=this.start+(this.end-this.start)*this.pos),this.update();return!0}},f.extend(f.fx,{tick:function(){for(var a=f.timers,b=0;b<a.length;++b)a[b]()||a.splice(b--,1);a.length||f.fx.stop()},interval:13,stop:function(){clearInterval(co),co=null},speeds:{slow:600,fast:200,_default:400},step:{opacity:function(a){f.style(a.elem,"opacity",a.now)},_default:function(a){a.elem.style&&a.elem.style[a.prop]!=null?a.elem.style[a.prop]=(a.prop==="width"||a.prop==="height"?Math.max(0,a.now):a.now)+a.unit:a.elem[a.prop]=a.now}}}),f.expr&&f.expr.filters&&(f.expr.filters.animated=function(a){return f.grep(f.timers,function(b){return a===b.elem}).length});var cw=/^t(?:able|d|h)$/i,cx=/^(?:body|html)$/i;"getBoundingClientRect"in c.documentElement?f.fn.offset=function(a){var b=this[0],c;if(a)return this.each(function(b){f.offset.setOffset(this,a,b)});if(!b||!b.ownerDocument)return null;if(b===b.ownerDocument.body)return f.offset.bodyOffset(b);try{c=b.getBoundingClientRect()}catch(d){}var e=b.ownerDocument,g=e.documentElement;if(!c||!f.contains(g,b))return c?{top:c.top,left:c.left}:{top:0,left:0};var h=e.body,i=cy(e),j=g.clientTop||h.clientTop||0,k=g.clientLeft||h.clientLeft||0,l=i.pageYOffset||f.support.boxModel&&g.scrollTop||h.scrollTop,m=i.pageXOffset||f.support.boxModel&&g.scrollLeft||h.scrollLeft,n=c.top+l-j,o=c.left+m-k;return{top:n,left:o}}:f.fn.offset=function(a){var b=this[0];if(a)return this.each(function(b){f.offset.setOffset(this,a,b)});if(!b||!b.ownerDocument)return null;if(b===b.ownerDocument.body)return f.offset.bodyOffset(b);f.offset.initialize();var c,d=b.offsetParent,e=b,g=b.ownerDocument,h=g.documentElement,i=g.body,j=g.defaultView,k=j?j.getComputedStyle(b,null):b.currentStyle,l=b.offsetTop,m=b.offsetLeft;while((b=b.parentNode)&&b!==i&&b!==h){if(f.offset.supportsFixedPosition&&k.position==="fixed")break;c=j?j.getComputedStyle(b,null):b.currentStyle,l-=b.scrollTop,m-=b.scrollLeft,b===d&&(l+=b.offsetTop,m+=b.offsetLeft,f.offset.doesNotAddBorder&&(!f.offset.doesAddBorderForTableAndCells||!cw.test(b.nodeName))&&(l+=parseFloat(c.borderTopWidth)||0,m+=parseFloat(c.borderLeftWidth)||0),e=d,d=b.offsetParent),f.offset.subtractsBorderForOverflowNotVisible&&c.overflow!=="visible"&&(l+=parseFloat(c.borderTopWidth)||0,m+=parseFloat(c.borderLeftWidth)||0),k=c}if(k.position==="relative"||k.position==="static")l+=i.offsetTop,m+=i.offsetLeft;f.offset.supportsFixedPosition&&k.position==="fixed"&&(l+=Math.max(h.scrollTop,i.scrollTop),m+=Math.max(h.scrollLeft,i.scrollLeft));return{top:l,left:m}},f.offset={initialize:function(){var a=c.body,b=c.createElement("div"),d,e,g,h,i=parseFloat(f.css(a,"marginTop"))||0,j="<div style='position:absolute;top:0;left:0;margin:0;border:5px solid #000;padding:0;width:1px;height:1px;'><div></div></div><table style='position:absolute;top:0;left:0;margin:0;border:5px solid #000;padding:0;width:1px;height:1px;' cellpadding='0' cellspacing='0'><tr><td></td></tr></table>";f.extend(b.style,{position:"absolute",top:0,left:0,margin:0,border:0,width:"1px",height:"1px",visibility:"hidden"}),b.innerHTML=j,a.insertBefore(b,a.firstChild),d=b.firstChild,e=d.firstChild,h=d.nextSibling.firstChild.firstChild,this.doesNotAddBorder=e.offsetTop!==5,this.doesAddBorderForTableAndCells=h.offsetTop===5,e.style.position="fixed",e.style.top="20px",this.supportsFixedPosition=e.offsetTop===20||e.offsetTop===15,e.style.position=e.style.top="",d.style.overflow="hidden",d.style.position="relative",this.subtractsBorderForOverflowNotVisible=e.offsetTop===-5,this.doesNotIncludeMarginInBodyOffset=a.offsetTop!==i,a.removeChild(b),f.offset.initialize=f.noop},bodyOffset:function(a){var b=a.offsetTop,c=a.offsetLeft;f.offset.initialize(),f.offset.doesNotIncludeMarginInBodyOffset&&(b+=parseFloat(f.css(a,"marginTop"))||0,c+=parseFloat(f.css(a,"marginLeft"))||0);return{top:b,left:c}},setOffset:function(a,b,c){var d=f.css(a,"position");d==="static"&&(a.style.position="relative");var e=f(a),g=e.offset(),h=f.css(a,"top"),i=f.css(a,"left"),j=(d==="absolute"||d==="fixed")&&f.inArray("auto",[h,i])>-1,k={},l={},m,n;j?(l=e.position(),m=l.top,n=l.left):(m=parseFloat(h)||0,n=parseFloat(i)||0),f.isFunction(b)&&(b=b.call(a,c,g)),b.top!=null&&(k.top=b.top-g.top+m),b.left!=null&&(k.left=b.left-g.left+n),"using"in b?b.using.call(a,k):e.css(k)}},f.fn.extend({position:function(){if(!this[0])return null;var a=this[0],b=this.offsetParent(),c=this.offset(),d=cx.test(b[0].nodeName)?{top:0,left:0}:b.offset();c.top-=parseFloat(f.css(a,"marginTop"))||0,c.left-=parseFloat(f.css(a,"marginLeft"))||0,d.top+=parseFloat(f.css(b[0],"borderTopWidth"))||0,d.left+=parseFloat(f.css(b[0],"borderLeftWidth"))||0;return{top:c.top-d.top,left:c.left-d.left}},offsetParent:function(){return this.map(function(){var a=this.offsetParent||c.body;while(a&&!cx.test(a.nodeName)&&f.css(a,"position")==="static")a=a.offsetParent;return a})}}),f.each(["Left","Top"],function(a,c){var d="scroll"+c;f.fn[d]=function(c){var e,g;if(c===b){e=this[0];if(!e)return null;g=cy(e);return g?"pageXOffset"in g?g[a?"pageYOffset":"pageXOffset"]:f.support.boxModel&&g.document.documentElement[d]||g.document.body[d]:e[d]}return this.each(function(){g=cy(this),g?g.scrollTo(a?f(g).scrollLeft():c,a?c:f(g).scrollTop()):this[d]=c})}}),f.each(["Height","Width"],function(a,c){var d=c.toLowerCase();f.fn["inner"+c]=function(){return this[0]?parseFloat(f.css(this[0],d,"padding")):null},f.fn["outer"+c]=function(a){return this[0]?parseFloat(f.css(this[0],d,a?"margin":"border")):null},f.fn[d]=function(a){var e=this[0];if(!e)return a==null?null:this;if(f.isFunction(a))return this.each(function(b){var c=f(this);c[d](a.call(this,b,c[d]()))});if(f.isWindow(e)){var g=e.document.documentElement["client"+c];return e.document.compatMode==="CSS1Compat"&&g||e.document.body["client"+c]||g}if(e.nodeType===9)return Math.max(e.documentElement["client"+c],e.body["scroll"+c],e.documentElement["scroll"+c],e.body["offset"+c],e.documentElement["offset"+c]);if(a===b){var h=f.css(e,d),i=parseFloat(h);return f.isNaN(i)?h:i}return this.css(d,typeof a=="string"?a:a+"px")}}),a.jQuery=a.$=f})(window);jQuery.noConflict(); diff --git a/wp-includes/js/jquery/ui.button.js b/wp-includes/js/jquery/ui.button.js index c658c1160..62fc95ef7 100644 --- a/wp-includes/js/jquery/ui.button.js +++ b/wp-includes/js/jquery/ui.button.js @@ -1,5 +1,5 @@ /* - * jQuery UI Button 1.8.9 + * jQuery UI Button 1.8.12 * * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) * Dual licensed under the MIT or GPL Version 2 licenses. @@ -11,15 +11,15 @@ * jquery.ui.core.js * jquery.ui.widget.js */ -(function(a){var g,i=function(b){a(":ui-button",b.target.form).each(function(){var c=a(this).data("button");setTimeout(function(){c.refresh()},1)})},h=function(b){var c=b.name,d=b.form,e=a([]);if(c)e=d?a(d).find("[name='"+c+"']"):a("[name='"+c+"']",b.ownerDocument).filter(function(){return!this.form});return e};a.widget("ui.button",{options:{disabled:null,text:true,label:null,icons:{primary:null,secondary:null}},_create:function(){this.element.closest("form").unbind("reset.button").bind("reset.button", -i);if(typeof this.options.disabled!=="boolean")this.options.disabled=this.element.attr("disabled");this._determineButtonType();this.hasTitle=!!this.buttonElement.attr("title");var b=this,c=this.options,d=this.type==="checkbox"||this.type==="radio",e="ui-state-hover"+(!d?" ui-state-active":"");if(c.label===null)c.label=this.buttonElement.html();if(this.element.is(":disabled"))c.disabled=true;this.buttonElement.addClass("ui-button ui-widget ui-state-default ui-corner-all").attr("role","button").bind("mouseenter.button", -function(){if(!c.disabled){a(this).addClass("ui-state-hover");this===g&&a(this).addClass("ui-state-active")}}).bind("mouseleave.button",function(){c.disabled||a(this).removeClass(e)}).bind("focus.button",function(){a(this).addClass("ui-state-focus")}).bind("blur.button",function(){a(this).removeClass("ui-state-focus")});d&&this.element.bind("change.button",function(){b.refresh()});if(this.type==="checkbox")this.buttonElement.bind("click.button",function(){if(c.disabled)return false;a(this).toggleClass("ui-state-active"); -b.buttonElement.attr("aria-pressed",b.element[0].checked)});else if(this.type==="radio")this.buttonElement.bind("click.button",function(){if(c.disabled)return false;a(this).addClass("ui-state-active");b.buttonElement.attr("aria-pressed",true);var f=b.element[0];h(f).not(f).map(function(){return a(this).button("widget")[0]}).removeClass("ui-state-active").attr("aria-pressed",false)});else{this.buttonElement.bind("mousedown.button",function(){if(c.disabled)return false;a(this).addClass("ui-state-active"); -g=this;a(document).one("mouseup",function(){g=null})}).bind("mouseup.button",function(){if(c.disabled)return false;a(this).removeClass("ui-state-active")}).bind("keydown.button",function(f){if(c.disabled)return false;if(f.keyCode==a.ui.keyCode.SPACE||f.keyCode==a.ui.keyCode.ENTER)a(this).addClass("ui-state-active")}).bind("keyup.button",function(){a(this).removeClass("ui-state-active")});this.buttonElement.is("a")&&this.buttonElement.keyup(function(f){f.keyCode===a.ui.keyCode.SPACE&&a(this).click()})}this._setOption("disabled", -c.disabled)},_determineButtonType:function(){this.type=this.element.is(":checkbox")?"checkbox":this.element.is(":radio")?"radio":this.element.is("input")?"input":"button";if(this.type==="checkbox"||this.type==="radio"){this.buttonElement=this.element.parents().last().find("label[for="+this.element.attr("id")+"]");this.element.addClass("ui-helper-hidden-accessible");var b=this.element.is(":checked");b&&this.buttonElement.addClass("ui-state-active");this.buttonElement.attr("aria-pressed",b)}else this.buttonElement= -this.element},widget:function(){return this.buttonElement},destroy:function(){this.element.removeClass("ui-helper-hidden-accessible");this.buttonElement.removeClass("ui-button ui-widget ui-state-default ui-corner-all ui-state-hover ui-state-active ui-button-icons-only ui-button-icon-only ui-button-text-icons ui-button-text-icon-primary ui-button-text-icon-secondary ui-button-text-only").removeAttr("role").removeAttr("aria-pressed").html(this.buttonElement.find(".ui-button-text").html());this.hasTitle|| -this.buttonElement.removeAttr("title");a.Widget.prototype.destroy.call(this)},_setOption:function(b,c){a.Widget.prototype._setOption.apply(this,arguments);if(b==="disabled")c?this.element.attr("disabled",true):this.element.removeAttr("disabled");this._resetButton()},refresh:function(){var b=this.element.is(":disabled");b!==this.options.disabled&&this._setOption("disabled",b);if(this.type==="radio")h(this.element[0]).each(function(){a(this).is(":checked")?a(this).button("widget").addClass("ui-state-active").attr("aria-pressed", +(function(a){var g,i=function(b){a(":ui-button",b.target.form).each(function(){var c=a(this).data("button");setTimeout(function(){c.refresh()},1)})},h=function(b){var c=b.name,d=b.form,f=a([]);if(c)f=d?a(d).find("[name='"+c+"']"):a("[name='"+c+"']",b.ownerDocument).filter(function(){return!this.form});return f};a.widget("ui.button",{options:{disabled:null,text:true,label:null,icons:{primary:null,secondary:null}},_create:function(){this.element.closest("form").unbind("reset.button").bind("reset.button", +i);if(typeof this.options.disabled!=="boolean")this.options.disabled=this.element.attr("disabled");this._determineButtonType();this.hasTitle=!!this.buttonElement.attr("title");var b=this,c=this.options,d=this.type==="checkbox"||this.type==="radio",f="ui-state-hover"+(!d?" ui-state-active":"");if(c.label===null)c.label=this.buttonElement.html();if(this.element.is(":disabled"))c.disabled=true;this.buttonElement.addClass("ui-button ui-widget ui-state-default ui-corner-all").attr("role","button").bind("mouseenter.button", +function(){if(!c.disabled){a(this).addClass("ui-state-hover");this===g&&a(this).addClass("ui-state-active")}}).bind("mouseleave.button",function(){c.disabled||a(this).removeClass(f)}).bind("focus.button",function(){a(this).addClass("ui-state-focus")}).bind("blur.button",function(){a(this).removeClass("ui-state-focus")});d&&this.element.bind("change.button",function(){b.refresh()});if(this.type==="checkbox")this.buttonElement.bind("click.button",function(){if(c.disabled)return false;a(this).toggleClass("ui-state-active"); +b.buttonElement.attr("aria-pressed",b.element[0].checked)});else if(this.type==="radio")this.buttonElement.bind("click.button",function(){if(c.disabled)return false;a(this).addClass("ui-state-active");b.buttonElement.attr("aria-pressed",true);var e=b.element[0];h(e).not(e).map(function(){return a(this).button("widget")[0]}).removeClass("ui-state-active").attr("aria-pressed",false)});else{this.buttonElement.bind("mousedown.button",function(){if(c.disabled)return false;a(this).addClass("ui-state-active"); +g=this;a(document).one("mouseup",function(){g=null})}).bind("mouseup.button",function(){if(c.disabled)return false;a(this).removeClass("ui-state-active")}).bind("keydown.button",function(e){if(c.disabled)return false;if(e.keyCode==a.ui.keyCode.SPACE||e.keyCode==a.ui.keyCode.ENTER)a(this).addClass("ui-state-active")}).bind("keyup.button",function(){a(this).removeClass("ui-state-active")});this.buttonElement.is("a")&&this.buttonElement.keyup(function(e){e.keyCode===a.ui.keyCode.SPACE&&a(this).click()})}this._setOption("disabled", +c.disabled)},_determineButtonType:function(){this.type=this.element.is(":checkbox")?"checkbox":this.element.is(":radio")?"radio":this.element.is("input")?"input":"button";if(this.type==="checkbox"||this.type==="radio"){var b=this.element.parents().filter(":last"),c="label[for="+this.element.attr("id")+"]";this.buttonElement=b.find(c);if(!this.buttonElement.length){b=b.length?b.siblings():this.element.siblings();this.buttonElement=b.filter(c);if(!this.buttonElement.length)this.buttonElement=b.find(c)}this.element.addClass("ui-helper-hidden-accessible"); +(b=this.element.is(":checked"))&&this.buttonElement.addClass("ui-state-active");this.buttonElement.attr("aria-pressed",b)}else this.buttonElement=this.element},widget:function(){return this.buttonElement},destroy:function(){this.element.removeClass("ui-helper-hidden-accessible");this.buttonElement.removeClass("ui-button ui-widget ui-state-default ui-corner-all ui-state-hover ui-state-active ui-button-icons-only ui-button-icon-only ui-button-text-icons ui-button-text-icon-primary ui-button-text-icon-secondary ui-button-text-only").removeAttr("role").removeAttr("aria-pressed").html(this.buttonElement.find(".ui-button-text").html()); +this.hasTitle||this.buttonElement.removeAttr("title");a.Widget.prototype.destroy.call(this)},_setOption:function(b,c){a.Widget.prototype._setOption.apply(this,arguments);if(b==="disabled")c?this.element.attr("disabled",true):this.element.removeAttr("disabled");this._resetButton()},refresh:function(){var b=this.element.is(":disabled");b!==this.options.disabled&&this._setOption("disabled",b);if(this.type==="radio")h(this.element[0]).each(function(){a(this).is(":checked")?a(this).button("widget").addClass("ui-state-active").attr("aria-pressed", true):a(this).button("widget").removeClass("ui-state-active").attr("aria-pressed",false)});else if(this.type==="checkbox")this.element.is(":checked")?this.buttonElement.addClass("ui-state-active").attr("aria-pressed",true):this.buttonElement.removeClass("ui-state-active").attr("aria-pressed",false)},_resetButton:function(){if(this.type==="input")this.options.label&&this.element.val(this.options.label);else{var b=this.buttonElement.removeClass("ui-button-icons-only ui-button-icon-only ui-button-text-icons ui-button-text-icon-primary ui-button-text-icon-secondary ui-button-text-only"), -c=a("<span></span>").addClass("ui-button-text").html(this.options.label).appendTo(b.empty()).text(),d=this.options.icons,e=d.primary&&d.secondary;if(d.primary||d.secondary){b.addClass("ui-button-text-icon"+(e?"s":d.primary?"-primary":"-secondary"));d.primary&&b.prepend("<span class='ui-button-icon-primary ui-icon "+d.primary+"'></span>");d.secondary&&b.append("<span class='ui-button-icon-secondary ui-icon "+d.secondary+"'></span>");if(!this.options.text){b.addClass(e?"ui-button-icons-only":"ui-button-icon-only").removeClass("ui-button-text-icons ui-button-text-icon-primary ui-button-text-icon-secondary"); -this.hasTitle||b.attr("title",c)}}else b.addClass("ui-button-text-only")}}});a.widget("ui.buttonset",{options:{items:":button, :submit, :reset, :checkbox, :radio, a, :data(button)"},_create:function(){this.element.addClass("ui-buttonset")},_init:function(){this.refresh()},_setOption:function(b,c){b==="disabled"&&this.buttons.button("option",b,c);a.Widget.prototype._setOption.apply(this,arguments)},refresh:function(){this.buttons=this.element.find(this.options.items).filter(":ui-button").button("refresh").end().not(":ui-button").button().end().map(function(){return a(this).button("widget")[0]}).removeClass("ui-corner-all ui-corner-left ui-corner-right").filter(":first").addClass("ui-corner-left").end().filter(":last").addClass("ui-corner-right").end().end()}, +c=a("<span></span>").addClass("ui-button-text").html(this.options.label).appendTo(b.empty()).text(),d=this.options.icons,f=d.primary&&d.secondary,e=[];if(d.primary||d.secondary){if(this.options.text)e.push("ui-button-text-icon"+(f?"s":d.primary?"-primary":"-secondary"));d.primary&&b.prepend("<span class='ui-button-icon-primary ui-icon "+d.primary+"'></span>");d.secondary&&b.append("<span class='ui-button-icon-secondary ui-icon "+d.secondary+"'></span>");if(!this.options.text){e.push(f?"ui-button-icons-only": +"ui-button-icon-only");this.hasTitle||b.attr("title",c)}}else e.push("ui-button-text-only");b.addClass(e.join(" "))}}});a.widget("ui.buttonset",{options:{items:":button, :submit, :reset, :checkbox, :radio, a, :data(button)"},_create:function(){this.element.addClass("ui-buttonset")},_init:function(){this.refresh()},_setOption:function(b,c){b==="disabled"&&this.buttons.button("option",b,c);a.Widget.prototype._setOption.apply(this,arguments)},refresh:function(){this.buttons=this.element.find(this.options.items).filter(":ui-button").button("refresh").end().not(":ui-button").button().end().map(function(){return a(this).button("widget")[0]}).removeClass("ui-corner-all ui-corner-left ui-corner-right").filter(":first").addClass("ui-corner-left").end().filter(":last").addClass("ui-corner-right").end().end()}, destroy:function(){this.element.removeClass("ui-buttonset");this.buttons.map(function(){return a(this).button("widget")[0]}).removeClass("ui-corner-left ui-corner-right").end().button("destroy");a.Widget.prototype.destroy.call(this)}})})(jQuery); diff --git a/wp-includes/js/jquery/ui.core.js b/wp-includes/js/jquery/ui.core.js index bc00dc408..a8a883b3a 100644 --- a/wp-includes/js/jquery/ui.core.js +++ b/wp-includes/js/jquery/ui.core.js @@ -1,5 +1,5 @@ /*! - * jQuery UI 1.8.9 + * jQuery UI 1.8.12 * * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) * Dual licensed under the MIT or GPL Version 2 licenses. @@ -7,7 +7,7 @@ * * http://docs.jquery.com/UI */ -(function(c,j){function k(a){return!c(a).parents().andSelf().filter(function(){return c.curCSS(this,"visibility")==="hidden"||c.expr.filters.hidden(this)}).length}c.ui=c.ui||{};if(!c.ui.version){c.extend(c.ui,{version:"1.8.9",keyCode:{ALT:18,BACKSPACE:8,CAPS_LOCK:20,COMMA:188,COMMAND:91,COMMAND_LEFT:91,COMMAND_RIGHT:93,CONTROL:17,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,INSERT:45,LEFT:37,MENU:93,NUMPAD_ADD:107,NUMPAD_DECIMAL:110,NUMPAD_DIVIDE:111,NUMPAD_ENTER:108,NUMPAD_MULTIPLY:106, +(function(c,j){function k(a){return!c(a).parents().andSelf().filter(function(){return c.curCSS(this,"visibility")==="hidden"||c.expr.filters.hidden(this)}).length}c.ui=c.ui||{};if(!c.ui.version){c.extend(c.ui,{version:"1.8.12",keyCode:{ALT:18,BACKSPACE:8,CAPS_LOCK:20,COMMA:188,COMMAND:91,COMMAND_LEFT:91,COMMAND_RIGHT:93,CONTROL:17,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,INSERT:45,LEFT:37,MENU:93,NUMPAD_ADD:107,NUMPAD_DECIMAL:110,NUMPAD_DIVIDE:111,NUMPAD_ENTER:108,NUMPAD_MULTIPLY:106, NUMPAD_SUBTRACT:109,PAGE_DOWN:34,PAGE_UP:33,PERIOD:190,RIGHT:39,SHIFT:16,SPACE:32,TAB:9,UP:38,WINDOWS:91}});c.fn.extend({_focus:c.fn.focus,focus:function(a,b){return typeof a==="number"?this.each(function(){var d=this;setTimeout(function(){c(d).focus();b&&b.call(d)},a)}):this._focus.apply(this,arguments)},scrollParent:function(){var a;a=c.browser.msie&&/(static|relative)/.test(this.css("position"))||/absolute/.test(this.css("position"))?this.parents().filter(function(){return/(relative|absolute|fixed)/.test(c.curCSS(this, "position",1))&&/(auto|scroll)/.test(c.curCSS(this,"overflow",1)+c.curCSS(this,"overflow-y",1)+c.curCSS(this,"overflow-x",1))}).eq(0):this.parents().filter(function(){return/(auto|scroll)/.test(c.curCSS(this,"overflow",1)+c.curCSS(this,"overflow-y",1)+c.curCSS(this,"overflow-x",1))}).eq(0);return/fixed/.test(this.css("position"))||!a.length?c(document):a},zIndex:function(a){if(a!==j)return this.css("zIndex",a);if(this.length){a=c(this[0]);for(var b;a.length&&a[0]!==document;){b=a.css("position"); if(b==="absolute"||b==="relative"||b==="fixed"){b=parseInt(a.css("zIndex"),10);if(!isNaN(b)&&b!==0)return b}a=a.parent()}}return 0},disableSelection:function(){return this.bind((c.support.selectstart?"selectstart":"mousedown")+".ui-disableSelection",function(a){a.preventDefault()})},enableSelection:function(){return this.unbind(".ui-disableSelection")}});c.each(["Width","Height"],function(a,b){function d(f,g,l,m){c.each(e,function(){g-=parseFloat(c.curCSS(f,"padding"+this,true))||0;if(l)g-=parseFloat(c.curCSS(f, diff --git a/wp-includes/js/jquery/ui.dialog.js b/wp-includes/js/jquery/ui.dialog.js index 404890e4b..4bddfed3f 100644 --- a/wp-includes/js/jquery/ui.dialog.js +++ b/wp-includes/js/jquery/ui.dialog.js @@ -1,5 +1,5 @@ /* - * jQuery UI Dialog 1.8.9 + * jQuery UI Dialog 1.8.12 * * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) * Dual licensed under the MIT or GPL Version 2 licenses. @@ -16,25 +16,25 @@ * jquery.ui.position.js * jquery.ui.resizable.js */ -(function(c,j){var k={buttons:true,height:true,maxHeight:true,maxWidth:true,minHeight:true,minWidth:true,width:true},l={maxHeight:true,maxWidth:true,minHeight:true,minWidth:true};c.widget("ui.dialog",{options:{autoOpen:true,buttons:{},closeOnEscape:true,closeText:"close",dialogClass:"",draggable:true,hide:null,height:"auto",maxHeight:false,maxWidth:false,minHeight:150,minWidth:150,modal:false,position:{my:"center",at:"center",collision:"fit",using:function(a){var b=c(this).css(a).offset().top;b<0&& -c(this).css("top",a.top-b)}},resizable:true,show:null,stack:true,title:"",width:300,zIndex:1E3},_create:function(){this.originalTitle=this.element.attr("title");if(typeof this.originalTitle!=="string")this.originalTitle="";this.options.title=this.options.title||this.originalTitle;var a=this,b=a.options,d=b.title||" ",e=c.ui.dialog.getTitleId(a.element),g=(a.uiDialog=c("<div></div>")).appendTo(document.body).hide().addClass("ui-dialog ui-widget ui-widget-content ui-corner-all "+b.dialogClass).css({zIndex:b.zIndex}).attr("tabIndex", --1).css("outline",0).keydown(function(i){if(b.closeOnEscape&&i.keyCode&&i.keyCode===c.ui.keyCode.ESCAPE){a.close(i);i.preventDefault()}}).attr({role:"dialog","aria-labelledby":e}).mousedown(function(i){a.moveToTop(false,i)});a.element.show().removeAttr("title").addClass("ui-dialog-content ui-widget-content").appendTo(g);var f=(a.uiDialogTitlebar=c("<div></div>")).addClass("ui-dialog-titlebar ui-widget-header ui-corner-all ui-helper-clearfix").prependTo(g),h=c('<a href="#"></a>').addClass("ui-dialog-titlebar-close ui-corner-all").attr("role", -"button").hover(function(){h.addClass("ui-state-hover")},function(){h.removeClass("ui-state-hover")}).focus(function(){h.addClass("ui-state-focus")}).blur(function(){h.removeClass("ui-state-focus")}).click(function(i){a.close(i);return false}).appendTo(f);(a.uiDialogTitlebarCloseText=c("<span></span>")).addClass("ui-icon ui-icon-closethick").text(b.closeText).appendTo(h);c("<span></span>").addClass("ui-dialog-title").attr("id",e).html(d).prependTo(f);if(c.isFunction(b.beforeclose)&&!c.isFunction(b.beforeClose))b.beforeClose= -b.beforeclose;f.find("*").add(f).disableSelection();b.draggable&&c.fn.draggable&&a._makeDraggable();b.resizable&&c.fn.resizable&&a._makeResizable();a._createButtons(b.buttons);a._isOpen=false;c.fn.bgiframe&&g.bgiframe()},_init:function(){this.options.autoOpen&&this.open()},destroy:function(){var a=this;a.overlay&&a.overlay.destroy();a.uiDialog.hide();a.element.unbind(".dialog").removeData("dialog").removeClass("ui-dialog-content ui-widget-content").hide().appendTo("body");a.uiDialog.remove();a.originalTitle&& -a.element.attr("title",a.originalTitle);return a},widget:function(){return this.uiDialog},close:function(a){var b=this,d,e;if(false!==b._trigger("beforeClose",a)){b.overlay&&b.overlay.destroy();b.uiDialog.unbind("keypress.ui-dialog");b._isOpen=false;if(b.options.hide)b.uiDialog.hide(b.options.hide,function(){b._trigger("close",a)});else{b.uiDialog.hide();b._trigger("close",a)}c.ui.dialog.overlay.resize();if(b.options.modal){d=0;c(".ui-dialog").each(function(){if(this!==b.uiDialog[0]){e=c(this).css("z-index"); -isNaN(e)||(d=Math.max(d,e))}});c.ui.dialog.maxZ=d}return b}},isOpen:function(){return this._isOpen},moveToTop:function(a,b){var d=this,e=d.options;if(e.modal&&!a||!e.stack&&!e.modal)return d._trigger("focus",b);if(e.zIndex>c.ui.dialog.maxZ)c.ui.dialog.maxZ=e.zIndex;if(d.overlay){c.ui.dialog.maxZ+=1;d.overlay.$el.css("z-index",c.ui.dialog.overlay.maxZ=c.ui.dialog.maxZ)}a={scrollTop:d.element.attr("scrollTop"),scrollLeft:d.element.attr("scrollLeft")};c.ui.dialog.maxZ+=1;d.uiDialog.css("z-index",c.ui.dialog.maxZ); -d.element.attr(a);d._trigger("focus",b);return d},open:function(){if(!this._isOpen){var a=this,b=a.options,d=a.uiDialog;a.overlay=b.modal?new c.ui.dialog.overlay(a):null;a._size();a._position(b.position);d.show(b.show);a.moveToTop(true);b.modal&&d.bind("keypress.ui-dialog",function(e){if(e.keyCode===c.ui.keyCode.TAB){var g=c(":tabbable",this),f=g.filter(":first");g=g.filter(":last");if(e.target===g[0]&&!e.shiftKey){f.focus(1);return false}else if(e.target===f[0]&&e.shiftKey){g.focus(1);return false}}}); -c(a.element.find(":tabbable").get().concat(d.find(".ui-dialog-buttonpane :tabbable").get().concat(d.get()))).eq(0).focus();a._isOpen=true;a._trigger("open");return a}},_createButtons:function(a){var b=this,d=false,e=c("<div></div>").addClass("ui-dialog-buttonpane ui-widget-content ui-helper-clearfix"),g=c("<div></div>").addClass("ui-dialog-buttonset").appendTo(e);b.uiDialog.find(".ui-dialog-buttonpane").remove();typeof a==="object"&&a!==null&&c.each(a,function(){return!(d=true)});if(d){c.each(a,function(f, -h){h=c.isFunction(h)?{click:h,text:f}:h;f=c('<button type="button"></button>').attr(h,true).unbind("click").click(function(){h.click.apply(b.element[0],arguments)}).appendTo(g);c.fn.button&&f.button()});e.appendTo(b.uiDialog)}},_makeDraggable:function(){function a(f){return{position:f.position,offset:f.offset}}var b=this,d=b.options,e=c(document),g;b.uiDialog.draggable({cancel:".ui-dialog-content, .ui-dialog-titlebar-close",handle:".ui-dialog-titlebar",containment:"document",start:function(f,h){g= -d.height==="auto"?"auto":c(this).height();c(this).height(c(this).height()).addClass("ui-dialog-dragging");b._trigger("dragStart",f,a(h))},drag:function(f,h){b._trigger("drag",f,a(h))},stop:function(f,h){d.position=[h.position.left-e.scrollLeft(),h.position.top-e.scrollTop()];c(this).removeClass("ui-dialog-dragging").height(g);b._trigger("dragStop",f,a(h));c.ui.dialog.overlay.resize()}})},_makeResizable:function(a){function b(f){return{originalPosition:f.originalPosition,originalSize:f.originalSize, -position:f.position,size:f.size}}a=a===j?this.options.resizable:a;var d=this,e=d.options,g=d.uiDialog.css("position");a=typeof a==="string"?a:"n,e,s,w,se,sw,ne,nw";d.uiDialog.resizable({cancel:".ui-dialog-content",containment:"document",alsoResize:d.element,maxWidth:e.maxWidth,maxHeight:e.maxHeight,minWidth:e.minWidth,minHeight:d._minHeight(),handles:a,start:function(f,h){c(this).addClass("ui-dialog-resizing");d._trigger("resizeStart",f,b(h))},resize:function(f,h){d._trigger("resize",f,b(h))},stop:function(f, -h){c(this).removeClass("ui-dialog-resizing");e.height=c(this).height();e.width=c(this).width();d._trigger("resizeStop",f,b(h));c.ui.dialog.overlay.resize()}}).css("position",g).find(".ui-resizable-se").addClass("ui-icon ui-icon-grip-diagonal-se")},_minHeight:function(){var a=this.options;return a.height==="auto"?a.minHeight:Math.min(a.minHeight,a.height)},_position:function(a){var b=[],d=[0,0],e;if(a){if(typeof a==="string"||typeof a==="object"&&"0"in a){b=a.split?a.split(" "):[a[0],a[1]];if(b.length=== -1)b[1]=b[0];c.each(["left","top"],function(g,f){if(+b[g]===b[g]){d[g]=b[g];b[g]=f}});a={my:b.join(" "),at:b.join(" "),offset:d.join(" ")}}a=c.extend({},c.ui.dialog.prototype.options.position,a)}else a=c.ui.dialog.prototype.options.position;(e=this.uiDialog.is(":visible"))||this.uiDialog.show();this.uiDialog.css({top:0,left:0}).position(c.extend({of:window},a));e||this.uiDialog.hide()},_setOptions:function(a){var b=this,d={},e=false;c.each(a,function(g,f){b._setOption(g,f);if(g in k)e=true;if(g in -l)d[g]=f});e&&this._size();this.uiDialog.is(":data(resizable)")&&this.uiDialog.resizable("option",d)},_setOption:function(a,b){var d=this,e=d.uiDialog;switch(a){case "beforeclose":a="beforeClose";break;case "buttons":d._createButtons(b);break;case "closeText":d.uiDialogTitlebarCloseText.text(""+b);break;case "dialogClass":e.removeClass(d.options.dialogClass).addClass("ui-dialog ui-widget ui-widget-content ui-corner-all "+b);break;case "disabled":b?e.addClass("ui-dialog-disabled"):e.removeClass("ui-dialog-disabled"); -break;case "draggable":var g=e.is(":data(draggable)");g&&!b&&e.draggable("destroy");!g&&b&&d._makeDraggable();break;case "position":d._position(b);break;case "resizable":(g=e.is(":data(resizable)"))&&!b&&e.resizable("destroy");g&&typeof b==="string"&&e.resizable("option","handles",b);!g&&b!==false&&d._makeResizable(b);break;case "title":c(".ui-dialog-title",d.uiDialogTitlebar).html(""+(b||" "));break}c.Widget.prototype._setOption.apply(d,arguments)},_size:function(){var a=this.options,b,d,e= -this.uiDialog.is(":visible");this.element.show().css({width:"auto",minHeight:0,height:0});if(a.minWidth>a.width)a.width=a.minWidth;b=this.uiDialog.css({height:"auto",width:a.width}).height();d=Math.max(0,a.minHeight-b);if(a.height==="auto")if(c.support.minHeight)this.element.css({minHeight:d,height:"auto"});else{this.uiDialog.show();a=this.element.css("height","auto").height();e||this.uiDialog.hide();this.element.height(Math.max(a,d))}else this.element.height(Math.max(a.height-b,0));this.uiDialog.is(":data(resizable)")&& -this.uiDialog.resizable("option","minHeight",this._minHeight())}});c.extend(c.ui.dialog,{version:"1.8.9",uuid:0,maxZ:0,getTitleId:function(a){a=a.attr("id");if(!a){this.uuid+=1;a=this.uuid}return"ui-dialog-title-"+a},overlay:function(a){this.$el=c.ui.dialog.overlay.create(a)}});c.extend(c.ui.dialog.overlay,{instances:[],oldInstances:[],maxZ:0,events:c.map("focus,mousedown,mouseup,keydown,keypress,click".split(","),function(a){return a+".dialog-overlay"}).join(" "),create:function(a){if(this.instances.length=== -0){setTimeout(function(){c.ui.dialog.overlay.instances.length&&c(document).bind(c.ui.dialog.overlay.events,function(d){if(c(d.target).zIndex()<c.ui.dialog.overlay.maxZ)return false})},1);c(document).bind("keydown.dialog-overlay",function(d){if(a.options.closeOnEscape&&d.keyCode&&d.keyCode===c.ui.keyCode.ESCAPE){a.close(d);d.preventDefault()}});c(window).bind("resize.dialog-overlay",c.ui.dialog.overlay.resize)}var b=(this.oldInstances.pop()||c("<div></div>").addClass("ui-widget-overlay")).appendTo(document.body).css({width:this.width(), +(function(c,l){var m={buttons:true,height:true,maxHeight:true,maxWidth:true,minHeight:true,minWidth:true,width:true},n={maxHeight:true,maxWidth:true,minHeight:true,minWidth:true},o=c.attrFn||{val:true,css:true,html:true,text:true,data:true,width:true,height:true,offset:true,click:true};c.widget("ui.dialog",{options:{autoOpen:true,buttons:{},closeOnEscape:true,closeText:"close",dialogClass:"",draggable:true,hide:null,height:"auto",maxHeight:false,maxWidth:false,minHeight:150,minWidth:150,modal:false, +position:{my:"center",at:"center",collision:"fit",using:function(a){var b=c(this).css(a).offset().top;b<0&&c(this).css("top",a.top-b)}},resizable:true,show:null,stack:true,title:"",width:300,zIndex:1E3},_create:function(){this.originalTitle=this.element.attr("title");if(typeof this.originalTitle!=="string")this.originalTitle="";this.options.title=this.options.title||this.originalTitle;var a=this,b=a.options,d=b.title||" ",e=c.ui.dialog.getTitleId(a.element),g=(a.uiDialog=c("<div></div>")).appendTo(document.body).hide().addClass("ui-dialog ui-widget ui-widget-content ui-corner-all "+ +b.dialogClass).css({zIndex:b.zIndex}).attr("tabIndex",-1).css("outline",0).keydown(function(i){if(b.closeOnEscape&&i.keyCode&&i.keyCode===c.ui.keyCode.ESCAPE){a.close(i);i.preventDefault()}}).attr({role:"dialog","aria-labelledby":e}).mousedown(function(i){a.moveToTop(false,i)});a.element.show().removeAttr("title").addClass("ui-dialog-content ui-widget-content").appendTo(g);var f=(a.uiDialogTitlebar=c("<div></div>")).addClass("ui-dialog-titlebar ui-widget-header ui-corner-all ui-helper-clearfix").prependTo(g), +h=c('<a href="#"></a>').addClass("ui-dialog-titlebar-close ui-corner-all").attr("role","button").hover(function(){h.addClass("ui-state-hover")},function(){h.removeClass("ui-state-hover")}).focus(function(){h.addClass("ui-state-focus")}).blur(function(){h.removeClass("ui-state-focus")}).click(function(i){a.close(i);return false}).appendTo(f);(a.uiDialogTitlebarCloseText=c("<span></span>")).addClass("ui-icon ui-icon-closethick").text(b.closeText).appendTo(h);c("<span></span>").addClass("ui-dialog-title").attr("id", +e).html(d).prependTo(f);if(c.isFunction(b.beforeclose)&&!c.isFunction(b.beforeClose))b.beforeClose=b.beforeclose;f.find("*").add(f).disableSelection();b.draggable&&c.fn.draggable&&a._makeDraggable();b.resizable&&c.fn.resizable&&a._makeResizable();a._createButtons(b.buttons);a._isOpen=false;c.fn.bgiframe&&g.bgiframe()},_init:function(){this.options.autoOpen&&this.open()},destroy:function(){var a=this;a.overlay&&a.overlay.destroy();a.uiDialog.hide();a.element.unbind(".dialog").removeData("dialog").removeClass("ui-dialog-content ui-widget-content").hide().appendTo("body"); +a.uiDialog.remove();a.originalTitle&&a.element.attr("title",a.originalTitle);return a},widget:function(){return this.uiDialog},close:function(a){var b=this,d,e;if(false!==b._trigger("beforeClose",a)){b.overlay&&b.overlay.destroy();b.uiDialog.unbind("keypress.ui-dialog");b._isOpen=false;if(b.options.hide)b.uiDialog.hide(b.options.hide,function(){b._trigger("close",a)});else{b.uiDialog.hide();b._trigger("close",a)}c.ui.dialog.overlay.resize();if(b.options.modal){d=0;c(".ui-dialog").each(function(){if(this!== +b.uiDialog[0]){e=c(this).css("z-index");isNaN(e)||(d=Math.max(d,e))}});c.ui.dialog.maxZ=d}return b}},isOpen:function(){return this._isOpen},moveToTop:function(a,b){var d=this,e=d.options;if(e.modal&&!a||!e.stack&&!e.modal)return d._trigger("focus",b);if(e.zIndex>c.ui.dialog.maxZ)c.ui.dialog.maxZ=e.zIndex;if(d.overlay){c.ui.dialog.maxZ+=1;d.overlay.$el.css("z-index",c.ui.dialog.overlay.maxZ=c.ui.dialog.maxZ)}a={scrollTop:d.element.attr("scrollTop"),scrollLeft:d.element.attr("scrollLeft")};c.ui.dialog.maxZ+= +1;d.uiDialog.css("z-index",c.ui.dialog.maxZ);d.element.attr(a);d._trigger("focus",b);return d},open:function(){if(!this._isOpen){var a=this,b=a.options,d=a.uiDialog;a.overlay=b.modal?new c.ui.dialog.overlay(a):null;a._size();a._position(b.position);d.show(b.show);a.moveToTop(true);b.modal&&d.bind("keypress.ui-dialog",function(e){if(e.keyCode===c.ui.keyCode.TAB){var g=c(":tabbable",this),f=g.filter(":first");g=g.filter(":last");if(e.target===g[0]&&!e.shiftKey){f.focus(1);return false}else if(e.target=== +f[0]&&e.shiftKey){g.focus(1);return false}}});c(a.element.find(":tabbable").get().concat(d.find(".ui-dialog-buttonpane :tabbable").get().concat(d.get()))).eq(0).focus();a._isOpen=true;a._trigger("open");return a}},_createButtons:function(a){var b=this,d=false,e=c("<div></div>").addClass("ui-dialog-buttonpane ui-widget-content ui-helper-clearfix"),g=c("<div></div>").addClass("ui-dialog-buttonset").appendTo(e);b.uiDialog.find(".ui-dialog-buttonpane").remove();typeof a==="object"&&a!==null&&c.each(a, +function(){return!(d=true)});if(d){c.each(a,function(f,h){h=c.isFunction(h)?{click:h,text:f}:h;var i=c('<button type="button"></button>').click(function(){h.click.apply(b.element[0],arguments)}).appendTo(g);c.each(h,function(j,k){if(j!=="click")j in o?i[j](k):i.attr(j,k)});c.fn.button&&i.button()});e.appendTo(b.uiDialog)}},_makeDraggable:function(){function a(f){return{position:f.position,offset:f.offset}}var b=this,d=b.options,e=c(document),g;b.uiDialog.draggable({cancel:".ui-dialog-content, .ui-dialog-titlebar-close", +handle:".ui-dialog-titlebar",containment:"document",start:function(f,h){g=d.height==="auto"?"auto":c(this).height();c(this).height(c(this).height()).addClass("ui-dialog-dragging");b._trigger("dragStart",f,a(h))},drag:function(f,h){b._trigger("drag",f,a(h))},stop:function(f,h){d.position=[h.position.left-e.scrollLeft(),h.position.top-e.scrollTop()];c(this).removeClass("ui-dialog-dragging").height(g);b._trigger("dragStop",f,a(h));c.ui.dialog.overlay.resize()}})},_makeResizable:function(a){function b(f){return{originalPosition:f.originalPosition, +originalSize:f.originalSize,position:f.position,size:f.size}}a=a===l?this.options.resizable:a;var d=this,e=d.options,g=d.uiDialog.css("position");a=typeof a==="string"?a:"n,e,s,w,se,sw,ne,nw";d.uiDialog.resizable({cancel:".ui-dialog-content",containment:"document",alsoResize:d.element,maxWidth:e.maxWidth,maxHeight:e.maxHeight,minWidth:e.minWidth,minHeight:d._minHeight(),handles:a,start:function(f,h){c(this).addClass("ui-dialog-resizing");d._trigger("resizeStart",f,b(h))},resize:function(f,h){d._trigger("resize", +f,b(h))},stop:function(f,h){c(this).removeClass("ui-dialog-resizing");e.height=c(this).height();e.width=c(this).width();d._trigger("resizeStop",f,b(h));c.ui.dialog.overlay.resize()}}).css("position",g).find(".ui-resizable-se").addClass("ui-icon ui-icon-grip-diagonal-se")},_minHeight:function(){var a=this.options;return a.height==="auto"?a.minHeight:Math.min(a.minHeight,a.height)},_position:function(a){var b=[],d=[0,0],e;if(a){if(typeof a==="string"||typeof a==="object"&&"0"in a){b=a.split?a.split(" "): +[a[0],a[1]];if(b.length===1)b[1]=b[0];c.each(["left","top"],function(g,f){if(+b[g]===b[g]){d[g]=b[g];b[g]=f}});a={my:b.join(" "),at:b.join(" "),offset:d.join(" ")}}a=c.extend({},c.ui.dialog.prototype.options.position,a)}else a=c.ui.dialog.prototype.options.position;(e=this.uiDialog.is(":visible"))||this.uiDialog.show();this.uiDialog.css({top:0,left:0}).position(c.extend({of:window},a));e||this.uiDialog.hide()},_setOptions:function(a){var b=this,d={},e=false;c.each(a,function(g,f){b._setOption(g,f); +if(g in m)e=true;if(g in n)d[g]=f});e&&this._size();this.uiDialog.is(":data(resizable)")&&this.uiDialog.resizable("option",d)},_setOption:function(a,b){var d=this,e=d.uiDialog;switch(a){case "beforeclose":a="beforeClose";break;case "buttons":d._createButtons(b);break;case "closeText":d.uiDialogTitlebarCloseText.text(""+b);break;case "dialogClass":e.removeClass(d.options.dialogClass).addClass("ui-dialog ui-widget ui-widget-content ui-corner-all "+b);break;case "disabled":b?e.addClass("ui-dialog-disabled"): +e.removeClass("ui-dialog-disabled");break;case "draggable":var g=e.is(":data(draggable)");g&&!b&&e.draggable("destroy");!g&&b&&d._makeDraggable();break;case "position":d._position(b);break;case "resizable":(g=e.is(":data(resizable)"))&&!b&&e.resizable("destroy");g&&typeof b==="string"&&e.resizable("option","handles",b);!g&&b!==false&&d._makeResizable(b);break;case "title":c(".ui-dialog-title",d.uiDialogTitlebar).html(""+(b||" "));break}c.Widget.prototype._setOption.apply(d,arguments)},_size:function(){var a= +this.options,b,d,e=this.uiDialog.is(":visible");this.element.show().css({width:"auto",minHeight:0,height:0});if(a.minWidth>a.width)a.width=a.minWidth;b=this.uiDialog.css({height:"auto",width:a.width}).height();d=Math.max(0,a.minHeight-b);if(a.height==="auto")if(c.support.minHeight)this.element.css({minHeight:d,height:"auto"});else{this.uiDialog.show();a=this.element.css("height","auto").height();e||this.uiDialog.hide();this.element.height(Math.max(a,d))}else this.element.height(Math.max(a.height- +b,0));this.uiDialog.is(":data(resizable)")&&this.uiDialog.resizable("option","minHeight",this._minHeight())}});c.extend(c.ui.dialog,{version:"1.8.12",uuid:0,maxZ:0,getTitleId:function(a){a=a.attr("id");if(!a){this.uuid+=1;a=this.uuid}return"ui-dialog-title-"+a},overlay:function(a){this.$el=c.ui.dialog.overlay.create(a)}});c.extend(c.ui.dialog.overlay,{instances:[],oldInstances:[],maxZ:0,events:c.map("focus,mousedown,mouseup,keydown,keypress,click".split(","),function(a){return a+".dialog-overlay"}).join(" "), +create:function(a){if(this.instances.length===0){setTimeout(function(){c.ui.dialog.overlay.instances.length&&c(document).bind(c.ui.dialog.overlay.events,function(d){if(c(d.target).zIndex()<c.ui.dialog.overlay.maxZ)return false})},1);c(document).bind("keydown.dialog-overlay",function(d){if(a.options.closeOnEscape&&d.keyCode&&d.keyCode===c.ui.keyCode.ESCAPE){a.close(d);d.preventDefault()}});c(window).bind("resize.dialog-overlay",c.ui.dialog.overlay.resize)}var b=(this.oldInstances.pop()||c("<div></div>").addClass("ui-widget-overlay")).appendTo(document.body).css({width:this.width(), height:this.height()});c.fn.bgiframe&&b.bgiframe();this.instances.push(b);return b},destroy:function(a){var b=c.inArray(a,this.instances);b!=-1&&this.oldInstances.push(this.instances.splice(b,1)[0]);this.instances.length===0&&c([document,window]).unbind(".dialog-overlay");a.remove();var d=0;c.each(this.instances,function(){d=Math.max(d,this.css("z-index"))});this.maxZ=d},height:function(){var a,b;if(c.browser.msie&&c.browser.version<7){a=Math.max(document.documentElement.scrollHeight,document.body.scrollHeight); b=Math.max(document.documentElement.offsetHeight,document.body.offsetHeight);return a<b?c(window).height()+"px":a+"px"}else return c(document).height()+"px"},width:function(){var a,b;if(c.browser.msie&&c.browser.version<7){a=Math.max(document.documentElement.scrollWidth,document.body.scrollWidth);b=Math.max(document.documentElement.offsetWidth,document.body.offsetWidth);return a<b?c(window).width()+"px":a+"px"}else return c(document).width()+"px"},resize:function(){var a=c([]);c.each(c.ui.dialog.overlay.instances, function(){a=a.add(this)});a.css({width:0,height:0}).css({width:c.ui.dialog.overlay.width(),height:c.ui.dialog.overlay.height()})}});c.extend(c.ui.dialog.overlay.prototype,{destroy:function(){c.ui.dialog.overlay.destroy(this.$el)}})})(jQuery); diff --git a/wp-includes/js/jquery/ui.draggable.js b/wp-includes/js/jquery/ui.draggable.js index bcccaf12c..4f7a55272 100644 --- a/wp-includes/js/jquery/ui.draggable.js +++ b/wp-includes/js/jquery/ui.draggable.js @@ -1,5 +1,5 @@ /* - * jQuery UI Draggable 1.8.9 + * jQuery UI Draggable 1.8.12 * * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) * Dual licensed under the MIT or GPL Version 2 licenses. @@ -22,29 +22,29 @@ this.options.revert.call(this.element,b)){var c=this;d(this.helper).animate(this a.target)b=true});return b},_createHelper:function(a){var b=this.options;a=d.isFunction(b.helper)?d(b.helper.apply(this.element[0],[a])):b.helper=="clone"?this.element.clone():this.element;a.parents("body").length||a.appendTo(b.appendTo=="parent"?this.element[0].parentNode:b.appendTo);a[0]!=this.element[0]&&!/(fixed|absolute)/.test(a.css("position"))&&a.css("position","absolute");return a},_adjustOffsetFromHelper:function(a){if(typeof a=="string")a=a.split(" ");if(d.isArray(a))a={left:+a[0],top:+a[1]|| 0};if("left"in a)this.offset.click.left=a.left+this.margins.left;if("right"in a)this.offset.click.left=this.helperProportions.width-a.right+this.margins.left;if("top"in a)this.offset.click.top=a.top+this.margins.top;if("bottom"in a)this.offset.click.top=this.helperProportions.height-a.bottom+this.margins.top},_getParentOffset:function(){this.offsetParent=this.helper.offsetParent();var a=this.offsetParent.offset();if(this.cssPosition=="absolute"&&this.scrollParent[0]!=document&&d.ui.contains(this.scrollParent[0], this.offsetParent[0])){a.left+=this.scrollParent.scrollLeft();a.top+=this.scrollParent.scrollTop()}if(this.offsetParent[0]==document.body||this.offsetParent[0].tagName&&this.offsetParent[0].tagName.toLowerCase()=="html"&&d.browser.msie)a={top:0,left:0};return{top:a.top+(parseInt(this.offsetParent.css("borderTopWidth"),10)||0),left:a.left+(parseInt(this.offsetParent.css("borderLeftWidth"),10)||0)}},_getRelativeOffset:function(){if(this.cssPosition=="relative"){var a=this.element.position();return{top:a.top- -(parseInt(this.helper.css("top"),10)||0)+this.scrollParent.scrollTop(),left:a.left-(parseInt(this.helper.css("left"),10)||0)+this.scrollParent.scrollLeft()}}else return{top:0,left:0}},_cacheMargins:function(){this.margins={left:parseInt(this.element.css("marginLeft"),10)||0,top:parseInt(this.element.css("marginTop"),10)||0}},_cacheHelperProportions:function(){this.helperProportions={width:this.helper.outerWidth(),height:this.helper.outerHeight()}},_setContainment:function(){var a=this.options;if(a.containment== -"parent")a.containment=this.helper[0].parentNode;if(a.containment=="document"||a.containment=="window")this.containment=[(a.containment=="document"?0:d(window).scrollLeft())-this.offset.relative.left-this.offset.parent.left,(a.containment=="document"?0:d(window).scrollTop())-this.offset.relative.top-this.offset.parent.top,(a.containment=="document"?0:d(window).scrollLeft())+d(a.containment=="document"?document:window).width()-this.helperProportions.width-this.margins.left,(a.containment=="document"? -0:d(window).scrollTop())+(d(a.containment=="document"?document:window).height()||document.body.parentNode.scrollHeight)-this.helperProportions.height-this.margins.top];if(!/^(document|window|parent)$/.test(a.containment)&&a.containment.constructor!=Array){var b=d(a.containment)[0];if(b){a=d(a.containment).offset();var c=d(b).css("overflow")!="hidden";this.containment=[a.left+(parseInt(d(b).css("borderLeftWidth"),10)||0)+(parseInt(d(b).css("paddingLeft"),10)||0)-this.margins.left,a.top+(parseInt(d(b).css("borderTopWidth"), -10)||0)+(parseInt(d(b).css("paddingTop"),10)||0)-this.margins.top,a.left+(c?Math.max(b.scrollWidth,b.offsetWidth):b.offsetWidth)-(parseInt(d(b).css("borderLeftWidth"),10)||0)-(parseInt(d(b).css("paddingRight"),10)||0)-this.helperProportions.width-this.margins.left,a.top+(c?Math.max(b.scrollHeight,b.offsetHeight):b.offsetHeight)-(parseInt(d(b).css("borderTopWidth"),10)||0)-(parseInt(d(b).css("paddingBottom"),10)||0)-this.helperProportions.height-this.margins.top]}}else if(a.containment.constructor== -Array)this.containment=a.containment},_convertPositionTo:function(a,b){if(!b)b=this.position;a=a=="absolute"?1:-1;var c=this.cssPosition=="absolute"&&!(this.scrollParent[0]!=document&&d.ui.contains(this.scrollParent[0],this.offsetParent[0]))?this.offsetParent:this.scrollParent,f=/(html|body)/i.test(c[0].tagName);return{top:b.top+this.offset.relative.top*a+this.offset.parent.top*a-(d.browser.safari&&d.browser.version<526&&this.cssPosition=="fixed"?0:(this.cssPosition=="fixed"?-this.scrollParent.scrollTop(): -f?0:c.scrollTop())*a),left:b.left+this.offset.relative.left*a+this.offset.parent.left*a-(d.browser.safari&&d.browser.version<526&&this.cssPosition=="fixed"?0:(this.cssPosition=="fixed"?-this.scrollParent.scrollLeft():f?0:c.scrollLeft())*a)}},_generatePosition:function(a){var b=this.options,c=this.cssPosition=="absolute"&&!(this.scrollParent[0]!=document&&d.ui.contains(this.scrollParent[0],this.offsetParent[0]))?this.offsetParent:this.scrollParent,f=/(html|body)/i.test(c[0].tagName),e=a.pageX,g=a.pageY; -if(this.originalPosition){if(this.containment){if(a.pageX-this.offset.click.left<this.containment[0])e=this.containment[0]+this.offset.click.left;if(a.pageY-this.offset.click.top<this.containment[1])g=this.containment[1]+this.offset.click.top;if(a.pageX-this.offset.click.left>this.containment[2])e=this.containment[2]+this.offset.click.left;if(a.pageY-this.offset.click.top>this.containment[3])g=this.containment[3]+this.offset.click.top}if(b.grid){g=this.originalPageY+Math.round((g-this.originalPageY)/ -b.grid[1])*b.grid[1];g=this.containment?!(g-this.offset.click.top<this.containment[1]||g-this.offset.click.top>this.containment[3])?g:!(g-this.offset.click.top<this.containment[1])?g-b.grid[1]:g+b.grid[1]:g;e=this.originalPageX+Math.round((e-this.originalPageX)/b.grid[0])*b.grid[0];e=this.containment?!(e-this.offset.click.left<this.containment[0]||e-this.offset.click.left>this.containment[2])?e:!(e-this.offset.click.left<this.containment[0])?e-b.grid[0]:e+b.grid[0]:e}}return{top:g-this.offset.click.top- -this.offset.relative.top-this.offset.parent.top+(d.browser.safari&&d.browser.version<526&&this.cssPosition=="fixed"?0:this.cssPosition=="fixed"?-this.scrollParent.scrollTop():f?0:c.scrollTop()),left:e-this.offset.click.left-this.offset.relative.left-this.offset.parent.left+(d.browser.safari&&d.browser.version<526&&this.cssPosition=="fixed"?0:this.cssPosition=="fixed"?-this.scrollParent.scrollLeft():f?0:c.scrollLeft())}},_clear:function(){this.helper.removeClass("ui-draggable-dragging");this.helper[0]!= -this.element[0]&&!this.cancelHelperRemoval&&this.helper.remove();this.helper=null;this.cancelHelperRemoval=false},_trigger:function(a,b,c){c=c||this._uiHash();d.ui.plugin.call(this,a,[b,c]);if(a=="drag")this.positionAbs=this._convertPositionTo("absolute");return d.Widget.prototype._trigger.call(this,a,b,c)},plugins:{},_uiHash:function(){return{helper:this.helper,position:this.position,originalPosition:this.originalPosition,offset:this.positionAbs}}});d.extend(d.ui.draggable,{version:"1.8.9"}); -d.ui.plugin.add("draggable","connectToSortable",{start:function(a,b){var c=d(this).data("draggable"),f=c.options,e=d.extend({},b,{item:c.element});c.sortables=[];d(f.connectToSortable).each(function(){var g=d.data(this,"sortable");if(g&&!g.options.disabled){c.sortables.push({instance:g,shouldRevert:g.options.revert});g._refreshItems();g._trigger("activate",a,e)}})},stop:function(a,b){var c=d(this).data("draggable"),f=d.extend({},b,{item:c.element});d.each(c.sortables,function(){if(this.instance.isOver){this.instance.isOver= -0;c.cancelHelperRemoval=true;this.instance.cancelHelperRemoval=false;if(this.shouldRevert)this.instance.options.revert=true;this.instance._mouseStop(a);this.instance.options.helper=this.instance.options._helper;c.options.helper=="original"&&this.instance.currentItem.css({top:"auto",left:"auto"})}else{this.instance.cancelHelperRemoval=false;this.instance._trigger("deactivate",a,f)}})},drag:function(a,b){var c=d(this).data("draggable"),f=this;d.each(c.sortables,function(){this.instance.positionAbs= -c.positionAbs;this.instance.helperProportions=c.helperProportions;this.instance.offset.click=c.offset.click;if(this.instance._intersectsWith(this.instance.containerCache)){if(!this.instance.isOver){this.instance.isOver=1;this.instance.currentItem=d(f).clone().appendTo(this.instance.element).data("sortable-item",true);this.instance.options._helper=this.instance.options.helper;this.instance.options.helper=function(){return b.helper[0]};a.target=this.instance.currentItem[0];this.instance._mouseCapture(a, -true);this.instance._mouseStart(a,true,true);this.instance.offset.click.top=c.offset.click.top;this.instance.offset.click.left=c.offset.click.left;this.instance.offset.parent.left-=c.offset.parent.left-this.instance.offset.parent.left;this.instance.offset.parent.top-=c.offset.parent.top-this.instance.offset.parent.top;c._trigger("toSortable",a);c.dropped=this.instance.element;c.currentItem=c.element;this.instance.fromOutside=c}this.instance.currentItem&&this.instance._mouseDrag(a)}else if(this.instance.isOver){this.instance.isOver= -0;this.instance.cancelHelperRemoval=true;this.instance.options.revert=false;this.instance._trigger("out",a,this.instance._uiHash(this.instance));this.instance._mouseStop(a,true);this.instance.options.helper=this.instance.options._helper;this.instance.currentItem.remove();this.instance.placeholder&&this.instance.placeholder.remove();c._trigger("fromSortable",a);c.dropped=false}})}});d.ui.plugin.add("draggable","cursor",{start:function(){var a=d("body"),b=d(this).data("draggable").options;if(a.css("cursor"))b._cursor= -a.css("cursor");a.css("cursor",b.cursor)},stop:function(){var a=d(this).data("draggable").options;a._cursor&&d("body").css("cursor",a._cursor)}});d.ui.plugin.add("draggable","iframeFix",{start:function(){var a=d(this).data("draggable").options;d(a.iframeFix===true?"iframe":a.iframeFix).each(function(){d('<div class="ui-draggable-iframeFix" style="background: #fff;"></div>').css({width:this.offsetWidth+"px",height:this.offsetHeight+"px",position:"absolute",opacity:"0.001",zIndex:1E3}).css(d(this).offset()).appendTo("body")})}, -stop:function(){d("div.ui-draggable-iframeFix").each(function(){this.parentNode.removeChild(this)})}});d.ui.plugin.add("draggable","opacity",{start:function(a,b){a=d(b.helper);b=d(this).data("draggable").options;if(a.css("opacity"))b._opacity=a.css("opacity");a.css("opacity",b.opacity)},stop:function(a,b){a=d(this).data("draggable").options;a._opacity&&d(b.helper).css("opacity",a._opacity)}});d.ui.plugin.add("draggable","scroll",{start:function(){var a=d(this).data("draggable");if(a.scrollParent[0]!= -document&&a.scrollParent[0].tagName!="HTML")a.overflowOffset=a.scrollParent.offset()},drag:function(a){var b=d(this).data("draggable"),c=b.options,f=false;if(b.scrollParent[0]!=document&&b.scrollParent[0].tagName!="HTML"){if(!c.axis||c.axis!="x")if(b.overflowOffset.top+b.scrollParent[0].offsetHeight-a.pageY<c.scrollSensitivity)b.scrollParent[0].scrollTop=f=b.scrollParent[0].scrollTop+c.scrollSpeed;else if(a.pageY-b.overflowOffset.top<c.scrollSensitivity)b.scrollParent[0].scrollTop=f=b.scrollParent[0].scrollTop- -c.scrollSpeed;if(!c.axis||c.axis!="y")if(b.overflowOffset.left+b.scrollParent[0].offsetWidth-a.pageX<c.scrollSensitivity)b.scrollParent[0].scrollLeft=f=b.scrollParent[0].scrollLeft+c.scrollSpeed;else if(a.pageX-b.overflowOffset.left<c.scrollSensitivity)b.scrollParent[0].scrollLeft=f=b.scrollParent[0].scrollLeft-c.scrollSpeed}else{if(!c.axis||c.axis!="x")if(a.pageY-d(document).scrollTop()<c.scrollSensitivity)f=d(document).scrollTop(d(document).scrollTop()-c.scrollSpeed);else if(d(window).height()- -(a.pageY-d(document).scrollTop())<c.scrollSensitivity)f=d(document).scrollTop(d(document).scrollTop()+c.scrollSpeed);if(!c.axis||c.axis!="y")if(a.pageX-d(document).scrollLeft()<c.scrollSensitivity)f=d(document).scrollLeft(d(document).scrollLeft()-c.scrollSpeed);else if(d(window).width()-(a.pageX-d(document).scrollLeft())<c.scrollSensitivity)f=d(document).scrollLeft(d(document).scrollLeft()+c.scrollSpeed)}f!==false&&d.ui.ddmanager&&!c.dropBehaviour&&d.ui.ddmanager.prepareOffsets(b,a)}});d.ui.plugin.add("draggable", -"snap",{start:function(){var a=d(this).data("draggable"),b=a.options;a.snapElements=[];d(b.snap.constructor!=String?b.snap.items||":data(draggable)":b.snap).each(function(){var c=d(this),f=c.offset();this!=a.element[0]&&a.snapElements.push({item:this,width:c.outerWidth(),height:c.outerHeight(),top:f.top,left:f.left})})},drag:function(a,b){for(var c=d(this).data("draggable"),f=c.options,e=f.snapTolerance,g=b.offset.left,n=g+c.helperProportions.width,m=b.offset.top,o=m+c.helperProportions.height,h= -c.snapElements.length-1;h>=0;h--){var i=c.snapElements[h].left,k=i+c.snapElements[h].width,j=c.snapElements[h].top,l=j+c.snapElements[h].height;if(i-e<g&&g<k+e&&j-e<m&&m<l+e||i-e<g&&g<k+e&&j-e<o&&o<l+e||i-e<n&&n<k+e&&j-e<m&&m<l+e||i-e<n&&n<k+e&&j-e<o&&o<l+e){if(f.snapMode!="inner"){var p=Math.abs(j-o)<=e,q=Math.abs(l-m)<=e,r=Math.abs(i-n)<=e,s=Math.abs(k-g)<=e;if(p)b.position.top=c._convertPositionTo("relative",{top:j-c.helperProportions.height,left:0}).top-c.margins.top;if(q)b.position.top=c._convertPositionTo("relative", -{top:l,left:0}).top-c.margins.top;if(r)b.position.left=c._convertPositionTo("relative",{top:0,left:i-c.helperProportions.width}).left-c.margins.left;if(s)b.position.left=c._convertPositionTo("relative",{top:0,left:k}).left-c.margins.left}var t=p||q||r||s;if(f.snapMode!="outer"){p=Math.abs(j-m)<=e;q=Math.abs(l-o)<=e;r=Math.abs(i-g)<=e;s=Math.abs(k-n)<=e;if(p)b.position.top=c._convertPositionTo("relative",{top:j,left:0}).top-c.margins.top;if(q)b.position.top=c._convertPositionTo("relative",{top:l-c.helperProportions.height, -left:0}).top-c.margins.top;if(r)b.position.left=c._convertPositionTo("relative",{top:0,left:i}).left-c.margins.left;if(s)b.position.left=c._convertPositionTo("relative",{top:0,left:k-c.helperProportions.width}).left-c.margins.left}if(!c.snapElements[h].snapping&&(p||q||r||s||t))c.options.snap.snap&&c.options.snap.snap.call(c.element,a,d.extend(c._uiHash(),{snapItem:c.snapElements[h].item}));c.snapElements[h].snapping=p||q||r||s||t}else{c.snapElements[h].snapping&&c.options.snap.release&&c.options.snap.release.call(c.element, -a,d.extend(c._uiHash(),{snapItem:c.snapElements[h].item}));c.snapElements[h].snapping=false}}}});d.ui.plugin.add("draggable","stack",{start:function(){var a=d(this).data("draggable").options;a=d.makeArray(d(a.stack)).sort(function(c,f){return(parseInt(d(c).css("zIndex"),10)||0)-(parseInt(d(f).css("zIndex"),10)||0)});if(a.length){var b=parseInt(a[0].style.zIndex)||0;d(a).each(function(c){this.style.zIndex=b+c});this[0].style.zIndex=b+a.length}}});d.ui.plugin.add("draggable","zIndex",{start:function(a, -b){a=d(b.helper);b=d(this).data("draggable").options;if(a.css("zIndex"))b._zIndex=a.css("zIndex");a.css("zIndex",b.zIndex)},stop:function(a,b){a=d(this).data("draggable").options;a._zIndex&&d(b.helper).css("zIndex",a._zIndex)}})})(jQuery); +(parseInt(this.helper.css("top"),10)||0)+this.scrollParent.scrollTop(),left:a.left-(parseInt(this.helper.css("left"),10)||0)+this.scrollParent.scrollLeft()}}else return{top:0,left:0}},_cacheMargins:function(){this.margins={left:parseInt(this.element.css("marginLeft"),10)||0,top:parseInt(this.element.css("marginTop"),10)||0,right:parseInt(this.element.css("marginRight"),10)||0,bottom:parseInt(this.element.css("marginBottom"),10)||0}},_cacheHelperProportions:function(){this.helperProportions={width:this.helper.outerWidth(), +height:this.helper.outerHeight()}},_setContainment:function(){var a=this.options;if(a.containment=="parent")a.containment=this.helper[0].parentNode;if(a.containment=="document"||a.containment=="window")this.containment=[(a.containment=="document"?0:d(window).scrollLeft())-this.offset.relative.left-this.offset.parent.left,(a.containment=="document"?0:d(window).scrollTop())-this.offset.relative.top-this.offset.parent.top,(a.containment=="document"?0:d(window).scrollLeft())+d(a.containment=="document"? +document:window).width()-this.helperProportions.width-this.margins.left,(a.containment=="document"?0:d(window).scrollTop())+(d(a.containment=="document"?document:window).height()||document.body.parentNode.scrollHeight)-this.helperProportions.height-this.margins.top];if(!/^(document|window|parent)$/.test(a.containment)&&a.containment.constructor!=Array){var b=d(a.containment)[0];if(b){a=d(a.containment).offset();var c=d(b).css("overflow")!="hidden";this.containment=[a.left+(parseInt(d(b).css("borderLeftWidth"), +10)||0)+(parseInt(d(b).css("paddingLeft"),10)||0),a.top+(parseInt(d(b).css("borderTopWidth"),10)||0)+(parseInt(d(b).css("paddingTop"),10)||0),a.left+(c?Math.max(b.scrollWidth,b.offsetWidth):b.offsetWidth)-(parseInt(d(b).css("borderLeftWidth"),10)||0)-(parseInt(d(b).css("paddingRight"),10)||0)-this.helperProportions.width-this.margins.left-this.margins.right,a.top+(c?Math.max(b.scrollHeight,b.offsetHeight):b.offsetHeight)-(parseInt(d(b).css("borderTopWidth"),10)||0)-(parseInt(d(b).css("paddingBottom"), +10)||0)-this.helperProportions.height-this.margins.top-this.margins.bottom]}}else if(a.containment.constructor==Array)this.containment=a.containment},_convertPositionTo:function(a,b){if(!b)b=this.position;a=a=="absolute"?1:-1;var c=this.cssPosition=="absolute"&&!(this.scrollParent[0]!=document&&d.ui.contains(this.scrollParent[0],this.offsetParent[0]))?this.offsetParent:this.scrollParent,f=/(html|body)/i.test(c[0].tagName);return{top:b.top+this.offset.relative.top*a+this.offset.parent.top*a-(d.browser.safari&& +d.browser.version<526&&this.cssPosition=="fixed"?0:(this.cssPosition=="fixed"?-this.scrollParent.scrollTop():f?0:c.scrollTop())*a),left:b.left+this.offset.relative.left*a+this.offset.parent.left*a-(d.browser.safari&&d.browser.version<526&&this.cssPosition=="fixed"?0:(this.cssPosition=="fixed"?-this.scrollParent.scrollLeft():f?0:c.scrollLeft())*a)}},_generatePosition:function(a){var b=this.options,c=this.cssPosition=="absolute"&&!(this.scrollParent[0]!=document&&d.ui.contains(this.scrollParent[0], +this.offsetParent[0]))?this.offsetParent:this.scrollParent,f=/(html|body)/i.test(c[0].tagName),e=a.pageX,g=a.pageY;if(this.originalPosition){if(this.containment){if(a.pageX-this.offset.click.left<this.containment[0])e=this.containment[0]+this.offset.click.left;if(a.pageY-this.offset.click.top<this.containment[1])g=this.containment[1]+this.offset.click.top;if(a.pageX-this.offset.click.left>this.containment[2])e=this.containment[2]+this.offset.click.left;if(a.pageY-this.offset.click.top>this.containment[3])g= +this.containment[3]+this.offset.click.top}if(b.grid){g=this.originalPageY+Math.round((g-this.originalPageY)/b.grid[1])*b.grid[1];g=this.containment?!(g-this.offset.click.top<this.containment[1]||g-this.offset.click.top>this.containment[3])?g:!(g-this.offset.click.top<this.containment[1])?g-b.grid[1]:g+b.grid[1]:g;e=this.originalPageX+Math.round((e-this.originalPageX)/b.grid[0])*b.grid[0];e=this.containment?!(e-this.offset.click.left<this.containment[0]||e-this.offset.click.left>this.containment[2])? +e:!(e-this.offset.click.left<this.containment[0])?e-b.grid[0]:e+b.grid[0]:e}}return{top:g-this.offset.click.top-this.offset.relative.top-this.offset.parent.top+(d.browser.safari&&d.browser.version<526&&this.cssPosition=="fixed"?0:this.cssPosition=="fixed"?-this.scrollParent.scrollTop():f?0:c.scrollTop()),left:e-this.offset.click.left-this.offset.relative.left-this.offset.parent.left+(d.browser.safari&&d.browser.version<526&&this.cssPosition=="fixed"?0:this.cssPosition=="fixed"?-this.scrollParent.scrollLeft(): +f?0:c.scrollLeft())}},_clear:function(){this.helper.removeClass("ui-draggable-dragging");this.helper[0]!=this.element[0]&&!this.cancelHelperRemoval&&this.helper.remove();this.helper=null;this.cancelHelperRemoval=false},_trigger:function(a,b,c){c=c||this._uiHash();d.ui.plugin.call(this,a,[b,c]);if(a=="drag")this.positionAbs=this._convertPositionTo("absolute");return d.Widget.prototype._trigger.call(this,a,b,c)},plugins:{},_uiHash:function(){return{helper:this.helper,position:this.position,originalPosition:this.originalPosition, +offset:this.positionAbs}}});d.extend(d.ui.draggable,{version:"1.8.12"});d.ui.plugin.add("draggable","connectToSortable",{start:function(a,b){var c=d(this).data("draggable"),f=c.options,e=d.extend({},b,{item:c.element});c.sortables=[];d(f.connectToSortable).each(function(){var g=d.data(this,"sortable");if(g&&!g.options.disabled){c.sortables.push({instance:g,shouldRevert:g.options.revert});g.refreshPositions();g._trigger("activate",a,e)}})},stop:function(a,b){var c=d(this).data("draggable"),f=d.extend({}, +b,{item:c.element});d.each(c.sortables,function(){if(this.instance.isOver){this.instance.isOver=0;c.cancelHelperRemoval=true;this.instance.cancelHelperRemoval=false;if(this.shouldRevert)this.instance.options.revert=true;this.instance._mouseStop(a);this.instance.options.helper=this.instance.options._helper;c.options.helper=="original"&&this.instance.currentItem.css({top:"auto",left:"auto"})}else{this.instance.cancelHelperRemoval=false;this.instance._trigger("deactivate",a,f)}})},drag:function(a,b){var c= +d(this).data("draggable"),f=this;d.each(c.sortables,function(){this.instance.positionAbs=c.positionAbs;this.instance.helperProportions=c.helperProportions;this.instance.offset.click=c.offset.click;if(this.instance._intersectsWith(this.instance.containerCache)){if(!this.instance.isOver){this.instance.isOver=1;this.instance.currentItem=d(f).clone().appendTo(this.instance.element).data("sortable-item",true);this.instance.options._helper=this.instance.options.helper;this.instance.options.helper=function(){return b.helper[0]}; +a.target=this.instance.currentItem[0];this.instance._mouseCapture(a,true);this.instance._mouseStart(a,true,true);this.instance.offset.click.top=c.offset.click.top;this.instance.offset.click.left=c.offset.click.left;this.instance.offset.parent.left-=c.offset.parent.left-this.instance.offset.parent.left;this.instance.offset.parent.top-=c.offset.parent.top-this.instance.offset.parent.top;c._trigger("toSortable",a);c.dropped=this.instance.element;c.currentItem=c.element;this.instance.fromOutside=c}this.instance.currentItem&& +this.instance._mouseDrag(a)}else if(this.instance.isOver){this.instance.isOver=0;this.instance.cancelHelperRemoval=true;this.instance.options.revert=false;this.instance._trigger("out",a,this.instance._uiHash(this.instance));this.instance._mouseStop(a,true);this.instance.options.helper=this.instance.options._helper;this.instance.currentItem.remove();this.instance.placeholder&&this.instance.placeholder.remove();c._trigger("fromSortable",a);c.dropped=false}})}});d.ui.plugin.add("draggable","cursor", +{start:function(){var a=d("body"),b=d(this).data("draggable").options;if(a.css("cursor"))b._cursor=a.css("cursor");a.css("cursor",b.cursor)},stop:function(){var a=d(this).data("draggable").options;a._cursor&&d("body").css("cursor",a._cursor)}});d.ui.plugin.add("draggable","iframeFix",{start:function(){var a=d(this).data("draggable").options;d(a.iframeFix===true?"iframe":a.iframeFix).each(function(){d('<div class="ui-draggable-iframeFix" style="background: #fff;"></div>').css({width:this.offsetWidth+ +"px",height:this.offsetHeight+"px",position:"absolute",opacity:"0.001",zIndex:1E3}).css(d(this).offset()).appendTo("body")})},stop:function(){d("div.ui-draggable-iframeFix").each(function(){this.parentNode.removeChild(this)})}});d.ui.plugin.add("draggable","opacity",{start:function(a,b){a=d(b.helper);b=d(this).data("draggable").options;if(a.css("opacity"))b._opacity=a.css("opacity");a.css("opacity",b.opacity)},stop:function(a,b){a=d(this).data("draggable").options;a._opacity&&d(b.helper).css("opacity", +a._opacity)}});d.ui.plugin.add("draggable","scroll",{start:function(){var a=d(this).data("draggable");if(a.scrollParent[0]!=document&&a.scrollParent[0].tagName!="HTML")a.overflowOffset=a.scrollParent.offset()},drag:function(a){var b=d(this).data("draggable"),c=b.options,f=false;if(b.scrollParent[0]!=document&&b.scrollParent[0].tagName!="HTML"){if(!c.axis||c.axis!="x")if(b.overflowOffset.top+b.scrollParent[0].offsetHeight-a.pageY<c.scrollSensitivity)b.scrollParent[0].scrollTop=f=b.scrollParent[0].scrollTop+ +c.scrollSpeed;else if(a.pageY-b.overflowOffset.top<c.scrollSensitivity)b.scrollParent[0].scrollTop=f=b.scrollParent[0].scrollTop-c.scrollSpeed;if(!c.axis||c.axis!="y")if(b.overflowOffset.left+b.scrollParent[0].offsetWidth-a.pageX<c.scrollSensitivity)b.scrollParent[0].scrollLeft=f=b.scrollParent[0].scrollLeft+c.scrollSpeed;else if(a.pageX-b.overflowOffset.left<c.scrollSensitivity)b.scrollParent[0].scrollLeft=f=b.scrollParent[0].scrollLeft-c.scrollSpeed}else{if(!c.axis||c.axis!="x")if(a.pageY-d(document).scrollTop()< +c.scrollSensitivity)f=d(document).scrollTop(d(document).scrollTop()-c.scrollSpeed);else if(d(window).height()-(a.pageY-d(document).scrollTop())<c.scrollSensitivity)f=d(document).scrollTop(d(document).scrollTop()+c.scrollSpeed);if(!c.axis||c.axis!="y")if(a.pageX-d(document).scrollLeft()<c.scrollSensitivity)f=d(document).scrollLeft(d(document).scrollLeft()-c.scrollSpeed);else if(d(window).width()-(a.pageX-d(document).scrollLeft())<c.scrollSensitivity)f=d(document).scrollLeft(d(document).scrollLeft()+ +c.scrollSpeed)}f!==false&&d.ui.ddmanager&&!c.dropBehaviour&&d.ui.ddmanager.prepareOffsets(b,a)}});d.ui.plugin.add("draggable","snap",{start:function(){var a=d(this).data("draggable"),b=a.options;a.snapElements=[];d(b.snap.constructor!=String?b.snap.items||":data(draggable)":b.snap).each(function(){var c=d(this),f=c.offset();this!=a.element[0]&&a.snapElements.push({item:this,width:c.outerWidth(),height:c.outerHeight(),top:f.top,left:f.left})})},drag:function(a,b){for(var c=d(this).data("draggable"), +f=c.options,e=f.snapTolerance,g=b.offset.left,n=g+c.helperProportions.width,m=b.offset.top,o=m+c.helperProportions.height,h=c.snapElements.length-1;h>=0;h--){var i=c.snapElements[h].left,k=i+c.snapElements[h].width,j=c.snapElements[h].top,l=j+c.snapElements[h].height;if(i-e<g&&g<k+e&&j-e<m&&m<l+e||i-e<g&&g<k+e&&j-e<o&&o<l+e||i-e<n&&n<k+e&&j-e<m&&m<l+e||i-e<n&&n<k+e&&j-e<o&&o<l+e){if(f.snapMode!="inner"){var p=Math.abs(j-o)<=e,q=Math.abs(l-m)<=e,r=Math.abs(i-n)<=e,s=Math.abs(k-g)<=e;if(p)b.position.top= +c._convertPositionTo("relative",{top:j-c.helperProportions.height,left:0}).top-c.margins.top;if(q)b.position.top=c._convertPositionTo("relative",{top:l,left:0}).top-c.margins.top;if(r)b.position.left=c._convertPositionTo("relative",{top:0,left:i-c.helperProportions.width}).left-c.margins.left;if(s)b.position.left=c._convertPositionTo("relative",{top:0,left:k}).left-c.margins.left}var t=p||q||r||s;if(f.snapMode!="outer"){p=Math.abs(j-m)<=e;q=Math.abs(l-o)<=e;r=Math.abs(i-g)<=e;s=Math.abs(k-n)<=e;if(p)b.position.top= +c._convertPositionTo("relative",{top:j,left:0}).top-c.margins.top;if(q)b.position.top=c._convertPositionTo("relative",{top:l-c.helperProportions.height,left:0}).top-c.margins.top;if(r)b.position.left=c._convertPositionTo("relative",{top:0,left:i}).left-c.margins.left;if(s)b.position.left=c._convertPositionTo("relative",{top:0,left:k-c.helperProportions.width}).left-c.margins.left}if(!c.snapElements[h].snapping&&(p||q||r||s||t))c.options.snap.snap&&c.options.snap.snap.call(c.element,a,d.extend(c._uiHash(), +{snapItem:c.snapElements[h].item}));c.snapElements[h].snapping=p||q||r||s||t}else{c.snapElements[h].snapping&&c.options.snap.release&&c.options.snap.release.call(c.element,a,d.extend(c._uiHash(),{snapItem:c.snapElements[h].item}));c.snapElements[h].snapping=false}}}});d.ui.plugin.add("draggable","stack",{start:function(){var a=d(this).data("draggable").options;a=d.makeArray(d(a.stack)).sort(function(c,f){return(parseInt(d(c).css("zIndex"),10)||0)-(parseInt(d(f).css("zIndex"),10)||0)});if(a.length){var b= +parseInt(a[0].style.zIndex)||0;d(a).each(function(c){this.style.zIndex=b+c});this[0].style.zIndex=b+a.length}}});d.ui.plugin.add("draggable","zIndex",{start:function(a,b){a=d(b.helper);b=d(this).data("draggable").options;if(a.css("zIndex"))b._zIndex=a.css("zIndex");a.css("zIndex",b.zIndex)},stop:function(a,b){a=d(this).data("draggable").options;a._zIndex&&d(b.helper).css("zIndex",a._zIndex)}})})(jQuery); diff --git a/wp-includes/js/jquery/ui.droppable.js b/wp-includes/js/jquery/ui.droppable.js index 8ef3f8798..b29390c71 100644 --- a/wp-includes/js/jquery/ui.droppable.js +++ b/wp-includes/js/jquery/ui.droppable.js @@ -1,5 +1,5 @@ /* - * jQuery UI Droppable 1.8.9 + * jQuery UI Droppable 1.8.12 * * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) * Dual licensed under the MIT or GPL Version 2 licenses. @@ -18,9 +18,9 @@ a.addClasses&&this.element.addClass("ui-droppable")},destroy:function(){for(var this.element.addClass(this.options.activeClass);b&&this._trigger("activate",a,this.ui(b))},_deactivate:function(a){var b=d.ui.ddmanager.current;this.options.activeClass&&this.element.removeClass(this.options.activeClass);b&&this._trigger("deactivate",a,this.ui(b))},_over:function(a){var b=d.ui.ddmanager.current;if(!(!b||(b.currentItem||b.element)[0]==this.element[0]))if(this.accept.call(this.element[0],b.currentItem||b.element)){this.options.hoverClass&&this.element.addClass(this.options.hoverClass); this._trigger("over",a,this.ui(b))}},_out:function(a){var b=d.ui.ddmanager.current;if(!(!b||(b.currentItem||b.element)[0]==this.element[0]))if(this.accept.call(this.element[0],b.currentItem||b.element)){this.options.hoverClass&&this.element.removeClass(this.options.hoverClass);this._trigger("out",a,this.ui(b))}},_drop:function(a,b){var c=b||d.ui.ddmanager.current;if(!c||(c.currentItem||c.element)[0]==this.element[0])return false;var e=false;this.element.find(":data(droppable)").not(".ui-draggable-dragging").each(function(){var g= d.data(this,"droppable");if(g.options.greedy&&!g.options.disabled&&g.options.scope==c.options.scope&&g.accept.call(g.element[0],c.currentItem||c.element)&&d.ui.intersect(c,d.extend(g,{offset:g.element.offset()}),g.options.tolerance)){e=true;return false}});if(e)return false;if(this.accept.call(this.element[0],c.currentItem||c.element)){this.options.activeClass&&this.element.removeClass(this.options.activeClass);this.options.hoverClass&&this.element.removeClass(this.options.hoverClass);this._trigger("drop", -a,this.ui(c));return this.element}return false},ui:function(a){return{draggable:a.currentItem||a.element,helper:a.helper,position:a.position,offset:a.positionAbs}}});d.extend(d.ui.droppable,{version:"1.8.9"});d.ui.intersect=function(a,b,c){if(!b.offset)return false;var e=(a.positionAbs||a.position.absolute).left,g=e+a.helperProportions.width,f=(a.positionAbs||a.position.absolute).top,h=f+a.helperProportions.height,i=b.offset.left,k=i+b.proportions.width,j=b.offset.top,l=j+b.proportions.height; +a,this.ui(c));return this.element}return false},ui:function(a){return{draggable:a.currentItem||a.element,helper:a.helper,position:a.position,offset:a.positionAbs}}});d.extend(d.ui.droppable,{version:"1.8.12"});d.ui.intersect=function(a,b,c){if(!b.offset)return false;var e=(a.positionAbs||a.position.absolute).left,g=e+a.helperProportions.width,f=(a.positionAbs||a.position.absolute).top,h=f+a.helperProportions.height,i=b.offset.left,k=i+b.proportions.width,j=b.offset.top,l=j+b.proportions.height; switch(c){case "fit":return i<=e&&g<=k&&j<=f&&h<=l;case "intersect":return i<e+a.helperProportions.width/2&&g-a.helperProportions.width/2<k&&j<f+a.helperProportions.height/2&&h-a.helperProportions.height/2<l;case "pointer":return d.ui.isOver((a.positionAbs||a.position.absolute).top+(a.clickOffset||a.offset.click).top,(a.positionAbs||a.position.absolute).left+(a.clickOffset||a.offset.click).left,j,i,b.proportions.height,b.proportions.width);case "touch":return(f>=j&&f<=l||h>=j&&h<=l||f<j&&h>l)&&(e>= i&&e<=k||g>=i&&g<=k||e<i&&g>k);default:return false}};d.ui.ddmanager={current:null,droppables:{"default":[]},prepareOffsets:function(a,b){var c=d.ui.ddmanager.droppables[a.options.scope]||[],e=b?b.type:null,g=(a.currentItem||a.element).find(":data(droppable)").andSelf(),f=0;a:for(;f<c.length;f++)if(!(c[f].options.disabled||a&&!c[f].accept.call(c[f].element[0],a.currentItem||a.element))){for(var h=0;h<g.length;h++)if(g[h]==c[f].element[0]){c[f].proportions.height=0;continue a}c[f].visible=c[f].element.css("display")!= -"none";if(c[f].visible){c[f].offset=c[f].element.offset();c[f].proportions={width:c[f].element[0].offsetWidth,height:c[f].element[0].offsetHeight};e=="mousedown"&&c[f]._activate.call(c[f],b)}}},drop:function(a,b){var c=false;d.each(d.ui.ddmanager.droppables[a.options.scope]||[],function(){if(this.options){if(!this.options.disabled&&this.visible&&d.ui.intersect(a,this,this.options.tolerance))c=c||this._drop.call(this,b);if(!this.options.disabled&&this.visible&&this.accept.call(this.element[0],a.currentItem|| +"none";if(c[f].visible){e=="mousedown"&&c[f]._activate.call(c[f],b);c[f].offset=c[f].element.offset();c[f].proportions={width:c[f].element[0].offsetWidth,height:c[f].element[0].offsetHeight}}}},drop:function(a,b){var c=false;d.each(d.ui.ddmanager.droppables[a.options.scope]||[],function(){if(this.options){if(!this.options.disabled&&this.visible&&d.ui.intersect(a,this,this.options.tolerance))c=c||this._drop.call(this,b);if(!this.options.disabled&&this.visible&&this.accept.call(this.element[0],a.currentItem|| a.element)){this.isout=1;this.isover=0;this._deactivate.call(this,b)}}});return c},drag:function(a,b){a.options.refreshPositions&&d.ui.ddmanager.prepareOffsets(a,b);d.each(d.ui.ddmanager.droppables[a.options.scope]||[],function(){if(!(this.options.disabled||this.greedyChild||!this.visible)){var c=d.ui.intersect(a,this,this.options.tolerance);if(c=!c&&this.isover==1?"isout":c&&this.isover==0?"isover":null){var e;if(this.options.greedy){var g=this.element.parents(":data(droppable):eq(0)");if(g.length){e= d.data(g[0],"droppable");e.greedyChild=c=="isover"?1:0}}if(e&&c=="isover"){e.isover=0;e.isout=1;e._out.call(e,b)}this[c]=1;this[c=="isout"?"isover":"isout"]=0;this[c=="isover"?"_over":"_out"].call(this,b);if(e&&c=="isout"){e.isout=0;e.isover=1;e._over.call(e,b)}}}})}}})(jQuery); diff --git a/wp-includes/js/jquery/ui.mouse.js b/wp-includes/js/jquery/ui.mouse.js index 135db8e2f..03a69ebbe 100644 --- a/wp-includes/js/jquery/ui.mouse.js +++ b/wp-includes/js/jquery/ui.mouse.js @@ -1,5 +1,5 @@ /*! - * jQuery UI Mouse 1.8.9 + * jQuery UI Mouse 1.8.12 * * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) * Dual licensed under the MIT or GPL Version 2 licenses. @@ -10,8 +10,8 @@ * Depends: * jquery.ui.widget.js */ -(function(c){c.widget("ui.mouse",{options:{cancel:":input,option",distance:1,delay:0},_mouseInit:function(){var a=this;this.element.bind("mousedown."+this.widgetName,function(b){return a._mouseDown(b)}).bind("click."+this.widgetName,function(b){if(true===c.data(b.target,a.widgetName+".preventClickEvent")){c.removeData(b.target,a.widgetName+".preventClickEvent");b.stopImmediatePropagation();return false}});this.started=false},_mouseDestroy:function(){this.element.unbind("."+this.widgetName)},_mouseDown:function(a){a.originalEvent= -a.originalEvent||{};if(!a.originalEvent.mouseHandled){this._mouseStarted&&this._mouseUp(a);this._mouseDownEvent=a;var b=this,e=a.which==1,f=typeof this.options.cancel=="string"?c(a.target).parents().add(a.target).filter(this.options.cancel).length:false;if(!e||f||!this._mouseCapture(a))return true;this.mouseDelayMet=!this.options.delay;if(!this.mouseDelayMet)this._mouseDelayTimer=setTimeout(function(){b.mouseDelayMet=true},this.options.delay);if(this._mouseDistanceMet(a)&&this._mouseDelayMet(a)){this._mouseStarted= -this._mouseStart(a)!==false;if(!this._mouseStarted){a.preventDefault();return true}}this._mouseMoveDelegate=function(d){return b._mouseMove(d)};this._mouseUpDelegate=function(d){return b._mouseUp(d)};c(document).bind("mousemove."+this.widgetName,this._mouseMoveDelegate).bind("mouseup."+this.widgetName,this._mouseUpDelegate);a.preventDefault();return a.originalEvent.mouseHandled=true}},_mouseMove:function(a){if(c.browser.msie&&!(document.documentMode>=9)&&!a.button)return this._mouseUp(a);if(this._mouseStarted){this._mouseDrag(a); -return a.preventDefault()}if(this._mouseDistanceMet(a)&&this._mouseDelayMet(a))(this._mouseStarted=this._mouseStart(this._mouseDownEvent,a)!==false)?this._mouseDrag(a):this._mouseUp(a);return!this._mouseStarted},_mouseUp:function(a){c(document).unbind("mousemove."+this.widgetName,this._mouseMoveDelegate).unbind("mouseup."+this.widgetName,this._mouseUpDelegate);if(this._mouseStarted){this._mouseStarted=false;a.target==this._mouseDownEvent.target&&c.data(a.target,this.widgetName+".preventClickEvent", -true);this._mouseStop(a)}return false},_mouseDistanceMet:function(a){return Math.max(Math.abs(this._mouseDownEvent.pageX-a.pageX),Math.abs(this._mouseDownEvent.pageY-a.pageY))>=this.options.distance},_mouseDelayMet:function(){return this.mouseDelayMet},_mouseStart:function(){},_mouseDrag:function(){},_mouseStop:function(){},_mouseCapture:function(){return true}})})(jQuery); +(function(b){b.widget("ui.mouse",{options:{cancel:":input,option",distance:1,delay:0},_mouseInit:function(){var a=this;this.element.bind("mousedown."+this.widgetName,function(c){return a._mouseDown(c)}).bind("click."+this.widgetName,function(c){if(true===b.data(c.target,a.widgetName+".preventClickEvent")){b.removeData(c.target,a.widgetName+".preventClickEvent");c.stopImmediatePropagation();return false}});this.started=false},_mouseDestroy:function(){this.element.unbind("."+this.widgetName)},_mouseDown:function(a){a.originalEvent= +a.originalEvent||{};if(!a.originalEvent.mouseHandled){this._mouseStarted&&this._mouseUp(a);this._mouseDownEvent=a;var c=this,e=a.which==1,f=typeof this.options.cancel=="string"?b(a.target).parents().add(a.target).filter(this.options.cancel).length:false;if(!e||f||!this._mouseCapture(a))return true;this.mouseDelayMet=!this.options.delay;if(!this.mouseDelayMet)this._mouseDelayTimer=setTimeout(function(){c.mouseDelayMet=true},this.options.delay);if(this._mouseDistanceMet(a)&&this._mouseDelayMet(a)){this._mouseStarted= +this._mouseStart(a)!==false;if(!this._mouseStarted){a.preventDefault();return true}}true===b.data(a.target,this.widgetName+".preventClickEvent")&&b.removeData(a.target,this.widgetName+".preventClickEvent");this._mouseMoveDelegate=function(d){return c._mouseMove(d)};this._mouseUpDelegate=function(d){return c._mouseUp(d)};b(document).bind("mousemove."+this.widgetName,this._mouseMoveDelegate).bind("mouseup."+this.widgetName,this._mouseUpDelegate);a.preventDefault();return a.originalEvent.mouseHandled= +true}},_mouseMove:function(a){if(b.browser.msie&&!(document.documentMode>=9)&&!a.button)return this._mouseUp(a);if(this._mouseStarted){this._mouseDrag(a);return a.preventDefault()}if(this._mouseDistanceMet(a)&&this._mouseDelayMet(a))(this._mouseStarted=this._mouseStart(this._mouseDownEvent,a)!==false)?this._mouseDrag(a):this._mouseUp(a);return!this._mouseStarted},_mouseUp:function(a){b(document).unbind("mousemove."+this.widgetName,this._mouseMoveDelegate).unbind("mouseup."+this.widgetName,this._mouseUpDelegate); +if(this._mouseStarted){this._mouseStarted=false;a.target==this._mouseDownEvent.target&&b.data(a.target,this.widgetName+".preventClickEvent",true);this._mouseStop(a)}return false},_mouseDistanceMet:function(a){return Math.max(Math.abs(this._mouseDownEvent.pageX-a.pageX),Math.abs(this._mouseDownEvent.pageY-a.pageY))>=this.options.distance},_mouseDelayMet:function(){return this.mouseDelayMet},_mouseStart:function(){},_mouseDrag:function(){},_mouseStop:function(){},_mouseCapture:function(){return true}})})(jQuery); diff --git a/wp-includes/js/jquery/ui.position.js b/wp-includes/js/jquery/ui.position.js index c2ec6e45e..37e50e5d1 100644 --- a/wp-includes/js/jquery/ui.position.js +++ b/wp-includes/js/jquery/ui.position.js @@ -1,5 +1,5 @@ /* - * jQuery UI Position 1.8.9 + * jQuery UI Position 1.8.12 * * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) * Dual licensed under the MIT or GPL Version 2 licenses. diff --git a/wp-includes/js/jquery/ui.resizable.js b/wp-includes/js/jquery/ui.resizable.js index c1117f3e9..c7972a8e8 100644 --- a/wp-includes/js/jquery/ui.resizable.js +++ b/wp-includes/js/jquery/ui.resizable.js @@ -1,5 +1,5 @@ /* - * jQuery UI Resizable 1.8.9 + * jQuery UI Resizable 1.8.12 * * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) * Dual licensed under the MIT or GPL Version 2 licenses. @@ -24,24 +24,24 @@ d=this.element;this.resizing=true;this.documentScroll={top:e(document).scrollTop this.helper.offset();this.position={left:c,top:f};this.size=this._helper?{width:d.outerWidth(),height:d.outerHeight()}:{width:d.width(),height:d.height()};this.originalSize=this._helper?{width:d.outerWidth(),height:d.outerHeight()}:{width:d.width(),height:d.height()};this.originalPosition={left:c,top:f};this.sizeDiff={width:d.outerWidth()-d.width(),height:d.outerHeight()-d.height()};this.originalMousePosition={left:b.pageX,top:b.pageY};this.aspectRatio=typeof a.aspectRatio=="number"?a.aspectRatio: this.originalSize.width/this.originalSize.height||1;a=e(".ui-resizable-"+this.axis).css("cursor");e("body").css("cursor",a=="auto"?this.axis+"-resize":a);d.addClass("ui-resizable-resizing");this._propagate("start",b);return true},_mouseDrag:function(b){var a=this.helper,c=this.originalMousePosition,d=this._change[this.axis];if(!d)return false;c=d.apply(this,[b,b.pageX-c.left||0,b.pageY-c.top||0]);if(this._aspectRatio||b.shiftKey)c=this._updateRatio(c,b);c=this._respectSize(c,b);this._propagate("resize", b);a.css({top:this.position.top+"px",left:this.position.left+"px",width:this.size.width+"px",height:this.size.height+"px"});!this._helper&&this._proportionallyResizeElements.length&&this._proportionallyResize();this._updateCache(c);this._trigger("resize",b,this.ui());return false},_mouseStop:function(b){this.resizing=false;var a=this.options,c=this;if(this._helper){var d=this._proportionallyResizeElements,f=d.length&&/textarea/i.test(d[0].nodeName);d=f&&e.ui.hasScroll(d[0],"left")?0:c.sizeDiff.height; -f={width:c.size.width-(f?0:c.sizeDiff.width),height:c.size.height-d};d=parseInt(c.element.css("left"),10)+(c.position.left-c.originalPosition.left)||null;var g=parseInt(c.element.css("top"),10)+(c.position.top-c.originalPosition.top)||null;a.animate||this.element.css(e.extend(f,{top:g,left:d}));c.helper.height(c.size.height);c.helper.width(c.size.width);this._helper&&!a.animate&&this._proportionallyResize()}e("body").css("cursor","auto");this.element.removeClass("ui-resizable-resizing");this._propagate("stop", -b);this._helper&&this.helper.remove();return false},_updateCache:function(b){this.offset=this.helper.offset();if(l(b.left))this.position.left=b.left;if(l(b.top))this.position.top=b.top;if(l(b.height))this.size.height=b.height;if(l(b.width))this.size.width=b.width},_updateRatio:function(b){var a=this.position,c=this.size,d=this.axis;if(b.height)b.width=c.height*this.aspectRatio;else if(b.width)b.height=c.width/this.aspectRatio;if(d=="sw"){b.left=a.left+(c.width-b.width);b.top=null}if(d=="nw"){b.top= -a.top+(c.height-b.height);b.left=a.left+(c.width-b.width)}return b},_respectSize:function(b){var a=this.options,c=this.axis,d=l(b.width)&&a.maxWidth&&a.maxWidth<b.width,f=l(b.height)&&a.maxHeight&&a.maxHeight<b.height,g=l(b.width)&&a.minWidth&&a.minWidth>b.width,h=l(b.height)&&a.minHeight&&a.minHeight>b.height;if(g)b.width=a.minWidth;if(h)b.height=a.minHeight;if(d)b.width=a.maxWidth;if(f)b.height=a.maxHeight;var i=this.originalPosition.left+this.originalSize.width,j=this.position.top+this.size.height, -k=/sw|nw|w/.test(c);c=/nw|ne|n/.test(c);if(g&&k)b.left=i-a.minWidth;if(d&&k)b.left=i-a.maxWidth;if(h&&c)b.top=j-a.minHeight;if(f&&c)b.top=j-a.maxHeight;if((a=!b.width&&!b.height)&&!b.left&&b.top)b.top=null;else if(a&&!b.top&&b.left)b.left=null;return b},_proportionallyResize:function(){if(this._proportionallyResizeElements.length)for(var b=this.helper||this.element,a=0;a<this._proportionallyResizeElements.length;a++){var c=this._proportionallyResizeElements[a];if(!this.borderDif){var d=[c.css("borderTopWidth"), -c.css("borderRightWidth"),c.css("borderBottomWidth"),c.css("borderLeftWidth")],f=[c.css("paddingTop"),c.css("paddingRight"),c.css("paddingBottom"),c.css("paddingLeft")];this.borderDif=e.map(d,function(g,h){g=parseInt(g,10)||0;h=parseInt(f[h],10)||0;return g+h})}e.browser.msie&&(e(b).is(":hidden")||e(b).parents(":hidden").length)||c.css({height:b.height()-this.borderDif[0]-this.borderDif[2]||0,width:b.width()-this.borderDif[1]-this.borderDif[3]||0})}},_renderProxy:function(){var b=this.options;this.elementOffset= -this.element.offset();if(this._helper){this.helper=this.helper||e('<div style="overflow:hidden;"></div>');var a=e.browser.msie&&e.browser.version<7,c=a?1:0;a=a?2:-1;this.helper.addClass(this._helper).css({width:this.element.outerWidth()+a,height:this.element.outerHeight()+a,position:"absolute",left:this.elementOffset.left-c+"px",top:this.elementOffset.top-c+"px",zIndex:++b.zIndex});this.helper.appendTo("body").disableSelection()}else this.helper=this.element},_change:{e:function(b,a){return{width:this.originalSize.width+ -a}},w:function(b,a){return{left:this.originalPosition.left+a,width:this.originalSize.width-a}},n:function(b,a,c){return{top:this.originalPosition.top+c,height:this.originalSize.height-c}},s:function(b,a,c){return{height:this.originalSize.height+c}},se:function(b,a,c){return e.extend(this._change.s.apply(this,arguments),this._change.e.apply(this,[b,a,c]))},sw:function(b,a,c){return e.extend(this._change.s.apply(this,arguments),this._change.w.apply(this,[b,a,c]))},ne:function(b,a,c){return e.extend(this._change.n.apply(this, -arguments),this._change.e.apply(this,[b,a,c]))},nw:function(b,a,c){return e.extend(this._change.n.apply(this,arguments),this._change.w.apply(this,[b,a,c]))}},_propagate:function(b,a){e.ui.plugin.call(this,b,[a,this.ui()]);b!="resize"&&this._trigger(b,a,this.ui())},plugins:{},ui:function(){return{originalElement:this.originalElement,element:this.element,helper:this.helper,position:this.position,size:this.size,originalSize:this.originalSize,originalPosition:this.originalPosition}}});e.extend(e.ui.resizable, -{version:"1.8.9"});e.ui.plugin.add("resizable","alsoResize",{start:function(){var b=e(this).data("resizable").options,a=function(c){e(c).each(function(){var d=e(this);d.data("resizable-alsoresize",{width:parseInt(d.width(),10),height:parseInt(d.height(),10),left:parseInt(d.css("left"),10),top:parseInt(d.css("top"),10),position:d.css("position")})})};if(typeof b.alsoResize=="object"&&!b.alsoResize.parentNode)if(b.alsoResize.length){b.alsoResize=b.alsoResize[0];a(b.alsoResize)}else e.each(b.alsoResize, -function(c){a(c)});else a(b.alsoResize)},resize:function(b,a){var c=e(this).data("resizable");b=c.options;var d=c.originalSize,f=c.originalPosition,g={height:c.size.height-d.height||0,width:c.size.width-d.width||0,top:c.position.top-f.top||0,left:c.position.left-f.left||0},h=function(i,j){e(i).each(function(){var k=e(this),q=e(this).data("resizable-alsoresize"),p={},r=j&&j.length?j:k.parents(a.originalElement[0]).length?["width","height"]:["width","height","top","left"];e.each(r,function(n,o){if((n= -(q[o]||0)+(g[o]||0))&&n>=0)p[o]=n||null});if(e.browser.opera&&/relative/.test(k.css("position"))){c._revertToRelativePosition=true;k.css({position:"absolute",top:"auto",left:"auto"})}k.css(p)})};typeof b.alsoResize=="object"&&!b.alsoResize.nodeType?e.each(b.alsoResize,function(i,j){h(i,j)}):h(b.alsoResize)},stop:function(){var b=e(this).data("resizable"),a=b.options,c=function(d){e(d).each(function(){var f=e(this);f.css({position:f.data("resizable-alsoresize").position})})};if(b._revertToRelativePosition){b._revertToRelativePosition= -false;typeof a.alsoResize=="object"&&!a.alsoResize.nodeType?e.each(a.alsoResize,function(d){c(d)}):c(a.alsoResize)}e(this).removeData("resizable-alsoresize")}});e.ui.plugin.add("resizable","animate",{stop:function(b){var a=e(this).data("resizable"),c=a.options,d=a._proportionallyResizeElements,f=d.length&&/textarea/i.test(d[0].nodeName),g=f&&e.ui.hasScroll(d[0],"left")?0:a.sizeDiff.height;f={width:a.size.width-(f?0:a.sizeDiff.width),height:a.size.height-g};g=parseInt(a.element.css("left"),10)+(a.position.left- -a.originalPosition.left)||null;var h=parseInt(a.element.css("top"),10)+(a.position.top-a.originalPosition.top)||null;a.element.animate(e.extend(f,h&&g?{top:h,left:g}:{}),{duration:c.animateDuration,easing:c.animateEasing,step:function(){var i={width:parseInt(a.element.css("width"),10),height:parseInt(a.element.css("height"),10),top:parseInt(a.element.css("top"),10),left:parseInt(a.element.css("left"),10)};d&&d.length&&e(d[0]).css({width:i.width,height:i.height});a._updateCache(i);a._propagate("resize", -b)}})}});e.ui.plugin.add("resizable","containment",{start:function(){var b=e(this).data("resizable"),a=b.element,c=b.options.containment;if(a=c instanceof e?c.get(0):/parent/.test(c)?a.parent().get(0):c){b.containerElement=e(a);if(/document/.test(c)||c==document){b.containerOffset={left:0,top:0};b.containerPosition={left:0,top:0};b.parentData={element:e(document),left:0,top:0,width:e(document).width(),height:e(document).height()||document.body.parentNode.scrollHeight}}else{var d=e(a),f=[];e(["Top", -"Right","Left","Bottom"]).each(function(i,j){f[i]=m(d.css("padding"+j))});b.containerOffset=d.offset();b.containerPosition=d.position();b.containerSize={height:d.innerHeight()-f[3],width:d.innerWidth()-f[1]};c=b.containerOffset;var g=b.containerSize.height,h=b.containerSize.width;h=e.ui.hasScroll(a,"left")?a.scrollWidth:h;g=e.ui.hasScroll(a)?a.scrollHeight:g;b.parentData={element:a,left:c.left,top:c.top,width:h,height:g}}}},resize:function(b){var a=e(this).data("resizable"),c=a.options,d=a.containerOffset, -f=a.position;b=a._aspectRatio||b.shiftKey;var g={top:0,left:0},h=a.containerElement;if(h[0]!=document&&/static/.test(h.css("position")))g=d;if(f.left<(a._helper?d.left:0)){a.size.width+=a._helper?a.position.left-d.left:a.position.left-g.left;if(b)a.size.height=a.size.width/c.aspectRatio;a.position.left=c.helper?d.left:0}if(f.top<(a._helper?d.top:0)){a.size.height+=a._helper?a.position.top-d.top:a.position.top;if(b)a.size.width=a.size.height*c.aspectRatio;a.position.top=a._helper?d.top:0}a.offset.left= -a.parentData.left+a.position.left;a.offset.top=a.parentData.top+a.position.top;c=Math.abs((a._helper?a.offset.left-g.left:a.offset.left-g.left)+a.sizeDiff.width);d=Math.abs((a._helper?a.offset.top-g.top:a.offset.top-d.top)+a.sizeDiff.height);f=a.containerElement.get(0)==a.element.parent().get(0);g=/relative|absolute/.test(a.containerElement.css("position"));if(f&&g)c-=a.parentData.left;if(c+a.size.width>=a.parentData.width){a.size.width=a.parentData.width-c;if(b)a.size.height=a.size.width/a.aspectRatio}if(d+ -a.size.height>=a.parentData.height){a.size.height=a.parentData.height-d;if(b)a.size.width=a.size.height*a.aspectRatio}},stop:function(){var b=e(this).data("resizable"),a=b.options,c=b.containerOffset,d=b.containerPosition,f=b.containerElement,g=e(b.helper),h=g.offset(),i=g.outerWidth()-b.sizeDiff.width;g=g.outerHeight()-b.sizeDiff.height;b._helper&&!a.animate&&/relative/.test(f.css("position"))&&e(this).css({left:h.left-d.left-c.left,width:i,height:g});b._helper&&!a.animate&&/static/.test(f.css("position"))&& -e(this).css({left:h.left-d.left-c.left,width:i,height:g})}});e.ui.plugin.add("resizable","ghost",{start:function(){var b=e(this).data("resizable"),a=b.options,c=b.size;b.ghost=b.originalElement.clone();b.ghost.css({opacity:0.25,display:"block",position:"relative",height:c.height,width:c.width,margin:0,left:0,top:0}).addClass("ui-resizable-ghost").addClass(typeof a.ghost=="string"?a.ghost:"");b.ghost.appendTo(b.helper)},resize:function(){var b=e(this).data("resizable");b.ghost&&b.ghost.css({position:"relative", -height:b.size.height,width:b.size.width})},stop:function(){var b=e(this).data("resizable");b.ghost&&b.helper&&b.helper.get(0).removeChild(b.ghost.get(0))}});e.ui.plugin.add("resizable","grid",{resize:function(){var b=e(this).data("resizable"),a=b.options,c=b.size,d=b.originalSize,f=b.originalPosition,g=b.axis;a.grid=typeof a.grid=="number"?[a.grid,a.grid]:a.grid;var h=Math.round((c.width-d.width)/(a.grid[0]||1))*(a.grid[0]||1);a=Math.round((c.height-d.height)/(a.grid[1]||1))*(a.grid[1]||1);if(/^(se|s|e)$/.test(g)){b.size.width= -d.width+h;b.size.height=d.height+a}else if(/^(ne)$/.test(g)){b.size.width=d.width+h;b.size.height=d.height+a;b.position.top=f.top-a}else{if(/^(sw)$/.test(g)){b.size.width=d.width+h;b.size.height=d.height+a}else{b.size.width=d.width+h;b.size.height=d.height+a;b.position.top=f.top-a}b.position.left=f.left-h}}});var m=function(b){return parseInt(b,10)||0},l=function(b){return!isNaN(parseInt(b,10))}})(jQuery); +f=f?0:c.sizeDiff.width;f={width:c.helper.width()-f,height:c.helper.height()-d};d=parseInt(c.element.css("left"),10)+(c.position.left-c.originalPosition.left)||null;var g=parseInt(c.element.css("top"),10)+(c.position.top-c.originalPosition.top)||null;a.animate||this.element.css(e.extend(f,{top:g,left:d}));c.helper.height(c.size.height);c.helper.width(c.size.width);this._helper&&!a.animate&&this._proportionallyResize()}e("body").css("cursor","auto");this.element.removeClass("ui-resizable-resizing"); +this._propagate("stop",b);this._helper&&this.helper.remove();return false},_updateCache:function(b){this.offset=this.helper.offset();if(l(b.left))this.position.left=b.left;if(l(b.top))this.position.top=b.top;if(l(b.height))this.size.height=b.height;if(l(b.width))this.size.width=b.width},_updateRatio:function(b){var a=this.position,c=this.size,d=this.axis;if(b.height)b.width=c.height*this.aspectRatio;else if(b.width)b.height=c.width/this.aspectRatio;if(d=="sw"){b.left=a.left+(c.width-b.width);b.top= +null}if(d=="nw"){b.top=a.top+(c.height-b.height);b.left=a.left+(c.width-b.width)}return b},_respectSize:function(b){var a=this.options,c=this.axis,d=l(b.width)&&a.maxWidth&&a.maxWidth<b.width,f=l(b.height)&&a.maxHeight&&a.maxHeight<b.height,g=l(b.width)&&a.minWidth&&a.minWidth>b.width,h=l(b.height)&&a.minHeight&&a.minHeight>b.height;if(g)b.width=a.minWidth;if(h)b.height=a.minHeight;if(d)b.width=a.maxWidth;if(f)b.height=a.maxHeight;var i=this.originalPosition.left+this.originalSize.width,j=this.position.top+ +this.size.height,k=/sw|nw|w/.test(c);c=/nw|ne|n/.test(c);if(g&&k)b.left=i-a.minWidth;if(d&&k)b.left=i-a.maxWidth;if(h&&c)b.top=j-a.minHeight;if(f&&c)b.top=j-a.maxHeight;if((a=!b.width&&!b.height)&&!b.left&&b.top)b.top=null;else if(a&&!b.top&&b.left)b.left=null;return b},_proportionallyResize:function(){if(this._proportionallyResizeElements.length)for(var b=this.helper||this.element,a=0;a<this._proportionallyResizeElements.length;a++){var c=this._proportionallyResizeElements[a];if(!this.borderDif){var d= +[c.css("borderTopWidth"),c.css("borderRightWidth"),c.css("borderBottomWidth"),c.css("borderLeftWidth")],f=[c.css("paddingTop"),c.css("paddingRight"),c.css("paddingBottom"),c.css("paddingLeft")];this.borderDif=e.map(d,function(g,h){g=parseInt(g,10)||0;h=parseInt(f[h],10)||0;return g+h})}e.browser.msie&&(e(b).is(":hidden")||e(b).parents(":hidden").length)||c.css({height:b.height()-this.borderDif[0]-this.borderDif[2]||0,width:b.width()-this.borderDif[1]-this.borderDif[3]||0})}},_renderProxy:function(){var b= +this.options;this.elementOffset=this.element.offset();if(this._helper){this.helper=this.helper||e('<div style="overflow:hidden;"></div>');var a=e.browser.msie&&e.browser.version<7,c=a?1:0;a=a?2:-1;this.helper.addClass(this._helper).css({width:this.element.outerWidth()+a,height:this.element.outerHeight()+a,position:"absolute",left:this.elementOffset.left-c+"px",top:this.elementOffset.top-c+"px",zIndex:++b.zIndex});this.helper.appendTo("body").disableSelection()}else this.helper=this.element},_change:{e:function(b, +a){return{width:this.originalSize.width+a}},w:function(b,a){return{left:this.originalPosition.left+a,width:this.originalSize.width-a}},n:function(b,a,c){return{top:this.originalPosition.top+c,height:this.originalSize.height-c}},s:function(b,a,c){return{height:this.originalSize.height+c}},se:function(b,a,c){return e.extend(this._change.s.apply(this,arguments),this._change.e.apply(this,[b,a,c]))},sw:function(b,a,c){return e.extend(this._change.s.apply(this,arguments),this._change.w.apply(this,[b,a, +c]))},ne:function(b,a,c){return e.extend(this._change.n.apply(this,arguments),this._change.e.apply(this,[b,a,c]))},nw:function(b,a,c){return e.extend(this._change.n.apply(this,arguments),this._change.w.apply(this,[b,a,c]))}},_propagate:function(b,a){e.ui.plugin.call(this,b,[a,this.ui()]);b!="resize"&&this._trigger(b,a,this.ui())},plugins:{},ui:function(){return{originalElement:this.originalElement,element:this.element,helper:this.helper,position:this.position,size:this.size,originalSize:this.originalSize, +originalPosition:this.originalPosition}}});e.extend(e.ui.resizable,{version:"1.8.12"});e.ui.plugin.add("resizable","alsoResize",{start:function(){var b=e(this).data("resizable").options,a=function(c){e(c).each(function(){var d=e(this);d.data("resizable-alsoresize",{width:parseInt(d.width(),10),height:parseInt(d.height(),10),left:parseInt(d.css("left"),10),top:parseInt(d.css("top"),10),position:d.css("position")})})};if(typeof b.alsoResize=="object"&&!b.alsoResize.parentNode)if(b.alsoResize.length){b.alsoResize= +b.alsoResize[0];a(b.alsoResize)}else e.each(b.alsoResize,function(c){a(c)});else a(b.alsoResize)},resize:function(b,a){var c=e(this).data("resizable");b=c.options;var d=c.originalSize,f=c.originalPosition,g={height:c.size.height-d.height||0,width:c.size.width-d.width||0,top:c.position.top-f.top||0,left:c.position.left-f.left||0},h=function(i,j){e(i).each(function(){var k=e(this),q=e(this).data("resizable-alsoresize"),p={},r=j&&j.length?j:k.parents(a.originalElement[0]).length?["width","height"]:["width", +"height","top","left"];e.each(r,function(n,o){if((n=(q[o]||0)+(g[o]||0))&&n>=0)p[o]=n||null});if(e.browser.opera&&/relative/.test(k.css("position"))){c._revertToRelativePosition=true;k.css({position:"absolute",top:"auto",left:"auto"})}k.css(p)})};typeof b.alsoResize=="object"&&!b.alsoResize.nodeType?e.each(b.alsoResize,function(i,j){h(i,j)}):h(b.alsoResize)},stop:function(){var b=e(this).data("resizable"),a=b.options,c=function(d){e(d).each(function(){var f=e(this);f.css({position:f.data("resizable-alsoresize").position})})}; +if(b._revertToRelativePosition){b._revertToRelativePosition=false;typeof a.alsoResize=="object"&&!a.alsoResize.nodeType?e.each(a.alsoResize,function(d){c(d)}):c(a.alsoResize)}e(this).removeData("resizable-alsoresize")}});e.ui.plugin.add("resizable","animate",{stop:function(b){var a=e(this).data("resizable"),c=a.options,d=a._proportionallyResizeElements,f=d.length&&/textarea/i.test(d[0].nodeName),g=f&&e.ui.hasScroll(d[0],"left")?0:a.sizeDiff.height;f={width:a.size.width-(f?0:a.sizeDiff.width),height:a.size.height- +g};g=parseInt(a.element.css("left"),10)+(a.position.left-a.originalPosition.left)||null;var h=parseInt(a.element.css("top"),10)+(a.position.top-a.originalPosition.top)||null;a.element.animate(e.extend(f,h&&g?{top:h,left:g}:{}),{duration:c.animateDuration,easing:c.animateEasing,step:function(){var i={width:parseInt(a.element.css("width"),10),height:parseInt(a.element.css("height"),10),top:parseInt(a.element.css("top"),10),left:parseInt(a.element.css("left"),10)};d&&d.length&&e(d[0]).css({width:i.width, +height:i.height});a._updateCache(i);a._propagate("resize",b)}})}});e.ui.plugin.add("resizable","containment",{start:function(){var b=e(this).data("resizable"),a=b.element,c=b.options.containment;if(a=c instanceof e?c.get(0):/parent/.test(c)?a.parent().get(0):c){b.containerElement=e(a);if(/document/.test(c)||c==document){b.containerOffset={left:0,top:0};b.containerPosition={left:0,top:0};b.parentData={element:e(document),left:0,top:0,width:e(document).width(),height:e(document).height()||document.body.parentNode.scrollHeight}}else{var d= +e(a),f=[];e(["Top","Right","Left","Bottom"]).each(function(i,j){f[i]=m(d.css("padding"+j))});b.containerOffset=d.offset();b.containerPosition=d.position();b.containerSize={height:d.innerHeight()-f[3],width:d.innerWidth()-f[1]};c=b.containerOffset;var g=b.containerSize.height,h=b.containerSize.width;h=e.ui.hasScroll(a,"left")?a.scrollWidth:h;g=e.ui.hasScroll(a)?a.scrollHeight:g;b.parentData={element:a,left:c.left,top:c.top,width:h,height:g}}}},resize:function(b){var a=e(this).data("resizable"),c=a.options, +d=a.containerOffset,f=a.position;b=a._aspectRatio||b.shiftKey;var g={top:0,left:0},h=a.containerElement;if(h[0]!=document&&/static/.test(h.css("position")))g=d;if(f.left<(a._helper?d.left:0)){a.size.width+=a._helper?a.position.left-d.left:a.position.left-g.left;if(b)a.size.height=a.size.width/c.aspectRatio;a.position.left=c.helper?d.left:0}if(f.top<(a._helper?d.top:0)){a.size.height+=a._helper?a.position.top-d.top:a.position.top;if(b)a.size.width=a.size.height*c.aspectRatio;a.position.top=a._helper? +d.top:0}a.offset.left=a.parentData.left+a.position.left;a.offset.top=a.parentData.top+a.position.top;c=Math.abs((a._helper?a.offset.left-g.left:a.offset.left-g.left)+a.sizeDiff.width);d=Math.abs((a._helper?a.offset.top-g.top:a.offset.top-d.top)+a.sizeDiff.height);f=a.containerElement.get(0)==a.element.parent().get(0);g=/relative|absolute/.test(a.containerElement.css("position"));if(f&&g)c-=a.parentData.left;if(c+a.size.width>=a.parentData.width){a.size.width=a.parentData.width-c;if(b)a.size.height= +a.size.width/a.aspectRatio}if(d+a.size.height>=a.parentData.height){a.size.height=a.parentData.height-d;if(b)a.size.width=a.size.height*a.aspectRatio}},stop:function(){var b=e(this).data("resizable"),a=b.options,c=b.containerOffset,d=b.containerPosition,f=b.containerElement,g=e(b.helper),h=g.offset(),i=g.outerWidth()-b.sizeDiff.width;g=g.outerHeight()-b.sizeDiff.height;b._helper&&!a.animate&&/relative/.test(f.css("position"))&&e(this).css({left:h.left-d.left-c.left,width:i,height:g});b._helper&&!a.animate&& +/static/.test(f.css("position"))&&e(this).css({left:h.left-d.left-c.left,width:i,height:g})}});e.ui.plugin.add("resizable","ghost",{start:function(){var b=e(this).data("resizable"),a=b.options,c=b.size;b.ghost=b.originalElement.clone();b.ghost.css({opacity:0.25,display:"block",position:"relative",height:c.height,width:c.width,margin:0,left:0,top:0}).addClass("ui-resizable-ghost").addClass(typeof a.ghost=="string"?a.ghost:"");b.ghost.appendTo(b.helper)},resize:function(){var b=e(this).data("resizable"); +b.ghost&&b.ghost.css({position:"relative",height:b.size.height,width:b.size.width})},stop:function(){var b=e(this).data("resizable");b.ghost&&b.helper&&b.helper.get(0).removeChild(b.ghost.get(0))}});e.ui.plugin.add("resizable","grid",{resize:function(){var b=e(this).data("resizable"),a=b.options,c=b.size,d=b.originalSize,f=b.originalPosition,g=b.axis;a.grid=typeof a.grid=="number"?[a.grid,a.grid]:a.grid;var h=Math.round((c.width-d.width)/(a.grid[0]||1))*(a.grid[0]||1);a=Math.round((c.height-d.height)/ +(a.grid[1]||1))*(a.grid[1]||1);if(/^(se|s|e)$/.test(g)){b.size.width=d.width+h;b.size.height=d.height+a}else if(/^(ne)$/.test(g)){b.size.width=d.width+h;b.size.height=d.height+a;b.position.top=f.top-a}else{if(/^(sw)$/.test(g)){b.size.width=d.width+h;b.size.height=d.height+a}else{b.size.width=d.width+h;b.size.height=d.height+a;b.position.top=f.top-a}b.position.left=f.left-h}}});var m=function(b){return parseInt(b,10)||0},l=function(b){return!isNaN(parseInt(b,10))}})(jQuery); diff --git a/wp-includes/js/jquery/ui.selectable.js b/wp-includes/js/jquery/ui.selectable.js index c4abc33af..d32e21221 100644 --- a/wp-includes/js/jquery/ui.selectable.js +++ b/wp-includes/js/jquery/ui.selectable.js @@ -1,5 +1,5 @@ /* - * jQuery UI Selectable 1.8.9 + * jQuery UI Selectable 1.8.12 * * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) * Dual licensed under the MIT or GPL Version 2 licenses. @@ -19,4 +19,4 @@ c,{unselecting:b.element})}});e(c.target).parents().andSelf().each(function(){va this.options,b=this.opos[0],g=this.opos[1],h=c.pageX,i=c.pageY;if(b>h){var j=h;h=b;b=j}if(g>i){j=i;i=g;g=j}this.helper.css({left:b,top:g,width:h-b,height:i-g});this.selectees.each(function(){var a=e.data(this,"selectable-item");if(!(!a||a.element==f.element[0])){var k=false;if(d.tolerance=="touch")k=!(a.left>h||a.right<b||a.top>i||a.bottom<g);else if(d.tolerance=="fit")k=a.left>b&&a.right<h&&a.top>g&&a.bottom<i;if(k){if(a.selected){a.$element.removeClass("ui-selected");a.selected=false}if(a.unselecting){a.$element.removeClass("ui-unselecting"); a.unselecting=false}if(!a.selecting){a.$element.addClass("ui-selecting");a.selecting=true;f._trigger("selecting",c,{selecting:a.element})}}else{if(a.selecting)if(c.metaKey&&a.startselected){a.$element.removeClass("ui-selecting");a.selecting=false;a.$element.addClass("ui-selected");a.selected=true}else{a.$element.removeClass("ui-selecting");a.selecting=false;if(a.startselected){a.$element.addClass("ui-unselecting");a.unselecting=true}f._trigger("unselecting",c,{unselecting:a.element})}if(a.selected)if(!c.metaKey&& !a.startselected){a.$element.removeClass("ui-selected");a.selected=false;a.$element.addClass("ui-unselecting");a.unselecting=true;f._trigger("unselecting",c,{unselecting:a.element})}}}});return false}},_mouseStop:function(c){var f=this;this.dragged=false;e(".ui-unselecting",this.element[0]).each(function(){var d=e.data(this,"selectable-item");d.$element.removeClass("ui-unselecting");d.unselecting=false;d.startselected=false;f._trigger("unselected",c,{unselected:d.element})});e(".ui-selecting",this.element[0]).each(function(){var d= -e.data(this,"selectable-item");d.$element.removeClass("ui-selecting").addClass("ui-selected");d.selecting=false;d.selected=true;d.startselected=true;f._trigger("selected",c,{selected:d.element})});this._trigger("stop",c);this.helper.remove();return false}});e.extend(e.ui.selectable,{version:"1.8.9"})})(jQuery); +e.data(this,"selectable-item");d.$element.removeClass("ui-selecting").addClass("ui-selected");d.selecting=false;d.selected=true;d.startselected=true;f._trigger("selected",c,{selected:d.element})});this._trigger("stop",c);this.helper.remove();return false}});e.extend(e.ui.selectable,{version:"1.8.12"})})(jQuery); diff --git a/wp-includes/js/jquery/ui.sortable.js b/wp-includes/js/jquery/ui.sortable.js index 9a3b57c37..b825bbf34 100644 --- a/wp-includes/js/jquery/ui.sortable.js +++ b/wp-includes/js/jquery/ui.sortable.js @@ -1,5 +1,5 @@ /* - * jQuery UI Sortable 1.8.9 + * jQuery UI Sortable 1.8.12 * * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) * Dual licensed under the MIT or GPL Version 2 licenses. @@ -13,48 +13,48 @@ * jquery.ui.widget.js */ (function(d){d.widget("ui.sortable",d.ui.mouse,{widgetEventPrefix:"sort",options:{appendTo:"parent",axis:false,connectWith:false,containment:false,cursor:"auto",cursorAt:false,dropOnEmpty:true,forcePlaceholderSize:false,forceHelperSize:false,grid:false,handle:false,helper:"original",items:"> *",opacity:false,placeholder:false,revert:false,scroll:true,scrollSensitivity:20,scrollSpeed:20,scope:"default",tolerance:"intersect",zIndex:1E3},_create:function(){this.containerCache={};this.element.addClass("ui-sortable"); -this.refresh();this.floating=this.items.length?/left|right/.test(this.items[0].item.css("float")):false;this.offset=this.element.offset();this._mouseInit()},destroy:function(){this.element.removeClass("ui-sortable ui-sortable-disabled").removeData("sortable").unbind(".sortable");this._mouseDestroy();for(var a=this.items.length-1;a>=0;a--)this.items[a].item.removeData("sortable-item");return this},_setOption:function(a,b){if(a==="disabled"){this.options[a]=b;this.widget()[b?"addClass":"removeClass"]("ui-sortable-disabled")}else d.Widget.prototype._setOption.apply(this, -arguments)},_mouseCapture:function(a,b){if(this.reverting)return false;if(this.options.disabled||this.options.type=="static")return false;this._refreshItems(a);var c=null,e=this;d(a.target).parents().each(function(){if(d.data(this,"sortable-item")==e){c=d(this);return false}});if(d.data(a.target,"sortable-item")==e)c=d(a.target);if(!c)return false;if(this.options.handle&&!b){var f=false;d(this.options.handle,c).find("*").andSelf().each(function(){if(this==a.target)f=true});if(!f)return false}this.currentItem= -c;this._removeCurrentsFromItems();return true},_mouseStart:function(a,b,c){b=this.options;var e=this;this.currentContainer=this;this.refreshPositions();this.helper=this._createHelper(a);this._cacheHelperProportions();this._cacheMargins();this.scrollParent=this.helper.scrollParent();this.offset=this.currentItem.offset();this.offset={top:this.offset.top-this.margins.top,left:this.offset.left-this.margins.left};this.helper.css("position","absolute");this.cssPosition=this.helper.css("position");d.extend(this.offset, -{click:{left:a.pageX-this.offset.left,top:a.pageY-this.offset.top},parent:this._getParentOffset(),relative:this._getRelativeOffset()});this.originalPosition=this._generatePosition(a);this.originalPageX=a.pageX;this.originalPageY=a.pageY;b.cursorAt&&this._adjustOffsetFromHelper(b.cursorAt);this.domPosition={prev:this.currentItem.prev()[0],parent:this.currentItem.parent()[0]};this.helper[0]!=this.currentItem[0]&&this.currentItem.hide();this._createPlaceholder();b.containment&&this._setContainment(); -if(b.cursor){if(d("body").css("cursor"))this._storedCursor=d("body").css("cursor");d("body").css("cursor",b.cursor)}if(b.opacity){if(this.helper.css("opacity"))this._storedOpacity=this.helper.css("opacity");this.helper.css("opacity",b.opacity)}if(b.zIndex){if(this.helper.css("zIndex"))this._storedZIndex=this.helper.css("zIndex");this.helper.css("zIndex",b.zIndex)}if(this.scrollParent[0]!=document&&this.scrollParent[0].tagName!="HTML")this.overflowOffset=this.scrollParent.offset();this._trigger("start", -a,this._uiHash());this._preserveHelperProportions||this._cacheHelperProportions();if(!c)for(c=this.containers.length-1;c>=0;c--)this.containers[c]._trigger("activate",a,e._uiHash(this));if(d.ui.ddmanager)d.ui.ddmanager.current=this;d.ui.ddmanager&&!b.dropBehaviour&&d.ui.ddmanager.prepareOffsets(this,a);this.dragging=true;this.helper.addClass("ui-sortable-helper");this._mouseDrag(a);return true},_mouseDrag:function(a){this.position=this._generatePosition(a);this.positionAbs=this._convertPositionTo("absolute"); -if(!this.lastPositionAbs)this.lastPositionAbs=this.positionAbs;if(this.options.scroll){var b=this.options,c=false;if(this.scrollParent[0]!=document&&this.scrollParent[0].tagName!="HTML"){if(this.overflowOffset.top+this.scrollParent[0].offsetHeight-a.pageY<b.scrollSensitivity)this.scrollParent[0].scrollTop=c=this.scrollParent[0].scrollTop+b.scrollSpeed;else if(a.pageY-this.overflowOffset.top<b.scrollSensitivity)this.scrollParent[0].scrollTop=c=this.scrollParent[0].scrollTop-b.scrollSpeed;if(this.overflowOffset.left+ -this.scrollParent[0].offsetWidth-a.pageX<b.scrollSensitivity)this.scrollParent[0].scrollLeft=c=this.scrollParent[0].scrollLeft+b.scrollSpeed;else if(a.pageX-this.overflowOffset.left<b.scrollSensitivity)this.scrollParent[0].scrollLeft=c=this.scrollParent[0].scrollLeft-b.scrollSpeed}else{if(a.pageY-d(document).scrollTop()<b.scrollSensitivity)c=d(document).scrollTop(d(document).scrollTop()-b.scrollSpeed);else if(d(window).height()-(a.pageY-d(document).scrollTop())<b.scrollSensitivity)c=d(document).scrollTop(d(document).scrollTop()+ -b.scrollSpeed);if(a.pageX-d(document).scrollLeft()<b.scrollSensitivity)c=d(document).scrollLeft(d(document).scrollLeft()-b.scrollSpeed);else if(d(window).width()-(a.pageX-d(document).scrollLeft())<b.scrollSensitivity)c=d(document).scrollLeft(d(document).scrollLeft()+b.scrollSpeed)}c!==false&&d.ui.ddmanager&&!b.dropBehaviour&&d.ui.ddmanager.prepareOffsets(this,a)}this.positionAbs=this._convertPositionTo("absolute");if(!this.options.axis||this.options.axis!="y")this.helper[0].style.left=this.position.left+ -"px";if(!this.options.axis||this.options.axis!="x")this.helper[0].style.top=this.position.top+"px";for(b=this.items.length-1;b>=0;b--){c=this.items[b];var e=c.item[0],f=this._intersectsWithPointer(c);if(f)if(e!=this.currentItem[0]&&this.placeholder[f==1?"next":"prev"]()[0]!=e&&!d.ui.contains(this.placeholder[0],e)&&(this.options.type=="semi-dynamic"?!d.ui.contains(this.element[0],e):true)){this.direction=f==1?"down":"up";if(this.options.tolerance=="pointer"||this._intersectsWithSides(c))this._rearrange(a, -c);else break;this._trigger("change",a,this._uiHash());break}}this._contactContainers(a);d.ui.ddmanager&&d.ui.ddmanager.drag(this,a);this._trigger("sort",a,this._uiHash());this.lastPositionAbs=this.positionAbs;return false},_mouseStop:function(a,b){if(a){d.ui.ddmanager&&!this.options.dropBehaviour&&d.ui.ddmanager.drop(this,a);if(this.options.revert){var c=this;b=c.placeholder.offset();c.reverting=true;d(this.helper).animate({left:b.left-this.offset.parent.left-c.margins.left+(this.offsetParent[0]== -document.body?0:this.offsetParent[0].scrollLeft),top:b.top-this.offset.parent.top-c.margins.top+(this.offsetParent[0]==document.body?0:this.offsetParent[0].scrollTop)},parseInt(this.options.revert,10)||500,function(){c._clear(a)})}else this._clear(a,b);return false}},cancel:function(){var a=this;if(this.dragging){this._mouseUp({target:null});this.options.helper=="original"?this.currentItem.css(this._storedCSS).removeClass("ui-sortable-helper"):this.currentItem.show();for(var b=this.containers.length- -1;b>=0;b--){this.containers[b]._trigger("deactivate",null,a._uiHash(this));if(this.containers[b].containerCache.over){this.containers[b]._trigger("out",null,a._uiHash(this));this.containers[b].containerCache.over=0}}}if(this.placeholder){this.placeholder[0].parentNode&&this.placeholder[0].parentNode.removeChild(this.placeholder[0]);this.options.helper!="original"&&this.helper&&this.helper[0].parentNode&&this.helper.remove();d.extend(this,{helper:null,dragging:false,reverting:false,_noFinalSort:null}); -this.domPosition.prev?d(this.domPosition.prev).after(this.currentItem):d(this.domPosition.parent).prepend(this.currentItem)}return this},serialize:function(a){var b=this._getItemsAsjQuery(a&&a.connected),c=[];a=a||{};d(b).each(function(){var e=(d(a.item||this).attr(a.attribute||"id")||"").match(a.expression||/(.+)[-=_](.+)/);if(e)c.push((a.key||e[1]+"[]")+"="+(a.key&&a.expression?e[1]:e[2]))});!c.length&&a.key&&c.push(a.key+"=");return c.join("&")},toArray:function(a){var b=this._getItemsAsjQuery(a&& -a.connected),c=[];a=a||{};b.each(function(){c.push(d(a.item||this).attr(a.attribute||"id")||"")});return c},_intersectsWith:function(a){var b=this.positionAbs.left,c=b+this.helperProportions.width,e=this.positionAbs.top,f=e+this.helperProportions.height,g=a.left,h=g+a.width,i=a.top,k=i+a.height,j=this.offset.click.top,l=this.offset.click.left;j=e+j>i&&e+j<k&&b+l>g&&b+l<h;return this.options.tolerance=="pointer"||this.options.forcePointerForContainers||this.options.tolerance!="pointer"&&this.helperProportions[this.floating? -"width":"height"]>a[this.floating?"width":"height"]?j:g<b+this.helperProportions.width/2&&c-this.helperProportions.width/2<h&&i<e+this.helperProportions.height/2&&f-this.helperProportions.height/2<k},_intersectsWithPointer:function(a){var b=d.ui.isOverAxis(this.positionAbs.top+this.offset.click.top,a.top,a.height);a=d.ui.isOverAxis(this.positionAbs.left+this.offset.click.left,a.left,a.width);b=b&&a;a=this._getDragVerticalDirection();var c=this._getDragHorizontalDirection();if(!b)return false;return this.floating? -c&&c=="right"||a=="down"?2:1:a&&(a=="down"?2:1)},_intersectsWithSides:function(a){var b=d.ui.isOverAxis(this.positionAbs.top+this.offset.click.top,a.top+a.height/2,a.height);a=d.ui.isOverAxis(this.positionAbs.left+this.offset.click.left,a.left+a.width/2,a.width);var c=this._getDragVerticalDirection(),e=this._getDragHorizontalDirection();return this.floating&&e?e=="right"&&a||e=="left"&&!a:c&&(c=="down"&&b||c=="up"&&!b)},_getDragVerticalDirection:function(){var a=this.positionAbs.top-this.lastPositionAbs.top; -return a!=0&&(a>0?"down":"up")},_getDragHorizontalDirection:function(){var a=this.positionAbs.left-this.lastPositionAbs.left;return a!=0&&(a>0?"right":"left")},refresh:function(a){this._refreshItems(a);this.refreshPositions();return this},_connectWith:function(){var a=this.options;return a.connectWith.constructor==String?[a.connectWith]:a.connectWith},_getItemsAsjQuery:function(a){var b=[],c=[],e=this._connectWith();if(e&&a)for(a=e.length-1;a>=0;a--)for(var f=d(e[a]),g=f.length-1;g>=0;g--){var h= -d.data(f[g],"sortable");if(h&&h!=this&&!h.options.disabled)c.push([d.isFunction(h.options.items)?h.options.items.call(h.element):d(h.options.items,h.element).not(".ui-sortable-helper").not(".ui-sortable-placeholder"),h])}c.push([d.isFunction(this.options.items)?this.options.items.call(this.element,null,{options:this.options,item:this.currentItem}):d(this.options.items,this.element).not(".ui-sortable-helper").not(".ui-sortable-placeholder"),this]);for(a=c.length-1;a>=0;a--)c[a][0].each(function(){b.push(this)}); -return d(b)},_removeCurrentsFromItems:function(){for(var a=this.currentItem.find(":data(sortable-item)"),b=0;b<this.items.length;b++)for(var c=0;c<a.length;c++)a[c]==this.items[b].item[0]&&this.items.splice(b,1)},_refreshItems:function(a){this.items=[];this.containers=[this];var b=this.items,c=[[d.isFunction(this.options.items)?this.options.items.call(this.element[0],a,{item:this.currentItem}):d(this.options.items,this.element),this]],e=this._connectWith();if(e)for(var f=e.length-1;f>=0;f--)for(var g= -d(e[f]),h=g.length-1;h>=0;h--){var i=d.data(g[h],"sortable");if(i&&i!=this&&!i.options.disabled){c.push([d.isFunction(i.options.items)?i.options.items.call(i.element[0],a,{item:this.currentItem}):d(i.options.items,i.element),i]);this.containers.push(i)}}for(f=c.length-1;f>=0;f--){a=c[f][1];e=c[f][0];h=0;for(g=e.length;h<g;h++){i=d(e[h]);i.data("sortable-item",a);b.push({item:i,instance:a,width:0,height:0,left:0,top:0})}}},refreshPositions:function(a){if(this.offsetParent&&this.helper)this.offset.parent= -this._getParentOffset();for(var b=this.items.length-1;b>=0;b--){var c=this.items[b],e=this.options.toleranceElement?d(this.options.toleranceElement,c.item):c.item;if(!a){c.width=e.outerWidth();c.height=e.outerHeight()}e=e.offset();c.left=e.left;c.top=e.top}if(this.options.custom&&this.options.custom.refreshContainers)this.options.custom.refreshContainers.call(this);else for(b=this.containers.length-1;b>=0;b--){e=this.containers[b].element.offset();this.containers[b].containerCache.left=e.left;this.containers[b].containerCache.top= -e.top;this.containers[b].containerCache.width=this.containers[b].element.outerWidth();this.containers[b].containerCache.height=this.containers[b].element.outerHeight()}return this},_createPlaceholder:function(a){var b=a||this,c=b.options;if(!c.placeholder||c.placeholder.constructor==String){var e=c.placeholder;c.placeholder={element:function(){var f=d(document.createElement(b.currentItem[0].nodeName)).addClass(e||b.currentItem[0].className+" ui-sortable-placeholder").removeClass("ui-sortable-helper")[0]; -if(!e)f.style.visibility="hidden";return f},update:function(f,g){if(!(e&&!c.forcePlaceholderSize)){g.height()||g.height(b.currentItem.innerHeight()-parseInt(b.currentItem.css("paddingTop")||0,10)-parseInt(b.currentItem.css("paddingBottom")||0,10));g.width()||g.width(b.currentItem.innerWidth()-parseInt(b.currentItem.css("paddingLeft")||0,10)-parseInt(b.currentItem.css("paddingRight")||0,10))}}}}b.placeholder=d(c.placeholder.element.call(b.element,b.currentItem));b.currentItem.after(b.placeholder); -c.placeholder.update(b,b.placeholder)},_contactContainers:function(a){for(var b=null,c=null,e=this.containers.length-1;e>=0;e--)if(!d.ui.contains(this.currentItem[0],this.containers[e].element[0]))if(this._intersectsWith(this.containers[e].containerCache)){if(!(b&&d.ui.contains(this.containers[e].element[0],b.element[0]))){b=this.containers[e];c=e}}else if(this.containers[e].containerCache.over){this.containers[e]._trigger("out",a,this._uiHash(this));this.containers[e].containerCache.over=0}if(b)if(this.containers.length=== -1){this.containers[c]._trigger("over",a,this._uiHash(this));this.containers[c].containerCache.over=1}else if(this.currentContainer!=this.containers[c]){b=1E4;e=null;for(var f=this.positionAbs[this.containers[c].floating?"left":"top"],g=this.items.length-1;g>=0;g--)if(d.ui.contains(this.containers[c].element[0],this.items[g].item[0])){var h=this.items[g][this.containers[c].floating?"left":"top"];if(Math.abs(h-f)<b){b=Math.abs(h-f);e=this.items[g]}}if(e||this.options.dropOnEmpty){this.currentContainer= -this.containers[c];e?this._rearrange(a,e,null,true):this._rearrange(a,null,this.containers[c].element,true);this._trigger("change",a,this._uiHash());this.containers[c]._trigger("change",a,this._uiHash(this));this.options.placeholder.update(this.currentContainer,this.placeholder);this.containers[c]._trigger("over",a,this._uiHash(this));this.containers[c].containerCache.over=1}}},_createHelper:function(a){var b=this.options;a=d.isFunction(b.helper)?d(b.helper.apply(this.element[0],[a,this.currentItem])): -b.helper=="clone"?this.currentItem.clone():this.currentItem;a.parents("body").length||d(b.appendTo!="parent"?b.appendTo:this.currentItem[0].parentNode)[0].appendChild(a[0]);if(a[0]==this.currentItem[0])this._storedCSS={width:this.currentItem[0].style.width,height:this.currentItem[0].style.height,position:this.currentItem.css("position"),top:this.currentItem.css("top"),left:this.currentItem.css("left")};if(a[0].style.width==""||b.forceHelperSize)a.width(this.currentItem.width());if(a[0].style.height== -""||b.forceHelperSize)a.height(this.currentItem.height());return a},_adjustOffsetFromHelper:function(a){if(typeof a=="string")a=a.split(" ");if(d.isArray(a))a={left:+a[0],top:+a[1]||0};if("left"in a)this.offset.click.left=a.left+this.margins.left;if("right"in a)this.offset.click.left=this.helperProportions.width-a.right+this.margins.left;if("top"in a)this.offset.click.top=a.top+this.margins.top;if("bottom"in a)this.offset.click.top=this.helperProportions.height-a.bottom+this.margins.top},_getParentOffset:function(){this.offsetParent= -this.helper.offsetParent();var a=this.offsetParent.offset();if(this.cssPosition=="absolute"&&this.scrollParent[0]!=document&&d.ui.contains(this.scrollParent[0],this.offsetParent[0])){a.left+=this.scrollParent.scrollLeft();a.top+=this.scrollParent.scrollTop()}if(this.offsetParent[0]==document.body||this.offsetParent[0].tagName&&this.offsetParent[0].tagName.toLowerCase()=="html"&&d.browser.msie)a={top:0,left:0};return{top:a.top+(parseInt(this.offsetParent.css("borderTopWidth"),10)||0),left:a.left+(parseInt(this.offsetParent.css("borderLeftWidth"), -10)||0)}},_getRelativeOffset:function(){if(this.cssPosition=="relative"){var a=this.currentItem.position();return{top:a.top-(parseInt(this.helper.css("top"),10)||0)+this.scrollParent.scrollTop(),left:a.left-(parseInt(this.helper.css("left"),10)||0)+this.scrollParent.scrollLeft()}}else return{top:0,left:0}},_cacheMargins:function(){this.margins={left:parseInt(this.currentItem.css("marginLeft"),10)||0,top:parseInt(this.currentItem.css("marginTop"),10)||0}},_cacheHelperProportions:function(){this.helperProportions= -{width:this.helper.outerWidth(),height:this.helper.outerHeight()}},_setContainment:function(){var a=this.options;if(a.containment=="parent")a.containment=this.helper[0].parentNode;if(a.containment=="document"||a.containment=="window")this.containment=[0-this.offset.relative.left-this.offset.parent.left,0-this.offset.relative.top-this.offset.parent.top,d(a.containment=="document"?document:window).width()-this.helperProportions.width-this.margins.left,(d(a.containment=="document"?document:window).height()|| -document.body.parentNode.scrollHeight)-this.helperProportions.height-this.margins.top];if(!/^(document|window|parent)$/.test(a.containment)){var b=d(a.containment)[0];a=d(a.containment).offset();var c=d(b).css("overflow")!="hidden";this.containment=[a.left+(parseInt(d(b).css("borderLeftWidth"),10)||0)+(parseInt(d(b).css("paddingLeft"),10)||0)-this.margins.left,a.top+(parseInt(d(b).css("borderTopWidth"),10)||0)+(parseInt(d(b).css("paddingTop"),10)||0)-this.margins.top,a.left+(c?Math.max(b.scrollWidth, -b.offsetWidth):b.offsetWidth)-(parseInt(d(b).css("borderLeftWidth"),10)||0)-(parseInt(d(b).css("paddingRight"),10)||0)-this.helperProportions.width-this.margins.left,a.top+(c?Math.max(b.scrollHeight,b.offsetHeight):b.offsetHeight)-(parseInt(d(b).css("borderTopWidth"),10)||0)-(parseInt(d(b).css("paddingBottom"),10)||0)-this.helperProportions.height-this.margins.top]}},_convertPositionTo:function(a,b){if(!b)b=this.position;a=a=="absolute"?1:-1;var c=this.cssPosition=="absolute"&&!(this.scrollParent[0]!= -document&&d.ui.contains(this.scrollParent[0],this.offsetParent[0]))?this.offsetParent:this.scrollParent,e=/(html|body)/i.test(c[0].tagName);return{top:b.top+this.offset.relative.top*a+this.offset.parent.top*a-(d.browser.safari&&this.cssPosition=="fixed"?0:(this.cssPosition=="fixed"?-this.scrollParent.scrollTop():e?0:c.scrollTop())*a),left:b.left+this.offset.relative.left*a+this.offset.parent.left*a-(d.browser.safari&&this.cssPosition=="fixed"?0:(this.cssPosition=="fixed"?-this.scrollParent.scrollLeft(): -e?0:c.scrollLeft())*a)}},_generatePosition:function(a){var b=this.options,c=this.cssPosition=="absolute"&&!(this.scrollParent[0]!=document&&d.ui.contains(this.scrollParent[0],this.offsetParent[0]))?this.offsetParent:this.scrollParent,e=/(html|body)/i.test(c[0].tagName);if(this.cssPosition=="relative"&&!(this.scrollParent[0]!=document&&this.scrollParent[0]!=this.offsetParent[0]))this.offset.relative=this._getRelativeOffset();var f=a.pageX,g=a.pageY;if(this.originalPosition){if(this.containment){if(a.pageX- -this.offset.click.left<this.containment[0])f=this.containment[0]+this.offset.click.left;if(a.pageY-this.offset.click.top<this.containment[1])g=this.containment[1]+this.offset.click.top;if(a.pageX-this.offset.click.left>this.containment[2])f=this.containment[2]+this.offset.click.left;if(a.pageY-this.offset.click.top>this.containment[3])g=this.containment[3]+this.offset.click.top}if(b.grid){g=this.originalPageY+Math.round((g-this.originalPageY)/b.grid[1])*b.grid[1];g=this.containment?!(g-this.offset.click.top< -this.containment[1]||g-this.offset.click.top>this.containment[3])?g:!(g-this.offset.click.top<this.containment[1])?g-b.grid[1]:g+b.grid[1]:g;f=this.originalPageX+Math.round((f-this.originalPageX)/b.grid[0])*b.grid[0];f=this.containment?!(f-this.offset.click.left<this.containment[0]||f-this.offset.click.left>this.containment[2])?f:!(f-this.offset.click.left<this.containment[0])?f-b.grid[0]:f+b.grid[0]:f}}return{top:g-this.offset.click.top-this.offset.relative.top-this.offset.parent.top+(d.browser.safari&& -this.cssPosition=="fixed"?0:this.cssPosition=="fixed"?-this.scrollParent.scrollTop():e?0:c.scrollTop()),left:f-this.offset.click.left-this.offset.relative.left-this.offset.parent.left+(d.browser.safari&&this.cssPosition=="fixed"?0:this.cssPosition=="fixed"?-this.scrollParent.scrollLeft():e?0:c.scrollLeft())}},_rearrange:function(a,b,c,e){c?c[0].appendChild(this.placeholder[0]):b.item[0].parentNode.insertBefore(this.placeholder[0],this.direction=="down"?b.item[0]:b.item[0].nextSibling);this.counter= -this.counter?++this.counter:1;var f=this,g=this.counter;window.setTimeout(function(){g==f.counter&&f.refreshPositions(!e)},0)},_clear:function(a,b){this.reverting=false;var c=[];!this._noFinalSort&&this.currentItem[0].parentNode&&this.placeholder.before(this.currentItem);this._noFinalSort=null;if(this.helper[0]==this.currentItem[0]){for(var e in this._storedCSS)if(this._storedCSS[e]=="auto"||this._storedCSS[e]=="static")this._storedCSS[e]="";this.currentItem.css(this._storedCSS).removeClass("ui-sortable-helper")}else this.currentItem.show(); -this.fromOutside&&!b&&c.push(function(f){this._trigger("receive",f,this._uiHash(this.fromOutside))});if((this.fromOutside||this.domPosition.prev!=this.currentItem.prev().not(".ui-sortable-helper")[0]||this.domPosition.parent!=this.currentItem.parent()[0])&&!b)c.push(function(f){this._trigger("update",f,this._uiHash())});if(!d.ui.contains(this.element[0],this.currentItem[0])){b||c.push(function(f){this._trigger("remove",f,this._uiHash())});for(e=this.containers.length-1;e>=0;e--)if(d.ui.contains(this.containers[e].element[0], -this.currentItem[0])&&!b){c.push(function(f){return function(g){f._trigger("receive",g,this._uiHash(this))}}.call(this,this.containers[e]));c.push(function(f){return function(g){f._trigger("update",g,this._uiHash(this))}}.call(this,this.containers[e]))}}for(e=this.containers.length-1;e>=0;e--){b||c.push(function(f){return function(g){f._trigger("deactivate",g,this._uiHash(this))}}.call(this,this.containers[e]));if(this.containers[e].containerCache.over){c.push(function(f){return function(g){f._trigger("out", -g,this._uiHash(this))}}.call(this,this.containers[e]));this.containers[e].containerCache.over=0}}this._storedCursor&&d("body").css("cursor",this._storedCursor);this._storedOpacity&&this.helper.css("opacity",this._storedOpacity);if(this._storedZIndex)this.helper.css("zIndex",this._storedZIndex=="auto"?"":this._storedZIndex);this.dragging=false;if(this.cancelHelperRemoval){if(!b){this._trigger("beforeStop",a,this._uiHash());for(e=0;e<c.length;e++)c[e].call(this,a);this._trigger("stop",a,this._uiHash())}return false}b|| -this._trigger("beforeStop",a,this._uiHash());this.placeholder[0].parentNode.removeChild(this.placeholder[0]);this.helper[0]!=this.currentItem[0]&&this.helper.remove();this.helper=null;if(!b){for(e=0;e<c.length;e++)c[e].call(this,a);this._trigger("stop",a,this._uiHash())}this.fromOutside=false;return true},_trigger:function(){d.Widget.prototype._trigger.apply(this,arguments)===false&&this.cancel()},_uiHash:function(a){var b=a||this;return{helper:b.helper,placeholder:b.placeholder||d([]),position:b.position, -originalPosition:b.originalPosition,offset:b.positionAbs,item:b.currentItem,sender:a?a.element:null}}});d.extend(d.ui.sortable,{version:"1.8.9"})})(jQuery); +this.refresh();this.floating=this.items.length?/left|right/.test(this.items[0].item.css("float"))||/inline|table-cell/.test(this.items[0].item.css("display")):false;this.offset=this.element.offset();this._mouseInit()},destroy:function(){this.element.removeClass("ui-sortable ui-sortable-disabled").removeData("sortable").unbind(".sortable");this._mouseDestroy();for(var a=this.items.length-1;a>=0;a--)this.items[a].item.removeData("sortable-item");return this},_setOption:function(a,b){if(a==="disabled"){this.options[a]= +b;this.widget()[b?"addClass":"removeClass"]("ui-sortable-disabled")}else d.Widget.prototype._setOption.apply(this,arguments)},_mouseCapture:function(a,b){if(this.reverting)return false;if(this.options.disabled||this.options.type=="static")return false;this._refreshItems(a);var c=null,e=this;d(a.target).parents().each(function(){if(d.data(this,"sortable-item")==e){c=d(this);return false}});if(d.data(a.target,"sortable-item")==e)c=d(a.target);if(!c)return false;if(this.options.handle&&!b){var f=false; +d(this.options.handle,c).find("*").andSelf().each(function(){if(this==a.target)f=true});if(!f)return false}this.currentItem=c;this._removeCurrentsFromItems();return true},_mouseStart:function(a,b,c){b=this.options;var e=this;this.currentContainer=this;this.refreshPositions();this.helper=this._createHelper(a);this._cacheHelperProportions();this._cacheMargins();this.scrollParent=this.helper.scrollParent();this.offset=this.currentItem.offset();this.offset={top:this.offset.top-this.margins.top,left:this.offset.left- +this.margins.left};this.helper.css("position","absolute");this.cssPosition=this.helper.css("position");d.extend(this.offset,{click:{left:a.pageX-this.offset.left,top:a.pageY-this.offset.top},parent:this._getParentOffset(),relative:this._getRelativeOffset()});this.originalPosition=this._generatePosition(a);this.originalPageX=a.pageX;this.originalPageY=a.pageY;b.cursorAt&&this._adjustOffsetFromHelper(b.cursorAt);this.domPosition={prev:this.currentItem.prev()[0],parent:this.currentItem.parent()[0]}; +this.helper[0]!=this.currentItem[0]&&this.currentItem.hide();this._createPlaceholder();b.containment&&this._setContainment();if(b.cursor){if(d("body").css("cursor"))this._storedCursor=d("body").css("cursor");d("body").css("cursor",b.cursor)}if(b.opacity){if(this.helper.css("opacity"))this._storedOpacity=this.helper.css("opacity");this.helper.css("opacity",b.opacity)}if(b.zIndex){if(this.helper.css("zIndex"))this._storedZIndex=this.helper.css("zIndex");this.helper.css("zIndex",b.zIndex)}if(this.scrollParent[0]!= +document&&this.scrollParent[0].tagName!="HTML")this.overflowOffset=this.scrollParent.offset();this._trigger("start",a,this._uiHash());this._preserveHelperProportions||this._cacheHelperProportions();if(!c)for(c=this.containers.length-1;c>=0;c--)this.containers[c]._trigger("activate",a,e._uiHash(this));if(d.ui.ddmanager)d.ui.ddmanager.current=this;d.ui.ddmanager&&!b.dropBehaviour&&d.ui.ddmanager.prepareOffsets(this,a);this.dragging=true;this.helper.addClass("ui-sortable-helper");this._mouseDrag(a); +return true},_mouseDrag:function(a){this.position=this._generatePosition(a);this.positionAbs=this._convertPositionTo("absolute");if(!this.lastPositionAbs)this.lastPositionAbs=this.positionAbs;if(this.options.scroll){var b=this.options,c=false;if(this.scrollParent[0]!=document&&this.scrollParent[0].tagName!="HTML"){if(this.overflowOffset.top+this.scrollParent[0].offsetHeight-a.pageY<b.scrollSensitivity)this.scrollParent[0].scrollTop=c=this.scrollParent[0].scrollTop+b.scrollSpeed;else if(a.pageY-this.overflowOffset.top< +b.scrollSensitivity)this.scrollParent[0].scrollTop=c=this.scrollParent[0].scrollTop-b.scrollSpeed;if(this.overflowOffset.left+this.scrollParent[0].offsetWidth-a.pageX<b.scrollSensitivity)this.scrollParent[0].scrollLeft=c=this.scrollParent[0].scrollLeft+b.scrollSpeed;else if(a.pageX-this.overflowOffset.left<b.scrollSensitivity)this.scrollParent[0].scrollLeft=c=this.scrollParent[0].scrollLeft-b.scrollSpeed}else{if(a.pageY-d(document).scrollTop()<b.scrollSensitivity)c=d(document).scrollTop(d(document).scrollTop()- +b.scrollSpeed);else if(d(window).height()-(a.pageY-d(document).scrollTop())<b.scrollSensitivity)c=d(document).scrollTop(d(document).scrollTop()+b.scrollSpeed);if(a.pageX-d(document).scrollLeft()<b.scrollSensitivity)c=d(document).scrollLeft(d(document).scrollLeft()-b.scrollSpeed);else if(d(window).width()-(a.pageX-d(document).scrollLeft())<b.scrollSensitivity)c=d(document).scrollLeft(d(document).scrollLeft()+b.scrollSpeed)}c!==false&&d.ui.ddmanager&&!b.dropBehaviour&&d.ui.ddmanager.prepareOffsets(this, +a)}this.positionAbs=this._convertPositionTo("absolute");if(!this.options.axis||this.options.axis!="y")this.helper[0].style.left=this.position.left+"px";if(!this.options.axis||this.options.axis!="x")this.helper[0].style.top=this.position.top+"px";for(b=this.items.length-1;b>=0;b--){c=this.items[b];var e=c.item[0],f=this._intersectsWithPointer(c);if(f)if(e!=this.currentItem[0]&&this.placeholder[f==1?"next":"prev"]()[0]!=e&&!d.ui.contains(this.placeholder[0],e)&&(this.options.type=="semi-dynamic"?!d.ui.contains(this.element[0], +e):true)){this.direction=f==1?"down":"up";if(this.options.tolerance=="pointer"||this._intersectsWithSides(c))this._rearrange(a,c);else break;this._trigger("change",a,this._uiHash());break}}this._contactContainers(a);d.ui.ddmanager&&d.ui.ddmanager.drag(this,a);this._trigger("sort",a,this._uiHash());this.lastPositionAbs=this.positionAbs;return false},_mouseStop:function(a,b){if(a){d.ui.ddmanager&&!this.options.dropBehaviour&&d.ui.ddmanager.drop(this,a);if(this.options.revert){var c=this;b=c.placeholder.offset(); +c.reverting=true;d(this.helper).animate({left:b.left-this.offset.parent.left-c.margins.left+(this.offsetParent[0]==document.body?0:this.offsetParent[0].scrollLeft),top:b.top-this.offset.parent.top-c.margins.top+(this.offsetParent[0]==document.body?0:this.offsetParent[0].scrollTop)},parseInt(this.options.revert,10)||500,function(){c._clear(a)})}else this._clear(a,b);return false}},cancel:function(){var a=this;if(this.dragging){this._mouseUp({target:null});this.options.helper=="original"?this.currentItem.css(this._storedCSS).removeClass("ui-sortable-helper"): +this.currentItem.show();for(var b=this.containers.length-1;b>=0;b--){this.containers[b]._trigger("deactivate",null,a._uiHash(this));if(this.containers[b].containerCache.over){this.containers[b]._trigger("out",null,a._uiHash(this));this.containers[b].containerCache.over=0}}}if(this.placeholder){this.placeholder[0].parentNode&&this.placeholder[0].parentNode.removeChild(this.placeholder[0]);this.options.helper!="original"&&this.helper&&this.helper[0].parentNode&&this.helper.remove();d.extend(this,{helper:null, +dragging:false,reverting:false,_noFinalSort:null});this.domPosition.prev?d(this.domPosition.prev).after(this.currentItem):d(this.domPosition.parent).prepend(this.currentItem)}return this},serialize:function(a){var b=this._getItemsAsjQuery(a&&a.connected),c=[];a=a||{};d(b).each(function(){var e=(d(a.item||this).attr(a.attribute||"id")||"").match(a.expression||/(.+)[-=_](.+)/);if(e)c.push((a.key||e[1]+"[]")+"="+(a.key&&a.expression?e[1]:e[2]))});!c.length&&a.key&&c.push(a.key+"=");return c.join("&")}, +toArray:function(a){var b=this._getItemsAsjQuery(a&&a.connected),c=[];a=a||{};b.each(function(){c.push(d(a.item||this).attr(a.attribute||"id")||"")});return c},_intersectsWith:function(a){var b=this.positionAbs.left,c=b+this.helperProportions.width,e=this.positionAbs.top,f=e+this.helperProportions.height,g=a.left,h=g+a.width,i=a.top,k=i+a.height,j=this.offset.click.top,l=this.offset.click.left;j=e+j>i&&e+j<k&&b+l>g&&b+l<h;return this.options.tolerance=="pointer"||this.options.forcePointerForContainers|| +this.options.tolerance!="pointer"&&this.helperProportions[this.floating?"width":"height"]>a[this.floating?"width":"height"]?j:g<b+this.helperProportions.width/2&&c-this.helperProportions.width/2<h&&i<e+this.helperProportions.height/2&&f-this.helperProportions.height/2<k},_intersectsWithPointer:function(a){var b=d.ui.isOverAxis(this.positionAbs.top+this.offset.click.top,a.top,a.height);a=d.ui.isOverAxis(this.positionAbs.left+this.offset.click.left,a.left,a.width);b=b&&a;a=this._getDragVerticalDirection(); +var c=this._getDragHorizontalDirection();if(!b)return false;return this.floating?c&&c=="right"||a=="down"?2:1:a&&(a=="down"?2:1)},_intersectsWithSides:function(a){var b=d.ui.isOverAxis(this.positionAbs.top+this.offset.click.top,a.top+a.height/2,a.height);a=d.ui.isOverAxis(this.positionAbs.left+this.offset.click.left,a.left+a.width/2,a.width);var c=this._getDragVerticalDirection(),e=this._getDragHorizontalDirection();return this.floating&&e?e=="right"&&a||e=="left"&&!a:c&&(c=="down"&&b||c=="up"&&!b)}, +_getDragVerticalDirection:function(){var a=this.positionAbs.top-this.lastPositionAbs.top;return a!=0&&(a>0?"down":"up")},_getDragHorizontalDirection:function(){var a=this.positionAbs.left-this.lastPositionAbs.left;return a!=0&&(a>0?"right":"left")},refresh:function(a){this._refreshItems(a);this.refreshPositions();return this},_connectWith:function(){var a=this.options;return a.connectWith.constructor==String?[a.connectWith]:a.connectWith},_getItemsAsjQuery:function(a){var b=[],c=[],e=this._connectWith(); +if(e&&a)for(a=e.length-1;a>=0;a--)for(var f=d(e[a]),g=f.length-1;g>=0;g--){var h=d.data(f[g],"sortable");if(h&&h!=this&&!h.options.disabled)c.push([d.isFunction(h.options.items)?h.options.items.call(h.element):d(h.options.items,h.element).not(".ui-sortable-helper").not(".ui-sortable-placeholder"),h])}c.push([d.isFunction(this.options.items)?this.options.items.call(this.element,null,{options:this.options,item:this.currentItem}):d(this.options.items,this.element).not(".ui-sortable-helper").not(".ui-sortable-placeholder"), +this]);for(a=c.length-1;a>=0;a--)c[a][0].each(function(){b.push(this)});return d(b)},_removeCurrentsFromItems:function(){for(var a=this.currentItem.find(":data(sortable-item)"),b=0;b<this.items.length;b++)for(var c=0;c<a.length;c++)a[c]==this.items[b].item[0]&&this.items.splice(b,1)},_refreshItems:function(a){this.items=[];this.containers=[this];var b=this.items,c=[[d.isFunction(this.options.items)?this.options.items.call(this.element[0],a,{item:this.currentItem}):d(this.options.items,this.element), +this]],e=this._connectWith();if(e)for(var f=e.length-1;f>=0;f--)for(var g=d(e[f]),h=g.length-1;h>=0;h--){var i=d.data(g[h],"sortable");if(i&&i!=this&&!i.options.disabled){c.push([d.isFunction(i.options.items)?i.options.items.call(i.element[0],a,{item:this.currentItem}):d(i.options.items,i.element),i]);this.containers.push(i)}}for(f=c.length-1;f>=0;f--){a=c[f][1];e=c[f][0];h=0;for(g=e.length;h<g;h++){i=d(e[h]);i.data("sortable-item",a);b.push({item:i,instance:a,width:0,height:0,left:0,top:0})}}},refreshPositions:function(a){if(this.offsetParent&& +this.helper)this.offset.parent=this._getParentOffset();for(var b=this.items.length-1;b>=0;b--){var c=this.items[b];if(!(c.instance!=this.currentContainer&&this.currentContainer&&c.item[0]!=this.currentItem[0])){var e=this.options.toleranceElement?d(this.options.toleranceElement,c.item):c.item;if(!a){c.width=e.outerWidth();c.height=e.outerHeight()}e=e.offset();c.left=e.left;c.top=e.top}}if(this.options.custom&&this.options.custom.refreshContainers)this.options.custom.refreshContainers.call(this);else for(b= +this.containers.length-1;b>=0;b--){e=this.containers[b].element.offset();this.containers[b].containerCache.left=e.left;this.containers[b].containerCache.top=e.top;this.containers[b].containerCache.width=this.containers[b].element.outerWidth();this.containers[b].containerCache.height=this.containers[b].element.outerHeight()}return this},_createPlaceholder:function(a){var b=a||this,c=b.options;if(!c.placeholder||c.placeholder.constructor==String){var e=c.placeholder;c.placeholder={element:function(){var f= +d(document.createElement(b.currentItem[0].nodeName)).addClass(e||b.currentItem[0].className+" ui-sortable-placeholder").removeClass("ui-sortable-helper")[0];if(!e)f.style.visibility="hidden";return f},update:function(f,g){if(!(e&&!c.forcePlaceholderSize)){g.height()||g.height(b.currentItem.innerHeight()-parseInt(b.currentItem.css("paddingTop")||0,10)-parseInt(b.currentItem.css("paddingBottom")||0,10));g.width()||g.width(b.currentItem.innerWidth()-parseInt(b.currentItem.css("paddingLeft")||0,10)-parseInt(b.currentItem.css("paddingRight")|| +0,10))}}}}b.placeholder=d(c.placeholder.element.call(b.element,b.currentItem));b.currentItem.after(b.placeholder);c.placeholder.update(b,b.placeholder)},_contactContainers:function(a){for(var b=null,c=null,e=this.containers.length-1;e>=0;e--)if(!d.ui.contains(this.currentItem[0],this.containers[e].element[0]))if(this._intersectsWith(this.containers[e].containerCache)){if(!(b&&d.ui.contains(this.containers[e].element[0],b.element[0]))){b=this.containers[e];c=e}}else if(this.containers[e].containerCache.over){this.containers[e]._trigger("out", +a,this._uiHash(this));this.containers[e].containerCache.over=0}if(b)if(this.containers.length===1){this.containers[c]._trigger("over",a,this._uiHash(this));this.containers[c].containerCache.over=1}else if(this.currentContainer!=this.containers[c]){b=1E4;e=null;for(var f=this.positionAbs[this.containers[c].floating?"left":"top"],g=this.items.length-1;g>=0;g--)if(d.ui.contains(this.containers[c].element[0],this.items[g].item[0])){var h=this.items[g][this.containers[c].floating?"left":"top"];if(Math.abs(h- +f)<b){b=Math.abs(h-f);e=this.items[g]}}if(e||this.options.dropOnEmpty){this.currentContainer=this.containers[c];e?this._rearrange(a,e,null,true):this._rearrange(a,null,this.containers[c].element,true);this._trigger("change",a,this._uiHash());this.containers[c]._trigger("change",a,this._uiHash(this));this.options.placeholder.update(this.currentContainer,this.placeholder);this.containers[c]._trigger("over",a,this._uiHash(this));this.containers[c].containerCache.over=1}}},_createHelper:function(a){var b= +this.options;a=d.isFunction(b.helper)?d(b.helper.apply(this.element[0],[a,this.currentItem])):b.helper=="clone"?this.currentItem.clone():this.currentItem;a.parents("body").length||d(b.appendTo!="parent"?b.appendTo:this.currentItem[0].parentNode)[0].appendChild(a[0]);if(a[0]==this.currentItem[0])this._storedCSS={width:this.currentItem[0].style.width,height:this.currentItem[0].style.height,position:this.currentItem.css("position"),top:this.currentItem.css("top"),left:this.currentItem.css("left")};if(a[0].style.width== +""||b.forceHelperSize)a.width(this.currentItem.width());if(a[0].style.height==""||b.forceHelperSize)a.height(this.currentItem.height());return a},_adjustOffsetFromHelper:function(a){if(typeof a=="string")a=a.split(" ");if(d.isArray(a))a={left:+a[0],top:+a[1]||0};if("left"in a)this.offset.click.left=a.left+this.margins.left;if("right"in a)this.offset.click.left=this.helperProportions.width-a.right+this.margins.left;if("top"in a)this.offset.click.top=a.top+this.margins.top;if("bottom"in a)this.offset.click.top= +this.helperProportions.height-a.bottom+this.margins.top},_getParentOffset:function(){this.offsetParent=this.helper.offsetParent();var a=this.offsetParent.offset();if(this.cssPosition=="absolute"&&this.scrollParent[0]!=document&&d.ui.contains(this.scrollParent[0],this.offsetParent[0])){a.left+=this.scrollParent.scrollLeft();a.top+=this.scrollParent.scrollTop()}if(this.offsetParent[0]==document.body||this.offsetParent[0].tagName&&this.offsetParent[0].tagName.toLowerCase()=="html"&&d.browser.msie)a= +{top:0,left:0};return{top:a.top+(parseInt(this.offsetParent.css("borderTopWidth"),10)||0),left:a.left+(parseInt(this.offsetParent.css("borderLeftWidth"),10)||0)}},_getRelativeOffset:function(){if(this.cssPosition=="relative"){var a=this.currentItem.position();return{top:a.top-(parseInt(this.helper.css("top"),10)||0)+this.scrollParent.scrollTop(),left:a.left-(parseInt(this.helper.css("left"),10)||0)+this.scrollParent.scrollLeft()}}else return{top:0,left:0}},_cacheMargins:function(){this.margins={left:parseInt(this.currentItem.css("marginLeft"), +10)||0,top:parseInt(this.currentItem.css("marginTop"),10)||0}},_cacheHelperProportions:function(){this.helperProportions={width:this.helper.outerWidth(),height:this.helper.outerHeight()}},_setContainment:function(){var a=this.options;if(a.containment=="parent")a.containment=this.helper[0].parentNode;if(a.containment=="document"||a.containment=="window")this.containment=[0-this.offset.relative.left-this.offset.parent.left,0-this.offset.relative.top-this.offset.parent.top,d(a.containment=="document"? +document:window).width()-this.helperProportions.width-this.margins.left,(d(a.containment=="document"?document:window).height()||document.body.parentNode.scrollHeight)-this.helperProportions.height-this.margins.top];if(!/^(document|window|parent)$/.test(a.containment)){var b=d(a.containment)[0];a=d(a.containment).offset();var c=d(b).css("overflow")!="hidden";this.containment=[a.left+(parseInt(d(b).css("borderLeftWidth"),10)||0)+(parseInt(d(b).css("paddingLeft"),10)||0)-this.margins.left,a.top+(parseInt(d(b).css("borderTopWidth"), +10)||0)+(parseInt(d(b).css("paddingTop"),10)||0)-this.margins.top,a.left+(c?Math.max(b.scrollWidth,b.offsetWidth):b.offsetWidth)-(parseInt(d(b).css("borderLeftWidth"),10)||0)-(parseInt(d(b).css("paddingRight"),10)||0)-this.helperProportions.width-this.margins.left,a.top+(c?Math.max(b.scrollHeight,b.offsetHeight):b.offsetHeight)-(parseInt(d(b).css("borderTopWidth"),10)||0)-(parseInt(d(b).css("paddingBottom"),10)||0)-this.helperProportions.height-this.margins.top]}},_convertPositionTo:function(a,b){if(!b)b= +this.position;a=a=="absolute"?1:-1;var c=this.cssPosition=="absolute"&&!(this.scrollParent[0]!=document&&d.ui.contains(this.scrollParent[0],this.offsetParent[0]))?this.offsetParent:this.scrollParent,e=/(html|body)/i.test(c[0].tagName);return{top:b.top+this.offset.relative.top*a+this.offset.parent.top*a-(d.browser.safari&&this.cssPosition=="fixed"?0:(this.cssPosition=="fixed"?-this.scrollParent.scrollTop():e?0:c.scrollTop())*a),left:b.left+this.offset.relative.left*a+this.offset.parent.left*a-(d.browser.safari&& +this.cssPosition=="fixed"?0:(this.cssPosition=="fixed"?-this.scrollParent.scrollLeft():e?0:c.scrollLeft())*a)}},_generatePosition:function(a){var b=this.options,c=this.cssPosition=="absolute"&&!(this.scrollParent[0]!=document&&d.ui.contains(this.scrollParent[0],this.offsetParent[0]))?this.offsetParent:this.scrollParent,e=/(html|body)/i.test(c[0].tagName);if(this.cssPosition=="relative"&&!(this.scrollParent[0]!=document&&this.scrollParent[0]!=this.offsetParent[0]))this.offset.relative=this._getRelativeOffset(); +var f=a.pageX,g=a.pageY;if(this.originalPosition){if(this.containment){if(a.pageX-this.offset.click.left<this.containment[0])f=this.containment[0]+this.offset.click.left;if(a.pageY-this.offset.click.top<this.containment[1])g=this.containment[1]+this.offset.click.top;if(a.pageX-this.offset.click.left>this.containment[2])f=this.containment[2]+this.offset.click.left;if(a.pageY-this.offset.click.top>this.containment[3])g=this.containment[3]+this.offset.click.top}if(b.grid){g=this.originalPageY+Math.round((g- +this.originalPageY)/b.grid[1])*b.grid[1];g=this.containment?!(g-this.offset.click.top<this.containment[1]||g-this.offset.click.top>this.containment[3])?g:!(g-this.offset.click.top<this.containment[1])?g-b.grid[1]:g+b.grid[1]:g;f=this.originalPageX+Math.round((f-this.originalPageX)/b.grid[0])*b.grid[0];f=this.containment?!(f-this.offset.click.left<this.containment[0]||f-this.offset.click.left>this.containment[2])?f:!(f-this.offset.click.left<this.containment[0])?f-b.grid[0]:f+b.grid[0]:f}}return{top:g- +this.offset.click.top-this.offset.relative.top-this.offset.parent.top+(d.browser.safari&&this.cssPosition=="fixed"?0:this.cssPosition=="fixed"?-this.scrollParent.scrollTop():e?0:c.scrollTop()),left:f-this.offset.click.left-this.offset.relative.left-this.offset.parent.left+(d.browser.safari&&this.cssPosition=="fixed"?0:this.cssPosition=="fixed"?-this.scrollParent.scrollLeft():e?0:c.scrollLeft())}},_rearrange:function(a,b,c,e){c?c[0].appendChild(this.placeholder[0]):b.item[0].parentNode.insertBefore(this.placeholder[0], +this.direction=="down"?b.item[0]:b.item[0].nextSibling);this.counter=this.counter?++this.counter:1;var f=this,g=this.counter;window.setTimeout(function(){g==f.counter&&f.refreshPositions(!e)},0)},_clear:function(a,b){this.reverting=false;var c=[];!this._noFinalSort&&this.currentItem[0].parentNode&&this.placeholder.before(this.currentItem);this._noFinalSort=null;if(this.helper[0]==this.currentItem[0]){for(var e in this._storedCSS)if(this._storedCSS[e]=="auto"||this._storedCSS[e]=="static")this._storedCSS[e]= +"";this.currentItem.css(this._storedCSS).removeClass("ui-sortable-helper")}else this.currentItem.show();this.fromOutside&&!b&&c.push(function(f){this._trigger("receive",f,this._uiHash(this.fromOutside))});if((this.fromOutside||this.domPosition.prev!=this.currentItem.prev().not(".ui-sortable-helper")[0]||this.domPosition.parent!=this.currentItem.parent()[0])&&!b)c.push(function(f){this._trigger("update",f,this._uiHash())});if(!d.ui.contains(this.element[0],this.currentItem[0])){b||c.push(function(f){this._trigger("remove", +f,this._uiHash())});for(e=this.containers.length-1;e>=0;e--)if(d.ui.contains(this.containers[e].element[0],this.currentItem[0])&&!b){c.push(function(f){return function(g){f._trigger("receive",g,this._uiHash(this))}}.call(this,this.containers[e]));c.push(function(f){return function(g){f._trigger("update",g,this._uiHash(this))}}.call(this,this.containers[e]))}}for(e=this.containers.length-1;e>=0;e--){b||c.push(function(f){return function(g){f._trigger("deactivate",g,this._uiHash(this))}}.call(this, +this.containers[e]));if(this.containers[e].containerCache.over){c.push(function(f){return function(g){f._trigger("out",g,this._uiHash(this))}}.call(this,this.containers[e]));this.containers[e].containerCache.over=0}}this._storedCursor&&d("body").css("cursor",this._storedCursor);this._storedOpacity&&this.helper.css("opacity",this._storedOpacity);if(this._storedZIndex)this.helper.css("zIndex",this._storedZIndex=="auto"?"":this._storedZIndex);this.dragging=false;if(this.cancelHelperRemoval){if(!b){this._trigger("beforeStop", +a,this._uiHash());for(e=0;e<c.length;e++)c[e].call(this,a);this._trigger("stop",a,this._uiHash())}return false}b||this._trigger("beforeStop",a,this._uiHash());this.placeholder[0].parentNode.removeChild(this.placeholder[0]);this.helper[0]!=this.currentItem[0]&&this.helper.remove();this.helper=null;if(!b){for(e=0;e<c.length;e++)c[e].call(this,a);this._trigger("stop",a,this._uiHash())}this.fromOutside=false;return true},_trigger:function(){d.Widget.prototype._trigger.apply(this,arguments)===false&&this.cancel()}, +_uiHash:function(a){var b=a||this;return{helper:b.helper,placeholder:b.placeholder||d([]),position:b.position,originalPosition:b.originalPosition,offset:b.positionAbs,item:b.currentItem,sender:a?a.element:null}}});d.extend(d.ui.sortable,{version:"1.8.12"})})(jQuery); diff --git a/wp-includes/js/jquery/ui.tabs.js b/wp-includes/js/jquery/ui.tabs.js index d29d2cf57..59520ac67 100644 --- a/wp-includes/js/jquery/ui.tabs.js +++ b/wp-includes/js/jquery/ui.tabs.js @@ -1,5 +1,5 @@ /* - * jQuery UI Tabs 1.8.9 + * jQuery UI Tabs 1.8.12 * * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) * Dual licensed under the MIT or GPL Version 2 licenses. @@ -31,5 +31,5 @@ if(a.hasClass("ui-tabs-selected")&&this.anchors.length>1)this.select(b+(b+1<this this._ui(this.anchors[b],this.panels[b]));return this}},disable:function(b){b=this._getIndex(b);var e=this.options;if(b!=e.selected){this.lis.eq(b).addClass("ui-state-disabled");e.disabled.push(b);e.disabled.sort();this._trigger("disable",null,this._ui(this.anchors[b],this.panels[b]))}return this},select:function(b){b=this._getIndex(b);if(b==-1)if(this.options.collapsible&&this.options.selected!=-1)b=this.options.selected;else return this;this.anchors.eq(b).trigger(this.options.event+".tabs");return this}, load:function(b){b=this._getIndex(b);var e=this,a=this.options,c=this.anchors.eq(b)[0],h=d.data(c,"load.tabs");this.abort();if(!h||this.element.queue("tabs").length!==0&&d.data(c,"cache.tabs"))this.element.dequeue("tabs");else{this.lis.eq(b).addClass("ui-state-processing");if(a.spinner){var j=d("span",c);j.data("label.tabs",j.html()).html(a.spinner)}this.xhr=d.ajax(d.extend({},a.ajaxOptions,{url:h,success:function(k,n){e.element.find(e._sanitizeSelector(c.hash)).html(k);e._cleanup();a.cache&&d.data(c, "cache.tabs",true);e._trigger("load",null,e._ui(e.anchors[b],e.panels[b]));try{a.ajaxOptions.success(k,n)}catch(m){}},error:function(k,n){e._cleanup();e._trigger("load",null,e._ui(e.anchors[b],e.panels[b]));try{a.ajaxOptions.error(k,n,b,c)}catch(m){}}}));e.element.dequeue("tabs");return this}},abort:function(){this.element.queue([]);this.panels.stop(false,true);this.element.queue("tabs",this.element.queue("tabs").splice(-2,2));if(this.xhr){this.xhr.abort();delete this.xhr}this._cleanup();return this}, -url:function(b,e){this.anchors.eq(b).removeData("cache.tabs").data("load.tabs",e);return this},length:function(){return this.anchors.length}});d.extend(d.ui.tabs,{version:"1.8.9"});d.extend(d.ui.tabs.prototype,{rotation:null,rotate:function(b,e){var a=this,c=this.options,h=a._rotate||(a._rotate=function(j){clearTimeout(a.rotation);a.rotation=setTimeout(function(){var k=c.selected;a.select(++k<a.anchors.length?k:0)},b);j&&j.stopPropagation()});e=a._unrotate||(a._unrotate=!e?function(j){j.clientX&& +url:function(b,e){this.anchors.eq(b).removeData("cache.tabs").data("load.tabs",e);return this},length:function(){return this.anchors.length}});d.extend(d.ui.tabs,{version:"1.8.12"});d.extend(d.ui.tabs.prototype,{rotation:null,rotate:function(b,e){var a=this,c=this.options,h=a._rotate||(a._rotate=function(j){clearTimeout(a.rotation);a.rotation=setTimeout(function(){var k=c.selected;a.select(++k<a.anchors.length?k:0)},b);j&&j.stopPropagation()});e=a._unrotate||(a._unrotate=!e?function(j){j.clientX&& a.rotate(null)}:function(){t=c.selected;h()});if(b){this.element.bind("tabsshow",h);this.anchors.bind(c.event+".tabs",e);h()}else{clearTimeout(a.rotation);this.element.unbind("tabsshow",h);this.anchors.unbind(c.event+".tabs",e);delete this._rotate;delete this._unrotate}return this}})})(jQuery); diff --git a/wp-includes/js/jquery/ui.widget.js b/wp-includes/js/jquery/ui.widget.js index 8bbaa7dc8..54ff2fea1 100644 --- a/wp-includes/js/jquery/ui.widget.js +++ b/wp-includes/js/jquery/ui.widget.js @@ -1,5 +1,5 @@ /*! - * jQuery UI Widget 1.8.9 + * jQuery UI Widget 1.8.12 * * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) * Dual licensed under the MIT or GPL Version 2 licenses. diff --git a/wp-includes/js/json2.dev.js b/wp-includes/js/json2.dev.js index 8a7793b25..b4c02d3f0 100644 --- a/wp-includes/js/json2.dev.js +++ b/wp-includes/js/json2.dev.js @@ -1,6 +1,6 @@ /* http://www.JSON.org/json2.js - 2009-08-17 + 2011-02-23 Public Domain. @@ -8,6 +8,14 @@ See http://www.JSON.org/js.html + + This code should be minified before deployment. + See http://javascript.crockford.com/jsmin.html + + USE YOUR OWN COPY. IT IS EXTREMELY UNWISE TO LOAD CODE FROM SERVERS YOU DO + NOT CONTROL. + + This file creates a global JSON object containing two methods: stringify and parse. @@ -136,15 +144,9 @@ This is a reference implementation. You are free to copy, modify, or redistribute. - - This code should be minified before deployment. - See http://javascript.crockford.com/jsmin.html - - USE YOUR OWN COPY. IT IS EXTREMELY UNWISE TO LOAD CODE FROM SERVERS YOU DO - NOT CONTROL. */ -/*jslint evil: true */ +/*jslint evil: true, strict: false, regexp: false */ /*members "", "\b", "\t", "\n", "\f", "\r", "\"", JSON, "\\", apply, call, charCodeAt, getUTCDate, getUTCFullYear, getUTCHours, @@ -153,16 +155,17 @@ test, toJSON, toString, valueOf */ -"use strict"; // Create a JSON object only if one does not already exist. We create the // methods in a closure to avoid creating global variables. -if (!this.JSON) { - this.JSON = {}; +var JSON; +if (!JSON) { + JSON = {}; } (function () { + "use strict"; function f(n) { // Format integers to have at least two digits. @@ -174,19 +177,19 @@ if (!this.JSON) { Date.prototype.toJSON = function (key) { return isFinite(this.valueOf()) ? - this.getUTCFullYear() + '-' + - f(this.getUTCMonth() + 1) + '-' + - f(this.getUTCDate()) + 'T' + - f(this.getUTCHours()) + ':' + - f(this.getUTCMinutes()) + ':' + - f(this.getUTCSeconds()) + 'Z' : null; + this.getUTCFullYear() + '-' + + f(this.getUTCMonth() + 1) + '-' + + f(this.getUTCDate()) + 'T' + + f(this.getUTCHours()) + ':' + + f(this.getUTCMinutes()) + ':' + + f(this.getUTCSeconds()) + 'Z' : null; }; - String.prototype.toJSON = - Number.prototype.toJSON = - Boolean.prototype.toJSON = function (key) { - return this.valueOf(); - }; + String.prototype.toJSON = + Number.prototype.toJSON = + Boolean.prototype.toJSON = function (key) { + return this.valueOf(); + }; } var cx = /[\u0000\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g, @@ -213,13 +216,11 @@ if (!this.JSON) { // sequences. escapable.lastIndex = 0; - return escapable.test(string) ? - '"' + string.replace(escapable, function (a) { - var c = meta[a]; - return typeof c === 'string' ? c : - '\\u' + ('0000' + a.charCodeAt(0).toString(16)).slice(-4); - }) + '"' : - '"' + string + '"'; + return escapable.test(string) ? '"' + string.replace(escapable, function (a) { + var c = meta[a]; + return typeof c === 'string' ? c : + '\\u' + ('0000' + a.charCodeAt(0).toString(16)).slice(-4); + }) + '"' : '"' + string + '"'; } @@ -302,11 +303,9 @@ if (!this.JSON) { // Join all of the elements together, separated with commas, and wrap them in // brackets. - v = partial.length === 0 ? '[]' : - gap ? '[\n' + gap + - partial.join(',\n' + gap) + '\n' + - mind + ']' : - '[' + partial.join(',') + ']'; + v = partial.length === 0 ? '[]' : gap ? + '[\n' + gap + partial.join(',\n' + gap) + '\n' + mind + ']' : + '[' + partial.join(',') + ']'; gap = mind; return v; } @@ -316,8 +315,8 @@ if (!this.JSON) { if (rep && typeof rep === 'object') { length = rep.length; for (i = 0; i < length; i += 1) { - k = rep[i]; - if (typeof k === 'string') { + if (typeof rep[i] === 'string') { + k = rep[i]; v = str(k, value); if (v) { partial.push(quote(k) + (gap ? ': ' : ':') + v); @@ -329,7 +328,7 @@ if (!this.JSON) { // Otherwise, iterate through all of the keys in the object. for (k in value) { - if (Object.hasOwnProperty.call(value, k)) { + if (Object.prototype.hasOwnProperty.call(value, k)) { v = str(k, value); if (v) { partial.push(quote(k) + (gap ? ': ' : ':') + v); @@ -341,9 +340,9 @@ if (!this.JSON) { // Join all of the member texts together, separated with commas, // and wrap them in braces. - v = partial.length === 0 ? '{}' : - gap ? '{\n' + gap + partial.join(',\n' + gap) + '\n' + - mind + '}' : '{' + partial.join(',') + '}'; + v = partial.length === 0 ? '{}' : gap ? + '{\n' + gap + partial.join(',\n' + gap) + '\n' + mind + '}' : + '{' + partial.join(',') + '}'; gap = mind; return v; } @@ -384,7 +383,7 @@ if (!this.JSON) { rep = replacer; if (replacer && typeof replacer !== 'function' && (typeof replacer !== 'object' || - typeof replacer.length !== 'number')) { + typeof replacer.length !== 'number')) { throw new Error('JSON.stringify'); } @@ -414,7 +413,7 @@ if (!this.JSON) { var k, v, value = holder[key]; if (value && typeof value === 'object') { for (k in value) { - if (Object.hasOwnProperty.call(value, k)) { + if (Object.prototype.hasOwnProperty.call(value, k)) { v = walk(value, k); if (v !== undefined) { value[k] = v; @@ -432,6 +431,7 @@ if (!this.JSON) { // Unicode characters with escape sequences. JavaScript handles many characters // incorrectly, either silently deleting them, or treating them as line endings. + text = String(text); cx.lastIndex = 0; if (cx.test(text)) { text = text.replace(cx, function (a) { @@ -453,10 +453,10 @@ if (!this.JSON) { // we look to see that the remaining characters are only whitespace or ']' or // ',' or ':' or '{' or '}'. If that is so, then the text is safe for eval. - if (/^[\],:{}\s]*$/. -test(text.replace(/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g, '@'). -replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g, ']'). -replace(/(?:^|:|,)(?:\s*\[)+/g, ''))) { + if (/^[\],:{}\s]*$/ + .test(text.replace(/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g, '@') + .replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g, ']') + .replace(/(?:^|:|,)(?:\s*\[)+/g, ''))) { // In the third stage we use the eval function to compile the text into a // JavaScript structure. The '{' operator is subject to a syntactic ambiguity @@ -478,4 +478,3 @@ replace(/(?:^|:|,)(?:\s*\[)+/g, ''))) { }; } }()); - diff --git a/wp-includes/js/json2.js b/wp-includes/js/json2.js index c2e643663..0bdcc5ec9 100644 --- a/wp-includes/js/json2.js +++ b/wp-includes/js/json2.js @@ -1 +1 @@ -"use strict";if(!this.JSON){this.JSON={}}(function(){function f(n){return n<10?"0"+n:n}if(typeof Date.prototype.toJSON!=="function"){Date.prototype.toJSON=function(key){return isFinite(this.valueOf())?this.getUTCFullYear()+"-"+f(this.getUTCMonth()+1)+"-"+f(this.getUTCDate())+"T"+f(this.getUTCHours())+":"+f(this.getUTCMinutes())+":"+f(this.getUTCSeconds())+"Z":null};String.prototype.toJSON=Number.prototype.toJSON=Boolean.prototype.toJSON=function(key){return this.valueOf()}}var cx=/[\u0000\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,escapable=/[\\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,gap,indent,meta={"\b":"\\b","\t":"\\t","\n":"\\n","\f":"\\f","\r":"\\r",'"':'\\"',"\\":"\\\\"},rep;function quote(string){escapable.lastIndex=0;return escapable.test(string)?'"'+string.replace(escapable,function(a){var c=meta[a];return typeof c==="string"?c:"\\u"+("0000"+a.charCodeAt(0).toString(16)).slice(-4)})+'"':'"'+string+'"'}function str(key,holder){var i,k,v,length,mind=gap,partial,value=holder[key];if(value&&typeof value==="object"&&typeof value.toJSON==="function"){value=value.toJSON(key)}if(typeof rep==="function"){value=rep.call(holder,key,value)}switch(typeof value){case"string":return quote(value);case"number":return isFinite(value)?String(value):"null";case"boolean":case"null":return String(value);case"object":if(!value){return"null"}gap+=indent;partial=[];if(Object.prototype.toString.apply(value)==="[object Array]"){length=value.length;for(i=0;i<length;i+=1){partial[i]=str(i,value)||"null"}v=partial.length===0?"[]":gap?"[\n"+gap+partial.join(",\n"+gap)+"\n"+mind+"]":"["+partial.join(",")+"]";gap=mind;return v}if(rep&&typeof rep==="object"){length=rep.length;for(i=0;i<length;i+=1){k=rep[i];if(typeof k==="string"){v=str(k,value);if(v){partial.push(quote(k)+(gap?": ":":")+v)}}}}else{for(k in value){if(Object.hasOwnProperty.call(value,k)){v=str(k,value);if(v){partial.push(quote(k)+(gap?": ":":")+v)}}}}v=partial.length===0?"{}":gap?"{\n"+gap+partial.join(",\n"+gap)+"\n"+mind+"}":"{"+partial.join(",")+"}";gap=mind;return v}}if(typeof JSON.stringify!=="function"){JSON.stringify=function(value,replacer,space){var i;gap="";indent="";if(typeof space==="number"){for(i=0;i<space;i+=1){indent+=" "}}else{if(typeof space==="string"){indent=space}}rep=replacer;if(replacer&&typeof replacer!=="function"&&(typeof replacer!=="object"||typeof replacer.length!=="number")){throw new Error("JSON.stringify")}return str("",{"":value})}}if(typeof JSON.parse!=="function"){JSON.parse=function(text,reviver){var j;function walk(holder,key){var k,v,value=holder[key];if(value&&typeof value==="object"){for(k in value){if(Object.hasOwnProperty.call(value,k)){v=walk(value,k);if(v!==undefined){value[k]=v}else{delete value[k]}}}}return reviver.call(holder,key,value)}cx.lastIndex=0;if(cx.test(text)){text=text.replace(cx,function(a){return"\\u"+("0000"+a.charCodeAt(0).toString(16)).slice(-4)})}if(/^[\],:{}\s]*$/.test(text.replace(/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,"@").replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,"]").replace(/(?:^|:|,)(?:\s*\[)+/g,""))){j=eval("("+text+")");return typeof reviver==="function"?walk({"":j},""):j}throw new SyntaxError("JSON.parse")}}}()); \ No newline at end of file +var JSON;if(!JSON){JSON={}}(function(){function f(n){return n<10?"0"+n:n}if(typeof Date.prototype.toJSON!=="function"){Date.prototype.toJSON=function(key){return isFinite(this.valueOf())?this.getUTCFullYear()+"-"+f(this.getUTCMonth()+1)+"-"+f(this.getUTCDate())+"T"+f(this.getUTCHours())+":"+f(this.getUTCMinutes())+":"+f(this.getUTCSeconds())+"Z":null};String.prototype.toJSON=Number.prototype.toJSON=Boolean.prototype.toJSON=function(key){return this.valueOf()}}var cx=/[\u0000\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,escapable=/[\\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,gap,indent,meta={"\b":"\\b","\t":"\\t","\n":"\\n","\f":"\\f","\r":"\\r",'"':'\\"',"\\":"\\\\"},rep;function quote(string){escapable.lastIndex=0;return escapable.test(string)?'"'+string.replace(escapable,function(a){var c=meta[a];return typeof c==="string"?c:"\\u"+("0000"+a.charCodeAt(0).toString(16)).slice(-4)})+'"':'"'+string+'"'}function str(key,holder){var i,k,v,length,mind=gap,partial,value=holder[key];if(value&&typeof value==="object"&&typeof value.toJSON==="function"){value=value.toJSON(key)}if(typeof rep==="function"){value=rep.call(holder,key,value)}switch(typeof value){case"string":return quote(value);case"number":return isFinite(value)?String(value):"null";case"boolean":case"null":return String(value);case"object":if(!value){return"null"}gap+=indent;partial=[];if(Object.prototype.toString.apply(value)==="[object Array]"){length=value.length;for(i=0;i<length;i+=1){partial[i]=str(i,value)||"null"}v=partial.length===0?"[]":gap?"[\n"+gap+partial.join(",\n"+gap)+"\n"+mind+"]":"["+partial.join(",")+"]";gap=mind;return v}if(rep&&typeof rep==="object"){length=rep.length;for(i=0;i<length;i+=1){if(typeof rep[i]==="string"){k=rep[i];v=str(k,value);if(v){partial.push(quote(k)+(gap?": ":":")+v)}}}}else{for(k in value){if(Object.prototype.hasOwnProperty.call(value,k)){v=str(k,value);if(v){partial.push(quote(k)+(gap?": ":":")+v)}}}}v=partial.length===0?"{}":gap?"{\n"+gap+partial.join(",\n"+gap)+"\n"+mind+"}":"{"+partial.join(",")+"}";gap=mind;return v}}if(typeof JSON.stringify!=="function"){JSON.stringify=function(value,replacer,space){var i;gap="";indent="";if(typeof space==="number"){for(i=0;i<space;i+=1){indent+=" "}}else{if(typeof space==="string"){indent=space}}rep=replacer;if(replacer&&typeof replacer!=="function"&&(typeof replacer!=="object"||typeof replacer.length!=="number")){throw new Error("JSON.stringify")}return str("",{"":value})}}if(typeof JSON.parse!=="function"){JSON.parse=function(text,reviver){var j;function walk(holder,key){var k,v,value=holder[key];if(value&&typeof value==="object"){for(k in value){if(Object.prototype.hasOwnProperty.call(value,k)){v=walk(value,k);if(v!==undefined){value[k]=v}else{delete value[k]}}}}return reviver.call(holder,key,value)}text=String(text);cx.lastIndex=0;if(cx.test(text)){text=text.replace(cx,function(a){return"\\u"+("0000"+a.charCodeAt(0).toString(16)).slice(-4)})}if(/^[\],:{}\s]*$/.test(text.replace(/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,"@").replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,"]").replace(/(?:^|:|,)(?:\s*\[)+/g,""))){j=eval("("+text+")");return typeof reviver==="function"?walk({"":j},""):j}throw new SyntaxError("JSON.parse")}}}()); \ No newline at end of file diff --git a/wp-includes/js/quicktags.dev.js b/wp-includes/js/quicktags.dev.js index 48b7b6a18..f6ab23a4b 100644 --- a/wp-includes/js/quicktags.dev.js +++ b/wp-includes/js/quicktags.dev.js @@ -259,6 +259,7 @@ function edToolbar() { } document.write('<input type="button" id="ed_spell" class="ed_button" onclick="edSpell(edCanvas);" title="' + quicktagsL10n.dictionaryLookup + '" value="' + quicktagsL10n.lookup + '" />'); document.write('<input type="button" id="ed_close" class="ed_button" onclick="edCloseAllTags();" title="' + quicktagsL10n.closeAllOpenTags + '" value="' + quicktagsL10n.closeTags + '" />'); + document.write('<input type="button" id="ed_fullscreen" class="ed_button" onclick="fullscreen.on();" title="' + quicktagsL10n.toggleFullscreen + '" value="' + quicktagsL10n.fullscreen + '" />'); // edShowLinks(); // disabled by default document.write('</div>'); } @@ -360,19 +361,23 @@ function edInsertContent(myField, myValue) { } function edInsertLink(myField, i, defaultValue) { - if (!defaultValue) { - defaultValue = 'http://'; - } - if (!edCheckOpenTags(i)) { - var URL = prompt(quicktagsL10n.enterURL, defaultValue); - if (URL) { - edButtons[i].tagStart = '<a href="' + URL + '">'; + if ( 'object' == typeof(wpLink) ) { + wpLink.open(); + } else { + if (!defaultValue) { + defaultValue = 'http://'; + } + if (!edCheckOpenTags(i)) { + var URL = prompt(quicktagsL10n.enterURL, defaultValue); + if (URL) { + edButtons[i].tagStart = '<a href="' + URL + '">'; + edInsertTag(myField, i); + } + } + else { edInsertTag(myField, i); } } - else { - edInsertTag(myField, i); - } } function edInsertImage(myField) { diff --git a/wp-includes/js/quicktags.js b/wp-includes/js/quicktags.js index da51f4e96..e179e1b48 100644 --- a/wp-includes/js/quicktags.js +++ b/wp-includes/js/quicktags.js @@ -1 +1 @@ -var edButtons=new Array(),edLinks=new Array(),edOpenTags=new Array(),now=new Date(),datetime;function edButton(f,e,c,b,a,d){this.id=f;this.display=e;this.tagStart=c;this.tagEnd=b;this.access=a;this.open=d}function zeroise(b,a){var c=b.toString();if(b<0){c=c.substr(1,c.length)}while(c.length<a){c="0"+c}if(b<0){c="-"+c}return c}datetime=now.getUTCFullYear()+"-"+zeroise(now.getUTCMonth()+1,2)+"-"+zeroise(now.getUTCDate(),2)+"T"+zeroise(now.getUTCHours(),2)+":"+zeroise(now.getUTCMinutes(),2)+":"+zeroise(now.getUTCSeconds(),2)+"+00:00";edButtons[edButtons.length]=new edButton("ed_strong","b","<strong>","</strong>","b");edButtons[edButtons.length]=new edButton("ed_em","i","<em>","</em>","i");edButtons[edButtons.length]=new edButton("ed_link","link","","</a>","a");edButtons[edButtons.length]=new edButton("ed_block","b-quote","\n\n<blockquote>","</blockquote>\n\n","q");edButtons[edButtons.length]=new edButton("ed_del","del",'<del datetime="'+datetime+'">',"</del>","d");edButtons[edButtons.length]=new edButton("ed_ins","ins",'<ins datetime="'+datetime+'">',"</ins>","s");edButtons[edButtons.length]=new edButton("ed_img","img","","","m",-1);edButtons[edButtons.length]=new edButton("ed_ul","ul","<ul>\n","</ul>\n\n","u");edButtons[edButtons.length]=new edButton("ed_ol","ol","<ol>\n","</ol>\n\n","o");edButtons[edButtons.length]=new edButton("ed_li","li","\t<li>","</li>\n","l");edButtons[edButtons.length]=new edButton("ed_code","code","<code>","</code>","c");edButtons[edButtons.length]=new edButton("ed_more","more","<!--more-->","","t",-1);function edLink(){this.display="";this.URL="";this.newWin=0}edLinks[edLinks.length]=new edLink("WordPress","http://wordpress.org/");edLinks[edLinks.length]=new edLink("alexking.org","http://www.alexking.org/");function edShowButton(b,a){if(b.id=="ed_img"){document.write('<input type="button" id="'+b.id+'" accesskey="'+b.access+'" class="ed_button" onclick="edInsertImage(edCanvas);" value="'+b.display+'" />')}else{if(b.id=="ed_link"){document.write('<input type="button" id="'+b.id+'" accesskey="'+b.access+'" class="ed_button" onclick="edInsertLink(edCanvas, '+a+');" value="'+b.display+'" />')}else{document.write('<input type="button" id="'+b.id+'" accesskey="'+b.access+'" class="ed_button" onclick="edInsertTag(edCanvas, '+a+');" value="'+b.display+'" />')}}}function edShowLinks(){var a='<select onchange="edQuickLink(this.options[this.selectedIndex].value, this);"><option value="-1" selected>'+quicktagsL10n.quickLinks+"</option>",b;for(b=0;b<edLinks.length;b++){a+='<option value="'+b+'">'+edLinks[b].display+"</option>"}a+="</select>";document.write(a)}function edAddTag(a){if(edButtons[a].tagEnd!=""){edOpenTags[edOpenTags.length]=a;document.getElementById(edButtons[a].id).value="/"+document.getElementById(edButtons[a].id).value}}function edRemoveTag(b){for(var a=0;a<edOpenTags.length;a++){if(edOpenTags[a]==b){edOpenTags.splice(a,1);document.getElementById(edButtons[b].id).value=document.getElementById(edButtons[b].id).value.replace("/","")}}}function edCheckOpenTags(c){var a=0,b;for(b=0;b<edOpenTags.length;b++){if(edOpenTags[b]==c){a++}}if(a>0){return true}else{return false}}function edCloseAllTags(){var a=edOpenTags.length,b;for(b=0;b<a;b++){edInsertTag(edCanvas,edOpenTags[edOpenTags.length-1])}}function edQuickLink(c,d){if(c>-1){var b="",a;if(edLinks[c].newWin==1){b=' target="_blank"'}a='<a href="'+edLinks[c].URL+'"'+b+">"+edLinks[c].display+"</a>";d.selectedIndex=0;edInsertContent(edCanvas,a)}else{d.selectedIndex=0}}function edSpell(c){var e="",d,b,a;if(document.selection){c.focus();d=document.selection.createRange();if(d.text.length>0){e=d.text}}else{if(c.selectionStart||c.selectionStart=="0"){b=c.selectionStart;a=c.selectionEnd;if(b!=a){e=c.value.substring(b,a)}}}if(e==""){e=prompt(quicktagsL10n.wordLookup,"")}if(e!==null&&/^\w[\w ]*$/.test(e)){window.open("http://www.answers.com/"+escape(e))}}function edToolbar(){document.write('<div id="ed_toolbar">');for(var a=0;a<edButtons.length;a++){edShowButton(edButtons[a],a)}document.write('<input type="button" id="ed_spell" class="ed_button" onclick="edSpell(edCanvas);" title="'+quicktagsL10n.dictionaryLookup+'" value="'+quicktagsL10n.lookup+'" />');document.write('<input type="button" id="ed_close" class="ed_button" onclick="edCloseAllTags();" title="'+quicktagsL10n.closeAllOpenTags+'" value="'+quicktagsL10n.closeTags+'" />');document.write("</div>")}function edInsertTag(d,c){if(document.selection){d.focus();var e=document.selection.createRange();if(e.text.length>0){e.text=edButtons[c].tagStart+e.text+edButtons[c].tagEnd}else{if(!edCheckOpenTags(c)||edButtons[c].tagEnd==""){e.text=edButtons[c].tagStart;edAddTag(c)}else{e.text=edButtons[c].tagEnd;edRemoveTag(c)}}d.focus()}else{if(d.selectionStart||d.selectionStart=="0"){var b=d.selectionStart,a=d.selectionEnd,g=a,f=d.scrollTop;if(b!=a){d.value=d.value.substring(0,b)+edButtons[c].tagStart+d.value.substring(b,a)+edButtons[c].tagEnd+d.value.substring(a,d.value.length);g+=edButtons[c].tagStart.length+edButtons[c].tagEnd.length}else{if(!edCheckOpenTags(c)||edButtons[c].tagEnd==""){d.value=d.value.substring(0,b)+edButtons[c].tagStart+d.value.substring(a,d.value.length);edAddTag(c);g=b+edButtons[c].tagStart.length}else{d.value=d.value.substring(0,b)+edButtons[c].tagEnd+d.value.substring(a,d.value.length);edRemoveTag(c);g=b+edButtons[c].tagEnd.length}}d.focus();d.selectionStart=g;d.selectionEnd=g;d.scrollTop=f}else{if(!edCheckOpenTags(c)||edButtons[c].tagEnd==""){d.value+=edButtons[c].tagStart;edAddTag(c)}else{d.value+=edButtons[c].tagEnd;edRemoveTag(c)}d.focus()}}}function edInsertContent(d,c){var e,b,a,f;if(document.selection){d.focus();e=document.selection.createRange();e.text=c;d.focus()}else{if(d.selectionStart||d.selectionStart=="0"){b=d.selectionStart;a=d.selectionEnd;f=d.scrollTop;d.value=d.value.substring(0,b)+c+d.value.substring(a,d.value.length);d.focus();d.selectionStart=b+c.length;d.selectionEnd=b+c.length;d.scrollTop=f}else{d.value+=c;d.focus()}}}function edInsertLink(d,c,b){if(!b){b="http://"}if(!edCheckOpenTags(c)){var a=prompt(quicktagsL10n.enterURL,b);if(a){edButtons[c].tagStart='<a href="'+a+'">';edInsertTag(d,c)}}else{edInsertTag(d,c)}}function edInsertImage(b){var a=prompt(quicktagsL10n.enterImageURL,"http://");if(a){a='<img src="'+a+'" alt="'+prompt(quicktagsL10n.enterImageDescription,"")+'" />';edInsertContent(b,a)}}var QTags=function(a,c,b,f){var j=this,k=document.getElementById(b),g,l,e,h,d;j.Buttons=[];j.Links=[];j.OpenTags=[];j.Canvas=document.getElementById(c);if(!j.Canvas||!k){return}f=(typeof f!="undefined")?","+f+",":"";j.edShowButton=function(n,m){if(f&&(f.indexOf(","+n.display+",")!=-1)){return""}else{if(n.id==a+"_img"){return'<input type="button" id="'+n.id+'" accesskey="'+n.access+'" class="ed_button" onclick="edInsertImage('+a+'.Canvas);" value="'+n.display+'" />'}else{if(n.id==a+"_link"){return'<input type="button" id="'+n.id+'" accesskey="'+n.access+'" class="ed_button" onclick="'+a+".edInsertLink("+m+');" value="'+n.display+'" />'}else{return'<input type="button" id="'+n.id+'" accesskey="'+n.access+'" class="ed_button" onclick="'+a+".edInsertTag("+m+');" value="'+n.display+'" />'}}}};j.edAddTag=function(i){if(j.Buttons[i].tagEnd!=""){j.OpenTags[j.OpenTags.length]=i;document.getElementById(j.Buttons[i].id).value="/"+document.getElementById(j.Buttons[i].id).value}};j.edRemoveTag=function(i){for(g=0;g<j.OpenTags.length;g++){if(j.OpenTags[g]==i){j.OpenTags.splice(g,1);document.getElementById(j.Buttons[i].id).value=document.getElementById(j.Buttons[i].id).value.replace("/","")}}};j.edCheckOpenTags=function(n){l=0;for(var m=0;m<j.OpenTags.length;m++){if(j.OpenTags[m]==n){l++}}if(l>0){return true}else{return false}};this.edCloseAllTags=function(){var i=j.OpenTags.length;for(var m=0;m<i;m++){j.edInsertTag(j.OpenTags[j.OpenTags.length-1])}};this.edQuickLink=function(o,p){if(o>-1){var n="",m;if(Links[o].newWin==1){n=' target="_blank"'}m='<a href="'+Links[o].URL+'"'+n+">"+Links[o].display+"</a>";p.selectedIndex=0;edInsertContent(j.Canvas,m)}else{p.selectedIndex=0}};j.edInsertTag=function(o){if(document.selection){j.Canvas.focus();d=document.selection.createRange();if(d.text.length>0){d.text=j.Buttons[o].tagStart+d.text+j.Buttons[o].tagEnd}else{if(!j.edCheckOpenTags(o)||j.Buttons[o].tagEnd==""){d.text=j.Buttons[o].tagStart;j.edAddTag(o)}else{d.text=j.Buttons[o].tagEnd;j.edRemoveTag(o)}}j.Canvas.focus()}else{if(j.Canvas.selectionStart||j.Canvas.selectionStart=="0"){var n=j.Canvas.selectionStart,m=j.Canvas.selectionEnd,q=m,p=j.Canvas.scrollTop;if(n!=m){j.Canvas.value=j.Canvas.value.substring(0,n)+j.Buttons[o].tagStart+j.Canvas.value.substring(n,m)+j.Buttons[o].tagEnd+j.Canvas.value.substring(m,j.Canvas.value.length);q+=j.Buttons[o].tagStart.length+j.Buttons[o].tagEnd.length}else{if(!j.edCheckOpenTags(o)||j.Buttons[o].tagEnd==""){j.Canvas.value=j.Canvas.value.substring(0,n)+j.Buttons[o].tagStart+j.Canvas.value.substring(m,j.Canvas.value.length);j.edAddTag(o);q=n+j.Buttons[o].tagStart.length}else{j.Canvas.value=j.Canvas.value.substring(0,n)+j.Buttons[o].tagEnd+j.Canvas.value.substring(m,j.Canvas.value.length);j.edRemoveTag(o);q=n+j.Buttons[o].tagEnd.length}}j.Canvas.focus();j.Canvas.selectionStart=q;j.Canvas.selectionEnd=q;j.Canvas.scrollTop=p}else{if(!j.edCheckOpenTags(o)||j.Buttons[o].tagEnd==""){j.Canvas.value+=Buttons[o].tagStart;j.edAddTag(o)}else{j.Canvas.value+=Buttons[o].tagEnd;j.edRemoveTag(o)}j.Canvas.focus()}}};this.edInsertLink=function(o,n){if(!n){n="http://"}if(!j.edCheckOpenTags(o)){var m=prompt(quicktagsL10n.enterURL,n);if(m){j.Buttons[o].tagStart='<a href="'+m+'">';j.edInsertTag(o)}}else{j.edInsertTag(o)}};this.edInsertImage=function(){var i=prompt(quicktagsL10n.enterImageURL,"http://");if(i){i='<img src="'+i+'" alt="'+prompt(quicktagsL10n.enterImageDescription,"")+'" />';edInsertContent(j.Canvas,i)}};j.Buttons[j.Buttons.length]=new edButton(a+"_strong","b","<strong>","</strong>","b");j.Buttons[j.Buttons.length]=new edButton(a+"_em","i","<em>","</em>","i");j.Buttons[j.Buttons.length]=new edButton(a+"_link","link","","</a>","a");j.Buttons[j.Buttons.length]=new edButton(a+"_block","b-quote","\n\n<blockquote>","</blockquote>\n\n","q");j.Buttons[j.Buttons.length]=new edButton(a+"_del","del",'<del datetime="'+datetime+'">',"</del>","d");j.Buttons[j.Buttons.length]=new edButton(a+"_ins","ins",'<ins datetime="'+datetime+'">',"</ins>","s");j.Buttons[j.Buttons.length]=new edButton(a+"_img","img","","","m",-1);j.Buttons[j.Buttons.length]=new edButton(a+"_ul","ul","<ul>\n","</ul>\n\n","u");j.Buttons[j.Buttons.length]=new edButton(a+"_ol","ol","<ol>\n","</ol>\n\n","o");j.Buttons[j.Buttons.length]=new edButton(a+"_li","li","\t<li>","</li>\n","l");j.Buttons[j.Buttons.length]=new edButton(a+"_code","code","<code>","</code>","c");j.Buttons[j.Buttons.length]=new edButton(a+"_more","more","<!--more-->","","t",-1);e=document.createElement("div");e.id=a+"_qtags";h='<div id="'+a+'_toolbar">';for(g=0;g<j.Buttons.length;g++){h+=j.edShowButton(j.Buttons[g],g)}h+='<input type="button" id="'+a+'_ed_spell" class="ed_button" onclick="edSpell('+a+'.Canvas);" title="'+quicktagsL10n.dictionaryLookup+'" value="'+quicktagsL10n.lookup+'" />';h+='<input type="button" id="'+a+'_ed_close" class="ed_button" onclick="'+a+'.edCloseAllTags();" title="'+quicktagsL10n.closeAllOpenTags+'" value="'+quicktagsL10n.closeTags+'" /></div>';e.innerHTML=h;k.parentNode.insertBefore(e,k)}; \ No newline at end of file +var edButtons=new Array(),edLinks=new Array(),edOpenTags=new Array(),now=new Date(),datetime;function edButton(f,e,c,b,a,d){this.id=f;this.display=e;this.tagStart=c;this.tagEnd=b;this.access=a;this.open=d}function zeroise(b,a){var c=b.toString();if(b<0){c=c.substr(1,c.length)}while(c.length<a){c="0"+c}if(b<0){c="-"+c}return c}datetime=now.getUTCFullYear()+"-"+zeroise(now.getUTCMonth()+1,2)+"-"+zeroise(now.getUTCDate(),2)+"T"+zeroise(now.getUTCHours(),2)+":"+zeroise(now.getUTCMinutes(),2)+":"+zeroise(now.getUTCSeconds(),2)+"+00:00";edButtons[edButtons.length]=new edButton("ed_strong","b","<strong>","</strong>","b");edButtons[edButtons.length]=new edButton("ed_em","i","<em>","</em>","i");edButtons[edButtons.length]=new edButton("ed_link","link","","</a>","a");edButtons[edButtons.length]=new edButton("ed_block","b-quote","\n\n<blockquote>","</blockquote>\n\n","q");edButtons[edButtons.length]=new edButton("ed_del","del",'<del datetime="'+datetime+'">',"</del>","d");edButtons[edButtons.length]=new edButton("ed_ins","ins",'<ins datetime="'+datetime+'">',"</ins>","s");edButtons[edButtons.length]=new edButton("ed_img","img","","","m",-1);edButtons[edButtons.length]=new edButton("ed_ul","ul","<ul>\n","</ul>\n\n","u");edButtons[edButtons.length]=new edButton("ed_ol","ol","<ol>\n","</ol>\n\n","o");edButtons[edButtons.length]=new edButton("ed_li","li","\t<li>","</li>\n","l");edButtons[edButtons.length]=new edButton("ed_code","code","<code>","</code>","c");edButtons[edButtons.length]=new edButton("ed_more","more","<!--more-->","","t",-1);function edLink(){this.display="";this.URL="";this.newWin=0}edLinks[edLinks.length]=new edLink("WordPress","http://wordpress.org/");edLinks[edLinks.length]=new edLink("alexking.org","http://www.alexking.org/");function edShowButton(b,a){if(b.id=="ed_img"){document.write('<input type="button" id="'+b.id+'" accesskey="'+b.access+'" class="ed_button" onclick="edInsertImage(edCanvas);" value="'+b.display+'" />')}else{if(b.id=="ed_link"){document.write('<input type="button" id="'+b.id+'" accesskey="'+b.access+'" class="ed_button" onclick="edInsertLink(edCanvas, '+a+');" value="'+b.display+'" />')}else{document.write('<input type="button" id="'+b.id+'" accesskey="'+b.access+'" class="ed_button" onclick="edInsertTag(edCanvas, '+a+');" value="'+b.display+'" />')}}}function edShowLinks(){var a='<select onchange="edQuickLink(this.options[this.selectedIndex].value, this);"><option value="-1" selected>'+quicktagsL10n.quickLinks+"</option>",b;for(b=0;b<edLinks.length;b++){a+='<option value="'+b+'">'+edLinks[b].display+"</option>"}a+="</select>";document.write(a)}function edAddTag(a){if(edButtons[a].tagEnd!=""){edOpenTags[edOpenTags.length]=a;document.getElementById(edButtons[a].id).value="/"+document.getElementById(edButtons[a].id).value}}function edRemoveTag(b){for(var a=0;a<edOpenTags.length;a++){if(edOpenTags[a]==b){edOpenTags.splice(a,1);document.getElementById(edButtons[b].id).value=document.getElementById(edButtons[b].id).value.replace("/","")}}}function edCheckOpenTags(c){var a=0,b;for(b=0;b<edOpenTags.length;b++){if(edOpenTags[b]==c){a++}}if(a>0){return true}else{return false}}function edCloseAllTags(){var a=edOpenTags.length,b;for(b=0;b<a;b++){edInsertTag(edCanvas,edOpenTags[edOpenTags.length-1])}}function edQuickLink(c,d){if(c>-1){var b="",a;if(edLinks[c].newWin==1){b=' target="_blank"'}a='<a href="'+edLinks[c].URL+'"'+b+">"+edLinks[c].display+"</a>";d.selectedIndex=0;edInsertContent(edCanvas,a)}else{d.selectedIndex=0}}function edSpell(c){var e="",d,b,a;if(document.selection){c.focus();d=document.selection.createRange();if(d.text.length>0){e=d.text}}else{if(c.selectionStart||c.selectionStart=="0"){b=c.selectionStart;a=c.selectionEnd;if(b!=a){e=c.value.substring(b,a)}}}if(e==""){e=prompt(quicktagsL10n.wordLookup,"")}if(e!==null&&/^\w[\w ]*$/.test(e)){window.open("http://www.answers.com/"+escape(e))}}function edToolbar(){document.write('<div id="ed_toolbar">');for(var a=0;a<edButtons.length;a++){edShowButton(edButtons[a],a)}document.write('<input type="button" id="ed_spell" class="ed_button" onclick="edSpell(edCanvas);" title="'+quicktagsL10n.dictionaryLookup+'" value="'+quicktagsL10n.lookup+'" />');document.write('<input type="button" id="ed_close" class="ed_button" onclick="edCloseAllTags();" title="'+quicktagsL10n.closeAllOpenTags+'" value="'+quicktagsL10n.closeTags+'" />');document.write('<input type="button" id="ed_fullscreen" class="ed_button" onclick="fullscreen.on();" title="'+quicktagsL10n.toggleFullscreen+'" value="'+quicktagsL10n.fullscreen+'" />');document.write("</div>")}function edInsertTag(d,c){if(document.selection){d.focus();var e=document.selection.createRange();if(e.text.length>0){e.text=edButtons[c].tagStart+e.text+edButtons[c].tagEnd}else{if(!edCheckOpenTags(c)||edButtons[c].tagEnd==""){e.text=edButtons[c].tagStart;edAddTag(c)}else{e.text=edButtons[c].tagEnd;edRemoveTag(c)}}d.focus()}else{if(d.selectionStart||d.selectionStart=="0"){var b=d.selectionStart,a=d.selectionEnd,g=a,f=d.scrollTop;if(b!=a){d.value=d.value.substring(0,b)+edButtons[c].tagStart+d.value.substring(b,a)+edButtons[c].tagEnd+d.value.substring(a,d.value.length);g+=edButtons[c].tagStart.length+edButtons[c].tagEnd.length}else{if(!edCheckOpenTags(c)||edButtons[c].tagEnd==""){d.value=d.value.substring(0,b)+edButtons[c].tagStart+d.value.substring(a,d.value.length);edAddTag(c);g=b+edButtons[c].tagStart.length}else{d.value=d.value.substring(0,b)+edButtons[c].tagEnd+d.value.substring(a,d.value.length);edRemoveTag(c);g=b+edButtons[c].tagEnd.length}}d.focus();d.selectionStart=g;d.selectionEnd=g;d.scrollTop=f}else{if(!edCheckOpenTags(c)||edButtons[c].tagEnd==""){d.value+=edButtons[c].tagStart;edAddTag(c)}else{d.value+=edButtons[c].tagEnd;edRemoveTag(c)}d.focus()}}}function edInsertContent(d,c){var e,b,a,f;if(document.selection){d.focus();e=document.selection.createRange();e.text=c;d.focus()}else{if(d.selectionStart||d.selectionStart=="0"){b=d.selectionStart;a=d.selectionEnd;f=d.scrollTop;d.value=d.value.substring(0,b)+c+d.value.substring(a,d.value.length);d.focus();d.selectionStart=b+c.length;d.selectionEnd=b+c.length;d.scrollTop=f}else{d.value+=c;d.focus()}}}function edInsertLink(d,c,b){if("object"==typeof(wpLink)){wpLink.open()}else{if(!b){b="http://"}if(!edCheckOpenTags(c)){var a=prompt(quicktagsL10n.enterURL,b);if(a){edButtons[c].tagStart='<a href="'+a+'">';edInsertTag(d,c)}}else{edInsertTag(d,c)}}}function edInsertImage(b){var a=prompt(quicktagsL10n.enterImageURL,"http://");if(a){a='<img src="'+a+'" alt="'+prompt(quicktagsL10n.enterImageDescription,"")+'" />';edInsertContent(b,a)}}var QTags=function(a,c,b,f){var j=this,k=document.getElementById(b),g,l,e,h,d;j.Buttons=[];j.Links=[];j.OpenTags=[];j.Canvas=document.getElementById(c);if(!j.Canvas||!k){return}f=(typeof f!="undefined")?","+f+",":"";j.edShowButton=function(n,m){if(f&&(f.indexOf(","+n.display+",")!=-1)){return""}else{if(n.id==a+"_img"){return'<input type="button" id="'+n.id+'" accesskey="'+n.access+'" class="ed_button" onclick="edInsertImage('+a+'.Canvas);" value="'+n.display+'" />'}else{if(n.id==a+"_link"){return'<input type="button" id="'+n.id+'" accesskey="'+n.access+'" class="ed_button" onclick="'+a+".edInsertLink("+m+');" value="'+n.display+'" />'}else{return'<input type="button" id="'+n.id+'" accesskey="'+n.access+'" class="ed_button" onclick="'+a+".edInsertTag("+m+');" value="'+n.display+'" />'}}}};j.edAddTag=function(i){if(j.Buttons[i].tagEnd!=""){j.OpenTags[j.OpenTags.length]=i;document.getElementById(j.Buttons[i].id).value="/"+document.getElementById(j.Buttons[i].id).value}};j.edRemoveTag=function(i){for(g=0;g<j.OpenTags.length;g++){if(j.OpenTags[g]==i){j.OpenTags.splice(g,1);document.getElementById(j.Buttons[i].id).value=document.getElementById(j.Buttons[i].id).value.replace("/","")}}};j.edCheckOpenTags=function(n){l=0;for(var m=0;m<j.OpenTags.length;m++){if(j.OpenTags[m]==n){l++}}if(l>0){return true}else{return false}};this.edCloseAllTags=function(){var i=j.OpenTags.length;for(var m=0;m<i;m++){j.edInsertTag(j.OpenTags[j.OpenTags.length-1])}};this.edQuickLink=function(o,p){if(o>-1){var n="",m;if(Links[o].newWin==1){n=' target="_blank"'}m='<a href="'+Links[o].URL+'"'+n+">"+Links[o].display+"</a>";p.selectedIndex=0;edInsertContent(j.Canvas,m)}else{p.selectedIndex=0}};j.edInsertTag=function(o){if(document.selection){j.Canvas.focus();d=document.selection.createRange();if(d.text.length>0){d.text=j.Buttons[o].tagStart+d.text+j.Buttons[o].tagEnd}else{if(!j.edCheckOpenTags(o)||j.Buttons[o].tagEnd==""){d.text=j.Buttons[o].tagStart;j.edAddTag(o)}else{d.text=j.Buttons[o].tagEnd;j.edRemoveTag(o)}}j.Canvas.focus()}else{if(j.Canvas.selectionStart||j.Canvas.selectionStart=="0"){var n=j.Canvas.selectionStart,m=j.Canvas.selectionEnd,q=m,p=j.Canvas.scrollTop;if(n!=m){j.Canvas.value=j.Canvas.value.substring(0,n)+j.Buttons[o].tagStart+j.Canvas.value.substring(n,m)+j.Buttons[o].tagEnd+j.Canvas.value.substring(m,j.Canvas.value.length);q+=j.Buttons[o].tagStart.length+j.Buttons[o].tagEnd.length}else{if(!j.edCheckOpenTags(o)||j.Buttons[o].tagEnd==""){j.Canvas.value=j.Canvas.value.substring(0,n)+j.Buttons[o].tagStart+j.Canvas.value.substring(m,j.Canvas.value.length);j.edAddTag(o);q=n+j.Buttons[o].tagStart.length}else{j.Canvas.value=j.Canvas.value.substring(0,n)+j.Buttons[o].tagEnd+j.Canvas.value.substring(m,j.Canvas.value.length);j.edRemoveTag(o);q=n+j.Buttons[o].tagEnd.length}}j.Canvas.focus();j.Canvas.selectionStart=q;j.Canvas.selectionEnd=q;j.Canvas.scrollTop=p}else{if(!j.edCheckOpenTags(o)||j.Buttons[o].tagEnd==""){j.Canvas.value+=Buttons[o].tagStart;j.edAddTag(o)}else{j.Canvas.value+=Buttons[o].tagEnd;j.edRemoveTag(o)}j.Canvas.focus()}}};this.edInsertLink=function(o,n){if(!n){n="http://"}if(!j.edCheckOpenTags(o)){var m=prompt(quicktagsL10n.enterURL,n);if(m){j.Buttons[o].tagStart='<a href="'+m+'">';j.edInsertTag(o)}}else{j.edInsertTag(o)}};this.edInsertImage=function(){var i=prompt(quicktagsL10n.enterImageURL,"http://");if(i){i='<img src="'+i+'" alt="'+prompt(quicktagsL10n.enterImageDescription,"")+'" />';edInsertContent(j.Canvas,i)}};j.Buttons[j.Buttons.length]=new edButton(a+"_strong","b","<strong>","</strong>","b");j.Buttons[j.Buttons.length]=new edButton(a+"_em","i","<em>","</em>","i");j.Buttons[j.Buttons.length]=new edButton(a+"_link","link","","</a>","a");j.Buttons[j.Buttons.length]=new edButton(a+"_block","b-quote","\n\n<blockquote>","</blockquote>\n\n","q");j.Buttons[j.Buttons.length]=new edButton(a+"_del","del",'<del datetime="'+datetime+'">',"</del>","d");j.Buttons[j.Buttons.length]=new edButton(a+"_ins","ins",'<ins datetime="'+datetime+'">',"</ins>","s");j.Buttons[j.Buttons.length]=new edButton(a+"_img","img","","","m",-1);j.Buttons[j.Buttons.length]=new edButton(a+"_ul","ul","<ul>\n","</ul>\n\n","u");j.Buttons[j.Buttons.length]=new edButton(a+"_ol","ol","<ol>\n","</ol>\n\n","o");j.Buttons[j.Buttons.length]=new edButton(a+"_li","li","\t<li>","</li>\n","l");j.Buttons[j.Buttons.length]=new edButton(a+"_code","code","<code>","</code>","c");j.Buttons[j.Buttons.length]=new edButton(a+"_more","more","<!--more-->","","t",-1);e=document.createElement("div");e.id=a+"_qtags";h='<div id="'+a+'_toolbar">';for(g=0;g<j.Buttons.length;g++){h+=j.edShowButton(j.Buttons[g],g)}h+='<input type="button" id="'+a+'_ed_spell" class="ed_button" onclick="edSpell('+a+'.Canvas);" title="'+quicktagsL10n.dictionaryLookup+'" value="'+quicktagsL10n.lookup+'" />';h+='<input type="button" id="'+a+'_ed_close" class="ed_button" onclick="'+a+'.edCloseAllTags();" title="'+quicktagsL10n.closeAllOpenTags+'" value="'+quicktagsL10n.closeTags+'" /></div>';e.innerHTML=h;k.parentNode.insertBefore(e,k)}; \ No newline at end of file diff --git a/wp-includes/js/swfupload/handlers.dev.js b/wp-includes/js/swfupload/handlers.dev.js index 5c8c187c5..e72ed69b1 100644 --- a/wp-includes/js/swfupload/handlers.dev.js +++ b/wp-includes/js/swfupload/handlers.dev.js @@ -20,8 +20,8 @@ function fileQueued(fileObj) { jQuery('.progress', '#media-item-' + fileObj.id).show(); // Disable submit and enable cancel - jQuery('#insert-gallery').attr('disabled', 'disabled'); - jQuery('#cancel-upload').attr('disabled', ''); + jQuery('#insert-gallery').prop('disabled', true); + jQuery('#cancel-upload').prop('disabled', false); } function uploadStart(fileObj) { @@ -68,7 +68,7 @@ function prepareMediaItem(fileObj, serverData) { function prepareMediaItemInit(fileObj) { var item = jQuery('#media-item-' + fileObj.id); // Clone the thumbnail as a "pinkynail" -- a tiny image to the left of the filename - jQuery('.thumbnail', item).clone().attr('className', 'pinkynail toggle').prependTo(item); + jQuery('.thumbnail', item).clone().attr('class', 'pinkynail toggle').prependTo(item); // Replace the original filename with the new (unique) one assigned during upload jQuery('.filename.original', item).replaceWith( jQuery('.filename.new', item) ); @@ -232,8 +232,8 @@ function uploadSuccess(fileObj, serverData) { function uploadComplete(fileObj) { // If no more uploads queued, enable the submit button if ( swfu.getStats().files_queued == 0 ) { - jQuery('#cancel-upload').attr('disabled', 'disabled'); - jQuery('#insert-gallery').attr('disabled', ''); + jQuery('#cancel-upload').prop('disabled', true); + jQuery('#insert-gallery').prop('disabled', false); } } @@ -367,4 +367,4 @@ jQuery(document).ready(function($){ $(this).siblings('.urlfield').val( $(this).attr('title') ); } }); -}); \ No newline at end of file +}); diff --git a/wp-includes/js/swfupload/handlers.js b/wp-includes/js/swfupload/handlers.js index 58434fa52..ce5ff0e6d 100644 --- a/wp-includes/js/swfupload/handlers.js +++ b/wp-includes/js/swfupload/handlers.js @@ -1 +1 @@ -var topWin=window.dialogArguments||opener||parent||top;function fileDialogStart(){jQuery("#media-upload-error").empty()}function fileQueued(a){jQuery(".media-blank").remove();if(jQuery("form.type-form #media-items").children().length==1&&jQuery(".hidden","#media-items").length>0){jQuery(".describe-toggle-on").show();jQuery(".describe-toggle-off").hide();jQuery(".slidetoggle").slideUp(200).siblings().removeClass("hidden")}jQuery("#media-items").append('<div id="media-item-'+a.id+'" class="media-item child-of-'+post_id+'"><div class="progress"><div class="bar"></div></div><div class="filename original"><span class="percent"></span> '+a.name+"</div></div>");jQuery(".progress","#media-item-"+a.id).show();jQuery("#insert-gallery").attr("disabled","disabled");jQuery("#cancel-upload").attr("disabled","")}function uploadStart(a){try{if(typeof topWin.tb_remove!="undefined"){topWin.jQuery("#TB_overlay").unbind("click",topWin.tb_remove)}}catch(b){}return true}function uploadProgress(e,b,d){var a=jQuery("#media-items").width()-2,c=jQuery("#media-item-"+e.id);jQuery(".bar",c).width(a*b/d);jQuery(".percent",c).html(Math.ceil(b/d*100)+"%");if(b==d){jQuery(".bar",c).html('<strong class="crunching">'+swfuploadL10n.crunching+"</strong>")}}function prepareMediaItem(c,a){var d=(typeof shortform=="undefined")?1:2,b=jQuery("#media-item-"+c.id);jQuery(".bar",b).remove();jQuery(".progress",b).hide();try{if(typeof topWin.tb_remove!="undefined"){topWin.jQuery("#TB_overlay").click(topWin.tb_remove)}}catch(g){}if(isNaN(a)||!a){b.append(a);prepareMediaItemInit(c)}else{b.load("async-upload.php",{attachment_id:a,fetch:d},function(){prepareMediaItemInit(c);updateMediaForm()})}}function prepareMediaItemInit(b){var a=jQuery("#media-item-"+b.id);jQuery(".thumbnail",a).clone().attr("className","pinkynail toggle").prependTo(a);jQuery(".filename.original",a).replaceWith(jQuery(".filename.new",a));jQuery("a.toggle",a).click(function(){jQuery(this).siblings(".slidetoggle").slideToggle(350,function(){var d=jQuery(window).height(),e=jQuery(this).offset().top,f=jQuery(this).height(),c;if(d&&e&&f){c=e+f;if(c>d&&(f+48)<d){window.scrollBy(0,c-d+13)}else{if(c>d){window.scrollTo(0,e-36)}}}});jQuery(this).siblings(".toggle").andSelf().toggle();jQuery(this).siblings("a.toggle").focus();return false});jQuery("a.delete",a).click(function(){jQuery.ajax({url:"admin-ajax.php",type:"post",success:deleteSuccess,error:deleteError,id:b.id,data:{id:this.id.replace(/[^0-9]/g,""),action:"trash-post",_ajax_nonce:this.href.replace(/^.*wpnonce=/,"")}});return false});jQuery("a.undo",a).click(function(){jQuery.ajax({url:"admin-ajax.php",type:"post",id:b.id,data:{id:this.id.replace(/[^0-9]/g,""),action:"untrash-post",_ajax_nonce:this.href.replace(/^.*wpnonce=/,"")},success:function(d,e){var c=jQuery("#media-item-"+b.id);if(type=jQuery("#type-of-"+b.id).val()){jQuery("#"+type+"-counter").text(jQuery("#"+type+"-counter").text()-0+1)}if(c.hasClass("child-of-"+post_id)){jQuery("#attachments-count").text(jQuery("#attachments-count").text()-0+1)}jQuery(".filename .trashnotice",c).remove();jQuery(".filename .title",c).css("font-weight","normal");jQuery("a.undo",c).addClass("hidden");jQuery("a.describe-toggle-on, .menu_order_input",c).show();c.css({backgroundColor:"#ceb"}).animate({backgroundColor:"#fff"},{queue:false,duration:500,complete:function(){jQuery(this).css({backgroundColor:""})}}).removeClass("undo")}});return false});jQuery("#media-item-"+b.id+".startopen").removeClass("startopen").slideToggle(500).siblings(".toggle").toggle()}function itemAjaxError(d,b){var c=jQuery("#media-item-"+d);var a=jQuery(".filename",c).text();c.html('<div class="error-div"><a class="dismiss" href="#">'+swfuploadL10n.dismiss+"</a><strong>"+swfuploadL10n.error_uploading.replace("%s",a)+"</strong><br />"+b+"</div>");c.find("a.dismiss").click(function(){jQuery(this).parents(".media-item").slideUp(200,function(){jQuery(this).remove()})})}function deleteSuccess(b,d){if(b=="-1"){return itemAjaxError(this.id,"You do not have permission. Has your session expired?")}if(b=="0"){return itemAjaxError(this.id,"Could not be deleted. Has it been deleted already?")}var c=this.id,a=jQuery("#media-item-"+c);if(type=jQuery("#type-of-"+c).val()){jQuery("#"+type+"-counter").text(jQuery("#"+type+"-counter").text()-1)}if(a.hasClass("child-of-"+post_id)){jQuery("#attachments-count").text(jQuery("#attachments-count").text()-1)}if(jQuery("form.type-form #media-items").children().length==1&&jQuery(".hidden","#media-items").length>0){jQuery(".toggle").toggle();jQuery(".slidetoggle").slideUp(200).siblings().removeClass("hidden")}jQuery(".toggle",a).toggle();jQuery(".slidetoggle",a).slideUp(200).siblings().removeClass("hidden");a.css({backgroundColor:"#faa"}).animate({backgroundColor:"#f4f4f4"},{queue:false,duration:500}).addClass("undo");jQuery(".filename:empty",a).remove();jQuery(".filename .title",a).css("font-weight","bold");jQuery(".filename",a).append('<span class="trashnotice"> '+swfuploadL10n.deleted+" </span>").siblings("a.toggle").hide();jQuery(".filename",a).append(jQuery("a.undo",a).removeClass("hidden"));jQuery(".menu_order_input",a).hide();return}function deleteError(c,b,a){}function updateMediaForm(){var b=jQuery("form.type-form #media-items").children(),a=jQuery("#media-items").children();if(b.length==1){jQuery(".slidetoggle",b).slideDown(500).siblings().addClass("hidden").filter(".toggle").toggle()}if(a.not(".media-blank").length>0){jQuery(".savebutton").show()}else{jQuery(".savebutton").hide()}if(a.length>1){jQuery(".insert-gallery").show()}else{jQuery(".insert-gallery").hide()}}function uploadSuccess(b,a){if(a.match("media-upload-error")){jQuery("#media-item-"+b.id).html(a);return}prepareMediaItem(b,a);updateMediaForm();if(jQuery("#media-item-"+b.id).hasClass("child-of-"+post_id)){jQuery("#attachments-count").text(1*jQuery("#attachments-count").text()+1)}}function uploadComplete(a){if(swfu.getStats().files_queued==0){jQuery("#cancel-upload").attr("disabled","disabled");jQuery("#insert-gallery").attr("disabled","")}}function wpQueueError(a){jQuery("#media-upload-error").show().text(a)}function wpFileError(d,c){var b=jQuery("#media-item-"+d.id);var a=jQuery(".filename",b).text();b.html('<div class="error-div"><a class="dismiss" href="#">'+swfuploadL10n.dismiss+"</a><strong>"+swfuploadL10n.error_uploading.replace("%s",a)+"</strong><br />"+c+"</div>");b.find("a.dismiss").click(function(){jQuery(this).parents(".media-item").slideUp(200,function(){jQuery(this).remove()})})}function fileQueueError(c,a,b){if(a==SWFUpload.QUEUE_ERROR.QUEUE_LIMIT_EXCEEDED){wpQueueError(swfuploadL10n.queue_limit_exceeded)}else{if(a==SWFUpload.QUEUE_ERROR.FILE_EXCEEDS_SIZE_LIMIT){fileQueued(c);wpFileError(c,swfuploadL10n.file_exceeds_size_limit)}else{if(a==SWFUpload.QUEUE_ERROR.ZERO_BYTE_FILE){fileQueued(c);wpFileError(c,swfuploadL10n.zero_byte_file)}else{if(a==SWFUpload.QUEUE_ERROR.INVALID_FILETYPE){fileQueued(c);wpFileError(c,swfuploadL10n.invalid_filetype)}else{wpQueueError(swfuploadL10n.default_error)}}}}}function fileDialogComplete(b){try{if(b>0){this.startUpload()}}catch(a){this.debug(a)}}function switchUploader(b){var c=document.getElementById(swfu.customSettings.swfupload_element_id),a=document.getElementById(swfu.customSettings.degraded_element_id);if(b){c.style.display="block";a.style.display="none"}else{c.style.display="none";a.style.display="block"}}function swfuploadPreLoad(){if(!uploaderMode){switchUploader(1)}else{switchUploader(0)}}function swfuploadLoadFailed(){switchUploader(0);jQuery(".upload-html-bypass").hide()}function uploadError(b,c,a){switch(c){case SWFUpload.UPLOAD_ERROR.MISSING_UPLOAD_URL:wpFileError(b,swfuploadL10n.missing_upload_url);break;case SWFUpload.UPLOAD_ERROR.UPLOAD_LIMIT_EXCEEDED:wpFileError(b,swfuploadL10n.upload_limit_exceeded);break;case SWFUpload.UPLOAD_ERROR.HTTP_ERROR:wpQueueError(swfuploadL10n.http_error);break;case SWFUpload.UPLOAD_ERROR.UPLOAD_FAILED:wpQueueError(swfuploadL10n.upload_failed);break;case SWFUpload.UPLOAD_ERROR.IO_ERROR:wpQueueError(swfuploadL10n.io_error);break;case SWFUpload.UPLOAD_ERROR.SECURITY_ERROR:wpQueueError(swfuploadL10n.security_error);break;case SWFUpload.UPLOAD_ERROR.UPLOAD_STOPPED:case SWFUpload.UPLOAD_ERROR.FILE_CANCELLED:jQuery("#media-item-"+b.id).remove();break;default:wpFileError(b,swfuploadL10n.default_error)}}function cancelUpload(){swfu.cancelQueue()}jQuery(document).ready(function(a){a('input[type="radio"]',"#media-items").live("click",function(){var b=a(this).closest("tr");if(a(b).hasClass("align")){setUserSetting("align",a(this).val())}else{if(a(b).hasClass("image-size")){setUserSetting("imgsize",a(this).val())}}});a("button.button","#media-items").live("click",function(){var b=this.className||"";b=b.match(/url([^ '"]+)/);if(b&&b[1]){setUserSetting("urlbutton",b[1]);a(this).siblings(".urlfield").val(a(this).attr("title"))}})}); \ No newline at end of file +var topWin=window.dialogArguments||opener||parent||top;function fileDialogStart(){jQuery("#media-upload-error").empty()}function fileQueued(a){jQuery(".media-blank").remove();if(jQuery("form.type-form #media-items").children().length==1&&jQuery(".hidden","#media-items").length>0){jQuery(".describe-toggle-on").show();jQuery(".describe-toggle-off").hide();jQuery(".slidetoggle").slideUp(200).siblings().removeClass("hidden")}jQuery("#media-items").append('<div id="media-item-'+a.id+'" class="media-item child-of-'+post_id+'"><div class="progress"><div class="bar"></div></div><div class="filename original"><span class="percent"></span> '+a.name+"</div></div>");jQuery(".progress","#media-item-"+a.id).show();jQuery("#insert-gallery").prop("disabled",true);jQuery("#cancel-upload").prop("disabled",false)}function uploadStart(a){try{if(typeof topWin.tb_remove!="undefined"){topWin.jQuery("#TB_overlay").unbind("click",topWin.tb_remove)}}catch(b){}return true}function uploadProgress(e,b,d){var a=jQuery("#media-items").width()-2,c=jQuery("#media-item-"+e.id);jQuery(".bar",c).width(a*b/d);jQuery(".percent",c).html(Math.ceil(b/d*100)+"%");if(b==d){jQuery(".bar",c).html('<strong class="crunching">'+swfuploadL10n.crunching+"</strong>")}}function prepareMediaItem(c,a){var d=(typeof shortform=="undefined")?1:2,b=jQuery("#media-item-"+c.id);jQuery(".bar",b).remove();jQuery(".progress",b).hide();try{if(typeof topWin.tb_remove!="undefined"){topWin.jQuery("#TB_overlay").click(topWin.tb_remove)}}catch(g){}if(isNaN(a)||!a){b.append(a);prepareMediaItemInit(c)}else{b.load("async-upload.php",{attachment_id:a,fetch:d},function(){prepareMediaItemInit(c);updateMediaForm()})}}function prepareMediaItemInit(b){var a=jQuery("#media-item-"+b.id);jQuery(".thumbnail",a).clone().attr("class","pinkynail toggle").prependTo(a);jQuery(".filename.original",a).replaceWith(jQuery(".filename.new",a));jQuery("a.toggle",a).click(function(){jQuery(this).siblings(".slidetoggle").slideToggle(350,function(){var d=jQuery(window).height(),e=jQuery(this).offset().top,f=jQuery(this).height(),c;if(d&&e&&f){c=e+f;if(c>d&&(f+48)<d){window.scrollBy(0,c-d+13)}else{if(c>d){window.scrollTo(0,e-36)}}}});jQuery(this).siblings(".toggle").andSelf().toggle();jQuery(this).siblings("a.toggle").focus();return false});jQuery("a.delete",a).click(function(){jQuery.ajax({url:"admin-ajax.php",type:"post",success:deleteSuccess,error:deleteError,id:b.id,data:{id:this.id.replace(/[^0-9]/g,""),action:"trash-post",_ajax_nonce:this.href.replace(/^.*wpnonce=/,"")}});return false});jQuery("a.undo",a).click(function(){jQuery.ajax({url:"admin-ajax.php",type:"post",id:b.id,data:{id:this.id.replace(/[^0-9]/g,""),action:"untrash-post",_ajax_nonce:this.href.replace(/^.*wpnonce=/,"")},success:function(d,e){var c=jQuery("#media-item-"+b.id);if(type=jQuery("#type-of-"+b.id).val()){jQuery("#"+type+"-counter").text(jQuery("#"+type+"-counter").text()-0+1)}if(c.hasClass("child-of-"+post_id)){jQuery("#attachments-count").text(jQuery("#attachments-count").text()-0+1)}jQuery(".filename .trashnotice",c).remove();jQuery(".filename .title",c).css("font-weight","normal");jQuery("a.undo",c).addClass("hidden");jQuery("a.describe-toggle-on, .menu_order_input",c).show();c.css({backgroundColor:"#ceb"}).animate({backgroundColor:"#fff"},{queue:false,duration:500,complete:function(){jQuery(this).css({backgroundColor:""})}}).removeClass("undo")}});return false});jQuery("#media-item-"+b.id+".startopen").removeClass("startopen").slideToggle(500).siblings(".toggle").toggle()}function itemAjaxError(d,b){var c=jQuery("#media-item-"+d);var a=jQuery(".filename",c).text();c.html('<div class="error-div"><a class="dismiss" href="#">'+swfuploadL10n.dismiss+"</a><strong>"+swfuploadL10n.error_uploading.replace("%s",a)+"</strong><br />"+b+"</div>");c.find("a.dismiss").click(function(){jQuery(this).parents(".media-item").slideUp(200,function(){jQuery(this).remove()})})}function deleteSuccess(b,d){if(b=="-1"){return itemAjaxError(this.id,"You do not have permission. Has your session expired?")}if(b=="0"){return itemAjaxError(this.id,"Could not be deleted. Has it been deleted already?")}var c=this.id,a=jQuery("#media-item-"+c);if(type=jQuery("#type-of-"+c).val()){jQuery("#"+type+"-counter").text(jQuery("#"+type+"-counter").text()-1)}if(a.hasClass("child-of-"+post_id)){jQuery("#attachments-count").text(jQuery("#attachments-count").text()-1)}if(jQuery("form.type-form #media-items").children().length==1&&jQuery(".hidden","#media-items").length>0){jQuery(".toggle").toggle();jQuery(".slidetoggle").slideUp(200).siblings().removeClass("hidden")}jQuery(".toggle",a).toggle();jQuery(".slidetoggle",a).slideUp(200).siblings().removeClass("hidden");a.css({backgroundColor:"#faa"}).animate({backgroundColor:"#f4f4f4"},{queue:false,duration:500}).addClass("undo");jQuery(".filename:empty",a).remove();jQuery(".filename .title",a).css("font-weight","bold");jQuery(".filename",a).append('<span class="trashnotice"> '+swfuploadL10n.deleted+" </span>").siblings("a.toggle").hide();jQuery(".filename",a).append(jQuery("a.undo",a).removeClass("hidden"));jQuery(".menu_order_input",a).hide();return}function deleteError(c,b,a){}function updateMediaForm(){var b=jQuery("form.type-form #media-items").children(),a=jQuery("#media-items").children();if(b.length==1){jQuery(".slidetoggle",b).slideDown(500).siblings().addClass("hidden").filter(".toggle").toggle()}if(a.not(".media-blank").length>0){jQuery(".savebutton").show()}else{jQuery(".savebutton").hide()}if(a.length>1){jQuery(".insert-gallery").show()}else{jQuery(".insert-gallery").hide()}}function uploadSuccess(b,a){if(a.match("media-upload-error")){jQuery("#media-item-"+b.id).html(a);return}prepareMediaItem(b,a);updateMediaForm();if(jQuery("#media-item-"+b.id).hasClass("child-of-"+post_id)){jQuery("#attachments-count").text(1*jQuery("#attachments-count").text()+1)}}function uploadComplete(a){if(swfu.getStats().files_queued==0){jQuery("#cancel-upload").prop("disabled",true);jQuery("#insert-gallery").prop("disabled",false)}}function wpQueueError(a){jQuery("#media-upload-error").show().text(a)}function wpFileError(d,c){var b=jQuery("#media-item-"+d.id);var a=jQuery(".filename",b).text();b.html('<div class="error-div"><a class="dismiss" href="#">'+swfuploadL10n.dismiss+"</a><strong>"+swfuploadL10n.error_uploading.replace("%s",a)+"</strong><br />"+c+"</div>");b.find("a.dismiss").click(function(){jQuery(this).parents(".media-item").slideUp(200,function(){jQuery(this).remove()})})}function fileQueueError(c,a,b){if(a==SWFUpload.QUEUE_ERROR.QUEUE_LIMIT_EXCEEDED){wpQueueError(swfuploadL10n.queue_limit_exceeded)}else{if(a==SWFUpload.QUEUE_ERROR.FILE_EXCEEDS_SIZE_LIMIT){fileQueued(c);wpFileError(c,swfuploadL10n.file_exceeds_size_limit)}else{if(a==SWFUpload.QUEUE_ERROR.ZERO_BYTE_FILE){fileQueued(c);wpFileError(c,swfuploadL10n.zero_byte_file)}else{if(a==SWFUpload.QUEUE_ERROR.INVALID_FILETYPE){fileQueued(c);wpFileError(c,swfuploadL10n.invalid_filetype)}else{wpQueueError(swfuploadL10n.default_error)}}}}}function fileDialogComplete(b){try{if(b>0){this.startUpload()}}catch(a){this.debug(a)}}function switchUploader(b){var c=document.getElementById(swfu.customSettings.swfupload_element_id),a=document.getElementById(swfu.customSettings.degraded_element_id);if(b){c.style.display="block";a.style.display="none"}else{c.style.display="none";a.style.display="block"}}function swfuploadPreLoad(){if(!uploaderMode){switchUploader(1)}else{switchUploader(0)}}function swfuploadLoadFailed(){switchUploader(0);jQuery(".upload-html-bypass").hide()}function uploadError(b,c,a){switch(c){case SWFUpload.UPLOAD_ERROR.MISSING_UPLOAD_URL:wpFileError(b,swfuploadL10n.missing_upload_url);break;case SWFUpload.UPLOAD_ERROR.UPLOAD_LIMIT_EXCEEDED:wpFileError(b,swfuploadL10n.upload_limit_exceeded);break;case SWFUpload.UPLOAD_ERROR.HTTP_ERROR:wpQueueError(swfuploadL10n.http_error);break;case SWFUpload.UPLOAD_ERROR.UPLOAD_FAILED:wpQueueError(swfuploadL10n.upload_failed);break;case SWFUpload.UPLOAD_ERROR.IO_ERROR:wpQueueError(swfuploadL10n.io_error);break;case SWFUpload.UPLOAD_ERROR.SECURITY_ERROR:wpQueueError(swfuploadL10n.security_error);break;case SWFUpload.UPLOAD_ERROR.UPLOAD_STOPPED:case SWFUpload.UPLOAD_ERROR.FILE_CANCELLED:jQuery("#media-item-"+b.id).remove();break;default:wpFileError(b,swfuploadL10n.default_error)}}function cancelUpload(){swfu.cancelQueue()}jQuery(document).ready(function(a){a('input[type="radio"]',"#media-items").live("click",function(){var b=a(this).closest("tr");if(a(b).hasClass("align")){setUserSetting("align",a(this).val())}else{if(a(b).hasClass("image-size")){setUserSetting("imgsize",a(this).val())}}});a("button.button","#media-items").live("click",function(){var b=this.className||"";b=b.match(/url([^ '"]+)/);if(b&&b[1]){setUserSetting("urlbutton",b[1]);a(this).siblings(".urlfield").val(a(this).attr("title"))}})}); \ No newline at end of file diff --git a/wp-includes/js/swfupload/license.txt b/wp-includes/js/swfupload/license.txt index 8252ca9e2..72962690e 100644 --- a/wp-includes/js/swfupload/license.txt +++ b/wp-includes/js/swfupload/license.txt @@ -1,32 +1,32 @@ -/** - * SWFUpload: http://www.swfupload.org, http://swfupload.googlecode.com - * - * mmSWFUpload 1.0: Flash upload dialog - http://profandesign.se/swfupload/, http://www.vinterwebb.se/ - * - * SWFUpload is (c) 2006-2007 Lars Huring, Olov Nilzén and Mammon Media and is released under the MIT License: - * http://www.opensource.org/licenses/mit-license.php - * - * SWFUpload 2 is (c) 2007-2008 Jake Roberts and is released under the MIT License: - * http://www.opensource.org/licenses/mit-license.php - * - */ - -The MIT License - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +/** + * SWFUpload: http://www.swfupload.org, http://swfupload.googlecode.com + * + * mmSWFUpload 1.0: Flash upload dialog - http://profandesign.se/swfupload/, http://www.vinterwebb.se/ + * + * SWFUpload is (c) 2006-2007 Lars Huring, Olov Nilzén and Mammon Media and is released under the MIT License: + * http://www.opensource.org/licenses/mit-license.php + * + * SWFUpload 2 is (c) 2007-2008 Jake Roberts and is released under the MIT License: + * http://www.opensource.org/licenses/mit-license.php + * + */ + +The MIT License + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. \ No newline at end of file diff --git a/wp-includes/js/swfupload/plugins/swfupload.swfobject.js b/wp-includes/js/swfupload/plugins/swfupload.swfobject.js index 22cb17889..cb7aa8043 100644 --- a/wp-includes/js/swfupload/plugins/swfupload.swfobject.js +++ b/wp-includes/js/swfupload/plugins/swfupload.swfobject.js @@ -43,13 +43,13 @@ var SWFUpload; if (typeof(SWFUpload) === "function") { SWFUpload.onload = function () {}; - + swfobject.addDomLoadEvent(function () { if (typeof(SWFUpload.onload) === "function") { - SWFUpload.onload.call(window); + setTimeout(function(){SWFUpload.onload.call(window);}, 200); } }); - + SWFUpload.prototype.initSettings = (function (oldInitSettings) { return function () { if (typeof(oldInitSettings) === "function") { diff --git a/wp-includes/js/swfupload/swfupload-all.js b/wp-includes/js/swfupload/swfupload-all.js index afb79213e..f18a138b3 100644 --- a/wp-includes/js/swfupload/swfupload-all.js +++ b/wp-includes/js/swfupload/swfupload-all.js @@ -5,4 +5,4 @@ var SWFUpload;if(typeof(SWFUpload)==="function"){SWFUpload.queue={};SWFUpload.pr // swfobject var swfobject=function(){var b="undefined",Q="object",n="Shockwave Flash",p="ShockwaveFlash.ShockwaveFlash",P="application/x-shockwave-flash",m="SWFObjectExprInst",j=window,K=document,T=navigator,o=[],N=[],i=[],d=[],J,Z=null,M=null,l=null,e=false,A=false;var h=function(){var v=typeof K.getElementById!=b&&typeof K.getElementsByTagName!=b&&typeof K.createElement!=b,AC=[0,0,0],x=null;if(typeof T.plugins!=b&&typeof T.plugins[n]==Q){x=T.plugins[n].description;if(x&&!(typeof T.mimeTypes!=b&&T.mimeTypes[P]&&!T.mimeTypes[P].enabledPlugin)){x=x.replace(/^.*\s+(\S+\s+\S+$)/,"$1");AC[0]=parseInt(x.replace(/^(.*)\..*$/,"$1"),10);AC[1]=parseInt(x.replace(/^.*\.(.*)\s.*$/,"$1"),10);AC[2]=/r/.test(x)?parseInt(x.replace(/^.*r(.*)$/,"$1"),10):0}}else{if(typeof j.ActiveXObject!=b){var y=null,AB=false;try{y=new ActiveXObject(p+".7")}catch(t){try{y=new ActiveXObject(p+".6");AC=[6,0,21];y.AllowScriptAccess="always"}catch(t){if(AC[0]==6){AB=true}}if(!AB){try{y=new ActiveXObject(p)}catch(t){}}}if(!AB&&y){try{x=y.GetVariable("$version");if(x){x=x.split(" ")[1].split(",");AC=[parseInt(x[0],10),parseInt(x[1],10),parseInt(x[2],10)]}}catch(t){}}}}var AD=T.userAgent.toLowerCase(),r=T.platform.toLowerCase(),AA=/webkit/.test(AD)?parseFloat(AD.replace(/^.*webkit\/(\d+(\.\d+)?).*$/,"$1")):false,q=false,z=r?/win/.test(r):/win/.test(AD),w=r?/mac/.test(r):/mac/.test(AD);/*@cc_on q=true;@if(@_win32)z=true;@elif(@_mac)w=true;@end@*/return{w3cdom:v,pv:AC,webkit:AA,ie:q,win:z,mac:w}}();var L=function(){if(!h.w3cdom){return }f(H);if(h.ie&&h.win){try{K.write("<script id=__ie_ondomload defer=true src=//:><\/script>");J=C("__ie_ondomload");if(J){I(J,"onreadystatechange",S)}}catch(q){}}if(h.webkit&&typeof K.readyState!=b){Z=setInterval(function(){if(/loaded|complete/.test(K.readyState)){E()}},10)}if(typeof K.addEventListener!=b){K.addEventListener("DOMContentLoaded",E,null)}R(E)}();function S(){if(J.readyState=="complete"){J.parentNode.removeChild(J);E()}}function E(){if(e){return }if(h.ie&&h.win){var v=a("span");try{var u=K.getElementsByTagName("body")[0].appendChild(v);u.parentNode.removeChild(u)}catch(w){return }}e=true;if(Z){clearInterval(Z);Z=null}var q=o.length;for(var r=0;r<q;r++){o[r]()}}function f(q){if(e){q()}else{o[o.length]=q}}function R(r){if(typeof j.addEventListener!=b){j.addEventListener("load",r,false)}else{if(typeof K.addEventListener!=b){K.addEventListener("load",r,false)}else{if(typeof j.attachEvent!=b){I(j,"onload",r)}else{if(typeof j.onload=="function"){var q=j.onload;j.onload=function(){q();r()}}else{j.onload=r}}}}}function H(){var t=N.length;for(var q=0;q<t;q++){var u=N[q].id;if(h.pv[0]>0){var r=C(u);if(r){N[q].width=r.getAttribute("width")?r.getAttribute("width"):"0";N[q].height=r.getAttribute("height")?r.getAttribute("height"):"0";if(c(N[q].swfVersion)){if(h.webkit&&h.webkit<312){Y(r)}W(u,true)}else{if(N[q].expressInstall&&!A&&c("6.0.65")&&(h.win||h.mac)){k(N[q])}else{O(r)}}}}else{W(u,true)}}}function Y(t){var q=t.getElementsByTagName(Q)[0];if(q){var w=a("embed"),y=q.attributes;if(y){var v=y.length;for(var u=0;u<v;u++){if(y[u].nodeName=="DATA"){w.setAttribute("src",y[u].nodeValue)}else{w.setAttribute(y[u].nodeName,y[u].nodeValue)}}}var x=q.childNodes;if(x){var z=x.length;for(var r=0;r<z;r++){if(x[r].nodeType==1&&x[r].nodeName=="PARAM"){w.setAttribute(x[r].getAttribute("name"),x[r].getAttribute("value"))}}}t.parentNode.replaceChild(w,t)}}function k(w){A=true;var u=C(w.id);if(u){if(w.altContentId){var y=C(w.altContentId);if(y){M=y;l=w.altContentId}}else{M=G(u)}if(!(/%$/.test(w.width))&&parseInt(w.width,10)<310){w.width="310"}if(!(/%$/.test(w.height))&&parseInt(w.height,10)<137){w.height="137"}K.title=K.title.slice(0,47)+" - Flash Player Installation";var z=h.ie&&h.win?"ActiveX":"PlugIn",q=K.title,r="MMredirectURL="+j.location+"&MMplayerType="+z+"&MMdoctitle="+q,x=w.id;if(h.ie&&h.win&&u.readyState!=4){var t=a("div");x+="SWFObjectNew";t.setAttribute("id",x);u.parentNode.insertBefore(t,u);u.style.display="none";var v=function(){u.parentNode.removeChild(u)};I(j,"onload",v)}U({data:w.expressInstall,id:m,width:w.width,height:w.height},{flashvars:r},x)}}function O(t){if(h.ie&&h.win&&t.readyState!=4){var r=a("div");t.parentNode.insertBefore(r,t);r.parentNode.replaceChild(G(t),r);t.style.display="none";var q=function(){t.parentNode.removeChild(t)};I(j,"onload",q)}else{t.parentNode.replaceChild(G(t),t)}}function G(v){var u=a("div");if(h.win&&h.ie){u.innerHTML=v.innerHTML}else{var r=v.getElementsByTagName(Q)[0];if(r){var w=r.childNodes;if(w){var q=w.length;for(var t=0;t<q;t++){if(!(w[t].nodeType==1&&w[t].nodeName=="PARAM")&&!(w[t].nodeType==8)){u.appendChild(w[t].cloneNode(true))}}}}}return u}function U(AG,AE,t){var q,v=C(t);if(v){if(typeof AG.id==b){AG.id=t}if(h.ie&&h.win){var AF="";for(var AB in AG){if(AG[AB]!=Object.prototype[AB]){if(AB.toLowerCase()=="data"){AE.movie=AG[AB]}else{if(AB.toLowerCase()=="styleclass"){AF+=' class="'+AG[AB]+'"'}else{if(AB.toLowerCase()!="classid"){AF+=" "+AB+'="'+AG[AB]+'"'}}}}}var AD="";for(var AA in AE){if(AE[AA]!=Object.prototype[AA]){AD+='<param name="'+AA+'" value="'+AE[AA]+'" />'}}v.outerHTML='<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"'+AF+">"+AD+"</object>";i[i.length]=AG.id;q=C(AG.id)}else{if(h.webkit&&h.webkit<312){var AC=a("embed");AC.setAttribute("type",P);for(var z in AG){if(AG[z]!=Object.prototype[z]){if(z.toLowerCase()=="data"){AC.setAttribute("src",AG[z])}else{if(z.toLowerCase()=="styleclass"){AC.setAttribute("class",AG[z])}else{if(z.toLowerCase()!="classid"){AC.setAttribute(z,AG[z])}}}}}for(var y in AE){if(AE[y]!=Object.prototype[y]){if(y.toLowerCase()!="movie"){AC.setAttribute(y,AE[y])}}}v.parentNode.replaceChild(AC,v);q=AC}else{var u=a(Q);u.setAttribute("type",P);for(var x in AG){if(AG[x]!=Object.prototype[x]){if(x.toLowerCase()=="styleclass"){u.setAttribute("class",AG[x])}else{if(x.toLowerCase()!="classid"){u.setAttribute(x,AG[x])}}}}for(var w in AE){if(AE[w]!=Object.prototype[w]&&w.toLowerCase()!="movie"){F(u,w,AE[w])}}v.parentNode.replaceChild(u,v);q=u}}}return q}function F(t,q,r){var u=a("param");u.setAttribute("name",q);u.setAttribute("value",r);t.appendChild(u)}function X(r){var q=C(r);if(q&&(q.nodeName=="OBJECT"||q.nodeName=="EMBED")){if(h.ie&&h.win){if(q.readyState==4){B(r)}else{j.attachEvent("onload",function(){B(r)})}}else{q.parentNode.removeChild(q)}}}function B(t){var r=C(t);if(r){for(var q in r){if(typeof r[q]=="function"){r[q]=null}}r.parentNode.removeChild(r)}}function C(t){var q=null;try{q=K.getElementById(t)}catch(r){}return q}function a(q){return K.createElement(q)}function I(t,q,r){t.attachEvent(q,r);d[d.length]=[t,q,r]}function c(t){var r=h.pv,q=t.split(".");q[0]=parseInt(q[0],10);q[1]=parseInt(q[1],10)||0;q[2]=parseInt(q[2],10)||0;return(r[0]>q[0]||(r[0]==q[0]&&r[1]>q[1])||(r[0]==q[0]&&r[1]==q[1]&&r[2]>=q[2]))?true:false}function V(v,r){if(h.ie&&h.mac){return }var u=K.getElementsByTagName("head")[0],t=a("style");t.setAttribute("type","text/css");t.setAttribute("media","screen");if(!(h.ie&&h.win)&&typeof K.createTextNode!=b){t.appendChild(K.createTextNode(v+" {"+r+"}"))}u.appendChild(t);if(h.ie&&h.win&&typeof K.styleSheets!=b&&K.styleSheets.length>0){var q=K.styleSheets[K.styleSheets.length-1];if(typeof q.addRule==Q){q.addRule(v,r)}}}function W(t,q){var r=q?"visible":"hidden";if(e&&C(t)){C(t).style.visibility=r}else{V("#"+t,"visibility:"+r)}}function g(s){var r=/[\\\"<>\.;]/;var q=r.exec(s)!=null;return q?encodeURIComponent(s):s}var D=function(){if(h.ie&&h.win){window.attachEvent("onunload",function(){var w=d.length;for(var v=0;v<w;v++){d[v][0].detachEvent(d[v][1],d[v][2])}var t=i.length;for(var u=0;u<t;u++){X(i[u])}for(var r in h){h[r]=null}h=null;for(var q in swfobject){swfobject[q]=null}swfobject=null})}}();return{registerObject:function(u,q,t){if(!h.w3cdom||!u||!q){return }var r={};r.id=u;r.swfVersion=q;r.expressInstall=t?t:false;N[N.length]=r;W(u,false)},getObjectById:function(v){var q=null;if(h.w3cdom){var t=C(v);if(t){var u=t.getElementsByTagName(Q)[0];if(!u||(u&&typeof t.SetVariable!=b)){q=t}else{if(typeof u.SetVariable!=b){q=u}}}}return q},embedSWF:function(x,AE,AB,AD,q,w,r,z,AC){if(!h.w3cdom||!x||!AE||!AB||!AD||!q){return }AB+="";AD+="";if(c(q)){W(AE,false);var AA={};if(AC&&typeof AC===Q){for(var v in AC){if(AC[v]!=Object.prototype[v]){AA[v]=AC[v]}}}AA.data=x;AA.width=AB;AA.height=AD;var y={};if(z&&typeof z===Q){for(var u in z){if(z[u]!=Object.prototype[u]){y[u]=z[u]}}}if(r&&typeof r===Q){for(var t in r){if(r[t]!=Object.prototype[t]){if(typeof y.flashvars!=b){y.flashvars+="&"+t+"="+r[t]}else{y.flashvars=t+"="+r[t]}}}}f(function(){U(AA,y,AE);if(AA.id==AE){W(AE,true)}})}else{if(w&&!A&&c("6.0.65")&&(h.win||h.mac)){A=true;W(AE,false);f(function(){var AF={};AF.id=AF.altContentId=AE;AF.width=AB;AF.height=AD;AF.expressInstall=w;k(AF)})}}},getFlashPlayerVersion:function(){return{major:h.pv[0],minor:h.pv[1],release:h.pv[2]}},hasFlashPlayerVersion:c,createSWF:function(t,r,q){if(h.w3cdom){return U(t,r,q)}else{return undefined}},removeSWF:function(q){if(h.w3cdom){X(q)}},createCSS:function(r,q){if(h.w3cdom){V(r,q)}},addDomLoadEvent:f,addLoadEvent:R,getQueryParamValue:function(v){var u=K.location.search||K.location.hash;if(v==null){return g(u)}if(u){var t=u.substring(1).split("&");for(var r=0;r<t.length;r++){if(t[r].substring(0,t[r].indexOf("="))==v){return g(t[r].substring((t[r].indexOf("=")+1)))}}}return""},expressInstallCallback:function(){if(A&&M){var q=C(m);if(q){q.parentNode.replaceChild(M,q);if(l){W(l,true);if(h.ie&&h.win){M.style.display="block"}}M=null;l=null;A=false}}}}}(); // swfupload.swfobject -var SWFUpload;if(typeof(SWFUpload)==="function"){SWFUpload.onload=function(){};swfobject.addDomLoadEvent(function(){if(typeof(SWFUpload.onload)==="function"){SWFUpload.onload.call(window)}});SWFUpload.prototype.initSettings=(function(a){return function(){if(typeof(a)==="function"){a.call(this)}this.ensureDefault=function(c,b){this.settings[c]=(this.settings[c]==undefined)?b:this.settings[c]};this.ensureDefault("minimum_flash_version","9.0.28");this.ensureDefault("swfupload_pre_load_handler",null);this.ensureDefault("swfupload_load_failed_handler",null);delete this.ensureDefault}})(SWFUpload.prototype.initSettings);SWFUpload.prototype.loadFlash=function(a){return function(){var b=swfobject.hasFlashPlayerVersion(this.settings.minimum_flash_version);if(b){this.queueEvent("swfupload_pre_load_handler");if(typeof(a)==="function"){a.call(this)}}else{this.queueEvent("swfupload_load_failed_handler")}}}(SWFUpload.prototype.loadFlash)}; +var SWFUpload;if(typeof(SWFUpload)==="function"){SWFUpload.onload=function(){};swfobject.addDomLoadEvent(function(){if(typeof(SWFUpload.onload)==="function"){setTimeout(function(){SWFUpload.onload.call(window)},200)}});SWFUpload.prototype.initSettings=(function(a){return function(){if(typeof(a)==="function"){a.call(this)}this.ensureDefault=function(c,b){this.settings[c]=(this.settings[c]==undefined)?b:this.settings[c]};this.ensureDefault("minimum_flash_version","9.0.28");this.ensureDefault("swfupload_pre_load_handler",null);this.ensureDefault("swfupload_load_failed_handler",null);delete this.ensureDefault}})(SWFUpload.prototype.initSettings);SWFUpload.prototype.loadFlash=function(a){return function(){var b=swfobject.hasFlashPlayerVersion(this.settings.minimum_flash_version);if(b){this.queueEvent("swfupload_pre_load_handler");if(typeof(a)==="function"){a.call(this)}}else{this.queueEvent("swfupload_load_failed_handler")}}}(SWFUpload.prototype.loadFlash);SWFUpload.prototype.displayDebugInfo=function(a){return function(){if(typeof(a)==="function"){a.call(this)}this.debug(["SWFUpload.SWFObject Plugin settings:","\n","\t","minimum_flash_version: ",this.settings.minimum_flash_version,"\n","\t","swfupload_pre_load_handler assigned: ",(typeof(this.settings.swfupload_pre_load_handler)==="function").toString(),"\n","\t","swfupload_load_failed_handler assigned: ",(typeof(this.settings.swfupload_load_failed_handler)==="function").toString(),"\n",].join(""))}}(SWFUpload.prototype.displayDebugInfo)}; diff --git a/wp-includes/js/thickbox/thickbox.js b/wp-includes/js/thickbox/thickbox.js index b4ff03090..5cc986882 100644 --- a/wp-includes/js/thickbox/thickbox.js +++ b/wp-includes/js/thickbox/thickbox.js @@ -6,10 +6,10 @@ */ if ( typeof tb_pathToImage != 'string' ) { - var tb_pathToImage = "../wp-includes/js/thickbox/loadingAnimation.gif"; + var tb_pathToImage = thickboxL10n.loadingAnimation; } if ( typeof tb_closeImage != 'string' ) { - var tb_closeImage = "../wp-includes/js/thickbox/tb-close.png"; + var tb_closeImage = thickboxL10n.closeImage; } /*!!!!!!!!!!!!!!!!! edit below this line at your own risk !!!!!!!!!!!!!!!!!!!!!!!*/ @@ -158,26 +158,26 @@ function tb_show(caption, url, imageGroup) {//function called when the user clic } - document.onkeydown = function(e){ - if (e == null) { // ie - keycode = event.keyCode; - } else { // mozilla - keycode = e.which; - } - if(keycode == 27){ // close - tb_remove(); - } else if(keycode == 190){ // display previous image + jQuery(document).bind('keydown.thickbox', function(e){ + e.stopImmediatePropagation(); + + if ( e.which == 27 ){ // close + if ( ! jQuery(document).triggerHandler( 'wp_CloseOnEscape', [{ event: e, what: 'thickbox', cb: tb_remove }] ) ) + tb_remove(); + + } else if ( e.which == 190 ){ // display previous image if(!(TB_NextHTML == "")){ - document.onkeydown = ""; + jQuery(document).unbind('thickbox'); goNext(); } - } else if(keycode == 188){ // display next image + } else if ( e.which == 188 ){ // display next image if(!(TB_PrevHTML == "")){ - document.onkeydown = ""; + jQuery(document).unbind('thickbox'); goPrev(); } } - }; + return false; + }); tb_position(); jQuery("#TB_load").remove(); @@ -249,16 +249,16 @@ function tb_show(caption, url, imageGroup) {//function called when the user clic } if(!params['modal']){ - document.onkeyup = function(e){ - if (e == null) { // ie - keycode = event.keyCode; - } else { // mozilla - keycode = e.which; - } - if(keycode == 27){ // close - tb_remove(); + jQuery(document).bind('keyup.thickbox', function(e){ + + if ( e.which == 27 ){ // close + e.stopImmediatePropagation(); + if ( ! jQuery(document).triggerHandler( 'wp_CloseOnEscape', [{ event: e, what: 'thickbox', cb: tb_remove }] ) ) + tb_remove(); + + return false; } - }; + }); } } catch(e) { @@ -281,8 +281,7 @@ function tb_remove() { jQuery("body","html").css({height: "auto", width: "auto"}); jQuery("html").css("overflow",""); } - document.onkeydown = ""; - document.onkeyup = ""; + jQuery(document).unbind('.thickbox'); return false; } diff --git a/wp-includes/js/tinymce/langs/wp-langs-en.js b/wp-includes/js/tinymce/langs/wp-langs-en.js index 32935a75c..8373ed540 100644 --- a/wp-includes/js/tinymce/langs/wp-langs-en.js +++ b/wp-includes/js/tinymce/langs/wp-langs-en.js @@ -13,8 +13,53 @@ clipboard_msg:"Copy/Cut/Paste is not available in Mozilla and Firefox.", clipboard_no_support:"Currently not supported by your browser, use keyboard shortcuts instead.", popup_blocked:"Sorry, but we have noticed that your popup-blocker has disabled a window that provides application functionality. You will need to disable popup blocking on this site in order to fully utilize this tool.", invalid_data:"Error: Invalid values entered, these are marked in red.", +invalid_data_number:"{#field} must be a number", +invalid_data_min:"{#field} must be a number greater than {#min}", +invalid_data_size:"{#field} must be a number or percentage", more_colors:"More colors" }, +colors:{ +"000000":"Black", +"993300":"Burnt orange", +"333300":"Dark olive", +"003300":"Dark green", +"003366":"Dark azure", +"000080":"Navy Blue", +"333399":"Indigo", +"333333":"Very dark gray", +"800000":"Maroon", +"FF6600":"Orange", +"808000":"Olive", +"008000":"Green", +"008080":"Teal", +"0000FF":"Blue", +"666699":"Grayish blue", +"808080":"Gray", +"FF0000":"Red", +"FF9900":"Amber", +"99CC00":"Yellow green", +"339966":"Sea green", +"33CCCC":"Turquoise", +"3366FF":"Royal blue", +"800080":"Purple", +"999999":"Medium gray", +"FF00FF":"Magenta", +"FFCC00":"Gold", +"FFFF00":"Yellow", +"00FF00":"Lime", +"00FFFF":"Aqua", +"00CCFF":"Sky blue", +"993366":"Brown", +"C0C0C0":"Silver", +"FF99CC":"Pink", +"FFCC99":"Peach", +"FFFF99":"Light yellow", +"CCFFCC":"Pale green", +"CCFFFF":"Pale cyan", +"99CCFF":"Light sky blue", +"CC99FF":"Plum", +"FFFFFF":"White" +}, contextmenu:{ align:"Alignment", left:"Left", @@ -90,7 +135,9 @@ desc:"Edit CSS Style" paste:{ paste_text_desc:"Paste as Plain Text", paste_word_desc:"Paste from Word", -selectall_desc:"Select All" +selectall_desc:"Select All", +plaintext_mode_sticky:"Paste is now in plain text mode. Click again to toggle back to regular paste mode. After you paste something you will be returned to regular paste mode.", +plaintext_mode:"Paste is now in plain text mode. Click again to toggle back to regular paste mode." }, paste_dlg:{ text_title:"Use CTRL+V on your keyboard to paste the text into the window.", @@ -127,8 +174,6 @@ desc:"Toggle fullscreen mode (Alt+Shift+G)" }, media:{ desc:"Insert / edit embedded media", -delta_width:"0", -delta_height:"0", edit:"Edit embedded media" }, fullpage:{ @@ -149,11 +194,31 @@ langs:"Languages", wait:"Please wait...", sug:"Suggestions", no_sug:"No suggestions", -no_mpell:"No misspellings found." +no_mpell:"No misspellings found.", +learn_word:"Learn word" }, pagebreak:{ -desc:"Insert page break." -}}}); +desc:"Insert Page Break" +}, +advlist:{ +types:"Types", +def:"Default", +lower_alpha:"Lower alpha", +lower_greek:"Lower greek", +lower_roman:"Lower roman", +upper_alpha:"Upper alpha", +upper_roman:"Upper roman", +circle:"Circle", +disc:"Disc", +square:"Square" +}, +aria:{ +rich_text_area:"Rich Text Area" +}, +wordcount:{ +words:"Words: " +} +}}); tinyMCE.addI18n("en.advanced",{ style_select:"Styles", @@ -179,10 +244,10 @@ bold_desc:"Bold (Ctrl / Alt+Shift + B)", italic_desc:"Italic (Ctrl / Alt+Shift + I)", underline_desc:"Underline", striketrough_desc:"Strikethrough (Alt+Shift+D)", -justifyleft_desc:"Align left (Alt+Shift+L)", -justifycenter_desc:"Align center (Alt+Shift+C)", -justifyright_desc:"Align right (Alt+Shift+R)", -justifyfull_desc:"Align full (Alt+Shift+J)", +justifyleft_desc:"Align Left (Alt+Shift+L)", +justifycenter_desc:"Align Center (Alt+Shift+C)", +justifyright_desc:"Align Right (Alt+Shift+R)", +justifyfull_desc:"Align Full (Alt+Shift+J)", bullist_desc:"Unordered list (Alt+Shift+U)", numlist_desc:"Ordered list (Alt+Shift+O)", outdent_desc:"Outdent", @@ -190,12 +255,8 @@ indent_desc:"Indent", undo_desc:"Undo (Ctrl+Z)", redo_desc:"Redo (Ctrl+Y)", link_desc:"Insert/edit link (Alt+Shift+A)", -link_delta_width:"0", -link_delta_height:"0", unlink_desc:"Unlink (Alt+Shift+S)", image_desc:"Insert/edit image (Alt+Shift+M)", -image_delta_width:"0", -image_delta_height:"0", cleanup_desc:"Cleanup messy code", code_desc:"Edit HTML Source", sub_desc:"Subscript", @@ -219,8 +280,10 @@ path:"Path", newdocument:"Are you sure you want to clear all contents?", toolbar_focus:"Jump to tool buttons - Alt+Q, Jump to editor - Alt-Z, Jump to element path - Alt-X", more_colors:"More colors", -colorpicker_delta_width:"0", -colorpicker_delta_height:"0" +shortcuts_desc:"Accessibility Help", +help_shortcut:" Press ALT F10 for toolbar. Press ALT 0 for help.", +rich_text_area:"Rich Text Area", +toolbar:"Toolbar" }); tinyMCE.addI18n("en.advanced_dlg",{ @@ -272,7 +335,9 @@ link_target_blank:"Open link in a new window", link_titlefield:"Title", link_is_email:"The URL you entered seems to be an email address, do you want to add the required mailto: prefix?", link_is_external:"The URL you entered seems to external link, do you want to add the required http:// prefix?", -link_list:"Link list" +link_list:"Link list", +accessibility_help:"Accessibility Help", +accessibility_usage_title:"General Usage" }); tinyMCE.addI18n("en.media_dlg",{ @@ -313,7 +378,7 @@ correction:"No correction", enablejavascript:"Enable JavaScript", starttime:"Start time", endtime:"End time", -href:"Href", +href:"href", qtsrcchokespeed:"Choke speed", target:"Target", volume:"Volume", @@ -376,12 +441,18 @@ flv_autostart:"Auto start", flv_loop:"Loop", flv_showscalemodes:"Show scale modes", flv_smoothvideo:"Smooth video", -flv_jscallback:"JS Callback" +flv_jscallback:"JS Callback", +html5_video_options:"HTML5 Video Options", +altsource1:"Alternative source 1", +altsource2:"Alternative source 2", +preload:"Preload", +poster:"Poster", +source:"Source" }); tinyMCE.addI18n("en.wordpress",{ wp_adv_desc:"Show/Hide Kitchen Sink (Alt+Shift+Z)", -wp_more_desc:"Insert More tag (Alt+Shift+T)", +wp_more_desc:"Insert More Tag (Alt+Shift+T)", wp_page_desc:"Insert Page break (Alt+Shift+P)", wp_help_desc:"Help (Alt+Shift+H)", wp_more_alt:"More...", diff --git a/wp-includes/js/tinymce/langs/wp-langs.php b/wp-includes/js/tinymce/langs/wp-langs.php index 52fc15b5f..32e9c3704 100644 --- a/wp-includes/js/tinymce/langs/wp-langs.php +++ b/wp-includes/js/tinymce/langs/wp-langs.php @@ -1,24 +1,13 @@ <?php -function mce_put_file( $path, $content ) { - if ( function_exists('file_put_contents') ) - return @file_put_contents( $path, $content ); - - $newfile = false; - $fp = @fopen( $path, 'wb' ); - if ($fp) { - $newfile = fwrite( $fp, $content ); - fclose($fp); - } - return $newfile; -} - // escape text only if it needs translating function mce_escape($text) { global $language; - if ( 'en' == $language ) return $text; - else return esc_js($text); + if ( 'en' == $language ) + return $text; + else + return esc_js($text); } $lang = 'tinyMCE.addI18n({' . $language . ':{ @@ -36,8 +25,53 @@ clipboard_msg:"' . mce_escape( __('Copy/Cut/Paste is not available in Mozilla an clipboard_no_support:"' . mce_escape( __('Currently not supported by your browser, use keyboard shortcuts instead.') ) . '", popup_blocked:"' . mce_escape( __('Sorry, but we have noticed that your popup-blocker has disabled a window that provides application functionality. You will need to disable popup blocking on this site in order to fully utilize this tool.') ) . '", invalid_data:"' . mce_escape( __('Error: Invalid values entered, these are marked in red.') ) . '", +invalid_data_number:"' . mce_escape( __('{#field} must be a number') ) . '", +invalid_data_min:"' . mce_escape( __('{#field} must be a number greater than {#min}') ) . '", +invalid_data_size:"' . mce_escape( __('{#field} must be a number or percentage') ) . '", more_colors:"' . mce_escape( __('More colors') ) . '" }, +colors:{ +"000000":"' . mce_escape( __('Black') ) . '", +"993300":"' . mce_escape( __('Burnt orange') ) . '", +"333300":"' . mce_escape( __('Dark olive') ) . '", +"003300":"' . mce_escape( __('Dark green') ) . '", +"003366":"' . mce_escape( __('Dark azure') ) . '", +"000080":"' . mce_escape( __('Navy Blue') ) . '", +"333399":"' . mce_escape( __('Indigo') ) . '", +"333333":"' . mce_escape( __('Very dark gray') ) . '", +"800000":"' . mce_escape( __('Maroon') ) . '", +"FF6600":"' . mce_escape( __('Orange') ) . '", +"808000":"' . mce_escape( __('Olive') ) . '", +"008000":"' . mce_escape( __('Green') ) . '", +"008080":"' . mce_escape( __('Teal') ) . '", +"0000FF":"' . mce_escape( __('Blue') ) . '", +"666699":"' . mce_escape( __('Grayish blue') ) . '", +"808080":"' . mce_escape( __('Gray') ) . '", +"FF0000":"' . mce_escape( __('Red') ) . '", +"FF9900":"' . mce_escape( __('Amber') ) . '", +"99CC00":"' . mce_escape( __('Yellow green') ) . '", +"339966":"' . mce_escape( __('Sea green') ) . '", +"33CCCC":"' . mce_escape( __('Turquoise') ) . '", +"3366FF":"' . mce_escape( __('Royal blue') ) . '", +"800080":"' . mce_escape( __('Purple') ) . '", +"999999":"' . mce_escape( __('Medium gray') ) . '", +"FF00FF":"' . mce_escape( __('Magenta') ) . '", +"FFCC00":"' . mce_escape( __('Gold') ) . '", +"FFFF00":"' . mce_escape( __('Yellow') ) . '", +"00FF00":"' . mce_escape( __('Lime') ) . '", +"00FFFF":"' . mce_escape( __('Aqua') ) . '", +"00CCFF":"' . mce_escape( __('Sky blue') ) . '", +"993366":"' . mce_escape( __('Brown') ) . '", +"C0C0C0":"' . mce_escape( __('Silver') ) . '", +"FF99CC":"' . mce_escape( __('Pink') ) . '", +"FFCC99":"' . mce_escape( __('Peach') ) . '", +"FFFF99":"' . mce_escape( __('Light yellow') ) . '", +"CCFFCC":"' . mce_escape( __('Pale green') ) . '", +"CCFFFF":"' . mce_escape( __('Pale cyan') ) . '", +"99CCFF":"' . mce_escape( __('Light sky blue') ) . '", +"CC99FF":"' . mce_escape( __('Plum') ) . '", +"FFFFFF":"' . mce_escape( __('White') ) . '" +}, contextmenu:{ align:"' . mce_escape( /* translators: alignment */ __('Alignment') ) . '", left:"' . mce_escape( /* translators: alignment */ __('Left') ) . '", @@ -113,7 +147,9 @@ desc:"' . mce_escape( __('Edit CSS Style') ) . '" paste:{ paste_text_desc:"' . mce_escape( __('Paste as Plain Text') ) . '", paste_word_desc:"' . mce_escape( __('Paste from Word') ) . '", -selectall_desc:"' . mce_escape( __('Select All') ) . '" +selectall_desc:"' . mce_escape( __('Select All') ) . '", +plaintext_mode_sticky:"' . mce_escape( __('Paste is now in plain text mode. Click again to toggle back to regular paste mode. After you paste something you will be returned to regular paste mode.') ) . '", +plaintext_mode:"' . mce_escape( __('Paste is now in plain text mode. Click again to toggle back to regular paste mode.') ) . '" }, paste_dlg:{ text_title:"' . mce_escape( __('Use CTRL+V on your keyboard to paste the text into the window.') ) . '", @@ -150,8 +186,6 @@ desc:"' . mce_escape( __('Toggle fullscreen mode') ) . ' (Alt+Shift+G)" }, media:{ desc:"' . mce_escape( __('Insert / edit embedded media') ) . '", -delta_width:"' . /* translators: Extra width for the media popup in pixels */ mce_escape( _x('0', 'media popup width') ) . '", -delta_height:"' . /* translators: Extra height for the media popup in pixels */ mce_escape( _x('0', 'media popup height') ) . '", edit:"' . mce_escape( __('Edit embedded media') ) . '" }, fullpage:{ @@ -172,11 +206,31 @@ langs:"' . mce_escape( __('Languages') ) . '", wait:"' . mce_escape( __('Please wait...') ) . '", sug:"' . mce_escape( __('Suggestions') ) . '", no_sug:"' . mce_escape( __('No suggestions') ) . '", -no_mpell:"' . mce_escape( __('No misspellings found.') ) . '" +no_mpell:"' . mce_escape( __('No misspellings found.') ) . '", +learn_word:"' . mce_escape( __('Learn word') ) . '" }, pagebreak:{ desc:"' . mce_escape( __('Insert Page Break') ) . '" -}}}); +}, +advlist:{ +types:"' . mce_escape( __('Types') ) . '", +def:"' . mce_escape( __('Default') ) . '", +lower_alpha:"' . mce_escape( __('Lower alpha') ) . '", +lower_greek:"' . mce_escape( __('Lower greek') ) . '", +lower_roman:"' . mce_escape( __('Lower roman') ) . '", +upper_alpha:"' . mce_escape( __('Upper alpha') ) . '", +upper_roman:"' . mce_escape( __('Upper roman') ) . '", +circle:"' . mce_escape( __('Circle') ) . '", +disc:"' . mce_escape( __('Disc') ) . '", +square:"' . mce_escape( __('Square') ) . '" +}, +aria:{ +rich_text_area:"' . mce_escape( __('Rich Text Area') ) . '" +}, +wordcount:{ +words:"' . mce_escape( __('Words:') ) . ' " +} +}}); tinyMCE.addI18n("' . $language . '.advanced",{ style_select:"' . mce_escape( /* translators: TinyMCE font styles */ _x('Styles', 'TinyMCE font styles') ) . '", @@ -213,12 +267,8 @@ indent_desc:"' . mce_escape( __('Indent') ) . '", undo_desc:"' . mce_escape( __('Undo') ) . ' (Ctrl+Z)", redo_desc:"' . mce_escape( __('Redo') ) . ' (Ctrl+Y)", link_desc:"' . mce_escape( __('Insert/edit link') ) . ' (Alt+Shift+A)", -link_delta_width:"' . /* translators: Extra width for the link popup in pixels */ mce_escape( _x('0', 'link popup width') ) . '", -link_delta_height:"' . /* translators: Extra height for the link popup in pixels */ mce_escape( _x('0', 'link popup height') ) . '", unlink_desc:"' . mce_escape( __('Unlink') ) . ' (Alt+Shift+S)", image_desc:"' . mce_escape( __('Insert/edit image') ) . ' (Alt+Shift+M)", -image_delta_width:"' . /* translators: Extra width for the image popup in pixels */ mce_escape( _x('0', 'image popup width') ) . '", -image_delta_height:"' . /* translators: Extra height for the image popup in pixels */ mce_escape( _x('0', 'image popup height') ) . '", cleanup_desc:"' . mce_escape( __('Cleanup messy code') ) . '", code_desc:"' . mce_escape( __('Edit HTML Source') ) . '", sub_desc:"' . mce_escape( __('Subscript') ) . '", @@ -242,8 +292,10 @@ path:"' . mce_escape( __('Path') ) . '", newdocument:"' . mce_escape( __('Are you sure you want to clear all contents?') ) . '", toolbar_focus:"' . mce_escape( __('Jump to tool buttons - Alt+Q, Jump to editor - Alt-Z, Jump to element path - Alt-X') ) . '", more_colors:"' . mce_escape( __('More colors') ) . '", -colorpicker_delta_width:"' . /* translators: Extra width for the colorpicker popup in pixels */ mce_escape( _x('0', 'colorpicker popup width') ) . '", -colorpicker_delta_height:"' . /* translators: Extra height for the colorpicker popup in pixels */ mce_escape( _x('0', 'colorpicker popup height') ) . '" +shortcuts_desc:"' . mce_escape( __('Accessibility Help') ) . '", +help_shortcut:" ' . mce_escape( __('Press ALT F10 for toolbar. Press ALT 0 for help.') ) . '", +rich_text_area:"' . mce_escape( __('Rich Text Area') ) . '", +toolbar:"' . mce_escape( __('Toolbar') ) . '" }); tinyMCE.addI18n("' . $language . '.advanced_dlg",{ @@ -268,7 +320,7 @@ colorpicker_palette_title:"' . mce_escape( __('Palette colors') ) . '", colorpicker_named_tab:"' . mce_escape( __('Named') ) . '", colorpicker_named_title:"' . mce_escape( __('Named colors') ) . '", colorpicker_color:"' . mce_escape( __('Color:') ) . '", -colorpicker_name:"' . mce_escape( __('Name:') ) . '", +colorpicker_name:"' . mce_escape( _x('Name:', 'html attribute') ) . '", charmap_title:"' . mce_escape( __('Select custom character') ) . '", image_title:"' . mce_escape( __('Insert/edit image') ) . '", image_src:"' . mce_escape( __('Image URL') ) . '", @@ -295,7 +347,9 @@ link_target_blank:"' . mce_escape( __('Open link in a new window') ) . '", link_titlefield:"' . mce_escape( __('Title') ) . '", link_is_email:"' . mce_escape( __('The URL you entered seems to be an email address, do you want to add the required mailto: prefix?') ) . '", link_is_external:"' . mce_escape( __('The URL you entered seems to external link, do you want to add the required http:// prefix?') ) . '", -link_list:"' . mce_escape( __('Link list') ) . '" +link_list:"' . mce_escape( __('Link list') ) . '", +accessibility_help:"' . mce_escape( __('Accessibility Help') ) . '", +accessibility_usage_title:"' . mce_escape( __('General Usage') ) . '" }); tinyMCE.addI18n("' . $language . '.media_dlg",{ @@ -309,7 +363,7 @@ preview:"' . mce_escape( __('Preview') ) . '", constrain_proportions:"' . mce_escape( __('Constrain proportions') ) . '", type:"' . mce_escape( __('Type') ) . '", id:"' . mce_escape( __('Id') ) . '", -name:"' . mce_escape( __('Name') ) . '", +name:"' . mce_escape( _x('Name', 'html attribute') ) . '", class_name:"' . mce_escape( __('Class') ) . '", vspace:"' . mce_escape( __('V-Space') ) . '", hspace:"' . mce_escape( __('H-Space') ) . '", @@ -399,7 +453,13 @@ flv_autostart:"' . mce_escape( __('Auto start') ) . '", flv_loop:"' . mce_escape( __('Loop') ) . '", flv_showscalemodes:"' . mce_escape( __('Show scale modes') ) . '", flv_smoothvideo:"' . mce_escape( __('Smooth video') ) . '", -flv_jscallback:"' . mce_escape( __('JS Callback') ) . '" +flv_jscallback:"' . mce_escape( __('JS Callback') ) . '", +html5_video_options:"' . mce_escape( __('HTML5 Video Options') ) . '", +altsource1:"' . mce_escape( __('Alternative source 1') ) . '", +altsource2:"' . mce_escape( __('Alternative source 2') ) . '", +preload:"' . mce_escape( __('Preload') ) . '", +poster:"' . mce_escape( __('Poster') ) . '", +source:"' . mce_escape( __('Source') ) . '" }); tinyMCE.addI18n("' . $language . '.wordpress",{ diff --git a/wp-includes/js/tinymce/license.txt b/wp-includes/js/tinymce/license.txt index 60d6d4c8f..1837b0acb 100644 --- a/wp-includes/js/tinymce/license.txt +++ b/wp-includes/js/tinymce/license.txt @@ -1,504 +1,504 @@ - GNU LESSER GENERAL PUBLIC LICENSE - Version 2.1, February 1999 - - Copyright (C) 1991, 1999 Free Software Foundation, Inc. - 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - -[This is the first released version of the Lesser GPL. It also counts - as the successor of the GNU Library Public License, version 2, hence - the version number 2.1.] - - Preamble - - The licenses for most software are designed to take away your -freedom to share and change it. By contrast, the GNU General Public -Licenses are intended to guarantee your freedom to share and change -free software--to make sure the software is free for all its users. - - This license, the Lesser General Public License, applies to some -specially designated software packages--typically libraries--of the -Free Software Foundation and other authors who decide to use it. You -can use it too, but we suggest you first think carefully about whether -this license or the ordinary General Public License is the better -strategy to use in any particular case, based on the explanations below. - - When we speak of free software, we are referring to freedom of use, -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 and use pieces of -it in new free programs; and that you are informed that you can do -these things. - - To protect your rights, we need to make restrictions that forbid -distributors to deny you these rights or to ask you to surrender these -rights. These restrictions translate to certain responsibilities for -you if you distribute copies of the library or if you modify it. - - For example, if you distribute copies of the library, whether gratis -or for a fee, you must give the recipients all the rights that we gave -you. You must make sure that they, too, receive or can get the source -code. If you link other code with the library, you must provide -complete object files to the recipients, so that they can relink them -with the library after making changes to the library and recompiling -it. And you must show them these terms so they know their rights. - - We protect your rights with a two-step method: (1) we copyright the -library, and (2) we offer you this license, which gives you legal -permission to copy, distribute and/or modify the library. - - To protect each distributor, we want to make it very clear that -there is no warranty for the free library. Also, if the library is -modified by someone else and passed on, the recipients should know -that what they have is not the original version, so that the original -author's reputation will not be affected by problems that might be -introduced by others. - - Finally, software patents pose a constant threat to the existence of -any free program. We wish to make sure that a company cannot -effectively restrict the users of a free program by obtaining a -restrictive license from a patent holder. Therefore, we insist that -any patent license obtained for a version of the library must be -consistent with the full freedom of use specified in this license. - - Most GNU software, including some libraries, is covered by the -ordinary GNU General Public License. This license, the GNU Lesser -General Public License, applies to certain designated libraries, and -is quite different from the ordinary General Public License. We use -this license for certain libraries in order to permit linking those -libraries into non-free programs. - - When a program is linked with a library, whether statically or using -a shared library, the combination of the two is legally speaking a -combined work, a derivative of the original library. The ordinary -General Public License therefore permits such linking only if the -entire combination fits its criteria of freedom. The Lesser General -Public License permits more lax criteria for linking other code with -the library. - - We call this license the "Lesser" General Public License because it -does Less to protect the user's freedom than the ordinary General -Public License. It also provides other free software developers Less -of an advantage over competing non-free programs. These disadvantages -are the reason we use the ordinary General Public License for many -libraries. However, the Lesser license provides advantages in certain -special circumstances. - - For example, on rare occasions, there may be a special need to -encourage the widest possible use of a certain library, so that it becomes -a de-facto standard. To achieve this, non-free programs must be -allowed to use the library. A more frequent case is that a free -library does the same job as widely used non-free libraries. In this -case, there is little to gain by limiting the free library to free -software only, so we use the Lesser General Public License. - - In other cases, permission to use a particular library in non-free -programs enables a greater number of people to use a large body of -free software. For example, permission to use the GNU C Library in -non-free programs enables many more people to use the whole GNU -operating system, as well as its variant, the GNU/Linux operating -system. - - Although the Lesser General Public License is Less protective of the -users' freedom, it does ensure that the user of a program that is -linked with the Library has the freedom and the wherewithal to run -that program using a modified version of the Library. - - The precise terms and conditions for copying, distribution and -modification follow. Pay close attention to the difference between a -"work based on the library" and a "work that uses the library". The -former contains code derived from the library, whereas the latter must -be combined with the library in order to run. - - GNU LESSER GENERAL PUBLIC LICENSE - TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION - - 0. This License Agreement applies to any software library or other -program which contains a notice placed by the copyright holder or -other authorized party saying it may be distributed under the terms of -this Lesser General Public License (also called "this License"). -Each licensee is addressed as "you". - - A "library" means a collection of software functions and/or data -prepared so as to be conveniently linked with application programs -(which use some of those functions and data) to form executables. - - The "Library", below, refers to any such software library or work -which has been distributed under these terms. A "work based on the -Library" means either the Library or any derivative work under -copyright law: that is to say, a work containing the Library or a -portion of it, either verbatim or with modifications and/or translated -straightforwardly into another language. (Hereinafter, translation is -included without limitation in the term "modification".) - - "Source code" for a work means the preferred form of the work for -making modifications to it. For a library, 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 library. - - Activities other than copying, distribution and modification are not -covered by this License; they are outside its scope. The act of -running a program using the Library is not restricted, and output from -such a program is covered only if its contents constitute a work based -on the Library (independent of the use of the Library in a tool for -writing it). Whether that is true depends on what the Library does -and what the program that uses the Library does. - - 1. You may copy and distribute verbatim copies of the Library's -complete 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 distribute a copy of this License along with the -Library. - - 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 Library or any portion -of it, thus forming a work based on the Library, 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) The modified work must itself be a software library. - - b) You must cause the files modified to carry prominent notices - stating that you changed the files and the date of any change. - - c) You must cause the whole of the work to be licensed at no - charge to all third parties under the terms of this License. - - d) If a facility in the modified Library refers to a function or a - table of data to be supplied by an application program that uses - the facility, other than as an argument passed when the facility - is invoked, then you must make a good faith effort to ensure that, - in the event an application does not supply such function or - table, the facility still operates, and performs whatever part of - its purpose remains meaningful. - - (For example, a function in a library to compute square roots has - a purpose that is entirely well-defined independent of the - application. Therefore, Subsection 2d requires that any - application-supplied function or table used by this function must - be optional: if the application does not supply it, the square - root function must still compute square roots.) - -These requirements apply to the modified work as a whole. If -identifiable sections of that work are not derived from the Library, -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 Library, 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 Library. - -In addition, mere aggregation of another work not based on the Library -with the Library (or with a work based on the Library) on a volume of -a storage or distribution medium does not bring the other work under -the scope of this License. - - 3. You may opt to apply the terms of the ordinary GNU General Public -License instead of this License to a given copy of the Library. To do -this, you must alter all the notices that refer to this License, so -that they refer to the ordinary GNU General Public License, version 2, -instead of to this License. (If a newer version than version 2 of the -ordinary GNU General Public License has appeared, then you can specify -that version instead if you wish.) Do not make any other change in -these notices. - - Once this change is made in a given copy, it is irreversible for -that copy, so the ordinary GNU General Public License applies to all -subsequent copies and derivative works made from that copy. - - This option is useful when you wish to copy part of the code of -the Library into a program that is not a library. - - 4. You may copy and distribute the Library (or a portion or -derivative of it, under Section 2) in object code or executable form -under the terms of Sections 1 and 2 above provided that you 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. - - If distribution of 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 satisfies the requirement to -distribute the source code, even though third parties are not -compelled to copy the source along with the object code. - - 5. A program that contains no derivative of any portion of the -Library, but is designed to work with the Library by being compiled or -linked with it, is called a "work that uses the Library". Such a -work, in isolation, is not a derivative work of the Library, and -therefore falls outside the scope of this License. - - However, linking a "work that uses the Library" with the Library -creates an executable that is a derivative of the Library (because it -contains portions of the Library), rather than a "work that uses the -library". The executable is therefore covered by this License. -Section 6 states terms for distribution of such executables. - - When a "work that uses the Library" uses material from a header file -that is part of the Library, the object code for the work may be a -derivative work of the Library even though the source code is not. -Whether this is true is especially significant if the work can be -linked without the Library, or if the work is itself a library. The -threshold for this to be true is not precisely defined by law. - - If such an object file uses only numerical parameters, data -structure layouts and accessors, and small macros and small inline -functions (ten lines or less in length), then the use of the object -file is unrestricted, regardless of whether it is legally a derivative -work. (Executables containing this object code plus portions of the -Library will still fall under Section 6.) - - Otherwise, if the work is a derivative of the Library, you may -distribute the object code for the work under the terms of Section 6. -Any executables containing that work also fall under Section 6, -whether or not they are linked directly with the Library itself. - - 6. As an exception to the Sections above, you may also combine or -link a "work that uses the Library" with the Library to produce a -work containing portions of the Library, and distribute that work -under terms of your choice, provided that the terms permit -modification of the work for the customer's own use and reverse -engineering for debugging such modifications. - - You must give prominent notice with each copy of the work that the -Library is used in it and that the Library and its use are covered by -this License. You must supply a copy of this License. If the work -during execution displays copyright notices, you must include the -copyright notice for the Library among them, as well as a reference -directing the user to the copy of this License. Also, you must do one -of these things: - - a) Accompany the work with the complete corresponding - machine-readable source code for the Library including whatever - changes were used in the work (which must be distributed under - Sections 1 and 2 above); and, if the work is an executable linked - with the Library, with the complete machine-readable "work that - uses the Library", as object code and/or source code, so that the - user can modify the Library and then relink to produce a modified - executable containing the modified Library. (It is understood - that the user who changes the contents of definitions files in the - Library will not necessarily be able to recompile the application - to use the modified definitions.) - - b) Use a suitable shared library mechanism for linking with the - Library. A suitable mechanism is one that (1) uses at run time a - copy of the library already present on the user's computer system, - rather than copying library functions into the executable, and (2) - will operate properly with a modified version of the library, if - the user installs one, as long as the modified version is - interface-compatible with the version that the work was made with. - - c) Accompany the work with a written offer, valid for at - least three years, to give the same user the materials - specified in Subsection 6a, above, for a charge no more - than the cost of performing this distribution. - - d) If distribution of the work is made by offering access to copy - from a designated place, offer equivalent access to copy the above - specified materials from the same place. - - e) Verify that the user has already received a copy of these - materials or that you have already sent this user a copy. - - For an executable, the required form of the "work that uses the -Library" must include any data and utility programs needed for -reproducing the executable from it. However, as a special exception, -the materials to be 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. - - It may happen that this requirement contradicts the license -restrictions of other proprietary libraries that do not normally -accompany the operating system. Such a contradiction means you cannot -use both them and the Library together in an executable that you -distribute. - - 7. You may place library facilities that are a work based on the -Library side-by-side in a single library together with other library -facilities not covered by this License, and distribute such a combined -library, provided that the separate distribution of the work based on -the Library and of the other library facilities is otherwise -permitted, and provided that you do these two things: - - a) Accompany the combined library with a copy of the same work - based on the Library, uncombined with any other library - facilities. This must be distributed under the terms of the - Sections above. - - b) Give prominent notice with the combined library of the fact - that part of it is a work based on the Library, and explaining - where to find the accompanying uncombined form of the same work. - - 8. You may not copy, modify, sublicense, link with, or distribute -the Library except as expressly provided under this License. Any -attempt otherwise to copy, modify, sublicense, link with, or -distribute the Library 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. - - 9. 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 Library or its derivative works. These actions are -prohibited by law if you do not accept this License. Therefore, by -modifying or distributing the Library (or any work based on the -Library), you indicate your acceptance of this License to do so, and -all its terms and conditions for copying, distributing or modifying -the Library or works based on it. - - 10. Each time you redistribute the Library (or any work based on the -Library), the recipient automatically receives a license from the -original licensor to copy, distribute, link with or modify the Library -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 with -this License. - - 11. 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 Library at all. For example, if a patent -license would not permit royalty-free redistribution of the Library 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 Library. - -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. - - 12. If the distribution and/or use of the Library is restricted in -certain countries either by patents or by copyrighted interfaces, the -original copyright holder who places the Library 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. - - 13. The Free Software Foundation may publish revised and/or new -versions of the Lesser 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 Library -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 Library does not specify a -license version number, you may choose any version ever published by -the Free Software Foundation. - - 14. If you wish to incorporate parts of the Library into other free -programs whose distribution conditions are incompatible with these, -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 - - 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO -WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. -EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR -OTHER PARTIES PROVIDE THE LIBRARY "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 -LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME -THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. - - 16. 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 LIBRARY 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 -LIBRARY (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 LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF -SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGES. - - END OF TERMS AND CONDITIONS - - How to Apply These Terms to Your New Libraries - - If you develop a new library, and you want it to be of the greatest -possible use to the public, we recommend making it free software that -everyone can redistribute and change. You can do so by permitting -redistribution under these terms (or, alternatively, under the terms of the -ordinary General Public License). - - To apply these terms, attach the following notices to the library. It is -safest to attach them to the start of each source file to most effectively -convey the exclusion of warranty; and each file should have at least the -"copyright" line and a pointer to where the full notice is found. - - <one line to give the library's name and a brief idea of what it does.> - Copyright (C) <year> <name of author> - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - -Also add information on how to contact you by electronic and paper mail. - -You should also get your employer (if you work as a programmer) or your -school, if any, to sign a "copyright disclaimer" for the library, if -necessary. Here is a sample; alter the names: - - Yoyodyne, Inc., hereby disclaims all copyright interest in the - library `Frob' (a library for tweaking knobs) written by James Random Hacker. - - <signature of Ty Coon>, 1 April 1990 - Ty Coon, President of Vice - -That's all there is to it! - - + GNU LESSER GENERAL PUBLIC LICENSE + Version 2.1, February 1999 + + Copyright (C) 1991, 1999 Free Software Foundation, Inc. + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + +[This is the first released version of the Lesser GPL. It also counts + as the successor of the GNU Library Public License, version 2, hence + the version number 2.1.] + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +Licenses are intended to guarantee your freedom to share and change +free software--to make sure the software is free for all its users. + + This license, the Lesser General Public License, applies to some +specially designated software packages--typically libraries--of the +Free Software Foundation and other authors who decide to use it. You +can use it too, but we suggest you first think carefully about whether +this license or the ordinary General Public License is the better +strategy to use in any particular case, based on the explanations below. + + When we speak of free software, we are referring to freedom of use, +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 and use pieces of +it in new free programs; and that you are informed that you can do +these things. + + To protect your rights, we need to make restrictions that forbid +distributors to deny you these rights or to ask you to surrender these +rights. These restrictions translate to certain responsibilities for +you if you distribute copies of the library or if you modify it. + + For example, if you distribute copies of the library, whether gratis +or for a fee, you must give the recipients all the rights that we gave +you. You must make sure that they, too, receive or can get the source +code. If you link other code with the library, you must provide +complete object files to the recipients, so that they can relink them +with the library after making changes to the library and recompiling +it. And you must show them these terms so they know their rights. + + We protect your rights with a two-step method: (1) we copyright the +library, and (2) we offer you this license, which gives you legal +permission to copy, distribute and/or modify the library. + + To protect each distributor, we want to make it very clear that +there is no warranty for the free library. Also, if the library is +modified by someone else and passed on, the recipients should know +that what they have is not the original version, so that the original +author's reputation will not be affected by problems that might be +introduced by others. + + Finally, software patents pose a constant threat to the existence of +any free program. We wish to make sure that a company cannot +effectively restrict the users of a free program by obtaining a +restrictive license from a patent holder. Therefore, we insist that +any patent license obtained for a version of the library must be +consistent with the full freedom of use specified in this license. + + Most GNU software, including some libraries, is covered by the +ordinary GNU General Public License. This license, the GNU Lesser +General Public License, applies to certain designated libraries, and +is quite different from the ordinary General Public License. We use +this license for certain libraries in order to permit linking those +libraries into non-free programs. + + When a program is linked with a library, whether statically or using +a shared library, the combination of the two is legally speaking a +combined work, a derivative of the original library. The ordinary +General Public License therefore permits such linking only if the +entire combination fits its criteria of freedom. The Lesser General +Public License permits more lax criteria for linking other code with +the library. + + We call this license the "Lesser" General Public License because it +does Less to protect the user's freedom than the ordinary General +Public License. It also provides other free software developers Less +of an advantage over competing non-free programs. These disadvantages +are the reason we use the ordinary General Public License for many +libraries. However, the Lesser license provides advantages in certain +special circumstances. + + For example, on rare occasions, there may be a special need to +encourage the widest possible use of a certain library, so that it becomes +a de-facto standard. To achieve this, non-free programs must be +allowed to use the library. A more frequent case is that a free +library does the same job as widely used non-free libraries. In this +case, there is little to gain by limiting the free library to free +software only, so we use the Lesser General Public License. + + In other cases, permission to use a particular library in non-free +programs enables a greater number of people to use a large body of +free software. For example, permission to use the GNU C Library in +non-free programs enables many more people to use the whole GNU +operating system, as well as its variant, the GNU/Linux operating +system. + + Although the Lesser General Public License is Less protective of the +users' freedom, it does ensure that the user of a program that is +linked with the Library has the freedom and the wherewithal to run +that program using a modified version of the Library. + + The precise terms and conditions for copying, distribution and +modification follow. Pay close attention to the difference between a +"work based on the library" and a "work that uses the library". The +former contains code derived from the library, whereas the latter must +be combined with the library in order to run. + + GNU LESSER GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License Agreement applies to any software library or other +program which contains a notice placed by the copyright holder or +other authorized party saying it may be distributed under the terms of +this Lesser General Public License (also called "this License"). +Each licensee is addressed as "you". + + A "library" means a collection of software functions and/or data +prepared so as to be conveniently linked with application programs +(which use some of those functions and data) to form executables. + + The "Library", below, refers to any such software library or work +which has been distributed under these terms. A "work based on the +Library" means either the Library or any derivative work under +copyright law: that is to say, a work containing the Library or a +portion of it, either verbatim or with modifications and/or translated +straightforwardly into another language. (Hereinafter, translation is +included without limitation in the term "modification".) + + "Source code" for a work means the preferred form of the work for +making modifications to it. For a library, 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 library. + + Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running a program using the Library is not restricted, and output from +such a program is covered only if its contents constitute a work based +on the Library (independent of the use of the Library in a tool for +writing it). Whether that is true depends on what the Library does +and what the program that uses the Library does. + + 1. You may copy and distribute verbatim copies of the Library's +complete 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 distribute a copy of this License along with the +Library. + + 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 Library or any portion +of it, thus forming a work based on the Library, 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) The modified work must itself be a software library. + + b) You must cause the files modified to carry prominent notices + stating that you changed the files and the date of any change. + + c) You must cause the whole of the work to be licensed at no + charge to all third parties under the terms of this License. + + d) If a facility in the modified Library refers to a function or a + table of data to be supplied by an application program that uses + the facility, other than as an argument passed when the facility + is invoked, then you must make a good faith effort to ensure that, + in the event an application does not supply such function or + table, the facility still operates, and performs whatever part of + its purpose remains meaningful. + + (For example, a function in a library to compute square roots has + a purpose that is entirely well-defined independent of the + application. Therefore, Subsection 2d requires that any + application-supplied function or table used by this function must + be optional: if the application does not supply it, the square + root function must still compute square roots.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Library, +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 Library, 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 Library. + +In addition, mere aggregation of another work not based on the Library +with the Library (or with a work based on the Library) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may opt to apply the terms of the ordinary GNU General Public +License instead of this License to a given copy of the Library. To do +this, you must alter all the notices that refer to this License, so +that they refer to the ordinary GNU General Public License, version 2, +instead of to this License. (If a newer version than version 2 of the +ordinary GNU General Public License has appeared, then you can specify +that version instead if you wish.) Do not make any other change in +these notices. + + Once this change is made in a given copy, it is irreversible for +that copy, so the ordinary GNU General Public License applies to all +subsequent copies and derivative works made from that copy. + + This option is useful when you wish to copy part of the code of +the Library into a program that is not a library. + + 4. You may copy and distribute the Library (or a portion or +derivative of it, under Section 2) in object code or executable form +under the terms of Sections 1 and 2 above provided that you 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. + + If distribution of 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 satisfies the requirement to +distribute the source code, even though third parties are not +compelled to copy the source along with the object code. + + 5. A program that contains no derivative of any portion of the +Library, but is designed to work with the Library by being compiled or +linked with it, is called a "work that uses the Library". Such a +work, in isolation, is not a derivative work of the Library, and +therefore falls outside the scope of this License. + + However, linking a "work that uses the Library" with the Library +creates an executable that is a derivative of the Library (because it +contains portions of the Library), rather than a "work that uses the +library". The executable is therefore covered by this License. +Section 6 states terms for distribution of such executables. + + When a "work that uses the Library" uses material from a header file +that is part of the Library, the object code for the work may be a +derivative work of the Library even though the source code is not. +Whether this is true is especially significant if the work can be +linked without the Library, or if the work is itself a library. The +threshold for this to be true is not precisely defined by law. + + If such an object file uses only numerical parameters, data +structure layouts and accessors, and small macros and small inline +functions (ten lines or less in length), then the use of the object +file is unrestricted, regardless of whether it is legally a derivative +work. (Executables containing this object code plus portions of the +Library will still fall under Section 6.) + + Otherwise, if the work is a derivative of the Library, you may +distribute the object code for the work under the terms of Section 6. +Any executables containing that work also fall under Section 6, +whether or not they are linked directly with the Library itself. + + 6. As an exception to the Sections above, you may also combine or +link a "work that uses the Library" with the Library to produce a +work containing portions of the Library, and distribute that work +under terms of your choice, provided that the terms permit +modification of the work for the customer's own use and reverse +engineering for debugging such modifications. + + You must give prominent notice with each copy of the work that the +Library is used in it and that the Library and its use are covered by +this License. You must supply a copy of this License. If the work +during execution displays copyright notices, you must include the +copyright notice for the Library among them, as well as a reference +directing the user to the copy of this License. Also, you must do one +of these things: + + a) Accompany the work with the complete corresponding + machine-readable source code for the Library including whatever + changes were used in the work (which must be distributed under + Sections 1 and 2 above); and, if the work is an executable linked + with the Library, with the complete machine-readable "work that + uses the Library", as object code and/or source code, so that the + user can modify the Library and then relink to produce a modified + executable containing the modified Library. (It is understood + that the user who changes the contents of definitions files in the + Library will not necessarily be able to recompile the application + to use the modified definitions.) + + b) Use a suitable shared library mechanism for linking with the + Library. A suitable mechanism is one that (1) uses at run time a + copy of the library already present on the user's computer system, + rather than copying library functions into the executable, and (2) + will operate properly with a modified version of the library, if + the user installs one, as long as the modified version is + interface-compatible with the version that the work was made with. + + c) Accompany the work with a written offer, valid for at + least three years, to give the same user the materials + specified in Subsection 6a, above, for a charge no more + than the cost of performing this distribution. + + d) If distribution of the work is made by offering access to copy + from a designated place, offer equivalent access to copy the above + specified materials from the same place. + + e) Verify that the user has already received a copy of these + materials or that you have already sent this user a copy. + + For an executable, the required form of the "work that uses the +Library" must include any data and utility programs needed for +reproducing the executable from it. However, as a special exception, +the materials to be 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. + + It may happen that this requirement contradicts the license +restrictions of other proprietary libraries that do not normally +accompany the operating system. Such a contradiction means you cannot +use both them and the Library together in an executable that you +distribute. + + 7. You may place library facilities that are a work based on the +Library side-by-side in a single library together with other library +facilities not covered by this License, and distribute such a combined +library, provided that the separate distribution of the work based on +the Library and of the other library facilities is otherwise +permitted, and provided that you do these two things: + + a) Accompany the combined library with a copy of the same work + based on the Library, uncombined with any other library + facilities. This must be distributed under the terms of the + Sections above. + + b) Give prominent notice with the combined library of the fact + that part of it is a work based on the Library, and explaining + where to find the accompanying uncombined form of the same work. + + 8. You may not copy, modify, sublicense, link with, or distribute +the Library except as expressly provided under this License. Any +attempt otherwise to copy, modify, sublicense, link with, or +distribute the Library 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. + + 9. 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 Library or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Library (or any work based on the +Library), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Library or works based on it. + + 10. Each time you redistribute the Library (or any work based on the +Library), the recipient automatically receives a license from the +original licensor to copy, distribute, link with or modify the Library +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 with +this License. + + 11. 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 Library at all. For example, if a patent +license would not permit royalty-free redistribution of the Library 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 Library. + +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. + + 12. If the distribution and/or use of the Library is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Library 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. + + 13. The Free Software Foundation may publish revised and/or new +versions of the Lesser 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 Library +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 Library does not specify a +license version number, you may choose any version ever published by +the Free Software Foundation. + + 14. If you wish to incorporate parts of the Library into other free +programs whose distribution conditions are incompatible with these, +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 + + 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO +WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. +EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR +OTHER PARTIES PROVIDE THE LIBRARY "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 +LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME +THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. 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 LIBRARY 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 +LIBRARY (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 LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF +SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGES. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Libraries + + If you develop a new library, and you want it to be of the greatest +possible use to the public, we recommend making it free software that +everyone can redistribute and change. You can do so by permitting +redistribution under these terms (or, alternatively, under the terms of the +ordinary General Public License). + + To apply these terms, attach the following notices to the library. It is +safest to attach them to the start of each source file to most effectively +convey the exclusion of warranty; and each file should have at least the +"copyright" line and a pointer to where the full notice is found. + + <one line to give the library's name and a brief idea of what it does.> + Copyright (C) <year> <name of author> + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + +Also add information on how to contact you by electronic and paper mail. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the library, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the + library `Frob' (a library for tweaking knobs) written by James Random Hacker. + + <signature of Ty Coon>, 1 April 1990 + Ty Coon, President of Vice + +That's all there is to it! + + diff --git a/wp-includes/js/tinymce/plugins/fullscreen/editor_plugin.js b/wp-includes/js/tinymce/plugins/fullscreen/editor_plugin.js index 4437bd266..6eae3ec84 100644 --- a/wp-includes/js/tinymce/plugins/fullscreen/editor_plugin.js +++ b/wp-includes/js/tinymce/plugins/fullscreen/editor_plugin.js @@ -1 +1 @@ -(function(){var a=tinymce.DOM;tinymce.create("tinymce.plugins.FullScreenPlugin",{init:function(c,d){var e=this,f={},b;e.editor=c;c.addCommand("mceFullScreen",function(){var h,i=a.doc.documentElement;if(c.getParam("fullscreen_is_enabled")){if(c.getParam("fullscreen_new_window")){closeFullscreen()}else{a.win.setTimeout(function(){tinymce.dom.Event.remove(a.win,"resize",e.resizeFunc);tinyMCE.get(c.getParam("fullscreen_editor_id")).setContent(c.getContent({format:"raw"}),{format:"raw"});tinyMCE.remove(c);a.remove("mce_fullscreen_container");i.style.overflow=c.getParam("fullscreen_html_overflow");a.setStyle(a.doc.body,"overflow",c.getParam("fullscreen_overflow"));a.win.scrollTo(c.getParam("fullscreen_scrollx"),c.getParam("fullscreen_scrolly"));tinyMCE.settings=tinyMCE.oldSettings},10)}return}if(c.getParam("fullscreen_new_window")){h=a.win.open(d+"/fullscreen.htm","mceFullScreenPopup","fullscreen=yes,menubar=no,toolbar=no,scrollbars=no,resizable=yes,left=0,top=0,width="+screen.availWidth+",height="+screen.availHeight);try{h.resizeTo(screen.availWidth,screen.availHeight)}catch(g){}}else{tinyMCE.oldSettings=tinyMCE.settings;f.fullscreen_overflow=a.getStyle(a.doc.body,"overflow",1)||"auto";f.fullscreen_html_overflow=a.getStyle(i,"overflow",1);b=a.getViewPort();f.fullscreen_scrollx=b.x;f.fullscreen_scrolly=b.y;if(tinymce.isOpera&&f.fullscreen_overflow=="visible"){f.fullscreen_overflow="auto"}if(tinymce.isIE&&f.fullscreen_overflow=="scroll"){f.fullscreen_overflow="auto"}if(tinymce.isIE&&(f.fullscreen_html_overflow=="visible"||f.fullscreen_html_overflow=="scroll")){f.fullscreen_html_overflow="auto"}if(f.fullscreen_overflow=="0px"){f.fullscreen_overflow=""}a.setStyle(a.doc.body,"overflow","hidden");i.style.overflow="hidden";b=a.getViewPort();a.win.scrollTo(0,0);if(tinymce.isIE){b.h-=1}n=a.add(a.doc.body,"div",{id:"mce_fullscreen_container",style:"position:"+(tinymce.isIE6||(tinymce.isIE&&!a.boxModel)?"absolute":"fixed")+";top:0;left:0;width:"+b.w+"px;height:"+b.h+"px;z-index:200000;"});a.add(n,"div",{id:"mce_fullscreen"});tinymce.each(c.settings,function(j,k){f[k]=j});f.id="mce_fullscreen";f.width=n.clientWidth;f.height=n.clientHeight-15;f.fullscreen_is_enabled=true;f.fullscreen_editor_id=c.id;f.theme_advanced_resizing=false;f.save_onsavecallback=function(){c.setContent(tinyMCE.get(f.id).getContent({format:"raw"}),{format:"raw"});c.execCommand("mceSave")};tinymce.each(c.getParam("fullscreen_settings"),function(l,j){f[j]=l});if(f.theme_advanced_toolbar_location==="external"){f.theme_advanced_toolbar_location="top"}e.fullscreenEditor=new tinymce.Editor("mce_fullscreen",f);e.fullscreenEditor.onInit.add(function(){e.fullscreenEditor.setContent(c.getContent());e.fullscreenEditor.focus()});e.fullscreenEditor.render();e.fullscreenElement=new tinymce.dom.Element("mce_fullscreen_container");e.fullscreenElement.update();e.resizeFunc=tinymce.dom.Event.add(a.win,"resize",function(){var m=tinymce.DOM.getViewPort(),k=e.fullscreenEditor,j,l;j=k.dom.getSize(k.getContainer().firstChild);l=k.dom.getSize(k.getContainer().getElementsByTagName("iframe")[0]);k.theme.resizeTo(m.w-j.w+l.w,m.h-j.h+l.h)})}});c.addButton("fullscreen",{title:"fullscreen.desc",cmd:"mceFullScreen"});c.onNodeChange.add(function(h,g){g.setActive("fullscreen",h.getParam("fullscreen_is_enabled"))})},getInfo:function(){return{longname:"Fullscreen",author:"Moxiecode Systems AB",authorurl:"http://tinymce.moxiecode.com",infourl:"http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/fullscreen",version:tinymce.majorVersion+"."+tinymce.minorVersion}}});tinymce.PluginManager.add("fullscreen",tinymce.plugins.FullScreenPlugin)})(); \ No newline at end of file +(function(){var a=tinymce.DOM;tinymce.create("tinymce.plugins.FullScreenPlugin",{init:function(d,e){var f=this,g={},c,b;f.editor=d;d.addCommand("mceFullScreen",function(){var i,j=a.doc.documentElement;if(d.getParam("fullscreen_is_enabled")){if(d.getParam("fullscreen_new_window")){closeFullscreen()}else{a.win.setTimeout(function(){tinymce.dom.Event.remove(a.win,"resize",f.resizeFunc);tinyMCE.get(d.getParam("fullscreen_editor_id")).setContent(d.getContent({format:"raw"}),{format:"raw"});tinyMCE.remove(d);a.remove("mce_fullscreen_container");j.style.overflow=d.getParam("fullscreen_html_overflow");a.setStyle(a.doc.body,"overflow",d.getParam("fullscreen_overflow"));a.win.scrollTo(d.getParam("fullscreen_scrollx"),d.getParam("fullscreen_scrolly"));tinyMCE.settings=tinyMCE.oldSettings},10)}return}if(d.getParam("fullscreen_new_window")){i=a.win.open(e+"/fullscreen.htm","mceFullScreenPopup","fullscreen=yes,menubar=no,toolbar=no,scrollbars=no,resizable=yes,left=0,top=0,width="+screen.availWidth+",height="+screen.availHeight);try{i.resizeTo(screen.availWidth,screen.availHeight)}catch(h){}}else{tinyMCE.oldSettings=tinyMCE.settings;g.fullscreen_overflow=a.getStyle(a.doc.body,"overflow",1)||"auto";g.fullscreen_html_overflow=a.getStyle(j,"overflow",1);c=a.getViewPort();g.fullscreen_scrollx=c.x;g.fullscreen_scrolly=c.y;if(tinymce.isOpera&&g.fullscreen_overflow=="visible"){g.fullscreen_overflow="auto"}if(tinymce.isIE&&g.fullscreen_overflow=="scroll"){g.fullscreen_overflow="auto"}if(tinymce.isIE&&(g.fullscreen_html_overflow=="visible"||g.fullscreen_html_overflow=="scroll")){g.fullscreen_html_overflow="auto"}if(g.fullscreen_overflow=="0px"){g.fullscreen_overflow=""}a.setStyle(a.doc.body,"overflow","hidden");j.style.overflow="hidden";c=a.getViewPort();a.win.scrollTo(0,0);if(tinymce.isIE){c.h-=1}if(tinymce.isIE6){b="absolute;top:"+c.y}else{b="fixed;top:0"}n=a.add(a.doc.body,"div",{id:"mce_fullscreen_container",style:"position:"+b+";left:0;width:"+c.w+"px;height:"+c.h+"px;z-index:200000;"});a.add(n,"div",{id:"mce_fullscreen"});tinymce.each(d.settings,function(k,l){g[l]=k});g.id="mce_fullscreen";g.width=n.clientWidth;g.height=n.clientHeight-15;g.fullscreen_is_enabled=true;g.fullscreen_editor_id=d.id;g.theme_advanced_resizing=false;g.save_onsavecallback=function(){d.setContent(tinyMCE.get(g.id).getContent({format:"raw"}),{format:"raw"});d.execCommand("mceSave")};tinymce.each(d.getParam("fullscreen_settings"),function(m,l){g[l]=m});if(g.theme_advanced_toolbar_location==="external"){g.theme_advanced_toolbar_location="top"}f.fullscreenEditor=new tinymce.Editor("mce_fullscreen",g);f.fullscreenEditor.onInit.add(function(){f.fullscreenEditor.setContent(d.getContent());f.fullscreenEditor.focus()});f.fullscreenEditor.render();f.fullscreenElement=new tinymce.dom.Element("mce_fullscreen_container");f.fullscreenElement.update();f.resizeFunc=tinymce.dom.Event.add(a.win,"resize",function(){var o=tinymce.DOM.getViewPort(),l=f.fullscreenEditor,k,m;k=l.dom.getSize(l.getContainer().firstChild);m=l.dom.getSize(l.getContainer().getElementsByTagName("iframe")[0]);l.theme.resizeTo(o.w-k.w+m.w,o.h-k.h+m.h)})}});d.addButton("fullscreen",{title:"fullscreen.desc",cmd:"mceFullScreen"});d.onNodeChange.add(function(i,h){h.setActive("fullscreen",i.getParam("fullscreen_is_enabled"))})},getInfo:function(){return{longname:"Fullscreen",author:"Moxiecode Systems AB",authorurl:"http://tinymce.moxiecode.com",infourl:"http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/fullscreen",version:tinymce.majorVersion+"."+tinymce.minorVersion}}});tinymce.PluginManager.add("fullscreen",tinymce.plugins.FullScreenPlugin)})(); \ No newline at end of file diff --git a/wp-includes/js/tinymce/plugins/fullscreen/fullscreen.htm b/wp-includes/js/tinymce/plugins/fullscreen/fullscreen.htm index ae5c3b250..7331e6cbe 100644 --- a/wp-includes/js/tinymce/plugins/fullscreen/fullscreen.htm +++ b/wp-includes/js/tinymce/plugins/fullscreen/fullscreen.htm @@ -2,7 +2,7 @@ <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title></title> - <script type="text/javascript" src="../../tiny_mce.js?ver=3392"></script> + <script type="text/javascript" src="../../tiny_mce.js?ver=342-20110407"></script> <script type="text/javascript"> function patchCallback(settings, key) { if (settings[key]) diff --git a/wp-includes/js/tinymce/plugins/inlinepopups/editor_plugin.js b/wp-includes/js/tinymce/plugins/inlinepopups/editor_plugin.js index e57c9438d..ef648174f 100644 --- a/wp-includes/js/tinymce/plugins/inlinepopups/editor_plugin.js +++ b/wp-includes/js/tinymce/plugins/inlinepopups/editor_plugin.js @@ -1 +1 @@ -(function(){var d=tinymce.DOM,b=tinymce.dom.Element,a=tinymce.dom.Event,e=tinymce.each,c=tinymce.is;tinymce.create("tinymce.plugins.InlinePopups",{init:function(f,g){f.onBeforeRenderUI.add(function(){f.windowManager=new tinymce.InlineWindowManager(f);d.loadCSS(g+"/skins/"+(f.settings.inlinepopups_skin||"clearlooks2")+"/window.css")})},getInfo:function(){return{longname:"InlinePopups",author:"Moxiecode Systems AB",authorurl:"http://tinymce.moxiecode.com",infourl:"http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/inlinepopups",version:tinymce.majorVersion+"."+tinymce.minorVersion}}});tinymce.create("tinymce.InlineWindowManager:tinymce.WindowManager",{InlineWindowManager:function(f){var g=this;g.parent(f);g.zIndex=300000;g.count=0;g.windows={}},open:function(r,j){var y=this,i,k="",q=y.editor,g=0,s=0,h,m,n,o,l,v,x;r=r||{};j=j||{};if(!r.inline){return y.parent(r,j)}if(!r.type){y.bookmark=q.selection.getBookmark(1)}i=d.uniqueId();h=d.getViewPort();r.width=parseInt(r.width||320);r.height=parseInt(r.height||240)+(tinymce.isIE?8:0);r.min_width=parseInt(r.min_width||150);r.min_height=parseInt(r.min_height||100);r.max_width=parseInt(r.max_width||2000);r.max_height=parseInt(r.max_height||2000);r.left=r.left||Math.round(Math.max(h.x,h.x+(h.w/2)-(r.width/2)));r.top=r.top||Math.round(Math.max(h.y,h.y+(h.h/2)-(r.height/2)));r.movable=r.resizable=true;j.mce_width=r.width;j.mce_height=r.height;j.mce_inline=true;j.mce_window_id=i;j.mce_auto_focus=r.auto_focus;y.features=r;y.params=j;y.onOpen.dispatch(y,r,j);if(r.type){k+=" mceModal";if(r.type){k+=" mce"+r.type.substring(0,1).toUpperCase()+r.type.substring(1)}r.resizable=false}if(r.statusbar){k+=" mceStatusbar"}if(r.resizable){k+=" mceResizable"}if(r.minimizable){k+=" mceMinimizable"}if(r.maximizable){k+=" mceMaximizable"}if(r.movable){k+=" mceMovable"}y._addAll(d.doc.body,["div",{id:i,"class":(q.settings.inlinepopups_skin||"clearlooks2")+(tinymce.isIE&&window.getSelection?" ie9":""),style:"width:100px;height:100px"},["div",{id:i+"_wrapper","class":"mceWrapper"+k},["div",{id:i+"_top","class":"mceTop"},["div",{"class":"mceLeft"}],["div",{"class":"mceCenter"}],["div",{"class":"mceRight"}],["span",{id:i+"_title"},r.title||""]],["div",{id:i+"_middle","class":"mceMiddle"},["div",{id:i+"_left","class":"mceLeft"}],["span",{id:i+"_content"}],["div",{id:i+"_right","class":"mceRight"}]],["div",{id:i+"_bottom","class":"mceBottom"},["div",{"class":"mceLeft"}],["div",{"class":"mceCenter"}],["div",{"class":"mceRight"}],["span",{id:i+"_status"},"Content"]],["a",{"class":"mceMove",tabindex:"-1",href:"javascript:;"}],["a",{"class":"mceMin",tabindex:"-1",href:"javascript:;",onmousedown:"return false;"}],["a",{"class":"mceMax",tabindex:"-1",href:"javascript:;",onmousedown:"return false;"}],["a",{"class":"mceMed",tabindex:"-1",href:"javascript:;",onmousedown:"return false;"}],["a",{"class":"mceClose",tabindex:"-1",href:"javascript:;",onmousedown:"return false;"}],["a",{id:i+"_resize_n","class":"mceResize mceResizeN",tabindex:"-1",href:"javascript:;"}],["a",{id:i+"_resize_s","class":"mceResize mceResizeS",tabindex:"-1",href:"javascript:;"}],["a",{id:i+"_resize_w","class":"mceResize mceResizeW",tabindex:"-1",href:"javascript:;"}],["a",{id:i+"_resize_e","class":"mceResize mceResizeE",tabindex:"-1",href:"javascript:;"}],["a",{id:i+"_resize_nw","class":"mceResize mceResizeNW",tabindex:"-1",href:"javascript:;"}],["a",{id:i+"_resize_ne","class":"mceResize mceResizeNE",tabindex:"-1",href:"javascript:;"}],["a",{id:i+"_resize_sw","class":"mceResize mceResizeSW",tabindex:"-1",href:"javascript:;"}],["a",{id:i+"_resize_se","class":"mceResize mceResizeSE",tabindex:"-1",href:"javascript:;"}]]]);d.setStyles(i,{top:-10000,left:-10000});if(tinymce.isGecko){d.setStyle(i,"overflow","auto")}if(!r.type){g+=d.get(i+"_left").clientWidth;g+=d.get(i+"_right").clientWidth;s+=d.get(i+"_top").clientHeight;s+=d.get(i+"_bottom").clientHeight}d.setStyles(i,{top:r.top,left:r.left,width:r.width+g,height:r.height+s});x=r.url||r.file;if(x){if(tinymce.relaxedDomain){x+=(x.indexOf("?")==-1?"?":"&")+"mce_rdomain="+tinymce.relaxedDomain}x=tinymce._addVer(x)}if(!r.type){d.add(i+"_content","iframe",{id:i+"_ifr",src:'javascript:""',frameBorder:0,style:"border:0;width:10px;height:10px"});d.setStyles(i+"_ifr",{width:r.width,height:r.height});d.setAttrib(i+"_ifr","src",x)}else{d.add(i+"_wrapper","a",{id:i+"_ok","class":"mceButton mceOk",href:"javascript:;",onmousedown:"return false;"},"Ok");if(r.type=="confirm"){d.add(i+"_wrapper","a",{"class":"mceButton mceCancel",href:"javascript:;",onmousedown:"return false;"},"Cancel")}d.add(i+"_middle","div",{"class":"mceIcon"});d.setHTML(i+"_content",r.content.replace("\n","<br />"))}n=a.add(i,"mousedown",function(t){var u=t.target,f,p;f=y.windows[i];y.focus(i);if(u.nodeName=="A"||u.nodeName=="a"){if(u.className=="mceMax"){f.oldPos=f.element.getXY();f.oldSize=f.element.getSize();p=d.getViewPort();p.w-=2;p.h-=2;f.element.moveTo(p.x,p.y);f.element.resizeTo(p.w,p.h);d.setStyles(i+"_ifr",{width:p.w-f.deltaWidth,height:p.h-f.deltaHeight});d.addClass(i+"_wrapper","mceMaximized")}else{if(u.className=="mceMed"){f.element.moveTo(f.oldPos.x,f.oldPos.y);f.element.resizeTo(f.oldSize.w,f.oldSize.h);f.iframeElement.resizeTo(f.oldSize.w-f.deltaWidth,f.oldSize.h-f.deltaHeight);d.removeClass(i+"_wrapper","mceMaximized")}else{if(u.className=="mceMove"){return y._startDrag(i,t,u.className)}else{if(d.hasClass(u,"mceResize")){return y._startDrag(i,t,u.className.substring(13))}}}}}});o=a.add(i,"click",function(f){var p=f.target;y.focus(i);if(p.nodeName=="A"||p.nodeName=="a"){switch(p.className){case"mceClose":y.close(null,i);return a.cancel(f);case"mceButton mceOk":case"mceButton mceCancel":r.button_func(p.className=="mceButton mceOk");return a.cancel(f)}}});v=y.windows[i]={id:i,mousedown_func:n,click_func:o,element:new b(i,{blocker:1,container:q.getContainer()}),iframeElement:new b(i+"_ifr"),features:r,deltaWidth:g,deltaHeight:s};v.iframeElement.on("focus",function(){y.focus(i)});if(y.count==0&&y.editor.getParam("dialog_type","modal")=="modal"){d.add(d.doc.body,"div",{id:"mceModalBlocker","class":(y.editor.settings.inlinepopups_skin||"clearlooks2")+"_modalBlocker",style:{zIndex:y.zIndex-1}});d.show("mceModalBlocker")}else{d.setStyle("mceModalBlocker","z-index",y.zIndex-1)}if(tinymce.isIE6||/Firefox\/2\./.test(navigator.userAgent)||(tinymce.isIE&&!d.boxModel)){d.setStyles("mceModalBlocker",{position:"absolute",left:h.x,top:h.y,width:h.w-2,height:h.h-2})}y.focus(i);y._fixIELayout(i,1);if(d.get(i+"_ok")){d.get(i+"_ok").focus()}y.count++;return v},focus:function(h){var g=this,f;if(f=g.windows[h]){f.zIndex=this.zIndex++;f.element.setStyle("zIndex",f.zIndex);f.element.update();h=h+"_wrapper";d.removeClass(g.lastId,"mceFocus");d.addClass(h,"mceFocus");g.lastId=h}},_addAll:function(k,h){var g,l,f=this,j=tinymce.DOM;if(c(h,"string")){k.appendChild(j.doc.createTextNode(h))}else{if(h.length){k=k.appendChild(j.create(h[0],h[1]));for(g=2;g<h.length;g++){f._addAll(k,h[g])}}}},_startDrag:function(v,G,E){var o=this,u,z,C=d.doc,f,l=o.windows[v],h=l.element,y=h.getXY(),x,q,F,g,A,s,r,j,i,m,k,n,B;g={x:0,y:0};A=d.getViewPort();A.w-=2;A.h-=2;j=G.screenX;i=G.screenY;m=k=n=B=0;u=a.add(C,"mouseup",function(p){a.remove(C,"mouseup",u);a.remove(C,"mousemove",z);if(f){f.remove()}h.moveBy(m,k);h.resizeBy(n,B);q=h.getSize();d.setStyles(v+"_ifr",{width:q.w-l.deltaWidth,height:q.h-l.deltaHeight});o._fixIELayout(v,1);return a.cancel(p)});if(E!="Move"){D()}function D(){if(f){return}o._fixIELayout(v,0);d.add(C.body,"div",{id:"mceEventBlocker","class":"mceEventBlocker "+(o.editor.settings.inlinepopups_skin||"clearlooks2"),style:{zIndex:o.zIndex+1}});if(tinymce.isIE6||(tinymce.isIE&&!d.boxModel)){d.setStyles("mceEventBlocker",{position:"absolute",left:A.x,top:A.y,width:A.w-2,height:A.h-2})}f=new b("mceEventBlocker");f.update();x=h.getXY();q=h.getSize();s=g.x+x.x-A.x;r=g.y+x.y-A.y;d.add(f.get(),"div",{id:"mcePlaceHolder","class":"mcePlaceHolder",style:{left:s,top:r,width:q.w,height:q.h}});F=new b("mcePlaceHolder")}z=a.add(C,"mousemove",function(w){var p,H,t;D();p=w.screenX-j;H=w.screenY-i;switch(E){case"ResizeW":m=p;n=0-p;break;case"ResizeE":n=p;break;case"ResizeN":case"ResizeNW":case"ResizeNE":if(E=="ResizeNW"){m=p;n=0-p}else{if(E=="ResizeNE"){n=p}}k=H;B=0-H;break;case"ResizeS":case"ResizeSW":case"ResizeSE":if(E=="ResizeSW"){m=p;n=0-p}else{if(E=="ResizeSE"){n=p}}B=H;break;case"mceMove":m=p;k=H;break}if(n<(t=l.features.min_width-q.w)){if(m!==0){m+=n-t}n=t}if(B<(t=l.features.min_height-q.h)){if(k!==0){k+=B-t}B=t}n=Math.min(n,l.features.max_width-q.w);B=Math.min(B,l.features.max_height-q.h);m=Math.max(m,A.x-(s+A.x));k=Math.max(k,A.y-(r+A.y));m=Math.min(m,(A.w+A.x)-(s+q.w+A.x));k=Math.min(k,(A.h+A.y)-(r+q.h+A.y));if(m+k!==0){if(s+m<0){m=0}if(r+k<0){k=0}F.moveTo(s+m,r+k)}if(n+B!==0){F.resizeTo(q.w+n,q.h+B)}return a.cancel(w)});return a.cancel(G)},resizeBy:function(g,h,i){var f=this.windows[i];if(f){f.element.resizeBy(g,h);f.iframeElement.resizeBy(g,h)}},close:function(j,l){var h=this,g,k=d.doc,f=0,i,l;l=h._findId(l||j);if(!h.windows[l]){h.parent(j);return}h.count--;if(h.count==0){d.remove("mceModalBlocker")}if(g=h.windows[l]){h.onClose.dispatch(h);a.remove(k,"mousedown",g.mousedownFunc);a.remove(k,"click",g.clickFunc);a.clear(l);a.clear(l+"_ifr");d.setAttrib(l+"_ifr","src",'javascript:""');g.element.remove();delete h.windows[l];e(h.windows,function(m){if(m.zIndex>f){i=m;f=m.zIndex}});if(i){h.focus(i.id)}}},setTitle:function(f,g){var h;f=this._findId(f);if(h=d.get(f+"_title")){h.innerHTML=d.encode(g)}},alert:function(g,f,j){var i=this,h;h=i.open({title:i,type:"alert",button_func:function(k){if(f){f.call(k||i,k)}i.close(null,h.id)},content:d.encode(i.editor.getLang(g,g)),inline:1,width:400,height:130})},confirm:function(g,f,j){var i=this,h;h=i.open({title:i,type:"confirm",button_func:function(k){if(f){f.call(k||i,k)}i.close(null,h.id)},content:d.encode(i.editor.getLang(g,g)),inline:1,width:400,height:130})},_findId:function(f){var g=this;if(typeof(f)=="string"){return f}e(g.windows,function(h){var i=d.get(h.id+"_ifr");if(i&&f==i.contentWindow){f=h.id;return false}});return f},_fixIELayout:function(i,h){var f,g;if(!tinymce.isIE6){return}e(["n","s","w","e","nw","ne","sw","se"],function(j){var k=d.get(i+"_resize_"+j);d.setStyles(k,{width:h?k.clientWidth:"",height:h?k.clientHeight:"",cursor:d.getStyle(k,"cursor",1)});d.setStyle(i+"_bottom","bottom","-1px");k=0});if(f=this.windows[i]){f.element.hide();f.element.show();e(d.select("div,a",i),function(k,j){if(k.currentStyle.backgroundImage!="none"){g=new Image();g.src=k.currentStyle.backgroundImage.replace(/url\(\"(.+)\"\)/,"$1")}});d.get(i).style.filter=""}}});tinymce.PluginManager.add("inlinepopups",tinymce.plugins.InlinePopups)})(); \ No newline at end of file +(function(){var d=tinymce.DOM,b=tinymce.dom.Element,a=tinymce.dom.Event,e=tinymce.each,c=tinymce.is;tinymce.create("tinymce.plugins.InlinePopups",{init:function(f,g){f.onBeforeRenderUI.add(function(){f.windowManager=new tinymce.InlineWindowManager(f);d.loadCSS(g+"/skins/"+(f.settings.inlinepopups_skin||"clearlooks2")+"/window.css")})},getInfo:function(){return{longname:"InlinePopups",author:"Moxiecode Systems AB",authorurl:"http://tinymce.moxiecode.com",infourl:"http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/inlinepopups",version:tinymce.majorVersion+"."+tinymce.minorVersion}}});tinymce.create("tinymce.InlineWindowManager:tinymce.WindowManager",{InlineWindowManager:function(f){var g=this;g.parent(f);g.zIndex=300000;g.count=0;g.windows={}},open:function(s,j){var z=this,i,k="",r=z.editor,g=0,v=0,h,m,o,q,l,x,y,n;s=s||{};j=j||{};if(!s.inline){return z.parent(s,j)}n=z._frontWindow();if(n&&d.get(n.id+"_ifr")){n.focussedElement=d.get(n.id+"_ifr").contentWindow.document.activeElement}if(!s.type){z.bookmark=r.selection.getBookmark(1)}i=d.uniqueId();h=d.getViewPort();s.width=parseInt(s.width||320);s.height=parseInt(s.height||240)+(tinymce.isIE?8:0);s.min_width=parseInt(s.min_width||150);s.min_height=parseInt(s.min_height||100);s.max_width=parseInt(s.max_width||2000);s.max_height=parseInt(s.max_height||2000);s.left=s.left||Math.round(Math.max(h.x,h.x+(h.w/2)-(s.width/2)));s.top=s.top||Math.round(Math.max(h.y,h.y+(h.h/2)-(s.height/2)));s.movable=s.resizable=true;j.mce_width=s.width;j.mce_height=s.height;j.mce_inline=true;j.mce_window_id=i;j.mce_auto_focus=s.auto_focus;z.features=s;z.params=j;z.onOpen.dispatch(z,s,j);if(s.type){k+=" mceModal";if(s.type){k+=" mce"+s.type.substring(0,1).toUpperCase()+s.type.substring(1)}s.resizable=false}if(s.statusbar){k+=" mceStatusbar"}if(s.resizable){k+=" mceResizable"}if(s.minimizable){k+=" mceMinimizable"}if(s.maximizable){k+=" mceMaximizable"}if(s.movable){k+=" mceMovable"}z._addAll(d.doc.body,["div",{id:i,role:"dialog","aria-labelledby":s.type?i+"_content":i+"_title","class":(r.settings.inlinepopups_skin||"clearlooks2")+(tinymce.isIE&&window.getSelection?" ie9":""),style:"width:100px;height:100px"},["div",{id:i+"_wrapper","class":"mceWrapper"+k},["div",{id:i+"_top","class":"mceTop"},["div",{"class":"mceLeft"}],["div",{"class":"mceCenter"}],["div",{"class":"mceRight"}],["span",{id:i+"_title"},s.title||""]],["div",{id:i+"_middle","class":"mceMiddle"},["div",{id:i+"_left","class":"mceLeft",tabindex:"0"}],["span",{id:i+"_content"}],["div",{id:i+"_right","class":"mceRight",tabindex:"0"}]],["div",{id:i+"_bottom","class":"mceBottom"},["div",{"class":"mceLeft"}],["div",{"class":"mceCenter"}],["div",{"class":"mceRight"}],["span",{id:i+"_status"},"Content"]],["a",{"class":"mceMove",tabindex:"-1",href:"javascript:;"}],["a",{"class":"mceMin",tabindex:"-1",href:"javascript:;",onmousedown:"return false;"}],["a",{"class":"mceMax",tabindex:"-1",href:"javascript:;",onmousedown:"return false;"}],["a",{"class":"mceMed",tabindex:"-1",href:"javascript:;",onmousedown:"return false;"}],["a",{"class":"mceClose",tabindex:"-1",href:"javascript:;",onmousedown:"return false;"}],["a",{id:i+"_resize_n","class":"mceResize mceResizeN",tabindex:"-1",href:"javascript:;"}],["a",{id:i+"_resize_s","class":"mceResize mceResizeS",tabindex:"-1",href:"javascript:;"}],["a",{id:i+"_resize_w","class":"mceResize mceResizeW",tabindex:"-1",href:"javascript:;"}],["a",{id:i+"_resize_e","class":"mceResize mceResizeE",tabindex:"-1",href:"javascript:;"}],["a",{id:i+"_resize_nw","class":"mceResize mceResizeNW",tabindex:"-1",href:"javascript:;"}],["a",{id:i+"_resize_ne","class":"mceResize mceResizeNE",tabindex:"-1",href:"javascript:;"}],["a",{id:i+"_resize_sw","class":"mceResize mceResizeSW",tabindex:"-1",href:"javascript:;"}],["a",{id:i+"_resize_se","class":"mceResize mceResizeSE",tabindex:"-1",href:"javascript:;"}]]]);d.setStyles(i,{top:-10000,left:-10000});if(tinymce.isGecko){d.setStyle(i,"overflow","auto")}if(!s.type){g+=d.get(i+"_left").clientWidth;g+=d.get(i+"_right").clientWidth;v+=d.get(i+"_top").clientHeight;v+=d.get(i+"_bottom").clientHeight}d.setStyles(i,{top:s.top,left:s.left,width:s.width+g,height:s.height+v});y=s.url||s.file;if(y){if(tinymce.relaxedDomain){y+=(y.indexOf("?")==-1?"?":"&")+"mce_rdomain="+tinymce.relaxedDomain}y=tinymce._addVer(y)}if(!s.type){d.add(i+"_content","iframe",{id:i+"_ifr",src:'javascript:""',frameBorder:0,style:"border:0;width:10px;height:10px"});d.setStyles(i+"_ifr",{width:s.width,height:s.height});d.setAttrib(i+"_ifr","src",y)}else{d.add(i+"_wrapper","a",{id:i+"_ok","class":"mceButton mceOk",href:"javascript:;",onmousedown:"return false;"},"Ok");if(s.type=="confirm"){d.add(i+"_wrapper","a",{"class":"mceButton mceCancel",href:"javascript:;",onmousedown:"return false;"},"Cancel")}d.add(i+"_middle","div",{"class":"mceIcon"});d.setHTML(i+"_content",s.content.replace("\n","<br />"));a.add(i,"keyup",function(f){var p=27;if(f.keyCode===p){s.button_func(false);return a.cancel(f)}});a.add(i,"keydown",function(f){var t,p=9;if(f.keyCode===p){t=d.select("a.mceCancel",i+"_wrapper")[0];if(t&&t!==f.target){t.focus()}else{d.get(i+"_ok").focus()}return a.cancel(f)}})}o=a.add(i,"mousedown",function(t){var u=t.target,f,p;f=z.windows[i];z.focus(i);if(u.nodeName=="A"||u.nodeName=="a"){if(u.className=="mceMax"){f.oldPos=f.element.getXY();f.oldSize=f.element.getSize();p=d.getViewPort();p.w-=2;p.h-=2;f.element.moveTo(p.x,p.y);f.element.resizeTo(p.w,p.h);d.setStyles(i+"_ifr",{width:p.w-f.deltaWidth,height:p.h-f.deltaHeight});d.addClass(i+"_wrapper","mceMaximized")}else{if(u.className=="mceMed"){f.element.moveTo(f.oldPos.x,f.oldPos.y);f.element.resizeTo(f.oldSize.w,f.oldSize.h);f.iframeElement.resizeTo(f.oldSize.w-f.deltaWidth,f.oldSize.h-f.deltaHeight);d.removeClass(i+"_wrapper","mceMaximized")}else{if(u.className=="mceMove"){return z._startDrag(i,t,u.className)}else{if(d.hasClass(u,"mceResize")){return z._startDrag(i,t,u.className.substring(13))}}}}}});q=a.add(i,"click",function(f){var p=f.target;z.focus(i);if(p.nodeName=="A"||p.nodeName=="a"){switch(p.className){case"mceClose":z.close(null,i);return a.cancel(f);case"mceButton mceOk":case"mceButton mceCancel":s.button_func(p.className=="mceButton mceOk");return a.cancel(f)}}});a.add([i+"_left",i+"_right"],"focus",function(p){var t=d.get(i+"_ifr");if(t){var f=t.contentWindow.document.body;var u=d.select(":input:enabled,*[tabindex=0]",f);if(p.target.id===(i+"_left")){u[u.length-1].focus()}else{u[0].focus()}}else{d.get(i+"_ok").focus()}});x=z.windows[i]={id:i,mousedown_func:o,click_func:q,element:new b(i,{blocker:1,container:r.getContainer()}),iframeElement:new b(i+"_ifr"),features:s,deltaWidth:g,deltaHeight:v};x.iframeElement.on("focus",function(){z.focus(i)});if(z.count==0&&z.editor.getParam("dialog_type","modal")=="modal"){d.add(d.doc.body,"div",{id:"mceModalBlocker","class":(z.editor.settings.inlinepopups_skin||"clearlooks2")+"_modalBlocker",style:{zIndex:z.zIndex-1}});d.show("mceModalBlocker");d.setAttrib(d.doc.body,"aria-hidden","true")}else{d.setStyle("mceModalBlocker","z-index",z.zIndex-1)}if(tinymce.isIE6||/Firefox\/2\./.test(navigator.userAgent)||(tinymce.isIE&&!d.boxModel)){d.setStyles("mceModalBlocker",{position:"absolute",left:h.x,top:h.y,width:h.w-2,height:h.h-2})}d.setAttrib(i,"aria-hidden","false");z.focus(i);z._fixIELayout(i,1);if(d.get(i+"_ok")){d.get(i+"_ok").focus()}z.count++;return x},focus:function(h){var g=this,f;if(f=g.windows[h]){f.zIndex=this.zIndex++;f.element.setStyle("zIndex",f.zIndex);f.element.update();h=h+"_wrapper";d.removeClass(g.lastId,"mceFocus");d.addClass(h,"mceFocus");g.lastId=h;if(f.focussedElement){f.focussedElement.focus()}else{if(d.get(h+"_ok")){d.get(f.id+"_ok").focus()}else{if(d.get(f.id+"_ifr")){d.get(f.id+"_ifr").focus()}}}}},_addAll:function(k,h){var g,l,f=this,j=tinymce.DOM;if(c(h,"string")){k.appendChild(j.doc.createTextNode(h))}else{if(h.length){k=k.appendChild(j.create(h[0],h[1]));for(g=2;g<h.length;g++){f._addAll(k,h[g])}}}},_startDrag:function(v,G,E){var o=this,u,z,C=d.doc,f,l=o.windows[v],h=l.element,y=h.getXY(),x,q,F,g,A,s,r,j,i,m,k,n,B;g={x:0,y:0};A=d.getViewPort();A.w-=2;A.h-=2;j=G.screenX;i=G.screenY;m=k=n=B=0;u=a.add(C,"mouseup",function(p){a.remove(C,"mouseup",u);a.remove(C,"mousemove",z);if(f){f.remove()}h.moveBy(m,k);h.resizeBy(n,B);q=h.getSize();d.setStyles(v+"_ifr",{width:q.w-l.deltaWidth,height:q.h-l.deltaHeight});o._fixIELayout(v,1);return a.cancel(p)});if(E!="Move"){D()}function D(){if(f){return}o._fixIELayout(v,0);d.add(C.body,"div",{id:"mceEventBlocker","class":"mceEventBlocker "+(o.editor.settings.inlinepopups_skin||"clearlooks2"),style:{zIndex:o.zIndex+1}});if(tinymce.isIE6||(tinymce.isIE&&!d.boxModel)){d.setStyles("mceEventBlocker",{position:"absolute",left:A.x,top:A.y,width:A.w-2,height:A.h-2})}f=new b("mceEventBlocker");f.update();x=h.getXY();q=h.getSize();s=g.x+x.x-A.x;r=g.y+x.y-A.y;d.add(f.get(),"div",{id:"mcePlaceHolder","class":"mcePlaceHolder",style:{left:s,top:r,width:q.w,height:q.h}});F=new b("mcePlaceHolder")}z=a.add(C,"mousemove",function(w){var p,H,t;D();p=w.screenX-j;H=w.screenY-i;switch(E){case"ResizeW":m=p;n=0-p;break;case"ResizeE":n=p;break;case"ResizeN":case"ResizeNW":case"ResizeNE":if(E=="ResizeNW"){m=p;n=0-p}else{if(E=="ResizeNE"){n=p}}k=H;B=0-H;break;case"ResizeS":case"ResizeSW":case"ResizeSE":if(E=="ResizeSW"){m=p;n=0-p}else{if(E=="ResizeSE"){n=p}}B=H;break;case"mceMove":m=p;k=H;break}if(n<(t=l.features.min_width-q.w)){if(m!==0){m+=n-t}n=t}if(B<(t=l.features.min_height-q.h)){if(k!==0){k+=B-t}B=t}n=Math.min(n,l.features.max_width-q.w);B=Math.min(B,l.features.max_height-q.h);m=Math.max(m,A.x-(s+A.x));k=Math.max(k,A.y-(r+A.y));m=Math.min(m,(A.w+A.x)-(s+q.w+A.x));k=Math.min(k,(A.h+A.y)-(r+q.h+A.y));if(m+k!==0){if(s+m<0){m=0}if(r+k<0){k=0}F.moveTo(s+m,r+k)}if(n+B!==0){F.resizeTo(q.w+n,q.h+B)}return a.cancel(w)});return a.cancel(G)},resizeBy:function(g,h,i){var f=this.windows[i];if(f){f.element.resizeBy(g,h);f.iframeElement.resizeBy(g,h)}},close:function(i,k){var g=this,f,j=d.doc,h,k;k=g._findId(k||i);if(!g.windows[k]){g.parent(i);return}g.count--;if(g.count==0){d.remove("mceModalBlocker");d.setAttrib(d.doc.body,"aria-hidden","false");g.editor.focus()}if(f=g.windows[k]){g.onClose.dispatch(g);a.remove(j,"mousedown",f.mousedownFunc);a.remove(j,"click",f.clickFunc);a.clear(k);a.clear(k+"_ifr");d.setAttrib(k+"_ifr","src",'javascript:""');f.element.remove();delete g.windows[k];h=g._frontWindow();if(h){g.focus(h.id)}}},_frontWindow:function(){var g,f=0;e(this.windows,function(h){if(h.zIndex>f){g=h;f=h.zIndex}});return g},setTitle:function(f,g){var h;f=this._findId(f);if(h=d.get(f+"_title")){h.innerHTML=d.encode(g)}},alert:function(g,f,j){var i=this,h;h=i.open({title:i,type:"alert",button_func:function(k){if(f){f.call(k||i,k)}i.close(null,h.id)},content:d.encode(i.editor.getLang(g,g)),inline:1,width:400,height:130})},confirm:function(g,f,j){var i=this,h;h=i.open({title:i,type:"confirm",button_func:function(k){if(f){f.call(k||i,k)}i.close(null,h.id)},content:d.encode(i.editor.getLang(g,g)),inline:1,width:400,height:130})},_findId:function(f){var g=this;if(typeof(f)=="string"){return f}e(g.windows,function(h){var i=d.get(h.id+"_ifr");if(i&&f==i.contentWindow){f=h.id;return false}});return f},_fixIELayout:function(i,h){var f,g;if(!tinymce.isIE6){return}e(["n","s","w","e","nw","ne","sw","se"],function(j){var k=d.get(i+"_resize_"+j);d.setStyles(k,{width:h?k.clientWidth:"",height:h?k.clientHeight:"",cursor:d.getStyle(k,"cursor",1)});d.setStyle(i+"_bottom","bottom","-1px");k=0});if(f=this.windows[i]){f.element.hide();f.element.show();e(d.select("div,a",i),function(k,j){if(k.currentStyle.backgroundImage!="none"){g=new Image();g.src=k.currentStyle.backgroundImage.replace(/url\(\"(.+)\"\)/,"$1")}});d.get(i).style.filter=""}}});tinymce.PluginManager.add("inlinepopups",tinymce.plugins.InlinePopups)})(); \ No newline at end of file diff --git a/wp-includes/js/tinymce/plugins/inlinepopups/skins/clearlooks2/window.css b/wp-includes/js/tinymce/plugins/inlinepopups/skins/clearlooks2/window.css index 9b9fddaeb..100178946 100644 --- a/wp-includes/js/tinymce/plugins/inlinepopups/skins/clearlooks2/window.css +++ b/wp-includes/js/tinymce/plugins/inlinepopups/skins/clearlooks2/window.css @@ -118,7 +118,7 @@ color:#FFF .clearlooks2 .mceMiddle .mceIcon {left:15px; top:35px; width:32px; height:32px} .clearlooks2 .mceAlert .mceMiddle span, .clearlooks2 .mceConfirm .mceMiddle span {background:transparent;left:60px; top:35px; width:320px; height:50px; font-weight:bold; overflow:auto; white-space:normal} .clearlooks2 a:hover {font-weight:bold;} -.clearlooks2 .mceAlert .mceMiddle, .clearlooks2 .mceConfirm .mceMiddle {background:#E4F2FD} +.clearlooks2 .mceAlert .mceMiddle, .clearlooks2 .mceConfirm .mceMiddle {background:#F9F9F9} .clearlooks2 .mceAlert .mceOk {left:50%; top:auto; margin-left: -40px} .clearlooks2 .mceAlert .mceIcon {background:url(img/alert.gif)} .clearlooks2 .mceConfirm .mceOk {left:50%; top:auto; margin-left: -90px} diff --git a/wp-includes/js/tinymce/plugins/inlinepopups/template.htm b/wp-includes/js/tinymce/plugins/inlinepopups/template.htm index bcad9df69..b376842aa 100644 --- a/wp-includes/js/tinymce/plugins/inlinepopups/template.htm +++ b/wp-includes/js/tinymce/plugins/inlinepopups/template.htm @@ -2,7 +2,7 @@ <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>Template for dialogs</title> -<link rel="stylesheet" type="text/css" href="skins/clearlooks2/window.css?ver=3392" /> +<link rel="stylesheet" type="text/css" href="skins/clearlooks2/window.css?ver=342-20110407" /> </head> <body> diff --git a/wp-includes/js/tinymce/plugins/media/css/media.css b/wp-includes/js/tinymce/plugins/media/css/media.css index 7b2253ba3..fd04898ca 100644 --- a/wp-includes/js/tinymce/plugins/media/css/media.css +++ b/wp-includes/js/tinymce/plugins/media/css/media.css @@ -1,12 +1,12 @@ -#id, #name, #hspace, #vspace, #class_name, #align { width: 100px } +#id, #name, #hspace, #vspace, #class_name, #align { width: 100px } #hspace, #vspace { width: 50px } #flash_quality, #flash_align, #flash_scale, #flash_salign, #flash_wmode { width: 100px } -#flash_base, #flash_flashvars { width: 240px } +#flash_base, #flash_flashvars, #html5_altsource1, #html5_altsource2, #html5_poster { width: 240px } #width, #height { width: 40px } #src, #media_type { width: 250px } #class { width: 120px } -#prev { margin: 0; border: 1px solid black; width: 380px; height: 230px; overflow: auto } -.panel_wrapper div.current { height: 390px; overflow: auto } +#prev { margin: 0; border: 1px solid black; width: 380px; height: 260px; overflow: auto } +.panel_wrapper div.current { height: 420px; overflow: auto } #flash_options, #shockwave_options, #qt_options, #wmp_options, #rmp_options { display: none } .mceAddSelectValue { background-color: #DDDDDD } #qt_starttime, #qt_endtime, #qt_fov, #qt_href, #qt_moveid, #qt_moviename, #qt_node, #qt_pan, #qt_qtsrc, #qt_qtsrcchokespeed, #qt_target, #qt_tilt, #qt_urlsubstituten, #qt_volume { width: 70px } @@ -14,3 +14,4 @@ #rmp_console, #rmp_numloop, #rmp_controls, #rmp_scriptcallbacks { width: 70px } #shockwave_swvolume, #shockwave_swframe, #shockwave_swurl, #shockwave_swstretchvalign, #shockwave_swstretchhalign, #shockwave_swstretchstyle { width: 90px } #qt_qtsrc { width: 200px } +iframe {border: 1px solid gray} diff --git a/wp-includes/js/tinymce/plugins/media/editor_plugin.js b/wp-includes/js/tinymce/plugins/media/editor_plugin.js index 2889be5ab..66219078c 100644 --- a/wp-includes/js/tinymce/plugins/media/editor_plugin.js +++ b/wp-includes/js/tinymce/plugins/media/editor_plugin.js @@ -1 +1 @@ -(function(){var a=tinymce.each;tinymce.create("tinymce.plugins.MediaPlugin",{init:function(b,c){var e=this;e.editor=b;e.url=c;function f(g){return/^(mceItemFlash|mceItemShockWave|mceItemWindowsMedia|mceItemQuickTime|mceItemRealMedia)$/.test(g.className)}b.onPreInit.add(function(){b.serializer.addRules("param[name|value|_mce_value]")});b.addCommand("mceMedia",function(){b.windowManager.open({file:c+"/media.htm",width:430+parseInt(b.getLang("media.delta_width",0)),height:470+parseInt(b.getLang("media.delta_height",0)),inline:1},{plugin_url:c})});b.addButton("media",{title:"media.desc",cmd:"mceMedia"});b.onNodeChange.add(function(h,g,i){g.setActive("media",i.nodeName=="IMG"&&f(i))});b.onInit.add(function(){var g={mceItemFlash:"flash",mceItemShockWave:"shockwave",mceItemWindowsMedia:"windowsmedia",mceItemQuickTime:"quicktime",mceItemRealMedia:"realmedia"};b.selection.onSetContent.add(function(){e._spansToImgs(b.getBody())});b.selection.onBeforeSetContent.add(e._objectsToSpans,e);if(b.settings.content_css!==false){b.dom.loadCSS(c+"/css/content.css")}if(b.theme&&b.theme.onResolveName){b.theme.onResolveName.add(function(h,i){if(i.name=="img"){a(g,function(l,j){if(b.dom.hasClass(i.node,j)){i.name=l;i.title=b.dom.getAttrib(i.node,"title");return false}})}})}if(b&&b.plugins.contextmenu){b.plugins.contextmenu.onContextMenu.add(function(i,h,j){if(j.nodeName=="IMG"&&/mceItem(Flash|ShockWave|WindowsMedia|QuickTime|RealMedia)/.test(j.className)){h.add({title:"media.edit",icon:"media",cmd:"mceMedia"})}})}});b.onBeforeSetContent.add(e._objectsToSpans,e);b.onSetContent.add(function(){e._spansToImgs(b.getBody())});b.onPreProcess.add(function(g,i){var h=g.dom;if(i.set){e._spansToImgs(i.node);a(h.select("IMG",i.node),function(k){var j;if(f(k)){j=e._parse(k.title);h.setAttrib(k,"width",h.getAttrib(k,"width",j.width||100));h.setAttrib(k,"height",h.getAttrib(k,"height",j.height||100))}})}if(i.get){a(h.select("IMG",i.node),function(m){var l,j,k;if(g.getParam("media_use_script")){if(f(m)){m.className=m.className.replace(/mceItem/g,"mceTemp")}return}switch(m.className){case"mceItemFlash":l="d27cdb6e-ae6d-11cf-96b8-444553540000";j="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0";k="application/x-shockwave-flash";break;case"mceItemShockWave":l="166b1bca-3f9c-11cf-8075-444553540000";j="http://download.macromedia.com/pub/shockwave/cabs/director/sw.cab#version=8,5,1,0";k="application/x-director";break;case"mceItemWindowsMedia":l=g.getParam("media_wmp6_compatible")?"05589fa1-c356-11ce-bf01-00aa0055595a":"6bf52a52-394a-11d3-b153-00c04f79faa6";j="http://activex.microsoft.com/activex/controls/mplayer/en/nsmp2inf.cab#Version=5,1,52,701";k="application/x-mplayer2";break;case"mceItemQuickTime":l="02bf25d5-8c17-4b23-bc80-d3488abddc6b";j="http://www.apple.com/qtactivex/qtplugin.cab#version=6,0,2,0";k="video/quicktime";break;case"mceItemRealMedia":l="cfcdaa03-8be4-11cf-b84b-0020afbbccfa";j="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0";k="audio/x-pn-realaudio-plugin";break}if(l){h.replace(e._buildObj({classid:l,codebase:j,type:k},m),m)}})}});b.onPostProcess.add(function(g,h){h.content=h.content.replace(/_mce_value=/g,"value=")});function d(g,h){h=new RegExp(h+'="([^"]+)"',"g").exec(g);return h?b.dom.decode(h[1]):""}b.onPostProcess.add(function(g,h){if(g.getParam("media_use_script")){h.content=h.content.replace(/<img[^>]+>/g,function(j){var i=d(j,"class");if(/^(mceTempFlash|mceTempShockWave|mceTempWindowsMedia|mceTempQuickTime|mceTempRealMedia)$/.test(i)){at=e._parse(d(j,"title"));at.width=d(j,"width");at.height=d(j,"height");j='<script type="text/javascript">write'+i.substring(7)+"({"+e._serialize(at)+"});<\/script>"}return j})}})},getInfo:function(){return{longname:"Media",author:"Moxiecode Systems AB",authorurl:"http://tinymce.moxiecode.com",infourl:"http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/media",version:tinymce.majorVersion+"."+tinymce.minorVersion}},_objectsToSpans:function(b,e){var c=this,d=e.content;d=d.replace(/<script[^>]*>\s*write(Flash|ShockWave|WindowsMedia|QuickTime|RealMedia)\(\{([^\)]*)\}\);\s*<\/script>/gi,function(g,f,i){var h=c._parse(i);return'<img class="mceItem'+f+'" title="'+b.dom.encode(i)+'" src="'+c.url+'/img/trans.gif" width="'+h.width+'" height="'+h.height+'" />'});d=d.replace(/<object([^>]*)>/gi,'<span class="mceItemObject" $1>');d=d.replace(/<embed([^>]*)\/?>/gi,'<span class="mceItemEmbed" $1></span>');d=d.replace(/<embed([^>]*)>/gi,'<span class="mceItemEmbed" $1>');d=d.replace(/<\/(object)([^>]*)>/gi,"</span>");d=d.replace(/<\/embed>/gi,"");d=d.replace(/<param([^>]*)>/gi,function(g,f){return"<span "+f.replace(/value=/gi,"_mce_value=")+' class="mceItemParam"></span>'});d=d.replace(/\/ class=\"mceItemParam\"><\/span>/gi,'class="mceItemParam"></span>');e.content=d},_buildObj:function(g,h){var d,c=this.editor,f=c.dom,e=this._parse(h.title),b;b=c.getParam("media_strict",true)&&g.type=="application/x-shockwave-flash";e.width=g.width=f.getAttrib(h,"width")||100;e.height=g.height=f.getAttrib(h,"height")||100;if(e.src){e.src=c.convertURL(e.src,"src",h)}if(b){d=f.create("span",{id:e.id,mce_name:"object",type:"application/x-shockwave-flash",data:e.src,style:f.getAttrib(h,"style"),width:g.width,height:g.height})}else{d=f.create("span",{id:e.id,mce_name:"object",classid:"clsid:"+g.classid,style:f.getAttrib(h,"style"),codebase:g.codebase,width:g.width,height:g.height})}a(e,function(j,i){if(!/^(width|height|codebase|classid|id|_cx|_cy)$/.test(i)){if(g.type=="application/x-mplayer2"&&i=="src"&&!e.url){i="url"}if(j){f.add(d,"span",{mce_name:"param",name:i,_mce_value:j})}}});if(!b){f.add(d,"span",tinymce.extend({mce_name:"embed",type:g.type,style:f.getAttrib(h,"style")},e))}return d},_spansToImgs:function(e){var d=this,f=d.editor.dom,b,c;a(f.select("span",e),function(g){if(f.getAttrib(g,"class")=="mceItemObject"){c=f.getAttrib(g,"classid").toLowerCase().replace(/\s+/g,"");switch(c){case"clsid:d27cdb6e-ae6d-11cf-96b8-444553540000":f.replace(d._createImg("mceItemFlash",g),g);break;case"clsid:166b1bca-3f9c-11cf-8075-444553540000":f.replace(d._createImg("mceItemShockWave",g),g);break;case"clsid:6bf52a52-394a-11d3-b153-00c04f79faa6":case"clsid:22d6f312-b0f6-11d0-94ab-0080c74c7e95":case"clsid:05589fa1-c356-11ce-bf01-00aa0055595a":f.replace(d._createImg("mceItemWindowsMedia",g),g);break;case"clsid:02bf25d5-8c17-4b23-bc80-d3488abddc6b":f.replace(d._createImg("mceItemQuickTime",g),g);break;case"clsid:cfcdaa03-8be4-11cf-b84b-0020afbbccfa":f.replace(d._createImg("mceItemRealMedia",g),g);break;default:f.replace(d._createImg("mceItemFlash",g),g)}return}if(f.getAttrib(g,"class")=="mceItemEmbed"){switch(f.getAttrib(g,"type")){case"application/x-shockwave-flash":f.replace(d._createImg("mceItemFlash",g),g);break;case"application/x-director":f.replace(d._createImg("mceItemShockWave",g),g);break;case"application/x-mplayer2":f.replace(d._createImg("mceItemWindowsMedia",g),g);break;case"video/quicktime":f.replace(d._createImg("mceItemQuickTime",g),g);break;case"audio/x-pn-realaudio-plugin":f.replace(d._createImg("mceItemRealMedia",g),g);break;default:f.replace(d._createImg("mceItemFlash",g),g)}}})},_createImg:function(c,h){var b,g=this.editor.dom,f={},e="",d;d=["id","name","width","height","bgcolor","align","flashvars","src","wmode","allowfullscreen","quality","data"];b=g.create("img",{src:this.url+"/img/trans.gif",width:g.getAttrib(h,"width")||100,height:g.getAttrib(h,"height")||100,style:g.getAttrib(h,"style"),"class":c});a(d,function(i){var j=g.getAttrib(h,i);if(j){f[i]=j}});a(g.select("span",h),function(i){if(g.hasClass(i,"mceItemParam")){f[g.getAttrib(i,"name")]=g.getAttrib(i,"_mce_value")}});if(f.movie){f.src=f.movie;delete f.movie}if(!f.src){f.src=f.data;delete f.data}h=g.select(".mceItemEmbed",h)[0];if(h){a(d,function(i){var j=g.getAttrib(h,i);if(j&&!f[i]){f[i]=j}})}delete f.width;delete f.height;b.title=this._serialize(f);return b},_parse:function(b){return tinymce.util.JSON.parse("{"+b+"}")},_serialize:function(b){return tinymce.util.JSON.serialize(b).replace(/[{}]/g,"")}});tinymce.PluginManager.add("media",tinymce.plugins.MediaPlugin)})(); \ No newline at end of file +(function(){var d=tinymce.explode("id,name,width,height,style,align,class,hspace,vspace,bgcolor,type"),h=tinymce.makeMap(d.join(",")),b=tinymce.html.Node,f,a,g=tinymce.util.JSON,e;f=[["Flash","d27cdb6e-ae6d-11cf-96b8-444553540000","application/x-shockwave-flash","http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"],["ShockWave","166b1bca-3f9c-11cf-8075-444553540000","application/x-director","http://download.macromedia.com/pub/shockwave/cabs/director/sw.cab#version=8,5,1,0"],["WindowsMedia","6bf52a52-394a-11d3-b153-00c04f79faa6,22d6f312-b0f6-11d0-94ab-0080c74c7e95,05589fa1-c356-11ce-bf01-00aa0055595a","application/x-mplayer2","http://activex.microsoft.com/activex/controls/mplayer/en/nsmp2inf.cab#Version=5,1,52,701"],["QuickTime","02bf25d5-8c17-4b23-bc80-d3488abddc6b","video/quicktime","http://www.apple.com/qtactivex/qtplugin.cab#version=6,0,2,0"],["RealMedia","cfcdaa03-8be4-11cf-b84b-0020afbbccfa","audio/x-pn-realaudio-plugin","http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"],["Java","8ad9c840-044e-11d1-b3e9-00805f499d93","application/x-java-applet","http://java.sun.com/products/plugin/autodl/jinstall-1_5_0-windows-i586.cab#Version=1,5,0,0"],["Silverlight","dfeaf541-f3e1-4c24-acac-99c30715084a","application/x-silverlight-2"],["Iframe"],["Video"]];function c(m){var l,j,k;if(m&&!m.splice){j=[];for(k=0;true;k++){if(m[k]){j[k]=m[k]}else{break}}return j}return m}tinymce.create("tinymce.plugins.MediaPlugin",{init:function(n,j){var r=this,l={},m,p,q,k;function o(i){return i&&i.nodeName==="IMG"&&n.dom.hasClass(i,"mceItemMedia")}r.editor=n;r.url=j;a="";for(m=0;m<f.length;m++){k=f[m][0];q={name:k,clsids:tinymce.explode(f[m][1]||""),mimes:tinymce.explode(f[m][2]||""),codebase:f[m][3]};for(p=0;p<q.clsids.length;p++){l["clsid:"+q.clsids[p]]=q}for(p=0;p<q.mimes.length;p++){l[q.mimes[p]]=q}l["mceItem"+k]=q;l[k.toLowerCase()]=q;a+=(a?"|":"")+k}tinymce.each(n.getParam("media_types","video=mp4,m4v,ogv,webm;silverlight=xap;flash=swf,flv;shockwave=dcr;quicktime=mov,qt,mpg,mp3,mpeg;shockwave=dcr;windowsmedia=avi,wmv,wm,asf,asx,wmx,wvx;realmedia=rm,ra,ram;java=jar").split(";"),function(v){var s,u,t;v=v.split(/=/);u=tinymce.explode(v[1].toLowerCase());for(s=0;s<u.length;s++){t=l[v[0].toLowerCase()];if(t){l[u[s]]=t}}});a=new RegExp("write("+a+")\\(([^)]+)\\)");r.lookup=l;n.onPreInit.add(function(){n.schema.addValidElements("object[id|style|width|height|classid|codebase|*],param[name|value],embed[id|style|width|height|type|src|*],video[*],audio[*],source[*]");n.parser.addNodeFilter("object,embed,video,audio,script,iframe",function(s){var t=s.length;while(t--){r.objectToImg(s[t])}});n.serializer.addNodeFilter("img",function(s,u,t){var v=s.length,w;while(v--){w=s[v];if((w.attr("class")||"").indexOf("mceItemMedia")!==-1){r.imgToObject(w,t)}}})});n.onInit.add(function(){if(n.theme&&n.theme.onResolveName){n.theme.onResolveName.add(function(i,s){if(s.name==="img"&&n.dom.hasClass(s.node,"mceItemMedia")){s.name="media"}})}if(n&&n.plugins.contextmenu){n.plugins.contextmenu.onContextMenu.add(function(s,t,i){if(i.nodeName==="IMG"&&i.className.indexOf("mceItemMedia")!==-1){t.add({title:"media.edit",icon:"media",cmd:"mceMedia"})}})}});n.addCommand("mceMedia",function(){var s,i;i=n.selection.getNode();if(o(i)){s=g.parse(n.dom.getAttrib(i,"data-mce-json"));tinymce.each(d,function(t){var u=n.dom.getAttrib(i,t);if(u){s[t]=u}});s.type=r.getType(i.className).name.toLowerCase()}if(!s){s={type:"flash",video:{sources:[]},params:{}}}n.windowManager.open({file:j+"/media.htm",width:430+parseInt(n.getLang("media.delta_width",0)),height:500+parseInt(n.getLang("media.delta_height",0)),inline:1},{plugin_url:j,data:s})});n.addButton("media",{title:"media.desc",cmd:"mceMedia"});n.onNodeChange.add(function(s,i,t){i.setActive("media",o(t))})},convertUrl:function(k,n){var j=this,m=j.editor,l=m.settings,o=l.url_converter,i=l.url_converter_scope||j;if(!k){return k}if(n){return m.documentBaseURI.toAbsolute(k)}return o.call(i,k,"src","object")},getInfo:function(){return{longname:"Media",author:"Moxiecode Systems AB",authorurl:"http://tinymce.moxiecode.com",infourl:"http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/media",version:tinymce.majorVersion+"."+tinymce.minorVersion}},dataToImg:function(m,k){var r=this,o=r.editor,p=o.documentBaseURI,j,q,n,l;m.params.src=r.convertUrl(m.params.src,k);q=m.video.attrs;if(q){q.src=r.convertUrl(q.src,k)}if(q){q.poster=r.convertUrl(q.poster,k)}j=c(m.video.sources);if(j){for(l=0;l<j.length;l++){j[l].src=r.convertUrl(j[l].src,k)}}n=r.editor.dom.create("img",{id:m.id,style:m.style,align:m.align,src:r.editor.theme.url+"/img/trans.gif","class":"mceItemMedia mceItem"+r.getType(m.type).name,"data-mce-json":g.serialize(m,"'")});n.width=m.width||"320";n.height=m.height||"240";return n},dataToHtml:function(i,j){return this.editor.serializer.serialize(this.dataToImg(i,j),{force_absolute:j})},htmlToData:function(k){var j,i,l;l={type:"flash",video:{sources:[]},params:{}};j=this.editor.parser.parse(k);i=j.getAll("img")[0];if(i){l=g.parse(i.attr("data-mce-json"));l.type=this.getType(i.attr("class")).name.toLowerCase();tinymce.each(d,function(m){var n=i.attr(m);if(n){l[m]=n}})}return l},getType:function(m){var k,j,l;j=tinymce.explode(m," ");for(k=0;k<j.length;k++){l=this.lookup[j[k]];if(l){return l}}},imgToObject:function(x,n){var t=this,o=t.editor,A,E,j,s,F,w,D,u,k,C,r,p,y,B,m,v,l,z;function q(i,G){var K,J,L,I,H;H=o.getParam("flash_video_player_url",t.convertUrl(t.url+"/moxieplayer.swf"));if(H){K=o.documentBaseURI;D.params.src=H;if(o.getParam("flash_video_player_absvideourl",true)){i=K.toAbsolute(i||"",true);G=K.toAbsolute(G||"",true)}L="";J=o.getParam("flash_video_player_flashvars",{url:"$url",poster:"$poster"});tinymce.each(J,function(N,M){N=N.replace(/\$url/,i||"");N=N.replace(/\$poster/,G||"");if(N.length>0){L+=(L?"&":"")+M+"="+escape(N)}});if(L.length){D.params.flashvars=L}I=o.getParam("flash_video_player_params",{allowfullscreen:true,allowscriptaccess:true});tinymce.each(I,function(N,M){D.params[M]=""+N})}}D=g.parse(x.attr("data-mce-json"));p=this.getType(x.attr("class"));z=x.attr("data-mce-style");if(!z){z=x.attr("style");if(z){z=o.dom.serializeStyle(o.dom.parseStyle(z,"img"))}}if(p.name==="Iframe"){v=new b("iframe",1);tinymce.each(d,function(i){var G=x.attr(i);if(i=="class"&&G){G=G.replace(/mceItem.+ ?/g,"")}if(G&&G.length>0){v.attr(i,G)}});for(F in D.params){v.attr(F,D.params[F])}v.attr({style:z,src:D.params.src});x.replace(v);return}if(this.editor.settings.media_use_script){v=new b("script",1).attr("type","text/javascript");w=new b("#text",3);w.value="write"+p.name+"("+g.serialize(tinymce.extend(D.params,{width:x.attr("width"),height:x.attr("height")}))+");";v.append(w);x.replace(v);return}if(p.name==="Video"&&D.video.sources[0]){A=new b("video",1).attr(tinymce.extend({id:x.attr("id"),width:x.attr("width"),height:x.attr("height"),style:z},D.video.attrs));if(D.video.attrs){l=D.video.attrs.poster}k=D.video.sources=c(D.video.sources);for(y=0;y<k.length;y++){if(/\.mp4$/.test(k[y].src)){m=k[y].src}}if(!k[0].type){A.attr("src",k[0].src);k.splice(0,1)}for(y=0;y<k.length;y++){u=new b("source",1).attr(k[y]);u.shortEnded=true;A.append(u)}if(m){q(m,l);p=t.getType("flash")}else{D.params.src=""}}if(D.params.src){if(/\.flv$/i.test(D.params.src)){q(D.params.src,"")}if(n&&n.force_absolute){D.params.src=o.documentBaseURI.toAbsolute(D.params.src)}E=new b("object",1).attr({id:x.attr("id"),width:x.attr("width"),height:x.attr("height"),style:z});tinymce.each(d,function(i){if(D[i]&&i!="type"){E.attr(i,D[i])}});for(F in D.params){r=new b("param",1);r.shortEnded=true;w=D.params[F];if(F==="src"&&p.name==="WindowsMedia"){F="url"}r.attr({name:F,value:w});E.append(r)}if(this.editor.getParam("media_strict",true)){E.attr({data:D.params.src,type:p.mimes[0]})}else{E.attr({classid:"clsid:"+p.clsids[0],codebase:p.codebase});j=new b("embed",1);j.shortEnded=true;j.attr({id:x.attr("id"),width:x.attr("width"),height:x.attr("height"),style:z,type:p.mimes[0]});for(F in D.params){j.attr(F,D.params[F])}tinymce.each(d,function(i){if(D[i]&&i!="type"){j.attr(i,D[i])}});E.append(j)}if(D.object_html){w=new b("#text",3);w.raw=true;w.value=D.object_html;E.append(w)}if(A){A.append(E)}}if(A){if(D.video_html){w=new b("#text",3);w.raw=true;w.value=D.video_html;A.append(w)}}if(A||E){x.replace(A||E)}else{x.remove()}},objectToImg:function(y){var F,j,A,p,G,H,u,w,t,B,z,q,o,D,x,k,E,n,C=this.lookup,l,v,s=this.editor.settings.url_converter,m=this.editor.settings.url_converter_scope;function r(i){return new tinymce.html.Serializer({inner:true,validate:false}).serialize(i)}if(!y.parent){return}if(y.name==="script"){if(y.firstChild){l=a.exec(y.firstChild.value)}if(!l){return}n=l[1];E={video:{},params:g.parse(l[2])};w=E.params.width;t=E.params.height}E=E||{video:{},params:{}};G=new b("img",1);G.attr({src:this.editor.theme.url+"/img/trans.gif"});H=y.name;if(H==="video"){A=y;F=y.getAll("object")[0];j=y.getAll("embed")[0];w=A.attr("width");t=A.attr("height");u=A.attr("id");E.video={attrs:{},sources:[]};v=E.video.attrs;for(H in A.attributes.map){v[H]=A.attributes.map[H]}x=y.attr("src");if(x){E.video.sources.push({src:s.call(m,x,"src","video")})}k=A.getAll("source");for(z=0;z<k.length;z++){x=k[z].remove();E.video.sources.push({src:s.call(m,x.attr("src"),"src","source"),type:x.attr("type"),media:x.attr("media")})}if(v.poster){v.poster=s.call(m,v.poster,"poster","video")}}if(y.name==="object"){F=y;j=y.getAll("embed")[0]}if(y.name==="embed"){j=y}if(y.name==="iframe"){p=y;n="Iframe"}if(F){w=w||F.attr("width");t=t||F.attr("height");B=B||F.attr("style");u=u||F.attr("id");D=F.getAll("param");for(z=0;z<D.length;z++){o=D[z];H=o.remove().attr("name");if(!h[H]){E.params[H]=o.attr("value")}}E.params.src=E.params.src||F.attr("data")}if(j){w=w||j.attr("width");t=t||j.attr("height");B=B||j.attr("style");u=u||j.attr("id");for(H in j.attributes.map){if(!h[H]&&!E.params[H]){E.params[H]=j.attributes.map[H]}}}if(p){w=p.attr("width");t=p.attr("height");B=B||p.attr("style");u=p.attr("id");tinymce.each(d,function(i){G.attr(i,p.attr(i))});for(H in p.attributes.map){if(!h[H]&&!E.params[H]){E.params[H]=p.attributes.map[H]}}}if(E.params.movie){E.params.src=E.params.src||E.params.movie;delete E.params.movie}if(E.params.src){E.params.src=s.call(m,E.params.src,"src","object")}if(A){n=C.video.name}if(F&&!n){n=(C[(F.attr("clsid")||"").toLowerCase()]||C[(F.attr("type")||"").toLowerCase()]||{}).name}if(j&&!n){n=(C[(j.attr("type")||"").toLowerCase()]||{}).name}y.replace(G);if(j){j.remove()}if(F){q=r(F.remove());if(q){E.object_html=q}}if(A){q=r(A.remove());if(q){E.video_html=q}}G.attr({id:u,"class":"mceItemMedia mceItem"+(n||"Flash"),style:B,width:w||"320",height:t||"240","data-mce-json":g.serialize(E,"'")})}});tinymce.PluginManager.add("media",tinymce.plugins.MediaPlugin)})(); \ No newline at end of file diff --git a/wp-includes/js/tinymce/plugins/media/js/media.js b/wp-includes/js/tinymce/plugins/media/js/media.js index cde592ee2..2c10f9e89 100644 --- a/wp-includes/js/tinymce/plugins/media/js/media.js +++ b/wp-includes/js/tinymce/plugins/media/js/media.js @@ -1,630 +1,354 @@ -tinyMCEPopup.requireLangPack(); +(function() { + var url; -var oldWidth, oldHeight, ed, url; + if (url = tinyMCEPopup.getParam("media_external_list_url")) + document.write('<script language="javascript" type="text/javascript" src="' + tinyMCEPopup.editor.documentBaseURI.toAbsolute(url) + '"></script>'); -if (url = tinyMCEPopup.getParam("media_external_list_url")) - document.write('<script language="javascript" type="text/javascript" src="' + tinyMCEPopup.editor.documentBaseURI.toAbsolute(url) + '"></script>'); - -function init() { - var pl = "", f, val; - var type = "flash", fe, i; - - ed = tinyMCEPopup.editor; - - tinyMCEPopup.resizeToInnerSize(); - f = document.forms[0] - - fe = ed.selection.getNode(); - if (/mceItem(Flash|ShockWave|WindowsMedia|QuickTime|RealMedia)/.test(ed.dom.getAttrib(fe, 'class'))) { - pl = fe.title; - - switch (ed.dom.getAttrib(fe, 'class')) { - case 'mceItemFlash': - type = 'flash'; - break; - - case 'mceItemFlashVideo': - type = 'flv'; - break; - - case 'mceItemShockWave': - type = 'shockwave'; - break; - - case 'mceItemWindowsMedia': - type = 'wmp'; - break; - - case 'mceItemQuickTime': - type = 'qt'; - break; - - case 'mceItemRealMedia': - type = 'rmp'; - break; - } - - document.forms[0].insert.value = ed.getLang('update', 'Insert', true); + function get(id) { + return document.getElementById(id); } - document.getElementById('filebrowsercontainer').innerHTML = getBrowserHTML('filebrowser','src','media','media'); - document.getElementById('qtsrcfilebrowsercontainer').innerHTML = getBrowserHTML('qtsrcfilebrowser','qt_qtsrc','media','media'); - document.getElementById('bgcolor_pickcontainer').innerHTML = getColorPickerHTML('bgcolor_pick','bgcolor'); - - var html = getMediaListHTML('medialist','src','media','media'); - if (html == "") - document.getElementById("linklistrow").style.display = 'none'; - else - document.getElementById("linklistcontainer").innerHTML = html; - - // Resize some elements - if (isVisible('filebrowser')) - document.getElementById('src').style.width = '230px'; - - // Setup form - if (pl != "") { - pl = tinyMCEPopup.editor.plugins.media._parse(pl); - - switch (type) { - case "flash": - setBool(pl, 'flash', 'play'); - setBool(pl, 'flash', 'loop'); - setBool(pl, 'flash', 'menu'); - setBool(pl, 'flash', 'swliveconnect'); - setStr(pl, 'flash', 'quality'); - setStr(pl, 'flash', 'scale'); - setStr(pl, 'flash', 'salign'); - setStr(pl, 'flash', 'wmode'); - setStr(pl, 'flash', 'base'); - setStr(pl, 'flash', 'flashvars'); - break; - - case "qt": - setBool(pl, 'qt', 'loop'); - setBool(pl, 'qt', 'autoplay'); - setBool(pl, 'qt', 'cache'); - setBool(pl, 'qt', 'controller'); - setBool(pl, 'qt', 'correction'); - setBool(pl, 'qt', 'enablejavascript'); - setBool(pl, 'qt', 'kioskmode'); - setBool(pl, 'qt', 'autohref'); - setBool(pl, 'qt', 'playeveryframe'); - setBool(pl, 'qt', 'tarsetcache'); - setStr(pl, 'qt', 'scale'); - setStr(pl, 'qt', 'starttime'); - setStr(pl, 'qt', 'endtime'); - setStr(pl, 'qt', 'tarset'); - setStr(pl, 'qt', 'qtsrcchokespeed'); - setStr(pl, 'qt', 'volume'); - setStr(pl, 'qt', 'qtsrc'); - break; - - case "shockwave": - setBool(pl, 'shockwave', 'sound'); - setBool(pl, 'shockwave', 'progress'); - setBool(pl, 'shockwave', 'autostart'); - setBool(pl, 'shockwave', 'swliveconnect'); - setStr(pl, 'shockwave', 'swvolume'); - setStr(pl, 'shockwave', 'swstretchstyle'); - setStr(pl, 'shockwave', 'swstretchhalign'); - setStr(pl, 'shockwave', 'swstretchvalign'); - break; - - case "wmp": - setBool(pl, 'wmp', 'autostart'); - setBool(pl, 'wmp', 'enabled'); - setBool(pl, 'wmp', 'enablecontextmenu'); - setBool(pl, 'wmp', 'fullscreen'); - setBool(pl, 'wmp', 'invokeurls'); - setBool(pl, 'wmp', 'mute'); - setBool(pl, 'wmp', 'stretchtofit'); - setBool(pl, 'wmp', 'windowlessvideo'); - setStr(pl, 'wmp', 'balance'); - setStr(pl, 'wmp', 'baseurl'); - setStr(pl, 'wmp', 'captioningid'); - setStr(pl, 'wmp', 'currentmarker'); - setStr(pl, 'wmp', 'currentposition'); - setStr(pl, 'wmp', 'defaultframe'); - setStr(pl, 'wmp', 'playcount'); - setStr(pl, 'wmp', 'rate'); - setStr(pl, 'wmp', 'uimode'); - setStr(pl, 'wmp', 'volume'); - break; - - case "rmp": - setBool(pl, 'rmp', 'autostart'); - setBool(pl, 'rmp', 'loop'); - setBool(pl, 'rmp', 'autogotourl'); - setBool(pl, 'rmp', 'center'); - setBool(pl, 'rmp', 'imagestatus'); - setBool(pl, 'rmp', 'maintainaspect'); - setBool(pl, 'rmp', 'nojava'); - setBool(pl, 'rmp', 'prefetch'); - setBool(pl, 'rmp', 'shuffle'); - setStr(pl, 'rmp', 'console'); - setStr(pl, 'rmp', 'controls'); - setStr(pl, 'rmp', 'numloop'); - setStr(pl, 'rmp', 'scriptcallbacks'); - break; - } - - setStr(pl, null, 'src'); - setStr(pl, null, 'id'); - setStr(pl, null, 'name'); - setStr(pl, null, 'vspace'); - setStr(pl, null, 'hspace'); - setStr(pl, null, 'bgcolor'); - setStr(pl, null, 'align'); - setStr(pl, null, 'width'); - setStr(pl, null, 'height'); - - if ((val = ed.dom.getAttrib(fe, "width")) != "") - pl.width = f.width.value = val; - - if ((val = ed.dom.getAttrib(fe, "height")) != "") - pl.height = f.height.value = val; - - oldWidth = pl.width ? parseInt(pl.width) : 0; - oldHeight = pl.height ? parseInt(pl.height) : 0; - } else - oldWidth = oldHeight = 0; - - selectByValue(f, 'media_type', type); - changedType(type); - updateColor('bgcolor_pick', 'bgcolor'); + function getVal(id) { + var elm = get(id); - TinyMCE_EditableSelects.init(); - generatePreview(); -} + if (elm.nodeName == "SELECT") + return elm.options[elm.selectedIndex].value; -function insertMedia() { - var fe, f = document.forms[0], h; + if (elm.type == "checkbox") + return elm.checked; - tinyMCEPopup.restoreSelection(); - - if (!AutoValidator.validate(f)) { - tinyMCEPopup.alert(ed.getLang('invalid_data')); - return false; + return elm.value; } - f.width.value = f.width.value == "" ? 100 : f.width.value; - f.height.value = f.height.value == "" ? 100 : f.height.value; - - fe = ed.selection.getNode(); - if (fe != null && /mceItem(Flash|ShockWave|WindowsMedia|QuickTime|RealMedia)/.test(ed.dom.getAttrib(fe, 'class'))) { - switch (f.media_type.options[f.media_type.selectedIndex].value) { - case "flash": - fe.className = "mceItemFlash"; - break; - - case "flv": - fe.className = "mceItemFlashVideo"; - break; - - case "shockwave": - fe.className = "mceItemShockWave"; - break; - - case "qt": - fe.className = "mceItemQuickTime"; - break; - - case "wmp": - fe.className = "mceItemWindowsMedia"; - break; - - case "rmp": - fe.className = "mceItemRealMedia"; - break; - } - - if (fe.width != f.width.value || fe.height != f.height.value) - ed.execCommand('mceRepaint'); - - fe.title = serializeParameters(); - fe.width = f.width.value; - fe.height = f.height.value; - fe.style.width = f.width.value + (f.width.value.indexOf('%') == -1 ? 'px' : ''); - fe.style.height = f.height.value + (f.height.value.indexOf('%') == -1 ? 'px' : ''); - fe.align = f.align.options[f.align.selectedIndex].value; - } else { - h = '<img src="' + tinyMCEPopup.getWindowArg("plugin_url") + '/img/trans.gif"' ; - - switch (f.media_type.options[f.media_type.selectedIndex].value) { - case "flash": - h += ' class="mceItemFlash"'; - break; - - case "flv": - h += ' class="mceItemFlashVideo"'; - break; - - case "shockwave": - h += ' class="mceItemShockWave"'; - break; - - case "qt": - h += ' class="mceItemQuickTime"'; - break; - - case "wmp": - h += ' class="mceItemWindowsMedia"'; - break; - - case "rmp": - h += ' class="mceItemRealMedia"'; - break; + function setVal(id, value) { + if (typeof(value) != 'undefined') { + var elm = get(id); + + if (elm.nodeName == "SELECT") + selectByValue(document.forms[0], id, value); + else if (elm.type == "checkbox") { + if (typeof(value) == 'string') + elm.checked = value.toLowerCase() === 'true' ? true : false; + else + elm.checked = !!value; + } else + elm.value = value; } - - h += ' title="' + serializeParameters() + '"'; - h += ' width="' + f.width.value + '"'; - h += ' height="' + f.height.value + '"'; - h += ' align="' + f.align.options[f.align.selectedIndex].value + '"'; - - h += ' />'; - - ed.execCommand('mceInsertContent', false, h); } - tinyMCEPopup.close(); -} - -function updatePreview() { - var f = document.forms[0], type; - - f.width.value = f.width.value || '320'; - f.height.value = f.height.value || '240'; - - type = getType(f.src.value); - selectByValue(f, 'media_type', type); - changedType(type); - generatePreview(); -} - -function getMediaListHTML() { - if (typeof(tinyMCEMediaList) != "undefined" && tinyMCEMediaList.length > 0) { - var html = ""; - - html += '<select id="linklist" name="linklist" style="width: 250px" onchange="this.form.src.value=this.options[this.selectedIndex].value;updatePreview();">'; - html += '<option value="">---</option>'; - - for (var i=0; i<tinyMCEMediaList.length; i++) - html += '<option value="' + tinyMCEMediaList[i][1] + '">' + tinyMCEMediaList[i][0] + '</option>'; - - html += '</select>'; - - return html; - } - - return ""; -} - -function getType(v) { - var fo, i, c, el, x, f = document.forms[0]; - - fo = ed.getParam("media_types", "flash=swf;flv=flv;shockwave=dcr;qt=mov,qt,mpg,mp3,mp4,mpeg;shockwave=dcr;wmp=avi,wmv,wm,asf,asx,wmx,wvx;rmp=rm,ra,ram").split(';'); - - // YouTube - if (v.match(/watch\?v=(.+)(.*)/)) { - f.width.value = '425'; - f.height.value = '350'; - f.src.value = 'http://www.youtube.com/v/' + v.match(/v=(.*)(.*)/)[0].split('=')[1]; - return 'flash'; - } - - // Google video - if (v.indexOf('http://video.google.com/videoplay?docid=') == 0) { - f.width.value = '425'; - f.height.value = '326'; - f.src.value = 'http://video.google.com/googleplayer.swf?docId=' + v.substring('http://video.google.com/videoplay?docid='.length) + '&hl=en'; - return 'flash'; - } - - for (i=0; i<fo.length; i++) { - c = fo[i].split('='); - - el = c[1].split(','); - for (x=0; x<el.length; x++) - if (v.indexOf('.' + el[x]) != -1) - return c[0]; - } - - return null; -} - -function switchType(v) { - var t = getType(v), d = document, f = d.forms[0]; - - if (!t) - return; - - selectByValue(d.forms[0], 'media_type', t); - changedType(t); - - // Update qtsrc also - if (t == 'qt' && f.src.value.toLowerCase().indexOf('rtsp://') != -1) { - alert(ed.getLang("media_qt_stream_warn")); - - if (f.qt_qtsrc.value == '') - f.qt_qtsrc.value = f.src.value; - } -} - -function changedType(t) { - var d = document; - - d.getElementById('flash_options').style.display = 'none'; - d.getElementById('flv_options').style.display = 'none'; - d.getElementById('qt_options').style.display = 'none'; - d.getElementById('shockwave_options').style.display = 'none'; - d.getElementById('wmp_options').style.display = 'none'; - d.getElementById('rmp_options').style.display = 'none'; - - if (t) - d.getElementById(t + '_options').style.display = 'block'; -} - -function serializeParameters() { - var d = document, f = d.forms[0], s = ''; - - switch (f.media_type.options[f.media_type.selectedIndex].value) { - case "flash": - s += getBool('flash', 'play', true); - s += getBool('flash', 'loop', true); - s += getBool('flash', 'menu', true); - s += getBool('flash', 'swliveconnect', false); - s += getStr('flash', 'quality'); - s += getStr('flash', 'scale'); - s += getStr('flash', 'salign'); - s += getStr('flash', 'wmode'); - s += getStr('flash', 'base'); - s += getStr('flash', 'flashvars'); - break; - - case "qt": - s += getBool('qt', 'loop', false); - s += getBool('qt', 'autoplay', true); - s += getBool('qt', 'cache', false); - s += getBool('qt', 'controller', true); - s += getBool('qt', 'correction', false, 'none', 'full'); - s += getBool('qt', 'enablejavascript', false); - s += getBool('qt', 'kioskmode', false); - s += getBool('qt', 'autohref', false); - s += getBool('qt', 'playeveryframe', false); - s += getBool('qt', 'targetcache', false); - s += getStr('qt', 'scale'); - s += getStr('qt', 'starttime'); - s += getStr('qt', 'endtime'); - s += getStr('qt', 'target'); - s += getStr('qt', 'qtsrcchokespeed'); - s += getStr('qt', 'volume'); - s += getStr('qt', 'qtsrc'); - break; - - case "shockwave": - s += getBool('shockwave', 'sound'); - s += getBool('shockwave', 'progress'); - s += getBool('shockwave', 'autostart'); - s += getBool('shockwave', 'swliveconnect'); - s += getStr('shockwave', 'swvolume'); - s += getStr('shockwave', 'swstretchstyle'); - s += getStr('shockwave', 'swstretchhalign'); - s += getStr('shockwave', 'swstretchvalign'); - break; - - case "wmp": - s += getBool('wmp', 'autostart', true); - s += getBool('wmp', 'enabled', false); - s += getBool('wmp', 'enablecontextmenu', true); - s += getBool('wmp', 'fullscreen', false); - s += getBool('wmp', 'invokeurls', true); - s += getBool('wmp', 'mute', false); - s += getBool('wmp', 'stretchtofit', false); - s += getBool('wmp', 'windowlessvideo', false); - s += getStr('wmp', 'balance'); - s += getStr('wmp', 'baseurl'); - s += getStr('wmp', 'captioningid'); - s += getStr('wmp', 'currentmarker'); - s += getStr('wmp', 'currentposition'); - s += getStr('wmp', 'defaultframe'); - s += getStr('wmp', 'playcount'); - s += getStr('wmp', 'rate'); - s += getStr('wmp', 'uimode'); - s += getStr('wmp', 'volume'); - break; - - case "rmp": - s += getBool('rmp', 'autostart', false); - s += getBool('rmp', 'loop', false); - s += getBool('rmp', 'autogotourl', true); - s += getBool('rmp', 'center', false); - s += getBool('rmp', 'imagestatus', true); - s += getBool('rmp', 'maintainaspect', false); - s += getBool('rmp', 'nojava', false); - s += getBool('rmp', 'prefetch', false); - s += getBool('rmp', 'shuffle', false); - s += getStr('rmp', 'console'); - s += getStr('rmp', 'controls'); - s += getStr('rmp', 'numloop'); - s += getStr('rmp', 'scriptcallbacks'); - break; - } - - s += getStr(null, 'id'); - s += getStr(null, 'name'); - s += getStr(null, 'src'); - s += getStr(null, 'align'); - s += getStr(null, 'bgcolor'); - s += getInt(null, 'vspace'); - s += getInt(null, 'hspace'); - s += getStr(null, 'width'); - s += getStr(null, 'height'); - - s = s.length > 0 ? s.substring(0, s.length - 1) : s; - - return s; -} - -function setBool(pl, p, n) { - if (typeof(pl[n]) == "undefined") - return; - - document.forms[0].elements[p + "_" + n].checked = pl[n] != 'false'; -} - -function setStr(pl, p, n) { - var f = document.forms[0], e = f.elements[(p != null ? p + "_" : '') + n]; - - if (typeof(pl[n]) == "undefined") - return; - - if (e.type == "text") - e.value = pl[n]; - else - selectByValue(f, (p != null ? p + "_" : '') + n, pl[n]); -} - -function getBool(p, n, d, tv, fv) { - var v = document.forms[0].elements[p + "_" + n].checked; - - tv = typeof(tv) == 'undefined' ? 'true' : "'" + jsEncode(tv) + "'"; - fv = typeof(fv) == 'undefined' ? 'false' : "'" + jsEncode(fv) + "'"; - - return (v == d) ? '' : n + (v ? ':' + tv + ',' : ":\'" + fv + "\',"); -} - -function getStr(p, n, d) { - var e = document.forms[0].elements[(p != null ? p + "_" : "") + n]; - var v = e.type == "text" ? e.value : e.options[e.selectedIndex].value; - - if (n == 'src') - v = tinyMCEPopup.editor.convertURL(v, 'src', null); - - return ((n == d || v == '') ? '' : n + ":'" + jsEncode(v) + "',"); -} - -function getInt(p, n, d) { - var e = document.forms[0].elements[(p != null ? p + "_" : "") + n]; - var v = e.type == "text" ? e.value : e.options[e.selectedIndex].value; - - return ((n == d || v == '') ? '' : n + ":" + v.replace(/[^0-9]+/g, '') + ","); -} - -function jsEncode(s) { - s = s.replace(new RegExp('\\\\', 'g'), '\\\\'); - s = s.replace(new RegExp('"', 'g'), '\\"'); - s = s.replace(new RegExp("'", 'g'), "\\'"); + window.Media = { + init : function() { + var html, editor; + + this.editor = editor = tinyMCEPopup.editor; + + // Setup file browsers and color pickers + get('filebrowsercontainer').innerHTML = getBrowserHTML('filebrowser','src','media','media'); + get('qtsrcfilebrowsercontainer').innerHTML = getBrowserHTML('qtsrcfilebrowser','quicktime_qtsrc','media','media'); + get('bgcolor_pickcontainer').innerHTML = getColorPickerHTML('bgcolor_pick','bgcolor'); + get('video_altsource1_filebrowser').innerHTML = getBrowserHTML('filebrowser_altsource1','video_altsource1','media','media'); + get('video_altsource2_filebrowser').innerHTML = getBrowserHTML('filebrowser_altsource2','video_altsource2','media','media'); + get('video_poster_filebrowser').innerHTML = getBrowserHTML('filebrowser_poster','video_poster','media','image'); + + html = this.getMediaListHTML('medialist', 'src', 'media', 'media'); + if (html == "") + get("linklistrow").style.display = 'none'; + else + get("linklistcontainer").innerHTML = html; + + if (isVisible('filebrowser')) + get('src').style.width = '230px'; + + if (isVisible('filebrowser_altsource1')) + get('video_altsource1').style.width = '220px'; + + if (isVisible('filebrowser_altsource2')) + get('video_altsource2').style.width = '220px'; + + if (isVisible('filebrowser_poster')) + get('video_poster').style.width = '220px'; + + this.data = tinyMCEPopup.getWindowArg('data'); + this.dataToForm(); + this.preview(); + }, + + insert : function() { + var editor = tinyMCEPopup.editor; + + this.formToData(); + editor.execCommand('mceRepaint'); + tinyMCEPopup.restoreSelection(); + editor.selection.setNode(editor.plugins.media.dataToImg(this.data)); + tinyMCEPopup.close(); + }, + + preview : function() { + get('prev').innerHTML = this.editor.plugins.media.dataToHtml(this.data, true); + }, + + moveStates : function(to_form, field) { + var data = this.data, editor = this.editor, data = this.data, + mediaPlugin = editor.plugins.media, ext, src, typeInfo, defaultStates, src; + + defaultStates = { + // QuickTime + quicktime_autoplay : true, + quicktime_controller : true, + + // Flash + flash_play : true, + flash_loop : true, + flash_menu : true, + + // WindowsMedia + windowsmedia_autostart : true, + windowsmedia_enablecontextmenu : true, + windowsmedia_invokeurls : true, + + // RealMedia + realmedia_autogotourl : true, + realmedia_imagestatus : true + }; + + function parseQueryParams(str) { + var out = {}; + + if (str) { + tinymce.each(str.split('&'), function(item) { + var parts = item.split('='); + + out[unescape(parts[0])] = unescape(parts[1]); + }); + } + + return out; + }; + + function setOptions(type, names) { + var i, name, formItemName, value, list; + + if (type == data.type || type == 'global') { + names = tinymce.explode(names); + for (i = 0; i < names.length; i++) { + name = names[i]; + formItemName = type == 'global' ? name : type + '_' + name; + + if (type == 'global') + list = data; + else if (type == 'video') { + list = data.video.attrs; + + if (!list && !to_form) + data.video.attrs = list = {}; + } else + list = data.params; + + if (list) { + if (to_form) { + setVal(formItemName, list[name]); + } else { + delete list[name]; + + value = getVal(formItemName); + if (type == 'video' && value === true) + value = name; + + if (defaultStates[formItemName]) { + if (value !== defaultStates[formItemName]) { + value = "" + value; + list[name] = value; + } + } else if (value) { + value = "" + value; + list[name] = value; + } + } + } + } + } + } - return s; -} + if (!to_form) { + data.type = get('media_type').options[get('media_type').selectedIndex].value; + data.width = getVal('width'); + data.height = getVal('height'); -function generatePreview(c) { - var f = document.forms[0], p = document.getElementById('prev'), h = '', cls, pl, n, type, codebase, wp, hp, nw, nh; + // Switch type based on extension + src = getVal('src'); + if (field == 'src') { + ext = src.replace(/^.*\.([^.]+)$/, '$1'); + if (typeInfo = mediaPlugin.getType(ext)) + data.type = typeInfo.name.toLowerCase(); - p.innerHTML = '<!-- x --->'; + setVal('media_type', data.type); + } - nw = parseInt(f.width.value); - nh = parseInt(f.height.value); + if (data.type == "video") { + if (!data.video.sources) + data.video.sources = []; - if (f.width.value != "" && f.height.value != "") { - if (f.constrain.checked) { - if (c == 'width' && oldWidth != 0) { - wp = nw / oldWidth; - nh = Math.round(wp * nh); - f.height.value = nh; - } else if (c == 'height' && oldHeight != 0) { - hp = nh / oldHeight; - nw = Math.round(hp * nw); - f.width.value = nw; + data.video.sources[0] = {src: getVal('src')}; + } } - } - } - if (f.width.value != "") - oldWidth = nw; - - if (f.height.value != "") - oldHeight = nh; - - // After constrain - pl = serializeParameters(); - - switch (f.media_type.options[f.media_type.selectedIndex].value) { - case "flash": - cls = 'clsid:D27CDB6E-AE6D-11cf-96B8-444553540000'; - codebase = 'http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0'; - type = 'application/x-shockwave-flash'; - break; - - case "shockwave": - cls = 'clsid:166B1BCA-3F9C-11CF-8075-444553540000'; - codebase = 'http://download.macromedia.com/pub/shockwave/cabs/director/sw.cab#version=8,5,1,0'; - type = 'application/x-director'; - break; - - case "qt": - cls = 'clsid:02BF25D5-8C17-4B23-BC80-D3488ABDDC6B'; - codebase = 'http://www.apple.com/qtactivex/qtplugin.cab#version=6,0,2,0'; - type = 'video/quicktime'; - break; - - case "wmp": - cls = ed.getParam('media_wmp6_compatible') ? 'clsid:05589FA1-C356-11CE-BF01-00AA0055595A' : 'clsid:6BF52A52-394A-11D3-B153-00C04F79FAA6'; - codebase = 'http://activex.microsoft.com/activex/controls/mplayer/en/nsmp2inf.cab#Version=5,1,52,701'; - type = 'application/x-mplayer2'; - break; - - case "rmp": - cls = 'clsid:CFCDAA03-8BE4-11cf-B84B-0020AFBBCCFA'; - codebase = 'http://activex.microsoft.com/activex/controls/mplayer/en/nsmp2inf.cab#Version=5,1,52,701'; - type = 'audio/x-pn-realaudio-plugin'; - break; - } - - if (pl == '') { - p.innerHTML = ''; - return; - } + // Hide all fieldsets and show the one active + get('video_options').style.display = 'none'; + get('flash_options').style.display = 'none'; + get('quicktime_options').style.display = 'none'; + get('shockwave_options').style.display = 'none'; + get('windowsmedia_options').style.display = 'none'; + get('realmedia_options').style.display = 'none'; + + if (get(data.type + '_options')) + get(data.type + '_options').style.display = 'block'; + + setVal('media_type', data.type); + + setOptions('flash', 'play,loop,menu,swliveconnect,quality,scale,salign,wmode,base,flashvars'); + setOptions('quicktime', 'loop,autoplay,cache,controller,correction,enablejavascript,kioskmode,autohref,playeveryframe,targetcache,scale,starttime,endtime,target,qtsrcchokespeed,volume,qtsrc'); + setOptions('shockwave', 'sound,progress,autostart,swliveconnect,swvolume,swstretchstyle,swstretchhalign,swstretchvalign'); + setOptions('windowsmedia', 'autostart,enabled,enablecontextmenu,fullscreen,invokeurls,mute,stretchtofit,windowlessvideo,balance,baseurl,captioningid,currentmarker,currentposition,defaultframe,playcount,rate,uimode,volume'); + setOptions('realmedia', 'autostart,loop,autogotourl,center,imagestatus,maintainaspect,nojava,prefetch,shuffle,console,controls,numloop,scriptcallbacks'); + setOptions('video', 'poster,autoplay,loop,preload,controls'); + setOptions('global', 'id,name,vspace,hspace,bgcolor,align,width,height'); + + if (to_form) { + if (data.type == 'video') { + if (data.video.sources[0]) + setVal('src', data.video.sources[0].src); + + src = data.video.sources[1]; + if (src) + setVal('video_altsource1', src.src); + + src = data.video.sources[2]; + if (src) + setVal('video_altsource2', src.src); + } else { + // Check flash vars + if (data.type == 'flash') { + tinymce.each(editor.getParam('flash_video_player_flashvars', {url : '$url', poster : '$poster'}), function(value, name) { + if (value == '$url') + data.params.src = parseQueryParams(data.params.flashvars)[name] || data.params.src; + }); + } + + setVal('src', data.params.src); + } + } else { + src = getVal("src"); + + // YouTube + if (src.match(/youtube.com(.+)v=([^&]+)/)) { + data.width = 425; + data.height = 350; + data.params.frameborder = '0'; + data.type = 'iframe'; + src = 'http://www.youtube.com/embed/' + src.match(/v=([^&]+)/)[1]; + setVal('src', src); + setVal('media_type', data.type); + } + + // Google video + if (src.match(/video.google.com(.+)docid=([^&]+)/)) { + data.width = 425; + data.height = 326; + data.type = 'flash'; + src = 'http://video.google.com/googleplayer.swf?docId=' + src.match(/docid=([^&]+)/)[1] + '&hl=en'; + setVal('src', src); + setVal('media_type', data.type); + } + + if (data.type == 'video') { + if (!data.video.sources) + data.video.sources = []; + + data.video.sources[0] = {src : src}; + + src = getVal("video_altsource1"); + if (src) + data.video.sources[1] = {src : src}; + + src = getVal("video_altsource2"); + if (src) + data.video.sources[2] = {src : src}; + } else + data.params.src = src; + + // Set default size + setVal('width', data.width || 320); + setVal('height', data.height || 240); + } + }, + + dataToForm : function() { + this.moveStates(true); + }, + + formToData : function(field) { + if (field == "width" || field == "height") + this.changeSize(field); + + if (field == 'source') { + this.moveStates(false, field); + setVal('source', this.editor.plugins.media.dataToHtml(this.data)); + this.panel = 'source'; + } else { + if (this.panel == 'source') { + this.data = this.editor.plugins.media.htmlToData(getVal('source')); + this.dataToForm(); + this.panel = ''; + } + + this.moveStates(false, field); + this.preview(); + } + }, + + beforeResize : function() { + this.width = parseInt(getVal('width') || "320", 10); + this.height = parseInt(getVal('height') || "240", 10); + }, + + changeSize : function(type) { + var width, height, scale, size; + + if (get('constrain').checked) { + width = parseInt(getVal('width') || "320", 10); + height = parseInt(getVal('height') || "240", 10); + + if (type == 'width') { + this.height = Math.round((width / this.width) * height); + setVal('height', this.height); + } else { + this.width = Math.round((height / this.height) * width); + setVal('width', this.width); + } + } + }, - pl = tinyMCEPopup.editor.plugins.media._parse(pl); + getMediaListHTML : function() { + if (typeof(tinyMCEMediaList) != "undefined" && tinyMCEMediaList.length > 0) { + var html = ""; - if (!pl.src) { - p.innerHTML = ''; - return; - } + html += '<select id="linklist" name="linklist" style="width: 250px" onchange="this.form.src.value=this.options[this.selectedIndex].value;Media.formToData(\'src\');">'; + html += '<option value="">---</option>'; - pl.src = tinyMCEPopup.editor.documentBaseURI.toAbsolute(pl.src); - pl.width = !pl.width ? 100 : pl.width; - pl.height = !pl.height ? 100 : pl.height; - pl.id = !pl.id ? 'obj' : pl.id; - pl.name = !pl.name ? 'eobj' : pl.name; - pl.align = !pl.align ? '' : pl.align; + for (var i=0; i<tinyMCEMediaList.length; i++) + html += '<option value="' + tinyMCEMediaList[i][1] + '">' + tinyMCEMediaList[i][0] + '</option>'; - // Avoid annoying warning about insecure items - if (!tinymce.isIE || document.location.protocol != 'https:') { - h += '<object classid="' + cls + '" codebase="' + codebase + '" width="' + pl.width + '" height="' + pl.height + '" id="' + pl.id + '" name="' + pl.name + '" align="' + pl.align + '">'; + html += '</select>'; - for (n in pl) { - h += '<param name="' + n + '" value="' + pl[n] + '">'; + return html; + } - // Add extra url parameter if it's an absolute URL - if (n == 'src' && pl[n].indexOf('://') != -1) - h += '<param name="url" value="' + pl[n] + '" />'; + return ""; } - } - - h += '<embed type="' + type + '" '; - - for (n in pl) - h += n + '="' + pl[n] + '" '; - - h += '></embed>'; - - // Avoid annoying warning about insecure items - if (!tinymce.isIE || document.location.protocol != 'https:') - h += '</object>'; - - p.innerHTML = "<!-- x --->" + h; -} + }; -tinyMCEPopup.onInit.add(init); + tinyMCEPopup.requireLangPack(); + tinyMCEPopup.onInit.add(function() { + Media.init(); + }); +})(); \ No newline at end of file diff --git a/wp-includes/js/tinymce/plugins/media/media.htm b/wp-includes/js/tinymce/plugins/media/media.htm index 0ab7ba646..edc2b0fcc 100644 --- a/wp-includes/js/tinymce/plugins/media/media.htm +++ b/wp-includes/js/tinymce/plugins/media/media.htm @@ -2,20 +2,21 @@ <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>{#media_dlg.title}</title> - <script type="text/javascript" src="../../tiny_mce_popup.js?ver=327-1235"></script> - <script type="text/javascript" src="js/media.js?ver=327-1235"></script> - <script type="text/javascript" src="../../utils/mctabs.js?ver=327-1235"></script> - <script type="text/javascript" src="../../utils/validate.js?ver=327-1235"></script> - <script type="text/javascript" src="../../utils/form_utils.js?ver=327-1235"></script> - <script type="text/javascript" src="../../utils/editable_selects.js?ver=327-1235"></script> - <link href="css/media.css?ver=327-1235" rel="stylesheet" type="text/css" /> + <script type="text/javascript" src="../../tiny_mce_popup.js?ver=342-20110407"></script> + <script type="text/javascript" src="js/media.js?ver=342-20110407"></script> + <script type="text/javascript" src="../../utils/mctabs.js?ver=342-20110407"></script> + <script type="text/javascript" src="../../utils/validate.js?ver=342-20110407"></script> + <script type="text/javascript" src="../../utils/form_utils.js?ver=342-20110407"></script> + <script type="text/javascript" src="../../utils/editable_selects.js?ver=342-20110407"></script> + <link href="css/media.css?ver=342-20110407" rel="stylesheet" type="text/css" /> </head> -<body style="display: none"> - <form onsubmit="insertMedia();return false;" action="#"> - <div class="tabs"> +<body style="display: none" role="application"> +<form onsubmit="Media.insert();return false;" action="#"> + <div class="tabs" role="presentation"> <ul> - <li id="general_tab" class="current"><span><a href="javascript:mcTabs.displayTab('general_tab','general_panel');generatePreview();" onmousedown="return false;">{#media_dlg.general}</a></span></li> - <li id="advanced_tab"><span><a href="javascript:mcTabs.displayTab('advanced_tab','advanced_panel');" onmousedown="return false;">{#media_dlg.advanced}</a></span></li> + <li id="general_tab" class="current" aria-controls="general_panel"><span><a href="javascript:mcTabs.displayTab('general_tab','general_panel');Media.formToData();" onmousedown="return false;">{#media_dlg.general}</a></span></li> + <li id="advanced_tab" aria-controls="advanced_panel"><span><a href="javascript:mcTabs.displayTab('advanced_tab','advanced_panel');Media.formToData();" onmousedown="return false;">{#media_dlg.advanced}</a></span></li> + <li id="source_tab" aria-controls="source_panel"><span><a href="javascript:mcTabs.displayTab('source_tab','source_panel');Media.formToData('source');" onmousedown="return false;">{#media_dlg.source}</a></span></li> </ul> </div> @@ -24,28 +25,29 @@ <fieldset> <legend>{#media_dlg.general}</legend> - <table border="0" cellpadding="4" cellspacing="0"> + <table role="presentation" border="0" cellpadding="4" cellspacing="0"> <tr> <td><label for="media_type">{#media_dlg.type}</label></td> <td> - <select id="media_type" name="media_type" onchange="changedType(this.value);generatePreview();"> + <select id="media_type" name="media_type" onchange="Media.formToData('type');"> + <option value="video">HTML5 Video</option> <option value="flash">Flash</option> - <!-- <option value="flv">Flash video (FLV)</option> --> - <option value="qt">Quicktime</option> + <option value="quicktime">QuickTime</option> <option value="shockwave">Shockwave</option> - <option value="wmp">Windows Media</option> - <option value="rmp">Real Media</option> + <option value="windowsmedia">Windows Media</option> + <option value="realmedia">Real Media</option> + <option value="iframe">Iframe</option> </select> </td> </tr> <tr> <td><label for="src">{#media_dlg.file}</label></td> - <td> - <table border="0" cellspacing="0" cellpadding="0"> - <tr> - <td><input id="src" name="src" type="text" value="" class="mceFocus" onchange="switchType(this.value);generatePreview();" /></td> + <td> + <table role="presentation" border="0" cellspacing="0" cellpadding="0"> + <tr> + <td><input id="src" name="src" type="text" value="" class="mceFocus" onchange="Media.formToData();" /></td> <td id="filebrowsercontainer"> </td> - </tr> + </tr> </table> </td> </tr> @@ -56,10 +58,10 @@ <tr> <td><label for="width">{#media_dlg.size}</label></td> <td> - <table border="0" cellpadding="0" cellspacing="0"> + <table role="presentation" border="0" cellpadding="0" cellspacing="0"> <tr> - <td><input type="text" id="width" name="width" value="" class="size" onchange="generatePreview('width');" /> x <input type="text" id="height" name="height" value="" class="size" onchange="generatePreview('height');" /></td> - <td> <input id="constrain" type="checkbox" name="constrain" class="checkbox" /></td> + <td><input type="text" id="width" name="width" value="" class="size" onchange="Media.formToData('width');" onfocus="Media.beforeResize();" /> x <input type="text" id="height" name="height" value="" class="size" onfocus="Media.beforeResize();" onchange="Media.formToData('height');" /></td> + <td> <input id="constrain" type="checkbox" name="constrain" class="checkbox" checked="checked" /></td> <td><label id="constrainlabel" for="constrain">{#media_dlg.constrain_proportions}</label></td> </tr> </table> @@ -78,18 +80,18 @@ <fieldset> <legend>{#media_dlg.advanced}</legend> - <table border="0" cellpadding="4" cellspacing="0" width="100%"> + <table role="presentation" border="0" cellpadding="4" cellspacing="0" width="100%"> <tr> <td><label for="id">{#media_dlg.id}</label></td> - <td><input type="text" id="id" name="id" onchange="generatePreview();" /></td> + <td><input type="text" id="id" name="id" onchange="Media.formToData();" /></td> <td><label for="name">{#media_dlg.name}</label></td> - <td><input type="text" id="name" name="name" onchange="generatePreview();" /></td> + <td><input type="text" id="name" name="name" onchange="Media.formToData();" /></td> </tr> <tr> <td><label for="align">{#media_dlg.align}</label></td> <td> - <select id="align" name="align" onchange="generatePreview();"> + <select id="align" name="align" onchange="Media.formToData();"> <option value="">{#not_set}</option> <option value="top">{#media_dlg.align_top}</option> <option value="right">{#media_dlg.align_right}</option> @@ -100,9 +102,9 @@ <td><label for="bgcolor">{#media_dlg.bgcolor}</label></td> <td> - <table border="0" cellpadding="0" cellspacing="0"> + <table role="presentation" border="0" cellpadding="0" cellspacing="0"> <tr> - <td><input id="bgcolor" name="bgcolor" type="text" value="" size="9" onchange="updateColor('bgcolor_pick','bgcolor');generatePreview();" /></td> + <td><input id="bgcolor" name="bgcolor" type="text" value="" size="9" onchange="updateColor('bgcolor_pick','bgcolor');Media.formToData();" /></td> <td id="bgcolor_pickcontainer"> </td> </tr> </table> @@ -111,9 +113,91 @@ <tr> <td><label for="vspace">{#media_dlg.vspace}</label></td> - <td><input type="text" id="vspace" name="vspace" class="number" onchange="generatePreview();" /></td> + <td><input type="text" id="vspace" name="vspace" class="number" onchange="Media.formToData();" /></td> <td><label for="hspace">{#media_dlg.hspace}</label></td> - <td><input type="text" id="hspace" name="hspace" class="number" onchange="generatePreview();" /></td> + <td><input type="text" id="hspace" name="hspace" class="number" onchange="Media.formToData();" /></td> + </tr> + </table> + </fieldset> + + <fieldset id="video_options"> + <legend>{#media_dlg.html5_video_options}</legend> + + <table role="presentation"> + <tr> + <td><label for="video_altsource1">{#media_dlg.altsource1}</label></td> + <td> + <table role="presentation" border="0" cellspacing="0" cellpadding="0"> + <tr> + <td><input type="text" id="video_altsource1" name="video_altsource1" onchange="Media.formToData();" style="width: 240px" /></td> + <td id="video_altsource1_filebrowser"> </td> + </tr> + </table> + </td> + </tr> + + <tr> + <td><label for="video_altsource2">{#media_dlg.altsource2}</label></td> + <td> + <table role="presentation" border="0" cellspacing="0" cellpadding="0"> + <tr> + <td><input type="text" id="video_altsource2" name="video_altsource2" onchange="Media.formToData();" style="width: 240px" /></td> + <td id="video_altsource2_filebrowser"> </td> + </tr> + </table> + </td> + </tr> + + <tr> + <td><label for="video_poster">{#media_dlg.poster}</label></td> + <td> + <table role="presentation" border="0" cellspacing="0" cellpadding="0"> + <tr> + <td><input type="text" id="video_poster" name="video_poster" onchange="Media.formToData();" style="width: 240px" /></td> + <td id="video_poster_filebrowser"> </td> + </tr> + </table> + </td> + </tr> + </table> + + <table role="presentation" border="0" cellpadding="4" cellspacing="0"> + <tr> + <td> + <table role="presentation" border="0" cellpadding="0" cellspacing="0"> + <tr> + <td><input type="checkbox" class="checkbox" id="video_autoplay" name="video_autoplay" onchange="Media.formToData();" /></td> + <td><label for="video_autoplay">{#media_dlg.play}</label></td> + </tr> + </table> + </td> + + <td> + <table role="presentation" border="0" cellpadding="0" cellspacing="0"> + <tr> + <td><input type="checkbox" class="checkbox" id="video_loop" name="video_loop" onchange="Media.formToData();" /></td> + <td><label for="video_loop">{#media_dlg.loop}</label></td> + </tr> + </table> + </td> + + <td> + <table role="presentation" border="0" cellpadding="0" cellspacing="0"> + <tr> + <td><input type="checkbox" class="checkbox" id="video_preload" name="video_preload" onchange="Media.formToData();" /></td> + <td><label for="video_preload">{#media_dlg.preload}</label></td> + </tr> + </table> + </td> + + <td> + <table role="presentation" border="0" cellpadding="0" cellspacing="0"> + <tr> + <td><input type="checkbox" class="checkbox" id="video_controls" name="video_controls" onchange="Media.formToData();" /></td> + <td><label for="video_controls">{#media_dlg.controls}</label></td> + </tr> + </table> + </td> </tr> </table> </fieldset> @@ -121,11 +205,11 @@ <fieldset id="flash_options"> <legend>{#media_dlg.flash_options}</legend> - <table border="0" cellpadding="4" cellspacing="0"> + <table role="presentation" border="0" cellpadding="4" cellspacing="0"> <tr> <td><label for="flash_quality">{#media_dlg.quality}</label></td> <td> - <select id="flash_quality" name="flash_quality" onchange="generatePreview();"> + <select id="flash_quality" name="flash_quality" onchange="Media.formToData();"> <option value="">{#not_set}</option> <option value="high">high</option> <option value="low">low</option> @@ -137,7 +221,7 @@ <td><label for="flash_scale">{#media_dlg.scale}</label></td> <td> - <select id="flash_scale" name="flash_scale" onchange="generatePreview();"> + <select id="flash_scale" name="flash_scale" onchange="Media.formToData();"> <option value="">{#not_set}</option> <option value="showall">showall</option> <option value="noborder">noborder</option> @@ -150,7 +234,7 @@ <tr> <td><label for="flash_wmode">{#media_dlg.wmode}</label></td> <td> - <select id="flash_wmode" name="flash_wmode" onchange="generatePreview();"> + <select id="flash_wmode" name="flash_wmode" onchange="Media.formToData();"> <option value="">{#not_set}</option> <option value="window">window</option> <option value="opaque">opaque</option> @@ -160,7 +244,7 @@ <td><label for="flash_salign">{#media_dlg.salign}</label></td> <td> - <select id="flash_salign" name="flash_salign" onchange="generatePreview();"> + <select id="flash_salign" name="flash_salign" onchange="Media.formToData();"> <option value="">{#not_set}</option> <option value="l">{#media_dlg.align_left}</option> <option value="t">{#media_dlg.align_top}</option> @@ -176,18 +260,18 @@ <tr> <td colspan="2"> - <table border="0" cellpadding="0" cellspacing="0"> + <table role="presentation" border="0" cellpadding="0" cellspacing="0"> <tr> - <td><input type="checkbox" class="checkbox" id="flash_play" name="flash_play" checked="checked" onchange="generatePreview();" /></td> + <td><input type="checkbox" class="checkbox" id="flash_play" name="flash_play" checked="checked" onchange="Media.formToData();" /></td> <td><label for="flash_play">{#media_dlg.play}</label></td> </tr> </table> </td> <td colspan="2"> - <table border="0" cellpadding="0" cellspacing="0"> + <table role="presentation" border="0" cellpadding="0" cellspacing="0"> <tr> - <td><input type="checkbox" class="checkbox" id="flash_loop" name="flash_loop" checked="checked" onchange="generatePreview();" /></td> + <td><input type="checkbox" class="checkbox" id="flash_loop" name="flash_loop" checked="checked" onchange="Media.formToData();" /></td> <td><label for="flash_loop">{#media_dlg.loop}</label></td> </tr> </table> @@ -196,18 +280,18 @@ <tr> <td colspan="2"> - <table border="0" cellpadding="0" cellspacing="0"> + <table role="presentation" border="0" cellpadding="0" cellspacing="0"> <tr> - <td><input type="checkbox" class="checkbox" id="flash_menu" name="flash_menu" checked="checked" onchange="generatePreview();" /></td> + <td><input type="checkbox" class="checkbox" id="flash_menu" name="flash_menu" checked="checked" onchange="Media.formToData();" /></td> <td><label for="flash_menu">{#media_dlg.menu}</label></td> </tr> </table> </td> <td colspan="2"> - <table border="0" cellpadding="0" cellspacing="0"> + <table role="presentation" border="0" cellpadding="0" cellspacing="0"> <tr> - <td><input type="checkbox" class="checkbox" id="flash_swliveconnect" name="flash_swliveconnect" onchange="generatePreview();" /></td> + <td><input type="checkbox" class="checkbox" id="flash_swliveconnect" name="flash_swliveconnect" onchange="Media.formToData();" /></td> <td><label for="flash_swliveconnect">{#media_dlg.liveconnect}</label></td> </tr> </table> @@ -215,134 +299,38 @@ </tr> </table> - <table> + <table role="presentation"> <tr> <td><label for="flash_base">{#media_dlg.base}</label></td> - <td><input type="text" id="flash_base" name="flash_base" onchange="generatePreview();" /></td> + <td><input type="text" id="flash_base" name="flash_base" onchange="Media.formToData();" /></td> </tr> <tr> <td><label for="flash_flashvars">{#media_dlg.flashvars}</label></td> - <td><input type="text" id="flash_flashvars" name="flash_flashvars" onchange="generatePreview();" /></td> + <td><input type="text" id="flash_flashvars" name="flash_flashvars" onchange="Media.formToData();" /></td> </tr> </table> </fieldset> - <fieldset id="flv_options"> - <legend>{#media_dlg.flv_options}</legend> - - <table border="0" cellpadding="4" cellspacing="0"> - <tr> - <td><label for="flv_scalemode">{#media_dlg.flv_scalemode}</label></td> - <td> - <select id="flv_scalemode" name="flv_scalemode" onchange="generatePreview();"> - <option value="">{#not_set}</option> - <option value="none">none</option> - <option value="double">double</option> - <option value="full">full</option> - </select> - </td> - - <td><label for="flv_buffer">{#media_dlg.flv_buffer}</label></td> - <td><input type="text" id="flv_buffer" name="flv_buffer" onchange="generatePreview();" /></td> - </tr> - - <tr> - <td><label for="flv_startimage">{#media_dlg.flv_startimage}</label></td> - <td><input type="text" id="flv_startimage" name="flv_startimage" onchange="generatePreview();" /></td> - - <td><label for="flv_starttime">{#media_dlg.flv_starttime}</label></td> - <td><input type="text" id="flv_starttime" name="flv_starttime" onchange="generatePreview();" /></td> - </tr> - - <tr> - <td><label for="flv_defaultvolume">{#media_dlg.flv_defaultvolume}</label></td> - <td><input type="text" id="flv_defaultvolume" name="flv_defaultvolume" onchange="generatePreview();" /></td> - - - </tr> - - <tr> - <td colspan="2"> - <table border="0" cellpadding="0" cellspacing="0"> - <tr> - <td><input type="checkbox" class="checkbox" id="flv_hiddengui" name="flv_hiddengui" checked="checked" onchange="generatePreview();" /></td> - <td><label for="flv_hiddengui">{#media_dlg.flv_hiddengui}</label></td> - </tr> - </table> - </td> - - <td colspan="2"> - <table border="0" cellpadding="0" cellspacing="0"> - <tr> - <td><input type="checkbox" class="checkbox" id="flv_autostart" name="flv_autostart" checked="checked" onchange="generatePreview();" /></td> - <td><label for="flv_autostart">{#media_dlg.flv_autostart}</label></td> - </tr> - </table> - </td> - </tr> - - <tr> - <td colspan="2"> - <table border="0" cellpadding="0" cellspacing="0"> - <tr> - <td><input type="checkbox" class="checkbox" id="flv_loop" name="flv_loop" checked="checked" onchange="generatePreview();" /></td> - <td><label for="flv_loop">{#media_dlg.flv_loop}</label></td> - </tr> - </table> - </td> - - <td colspan="2"> - <table border="0" cellpadding="0" cellspacing="0"> - <tr> - <td><input type="checkbox" class="checkbox" id="flv_showscalemodes" name="flv_showscalemodes" onchange="generatePreview();" /></td> - <td><label for="flv_showscalemodes">{#media_dlg.flv_showscalemodes}</label></td> - </tr> - </table> - </td> - </tr> - - <tr> - <td colspan="2"> - <table border="0" cellpadding="0" cellspacing="0"> - <tr> - <td><input type="checkbox" class="checkbox" id="flv_smoothvideo" name="flash_flv_flv_smoothvideosmoothvideo" checked="checked" onchange="generatePreview();" /></td> - <td><label for="flv_smoothvideo">{#media_dlg.flv_smoothvideo}</label></td> - </tr> - </table> - </td> - - <td colspan="2"> - <table border="0" cellpadding="0" cellspacing="0"> - <tr> - <td><input type="checkbox" class="checkbox" id="flv_jscallback" name="flv_jscallback" onchange="generatePreview();" /></td> - <td><label for="flv_jscallback">{#media_dlg.flv_jscallback}</label></td> - </tr> - </table> - </td> - </tr> - </table> - </fieldset> - - <fieldset id="qt_options"> + <fieldset id="quicktime_options"> <legend>{#media_dlg.qt_options}</legend> - <table border="0" cellpadding="4" cellspacing="0"> + <table role="presentation" border="0" cellpadding="4" cellspacing="0"> <tr> <td colspan="2"> - <table border="0" cellpadding="0" cellspacing="0"> + <table role="presentation" border="0" cellpadding="0" cellspacing="0"> <tr> - <td><input type="checkbox" class="checkbox" id="qt_loop" name="qt_loop" onchange="generatePreview();" /></td> - <td><label for="qt_loop">{#media_dlg.loop}</label></td> + <td><input type="checkbox" class="checkbox" id="quicktime_loop" name="quicktime_loop" onchange="Media.formToData();" /></td> + <td><label for="quicktime_loop">{#media_dlg.loop}</label></td> </tr> </table> </td> <td colspan="2"> - <table border="0" cellpadding="0" cellspacing="0"> + <table role="presentation" border="0" cellpadding="0" cellspacing="0"> <tr> - <td><input type="checkbox" class="checkbox" id="qt_autoplay" name="qt_autoplay" checked="checked" onchange="generatePreview();" /></td> - <td><label for="qt_autoplay">{#media_dlg.play}</label></td> + <td><input type="checkbox" class="checkbox" id="quicktime_autoplay" name="quicktime_autoplay" checked="checked" onchange="Media.formToData();" /></td> + <td><label for="quicktime_autoplay">{#media_dlg.play}</label></td> </tr> </table> </td> @@ -350,19 +338,19 @@ <tr> <td colspan="2"> - <table border="0" cellpadding="0" cellspacing="0"> + <table role="presentation" border="0" cellpadding="0" cellspacing="0"> <tr> - <td><input type="checkbox" class="checkbox" id="qt_cache" name="qt_cache" onchange="generatePreview();" /></td> - <td><label for="qt_cache">{#media_dlg.cache}</label></td> + <td><input type="checkbox" class="checkbox" id="quicktime_cache" name="quicktime_cache" onchange="Media.formToData();" /></td> + <td><label for="quicktime_cache">{#media_dlg.cache}</label></td> </tr> </table> </td> <td colspan="2"> - <table border="0" cellpadding="0" cellspacing="0"> + <table role="presentation" border="0" cellpadding="0" cellspacing="0"> <tr> - <td><input type="checkbox" class="checkbox" id="qt_controller" name="qt_controller" checked="checked" onchange="generatePreview();" /></td> - <td><label for="qt_controller">{#media_dlg.controller}</label></td> + <td><input type="checkbox" class="checkbox" id="quicktime_controller" name="quicktime_controller" checked="checked" onchange="Media.formToData();" /></td> + <td><label for="quicktime_controller">{#media_dlg.controller}</label></td> </tr> </table> </td> @@ -370,19 +358,19 @@ <tr> <td colspan="2"> - <table border="0" cellpadding="0" cellspacing="0"> + <table role="presentation" border="0" cellpadding="0" cellspacing="0"> <tr> - <td><input type="checkbox" class="checkbox" id="qt_correction" name="qt_correction" onchange="generatePreview();" /></td> - <td><label for="qt_correction">{#media_dlg.correction}</label></td> + <td><input type="checkbox" class="checkbox" id="quicktime_correction" name="quicktime_correction" onchange="Media.formToData();" /></td> + <td><label for="quicktime_correction">{#media_dlg.correction}</label></td> </tr> </table> </td> <td colspan="2"> - <table border="0" cellpadding="0" cellspacing="0"> + <table role="presentation" border="0" cellpadding="0" cellspacing="0"> <tr> - <td><input type="checkbox" class="checkbox" id="qt_enablejavascript" name="qt_enablejavascript" onchange="generatePreview();" /></td> - <td><label for="qt_enablejavascript">{#media_dlg.enablejavascript}</label></td> + <td><input type="checkbox" class="checkbox" id="quicktime_enablejavascript" name="quicktime_enablejavascript" onchange="Media.formToData();" /></td> + <td><label for="quicktime_enablejavascript">{#media_dlg.enablejavascript}</label></td> </tr> </table> </td> @@ -390,19 +378,19 @@ <tr> <td colspan="2"> - <table border="0" cellpadding="0" cellspacing="0"> + <table role="presentation" border="0" cellpadding="0" cellspacing="0"> <tr> - <td><input type="checkbox" class="checkbox" id="qt_kioskmode" name="qt_kioskmode" onchange="generatePreview();" /></td> - <td><label for="qt_kioskmode">{#media_dlg.kioskmode}</label></td> + <td><input type="checkbox" class="checkbox" id="quicktime_kioskmode" name="quicktime_kioskmode" onchange="Media.formToData();" /></td> + <td><label for="quicktime_kioskmode">{#media_dlg.kioskmode}</label></td> </tr> </table> </td> <td colspan="2"> - <table border="0" cellpadding="0" cellspacing="0"> + <table role="presentation" border="0" cellpadding="0" cellspacing="0"> <tr> - <td><input type="checkbox" class="checkbox" id="qt_autohref" name="qt_autohref" onchange="generatePreview();" /></td> - <td><label for="qt_autohref">{#media_dlg.autohref}</label></td> + <td><input type="checkbox" class="checkbox" id="quicktime_autohref" name="quicktime_autohref" onchange="Media.formToData();" /></td> + <td><label for="quicktime_autohref">{#media_dlg.autohref}</label></td> </tr> </table> </td> @@ -410,27 +398,27 @@ <tr> <td colspan="2"> - <table border="0" cellpadding="0" cellspacing="0"> + <table role="presentation" border="0" cellpadding="0" cellspacing="0"> <tr> - <td><input type="checkbox" class="checkbox" id="qt_playeveryframe" name="qt_playeveryframe" onchange="generatePreview();" /></td> - <td><label for="qt_playeveryframe">{#media_dlg.playeveryframe}</label></td> + <td><input type="checkbox" class="checkbox" id="quicktime_playeveryframe" name="quicktime_playeveryframe" onchange="Media.formToData();" /></td> + <td><label for="quicktime_playeveryframe">{#media_dlg.playeveryframe}</label></td> </tr> </table> </td> <td colspan="2"> - <table border="0" cellpadding="0" cellspacing="0"> + <table role="presentation" border="0" cellpadding="0" cellspacing="0"> <tr> - <td><input type="checkbox" class="checkbox" id="qt_targetcache" name="qt_targetcache" onchange="generatePreview();" /></td> - <td><label for="qt_targetcache">{#media_dlg.targetcache}</label></td> + <td><input type="checkbox" class="checkbox" id="quicktime_targetcache" name="quicktime_targetcache" onchange="Media.formToData();" /></td> + <td><label for="quicktime_targetcache">{#media_dlg.targetcache}</label></td> </tr> </table> </td> </tr> <tr> - <td><label for="qt_scale">{#media_dlg.scale}</label></td> - <td><select id="qt_scale" name="qt_scale" class="mceEditableSelect" onchange="generatePreview();"> + <td><label for="quicktime_scale">{#media_dlg.scale}</label></td> + <td><select id="quicktime_scale" name="quicktime_scale" class="mceEditableSelect" onchange="Media.formToData();"> <option value="">{#not_set}</option> <option value="tofit">tofit</option> <option value="aspect">aspect</option> @@ -441,62 +429,62 @@ </tr> <tr> - <td><label for="qt_starttime">{#media_dlg.starttime}</label></td> - <td><input type="text" id="qt_starttime" name="qt_starttime" onchange="generatePreview();" /></td> + <td><label for="quicktime_starttime">{#media_dlg.starttime}</label></td> + <td><input type="text" id="quicktime_starttime" name="quicktime_starttime" onchange="Media.formToData();" /></td> - <td><label for="qt_endtime">{#media_dlg.endtime}</label></td> - <td><input type="text" id="qt_endtime" name="qt_endtime" onchange="generatePreview();" /></td> + <td><label for="quicktime_endtime">{#media_dlg.endtime}</label></td> + <td><input type="text" id="quicktime_endtime" name="quicktime_endtime" onchange="Media.formToData();" /></td> </tr> <tr> - <td><label for="qt_target">{#media_dlg.target}</label></td> - <td><input type="text" id="qt_target" name="qt_target" onchange="generatePreview();" /></td> + <td><label for="quicktime_target">{#media_dlg.target}</label></td> + <td><input type="text" id="quicktime_target" name="quicktime_target" onchange="Media.formToData();" /></td> - <td><label for="qt_href">{#media_dlg.href}</label></td> - <td><input type="text" id="qt_href" name="qt_href" onchange="generatePreview();" /></td> + <td><label for="quicktime_href">{#media_dlg.href}</label></td> + <td><input type="text" id="quicktime_href" name="quicktime_href" onchange="Media.formToData();" /></td> </tr> <tr> - <td><label for="qt_qtsrcchokespeed">{#media_dlg.qtsrcchokespeed}</label></td> - <td><input type="text" id="qt_qtsrcchokespeed" name="qt_qtsrcchokespeed" onchange="generatePreview();" /></td> + <td><label for="quicktime_qtsrcchokespeed">{#media_dlg.qtsrcchokespeed}</label></td> + <td><input type="text" id="quicktime_qtsrcchokespeed" name="quicktime_qtsrcchokespeed" onchange="Media.formToData();" /></td> - <td><label for="qt_volume">{#media_dlg.volume}</label></td> - <td><input type="text" id="qt_volume" name="qt_volume" onchange="generatePreview();" /></td> + <td><label for="quicktime_volume">{#media_dlg.volume}</label></td> + <td><input type="text" id="quicktime_volume" name="quicktime_volume" onchange="Media.formToData();" /></td> </tr> <tr> - <td><label for="qt_qtsrc">{#media_dlg.qtsrc}</label></td> + <td><label for="quicktime_qtsrc">{#media_dlg.qtsrc}</label></td> <td colspan="4"> - <table border="0" cellspacing="0" cellpadding="0"> - <tr> - <td><input type="text" id="qt_qtsrc" name="qt_qtsrc" onchange="generatePreview();" /></td> - <td id="qtsrcfilebrowsercontainer"> </td> - </tr> - </table> + <table role="presentation" border="0" cellspacing="0" cellpadding="0"> + <tr> + <td><input type="text" id="quicktime_qtsrc" name="quicktime_qtsrc" onchange="Media.formToData();" /></td> + <td id="qtsrcfilebrowsercontainer"> </td> + </tr> + </table> </td> </tr> </table> </fieldset> - <fieldset id="wmp_options"> + <fieldset id="windowsmedia_options"> <legend>{#media_dlg.wmp_options}</legend> - <table border="0" cellpadding="4" cellspacing="0"> + <table role="presentation" border="0" cellpadding="4" cellspacing="0"> <tr> <td colspan="2"> - <table border="0" cellpadding="0" cellspacing="0"> + <table role="presentation" border="0" cellpadding="0" cellspacing="0"> <tr> - <td><input type="checkbox" class="checkbox" id="wmp_autostart" name="wmp_autostart" checked="checked" onchange="generatePreview();" /></td> - <td><label for="wmp_autostart">{#media_dlg.autostart}</label></td> + <td><input type="checkbox" class="checkbox" id="windowsmedia_autostart" name="windowsmedia_autostart" checked="checked" onchange="Media.formToData();" /></td> + <td><label for="windowsmedia_autostart">{#media_dlg.autostart}</label></td> </tr> </table> </td> <td colspan="2"> - <table border="0" cellpadding="0" cellspacing="0"> + <table role="presentation" border="0" cellpadding="0" cellspacing="0"> <tr> - <td><input type="checkbox" class="checkbox" id="wmp_enabled" name="wmp_enabled" onchange="generatePreview();" /></td> - <td><label for="wmp_enabled">{#media_dlg.enabled}</label></td> + <td><input type="checkbox" class="checkbox" id="windowsmedia_enabled" name="windowsmedia_enabled" onchange="Media.formToData();" /></td> + <td><label for="windowsmedia_enabled">{#media_dlg.enabled}</label></td> </tr> </table> </td> @@ -504,19 +492,19 @@ <tr> <td colspan="2"> - <table border="0" cellpadding="0" cellspacing="0"> + <table role="presentation" border="0" cellpadding="0" cellspacing="0"> <tr> - <td><input type="checkbox" class="checkbox" id="wmp_enablecontextmenu" name="wmp_enablecontextmenu" checked="checked" onchange="generatePreview();" /></td> - <td><label for="wmp_enablecontextmenu">{#media_dlg.menu}</label></td> + <td><input type="checkbox" class="checkbox" id="windowsmedia_enablecontextmenu" name="windowsmedia_enablecontextmenu" checked="checked" onchange="Media.formToData();" /></td> + <td><label for="windowsmedia_enablecontextmenu">{#media_dlg.menu}</label></td> </tr> </table> </td> <td colspan="2"> - <table border="0" cellpadding="0" cellspacing="0"> + <table role="presentation" border="0" cellpadding="0" cellspacing="0"> <tr> - <td><input type="checkbox" class="checkbox" id="wmp_fullscreen" name="wmp_fullscreen" onchange="generatePreview();" /></td> - <td><label for="wmp_fullscreen">{#media_dlg.fullscreen}</label></td> + <td><input type="checkbox" class="checkbox" id="windowsmedia_fullscreen" name="windowsmedia_fullscreen" onchange="Media.formToData();" /></td> + <td><label for="windowsmedia_fullscreen">{#media_dlg.fullscreen}</label></td> </tr> </table> </td> @@ -524,19 +512,19 @@ <tr> <td colspan="2"> - <table border="0" cellpadding="0" cellspacing="0"> + <table role="presentation" border="0" cellpadding="0" cellspacing="0"> <tr> - <td><input type="checkbox" class="checkbox" id="wmp_invokeurls" name="wmp_invokeurls" checked="checked" onchange="generatePreview();" /></td> - <td><label for="wmp_invokeurls">{#media_dlg.invokeurls}</label></td> + <td><input type="checkbox" class="checkbox" id="windowsmedia_invokeurls" name="windowsmedia_invokeurls" checked="checked" onchange="Media.formToData();" /></td> + <td><label for="windowsmedia_invokeurls">{#media_dlg.invokeurls}</label></td> </tr> </table> </td> <td colspan="2"> - <table border="0" cellpadding="0" cellspacing="0"> + <table role="presentation" border="0" cellpadding="0" cellspacing="0"> <tr> - <td><input type="checkbox" class="checkbox" id="wmp_mute" name="wmp_mute" onchange="generatePreview();" /></td> - <td><label for="wmp_mute">{#media_dlg.mute}</label></td> + <td><input type="checkbox" class="checkbox" id="windowsmedia_mute" name="windowsmedia_mute" onchange="Media.formToData();" /></td> + <td><label for="windowsmedia_mute">{#media_dlg.mute}</label></td> </tr> </table> </td> @@ -544,86 +532,86 @@ <tr> <td colspan="2"> - <table border="0" cellpadding="0" cellspacing="0"> + <table role="presentation" border="0" cellpadding="0" cellspacing="0"> <tr> - <td><input type="checkbox" class="checkbox" id="wmp_stretchtofit" name="wmp_stretchtofit" onchange="generatePreview();" /></td> - <td><label for="wmp_stretchtofit">{#media_dlg.stretchtofit}</label></td> + <td><input type="checkbox" class="checkbox" id="windowsmedia_stretchtofit" name="windowsmedia_stretchtofit" onchange="Media.formToData();" /></td> + <td><label for="windowsmedia_stretchtofit">{#media_dlg.stretchtofit}</label></td> </tr> </table> </td> <td colspan="2"> - <table border="0" cellpadding="0" cellspacing="0"> + <table role="presentation" border="0" cellpadding="0" cellspacing="0"> <tr> - <td><input type="checkbox" class="checkbox" id="wmp_windowlessvideo" name="wmp_windowlessvideo" onchange="generatePreview();" /></td> - <td><label for="wmp_windowlessvideo">{#media_dlg.windowlessvideo}</label></td> + <td><input type="checkbox" class="checkbox" id="windowsmedia_windowlessvideo" name="windowsmedia_windowlessvideo" onchange="Media.formToData();" /></td> + <td><label for="windowsmedia_windowlessvideo">{#media_dlg.windowlessvideo}</label></td> </tr> </table> </td> </tr> <tr> - <td><label for="wmp_balance">{#media_dlg.balance}</label></td> - <td><input type="text" id="wmp_balance" name="wmp_balance" onchange="generatePreview();" /></td> + <td><label for="windowsmedia_balance">{#media_dlg.balance}</label></td> + <td><input type="text" id="windowsmedia_balance" name="windowsmedia_balance" onchange="Media.formToData();" /></td> - <td><label for="wmp_baseurl">{#media_dlg.baseurl}</label></td> - <td><input type="text" id="wmp_baseurl" name="wmp_baseurl" onchange="generatePreview();" /></td> + <td><label for="windowsmedia_baseurl">{#media_dlg.baseurl}</label></td> + <td><input type="text" id="windowsmedia_baseurl" name="windowsmedia_baseurl" onchange="Media.formToData();" /></td> </tr> <tr> - <td><label for="wmp_captioningid">{#media_dlg.captioningid}</label></td> - <td><input type="text" id="wmp_captioningid" name="wmp_captioningid" onchange="generatePreview();" /></td> + <td><label for="windowsmedia_captioningid">{#media_dlg.captioningid}</label></td> + <td><input type="text" id="windowsmedia_captioningid" name="windowsmedia_captioningid" onchange="Media.formToData();" /></td> - <td><label for="wmp_currentmarker">{#media_dlg.currentmarker}</label></td> - <td><input type="text" id="wmp_currentmarker" name="wmp_currentmarker" onchange="generatePreview();" /></td> + <td><label for="windowsmedia_currentmarker">{#media_dlg.currentmarker}</label></td> + <td><input type="text" id="windowsmedia_currentmarker" name="windowsmedia_currentmarker" onchange="Media.formToData();" /></td> </tr> <tr> - <td><label for="wmp_currentposition">{#media_dlg.currentposition}</label></td> - <td><input type="text" id="wmp_currentposition" name="wmp_currentposition" onchange="generatePreview();" /></td> + <td><label for="windowsmedia_currentposition">{#media_dlg.currentposition}</label></td> + <td><input type="text" id="windowsmedia_currentposition" name="windowsmedia_currentposition" onchange="Media.formToData();" /></td> - <td><label for="wmp_defaultframe">{#media_dlg.defaultframe}</label></td> - <td><input type="text" id="wmp_defaultframe" name="wmp_defaultframe" onchange="generatePreview();" /></td> + <td><label for="windowsmedia_defaultframe">{#media_dlg.defaultframe}</label></td> + <td><input type="text" id="windowsmedia_defaultframe" name="windowsmedia_defaultframe" onchange="Media.formToData();" /></td> </tr> <tr> - <td><label for="wmp_playcount">{#media_dlg.playcount}</label></td> - <td><input type="text" id="wmp_playcount" name="wmp_playcount" onchange="generatePreview();" /></td> + <td><label for="windowsmedia_playcount">{#media_dlg.playcount}</label></td> + <td><input type="text" id="windowsmedia_playcount" name="windowsmedia_playcount" onchange="Media.formToData();" /></td> - <td><label for="wmp_rate">{#media_dlg.rate}</label></td> - <td><input type="text" id="wmp_rate" name="wmp_rate" onchange="generatePreview();" /></td> + <td><label for="windowsmedia_rate">{#media_dlg.rate}</label></td> + <td><input type="text" id="windowsmedia_rate" name="windowsmedia_rate" onchange="Media.formToData();" /></td> </tr> <tr> - <td><label for="wmp_uimode">{#media_dlg.uimode}</label></td> - <td><input type="text" id="wmp_uimode" name="wmp_uimode" onchange="generatePreview();" /></td> + <td><label for="windowsmedia_uimode">{#media_dlg.uimode}</label></td> + <td><input type="text" id="windowsmedia_uimode" name="windowsmedia_uimode" onchange="Media.formToData();" /></td> - <td><label for="wmp_volume">{#media_dlg.volume}</label></td> - <td><input type="text" id="wmp_volume" name="wmp_volume" onchange="generatePreview();" /></td> + <td><label for="windowsmedia_volume">{#media_dlg.volume}</label></td> + <td><input type="text" id="windowsmedia_volume" name="windowsmedia_volume" onchange="Media.formToData();" /></td> </tr> </table> </fieldset> - <fieldset id="rmp_options"> + <fieldset id="realmedia_options"> <legend>{#media_dlg.rmp_options}</legend> - <table border="0" cellpadding="4" cellspacing="0"> + <table role="presentation" border="0" cellpadding="4" cellspacing="0"> <tr> <td colspan="2"> - <table border="0" cellpadding="0" cellspacing="0"> + <table role="presentation" border="0" cellpadding="0" cellspacing="0"> <tr> - <td><input type="checkbox" class="checkbox" id="rmp_autostart" name="rmp_autostart" onchange="generatePreview();" /></td> - <td><label for="rmp_autostart">{#media_dlg.autostart}</label></td> + <td><input type="checkbox" class="checkbox" id="realmedia_autostart" name="realmedia_autostart" onchange="Media.formToData();" /></td> + <td><label for="realmedia_autostart">{#media_dlg.autostart}</label></td> </tr> </table> </td> <td colspan="2"> - <table border="0" cellpadding="0" cellspacing="0"> + <table role="presentation" border="0" cellpadding="0" cellspacing="0"> <tr> - <td><input type="checkbox" class="checkbox" id="rmp_loop" name="rmp_loop" onchange="generatePreview();" /></td> - <td><label for="rmp_loop">{#media_dlg.loop}</label></td> + <td><input type="checkbox" class="checkbox" id="realmedia_loop" name="realmedia_loop" onchange="Media.formToData();" /></td> + <td><label for="realmedia_loop">{#media_dlg.loop}</label></td> </tr> </table> </td> @@ -631,19 +619,19 @@ <tr> <td colspan="2"> - <table border="0" cellpadding="0" cellspacing="0"> + <table role="presentation" border="0" cellpadding="0" cellspacing="0"> <tr> - <td><input type="checkbox" class="checkbox" id="rmp_autogotourl" name="rmp_autogotourl" checked="checked" onchange="generatePreview();" /></td> - <td><label for="rmp_autogotourl">{#media_dlg.autogotourl}</label></td> + <td><input type="checkbox" class="checkbox" id="realmedia_autogotourl" name="realmedia_autogotourl" checked="checked" onchange="Media.formToData();" /></td> + <td><label for="realmedia_autogotourl">{#media_dlg.autogotourl}</label></td> </tr> </table> </td> <td colspan="2"> - <table border="0" cellpadding="0" cellspacing="0"> + <table role="presentation" border="0" cellpadding="0" cellspacing="0"> <tr> - <td><input type="checkbox" class="checkbox" id="rmp_center" name="rmp_center" onchange="generatePreview();" /></td> - <td><label for="rmp_center">{#media_dlg.center}</label></td> + <td><input type="checkbox" class="checkbox" id="realmedia_center" name="realmedia_center" onchange="Media.formToData();" /></td> + <td><label for="realmedia_center">{#media_dlg.center}</label></td> </tr> </table> </td> @@ -651,19 +639,19 @@ <tr> <td colspan="2"> - <table border="0" cellpadding="0" cellspacing="0"> + <table role="presentation" border="0" cellpadding="0" cellspacing="0"> <tr> - <td><input type="checkbox" class="checkbox" id="rmp_imagestatus" name="rmp_imagestatus" checked="checked" onchange="generatePreview();" /></td> - <td><label for="rmp_imagestatus">{#media_dlg.imagestatus}</label></td> + <td><input type="checkbox" class="checkbox" id="realmedia_imagestatus" name="realmedia_imagestatus" checked="checked" onchange="Media.formToData();" /></td> + <td><label for="realmedia_imagestatus">{#media_dlg.imagestatus}</label></td> </tr> </table> </td> <td colspan="2"> - <table border="0" cellpadding="0" cellspacing="0"> + <table role="presentation" border="0" cellpadding="0" cellspacing="0"> <tr> - <td><input type="checkbox" class="checkbox" id="rmp_maintainaspect" name="rmp_maintainaspect" onchange="generatePreview();" /></td> - <td><label for="rmp_maintainaspect">{#media_dlg.maintainaspect}</label></td> + <td><input type="checkbox" class="checkbox" id="realmedia_maintainaspect" name="realmedia_maintainaspect" onchange="Media.formToData();" /></td> + <td><label for="realmedia_maintainaspect">{#media_dlg.maintainaspect}</label></td> </tr> </table> </td> @@ -671,19 +659,19 @@ <tr> <td colspan="2"> - <table border="0" cellpadding="0" cellspacing="0"> + <table role="presentation" border="0" cellpadding="0" cellspacing="0"> <tr> - <td><input type="checkbox" class="checkbox" id="rmp_nojava" name="rmp_nojava" onchange="generatePreview();" /></td> - <td><label for="rmp_nojava">{#media_dlg.nojava}</label></td> + <td><input type="checkbox" class="checkbox" id="realmedia_nojava" name="realmedia_nojava" onchange="Media.formToData();" /></td> + <td><label for="realmedia_nojava">{#media_dlg.nojava}</label></td> </tr> </table> </td> <td colspan="2"> - <table border="0" cellpadding="0" cellspacing="0"> + <table role="presentation" border="0" cellpadding="0" cellspacing="0"> <tr> - <td><input type="checkbox" class="checkbox" id="rmp_prefetch" name="rmp_prefetch" onchange="generatePreview();" /></td> - <td><label for="rmp_prefetch">{#media_dlg.prefetch}</label></td> + <td><input type="checkbox" class="checkbox" id="realmedia_prefetch" name="realmedia_prefetch" onchange="Media.formToData();" /></td> + <td><label for="realmedia_prefetch">{#media_dlg.prefetch}</label></td> </tr> </table> </td> @@ -691,10 +679,10 @@ <tr> <td colspan="2"> - <table border="0" cellpadding="0" cellspacing="0"> + <table role="presentation" border="0" cellpadding="0" cellspacing="0"> <tr> - <td><input type="checkbox" class="checkbox" id="rmp_shuffle" name="rmp_shuffle" onchange="generatePreview();" /></td> - <td><label for="rmp_shuffle">{#media_dlg.shuffle}</label></td> + <td><input type="checkbox" class="checkbox" id="realmedia_shuffle" name="realmedia_shuffle" onchange="Media.formToData();" /></td> + <td><label for="realmedia_shuffle">{#media_dlg.shuffle}</label></td> </tr> </table> </td> @@ -705,19 +693,19 @@ </tr> <tr> - <td><label for="rmp_console">{#media_dlg.console}</label></td> - <td><input type="text" id="rmp_console" name="rmp_console" onchange="generatePreview();" /></td> + <td><label for="realmedia_console">{#media_dlg.console}</label></td> + <td><input type="text" id="realmedia_console" name="realmedia_console" onchange="Media.formToData();" /></td> - <td><label for="rmp_controls">{#media_dlg.controls}</label></td> - <td><input type="text" id="rmp_controls" name="rmp_controls" onchange="generatePreview();" /></td> + <td><label for="realmedia_controls">{#media_dlg.controls}</label></td> + <td><input type="text" id="realmedia_controls" name="realmedia_controls" onchange="Media.formToData();" /></td> </tr> <tr> - <td><label for="rmp_numloop">{#media_dlg.numloop}</label></td> - <td><input type="text" id="rmp_numloop" name="rmp_numloop" onchange="generatePreview();" /></td> + <td><label for="realmedia_numloop">{#media_dlg.numloop}</label></td> + <td><input type="text" id="realmedia_numloop" name="realmedia_numloop" onchange="Media.formToData();" /></td> - <td><label for="rmp_scriptcallbacks">{#media_dlg.scriptcallbacks}</label></td> - <td><input type="text" id="rmp_scriptcallbacks" name="rmp_scriptcallbacks" onchange="generatePreview();" /></td> + <td><label for="realmedia_scriptcallbacks">{#media_dlg.scriptcallbacks}</label></td> + <td><input type="text" id="realmedia_scriptcallbacks" name="realmedia_scriptcallbacks" onchange="Media.formToData();" /></td> </tr> </table> </fieldset> @@ -725,11 +713,11 @@ <fieldset id="shockwave_options"> <legend>{#media_dlg.shockwave_options}</legend> - <table border="0" cellpadding="4" cellspacing="0"> + <table role="presentation" border="0" cellpadding="4" cellspacing="0"> <tr> <td><label for="shockwave_swstretchstyle">{#media_dlg.swstretchstyle}</label></td> <td> - <select id="shockwave_swstretchstyle" name="shockwave_swstretchstyle" onchange="generatePreview();"> + <select id="shockwave_swstretchstyle" name="shockwave_swstretchstyle" onchange="Media.formToData();"> <option value="none">{#not_set}</option> <option value="meet">Meet</option> <option value="fill">Fill</option> @@ -738,13 +726,13 @@ </td> <td><label for="shockwave_swvolume">{#media_dlg.volume}</label></td> - <td><input type="text" id="shockwave_swvolume" name="shockwave_swvolume" onchange="generatePreview();" /></td> + <td><input type="text" id="shockwave_swvolume" name="shockwave_swvolume" onchange="Media.formToData();" /></td> </tr> <tr> <td><label for="shockwave_swstretchhalign">{#media_dlg.swstretchhalign}</label></td> <td> - <select id="shockwave_swstretchhalign" name="shockwave_swstretchhalign" onchange="generatePreview();"> + <select id="shockwave_swstretchhalign" name="shockwave_swstretchhalign" onchange="Media.formToData();"> <option value="none">{#not_set}</option> <option value="left">{#media_dlg.align_left}</option> <option value="center">{#media_dlg.align_center}</option> @@ -754,7 +742,7 @@ <td><label for="shockwave_swstretchvalign">{#media_dlg.swstretchvalign}</label></td> <td> - <select id="shockwave_swstretchvalign" name="shockwave_swstretchvalign" onchange="generatePreview();"> + <select id="shockwave_swstretchvalign" name="shockwave_swstretchvalign" onchange="Media.formToData();"> <option value="none">{#not_set}</option> <option value="meet">Meet</option> <option value="fill">Fill</option> @@ -765,18 +753,18 @@ <tr> <td colspan="2"> - <table border="0" cellpadding="0" cellspacing="0"> + <table role="presentation" border="0" cellpadding="0" cellspacing="0"> <tr> - <td><input type="checkbox" class="checkbox" id="shockwave_autostart" name="shockwave_autostart" onchange="generatePreview();" checked="checked" /></td> + <td><input type="checkbox" class="checkbox" id="shockwave_autostart" name="shockwave_autostart" onchange="Media.formToData();" checked="checked" /></td> <td><label for="shockwave_autostart">{#media_dlg.autostart}</label></td> </tr> </table> </td> <td colspan="2"> - <table border="0" cellpadding="0" cellspacing="0"> + <table role="presentation" border="0" cellpadding="0" cellspacing="0"> <tr> - <td><input type="checkbox" class="checkbox" id="shockwave_sound" name="shockwave_sound" onchange="generatePreview();" checked="checked" /></td> + <td><input type="checkbox" class="checkbox" id="shockwave_sound" name="shockwave_sound" onchange="Media.formToData();" checked="checked" /></td> <td><label for="shockwave_sound">{#media_dlg.sound}</label></td> </tr> </table> @@ -786,18 +774,18 @@ <tr> <td colspan="2"> - <table border="0" cellpadding="0" cellspacing="0"> + <table role="presentation" border="0" cellpadding="0" cellspacing="0"> <tr> - <td><input type="checkbox" class="checkbox" id="shockwave_swliveconnect" name="shockwave_swliveconnect" onchange="generatePreview();" /></td> + <td><input type="checkbox" class="checkbox" id="shockwave_swliveconnect" name="shockwave_swliveconnect" onchange="Media.formToData();" /></td> <td><label for="shockwave_swliveconnect">{#media_dlg.liveconnect}</label></td> </tr> </table> </td> <td colspan="2"> - <table border="0" cellpadding="0" cellspacing="0"> + <table role="presentation" border="0" cellpadding="0" cellspacing="0"> <tr> - <td><input type="checkbox" class="checkbox" id="shockwave_progress" name="shockwave_progress" onchange="generatePreview();" checked="checked" /></td> + <td><input type="checkbox" class="checkbox" id="shockwave_progress" name="shockwave_progress" onchange="Media.formToData();" checked="checked" /></td> <td><label for="shockwave_progress">{#media_dlg.progress}</label></td> </tr> </table> @@ -806,16 +794,18 @@ </table> </fieldset> </div> - </div> - <div class="mceActionPanel"> - <div style="float: left"> - <input type="button" id="cancel" name="cancel" value="{#cancel}" onclick="tinyMCEPopup.close();" /> + <div id="source_panel" class="panel"> + <fieldset> + <legend>{#media_dlg.source}</legend> + <textarea id="source" style="width: 100%; height: 390px"></textarea> + </fieldset> </div> + </div> - <div style="float: right"> - <input type="submit" id="insert" name="insert" value="{#insert}" /> - </div> + <div class="mceActionPanel"> + <input type="submit" id="insert" name="insert" value="{#insert}" /> + <input type="button" id="cancel" name="cancel" value="{#cancel}" onclick="tinyMCEPopup.close();" /> </div> </form> </body> diff --git a/wp-includes/js/tinymce/plugins/media/moxieplayer.swf b/wp-includes/js/tinymce/plugins/media/moxieplayer.swf new file mode 100644 index 0000000000000000000000000000000000000000..2a040358df0d1f8eb784d2ec0919626198d6eb47 GIT binary patch literal 33931 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 literal 0 HcmV?d00001 diff --git a/wp-includes/js/tinymce/plugins/paste/editor_plugin.js b/wp-includes/js/tinymce/plugins/paste/editor_plugin.js index 552059570..6c65069f3 100644 --- a/wp-includes/js/tinymce/plugins/paste/editor_plugin.js +++ b/wp-includes/js/tinymce/plugins/paste/editor_plugin.js @@ -1 +1 @@ -(function(){var c=tinymce.each,d=null,a={paste_auto_cleanup_on_paste:true,paste_block_drop:false,paste_retain_style_properties:"none",paste_strip_class_attributes:"mso",paste_remove_spans:false,paste_remove_styles:false,paste_remove_styles_if_webkit:true,paste_convert_middot_lists:true,paste_convert_headers_to_strong:false,paste_dialog_width:"450",paste_dialog_height:"400",paste_text_use_dialog:false,paste_text_sticky:false,paste_text_notifyalways:false,paste_text_linebreaktype:"p",paste_text_replacements:[[/\u2026/g,"..."],[/[\x93\x94\u201c\u201d]/g,'"'],[/[\x60\x91\x92\u2018\u2019]/g,"'"]]};function b(e,f){return e.getParam(f,a[f])}tinymce.create("tinymce.plugins.PastePlugin",{init:function(e,f){var g=this;g.editor=e;g.url=f;g.onPreProcess=new tinymce.util.Dispatcher(g);g.onPostProcess=new tinymce.util.Dispatcher(g);g.onPreProcess.add(g._preProcess);g.onPostProcess.add(g._postProcess);g.onPreProcess.add(function(j,k){e.execCallback("paste_preprocess",j,k)});g.onPostProcess.add(function(j,k){e.execCallback("paste_postprocess",j,k)});e.pasteAsPlainText=false;function i(l,j){var k=e.dom;g.onPreProcess.dispatch(g,l);l.node=k.create("div",0,l.content);g.onPostProcess.dispatch(g,l);l.content=e.serializer.serialize(l.node,{getInner:1});if((!j)&&(e.pasteAsPlainText)){g._insertPlainText(e,k,l.content);if(!b(e,"paste_text_sticky")){e.pasteAsPlainText=false;e.controlManager.setActive("pastetext",false)}}else{if(/<(p|h[1-6]|ul|ol)/.test(l.content)){g._insertBlockContent(e,k,l.content)}else{g._insert(l.content)}}}e.addCommand("mceInsertClipboardContent",function(j,k){i(k,true)});if(!b(e,"paste_text_use_dialog")){e.addCommand("mcePasteText",function(k,j){var l=tinymce.util.Cookie;e.pasteAsPlainText=!e.pasteAsPlainText;e.controlManager.setActive("pastetext",e.pasteAsPlainText);if((e.pasteAsPlainText)&&(!l.get("tinymcePasteText"))){if(b(e,"paste_text_sticky")){e.windowManager.alert(e.translate("paste.plaintext_mode_sticky"))}else{e.windowManager.alert(e.translate("paste.plaintext_mode_sticky"))}if(!b(e,"paste_text_notifyalways")){l.set("tinymcePasteText","1",new Date(new Date().getFullYear()+1,12,31))}}})}e.addButton("pastetext",{title:"paste.paste_text_desc",cmd:"mcePasteText"});e.addButton("selectall",{title:"paste.selectall_desc",cmd:"selectall"});function h(s){var m,q,k,l=e.selection,p=e.dom,r=e.getBody(),j;if(e.pasteAsPlainText&&(s.clipboardData||p.doc.dataTransfer)){s.preventDefault();i({content:(s.clipboardData||p.doc.dataTransfer).getData("Text").replace(/\r?\n/g,'<br />')});return}if(p.get("_mcePaste")){return}m=p.add(r,"div",{id:"_mcePaste","class":"mcePaste"},'\uFEFF<br _mce_bogus="1">');if(r!=e.getDoc().body){j=p.getPos(e.selection.getStart(),r).y}else{j=r.scrollTop}p.setStyles(m,{position:"absolute",left:-10000,top:j,width:1,height:1,overflow:"hidden"});if(tinymce.isIE){k=p.doc.body.createTextRange();k.moveToElementText(m);k.execCommand("Paste");p.remove(m);if(m.innerHTML==="\uFEFF"){e.execCommand("mcePasteWord");s.preventDefault();return}i({content:m.innerHTML});return tinymce.dom.Event.cancel(s)}else{function o(n){n.preventDefault()}p.bind(e.getDoc(),"mousedown",o);p.bind(e.getDoc(),"keydown",o);q=e.selection.getRng();m=m.firstChild;k=e.getDoc().createRange();k.setStart(m,0);k.setEnd(m,1);l.setRng(k);window.setTimeout(function(){var t="",n=p.select("div.mcePaste");c(n,function(v){var u=v.firstChild;if(u&&u.nodeName=="DIV"&&u.style.marginTop&&u.style.backgroundColor){p.remove(u,1)}c(p.select("div.mcePaste",v),function(w){p.remove(w,1)});c(p.select("span.Apple-style-span",v),function(w){p.remove(w,1)});c(p.select("br[_mce_bogus]",v),function(w){p.remove(w)});t+=v.innerHTML});c(n,function(u){p.remove(u)});if(q){l.setRng(q)}i({content:t});p.unbind(e.getDoc(),"mousedown",o);p.unbind(e.getDoc(),"keydown",o)},0)}}if(b(e,"paste_auto_cleanup_on_paste")){if(tinymce.isOpera||/Firefox\/2/.test(navigator.userAgent)){e.onKeyDown.add(function(j,k){if(((tinymce.isMac?k.metaKey:k.ctrlKey)&&k.keyCode==86)||(k.shiftKey&&k.keyCode==45)){h(k)}})}else{e.onPaste.addToTop(function(j,k){return h(k)})}}if(b(e,"paste_block_drop")){e.onInit.add(function(){e.dom.bind(e.getBody(),["dragend","dragover","draggesture","dragdrop","drop","drag"],function(j){j.preventDefault();j.stopPropagation();return false})})}g._legacySupport()},getInfo:function(){return{longname:"Paste text/word",author:"Moxiecode Systems AB",authorurl:"http://tinymce.moxiecode.com",infourl:"http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/paste",version:tinymce.majorVersion+"."+tinymce.minorVersion}},_preProcess:function(i,f){var l=this.editor,k=f.content,q=tinymce.grep,p=tinymce.explode,g=tinymce.trim,m,j;function e(h){c(h,function(o){if(o.constructor==RegExp){k=k.replace(o,"")}else{k=k.replace(o[0],o[1])}})}if(/class="?Mso|style="[^"]*\bmso-|w:WordDocument/i.test(k)||f.wordContent){f.wordContent=true;e([/^\s*( )+/gi,/( |<br[^>]*>)+\s*$/gi]);if(b(l,"paste_convert_headers_to_strong")){k=k.replace(/<p [^>]*class="?MsoHeading"?[^>]*>(.*?)<\/p>/gi,"<p><strong>$1</strong></p>")}if(b(l,"paste_convert_middot_lists")){e([[/<!--\[if !supportLists\]-->/gi,"$&__MCE_ITEM__"],[/(<span[^>]+(?:mso-list:|:\s*symbol)[^>]+>)/gi,"$1__MCE_ITEM__"]])}e([/<!--[\s\S]+?-->/gi,/<(!|script[^>]*>.*?<\/script(?=[>\s])|\/?(\?xml(:\w+)?|img|meta|link|style|\w:\w+)(?=[\s\/>]))[^>]*>/gi,[/<(\/?)s>/gi,"<$1strike>"],[/ /gi,"\u00a0"]]);do{m=k.length;k=k.replace(/(<[a-z][^>]*\s)(?:id|name|language|type|on\w+|\w+:\w+)=(?:"[^"]*"|\w+)\s?/gi,"$1")}while(m!=k.length);if(b(l,"paste_retain_style_properties").replace(/^none$/i,"").length==0){k=k.replace(/<\/?span[^>]*>/gi,"")}else{e([[/<span\s+style\s*=\s*"\s*mso-spacerun\s*:\s*yes\s*;?\s*"\s*>([\s\u00a0]*)<\/span>/gi,function(o,h){return(h.length>0)?h.replace(/./," ").slice(Math.floor(h.length/2)).split("").join("\u00a0"):""}],[/(<[a-z][^>]*)\sstyle="([^"]*)"/gi,function(u,h,t){var v=[],o=0,r=p(g(t).replace(/"/gi,"'"),";");c(r,function(s){var w,y,z=p(s,":");function x(A){return A+((A!=="0")&&(/\d$/.test(A)))?"px":""}if(z.length==2){w=z[0].toLowerCase();y=z[1].toLowerCase();switch(w){case"mso-padding-alt":case"mso-padding-top-alt":case"mso-padding-right-alt":case"mso-padding-bottom-alt":case"mso-padding-left-alt":case"mso-margin-alt":case"mso-margin-top-alt":case"mso-margin-right-alt":case"mso-margin-bottom-alt":case"mso-margin-left-alt":case"mso-table-layout-alt":case"mso-height":case"mso-width":case"mso-vertical-align-alt":v[o++]=w.replace(/^mso-|-alt$/g,"")+":"+x(y);return;case"horiz-align":v[o++]="text-align:"+y;return;case"vert-align":v[o++]="vertical-align:"+y;return;case"font-color":case"mso-foreground":v[o++]="color:"+y;return;case"mso-background":case"mso-highlight":v[o++]="background:"+y;return;case"mso-default-height":v[o++]="min-height:"+x(y);return;case"mso-default-width":v[o++]="min-width:"+x(y);return;case"mso-padding-between-alt":v[o++]="border-collapse:separate;border-spacing:"+x(y);return;case"text-line-through":if((y=="single")||(y=="double")){v[o++]="text-decoration:line-through"}return;case"mso-zero-height":if(y=="yes"){v[o++]="display:none"}return}if(/^(mso|column|font-emph|lang|layout|line-break|list-image|nav|panose|punct|row|ruby|sep|size|src|tab-|table-border|text-(?!align|decor|indent|trans)|top-bar|version|vnd|word-break)/.test(w)){return}v[o++]=w+":"+z[1]}});if(o>0){return h+' style="'+v.join(";")+'"'}else{return h}}]])}}if(b(l,"paste_convert_headers_to_strong")){e([[/<h[1-6][^>]*>/gi,"<p><strong>"],[/<\/h[1-6][^>]*>/gi,"</strong></p>"]])}j=b(l,"paste_strip_class_attributes");if(j!=="none"){function n(r,o){if(j==="all"){return""}var h=q(p(o.replace(/^(["'])(.*)\1$/,"$2")," "),function(s){return(/^(?!mso)/i.test(s))});return h.length?' class="'+h.join(" ")+'"':""}k=k.replace(/ class="([^"]+)"/gi,n);k=k.replace(/ class=(\w+)/gi,n)}if(b(l,"paste_remove_spans")){k=k.replace(/<\/?span[^>]*>/gi,"")}f.content=k},_postProcess:function(h,j){var g=this,f=g.editor,i=f.dom,e;if(j.wordContent){c(i.select("a",j.node),function(k){if(!k.href||k.href.indexOf("#_Toc")!=-1){i.remove(k,1)}});if(b(f,"paste_convert_middot_lists")){g._convertLists(h,j)}e=b(f,"paste_retain_style_properties");if((tinymce.is(e,"string"))&&(e!=="all")&&(e!=="*")){e=tinymce.explode(e.replace(/^none$/i,""));c(i.select("*",j.node),function(n){var o={},l=0,m,p,k;if(e){for(m=0;m<e.length;m++){p=e[m];k=i.getStyle(n,p);if(k){o[p]=k;l++}}}i.setAttrib(n,"style","");if(e&&l>0){i.setStyles(n,o)}else{if(n.nodeName=="SPAN"&&!n.className){i.remove(n,true)}}})}}if(b(f,"paste_remove_styles")||(b(f,"paste_remove_styles_if_webkit")&&tinymce.isWebKit)){c(i.select("*[style]",j.node),function(k){k.removeAttribute("style");k.removeAttribute("_mce_style")})}else{if(tinymce.isWebKit){c(i.select("*",j.node),function(k){k.removeAttribute("_mce_style")})}}},_convertLists:function(h,f){var j=h.editor.dom,i,m,e=-1,g,n=[],l,k;c(j.select("p",f.node),function(u){var r,v="",t,s,o,q;for(r=u.firstChild;r&&r.nodeType==3;r=r.nextSibling){v+=r.nodeValue}v=u.innerHTML.replace(/<\/?\w+[^>]*>/gi,"").replace(/ /g,"\u00a0");if(/^(__MCE_ITEM__)+[\u2022\u00b7\u00a7\u00d8o]\s*\u00a0*/.test(v)){t="ul"}if(/^__MCE_ITEM__\s*\w+\.\s*\u00a0{2,}/.test(v)){t="ol"}if(t){g=parseFloat(u.style.marginLeft||0);if(g>e){n.push(g)}if(!i||t!=l){i=j.create(t);j.insertAfter(i,u)}else{if(g>e){i=m.appendChild(j.create(t))}else{if(g<e){o=tinymce.inArray(n,g);q=j.getParents(i.parentNode,t);i=q[q.length-1-o]||i}}}c(j.select("span",u),function(w){var p=w.innerHTML.replace(/<\/?\w+[^>]*>/gi,"");if(t=="ul"&&/^[\u2022\u00b7\u00a7\u00d8o]/.test(p)){j.remove(w)}else{if(/^[\s\S]*\w+\.( |\u00a0)*\s*/.test(p)){j.remove(w)}}});s=u.innerHTML;if(t=="ul"){s=u.innerHTML.replace(/__MCE_ITEM__/g,"").replace(/^[\u2022\u00b7\u00a7\u00d8o]\s*( |\u00a0)+\s*/,"")}else{s=u.innerHTML.replace(/__MCE_ITEM__/g,"").replace(/^\s*\w+\.( |\u00a0)+\s*/,"")}m=i.appendChild(j.create("li",0,s));j.remove(u);e=g;l=t}else{i=e=0}});k=f.node.innerHTML;if(k.indexOf("__MCE_ITEM__")!=-1){f.node.innerHTML=k.replace(/__MCE_ITEM__/g,"")}},_insertBlockContent:function(l,h,m){var f,j,g=l.selection,q,n,e,o,i,k="mce_marker";function p(t){var s;if(tinymce.isIE){s=l.getDoc().body.createTextRange();s.moveToElementText(t);s.collapse(false);s.select()}else{g.select(t,1);g.collapse(false)}}this._insert('<span id="'+k+'"></span>',1);j=h.get(k);f=h.getParent(j,"p,h1,h2,h3,h4,h5,h6,ul,ol,th,td");if(f&&!/TD|TH/.test(f.nodeName)){j=h.split(f,j);c(h.create("div",0,m).childNodes,function(r){q=j.parentNode.insertBefore(r.cloneNode(true),j)});p(q)}else{h.setOuterHTML(j,m);g.select(l.getBody(),1);g.collapse(0)}while(n=h.get(k)){h.remove(n)}n=g.getStart();e=h.getViewPort(l.getWin());o=l.dom.getPos(n).y;i=n.clientHeight;if(o<e.y||o+i>e.y+e.h){l.getDoc().body.scrollTop=o<e.y?o:o-e.h+25}},_insert:function(g,e){var f=this.editor,i=f.selection.getRng();if(!f.selection.isCollapsed()&&i.startContainer!=i.endContainer){f.getDoc().execCommand("Delete",false,null)}f.execCommand(tinymce.isGecko?"insertHTML":"mceInsertContent",false,g,{skip_undo:e})},_insertPlainText:function(j,x,v){var t,u,l,k,r,e,p,f,n=j.getWin(),z=j.getDoc(),s=j.selection,m=tinymce.is,y=tinymce.inArray,g=b(j,"paste_text_linebreaktype"),o=b(j,"paste_text_replacements");function q(h){c(h,function(i){if(i.constructor==RegExp){v=v.replace(i,"")}else{v=v.replace(i[0],i[1])}})}if((typeof(v)==="string")&&(v.length>0)){if(!d){d=("34,quot,38,amp,39,apos,60,lt,62,gt,"+j.serializer.settings.entities).split(",")}if(/<(?:p|br|h[1-6]|ul|ol|dl|table|t[rdh]|div|blockquote|fieldset|pre|address|center)[^>]*>/i.test(v)){q([/[\n\r]+/g])}else{q([/\r+/g])}q([[/<\/(?:p|h[1-6]|ul|ol|dl|table|div|blockquote|fieldset|pre|address|center)>/gi,"\n\n"],[/<br[^>]*>|<\/tr>/gi,"\n"],[/<\/t[dh]>\s*<t[dh][^>]*>/gi,"\t"],/<[a-z!\/?][^>]*>/gi,[/ /gi," "],[/&(#\d+|[a-z0-9]{1,10});/gi,function(i,h){if(h.charAt(0)==="#"){return String.fromCharCode(h.slice(1))}else{return((i=y(d,h))>0)?String.fromCharCode(d[i-1]):" "}}],[/(?:(?!\n)\s)*(\n+)(?:(?!\n)\s)*/gi,"$1"],[/\n{3,}/g,"\n\n"],/^\s+|\s+$/g]);v=x.encode(v);if(!s.isCollapsed()){z.execCommand("Delete",false,null)}if(m(o,"array")||(m(o,"array"))){q(o)}else{if(m(o,"string")){q(new RegExp(o,"gi"))}}if(g=="none"){q([[/\n+/g," "]])}else{if(g=="br"){q([[/\n/g,"<br />"]])}else{q([/^\s+|\s+$/g,[/\n\n/g,"</p><p>"],[/\n/g,"<br />"]])}}if((l=v.indexOf("</p><p>"))!=-1){k=v.lastIndexOf("</p><p>");r=s.getNode();e=[];do{if(r.nodeType==1){if(r.nodeName=="TD"||r.nodeName=="BODY"){break}e[e.length]=r}}while(r=r.parentNode);if(e.length>0){p=v.substring(0,l);f="";for(t=0,u=e.length;t<u;t++){p+="</"+e[t].nodeName.toLowerCase()+">";f+="<"+e[e.length-t-1].nodeName.toLowerCase()+">"}if(l==k){v=p+f+v.substring(l+7)}else{v=p+v.substring(l+4,k+4)+f+v.substring(k+7)}}}j.execCommand("mceInsertRawHTML",false,v+'<span id="_plain_text_marker"> </span>');window.setTimeout(function(){var h=x.get("_plain_text_marker"),B,i,A,w;s.select(h,false);z.execCommand("Delete",false,null);h=null;B=s.getStart();i=x.getViewPort(n);A=x.getPos(B).y;w=B.clientHeight;if((A<i.y)||(A+w>i.y+i.h)){z.body.scrollTop=A<i.y?A:A-i.h+25}},0)}},_legacySupport:function(){var f=this,e=f.editor;e.addCommand("mcePasteWord",function(){e.windowManager.open({file:f.url+"/pasteword.htm",width:parseInt(b(e,"paste_dialog_width")),height:parseInt(b(e,"paste_dialog_height")),inline:1})});if(b(e,"paste_text_use_dialog")){e.addCommand("mcePasteText",function(){e.windowManager.open({file:f.url+"/pastetext.htm",width:parseInt(b(e,"paste_dialog_width")),height:parseInt(b(e,"paste_dialog_height")),inline:1})})}e.addButton("pasteword",{title:"paste.paste_word_desc",cmd:"mcePasteWord"})}});tinymce.PluginManager.add("paste",tinymce.plugins.PastePlugin)})(); \ No newline at end of file +(function(){var c=tinymce.each,a={paste_auto_cleanup_on_paste:true,paste_enable_default_filters:true,paste_block_drop:false,paste_retain_style_properties:"none",paste_strip_class_attributes:"mso",paste_remove_spans:false,paste_remove_styles:false,paste_remove_styles_if_webkit:true,paste_convert_middot_lists:true,paste_convert_headers_to_strong:false,paste_dialog_width:"450",paste_dialog_height:"400",paste_text_use_dialog:false,paste_text_sticky:false,paste_text_sticky_default:false,paste_text_notifyalways:false,paste_text_linebreaktype:"p",paste_text_replacements:[[/\u2026/g,"..."],[/[\x93\x94\u201c\u201d]/g,'"'],[/[\x60\x91\x92\u2018\u2019]/g,"'"]]};function b(d,e){return d.getParam(e,a[e])}tinymce.create("tinymce.plugins.PastePlugin",{init:function(d,e){var f=this;f.editor=d;f.url=e;f.onPreProcess=new tinymce.util.Dispatcher(f);f.onPostProcess=new tinymce.util.Dispatcher(f);f.onPreProcess.add(f._preProcess);f.onPostProcess.add(f._postProcess);f.onPreProcess.add(function(i,j){d.execCallback("paste_preprocess",i,j)});f.onPostProcess.add(function(i,j){d.execCallback("paste_postprocess",i,j)});d.onKeyDown.addToTop(function(i,j){if(((tinymce.isMac?j.metaKey:j.ctrlKey)&&j.keyCode==86)||(j.shiftKey&&j.keyCode==45)){return false}});d.pasteAsPlainText=b(d,"paste_text_sticky_default");function h(m,k){var l=d.dom,i,j;f.onPreProcess.dispatch(f,m);m.node=l.create("div",0,m.content);if(tinymce.isGecko){i=d.selection.getRng(true);if(i.startContainer==i.endContainer&&i.startContainer.nodeType==3){j=l.select("p,h1,h2,h3,h4,h5,h6,pre",m.node);if(j.length==1&&m.content.indexOf("__MCE_ITEM__")===-1){l.remove(j.reverse(),true)}}}f.onPostProcess.dispatch(f,m);m.content=d.serializer.serialize(m.node,{getInner:1});if((!k)&&(d.pasteAsPlainText)){f._insertPlainText(d,l,m.content);if(!b(d,"paste_text_sticky")){d.pasteAsPlainText=false;d.controlManager.setActive("pastetext",false)}}else{f._insert(m.content)}}d.addCommand("mceInsertClipboardContent",function(i,j){h(j,true)});if(!b(d,"paste_text_use_dialog")){d.addCommand("mcePasteText",function(j,i){var k=tinymce.util.Cookie;d.pasteAsPlainText=!d.pasteAsPlainText;d.controlManager.setActive("pastetext",d.pasteAsPlainText);if((d.pasteAsPlainText)&&(!k.get("tinymcePasteText"))){if(b(d,"paste_text_sticky")){d.windowManager.alert(d.translate("paste.plaintext_mode_sticky"))}else{d.windowManager.alert(d.translate("paste.plaintext_mode_sticky"))}if(!b(d,"paste_text_notifyalways")){k.set("tinymcePasteText","1",new Date(new Date().getFullYear()+1,12,31))}}})}d.addButton("pastetext",{title:"paste.paste_text_desc",cmd:"mcePasteText"});d.addButton("selectall",{title:"paste.selectall_desc",cmd:"selectall"});function g(s){var l,p,j,t,k=d.selection,o=d.dom,q=d.getBody(),i,r;if(s.clipboardData||o.doc.dataTransfer){r=(s.clipboardData||o.doc.dataTransfer).getData("Text");if(d.pasteAsPlainText){s.preventDefault();h({content:r.replace(/\r?\n/g,"<br />")});return}}if(o.get("_mcePaste")){return}l=o.add(q,"div",{id:"_mcePaste","class":"mcePaste","data-mce-bogus":"1"},"\uFEFF\uFEFF");if(q!=d.getDoc().body){i=o.getPos(d.selection.getStart(),q).y}else{i=q.scrollTop+o.getViewPort().y}o.setStyles(l,{position:"absolute",left:-10000,top:i,width:1,height:1,overflow:"hidden"});if(tinymce.isIE){t=k.getRng();j=o.doc.body.createTextRange();j.moveToElementText(l);j.execCommand("Paste");o.remove(l);if(l.innerHTML==="\uFEFF\uFEFF"){d.execCommand("mcePasteWord");s.preventDefault();return}k.setRng(t);k.setContent("");setTimeout(function(){h({content:l.innerHTML})},0);return tinymce.dom.Event.cancel(s)}else{function m(n){n.preventDefault()}o.bind(d.getDoc(),"mousedown",m);o.bind(d.getDoc(),"keydown",m);p=d.selection.getRng();l=l.firstChild;j=d.getDoc().createRange();j.setStart(l,0);j.setEnd(l,2);k.setRng(j);window.setTimeout(function(){var u="",n;if(!o.select("div.mcePaste > div.mcePaste").length){n=o.select("div.mcePaste");c(n,function(w){var v=w.firstChild;if(v&&v.nodeName=="DIV"&&v.style.marginTop&&v.style.backgroundColor){o.remove(v,1)}c(o.select("span.Apple-style-span",w),function(x){o.remove(x,1)});c(o.select("br[data-mce-bogus]",w),function(x){o.remove(x)});if(w.parentNode.className!="mcePaste"){u+=w.innerHTML}})}else{u="<pre>"+o.encode(r).replace(/\r?\n/g,"<br />")+"</pre>"}c(o.select("div.mcePaste"),function(v){o.remove(v)});if(p){k.setRng(p)}h({content:u});o.unbind(d.getDoc(),"mousedown",m);o.unbind(d.getDoc(),"keydown",m)},0)}}if(b(d,"paste_auto_cleanup_on_paste")){if(tinymce.isOpera||/Firefox\/2/.test(navigator.userAgent)){d.onKeyDown.addToTop(function(i,j){if(((tinymce.isMac?j.metaKey:j.ctrlKey)&&j.keyCode==86)||(j.shiftKey&&j.keyCode==45)){g(j)}})}else{d.onPaste.addToTop(function(i,j){return g(j)})}}d.onInit.add(function(){d.controlManager.setActive("pastetext",d.pasteAsPlainText);if(b(d,"paste_block_drop")){d.dom.bind(d.getBody(),["dragend","dragover","draggesture","dragdrop","drop","drag"],function(i){i.preventDefault();i.stopPropagation();return false})}});f._legacySupport()},getInfo:function(){return{longname:"Paste text/word",author:"Moxiecode Systems AB",authorurl:"http://tinymce.moxiecode.com",infourl:"http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/paste",version:tinymce.majorVersion+"."+tinymce.minorVersion}},_preProcess:function(g,e){var k=this.editor,j=e.content,p=tinymce.grep,n=tinymce.explode,f=tinymce.trim,l,i;function d(h){c(h,function(o){if(o.constructor==RegExp){j=j.replace(o,"")}else{j=j.replace(o[0],o[1])}})}if(k.settings.paste_enable_default_filters==false){return}if(tinymce.isIE&&document.documentMode>=9){d([[/(?:<br> [\s\r\n]+|<br>)*(<\/?(h[1-6r]|p|div|address|pre|form|table|tbody|thead|tfoot|th|tr|td|li|ol|ul|caption|blockquote|center|dl|dt|dd|dir|fieldset)[^>]*>)(?:<br> [\s\r\n]+|<br>)*/g,"$1"]])}if(/class="?Mso|style="[^"]*\bmso-|w:WordDocument/i.test(j)||e.wordContent){e.wordContent=true;d([/^\s*( )+/gi,/( |<br[^>]*>)+\s*$/gi]);if(b(k,"paste_convert_headers_to_strong")){j=j.replace(/<p [^>]*class="?MsoHeading"?[^>]*>(.*?)<\/p>/gi,"<p><strong>$1</strong></p>")}if(b(k,"paste_convert_middot_lists")){d([[/<!--\[if !supportLists\]-->/gi,"$&__MCE_ITEM__"],[/(<span[^>]+(?:mso-list:|:\s*symbol)[^>]+>)/gi,"$1__MCE_ITEM__"],[/(<p[^>]+(?:MsoListParagraph)[^>]+>)/gi,"$1__MCE_ITEM__"]])}d([/<!--[\s\S]+?-->/gi,/<(!|script[^>]*>.*?<\/script(?=[>\s])|\/?(\?xml(:\w+)?|img|meta|link|style|\w:\w+)(?=[\s\/>]))[^>]*>/gi,[/<(\/?)s>/gi,"<$1strike>"],[/ /gi,"\u00a0"]]);do{l=j.length;j=j.replace(/(<[a-z][^>]*\s)(?:id|name|language|type|on\w+|\w+:\w+)=(?:"[^"]*"|\w+)\s?/gi,"$1")}while(l!=j.length);if(b(k,"paste_retain_style_properties").replace(/^none$/i,"").length==0){j=j.replace(/<\/?span[^>]*>/gi,"")}else{d([[/<span\s+style\s*=\s*"\s*mso-spacerun\s*:\s*yes\s*;?\s*"\s*>([\s\u00a0]*)<\/span>/gi,function(o,h){return(h.length>0)?h.replace(/./," ").slice(Math.floor(h.length/2)).split("").join("\u00a0"):""}],[/(<[a-z][^>]*)\sstyle="([^"]*)"/gi,function(t,h,r){var u=[],o=0,q=n(f(r).replace(/"/gi,"'"),";");c(q,function(s){var w,y,z=n(s,":");function x(A){return A+((A!=="0")&&(/\d$/.test(A)))?"px":""}if(z.length==2){w=z[0].toLowerCase();y=z[1].toLowerCase();switch(w){case"mso-padding-alt":case"mso-padding-top-alt":case"mso-padding-right-alt":case"mso-padding-bottom-alt":case"mso-padding-left-alt":case"mso-margin-alt":case"mso-margin-top-alt":case"mso-margin-right-alt":case"mso-margin-bottom-alt":case"mso-margin-left-alt":case"mso-table-layout-alt":case"mso-height":case"mso-width":case"mso-vertical-align-alt":u[o++]=w.replace(/^mso-|-alt$/g,"")+":"+x(y);return;case"horiz-align":u[o++]="text-align:"+y;return;case"vert-align":u[o++]="vertical-align:"+y;return;case"font-color":case"mso-foreground":u[o++]="color:"+y;return;case"mso-background":case"mso-highlight":u[o++]="background:"+y;return;case"mso-default-height":u[o++]="min-height:"+x(y);return;case"mso-default-width":u[o++]="min-width:"+x(y);return;case"mso-padding-between-alt":u[o++]="border-collapse:separate;border-spacing:"+x(y);return;case"text-line-through":if((y=="single")||(y=="double")){u[o++]="text-decoration:line-through"}return;case"mso-zero-height":if(y=="yes"){u[o++]="display:none"}return}if(/^(mso|column|font-emph|lang|layout|line-break|list-image|nav|panose|punct|row|ruby|sep|size|src|tab-|table-border|text-(?!align|decor|indent|trans)|top-bar|version|vnd|word-break)/.test(w)){return}u[o++]=w+":"+z[1]}});if(o>0){return h+' style="'+u.join(";")+'"'}else{return h}}]])}}if(b(k,"paste_convert_headers_to_strong")){d([[/<h[1-6][^>]*>/gi,"<p><strong>"],[/<\/h[1-6][^>]*>/gi,"</strong></p>"]])}d([[/Version:[\d.]+\nStartHTML:\d+\nEndHTML:\d+\nStartFragment:\d+\nEndFragment:\d+/gi,""]]);i=b(k,"paste_strip_class_attributes");if(i!=="none"){function m(q,o){if(i==="all"){return""}var h=p(n(o.replace(/^(["'])(.*)\1$/,"$2")," "),function(r){return(/^(?!mso)/i.test(r))});return h.length?' class="'+h.join(" ")+'"':""}j=j.replace(/ class="([^"]+)"/gi,m);j=j.replace(/ class=([\-\w]+)/gi,m)}if(b(k,"paste_remove_spans")){j=j.replace(/<\/?span[^>]*>/gi,"")}e.content=j},_postProcess:function(g,i){var f=this,e=f.editor,h=e.dom,d;if(e.settings.paste_enable_default_filters==false){return}if(i.wordContent){c(h.select("a",i.node),function(j){if(!j.href||j.href.indexOf("#_Toc")!=-1){h.remove(j,1)}});if(b(e,"paste_convert_middot_lists")){f._convertLists(g,i)}d=b(e,"paste_retain_style_properties");if((tinymce.is(d,"string"))&&(d!=="all")&&(d!=="*")){d=tinymce.explode(d.replace(/^none$/i,""));c(h.select("*",i.node),function(m){var n={},k=0,l,o,j;if(d){for(l=0;l<d.length;l++){o=d[l];j=h.getStyle(m,o);if(j){n[o]=j;k++}}}h.setAttrib(m,"style","");if(d&&k>0){h.setStyles(m,n)}else{if(m.nodeName=="SPAN"&&!m.className){h.remove(m,true)}}})}}if(b(e,"paste_remove_styles")||(b(e,"paste_remove_styles_if_webkit")&&tinymce.isWebKit)){c(h.select("*[style]",i.node),function(j){j.removeAttribute("style");j.removeAttribute("data-mce-style")})}else{if(tinymce.isWebKit){c(h.select("*",i.node),function(j){j.removeAttribute("data-mce-style")})}}},_convertLists:function(g,e){var i=g.editor.dom,h,l,d=-1,f,m=[],k,j;c(i.select("p",e.node),function(t){var q,u="",s,r,n,o;for(q=t.firstChild;q&&q.nodeType==3;q=q.nextSibling){u+=q.nodeValue}u=t.innerHTML.replace(/<\/?\w+[^>]*>/gi,"").replace(/ /g,"\u00a0");if(/^(__MCE_ITEM__)+[\u2022\u00b7\u00a7\u00d8o\u25CF]\s*\u00a0*/.test(u)){s="ul"}if(/^__MCE_ITEM__\s*\w+\.\s*\u00a0+/.test(u)){s="ol"}if(s){f=parseFloat(t.style.marginLeft||0);if(f>d){m.push(f)}if(!h||s!=k){h=i.create(s);i.insertAfter(h,t)}else{if(f>d){h=l.appendChild(i.create(s))}else{if(f<d){n=tinymce.inArray(m,f);o=i.getParents(h.parentNode,s);h=o[o.length-1-n]||h}}}c(i.select("span",t),function(v){var p=v.innerHTML.replace(/<\/?\w+[^>]*>/gi,"");if(s=="ul"&&/^__MCE_ITEM__[\u2022\u00b7\u00a7\u00d8o\u25CF]/.test(p)){i.remove(v)}else{if(/^__MCE_ITEM__[\s\S]*\w+\.( |\u00a0)*\s*/.test(p)){i.remove(v)}}});r=t.innerHTML;if(s=="ul"){r=t.innerHTML.replace(/__MCE_ITEM__/g,"").replace(/^[\u2022\u00b7\u00a7\u00d8o\u25CF]\s*( |\u00a0)+\s*/,"")}else{r=t.innerHTML.replace(/__MCE_ITEM__/g,"").replace(/^\s*\w+\.( |\u00a0)+\s*/,"")}l=h.appendChild(i.create("li",0,r));i.remove(t);d=f;k=s}else{h=d=0}});j=e.node.innerHTML;if(j.indexOf("__MCE_ITEM__")!=-1){e.node.innerHTML=j.replace(/__MCE_ITEM__/g,"")}},_insert:function(f,d){var e=this.editor,g=e.selection.getRng();if(!e.selection.isCollapsed()&&g.startContainer!=g.endContainer){e.getDoc().execCommand("Delete",false,null)}e.execCommand("mceInsertContent",false,f,{skip_undo:d})},_insertPlainText:function(j,x,v){var t,u,l,k,r,e,p,f,n=j.getWin(),z=j.getDoc(),s=j.selection,m=tinymce.is,y=tinymce.inArray,g=b(j,"paste_text_linebreaktype"),o=b(j,"paste_text_replacements");function q(d){c(d,function(h){if(h.constructor==RegExp){v=v.replace(h,"")}else{v=v.replace(h[0],h[1])}})}if((typeof(v)==="string")&&(v.length>0)){if(/<(?:p|br|h[1-6]|ul|ol|dl|table|t[rdh]|div|blockquote|fieldset|pre|address|center)[^>]*>/i.test(v)){q([/[\n\r]+/g])}else{q([/\r+/g])}q([[/<\/(?:p|h[1-6]|ul|ol|dl|table|div|blockquote|fieldset|pre|address|center)>/gi,"\n\n"],[/<br[^>]*>|<\/tr>/gi,"\n"],[/<\/t[dh]>\s*<t[dh][^>]*>/gi,"\t"],/<[a-z!\/?][^>]*>/gi,[/ /gi," "],[/(?:(?!\n)\s)*(\n+)(?:(?!\n)\s)*/gi,"$1"],[/\n{3,}/g,"\n\n"],/^\s+|\s+$/g]);v=x.decode(tinymce.html.Entities.encodeRaw(v));if(!s.isCollapsed()){z.execCommand("Delete",false,null)}if(m(o,"array")||(m(o,"array"))){q(o)}else{if(m(o,"string")){q(new RegExp(o,"gi"))}}if(g=="none"){q([[/\n+/g," "]])}else{if(g=="br"){q([[/\n/g,"<br />"]])}else{q([/^\s+|\s+$/g,[/\n\n/g,"</p><p>"],[/\n/g,"<br />"]])}}if((l=v.indexOf("</p><p>"))!=-1){k=v.lastIndexOf("</p><p>");r=s.getNode();e=[];do{if(r.nodeType==1){if(r.nodeName=="TD"||r.nodeName=="BODY"){break}e[e.length]=r}}while(r=r.parentNode);if(e.length>0){p=v.substring(0,l);f="";for(t=0,u=e.length;t<u;t++){p+="</"+e[t].nodeName.toLowerCase()+">";f+="<"+e[e.length-t-1].nodeName.toLowerCase()+">"}if(l==k){v=p+f+v.substring(l+7)}else{v=p+v.substring(l+4,k+4)+f+v.substring(k+7)}}}j.execCommand("mceInsertRawHTML",false,v+'<span id="_plain_text_marker"> </span>');window.setTimeout(function(){var d=x.get("_plain_text_marker"),A,h,w,i;s.select(d,false);z.execCommand("Delete",false,null);d=null;A=s.getStart();h=x.getViewPort(n);w=x.getPos(A).y;i=A.clientHeight;if((w<h.y)||(w+i>h.y+h.h)){z.body.scrollTop=w<h.y?w:w-h.h+25}},0)}},_legacySupport:function(){var e=this,d=e.editor;d.addCommand("mcePasteWord",function(){d.windowManager.open({file:e.url+"/pasteword.htm",width:parseInt(b(d,"paste_dialog_width")),height:parseInt(b(d,"paste_dialog_height")),inline:1})});if(b(d,"paste_text_use_dialog")){d.addCommand("mcePasteText",function(){d.windowManager.open({file:e.url+"/pastetext.htm",width:parseInt(b(d,"paste_dialog_width")),height:parseInt(b(d,"paste_dialog_height")),inline:1})})}d.addButton("pasteword",{title:"paste.paste_word_desc",cmd:"mcePasteWord"})}});tinymce.PluginManager.add("paste",tinymce.plugins.PastePlugin)})(); \ No newline at end of file diff --git a/wp-includes/js/tinymce/plugins/paste/pastetext.htm b/wp-includes/js/tinymce/plugins/paste/pastetext.htm index 462e6efcf..85c6d5490 100644 --- a/wp-includes/js/tinymce/plugins/paste/pastetext.htm +++ b/wp-includes/js/tinymce/plugins/paste/pastetext.htm @@ -1,8 +1,8 @@ <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>{#paste.paste_text_desc}</title> - <script type="text/javascript" src="../../tiny_mce_popup.js?ver=3392"></script> - <script type="text/javascript" src="js/pastetext.js?ver=3392"></script> + <script type="text/javascript" src="../../tiny_mce_popup.js?ver=342-20110407"></script> + <script type="text/javascript" src="js/pastetext.js?ver=342-20110407"></script> </head> <body onresize="PasteTextDialog.resize();" style="display:none; overflow:hidden;"> <form name="source" onsubmit="return PasteTextDialog.insert();" action="#"> diff --git a/wp-includes/js/tinymce/plugins/paste/pasteword.htm b/wp-includes/js/tinymce/plugins/paste/pasteword.htm index 7b42d8ca6..88413c4e8 100644 --- a/wp-includes/js/tinymce/plugins/paste/pasteword.htm +++ b/wp-includes/js/tinymce/plugins/paste/pasteword.htm @@ -1,8 +1,8 @@ <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>{#paste.paste_word_desc}</title> - <script type="text/javascript" src="../../tiny_mce_popup.js?ver=3392"></script> - <script type="text/javascript" src="js/pasteword.js?ver=3392"></script> + <script type="text/javascript" src="../../tiny_mce_popup.js?ver=342-20110407"></script> + <script type="text/javascript" src="js/pasteword.js?ver=342-20110407"></script> </head> <body onresize="PasteWordDialog.resize();" style="display:none; overflow:hidden;"> <form name="source" onsubmit="return PasteWordDialog.insert();" action="#"> diff --git a/wp-includes/js/tinymce/plugins/spellchecker/changelog.txt b/wp-includes/js/tinymce/plugins/spellchecker/changelog.txt new file mode 100644 index 000000000..22f6b72a4 --- /dev/null +++ b/wp-includes/js/tinymce/plugins/spellchecker/changelog.txt @@ -0,0 +1,28 @@ +Version 2.0.5 (2011-03-24) + Merged with the latest TinyMCE spellchecker version. +Version 2.0.4 (2010-12-20) + Fixed issue with the JSON class not having the correct number of parameters to ord calls. +Version 2.0.3 (2010-04-19) + Added standalone support. Will use native spellchecker for supported browsers. + Added @package phpdoc comments. Patch contributed by Jacob Santos. + Fixed some PHP missing function issue. +Version 2.0.2 (2008-04-30) + Added new EnchantSpell engine class contributed by Michel Weimerskirch. + Added new general.remote_rpc_url option, enables you to proxy requests to another server. + Fixed security hole in PSpellShell.php file if PSpellShell engine was used. +Version 2.0.1 (2008-03-07) + Fixed bug where spellchecker was auto focusing the editor in IE. +Version 2.0 (2008-01-30) + Fixed bug where the suggestions menu was placed at an incorrect location. +Version 2.0rc1 (2008-01-14) + Moved package from beta to release candidate. +Version 2.0b3 (2007-12-xx) + Fixed bug where the suggestions menu could appear at the wrong location. +Version 2.0b2 (2007-11-29) + Fixed bug where the spellchecker was removing the word when it was ignored. +Version 2.0b1 (2007-11-21) + Moved spellchecker from alpha to beta status. +Version 2.0a2 (2007-11-13) + Updated plugin so it works correctly with the TinyMCE 3.0a3 version. +Version 2.0a1 (2007-11-01) + Rewritten version for TinyMCE 3.0 this new version uses JSON RPC. diff --git a/wp-includes/js/tinymce/plugins/spellchecker/classes/EnchantSpell.php b/wp-includes/js/tinymce/plugins/spellchecker/classes/EnchantSpell.php index 59133c6c8..7e2bd9770 100644 --- a/wp-includes/js/tinymce/plugins/spellchecker/classes/EnchantSpell.php +++ b/wp-includes/js/tinymce/plugins/spellchecker/classes/EnchantSpell.php @@ -64,4 +64,4 @@ class EnchantSpell extends SpellChecker { } } -?> \ No newline at end of file +?> diff --git a/wp-includes/js/tinymce/plugins/spellchecker/classes/GoogleSpell.php b/wp-includes/js/tinymce/plugins/spellchecker/classes/GoogleSpell.php index 446b96ac7..38daa0662 100644 --- a/wp-includes/js/tinymce/plugins/spellchecker/classes/GoogleSpell.php +++ b/wp-includes/js/tinymce/plugins/spellchecker/classes/GoogleSpell.php @@ -156,4 +156,4 @@ if (!function_exists('mb_substr')) { } } -?> \ No newline at end of file +?> diff --git a/wp-includes/js/tinymce/plugins/spellchecker/classes/PSpellShell.php b/wp-includes/js/tinymce/plugins/spellchecker/classes/PSpellShell.php index 7d3102c75..c4b5220d3 100644 --- a/wp-includes/js/tinymce/plugins/spellchecker/classes/PSpellShell.php +++ b/wp-includes/js/tinymce/plugins/spellchecker/classes/PSpellShell.php @@ -110,4 +110,4 @@ class PSpellShell extends SpellChecker { } } -?> \ No newline at end of file +?> diff --git a/wp-includes/js/tinymce/plugins/spellchecker/editor_plugin.js b/wp-includes/js/tinymce/plugins/spellchecker/editor_plugin.js index 3d1bf018d..e59c2c157 100644 --- a/wp-includes/js/tinymce/plugins/spellchecker/editor_plugin.js +++ b/wp-includes/js/tinymce/plugins/spellchecker/editor_plugin.js @@ -1 +1 @@ -(function(){var a=tinymce.util.JSONRequest,c=tinymce.each,b=tinymce.DOM;tinymce.create("tinymce.plugins.SpellcheckerPlugin",{getInfo:function(){return{longname:"Spellchecker",author:"Moxiecode Systems AB",authorurl:"http://tinymce.moxiecode.com",infourl:"http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/spellchecker",version:tinymce.majorVersion+"."+tinymce.minorVersion}},init:function(e,f){var g=this,d;g.url=f;g.editor=e;g.rpcUrl=e.getParam("spellchecker_rpc_url",this.url+'/rpc.php');if(g.rpcUrl=="{backend}"){if(tinymce.isIE){return}g.hasSupport=true;e.onContextMenu.addToTop(function(h,i){if(g.active){return false}})}e.addCommand("mceSpellCheck",function(){if(g.rpcUrl=="{backend}"){g.editor.getBody().spellcheck=g.active=!g.active;return}if(!g.active){e.setProgressState(1);g._sendRPC("checkWords",[g.selectedLang,g._getWords()],function(h){if(h.length>0){g.active=1;g._markWords(h);e.setProgressState(0);e.nodeChanged()}else{e.setProgressState(0);if(e.getParam("spellchecker_report_no_misspellings",true)){e.windowManager.alert("spellchecker.no_mpell")}}})}else{g._done()}});e.onInit.add(function(){if(e.settings.content_css!==false){e.dom.loadCSS(f+"/css/content.css")}});e.onClick.add(g._showMenu,g);e.onContextMenu.add(g._showMenu,g);e.onBeforeGetContent.add(function(){if(g.active){g._removeWords()}});e.onNodeChange.add(function(i,h){h.setActive("spellchecker",g.active)});e.onSetContent.add(function(){g._done()});e.onBeforeGetContent.add(function(){g._done()});e.onBeforeExecCommand.add(function(h,i){if(i=="mceFullScreen"){g._done()}});g.languages={};c(e.getParam("spellchecker_languages","+English=en,Danish=da,Dutch=nl,Finnish=fi,French=fr,German=de,Italian=it,Polish=pl,Portuguese=pt,Spanish=es,Swedish=sv","hash"),function(i,h){if(h.indexOf("+")===0){h=h.substring(1);g.selectedLang=i}g.languages[h]=i})},createControl:function(h,d){var f=this,g,e=f.editor;if(h=="spellchecker"){if(f.rpcUrl=="{backend}"){if(f.hasSupport){g=d.createButton(h,{title:"spellchecker.desc",cmd:"mceSpellCheck",scope:f})}return g}g=d.createSplitButton(h,{title:"spellchecker.desc",cmd:"mceSpellCheck",scope:f});g.onRenderMenu.add(function(j,i){i.add({title:"spellchecker.langs","class":"mceMenuItemTitle"}).setDisabled(1);c(f.languages,function(n,m){var p={icon:1},l;p.onclick=function(){l.setSelected(1);f.selectedItem.setSelected(0);f.selectedItem=l;f.selectedLang=n};p.title=m;l=i.add(p);l.setSelected(n==f.selectedLang);if(n==f.selectedLang){f.selectedItem=l}})});return g}},_walk:function(i,g){var h=this.editor.getDoc(),e;if(h.createTreeWalker){e=h.createTreeWalker(i,NodeFilter.SHOW_TEXT,null,false);while((i=e.nextNode())!=null){g.call(this,i)}}else{tinymce.walk(i,g,"childNodes")}},_getSeparators:function(){var e="",d,f=this.editor.getParam("spellchecker_word_separator_chars",'\\s!"#$%&()*+,-./:;<=>?@[]^_{|}����������������\u201d\u201c');for(d=0;d<f.length;d++){e+="\\"+f.charAt(d)}return e},_getWords:function(){var e=this.editor,g=[],d="",f={},h=[];this._walk(e.getBody(),function(i){if(i.nodeType==3){d+=i.nodeValue+" "}});if(e.getParam("spellchecker_word_pattern")){h=d.match("("+e.getParam("spellchecker_word_pattern")+")","gi")}else{d=d.replace(new RegExp("([0-9]|["+this._getSeparators()+"])","g")," ");d=tinymce.trim(d.replace(/(\s+)/g," "));h=d.split(" ")}c(h,function(i){if(!f[i]){g.push(i);f[i]=1}});return g},_removeWords:function(e){var f=this.editor,h=f.dom,g=f.selection,d=g.getBookmark();c(h.select("span").reverse(),function(i){if(i&&(h.hasClass(i,"mceItemHiddenSpellWord")||h.hasClass(i,"mceItemHidden"))){if(!e||h.decode(i.innerHTML)==e){h.remove(i,1)}}});g.moveToBookmark(d)},_markWords:function(o){var i,h,g,f,e,n="",k=this.editor,p=this._getSeparators(),j=k.dom,d=[];var l=k.selection,m=l.getBookmark();c(o,function(q){n+=(n?"|":"")+q});i=new RegExp("(["+p+"])("+n+")(["+p+"])","g");h=new RegExp("^("+n+")","g");g=new RegExp("("+n+")(["+p+"]?)$","g");f=new RegExp("^("+n+")(["+p+"]?)$","g");e=new RegExp("("+n+")(["+p+"])","g");this._walk(this.editor.getBody(),function(q){if(q.nodeType==3){d.push(q)}});c(d,function(r){var q;if(r.nodeType==3){q=r.nodeValue;if(i.test(q)||h.test(q)||g.test(q)||f.test(q)){q=j.encode(q);q=q.replace(e,'<span class="mceItemHiddenSpellWord">$1</span>$2');q=q.replace(g,'<span class="mceItemHiddenSpellWord">$1</span>$2');j.replace(j.create("span",{"class":"mceItemHidden"},q),r)}}});l.moveToBookmark(m)},_showMenu:function(g,i){var h=this,g=h.editor,d=h._menu,k,j=g.dom,f=j.getViewPort(g.getWin());if(!d){k=b.getPos(g.getContentAreaContainer());d=g.controlManager.createDropMenu("spellcheckermenu",{offset_x:k.x,offset_y:k.y,"class":"mceNoIcons"});h._menu=d}if(j.hasClass(i.target,"mceItemHiddenSpellWord")){d.removeAll();d.add({title:"spellchecker.wait","class":"mceMenuItemTitle"}).setDisabled(1);h._sendRPC("getSuggestions",[h.selectedLang,j.decode(i.target.innerHTML)],function(l){var e;d.removeAll();if(l.length>0){d.add({title:"spellchecker.sug","class":"mceMenuItemTitle"}).setDisabled(1);c(l,function(m){d.add({title:m,onclick:function(){j.replace(g.getDoc().createTextNode(m),i.target);h._checkDone()}})});d.addSeparator()}else{d.add({title:"spellchecker.no_sug","class":"mceMenuItemTitle"}).setDisabled(1)}e=h.editor.getParam("spellchecker_enable_ignore_rpc","");d.add({title:"spellchecker.ignore_word",onclick:function(){var m=i.target.innerHTML;j.remove(i.target,1);h._checkDone();if(ignore_rpc){g.setProgressState(1);h._sendRPC("ignoreWord",[h.selectedLang,m],function(n){g.setProgressState(0)})}}});d.add({title:"spellchecker.ignore_words",onclick:function(){var m=i.target.innerHTML;h._removeWords(j.decode(m));h._checkDone();if(ignore_rpc){g.setProgressState(1);h._sendRPC("ignoreWords",[h.selectedLang,m],function(n){g.setProgressState(0)})}}});if(h.editor.getParam("spellchecker_enable_learn_rpc")){d.add({title:"spellchecker.learn_word",onclick:function(){var m=i.target.innerHTML;j.remove(i.target,1);h._checkDone();g.setProgressState(1);h._sendRPC("learnWord",[h.selectedLang,m],function(n){g.setProgressState(0)})}})}d.update()});g.selection.select(i.target);k=j.getPos(i.target);d.showMenu(k.x,k.y+i.target.offsetHeight-f.y);return tinymce.dom.Event.cancel(i)}else{d.hideMenu()}},_checkDone:function(){var e=this,d=e.editor,g=d.dom,f;c(g.select("span"),function(h){if(h&&g.hasClass(h,"mceItemHiddenSpellWord")){f=true;return false}});if(!f){e._done()}},_done:function(){var d=this,e=d.active;if(d.active){d.active=0;d._removeWords();if(d._menu){d._menu.hideMenu()}if(e){d.editor.nodeChanged()}}},_sendRPC:function(e,g,d){var f=this;a.sendRPC({url:f.rpcUrl,method:e,params:g,success:d,error:function(i,h){f.editor.setProgressState(0);f.editor.windowManager.alert(i.errstr||("Error response: "+h.responseText))}})}});tinymce.PluginManager.add("spellchecker",tinymce.plugins.SpellcheckerPlugin)})(); \ No newline at end of file +(function(){var a=tinymce.util.JSONRequest,c=tinymce.each,b=tinymce.DOM;tinymce.create("tinymce.plugins.SpellcheckerPlugin",{getInfo:function(){return{longname:"Spellchecker",author:"Moxiecode Systems AB",authorurl:"http://tinymce.moxiecode.com",infourl:"http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/spellchecker",version:tinymce.majorVersion+"."+tinymce.minorVersion}},init:function(e,f){var g=this,d;g.url=f;g.editor=e;g.rpcUrl=e.getParam("spellchecker_rpc_url",this.url+'/rpc.php');if(g.rpcUrl=="{backend}"){if(tinymce.isIE){return}g.hasSupport=true;e.onContextMenu.addToTop(function(h,i){if(g.active){return false}})}e.addCommand("mceSpellCheck",function(){if(g.rpcUrl=="{backend}"){g.editor.getBody().spellcheck=g.active=!g.active;return}if(!g.active){e.setProgressState(1);g._sendRPC("checkWords",[g.selectedLang,g._getWords()],function(h){if(h.length>0){g.active=1;g._markWords(h);e.setProgressState(0);e.nodeChanged()}else{e.setProgressState(0);if(e.getParam("spellchecker_report_no_misspellings",true)){e.windowManager.alert("spellchecker.no_mpell")}}})}else{g._done()}});if(e.settings.content_css!==false){e.contentCSS.push(f+"/css/content.css")}e.onClick.add(g._showMenu,g);e.onContextMenu.add(g._showMenu,g);e.onBeforeGetContent.add(function(){if(g.active){g._removeWords()}});e.onNodeChange.add(function(i,h){h.setActive("spellchecker",g.active)});e.onSetContent.add(function(){g._done()});e.onBeforeGetContent.add(function(){g._done()});e.onBeforeExecCommand.add(function(h,i){if(i=="mceFullScreen"){g._done()}});g.languages={};c(e.getParam("spellchecker_languages","+English=en,Danish=da,Dutch=nl,Finnish=fi,French=fr,German=de,Italian=it,Polish=pl,Portuguese=pt,Spanish=es,Swedish=sv","hash"),function(i,h){if(h.indexOf("+")===0){h=h.substring(1);g.selectedLang=i}g.languages[h]=i})},createControl:function(h,d){var f=this,g,e=f.editor;if(h=="spellchecker"){if(f.rpcUrl=="{backend}"){if(f.hasSupport){g=d.createButton(h,{title:"spellchecker.desc",cmd:"mceSpellCheck",scope:f})}return g}g=d.createSplitButton(h,{title:"spellchecker.desc",cmd:"mceSpellCheck",scope:f});g.onRenderMenu.add(function(j,i){i.add({title:"spellchecker.langs","class":"mceMenuItemTitle"}).setDisabled(1);c(f.languages,function(n,m){var p={icon:1},l;p.onclick=function(){if(n==f.selectedLang){return}l.setSelected(1);f.selectedItem.setSelected(0);f.selectedItem=l;f.selectedLang=n};p.title=m;l=i.add(p);l.setSelected(n==f.selectedLang);if(n==f.selectedLang){f.selectedItem=l}})});return g}},_walk:function(i,g){var h=this.editor.getDoc(),e;if(h.createTreeWalker){e=h.createTreeWalker(i,NodeFilter.SHOW_TEXT,null,false);while((i=e.nextNode())!=null){g.call(this,i)}}else{tinymce.walk(i,g,"childNodes")}},_getSeparators:function(){var e="",d,f=this.editor.getParam("spellchecker_word_separator_chars",'\\s!"#$%&()*+,-./:;<=>?@[]^_{|}����������������\u201d\u201c');for(d=0;d<f.length;d++){e+="\\"+f.charAt(d)}return e},_getWords:function(){var e=this.editor,g=[],d="",f={},h=[];this._walk(e.getBody(),function(i){if(i.nodeType==3){d+=i.nodeValue+" "}});if(e.getParam("spellchecker_word_pattern")){h=d.match("("+e.getParam("spellchecker_word_pattern")+")","gi")}else{d=d.replace(new RegExp("([0-9]|["+this._getSeparators()+"])","g")," ");d=tinymce.trim(d.replace(/(\s+)/g," "));h=d.split(" ")}c(h,function(i){if(!f[i]){g.push(i);f[i]=1}});return g},_removeWords:function(e){var f=this.editor,h=f.dom,g=f.selection,d=g.getBookmark();c(h.select("span").reverse(),function(i){if(i&&(h.hasClass(i,"mceItemHiddenSpellWord")||h.hasClass(i,"mceItemHidden"))){if(!e||h.decode(i.innerHTML)==e){h.remove(i,1)}}});g.moveToBookmark(d)},_markWords:function(k){var g=this.editor,f=g.dom,h=g.selection,i=h.getBookmark(),d=[],j=k.join("|"),l=this._getSeparators(),e=new RegExp("(^|["+l+"])("+j+")(?=["+l+"]|$)","g");this._walk(g.getBody(),function(m){if(m.nodeType==3){d.push(m)}});c(d,function(s){var q,p,m,r,o=s.nodeValue;if(e.test(o)){o=f.encode(o);p=f.create("span",{"class":"mceItemHidden"});if(tinymce.isIE){o=o.replace(e,"$1<mcespell>$2</mcespell>");while((r=o.indexOf("<mcespell>"))!=-1){m=o.substring(0,r);if(m.length){q=document.createTextNode(f.decode(m));p.appendChild(q)}o=o.substring(r+10);r=o.indexOf("</mcespell>");m=o.substring(0,r);o=o.substring(r+11);p.appendChild(f.create("span",{"class":"mceItemHiddenSpellWord"},m))}if(o.length){q=document.createTextNode(f.decode(o));p.appendChild(q)}}else{p.innerHTML=o.replace(e,'$1<span class="mceItemHiddenSpellWord">$2</span>')}f.replace(p,s)}});h.moveToBookmark(i)},_showMenu:function(h,j){var i=this,h=i.editor,d=i._menu,l,k=h.dom,g=k.getViewPort(h.getWin()),f=j.target;j=0;if(!d){d=h.controlManager.createDropMenu("spellcheckermenu",{"class":"mceNoIcons"});i._menu=d}if(k.hasClass(f,"mceItemHiddenSpellWord")){d.removeAll();d.add({title:"spellchecker.wait","class":"mceMenuItemTitle"}).setDisabled(1);i._sendRPC("getSuggestions",[i.selectedLang,k.decode(f.innerHTML)],function(m){var e;d.removeAll();if(m.length>0){d.add({title:"spellchecker.sug","class":"mceMenuItemTitle"}).setDisabled(1);c(m,function(n){d.add({title:n,onclick:function(){k.replace(h.getDoc().createTextNode(n),f);i._checkDone()}})});d.addSeparator()}else{d.add({title:"spellchecker.no_sug","class":"mceMenuItemTitle"}).setDisabled(1)}e=i.editor.getParam("spellchecker_enable_ignore_rpc","");d.add({title:"spellchecker.ignore_word",onclick:function(){var n=f.innerHTML;k.remove(f,1);i._checkDone();if(e){h.setProgressState(1);i._sendRPC("ignoreWord",[i.selectedLang,n],function(o){h.setProgressState(0)})}}});d.add({title:"spellchecker.ignore_words",onclick:function(){var n=f.innerHTML;i._removeWords(k.decode(n));i._checkDone();if(e){h.setProgressState(1);i._sendRPC("ignoreWords",[i.selectedLang,n],function(o){h.setProgressState(0)})}}});if(i.editor.getParam("spellchecker_enable_learn_rpc")){d.add({title:"spellchecker.learn_word",onclick:function(){var n=f.innerHTML;k.remove(f,1);i._checkDone();h.setProgressState(1);i._sendRPC("learnWord",[i.selectedLang,n],function(o){h.setProgressState(0)})}})}d.update()});l=k.getPos(h.getContentAreaContainer());d.settings.offset_x=l.x;d.settings.offset_y=l.y;h.selection.select(f);l=k.getPos(f);d.showMenu(l.x,l.y+f.offsetHeight-g.y);return tinymce.dom.Event.cancel(j)}else{d.hideMenu()}},_checkDone:function(){var e=this,d=e.editor,g=d.dom,f;c(g.select("span"),function(h){if(h&&g.hasClass(h,"mceItemHiddenSpellWord")){f=true;return false}});if(!f){e._done()}},_done:function(){var d=this,e=d.active;if(d.active){d.active=0;d._removeWords();if(d._menu){d._menu.hideMenu()}if(e){d.editor.nodeChanged()}}},_sendRPC:function(e,g,d){var f=this;a.sendRPC({url:f.rpcUrl,method:e,params:g,success:d,error:function(i,h){f.editor.setProgressState(0);f.editor.windowManager.alert(i.errstr||("Error response: "+h.responseText))}})}});tinymce.PluginManager.add("spellchecker",tinymce.plugins.SpellcheckerPlugin)})(); \ No newline at end of file diff --git a/wp-includes/js/tinymce/plugins/tabfocus/editor_plugin.js b/wp-includes/js/tinymce/plugins/tabfocus/editor_plugin.js index 27d244022..d18689ddb 100644 --- a/wp-includes/js/tinymce/plugins/tabfocus/editor_plugin.js +++ b/wp-includes/js/tinymce/plugins/tabfocus/editor_plugin.js @@ -1 +1 @@ -(function(){var c=tinymce.DOM,a=tinymce.dom.Event,d=tinymce.each,b=tinymce.explode;tinymce.create("tinymce.plugins.TabFocusPlugin",{init:function(f,g){function e(i,j){if(j.keyCode===9){return a.cancel(j)}}function h(l,p){var j,m,o,n,k;function q(i){o=c.getParent(l.id,"form");n=o.elements;if(o){d(n,function(s,r){if(s.id==l.id){j=r;return false}});if(i>0){for(m=j+1;m<n.length;m++){if(n[m].type!="hidden"){return n[m]}}}else{for(m=j-1;m>=0;m--){if(n[m].type!="hidden"){return n[m]}}}}return null}if(p.keyCode===9){k=b(l.getParam("tab_focus",l.getParam("tabfocus_elements",":prev,:next")));if(k.length==1){k[1]=k[0];k[0]=":prev"}if(p.shiftKey){if(k[0]==":prev"){n=q(-1)}else{n=c.get(k[0])}}else{if(k[1]==":next"){n=q(1)}else{n=c.get(k[1])}}if(n){if(l=tinymce.get(n.id||n.name)){l.focus()}else{window.setTimeout(function(){window.focus();n.focus()},10)}return a.cancel(p)}}}f.onKeyUp.add(e);if(tinymce.isGecko){f.onKeyPress.add(h);f.onKeyDown.add(e)}else{f.onKeyDown.add(h)}f.onInit.add(function(){d(c.select("a:first,a:last",f.getContainer()),function(i){a.add(i,"focus",function(){f.focus()})})})},getInfo:function(){return{longname:"Tabfocus",author:"Moxiecode Systems AB",authorurl:"http://tinymce.moxiecode.com",infourl:"http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/tabfocus",version:tinymce.majorVersion+"."+tinymce.minorVersion}}});tinymce.PluginManager.add("tabfocus",tinymce.plugins.TabFocusPlugin)})(); \ No newline at end of file +(function(){var c=tinymce.DOM,a=tinymce.dom.Event,d=tinymce.each,b=tinymce.explode;tinymce.create("tinymce.plugins.TabFocusPlugin",{init:function(f,g){function e(i,j){if(j.keyCode===9){return a.cancel(j)}}function h(l,p){var j,m,o,n,k;function q(r){n=c.select(":input:enabled,*[tabindex]");function i(s){return s.type!="hidden"&&s.tabIndex!="-1"&&!(n[m].style.display=="none")&&!(n[m].style.visibility=="hidden")}d(n,function(t,s){if(t.id==l.id){j=s;return false}});if(r>0){for(m=j+1;m<n.length;m++){if(i(n[m])){return n[m]}}}else{for(m=j-1;m>=0;m--){if(i(n[m])){return n[m]}}}return null}if(p.keyCode===9){k=b(l.getParam("tab_focus",l.getParam("tabfocus_elements",":prev,:next")));if(k.length==1){k[1]=k[0];k[0]=":prev"}if(p.shiftKey){if(k[0]==":prev"){n=q(-1)}else{n=c.get(k[0])}}else{if(k[1]==":next"){n=q(1)}else{n=c.get(k[1])}}if(n){if(n.id&&(l=tinymce.get(n.id||n.name))){l.focus()}else{window.setTimeout(function(){if(!tinymce.isWebKit){window.focus()}n.focus()},10)}return a.cancel(p)}}}f.onKeyUp.add(e);if(tinymce.isGecko){f.onKeyPress.add(h);f.onKeyDown.add(e)}else{f.onKeyDown.add(h)}},getInfo:function(){return{longname:"Tabfocus",author:"Moxiecode Systems AB",authorurl:"http://tinymce.moxiecode.com",infourl:"http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/tabfocus",version:tinymce.majorVersion+"."+tinymce.minorVersion}}});tinymce.PluginManager.add("tabfocus",tinymce.plugins.TabFocusPlugin)})(); \ No newline at end of file diff --git a/wp-includes/js/tinymce/plugins/wordpress/css/content.css b/wp-includes/js/tinymce/plugins/wordpress/css/content.css index f8384955c..8cf986c51 100644 --- a/wp-includes/js/tinymce/plugins/wordpress/css/content.css +++ b/wp-includes/js/tinymce/plugins/wordpress/css/content.css @@ -1,17 +1,17 @@ .mceWPnextpage, .mceWPmore { - border: 0px; + border: 0; border-top: 1px dotted #cccccc; display: block; - width: 100%; + width: 95%; height: 12px; - margin-top: 15px; + margin: 15px auto 0; } .mceWPmore { - background: #ffffff url(../img/more_bug.gif) no-repeat right top; + background: transparent url(../img/more_bug.gif) no-repeat right top; } .mceWPnextpage { - background: #ffffff url(../img/page_bug.gif) no-repeat right top; + background: transparent url(../img/page_bug.gif) no-repeat right top; } img.wpGallery { diff --git a/wp-includes/js/tinymce/plugins/wordpress/editor_plugin.dev.js b/wp-includes/js/tinymce/plugins/wordpress/editor_plugin.dev.js index f89986887..6c0083c8e 100644 --- a/wp-includes/js/tinymce/plugins/wordpress/editor_plugin.dev.js +++ b/wp-includes/js/tinymce/plugins/wordpress/editor_plugin.dev.js @@ -67,7 +67,6 @@ // Register buttons ed.addButton('wp_more', { title : 'wordpress.wp_more_desc', - image : url + '/img/more.gif', cmd : 'WP_More' }); @@ -79,13 +78,11 @@ ed.addButton('wp_help', { title : 'wordpress.wp_help_desc', - image : url + '/img/help.gif', cmd : 'WP_Help' }); ed.addButton('wp_adv', { title : 'wordpress.wp_adv_desc', - image : url + '/img/toolbars.gif', cmd : 'WP_Adv' }); @@ -189,6 +186,9 @@ } }); + if ( ed.id != 'wp_mce_fullscreen' ) + ed.dom.addClass(ed.getBody(), 'wp-editor'); + // remove invalid parent paragraphs when pasting HTML and/or switching to the HTML editor and back ed.onBeforeSetContent.add(function(ed, o) { if ( o.content ) { @@ -198,15 +198,26 @@ }); }); - // Word count if script is loaded - if ( 'undefined' != typeof wpWordCount ) { + // Word count + if ( 'undefined' != typeof(jQuery) ) { ed.onKeyUp.add(function(ed, e) { - if ( e.keyCode == last ) return; - if ( 13 == e.keyCode || 8 == last || 46 == last ) wpWordCount.wc( ed.getContent({format : 'raw'}) ); - last = e.keyCode; + var k = e.keyCode || e.charCode; + + if ( k == last ) + return; + + if ( 13 == k || 8 == last || 46 == last ) + jQuery(document).triggerHandler('wpcountwords', [ ed.getContent({format : 'raw'}) ]); + + last = k; }); }; + // keep empty paragraphs :( + ed.onSaveContent.addToTop(function(ed, o) { + o.content = o.content.replace(/<p>(<br ?\/?>|\u00a0|\uFEFF)?<\/p>/g, '<p> </p>'); + }); + ed.onSaveContent.add(function(ed, o) { if ( typeof(switchEditors) == 'object' ) { if ( ed.isHidden() ) diff --git a/wp-includes/js/tinymce/plugins/wordpress/editor_plugin.js b/wp-includes/js/tinymce/plugins/wordpress/editor_plugin.js index 3d215bd8c..115661aea 100644 --- a/wp-includes/js/tinymce/plugins/wordpress/editor_plugin.js +++ b/wp-includes/js/tinymce/plugins/wordpress/editor_plugin.js @@ -1 +1 @@ -(function(){var a=tinymce.DOM;tinymce.create("tinymce.plugins.WordPress",{mceTout:0,init:function(c,d){var e=this,h=c.getParam("wordpress_adv_toolbar","toolbar2"),g=0,f,b;f='<img src="'+d+'/img/trans.gif" class="mceWPmore mceItemNoResize" title="'+c.getLang("wordpress.wp_more_alt")+'" />';b='<img src="'+d+'/img/trans.gif" class="mceWPnextpage mceItemNoResize" title="'+c.getLang("wordpress.wp_page_alt")+'" />';if(getUserSetting("hidetb","0")=="1"){c.settings.wordpress_adv_hidden=0}c.onPostRender.add(function(){var i=c.controlManager.get(h);if(c.getParam("wordpress_adv_hidden",1)&&i){a.hide(i.id);e._resizeIframe(c,h,28)}});c.addCommand("WP_More",function(){c.execCommand("mceInsertContent",0,f)});c.addCommand("WP_Page",function(){c.execCommand("mceInsertContent",0,b)});c.addCommand("WP_Help",function(){c.windowManager.open({url:tinymce.baseURL+"/wp-mce-help.php",width:450,height:420,inline:1})});c.addCommand("WP_Adv",function(){var i=c.controlManager,j=i.get(h).id;if("undefined"==j){return}if(a.isHidden(j)){i.setActive("wp_adv",1);a.show(j);e._resizeIframe(c,h,-28);c.settings.wordpress_adv_hidden=0;setUserSetting("hidetb","1")}else{i.setActive("wp_adv",0);a.hide(j);e._resizeIframe(c,h,28);c.settings.wordpress_adv_hidden=1;setUserSetting("hidetb","0")}});c.addButton("wp_more",{title:"wordpress.wp_more_desc",image:d+"/img/more.gif",cmd:"WP_More"});c.addButton("wp_page",{title:"wordpress.wp_page_desc",image:d+"/img/page.gif",cmd:"WP_Page"});c.addButton("wp_help",{title:"wordpress.wp_help_desc",image:d+"/img/help.gif",cmd:"WP_Help"});c.addButton("wp_adv",{title:"wordpress.wp_adv_desc",image:d+"/img/toolbars.gif",cmd:"WP_Adv"});c.addButton("add_media",{title:"wordpress.add_media",image:d+"/img/media.gif",onclick:function(){tb_show("",tinymce.DOM.get("add_media").href);tinymce.DOM.setStyle(["TB_overlay","TB_window","TB_load"],"z-index","999999")}});c.addButton("add_image",{title:"wordpress.add_image",image:d+"/img/image.gif",onclick:function(){tb_show("",tinymce.DOM.get("add_image").href);tinymce.DOM.setStyle(["TB_overlay","TB_window","TB_load"],"z-index","999999")}});c.addButton("add_video",{title:"wordpress.add_video",image:d+"/img/video.gif",onclick:function(){tb_show("",tinymce.DOM.get("add_video").href);tinymce.DOM.setStyle(["TB_overlay","TB_window","TB_load"],"z-index","999999")}});c.addButton("add_audio",{title:"wordpress.add_audio",image:d+"/img/audio.gif",onclick:function(){tb_show("",tinymce.DOM.get("add_audio").href);tinymce.DOM.setStyle(["TB_overlay","TB_window","TB_load"],"z-index","999999")}});c.onBeforeExecCommand.add(function(p,m,s,l,j){var v=tinymce.DOM,k,i,r,u,t,q;if("mceFullScreen"==m){if("mce_fullscreen"!=p.id&&v.get("add_audio")&&v.get("add_video")&&v.get("add_image")&&v.get("add_media")){p.settings.theme_advanced_buttons1+=",|,add_image,add_video,add_audio,add_media"}}if("JustifyLeft"==m||"JustifyRight"==m||"JustifyCenter"==m){k=p.selection.getNode();if(k.nodeName=="IMG"){q=m.substr(7).toLowerCase();t="align"+q;i=p.dom.getParent(k,"dl.wp-caption");r=p.dom.getParent(k,"div.mceTemp");if(i&&r){u=p.dom.hasClass(i,t)?"alignnone":t;i.className=i.className.replace(/align[^ '"]+\s?/g,"");p.dom.addClass(i,u);if(u=="aligncenter"){p.dom.addClass(r,"mceIEcenter")}else{p.dom.removeClass(r,"mceIEcenter")}j.terminate=true;p.execCommand("mceRepaint")}else{if(p.dom.hasClass(k,t)){p.dom.addClass(k,"alignnone")}else{p.dom.removeClass(k,"alignnone")}}}}});c.onInit.add(function(i){i.onNodeChange.add(function(k,j,m){var l;if(m.nodeName=="IMG"){l=k.dom.getParent(m,"dl.wp-caption")}else{if(m.nodeName=="DIV"&&k.dom.hasClass(m,"mceTemp")){l=m.firstChild;if(!k.dom.hasClass(l,"wp-caption")){l=false}}}if(l){if(k.dom.hasClass(l,"alignleft")){j.setActive("justifyleft",1)}else{if(k.dom.hasClass(l,"alignright")){j.setActive("justifyright",1)}else{if(k.dom.hasClass(l,"aligncenter")){j.setActive("justifycenter",1)}}}}});i.onBeforeSetContent.add(function(j,k){if(k.content){k.content=k.content.replace(/<p>\s*<(p|div|ul|ol|dl|table|blockquote|h[1-6]|fieldset|pre|address)( [^>]*)?>/gi,"<$1$2>");k.content=k.content.replace(/<\/(p|div|ul|ol|dl|table|blockquote|h[1-6]|fieldset|pre|address)>\s*<\/p>/gi,"</$1>")}})});if("undefined"!=typeof wpWordCount){c.onKeyUp.add(function(i,j){if(j.keyCode==g){return}if(13==j.keyCode||8==g||46==g){wpWordCount.wc(i.getContent({format:"raw"}))}g=j.keyCode})}c.onSaveContent.add(function(i,j){if(typeof(switchEditors)=="object"){if(i.isHidden()){j.content=j.element.value}else{j.content=switchEditors.pre_wpautop(j.content)}}});e._handleMoreBreak(c,d);c.addShortcut("alt+shift+c",c.getLang("justifycenter_desc"),"JustifyCenter");c.addShortcut("alt+shift+r",c.getLang("justifyright_desc"),"JustifyRight");c.addShortcut("alt+shift+l",c.getLang("justifyleft_desc"),"JustifyLeft");c.addShortcut("alt+shift+j",c.getLang("justifyfull_desc"),"JustifyFull");c.addShortcut("alt+shift+q",c.getLang("blockquote_desc"),"mceBlockQuote");c.addShortcut("alt+shift+u",c.getLang("bullist_desc"),"InsertUnorderedList");c.addShortcut("alt+shift+o",c.getLang("numlist_desc"),"InsertOrderedList");c.addShortcut("alt+shift+d",c.getLang("striketrough_desc"),"Strikethrough");c.addShortcut("alt+shift+n",c.getLang("spellchecker.desc"),"mceSpellCheck");c.addShortcut("alt+shift+a",c.getLang("link_desc"),"mceLink");c.addShortcut("alt+shift+s",c.getLang("unlink_desc"),"unlink");c.addShortcut("alt+shift+m",c.getLang("image_desc"),"mceImage");c.addShortcut("alt+shift+g",c.getLang("fullscreen.desc"),"mceFullScreen");c.addShortcut("alt+shift+z",c.getLang("wp_adv_desc"),"WP_Adv");c.addShortcut("alt+shift+h",c.getLang("help_desc"),"WP_Help");c.addShortcut("alt+shift+t",c.getLang("wp_more_desc"),"WP_More");c.addShortcut("alt+shift+p",c.getLang("wp_page_desc"),"WP_Page");c.addShortcut("ctrl+s",c.getLang("save_desc"),function(){if("function"==typeof autosave){autosave()}});if(tinymce.isWebKit){c.addShortcut("alt+shift+b",c.getLang("bold_desc"),"Bold");c.addShortcut("alt+shift+i",c.getLang("italic_desc"),"Italic")}c.onInit.add(function(i){tinymce.dom.Event.add(i.getWin(),"scroll",function(j){i.plugins.wordpress._hideButtons()});tinymce.dom.Event.add(i.getBody(),"dragstart",function(j){i.plugins.wordpress._hideButtons()})});c.onBeforeExecCommand.add(function(i,k,j,l){i.plugins.wordpress._hideButtons()});c.onSaveContent.add(function(i,j){i.plugins.wordpress._hideButtons()});c.onMouseDown.add(function(i,j){if(j.target.nodeName!="IMG"){i.plugins.wordpress._hideButtons()}})},getInfo:function(){return{longname:"WordPress Plugin",author:"WordPress",authorurl:"http://wordpress.org",infourl:"http://wordpress.org",version:"3.0"}},_setEmbed:function(b){return b.replace(/\[embed\]([\s\S]+?)\[\/embed\][\s\u00a0]*/g,function(d,c){return'<img width="300" height="200" src="'+tinymce.baseURL+'/plugins/wordpress/img/trans.gif" class="wp-oembed mceItemNoResize" alt="'+c+'" title="'+c+'" />'})},_getEmbed:function(b){return b.replace(/<img[^>]+>/g,function(c){if(c.indexOf('class="wp-oembed')!=-1){var d=c.match(/alt="([^\"]+)"/);if(d[1]){c="[embed]"+d[1]+"[/embed]"}}return c})},_showButtons:function(f,d){var g=tinyMCE.activeEditor,i,h,b,j=tinymce.DOM,e,c;b=g.dom.getViewPort(g.getWin());i=j.getPos(g.getContentAreaContainer());h=g.dom.getPos(f);e=Math.max(h.x-b.x,0)+i.x;c=Math.max(h.y-b.y,0)+i.y;j.setStyles(d,{top:c+5+"px",left:e+5+"px",display:"block"});if(this.mceTout){clearTimeout(this.mceTout)}this.mceTout=setTimeout(function(){g.plugins.wordpress._hideButtons()},5000)},_hideButtons:function(){if(!this.mceTout){return}if(document.getElementById("wp_editbtns")){tinymce.DOM.hide("wp_editbtns")}if(document.getElementById("wp_gallerybtns")){tinymce.DOM.hide("wp_gallerybtns")}clearTimeout(this.mceTout);this.mceTout=0},_resizeIframe:function(c,e,b){var d=c.getContentAreaContainer().firstChild;a.setStyle(d,"height",d.clientHeight+b);c.theme.deltaHeight+=b},_handleMoreBreak:function(c,d){var e,b;e='<img src="'+d+'/img/trans.gif" alt="$1" class="mceWPmore mceItemNoResize" title="'+c.getLang("wordpress.wp_more_alt")+'" />';b='<img src="'+d+'/img/trans.gif" class="mceWPnextpage mceItemNoResize" title="'+c.getLang("wordpress.wp_page_alt")+'" />';c.onInit.add(function(){c.dom.loadCSS(d+"/css/content.css")});c.onPostRender.add(function(){if(c.theme.onResolveName){c.theme.onResolveName.add(function(f,g){if(g.node.nodeName=="IMG"){if(c.dom.hasClass(g.node,"mceWPmore")){g.name="wpmore"}if(c.dom.hasClass(g.node,"mceWPnextpage")){g.name="wppage"}}})}});c.onBeforeSetContent.add(function(f,g){if(g.content){g.content=g.content.replace(/<!--more(.*?)-->/g,e);g.content=g.content.replace(/<!--nextpage-->/g,b)}});c.onPostProcess.add(function(f,g){if(g.get){g.content=g.content.replace(/<img[^>]+>/g,function(i){if(i.indexOf('class="mceWPmore')!==-1){var h,j=(h=i.match(/alt="(.*?)"/))?h[1]:"";i="<!--more"+j+"-->"}if(i.indexOf('class="mceWPnextpage')!==-1){i="<!--nextpage-->"}return i})}});c.onNodeChange.add(function(g,f,h){f.setActive("wp_page",h.nodeName==="IMG"&&g.dom.hasClass(h,"mceWPnextpage"));f.setActive("wp_more",h.nodeName==="IMG"&&g.dom.hasClass(h,"mceWPmore"))})}});tinymce.PluginManager.add("wordpress",tinymce.plugins.WordPress)})(); \ No newline at end of file +(function(){var a=tinymce.DOM;tinymce.create("tinymce.plugins.WordPress",{mceTout:0,init:function(c,d){var e=this,h=c.getParam("wordpress_adv_toolbar","toolbar2"),g=0,f,b;f='<img src="'+d+'/img/trans.gif" class="mceWPmore mceItemNoResize" title="'+c.getLang("wordpress.wp_more_alt")+'" />';b='<img src="'+d+'/img/trans.gif" class="mceWPnextpage mceItemNoResize" title="'+c.getLang("wordpress.wp_page_alt")+'" />';if(getUserSetting("hidetb","0")=="1"){c.settings.wordpress_adv_hidden=0}c.onPostRender.add(function(){var i=c.controlManager.get(h);if(c.getParam("wordpress_adv_hidden",1)&&i){a.hide(i.id);e._resizeIframe(c,h,28)}});c.addCommand("WP_More",function(){c.execCommand("mceInsertContent",0,f)});c.addCommand("WP_Page",function(){c.execCommand("mceInsertContent",0,b)});c.addCommand("WP_Help",function(){c.windowManager.open({url:tinymce.baseURL+"/wp-mce-help.php",width:450,height:420,inline:1})});c.addCommand("WP_Adv",function(){var i=c.controlManager,j=i.get(h).id;if("undefined"==j){return}if(a.isHidden(j)){i.setActive("wp_adv",1);a.show(j);e._resizeIframe(c,h,-28);c.settings.wordpress_adv_hidden=0;setUserSetting("hidetb","1")}else{i.setActive("wp_adv",0);a.hide(j);e._resizeIframe(c,h,28);c.settings.wordpress_adv_hidden=1;setUserSetting("hidetb","0")}});c.addButton("wp_more",{title:"wordpress.wp_more_desc",cmd:"WP_More"});c.addButton("wp_page",{title:"wordpress.wp_page_desc",image:d+"/img/page.gif",cmd:"WP_Page"});c.addButton("wp_help",{title:"wordpress.wp_help_desc",cmd:"WP_Help"});c.addButton("wp_adv",{title:"wordpress.wp_adv_desc",cmd:"WP_Adv"});c.addButton("add_media",{title:"wordpress.add_media",image:d+"/img/media.gif",onclick:function(){tb_show("",tinymce.DOM.get("add_media").href);tinymce.DOM.setStyle(["TB_overlay","TB_window","TB_load"],"z-index","999999")}});c.addButton("add_image",{title:"wordpress.add_image",image:d+"/img/image.gif",onclick:function(){tb_show("",tinymce.DOM.get("add_image").href);tinymce.DOM.setStyle(["TB_overlay","TB_window","TB_load"],"z-index","999999")}});c.addButton("add_video",{title:"wordpress.add_video",image:d+"/img/video.gif",onclick:function(){tb_show("",tinymce.DOM.get("add_video").href);tinymce.DOM.setStyle(["TB_overlay","TB_window","TB_load"],"z-index","999999")}});c.addButton("add_audio",{title:"wordpress.add_audio",image:d+"/img/audio.gif",onclick:function(){tb_show("",tinymce.DOM.get("add_audio").href);tinymce.DOM.setStyle(["TB_overlay","TB_window","TB_load"],"z-index","999999")}});c.onBeforeExecCommand.add(function(p,m,s,l,j){var v=tinymce.DOM,k,i,r,u,t,q;if("mceFullScreen"==m){if("mce_fullscreen"!=p.id&&v.get("add_audio")&&v.get("add_video")&&v.get("add_image")&&v.get("add_media")){p.settings.theme_advanced_buttons1+=",|,add_image,add_video,add_audio,add_media"}}if("JustifyLeft"==m||"JustifyRight"==m||"JustifyCenter"==m){k=p.selection.getNode();if(k.nodeName=="IMG"){q=m.substr(7).toLowerCase();t="align"+q;i=p.dom.getParent(k,"dl.wp-caption");r=p.dom.getParent(k,"div.mceTemp");if(i&&r){u=p.dom.hasClass(i,t)?"alignnone":t;i.className=i.className.replace(/align[^ '"]+\s?/g,"");p.dom.addClass(i,u);if(u=="aligncenter"){p.dom.addClass(r,"mceIEcenter")}else{p.dom.removeClass(r,"mceIEcenter")}j.terminate=true;p.execCommand("mceRepaint")}else{if(p.dom.hasClass(k,t)){p.dom.addClass(k,"alignnone")}else{p.dom.removeClass(k,"alignnone")}}}}});c.onInit.add(function(i){i.onNodeChange.add(function(k,j,m){var l;if(m.nodeName=="IMG"){l=k.dom.getParent(m,"dl.wp-caption")}else{if(m.nodeName=="DIV"&&k.dom.hasClass(m,"mceTemp")){l=m.firstChild;if(!k.dom.hasClass(l,"wp-caption")){l=false}}}if(l){if(k.dom.hasClass(l,"alignleft")){j.setActive("justifyleft",1)}else{if(k.dom.hasClass(l,"alignright")){j.setActive("justifyright",1)}else{if(k.dom.hasClass(l,"aligncenter")){j.setActive("justifycenter",1)}}}}});if(i.id!="wp_mce_fullscreen"){i.dom.addClass(i.getBody(),"wp-editor")}i.onBeforeSetContent.add(function(j,k){if(k.content){k.content=k.content.replace(/<p>\s*<(p|div|ul|ol|dl|table|blockquote|h[1-6]|fieldset|pre|address)( [^>]*)?>/gi,"<$1$2>");k.content=k.content.replace(/<\/(p|div|ul|ol|dl|table|blockquote|h[1-6]|fieldset|pre|address)>\s*<\/p>/gi,"</$1>")}})});if("undefined"!=typeof(jQuery)){c.onKeyUp.add(function(j,l){var i=l.keyCode||l.charCode;if(i==g){return}if(13==i||8==g||46==g){jQuery(document).triggerHandler("wpcountwords",[j.getContent({format:"raw"})])}g=i})}c.onSaveContent.addToTop(function(i,j){j.content=j.content.replace(/<p>(<br ?\/?>|\u00a0|\uFEFF)?<\/p>/g,"<p> </p>")});c.onSaveContent.add(function(i,j){if(typeof(switchEditors)=="object"){if(i.isHidden()){j.content=j.element.value}else{j.content=switchEditors.pre_wpautop(j.content)}}});e._handleMoreBreak(c,d);c.addShortcut("alt+shift+c",c.getLang("justifycenter_desc"),"JustifyCenter");c.addShortcut("alt+shift+r",c.getLang("justifyright_desc"),"JustifyRight");c.addShortcut("alt+shift+l",c.getLang("justifyleft_desc"),"JustifyLeft");c.addShortcut("alt+shift+j",c.getLang("justifyfull_desc"),"JustifyFull");c.addShortcut("alt+shift+q",c.getLang("blockquote_desc"),"mceBlockQuote");c.addShortcut("alt+shift+u",c.getLang("bullist_desc"),"InsertUnorderedList");c.addShortcut("alt+shift+o",c.getLang("numlist_desc"),"InsertOrderedList");c.addShortcut("alt+shift+d",c.getLang("striketrough_desc"),"Strikethrough");c.addShortcut("alt+shift+n",c.getLang("spellchecker.desc"),"mceSpellCheck");c.addShortcut("alt+shift+a",c.getLang("link_desc"),"mceLink");c.addShortcut("alt+shift+s",c.getLang("unlink_desc"),"unlink");c.addShortcut("alt+shift+m",c.getLang("image_desc"),"mceImage");c.addShortcut("alt+shift+g",c.getLang("fullscreen.desc"),"mceFullScreen");c.addShortcut("alt+shift+z",c.getLang("wp_adv_desc"),"WP_Adv");c.addShortcut("alt+shift+h",c.getLang("help_desc"),"WP_Help");c.addShortcut("alt+shift+t",c.getLang("wp_more_desc"),"WP_More");c.addShortcut("alt+shift+p",c.getLang("wp_page_desc"),"WP_Page");c.addShortcut("ctrl+s",c.getLang("save_desc"),function(){if("function"==typeof autosave){autosave()}});if(tinymce.isWebKit){c.addShortcut("alt+shift+b",c.getLang("bold_desc"),"Bold");c.addShortcut("alt+shift+i",c.getLang("italic_desc"),"Italic")}c.onInit.add(function(i){tinymce.dom.Event.add(i.getWin(),"scroll",function(j){i.plugins.wordpress._hideButtons()});tinymce.dom.Event.add(i.getBody(),"dragstart",function(j){i.plugins.wordpress._hideButtons()})});c.onBeforeExecCommand.add(function(i,k,j,l){i.plugins.wordpress._hideButtons()});c.onSaveContent.add(function(i,j){i.plugins.wordpress._hideButtons()});c.onMouseDown.add(function(i,j){if(j.target.nodeName!="IMG"){i.plugins.wordpress._hideButtons()}})},getInfo:function(){return{longname:"WordPress Plugin",author:"WordPress",authorurl:"http://wordpress.org",infourl:"http://wordpress.org",version:"3.0"}},_setEmbed:function(b){return b.replace(/\[embed\]([\s\S]+?)\[\/embed\][\s\u00a0]*/g,function(d,c){return'<img width="300" height="200" src="'+tinymce.baseURL+'/plugins/wordpress/img/trans.gif" class="wp-oembed mceItemNoResize" alt="'+c+'" title="'+c+'" />'})},_getEmbed:function(b){return b.replace(/<img[^>]+>/g,function(c){if(c.indexOf('class="wp-oembed')!=-1){var d=c.match(/alt="([^\"]+)"/);if(d[1]){c="[embed]"+d[1]+"[/embed]"}}return c})},_showButtons:function(f,d){var g=tinyMCE.activeEditor,i,h,b,j=tinymce.DOM,e,c;b=g.dom.getViewPort(g.getWin());i=j.getPos(g.getContentAreaContainer());h=g.dom.getPos(f);e=Math.max(h.x-b.x,0)+i.x;c=Math.max(h.y-b.y,0)+i.y;j.setStyles(d,{top:c+5+"px",left:e+5+"px",display:"block"});if(this.mceTout){clearTimeout(this.mceTout)}this.mceTout=setTimeout(function(){g.plugins.wordpress._hideButtons()},5000)},_hideButtons:function(){if(!this.mceTout){return}if(document.getElementById("wp_editbtns")){tinymce.DOM.hide("wp_editbtns")}if(document.getElementById("wp_gallerybtns")){tinymce.DOM.hide("wp_gallerybtns")}clearTimeout(this.mceTout);this.mceTout=0},_resizeIframe:function(c,e,b){var d=c.getContentAreaContainer().firstChild;a.setStyle(d,"height",d.clientHeight+b);c.theme.deltaHeight+=b},_handleMoreBreak:function(c,d){var e,b;e='<img src="'+d+'/img/trans.gif" alt="$1" class="mceWPmore mceItemNoResize" title="'+c.getLang("wordpress.wp_more_alt")+'" />';b='<img src="'+d+'/img/trans.gif" class="mceWPnextpage mceItemNoResize" title="'+c.getLang("wordpress.wp_page_alt")+'" />';c.onInit.add(function(){c.dom.loadCSS(d+"/css/content.css")});c.onPostRender.add(function(){if(c.theme.onResolveName){c.theme.onResolveName.add(function(f,g){if(g.node.nodeName=="IMG"){if(c.dom.hasClass(g.node,"mceWPmore")){g.name="wpmore"}if(c.dom.hasClass(g.node,"mceWPnextpage")){g.name="wppage"}}})}});c.onBeforeSetContent.add(function(f,g){if(g.content){g.content=g.content.replace(/<!--more(.*?)-->/g,e);g.content=g.content.replace(/<!--nextpage-->/g,b)}});c.onPostProcess.add(function(f,g){if(g.get){g.content=g.content.replace(/<img[^>]+>/g,function(i){if(i.indexOf('class="mceWPmore')!==-1){var h,j=(h=i.match(/alt="(.*?)"/))?h[1]:"";i="<!--more"+j+"-->"}if(i.indexOf('class="mceWPnextpage')!==-1){i="<!--nextpage-->"}return i})}});c.onNodeChange.add(function(g,f,h){f.setActive("wp_page",h.nodeName==="IMG"&&g.dom.hasClass(h,"mceWPnextpage"));f.setActive("wp_more",h.nodeName==="IMG"&&g.dom.hasClass(h,"mceWPmore"))})}});tinymce.PluginManager.add("wordpress",tinymce.plugins.WordPress)})(); \ No newline at end of file diff --git a/wp-includes/js/tinymce/plugins/wpdialogs/editor_plugin.dev.js b/wp-includes/js/tinymce/plugins/wpdialogs/editor_plugin.dev.js index bdc63ddc5..4be9c3faf 100644 --- a/wp-includes/js/tinymce/plugins/wpdialogs/editor_plugin.dev.js +++ b/wp-includes/js/tinymce/plugins/wpdialogs/editor_plugin.dev.js @@ -8,18 +8,56 @@ * Contributing: http://tinymce.moxiecode.com/contributing */ -(function($) { - var wpDialogFn = function( fn ) { - return function() { - if ( this.features.wpDialog ) - return fn.apply( this, arguments ); - else - return this.parent.apply( this, arguments ); - }; - }; - +(function() { tinymce.create('tinymce.plugins.WPDialogs', { init : function(ed, url) { + tinymce.create('tinymce.WPWindowManager:tinymce.InlineWindowManager', { + WPWindowManager : function(ed) { + this.parent(ed); + }, + + open : function(f, p) { + var t = this, element; + + if ( ! f.wpDialog ) + return this.parent( f, p ); + else if ( ! f.id ) + return; + + element = jQuery('#' + f.id); + if ( ! element.length ) + return; + + t.features = f; + t.params = p; + t.onOpen.dispatch(t, f, p); + t.element = t.windows[ f.id ] = element; + + // Store selection + t.bookmark = t.editor.selection.getBookmark(1); + + // Create the dialog if necessary + if ( ! element.data('wpdialog') ) { + element.wpdialog({ + title: f.title, + width: f.width, + height: f.height, + modal: true, + dialogClass: 'wp-dialog', + zIndex: 300000 + }); + } + + element.wpdialog('open'); + }, + close : function() { + if ( ! this.features.wpDialog ) + return this.parent.apply( this, arguments ); + + this.element.wpdialog('close'); + } + }); + // Replace window manager ed.onBeforeRenderUI.add(function() { ed.windowManager = new tinymce.WPWindowManager(ed); @@ -36,62 +74,7 @@ }; } }); - - $(document).ready(function() { - $.widget("wp.wpdialog", $.ui.dialog, { - open: function() { - // Initialize tinyMCEPopup if it exists. - if ( tinyMCEPopup ) - tinyMCEPopup.init(); - // Open the dialog. - $.ui.dialog.prototype.open.apply( this, arguments ); - // WebKit leaves focus in the TinyMCE editor unless we shift focus. - this.element.focus(); - this._trigger('refresh'); - } - }); - }); - - tinymce.create('tinymce.WPWindowManager:tinymce.InlineWindowManager', { - WPWindowManager : function(ed) { - this.parent(ed); - }, - - open : function(f, p) { - var t = this, element; - // Can't use wpDialogFn here; this.features isn't set yet. - if ( ! f.wpDialog ) - return this.parent( f, p ); - else if ( ! f.id ) - return; - - element = $('#' + f.id); - if ( ! element.length ) - return; - - t.features = f; - t.params = p; - t.onOpen.dispatch(t, f, p); - t.element = t.windows[ f.id ] = element; - - // Store selection - t.bookmark = t.editor.selection.getBookmark(1); - - element.wpdialog({ - title: f.title, - width: f.width, - height: f.height, - modal: true, - dialogClass: 'wp-dialog', - zIndex: 300000 - }); - }, - close : wpDialogFn(function() { - this.element.wpdialog('close'); - }) - }); // Register plugin tinymce.PluginManager.add('wpdialogs', tinymce.plugins.WPDialogs); -})(jQuery); - +})(); diff --git a/wp-includes/js/tinymce/plugins/wpdialogs/editor_plugin.js b/wp-includes/js/tinymce/plugins/wpdialogs/editor_plugin.js index fc621f13a..1ba21e3ce 100644 --- a/wp-includes/js/tinymce/plugins/wpdialogs/editor_plugin.js +++ b/wp-includes/js/tinymce/plugins/wpdialogs/editor_plugin.js @@ -1 +1 @@ -(function(b){var a=function(c){return function(){if(this.features.wpDialog){return c.apply(this,arguments)}else{return this.parent.apply(this,arguments)}}};tinymce.create("tinymce.plugins.WPDialogs",{init:function(c,d){c.onBeforeRenderUI.add(function(){c.windowManager=new tinymce.WPWindowManager(c)})},getInfo:function(){return{longname:"WPDialogs",author:"WordPress",authorurl:"http://wordpress.org",infourl:"http://wordpress.org",version:"0.1"}}});b(document).ready(function(){b.widget("wp.wpdialog",b.ui.dialog,{open:function(){if(tinyMCEPopup){tinyMCEPopup.init()}b.ui.dialog.prototype.open.apply(this,arguments);this.element.focus();this._trigger("refresh")}})});tinymce.create("tinymce.WPWindowManager:tinymce.InlineWindowManager",{WPWindowManager:function(c){this.parent(c)},open:function(e,g){var d=this,c;if(!e.wpDialog){return this.parent(e,g)}else{if(!e.id){return}}c=b("#"+e.id);if(!c.length){return}d.features=e;d.params=g;d.onOpen.dispatch(d,e,g);d.element=d.windows[e.id]=c;d.bookmark=d.editor.selection.getBookmark(1);c.wpdialog({title:e.title,width:e.width,height:e.height,modal:true,dialogClass:"wp-dialog",zIndex:300000})},close:a(function(){this.element.wpdialog("close")})});tinymce.PluginManager.add("wpdialogs",tinymce.plugins.WPDialogs)})(jQuery); \ No newline at end of file +(function(){tinymce.create("tinymce.plugins.WPDialogs",{init:function(a,b){tinymce.create("tinymce.WPWindowManager:tinymce.InlineWindowManager",{WPWindowManager:function(c){this.parent(c)},open:function(e,g){var d=this,c;if(!e.wpDialog){return this.parent(e,g)}else{if(!e.id){return}}c=jQuery("#"+e.id);if(!c.length){return}d.features=e;d.params=g;d.onOpen.dispatch(d,e,g);d.element=d.windows[e.id]=c;d.bookmark=d.editor.selection.getBookmark(1);if(!c.data("wpdialog")){c.wpdialog({title:e.title,width:e.width,height:e.height,modal:true,dialogClass:"wp-dialog",zIndex:300000})}c.wpdialog("open")},close:function(){if(!this.features.wpDialog){return this.parent.apply(this,arguments)}this.element.wpdialog("close")}});a.onBeforeRenderUI.add(function(){a.windowManager=new tinymce.WPWindowManager(a)})},getInfo:function(){return{longname:"WPDialogs",author:"WordPress",authorurl:"http://wordpress.org",infourl:"http://wordpress.org",version:"0.1"}}});tinymce.PluginManager.add("wpdialogs",tinymce.plugins.WPDialogs)})(); \ No newline at end of file diff --git a/wp-includes/js/tinymce/plugins/wpdialogs/js/wpdialog.dev.js b/wp-includes/js/tinymce/plugins/wpdialogs/js/wpdialog.dev.js new file mode 100644 index 000000000..6e25a1fa3 --- /dev/null +++ b/wp-includes/js/tinymce/plugins/wpdialogs/js/wpdialog.dev.js @@ -0,0 +1,28 @@ +(function($){ + $.ui.dialog.prototype.options.closeOnEscape = false; + $.widget("wp.wpdialog", $.ui.dialog, { + options: { + closeOnEscape: false + }, + + open: function() { + var ed; + + // Initialize tinyMCEPopup if it exists and is the editor is active. + if ( tinyMCEPopup && typeof tinyMCE != 'undefined' && ( ed = tinyMCE.activeEditor ) && !ed.isHidden() ) { + tinyMCEPopup.init(); + } + + // Add beforeOpen event. + if ( this._isOpen || false === this._trigger('beforeOpen') ) { + return; + } + + // Open the dialog. + $.ui.dialog.prototype.open.apply( this, arguments ); + // WebKit leaves focus in the TinyMCE editor unless we shift focus. + this.element.focus(); + this._trigger('refresh'); + } + }); +})(jQuery); diff --git a/wp-includes/js/tinymce/plugins/wpdialogs/js/wpdialog.js b/wp-includes/js/tinymce/plugins/wpdialogs/js/wpdialog.js new file mode 100644 index 000000000..b0f0011d8 --- /dev/null +++ b/wp-includes/js/tinymce/plugins/wpdialogs/js/wpdialog.js @@ -0,0 +1 @@ +(function(a){a.ui.dialog.prototype.options.closeOnEscape=false;a.widget("wp.wpdialog",a.ui.dialog,{options:{closeOnEscape:false},open:function(){var b;if(tinyMCEPopup&&typeof tinyMCE!="undefined"&&(b=tinyMCE.activeEditor)&&!b.isHidden()){tinyMCEPopup.init()}if(this._isOpen||false===this._trigger("beforeOpen")){return}a.ui.dialog.prototype.open.apply(this,arguments);this.element.focus();this._trigger("refresh")}})})(jQuery); \ No newline at end of file diff --git a/wp-includes/js/tinymce/plugins/wpfullscreen/css/wp-fullscreen.css b/wp-includes/js/tinymce/plugins/wpfullscreen/css/wp-fullscreen.css new file mode 100644 index 000000000..a60af7776 --- /dev/null +++ b/wp-includes/js/tinymce/plugins/wpfullscreen/css/wp-fullscreen.css @@ -0,0 +1,11 @@ +/* +Distraction Free Writing mode TinyMCE Styles +*/ + +html, body { + background: transparent; + width: auto !important; + max-width: none !important; + margin: 0; + padding: 0; +} diff --git a/wp-includes/js/tinymce/plugins/wpfullscreen/editor_plugin.dev.js b/wp-includes/js/tinymce/plugins/wpfullscreen/editor_plugin.dev.js new file mode 100644 index 000000000..29b56caac --- /dev/null +++ b/wp-includes/js/tinymce/plugins/wpfullscreen/editor_plugin.dev.js @@ -0,0 +1,178 @@ +/** + * WP Fullscreen TinyMCE plugin + * + * Contains code from Moxiecode Systems AB released under LGPL License http://tinymce.moxiecode.com/license + */ + +(function() { + tinymce.create('tinymce.plugins.wpFullscreenPlugin', { + + init : function(ed, url) { + var t = this, oldHeight = 0, s = {}, DOM = tinymce.DOM, resized = false; + + // Register commands + ed.addCommand('wpFullScreenClose', function() { + // this removes the editor, content has to be saved first with tinyMCE.execCommand('wpFullScreenSave'); + if ( ed.getParam('wp_fullscreen_is_enabled') ) { + DOM.win.setTimeout(function() { + tinyMCE.remove(ed); + DOM.remove('wp_mce_fullscreen_parent'); + tinyMCE.settings = tinyMCE.oldSettings; // Restore old settings + }, 10); + } + }); + + ed.addCommand('wpFullScreenSave', function() { + var ed = tinyMCE.get('wp_mce_fullscreen'), edd; + + ed.focus(); + edd = tinyMCE.get( ed.getParam('wp_fullscreen_editor_id') ); + + edd.setContent( ed.getContent({format : 'raw'}), {format : 'raw'} ); + }); + + ed.addCommand('wpFullScreenInit', function() { + var d = ed.getDoc(), b = d.body, fsed; + + // Only init the editor if necessary. + if ( ed.id == 'wp_mce_fullscreen' ) + return; + + tinyMCE.oldSettings = tinyMCE.settings; // Store old settings + + tinymce.each(ed.settings, function(v, n) { + s[n] = v; + }); + + s.id = 'wp_mce_fullscreen'; + s.wp_fullscreen_is_enabled = true; + s.wp_fullscreen_editor_id = ed.id; + s.theme_advanced_resizing = false; + s.theme_advanced_statusbar_location = 'none'; + s.content_css = s.content_css ? s.content_css + ',' + s.wp_fullscreen_content_css : s.wp_fullscreen_content_css; + s.height = tinymce.isIE ? b.scrollHeight : b.offsetHeight; + + tinymce.each(ed.getParam('wp_fullscreen_settings'), function(v, k) { + s[k] = v; + }); + + fsed = new tinymce.Editor('wp_mce_fullscreen', s); + fsed.onInit.add(function(edd) { + var DOM = tinymce.DOM, buttons = DOM.select('a.mceButton', DOM.get('wp-fullscreen-buttons')); + + if ( !ed.isHidden() ) + edd.setContent( ed.getContent() ); + else + edd.setContent( switchEditors.wpautop( edd.getElement().value ) ); + + setTimeout(function(){ // add last + edd.onNodeChange.add(function(ed, cm, e){ + tinymce.each(buttons, function(c) { + var btn, cls; + + if ( btn = DOM.get( 'wp_mce_fullscreen_' + c.id.substr(6) ) ) { + cls = btn.className; + + if ( cls ) + c.className = cls; + } + }); + }); + }, 1000); + + edd.dom.addClass(edd.getBody(), 'wp-fullscreen-editor'); + edd.focus(); + }); + + fsed.render(); + + if ( 'undefined' != fullscreen ) { + fsed.dom.bind( fsed.dom.doc, 'mousemove', function(e){ + fullscreen.bounder( 'showToolbar', 'hideToolbar', 2000, e ); + }); + } + }); + + // Register buttons + if ( 'undefined' != fullscreen ) { + ed.addButton('fullscreen', { + title : 'fullscreen.desc', + onclick : function(){ fullscreen.on(); } + }); + } + + // END fullscreen +//---------------------------------------------------------------- + // START autoresize + + if ( ed.getParam('fullscreen_is_enabled') || !ed.getParam('wp_fullscreen_is_enabled') ) + return; + + /** + * This method gets executed each time the editor needs to resize. + */ + function resize() { + if ( resized ) + return; + + var d = ed.getDoc(), DOM = tinymce.DOM, resizeHeight, myHeight; + + // Get height differently depending on the browser used + if ( tinymce.isIE ) + myHeight = d.body.scrollHeight; + else + myHeight = d.documentElement.offsetHeight; + + // Don't make it smaller than 300px + resizeHeight = (myHeight > 300) ? myHeight : 300; + + // Resize content element + if ( oldHeight != resizeHeight ) { + oldHeight = resizeHeight; + resized = true; + setTimeout(function(){ resized = false; }, 100); + + DOM.setStyle(DOM.get(ed.id + '_ifr'), 'height', resizeHeight + 'px'); + } + }; + + // Add appropriate listeners for resizing content area + ed.onInit.add(function(ed, l) { + ed.onChange.add(resize); + ed.onSetContent.add(resize); + ed.onPaste.add(resize); + ed.onKeyUp.add(resize); + ed.onPostRender.add(resize); + + ed.getBody().style.overflowY = "hidden"; + }); + + if (ed.getParam('autoresize_on_init', true)) { + ed.onLoadContent.add(function(ed, l) { + // Because the content area resizes when its content CSS loads, + // and we can't easily add a listener to its onload event, + // we'll just trigger a resize after a short loading period + setTimeout(function() { + resize(); + }, 1200); + }); + } + + // Register the command so that it can be invoked by using tinyMCE.activeEditor.execCommand('mceExample'); + ed.addCommand('wpAutoResize', resize); + }, + + getInfo : function() { + return { + longname : 'WP Fullscreen', + author : 'WordPress', + authorurl : 'http://wordpress.org', + infourl : '', + version : '1.0' + }; + } + }); + + // Register plugin + tinymce.PluginManager.add('wpfullscreen', tinymce.plugins.wpFullscreenPlugin); +})(); diff --git a/wp-includes/js/tinymce/plugins/wpfullscreen/editor_plugin.js b/wp-includes/js/tinymce/plugins/wpfullscreen/editor_plugin.js new file mode 100644 index 000000000..ed271503c --- /dev/null +++ b/wp-includes/js/tinymce/plugins/wpfullscreen/editor_plugin.js @@ -0,0 +1 @@ +(function(){tinymce.create("tinymce.plugins.wpFullscreenPlugin",{init:function(b,d){var e=this,h=0,f={},g=tinymce.DOM,a=false;b.addCommand("wpFullScreenClose",function(){if(b.getParam("wp_fullscreen_is_enabled")){g.win.setTimeout(function(){tinyMCE.remove(b);g.remove("wp_mce_fullscreen_parent");tinyMCE.settings=tinyMCE.oldSettings},10)}});b.addCommand("wpFullScreenSave",function(){var i=tinyMCE.get("wp_mce_fullscreen"),j;i.focus();j=tinyMCE.get(i.getParam("wp_fullscreen_editor_id"));j.setContent(i.getContent({format:"raw"}),{format:"raw"})});b.addCommand("wpFullScreenInit",function(){var k=b.getDoc(),i=k.body,j;if(b.id=="wp_mce_fullscreen"){return}tinyMCE.oldSettings=tinyMCE.settings;tinymce.each(b.settings,function(l,m){f[m]=l});f.id="wp_mce_fullscreen";f.wp_fullscreen_is_enabled=true;f.wp_fullscreen_editor_id=b.id;f.theme_advanced_resizing=false;f.theme_advanced_statusbar_location="none";f.content_css=f.content_css?f.content_css+","+f.wp_fullscreen_content_css:f.wp_fullscreen_content_css;f.height=tinymce.isIE?i.scrollHeight:i.offsetHeight;tinymce.each(b.getParam("wp_fullscreen_settings"),function(m,l){f[l]=m});j=new tinymce.Editor("wp_mce_fullscreen",f);j.onInit.add(function(l){var n=tinymce.DOM,m=n.select("a.mceButton",n.get("wp-fullscreen-buttons"));if(!b.isHidden()){l.setContent(b.getContent())}else{l.setContent(switchEditors.wpautop(l.getElement().value))}setTimeout(function(){l.onNodeChange.add(function(p,o,q){tinymce.each(m,function(t){var s,r;if(s=n.get("wp_mce_fullscreen_"+t.id.substr(6))){r=s.className;if(r){t.className=r}}})})},1000);l.dom.addClass(l.getBody(),"wp-fullscreen-editor");l.focus()});j.render();if("undefined"!=fullscreen){j.dom.bind(j.dom.doc,"mousemove",function(l){fullscreen.bounder("showToolbar","hideToolbar",2000,l)})}});if("undefined"!=fullscreen){b.addButton("fullscreen",{title:"fullscreen.desc",onclick:function(){fullscreen.on()}})}if(b.getParam("fullscreen_is_enabled")||!b.getParam("wp_fullscreen_is_enabled")){return}function c(){if(a){return}var k=b.getDoc(),j=tinymce.DOM,l,i;if(tinymce.isIE){i=k.body.scrollHeight}else{i=k.documentElement.offsetHeight}l=(i>300)?i:300;if(h!=l){h=l;a=true;setTimeout(function(){a=false},100);j.setStyle(j.get(b.id+"_ifr"),"height",l+"px")}}b.onInit.add(function(j,i){j.onChange.add(c);j.onSetContent.add(c);j.onPaste.add(c);j.onKeyUp.add(c);j.onPostRender.add(c);j.getBody().style.overflowY="hidden"});if(b.getParam("autoresize_on_init",true)){b.onLoadContent.add(function(j,i){setTimeout(function(){c()},1200)})}b.addCommand("wpAutoResize",c)},getInfo:function(){return{longname:"WP Fullscreen",author:"WordPress",authorurl:"http://wordpress.org",infourl:"",version:"1.0"}}});tinymce.PluginManager.add("wpfullscreen",tinymce.plugins.wpFullscreenPlugin)})(); \ No newline at end of file diff --git a/wp-includes/js/tinymce/plugins/wplink/js/wplink.dev.js b/wp-includes/js/tinymce/plugins/wplink/js/wplink.dev.js index 8f12ebec2..87c0bab7a 100644 --- a/wp-includes/js/tinymce/plugins/wplink/js/wplink.dev.js +++ b/wp-includes/js/tinymce/plugins/wplink/js/wplink.dev.js @@ -9,6 +9,8 @@ var wpLink; riverBottomThreshold: 5, keySensitivity: 100, lastSearch: '', + textarea: function() { return edCanvas; }, + init : function() { inputs.dialog = $('#wp-link'); inputs.submit = $('#wp-link-submit'); @@ -31,7 +33,7 @@ var wpLink; wpLink.update(); e.preventDefault(); }); - $('#wp-link-cancel').click( wpLink.cancel ); + $('#wp-link-cancel').click( wpLink.close ); $('#internal-toggle').click( wpLink.toggleInternalLinking ); rivers.elements.bind('river-select', wpLink.updateFields ); @@ -39,16 +41,62 @@ var wpLink; inputs.search.keyup( wpLink.searchInternalLinks ); inputs.dialog.bind('wpdialogrefresh', wpLink.refresh); + inputs.dialog.bind('wpdialogbeforeopen', wpLink.beforeOpen); + inputs.dialog.bind('wpdialogclose', wpLink.onClose); }, - refresh : function() { - var e; - ed = tinyMCEPopup.editor; + beforeOpen : function() { + wpLink.range = null; + if ( ! wpLink.isMCE() && document.selection ) { + wpLink.textarea().focus(); + wpLink.range = document.selection.createRange(); + } + }, + + open : function() { + // Initialize the dialog if necessary (html mode). + if ( ! inputs.dialog.data('wpdialog') ) { + inputs.dialog.wpdialog({ + title: wpLinkL10n.title, + width: 480, + height: 'auto', + modal: true, + dialogClass: 'wp-dialog', + zIndex: 300000 + }); + } + + inputs.dialog.wpdialog('open'); + }, + + isMCE : function() { + return tinyMCEPopup && ( ed = tinyMCEPopup.editor ) && ! ed.isHidden(); + }, + + refresh : function() { // Refresh rivers (clear links, check visibility) rivers.search.refresh(); rivers.recent.refresh(); + if ( wpLink.isMCE() ) + wpLink.mceRefresh(); + else + wpLink.setDefaultValues(); + + // Focus the URL field and highlight its contents. + // If this is moved above the selection changes, + // IE will show a flashing cursor over the dialog. + inputs.url.focus()[0].select(); + // Load the most recent results if this is the first time opening the panel. + if ( ! rivers.recent.ul.children().length ) + rivers.recent.ajax(); + }, + + mceRefresh : function() { + var e; + ed = tinyMCEPopup.editor; + tinyMCEPopup.restoreSelection(); // If link exists, select proper values. @@ -58,38 +106,113 @@ var wpLink; inputs.title.val( ed.dom.getAttrib(e, 'title') ); // Set open in new tab. if ( "_blank" == ed.dom.getAttrib(e, 'target') ) - inputs.openInNewTab.attr('checked','checked'); + inputs.openInNewTab.prop('checked', true); // Update save prompt. inputs.submit.val( wpLinkL10n.update ); // If there's no link, set the default values. } else { wpLink.setDefaultValues(); - // Update save prompt. - inputs.submit.val( wpLinkL10n.save ); } tinyMCEPopup.storeSelection(); - // Focus the URL field and highlight its contents. - // If this is moved above the selection changes, - // IE will show a flashing cursor over the dialog. - inputs.url.focus()[0].select(); - // Load the most recent results if this is the first time opening the panel. - if ( ! rivers.recent.ul.children().length ) - rivers.recent.ajax(); }, - cancel : function() { - tinyMCEPopup.close(); + close : function() { + if ( wpLink.isMCE() ) + tinyMCEPopup.close(); + else + inputs.dialog.wpdialog('close'); + }, + + onClose: function() { + if ( ! wpLink.isMCE() ) { + wpLink.textarea().focus(); + if ( wpLink.range ) { + wpLink.range.moveToBookmark( wpLink.range.getBookmark() ); + wpLink.range.select(); + } + } + }, + + getAttrs : function() { + return { + href : inputs.url.val(), + title : inputs.title.val(), + target : inputs.openInNewTab.prop('checked') ? '_blank' : '' + }; }, update : function() { + if ( wpLink.isMCE() ) + wpLink.mceUpdate(); + else + wpLink.htmlUpdate(); + }, + + htmlUpdate : function() { + var attrs, html, start, end, cursor, + textarea = wpLink.textarea(); + + if ( ! textarea ) + return; + + attrs = wpLink.getAttrs(); + + // If there's no href, return. + if ( ! attrs.href || attrs.href == 'http://' ) + return; + + // Build HTML + html = '<a href="' + attrs.href + '"'; + + if ( attrs.title ) + html += ' title="' + attrs.title + '"'; + if ( attrs.target ) + html += ' target="' + attrs.target + '"'; + + html += '>'; + + // Insert HTML + // W3C + if ( typeof textarea.selectionStart !== 'undefined' ) { + start = textarea.selectionStart; + end = textarea.selectionEnd; + selection = textarea.value.substring( start, end ); + html = html + selection + '</a>'; + cursor = start + html.length; + + // If no next is selected, place the cursor inside the closing tag. + if ( start == end ) + cursor -= '</a>'.length; + + textarea.value = textarea.value.substring( 0, start ) + + html + + textarea.value.substring( end, textarea.value.length ); + + // Update cursor position + textarea.selectionStart = textarea.selectionEnd = cursor; + + // IE + // Note: If no text is selected, IE will not place the cursor + // inside the closing tag. + } else if ( document.selection && wpLink.range ) { + textarea.focus(); + wpLink.range.text = html + wpLink.range.text + '</a>'; + wpLink.range.moveToBookmark( wpLink.range.getBookmark() ); + wpLink.range.select(); + + wpLink.range = null; + } + + wpLink.close(); + textarea.focus(); + }, + + mceUpdate : function() { var ed = tinyMCEPopup.editor, - attrs = { - href : inputs.url.val(), - title : inputs.title.val(), - target : inputs.openInNewTab.attr('checked') ? '_blank' : '' - }, e, b; + attrs = wpLink.getAttrs(), + e, b; tinyMCEPopup.restoreSelection(); e = ed.dom.getParent(ed.selection.getNode(), 'A'); @@ -102,7 +225,7 @@ var wpLink; ed.dom.remove(e, 1); ed.selection.moveToBookmark(b); tinyMCEPopup.execCommand("mceEndUndoLevel"); - tinyMCEPopup.close(); + wpLink.close(); } return; } @@ -140,7 +263,7 @@ var wpLink; } tinyMCEPopup.execCommand("mceEndUndoLevel"); - tinyMCEPopup.close(); + wpLink.close(); }, updateFields : function( e, li, originalEvent ) { @@ -154,6 +277,9 @@ var wpLink; // Leave the new tab setting as-is. inputs.url.val('http://'); inputs.title.val(''); + + // Update save prompt. + inputs.submit.val( wpLinkL10n.save ); }, searchInternalLinks : function() { @@ -210,7 +336,11 @@ var wpLink; switch( event.which ) { case key.ESCAPE: - wpLink.cancel(); + event.stopImmediatePropagation(); + if ( ! $(document).triggerHandler( 'wp_CloseOnEscape', [{ event: event, what: 'wplink', cb: wpLink.close }] ) ) + wpLink.close(); + + return false; break; case key.UP: case key.DOWN: @@ -452,4 +582,4 @@ var wpLink; }); $(document).ready( wpLink.init ); -})(jQuery); \ No newline at end of file +})(jQuery); diff --git a/wp-includes/js/tinymce/plugins/wplink/js/wplink.js b/wp-includes/js/tinymce/plugins/wplink/js/wplink.js index 565c49bb0..29b0c6c4d 100644 --- a/wp-includes/js/tinymce/plugins/wplink/js/wplink.js +++ b/wp-includes/js/tinymce/plugins/wplink/js/wplink.js @@ -1 +1 @@ -var wpLink;(function(f){var b={},e={},d,a,c;wpLink={timeToTriggerRiver:150,minRiverAJAXDuration:200,riverBottomThreshold:5,keySensitivity:100,lastSearch:"",init:function(){b.dialog=f("#wp-link");b.submit=f("#wp-link-submit");b.url=f("#url-field");b.title=f("#link-title-field");b.openInNewTab=f("#link-target-checkbox");b.search=f("#search-field");e.search=new a(f("#search-results"));e.recent=new a(f("#most-recent-results"));e.elements=f(".query-results",b.dialog);b.dialog.keydown(wpLink.keydown);b.dialog.keyup(wpLink.keyup);b.submit.click(function(g){wpLink.update();g.preventDefault()});f("#wp-link-cancel").click(wpLink.cancel);f("#internal-toggle").click(wpLink.toggleInternalLinking);e.elements.bind("river-select",wpLink.updateFields);b.search.keyup(wpLink.searchInternalLinks);b.dialog.bind("wpdialogrefresh",wpLink.refresh)},refresh:function(){var g;d=tinyMCEPopup.editor;e.search.refresh();e.recent.refresh();tinyMCEPopup.restoreSelection();if(g=d.dom.getParent(d.selection.getNode(),"A")){b.url.val(g.href);b.title.val(d.dom.getAttrib(g,"title"));if("_blank"==d.dom.getAttrib(g,"target")){b.openInNewTab.attr("checked","checked")}b.submit.val(wpLinkL10n.update)}else{wpLink.setDefaultValues();b.submit.val(wpLinkL10n.save)}tinyMCEPopup.storeSelection();b.url.focus()[0].select();if(!e.recent.ul.children().length){e.recent.ajax()}},cancel:function(){tinyMCEPopup.close()},update:function(){var h=tinyMCEPopup.editor,i={href:b.url.val(),title:b.title.val(),target:b.openInNewTab.attr("checked")?"_blank":""},j,g;tinyMCEPopup.restoreSelection();j=h.dom.getParent(h.selection.getNode(),"A");if(!i.href||i.href=="http://"){if(j){tinyMCEPopup.execCommand("mceBeginUndoLevel");g=h.selection.getBookmark();h.dom.remove(j,1);h.selection.moveToBookmark(g);tinyMCEPopup.execCommand("mceEndUndoLevel");tinyMCEPopup.close()}return}tinyMCEPopup.execCommand("mceBeginUndoLevel");if(j==null){h.getDoc().execCommand("unlink",false,null);tinyMCEPopup.execCommand("CreateLink",false,"#mce_temp_url#",{skip_undo:1});tinymce.each(h.dom.select("a"),function(k){if(h.dom.getAttrib(k,"href")=="#mce_temp_url#"){j=k;h.dom.setAttribs(j,i)}});if(f(j).text()=="#mce_temp_url#"){h.dom.remove(j);j=null}}else{h.dom.setAttribs(j,i)}if(j&&(j.childNodes.length!=1||j.firstChild.nodeName!="IMG")){h.focus();h.selection.select(j);h.selection.collapse(0);tinyMCEPopup.storeSelection()}tinyMCEPopup.execCommand("mceEndUndoLevel");tinyMCEPopup.close()},updateFields:function(i,h,g){b.url.val(h.children(".item-permalink").val());b.title.val(h.hasClass("no-title")?"":h.children(".item-title").text());if(g&&g.type=="click"){b.url.focus()}},setDefaultValues:function(){b.url.val("http://");b.title.val("")},searchInternalLinks:function(){var h=f(this),i,g=h.val();if(g.length>2){e.recent.hide();e.search.show();if(wpLink.lastSearch==g){return}wpLink.lastSearch=g;i=h.siblings("img.waiting").show();e.search.change(g);e.search.ajax(function(){i.hide()})}else{e.search.hide();e.recent.show()}},next:function(){e.search.next();e.recent.next()},prev:function(){e.search.prev();e.recent.prev()},keydown:function(i){var h,g=f.ui.keyCode;switch(i.which){case g.UP:h="prev";case g.DOWN:h=h||"next";clearInterval(wpLink.keyInterval);wpLink[h]();wpLink.keyInterval=setInterval(wpLink[h],wpLink.keySensitivity);break;default:return}i.preventDefault()},keyup:function(h){var g=f.ui.keyCode;switch(h.which){case g.ESCAPE:wpLink.cancel();break;case g.UP:case g.DOWN:clearInterval(wpLink.keyInterval);break;default:return}h.preventDefault()},delayedCallback:function(i,g){var l,k,j,h;if(!g){return i}setTimeout(function(){if(k){return i.apply(h,j)}l=true},g);return function(){if(l){return i.apply(this,arguments)}j=arguments;h=this;k=true}},toggleInternalLinking:function(h){var g=f("#search-panel"),i=b.dialog.wpdialog("widget"),k=!g.is(":visible"),j=f(window);f(this).toggleClass("toggle-arrow-active",k);b.dialog.height("auto");g.slideToggle(300,function(){setUserSetting("wplink",k?"1":"0");b[k?"search":"url"].focus();var l=j.scrollTop(),o=i.offset().top,m=o+i.outerHeight(),n=m-j.height();if(n>l){i.animate({top:n<o?o-n:l},200)}});h.preventDefault()}};a=function(i,h){var g=this;this.element=i;this.ul=i.children("ul");this.waiting=i.find(".river-waiting");this.change(h);this.refresh();i.scroll(function(){g.maybeLoad()});i.delegate("li","click",function(j){g.select(f(this),j)})};f.extend(a.prototype,{refresh:function(){this.deselect();this.visible=this.element.is(":visible")},show:function(){if(!this.visible){this.deselect();this.element.show();this.visible=true}},hide:function(){this.element.hide();this.visible=false},select:function(h,k){var j,i,l,g;if(h.hasClass("unselectable")||h==this.selected){return}this.deselect();this.selected=h.addClass("selected");j=h.outerHeight();i=this.element.height();l=h.position().top;g=this.element.scrollTop();if(l<0){this.element.scrollTop(g+l)}else{if(l+j>i){this.element.scrollTop(g+l-i+j)}}this.element.trigger("river-select",[h,k,this])},deselect:function(){if(this.selected){this.selected.removeClass("selected")}this.selected=false},prev:function(){if(!this.visible){return}var g;if(this.selected){g=this.selected.prev("li");if(g.length){this.select(g)}}},next:function(){if(!this.visible){return}var g=this.selected?this.selected.next("li"):f("li:not(.unselectable):first",this.element);if(g.length){this.select(g)}},ajax:function(j){var h=this,i=this.query.page==1?0:wpLink.minRiverAJAXDuration,g=wpLink.delayedCallback(function(k,l){h.process(k,l);if(j){j(k,l)}},i);this.query.ajax(g)},change:function(g){if(this.query&&this._search==g){return}this._search=g;this.query=new c(g);this.element.scrollTop(0)},process:function(h,l){var i="",j=true,g="",k=l.page==1;if(!h){if(k){i+='<li class="unselectable"><span class="item-title"><em>'+wpLinkL10n.noMatchesFound+"</em></span></li>"}}else{f.each(h,function(){g=j?"alternate":"";g+=this["title"]?"":" no-title";i+=g?'<li class="'+g+'">':"<li>";i+='<input type="hidden" class="item-permalink" value="'+this["permalink"]+'" />';i+='<span class="item-title">';i+=this["title"]?this["title"]:wpLinkL10n.noTitle;i+='</span><span class="item-info">'+this["info"]+"</span></li>";j=!j})}this.ul[k?"html":"append"](i)},maybeLoad:function(){var h=this,i=this.element,g=i.scrollTop()+i.height();if(!this.query.ready()||g<this.ul.height()-wpLink.riverBottomThreshold){return}setTimeout(function(){var j=i.scrollTop(),k=j+i.height();if(!h.query.ready()||k<h.ul.height()-wpLink.riverBottomThreshold){return}h.waiting.show();i.scrollTop(j+h.waiting.outerHeight());h.ajax(function(){h.waiting.hide()})},wpLink.timeToTriggerRiver)}});c=function(g){this.page=1;this.allLoaded=false;this.querying=false;this.search=g};f.extend(c.prototype,{ready:function(){return !(this.querying||this.allLoaded)},ajax:function(i){var g=this,h={action:"wp-link-ajax",page:this.page,_ajax_linking_nonce:f("#_ajax_linking_nonce").val()};if(this.search){h.search=this.search}this.querying=true;f.post(ajaxurl,h,function(j){g.page++;g.querying=false;g.allLoaded=!j;i(j,h)},"json")}});f(document).ready(wpLink.init)})(jQuery); \ No newline at end of file +var wpLink;(function(f){var b={},e={},d,a,c;wpLink={timeToTriggerRiver:150,minRiverAJAXDuration:200,riverBottomThreshold:5,keySensitivity:100,lastSearch:"",textarea:function(){return edCanvas},init:function(){b.dialog=f("#wp-link");b.submit=f("#wp-link-submit");b.url=f("#url-field");b.title=f("#link-title-field");b.openInNewTab=f("#link-target-checkbox");b.search=f("#search-field");e.search=new a(f("#search-results"));e.recent=new a(f("#most-recent-results"));e.elements=f(".query-results",b.dialog);b.dialog.keydown(wpLink.keydown);b.dialog.keyup(wpLink.keyup);b.submit.click(function(g){wpLink.update();g.preventDefault()});f("#wp-link-cancel").click(wpLink.close);f("#internal-toggle").click(wpLink.toggleInternalLinking);e.elements.bind("river-select",wpLink.updateFields);b.search.keyup(wpLink.searchInternalLinks);b.dialog.bind("wpdialogrefresh",wpLink.refresh);b.dialog.bind("wpdialogbeforeopen",wpLink.beforeOpen);b.dialog.bind("wpdialogclose",wpLink.onClose)},beforeOpen:function(){wpLink.range=null;if(!wpLink.isMCE()&&document.selection){wpLink.textarea().focus();wpLink.range=document.selection.createRange()}},open:function(){if(!b.dialog.data("wpdialog")){b.dialog.wpdialog({title:wpLinkL10n.title,width:480,height:"auto",modal:true,dialogClass:"wp-dialog",zIndex:300000})}b.dialog.wpdialog("open")},isMCE:function(){return tinyMCEPopup&&(d=tinyMCEPopup.editor)&&!d.isHidden()},refresh:function(){e.search.refresh();e.recent.refresh();if(wpLink.isMCE()){wpLink.mceRefresh()}else{wpLink.setDefaultValues()}b.url.focus()[0].select();if(!e.recent.ul.children().length){e.recent.ajax()}},mceRefresh:function(){var g;d=tinyMCEPopup.editor;tinyMCEPopup.restoreSelection();if(g=d.dom.getParent(d.selection.getNode(),"A")){b.url.val(g.href);b.title.val(d.dom.getAttrib(g,"title"));if("_blank"==d.dom.getAttrib(g,"target")){b.openInNewTab.prop("checked",true)}b.submit.val(wpLinkL10n.update)}else{wpLink.setDefaultValues()}tinyMCEPopup.storeSelection()},close:function(){if(wpLink.isMCE()){tinyMCEPopup.close()}else{b.dialog.wpdialog("close")}},onClose:function(){if(!wpLink.isMCE()){wpLink.textarea().focus();if(wpLink.range){wpLink.range.moveToBookmark(wpLink.range.getBookmark());wpLink.range.select()}}},getAttrs:function(){return{href:b.url.val(),title:b.title.val(),target:b.openInNewTab.prop("checked")?"_blank":""}},update:function(){if(wpLink.isMCE()){wpLink.mceUpdate()}else{wpLink.htmlUpdate()}},htmlUpdate:function(){var i,j,l,h,k,g=wpLink.textarea();if(!g){return}i=wpLink.getAttrs();if(!i.href||i.href=="http://"){return}j='<a href="'+i.href+'"';if(i.title){j+=' title="'+i.title+'"'}if(i.target){j+=' target="'+i.target+'"'}j+=">";if(typeof g.selectionStart!=="undefined"){l=g.selectionStart;h=g.selectionEnd;selection=g.value.substring(l,h);j=j+selection+"</a>";k=l+j.length;if(l==h){k-="</a>".length}g.value=g.value.substring(0,l)+j+g.value.substring(h,g.value.length);g.selectionStart=g.selectionEnd=k}else{if(document.selection&&wpLink.range){g.focus();wpLink.range.text=j+wpLink.range.text+"</a>";wpLink.range.moveToBookmark(wpLink.range.getBookmark());wpLink.range.select();wpLink.range=null}}wpLink.close();g.focus()},mceUpdate:function(){var h=tinyMCEPopup.editor,i=wpLink.getAttrs(),j,g;tinyMCEPopup.restoreSelection();j=h.dom.getParent(h.selection.getNode(),"A");if(!i.href||i.href=="http://"){if(j){tinyMCEPopup.execCommand("mceBeginUndoLevel");g=h.selection.getBookmark();h.dom.remove(j,1);h.selection.moveToBookmark(g);tinyMCEPopup.execCommand("mceEndUndoLevel");wpLink.close()}return}tinyMCEPopup.execCommand("mceBeginUndoLevel");if(j==null){h.getDoc().execCommand("unlink",false,null);tinyMCEPopup.execCommand("CreateLink",false,"#mce_temp_url#",{skip_undo:1});tinymce.each(h.dom.select("a"),function(k){if(h.dom.getAttrib(k,"href")=="#mce_temp_url#"){j=k;h.dom.setAttribs(j,i)}});if(f(j).text()=="#mce_temp_url#"){h.dom.remove(j);j=null}}else{h.dom.setAttribs(j,i)}if(j&&(j.childNodes.length!=1||j.firstChild.nodeName!="IMG")){h.focus();h.selection.select(j);h.selection.collapse(0);tinyMCEPopup.storeSelection()}tinyMCEPopup.execCommand("mceEndUndoLevel");wpLink.close()},updateFields:function(i,h,g){b.url.val(h.children(".item-permalink").val());b.title.val(h.hasClass("no-title")?"":h.children(".item-title").text());if(g&&g.type=="click"){b.url.focus()}},setDefaultValues:function(){b.url.val("http://");b.title.val("");b.submit.val(wpLinkL10n.save)},searchInternalLinks:function(){var h=f(this),i,g=h.val();if(g.length>2){e.recent.hide();e.search.show();if(wpLink.lastSearch==g){return}wpLink.lastSearch=g;i=h.siblings("img.waiting").show();e.search.change(g);e.search.ajax(function(){i.hide()})}else{e.search.hide();e.recent.show()}},next:function(){e.search.next();e.recent.next()},prev:function(){e.search.prev();e.recent.prev()},keydown:function(i){var h,g=f.ui.keyCode;switch(i.which){case g.UP:h="prev";case g.DOWN:h=h||"next";clearInterval(wpLink.keyInterval);wpLink[h]();wpLink.keyInterval=setInterval(wpLink[h],wpLink.keySensitivity);break;default:return}i.preventDefault()},keyup:function(h){var g=f.ui.keyCode;switch(h.which){case g.ESCAPE:h.stopImmediatePropagation();if(!f(document).triggerHandler("wp_CloseOnEscape",[{event:h,what:"wplink",cb:wpLink.close}])){wpLink.close()}return false;break;case g.UP:case g.DOWN:clearInterval(wpLink.keyInterval);break;default:return}h.preventDefault()},delayedCallback:function(i,g){var l,k,j,h;if(!g){return i}setTimeout(function(){if(k){return i.apply(h,j)}l=true},g);return function(){if(l){return i.apply(this,arguments)}j=arguments;h=this;k=true}},toggleInternalLinking:function(h){var g=f("#search-panel"),i=b.dialog.wpdialog("widget"),k=!g.is(":visible"),j=f(window);f(this).toggleClass("toggle-arrow-active",k);b.dialog.height("auto");g.slideToggle(300,function(){setUserSetting("wplink",k?"1":"0");b[k?"search":"url"].focus();var l=j.scrollTop(),o=i.offset().top,m=o+i.outerHeight(),n=m-j.height();if(n>l){i.animate({top:n<o?o-n:l},200)}});h.preventDefault()}};a=function(i,h){var g=this;this.element=i;this.ul=i.children("ul");this.waiting=i.find(".river-waiting");this.change(h);this.refresh();i.scroll(function(){g.maybeLoad()});i.delegate("li","click",function(j){g.select(f(this),j)})};f.extend(a.prototype,{refresh:function(){this.deselect();this.visible=this.element.is(":visible")},show:function(){if(!this.visible){this.deselect();this.element.show();this.visible=true}},hide:function(){this.element.hide();this.visible=false},select:function(h,k){var j,i,l,g;if(h.hasClass("unselectable")||h==this.selected){return}this.deselect();this.selected=h.addClass("selected");j=h.outerHeight();i=this.element.height();l=h.position().top;g=this.element.scrollTop();if(l<0){this.element.scrollTop(g+l)}else{if(l+j>i){this.element.scrollTop(g+l-i+j)}}this.element.trigger("river-select",[h,k,this])},deselect:function(){if(this.selected){this.selected.removeClass("selected")}this.selected=false},prev:function(){if(!this.visible){return}var g;if(this.selected){g=this.selected.prev("li");if(g.length){this.select(g)}}},next:function(){if(!this.visible){return}var g=this.selected?this.selected.next("li"):f("li:not(.unselectable):first",this.element);if(g.length){this.select(g)}},ajax:function(j){var h=this,i=this.query.page==1?0:wpLink.minRiverAJAXDuration,g=wpLink.delayedCallback(function(k,l){h.process(k,l);if(j){j(k,l)}},i);this.query.ajax(g)},change:function(g){if(this.query&&this._search==g){return}this._search=g;this.query=new c(g);this.element.scrollTop(0)},process:function(h,l){var i="",j=true,g="",k=l.page==1;if(!h){if(k){i+='<li class="unselectable"><span class="item-title"><em>'+wpLinkL10n.noMatchesFound+"</em></span></li>"}}else{f.each(h,function(){g=j?"alternate":"";g+=this["title"]?"":" no-title";i+=g?'<li class="'+g+'">':"<li>";i+='<input type="hidden" class="item-permalink" value="'+this["permalink"]+'" />';i+='<span class="item-title">';i+=this["title"]?this["title"]:wpLinkL10n.noTitle;i+='</span><span class="item-info">'+this["info"]+"</span></li>";j=!j})}this.ul[k?"html":"append"](i)},maybeLoad:function(){var h=this,i=this.element,g=i.scrollTop()+i.height();if(!this.query.ready()||g<this.ul.height()-wpLink.riverBottomThreshold){return}setTimeout(function(){var j=i.scrollTop(),k=j+i.height();if(!h.query.ready()||k<h.ul.height()-wpLink.riverBottomThreshold){return}h.waiting.show();i.scrollTop(j+h.waiting.outerHeight());h.ajax(function(){h.waiting.hide()})},wpLink.timeToTriggerRiver)}});c=function(g){this.page=1;this.allLoaded=false;this.querying=false;this.search=g};f.extend(c.prototype,{ready:function(){return !(this.querying||this.allLoaded)},ajax:function(i){var g=this,h={action:"wp-link-ajax",page:this.page,_ajax_linking_nonce:f("#_ajax_linking_nonce").val()};if(this.search){h.search=this.search}this.querying=true;f.post(ajaxurl,h,function(j){g.page++;g.querying=false;g.allLoaded=!j;i(j,h)},"json")}});f(document).ready(wpLink.init)})(jQuery); \ No newline at end of file diff --git a/wp-includes/js/tinymce/themes/advanced/about.htm b/wp-includes/js/tinymce/themes/advanced/about.htm index 3cb27a4c3..3771892c6 100644 --- a/wp-includes/js/tinymce/themes/advanced/about.htm +++ b/wp-includes/js/tinymce/themes/advanced/about.htm @@ -2,16 +2,16 @@ <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>{#advanced_dlg.about_title}</title> - <script type="text/javascript" src="../../tiny_mce_popup.js?ver=3392"></script> - <script type="text/javascript" src="../../utils/mctabs.js?ver=3392"></script> - <script type="text/javascript" src="js/about.js?ver=3392"></script> + <script type="text/javascript" src="../../tiny_mce_popup.js?ver=342-20110407"></script> + <script type="text/javascript" src="../../utils/mctabs.js?ver=342-20110407"></script> + <script type="text/javascript" src="js/about.js?ver=342-20110407"></script> </head> <body id="about" style="display: none"> <div class="tabs"> <ul> - <li id="general_tab" class="current"><span><a href="javascript:mcTabs.displayTab('general_tab','general_panel');" onmousedown="return false;">{#advanced_dlg.about_general}</a></span></li> - <li id="help_tab" style="display:none"><span><a href="javascript:mcTabs.displayTab('help_tab','help_panel');" onmousedown="return false;">{#advanced_dlg.about_help}</a></span></li> - <li id="plugins_tab"><span><a href="javascript:mcTabs.displayTab('plugins_tab','plugins_panel');" onmousedown="return false;">{#advanced_dlg.about_plugins}</a></span></li> + <li id="general_tab" class="current" aria-controls="general_panel"><span><a href="javascript:mcTabs.displayTab('general_tab','general_panel');" onmousedown="return false;">{#advanced_dlg.about_general}</a></span></li> + <li id="help_tab" style="display:none" aria-hidden="true" aria-controls="help_panel"><span><a href="javascript:mcTabs.displayTab('help_tab','help_panel');" onmousedown="return false;">{#advanced_dlg.about_help}</a></span></li> + <li id="plugins_tab" aria-controls="plugins_panel"><span><a href="javascript:mcTabs.displayTab('plugins_tab','plugins_panel');" onmousedown="return false;">{#advanced_dlg.about_plugins}</a></span></li> </ul> </div> @@ -26,8 +26,6 @@ <div id="buttoncontainer"> <a href="http://www.moxiecode.com" target="_blank"><img src="http://tinymce.moxiecode.com/images/gotmoxie.png" alt="Got Moxie?" border="0" /></a> - <a href="http://sourceforge.net/projects/tinymce/" target="_blank"><img src="http://sourceforge.net/sflogo.php?group_id=103281" alt="Hosted By Sourceforge" border="0" /></a> - <a href="http://www.freshmeat.net/projects/tinymce" target="_blank"><img src="http://tinymce.moxiecode.com/images/fm.gif" alt="Also on freshmeat" border="0" /></a> </div> </div> @@ -48,9 +46,7 @@ </div> <div class="mceActionPanel"> - <div style="float: right"> <input type="button" id="cancel" name="cancel" value="{#close}" onclick="tinyMCEPopup.close();" /> - </div> </div> </body> </html> diff --git a/wp-includes/js/tinymce/themes/advanced/anchor.htm b/wp-includes/js/tinymce/themes/advanced/anchor.htm index b7bbe95c4..7f2b94214 100644 --- a/wp-includes/js/tinymce/themes/advanced/anchor.htm +++ b/wp-includes/js/tinymce/themes/advanced/anchor.htm @@ -2,18 +2,18 @@ <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>{#advanced_dlg.anchor_title}</title> - <script type="text/javascript" src="../../tiny_mce_popup.js?ver=3392"></script> - <script type="text/javascript" src="js/anchor.js?ver=3392"></script> + <script type="text/javascript" src="../../tiny_mce_popup.js?ver=342-20110407"></script> + <script type="text/javascript" src="js/anchor.js?ver=342-20110407"></script> </head> -<body style="display: none"> +<body style="display: none" role="application" aria-labelledby="app_title"> <form onsubmit="AnchorDialog.update();return false;" action="#"> - <table border="0" cellpadding="4" cellspacing="0"> + <table border="0" cellpadding="4" cellspacing="0" role="presentation"> <tr> - <td colspan="2" class="title">{#advanced_dlg.anchor_title}</td> + <td colspan="2" class="title" id="app_title">{#advanced_dlg.anchor_title}</td> </tr> <tr> - <td class="nowrap">{#advanced_dlg.anchor_name}:</td> - <td><input name="anchorName" type="text" class="mceFocus" id="anchorName" value="" style="width: 200px" /></td> + <td class="nowrap"><label for="anchorName">{#advanced_dlg.anchor_name}:</label></td> + <td><input name="anchorName" type="text" class="mceFocus" id="anchorName" value="" style="width: 200px" aria-required="true" /></td> </tr> </table> diff --git a/wp-includes/js/tinymce/themes/advanced/charmap.htm b/wp-includes/js/tinymce/themes/advanced/charmap.htm index 7a5ac7e12..9b7a3ac4e 100644 --- a/wp-includes/js/tinymce/themes/advanced/charmap.htm +++ b/wp-includes/js/tinymce/themes/advanced/charmap.htm @@ -2,51 +2,50 @@ <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>{#advanced_dlg.charmap_title}</title> - <script type="text/javascript" src="../../tiny_mce_popup.js?ver=3392"></script> - <script type="text/javascript" src="js/charmap.js?ver=3392"></script> + <script type="text/javascript" src="../../tiny_mce_popup.js?ver=342-20110407"></script> + <script type="text/javascript" src="js/charmap.js?ver=342-20110407"></script> </head> <body id="charmap" style="display:none"> -<table align="center" border="0" cellspacing="0" cellpadding="2"> - <tr> - <td colspan="2" class="title">{#advanced_dlg.charmap_title}</td> - </tr> - <tr> - <td id="charmapView" rowspan="2" align="left" valign="top"> +<table align="center" border="0" cellspacing="0" cellpadding="2" role="presentation"> + <tr> + <td colspan="2" class="title" ><label for="charmapView" id="charmap_label">{#advanced_dlg.charmap_title}</label></td> + </tr> + <tr> + <td id="charmapView" rowspan="2" align="left" valign="top"> <!-- Chars will be rendered here --> - </td> - <td width="100" align="center" valign="top"> - <table border="0" cellpadding="0" cellspacing="0" width="100" style="height:100px"> - <tr> - <td id="codeV"> </td> - </tr> - <tr> - <td id="codeN"> </td> - </tr> - </table> - </td> - </tr> - <tr> - <td valign="bottom" style="padding-bottom: 3px;"> - <table width="100" align="center" border="0" cellpadding="2" cellspacing="0"> - <tr> - <td align="center" style="border-left: 1px solid #666699; border-top: 1px solid #666699; border-right: 1px solid #666699;">HTML-Code</td> - </tr> - <tr> - <td style="font-size: 16px; font-weight: bold; border-left: 1px solid #666699; border-bottom: 1px solid #666699; border-right: 1px solid #666699;" id="codeA" align="center"> </td> - </tr> - <tr> - <td style="font-size: 1px;"> </td> - </tr> - <tr> - <td align="center" style="border-left: 1px solid #666699; border-top: 1px solid #666699; border-right: 1px solid #666699;">NUM-Code</td> - </tr> - <tr> - <td style="font-size: 16px; font-weight: bold; border-left: 1px solid #666699; border-bottom: 1px solid #666699; border-right: 1px solid #666699;" id="codeB" align="center"> </td> - </tr> - </table> - </td> - </tr> + </td> + <td width="100" align="center" valign="top"> + <table border="0" cellpadding="0" cellspacing="0" width="100" style="height:100px" role="presentation"> + <tr> + <td id="codeV"> </td> + </tr> + <tr> + <td id="codeN"> </td> + </tr> + </table> + </td> + </tr> + <tr> + <td valign="bottom" style="padding-bottom: 3px;"> + <table width="100" align="center" border="0" cellpadding="2" cellspacing="0" role="presentation"> + <tr> + <td align="center" style="border-left: 1px solid #666699; border-top: 1px solid #666699; border-right: 1px solid #666699;"><label for="codeA">HTML-Code</label></td> + </tr> + <tr> + <td style="font-size: 16px; font-weight: bold; border-left: 1px solid #666699; border-bottom: 1px solid #666699; border-right: 1px solid #666699;" id="codeA" align="center"> </td> + </tr> + <tr> + <td style="font-size: 1px;"> </td> + </tr> + <tr> + <td align="center" style="border-left: 1px solid #666699; border-top: 1px solid #666699; border-right: 1px solid #666699;"><label for="codeB">NUM-Code</label></td> + </tr> + <tr> + <td style="font-size: 16px; font-weight: bold; border-left: 1px solid #666699; border-bottom: 1px solid #666699; border-right: 1px solid #666699;" id="codeB" align="center"> </td> + </tr> + </table> + </td> + </tr> </table> - </body> </html> diff --git a/wp-includes/js/tinymce/themes/advanced/color_picker.htm b/wp-includes/js/tinymce/themes/advanced/color_picker.htm index 2d00cd5ce..b26e5ccb4 100644 --- a/wp-includes/js/tinymce/themes/advanced/color_picker.htm +++ b/wp-includes/js/tinymce/themes/advanced/color_picker.htm @@ -2,17 +2,18 @@ <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>{#advanced_dlg.colorpicker_title}</title> - <script type="text/javascript" src="../../tiny_mce_popup.js?ver=3392"></script> - <script type="text/javascript" src="../../utils/mctabs.js?ver=3392"></script> - <script type="text/javascript" src="js/color_picker.js?ver=3392"></script> + <script type="text/javascript" src="../../tiny_mce_popup.js?ver=342-20110407"></script> + <script type="text/javascript" src="../../utils/mctabs.js?ver=342-20110407"></script> + <script type="text/javascript" src="js/color_picker.js?ver=342-20110407"></script> </head> -<body id="colorpicker" style="display: none"> +<body id="colorpicker" style="display: none" role="application" aria-labelledby="app_label"> + <span class="mceVoiceLabel" id="app_label" style="display:none;">{#advanced_dlg.colorpicker_title}</span> <form onsubmit="insertAction();return false" action="#"> <div class="tabs"> <ul> - <li id="picker_tab" class="current"><span><a href="javascript:mcTabs.displayTab('picker_tab','picker_panel');" onmousedown="return false;">{#advanced_dlg.colorpicker_picker_tab}</a></span></li> - <li id="rgb_tab"><span><a href="javascript:;" onclick="generateWebColors();mcTabs.displayTab('rgb_tab','rgb_panel');" onmousedown="return false;">{#advanced_dlg.colorpicker_palette_tab}</a></span></li> - <li id="named_tab"><span><a href="javascript:;" onclick="generateNamedColors();javascript:mcTabs.displayTab('named_tab','named_panel');" onmousedown="return false;">{#advanced_dlg.colorpicker_named_tab}</a></span></li> + <li id="picker_tab" aria-controls="picker_panel" class="current"><span><a href="javascript:mcTabs.displayTab('picker_tab','picker_panel');" onmousedown="return false;">{#advanced_dlg.colorpicker_picker_tab}</a></span></li> + <li id="rgb_tab" aria-controls="rgb_panel"><span><a href="javascript:;" onclick="mcTabs.displayTab('rgb_tab','rgb_panel');" onmousedown="return false;">{#advanced_dlg.colorpicker_palette_tab}</a></span></li> + <li id="named_tab" aria-controls="named_panel"><span><a href="javascript:;" onclick="javascript:mcTabs.displayTab('named_tab','named_panel');" onmousedown="return false;">{#advanced_dlg.colorpicker_named_tab}</a></span></li> </ul> </div> @@ -34,7 +35,7 @@ <div id="rgb_panel" class="panel"> <fieldset> - <legend>{#advanced_dlg.colorpicker_palette_title}</legend> + <legend id="webcolors_title">{#advanced_dlg.colorpicker_palette_title}</legend> <div id="webcolors"> <!-- Gets filled with web safe colors--> </div> @@ -44,9 +45,9 @@ </div> <div id="named_panel" class="panel"> - <fieldset> - <legend>{#advanced_dlg.colorpicker_named_title}</legend> - <div id="namedcolors"> + <fieldset id="named_picker_label"> + <legend id="named_title">{#advanced_dlg.colorpicker_named_title}</legend> + <div id="namedcolors" role="listbox" tabindex="0" aria-labelledby="named_picker_label"> <!-- Gets filled with named colors--> </div> @@ -67,7 +68,7 @@ <div id="preview"></div> <div id="previewblock"> - <label for="color">{#advanced_dlg.colorpicker_color}</label> <input id="color" type="text" size="8" maxlength="8" class="text mceFocus" /> + <label for="color">{#advanced_dlg.colorpicker_color}</label> <input id="color" type="text" size="8" class="text mceFocus" aria-required="true" /> </div> </div> </form> diff --git a/wp-includes/js/tinymce/themes/advanced/editor_template.js b/wp-includes/js/tinymce/themes/advanced/editor_template.js index c5a1719a7..ba8dd4c30 100644 --- a/wp-includes/js/tinymce/themes/advanced/editor_template.js +++ b/wp-includes/js/tinymce/themes/advanced/editor_template.js @@ -1 +1 @@ -(function(e){var d=e.DOM,b=e.dom.Event,h=e.extend,f=e.each,a=e.util.Cookie,g,c=e.explode;e.ThemeManager.requireLangPack("advanced");e.create("tinymce.themes.AdvancedTheme",{sizes:[8,10,12,14,18,24,36],controls:{bold:["bold_desc","Bold"],italic:["italic_desc","Italic"],underline:["underline_desc","Underline"],strikethrough:["striketrough_desc","Strikethrough"],justifyleft:["justifyleft_desc","JustifyLeft"],justifycenter:["justifycenter_desc","JustifyCenter"],justifyright:["justifyright_desc","JustifyRight"],justifyfull:["justifyfull_desc","JustifyFull"],bullist:["bullist_desc","InsertUnorderedList"],numlist:["numlist_desc","InsertOrderedList"],outdent:["outdent_desc","Outdent"],indent:["indent_desc","Indent"],cut:["cut_desc","Cut"],copy:["copy_desc","Copy"],paste:["paste_desc","Paste"],undo:["undo_desc","Undo"],redo:["redo_desc","Redo"],link:["link_desc","mceLink"],unlink:["unlink_desc","unlink"],image:["image_desc","mceImage"],cleanup:["cleanup_desc","mceCleanup"],help:["help_desc","mceHelp"],code:["code_desc","mceCodeEditor"],hr:["hr_desc","InsertHorizontalRule"],removeformat:["removeformat_desc","RemoveFormat"],sub:["sub_desc","subscript"],sup:["sup_desc","superscript"],forecolor:["forecolor_desc","ForeColor"],forecolorpicker:["forecolor_desc","mceForeColor"],backcolor:["backcolor_desc","HiliteColor"],backcolorpicker:["backcolor_desc","mceBackColor"],charmap:["charmap_desc","mceCharMap"],visualaid:["visualaid_desc","mceToggleVisualAid"],anchor:["anchor_desc","mceInsertAnchor"],newdocument:["newdocument_desc","mceNewDocument"],blockquote:["blockquote_desc","mceBlockQuote"]},stateControls:["bold","italic","underline","strikethrough","bullist","numlist","justifyleft","justifycenter","justifyright","justifyfull","sub","sup","blockquote"],init:function(j,k){var l=this,m,i,n;l.editor=j;l.url=k;l.onResolveName=new e.util.Dispatcher(this);l.settings=m=h({theme_advanced_path:true,theme_advanced_toolbar_location:"bottom",theme_advanced_buttons1:"bold,italic,underline,strikethrough,|,justifyleft,justifycenter,justifyright,justifyfull,|,styleselect,formatselect",theme_advanced_buttons2:"bullist,numlist,|,outdent,indent,|,undo,redo,|,link,unlink,anchor,image,cleanup,help,code",theme_advanced_buttons3:"hr,removeformat,visualaid,|,sub,sup,|,charmap",theme_advanced_blockformats:"p,address,pre,h1,h2,h3,h4,h5,h6",theme_advanced_toolbar_align:"center",theme_advanced_fonts:"Andale Mono=andale mono,times;Arial=arial,helvetica,sans-serif;Arial Black=arial black,avant garde;Book Antiqua=book antiqua,palatino;Comic Sans MS=comic sans ms,sans-serif;Courier New=courier new,courier;Georgia=georgia,palatino;Helvetica=helvetica;Impact=impact,chicago;Symbol=symbol;Tahoma=tahoma,arial,helvetica,sans-serif;Terminal=terminal,monaco;Times New Roman=times new roman,times;Trebuchet MS=trebuchet ms,geneva;Verdana=verdana,geneva;Webdings=webdings;Wingdings=wingdings,zapf dingbats",theme_advanced_more_colors:1,theme_advanced_row_height:23,theme_advanced_resize_horizontal:1,theme_advanced_resizing_use_cookie:1,theme_advanced_font_sizes:"1,2,3,4,5,6,7",readonly:j.settings.readonly},j.settings);if(!m.font_size_style_values){m.font_size_style_values="8pt,10pt,12pt,14pt,18pt,24pt,36pt"}if(e.is(m.theme_advanced_font_sizes,"string")){m.font_size_style_values=e.explode(m.font_size_style_values);m.font_size_classes=e.explode(m.font_size_classes||"");n={};j.settings.theme_advanced_font_sizes=m.theme_advanced_font_sizes;f(j.getParam("theme_advanced_font_sizes","","hash"),function(q,p){var o;if(p==q&&q>=1&&q<=7){p=q+" ("+l.sizes[q-1]+"pt)";o=m.font_size_classes[q-1];q=m.font_size_style_values[q-1]||(l.sizes[q-1]+"pt")}if(/^\s*\./.test(q)){o=q.replace(/\./g,"")}n[p]=o?{"class":o}:{fontSize:q}});m.theme_advanced_font_sizes=n}if((i=m.theme_advanced_path_location)&&i!="none"){m.theme_advanced_statusbar_location=m.theme_advanced_path_location}if(m.theme_advanced_statusbar_location=="none"){m.theme_advanced_statusbar_location=0}j.onInit.add(function(){if(!j.settings.readonly){j.onNodeChange.add(l._nodeChanged,l)}if(j.settings.content_css!==false){j.dom.loadCSS(j.baseURI.toAbsolute(k+"/skins/"+j.settings.skin+"/content.css"))}});j.onSetProgressState.add(function(q,o,r){var s,t=q.id,p;if(o){l.progressTimer=setTimeout(function(){s=q.getContainer();s=s.insertBefore(d.create("DIV",{style:"position:relative"}),s.firstChild);p=d.get(q.id+"_tbl");d.add(s,"div",{id:t+"_blocker","class":"mceBlocker",style:{width:p.clientWidth+2,height:p.clientHeight+2}});d.add(s,"div",{id:t+"_progress","class":"mceProgress",style:{left:p.clientWidth/2,top:p.clientHeight/2}})},r||0)}else{d.remove(t+"_blocker");d.remove(t+"_progress");clearTimeout(l.progressTimer)}});d.loadCSS(m.editor_css?j.documentBaseURI.toAbsolute(m.editor_css):k+"/skins/"+j.settings.skin+"/ui.css");if(m.skin_variant){d.loadCSS(k+"/skins/"+j.settings.skin+"/ui_"+m.skin_variant+".css")}},createControl:function(l,i){var j,k;if(k=i.createControl(l)){return k}switch(l){case"styleselect":return this._createStyleSelect();case"formatselect":return this._createBlockFormats();case"fontselect":return this._createFontSelect();case"fontsizeselect":return this._createFontSizeSelect();case"forecolor":return this._createForeColorMenu();case"backcolor":return this._createBackColorMenu()}if((j=this.controls[l])){return i.createButton(l,{title:"advanced."+j[0],cmd:j[1],ui:j[2],value:j[3]})}},execCommand:function(k,j,l){var i=this["_"+k];if(i){i.call(this,j,l);return true}return false},_importClasses:function(k){var i=this.editor,j=i.controlManager.get("styleselect");if(j.getLength()==0){f(i.dom.getClasses(),function(n,l){var m="style_"+l;i.formatter.register(m,{inline:"span",attributes:{"class":n["class"]},selector:"*"});j.add(n["class"],m)})}},_createStyleSelect:function(m){var k=this,i=k.editor,j=i.controlManager,l;l=j.createListBox("styleselect",{title:"advanced.style_select",onselect:function(o){var p,n=[];f(l.items,function(q){n.push(q.value)});i.focus();i.undoManager.add();p=i.formatter.matchAll(n);if(!o||p[0]==o){i.formatter.remove(p[0])}else{i.formatter.apply(o)}i.undoManager.add();i.nodeChanged();return false}});i.onInit.add(function(){var o=0,n=i.getParam("style_formats");if(n){f(n,function(p){var q,r=0;f(p,function(){r++});if(r>1){q=p.name=p.name||"style_"+(o++);i.formatter.register(q,p);l.add(p.title,q)}else{l.add(p.title)}})}else{f(i.getParam("theme_advanced_styles","","hash"),function(r,q){var p;if(r){p="style_"+(o++);i.formatter.register(p,{inline:"span",classes:r,selector:"*"});l.add(k.editor.translate(q),p)}})}});if(l.getLength()==0){l.onPostRender.add(function(o,p){if(!l.NativeListBox){b.add(p.id+"_text","focus",k._importClasses,k);b.add(p.id+"_text","mousedown",k._importClasses,k);b.add(p.id+"_open","focus",k._importClasses,k);b.add(p.id+"_open","mousedown",k._importClasses,k)}else{b.add(p.id,"focus",k._importClasses,k)}})}return l},_createFontSelect:function(){var k,j=this,i=j.editor;k=i.controlManager.createListBox("fontselect",{title:"advanced.fontdefault",onselect:function(l){var m=k.items[k.selectedIndex];if(!l&&m){i.execCommand("FontName",false,m.value);return}i.execCommand("FontName",false,l);k.select(function(n){return l==n});return false}});if(k){f(i.getParam("theme_advanced_fonts",j.settings.theme_advanced_fonts,"hash"),function(m,l){k.add(i.translate(l),m,{style:m.indexOf("dings")==-1?"font-family:"+m:""})})}return k},_createFontSizeSelect:function(){var m=this,k=m.editor,n,l=0,j=[];n=k.controlManager.createListBox("fontsizeselect",{title:"advanced.font_size",onselect:function(i){var o=n.items[n.selectedIndex];if(!i&&o){o=o.value;if(o["class"]){k.formatter.toggle("fontsize_class",{value:o["class"]});k.undoManager.add();k.nodeChanged()}else{k.execCommand("FontSize",false,o.fontSize)}return}if(i["class"]){k.focus();k.undoManager.add();k.formatter.toggle("fontsize_class",{value:i["class"]});k.undoManager.add();k.nodeChanged()}else{k.execCommand("FontSize",false,i.fontSize)}n.select(function(p){return i==p});return false}});if(n){f(m.settings.theme_advanced_font_sizes,function(o,i){var p=o.fontSize;if(p>=1&&p<=7){p=m.sizes[parseInt(p)-1]+"pt"}n.add(i,o,{style:"font-size:"+p,"class":"mceFontSize"+(l++)+(" "+(o["class"]||""))})})}return n},_createBlockFormats:function(){var k,i={p:"advanced.paragraph",address:"advanced.address",pre:"advanced.pre",h1:"advanced.h1",h2:"advanced.h2",h3:"advanced.h3",h4:"advanced.h4",h5:"advanced.h5",h6:"advanced.h6",div:"advanced.div",blockquote:"advanced.blockquote",code:"advanced.code",dt:"advanced.dt",dd:"advanced.dd",samp:"advanced.samp"},j=this;k=j.editor.controlManager.createListBox("formatselect",{title:"advanced.block",cmd:"FormatBlock"});if(k){f(j.editor.getParam("theme_advanced_blockformats",j.settings.theme_advanced_blockformats,"hash"),function(m,l){k.add(j.editor.translate(l!=m?l:i[m]),m,{"class":"mce_formatPreview mce_"+m})})}return k},_createForeColorMenu:function(){var m,j=this,k=j.settings,l={},i;if(k.theme_advanced_more_colors){l.more_colors_func=function(){j._mceColorPicker(0,{color:m.value,func:function(n){m.setColor(n)}})}}if(i=k.theme_advanced_text_colors){l.colors=i}if(k.theme_advanced_default_foreground_color){l.default_color=k.theme_advanced_default_foreground_color}l.title="advanced.forecolor_desc";l.cmd="ForeColor";l.scope=this;m=j.editor.controlManager.createColorSplitButton("forecolor",l);return m},_createBackColorMenu:function(){var m,j=this,k=j.settings,l={},i;if(k.theme_advanced_more_colors){l.more_colors_func=function(){j._mceColorPicker(0,{color:m.value,func:function(n){m.setColor(n)}})}}if(i=k.theme_advanced_background_colors){l.colors=i}if(k.theme_advanced_default_background_color){l.default_color=k.theme_advanced_default_background_color}l.title="advanced.backcolor_desc";l.cmd="HiliteColor";l.scope=this;m=j.editor.controlManager.createColorSplitButton("backcolor",l);return m},renderUI:function(k){var m,l,q,v=this,r=v.editor,w=v.settings,u,j,i;m=j=d.create("span",{id:r.id+"_parent","class":"mceEditor "+r.settings.skin+"Skin"+(w.skin_variant?" "+r.settings.skin+"Skin"+v._ufirst(w.skin_variant):"")});if(!d.boxModel){m=d.add(m,"div",{"class":"mceOldBoxModel"})}m=u=d.add(m,"table",{id:r.id+"_tbl","class":"mceLayout",cellSpacing:0,cellPadding:0});m=q=d.add(m,"tbody");switch((w.theme_advanced_layout_manager||"").toLowerCase()){case"rowlayout":l=v._rowLayout(w,q,k);break;case"customlayout":l=r.execCallback("theme_advanced_custom_layout",w,q,k,j);break;default:l=v._simpleLayout(w,q,k,j)}m=k.targetNode;i=d.stdMode?u.getElementsByTagName("tr"):u.rows;d.addClass(i[0],"mceFirst");d.addClass(i[i.length-1],"mceLast");f(d.select("tr",q),function(o){d.addClass(o.firstChild,"mceFirst");d.addClass(o.childNodes[o.childNodes.length-1],"mceLast")});if(d.get(w.theme_advanced_toolbar_container)){d.get(w.theme_advanced_toolbar_container).appendChild(j)}else{d.insertAfter(j,m)}b.add(r.id+"_path_row","click",function(n){n=n.target;if(n.nodeName=="A"){v._sel(n.className.replace(/^.*mcePath_([0-9]+).*$/,"$1"));return b.cancel(n)}});if(!r.getParam("accessibility_focus")){b.add(d.add(j,"a",{href:"#"},"<!-- IE -->"),"focus",function(){tinyMCE.get(r.id).focus()})}if(w.theme_advanced_toolbar_location=="external"){k.deltaHeight=0}v.deltaHeight=k.deltaHeight;k.targetNode=null;return{iframeContainer:l,editorContainer:r.id+"_parent",sizeContainer:u,deltaHeight:k.deltaHeight}},getInfo:function(){return{longname:"Advanced theme",author:"Moxiecode Systems AB",authorurl:"http://tinymce.moxiecode.com",version:e.majorVersion+"."+e.minorVersion}},resizeBy:function(i,j){var k=d.get(this.editor.id+"_tbl");this.resizeTo(k.clientWidth+i,k.clientHeight+j)},resizeTo:function(i,m,k){var j=this.editor,l=this.settings,n=d.get(j.id+"_tbl"),o=d.get(j.id+"_ifr");i=Math.max(l.theme_advanced_resizing_min_width||100,i);m=Math.max(l.theme_advanced_resizing_min_height||100,m);i=Math.min(l.theme_advanced_resizing_max_width||65535,i);m=Math.min(l.theme_advanced_resizing_max_height||65535,m);d.setStyle(n,"height","");d.setStyle(o,"height",m);if(l.theme_advanced_resize_horizontal){d.setStyle(n,"width","");d.setStyle(o,"width",i);if(i<n.clientWidth){i=n.clientWidth;d.setStyle(o,"width",n.clientWidth)}}if(k&&l.theme_advanced_resizing_use_cookie){a.setHash("TinyMCE_"+j.id+"_size",{cw:i,ch:m})}},destroy:function(){var i=this.editor.id;b.clear(i+"_resize");b.clear(i+"_path_row");b.clear(i+"_external_close")},_simpleLayout:function(y,r,k,i){var x=this,u=x.editor,v=y.theme_advanced_toolbar_location,m=y.theme_advanced_statusbar_location,l,j,q,w;if(y.readonly){l=d.add(r,"tr");l=j=d.add(l,"td",{"class":"mceIframeContainer"});return j}if(v=="top"){x._addToolbars(r,k)}if(v=="external"){l=w=d.create("div",{style:"position:relative"});l=d.add(l,"div",{id:u.id+"_external","class":"mceExternalToolbar"});d.add(l,"a",{id:u.id+"_external_close",href:"javascript:;","class":"mceExternalClose"});l=d.add(l,"table",{id:u.id+"_tblext",cellSpacing:0,cellPadding:0});q=d.add(l,"tbody");if(i.firstChild.className=="mceOldBoxModel"){i.firstChild.appendChild(w)}else{i.insertBefore(w,i.firstChild)}x._addToolbars(q,k);u.onMouseUp.add(function(){var o=d.get(u.id+"_external");d.show(o);d.hide(g);var n=b.add(u.id+"_external_close","click",function(){d.hide(u.id+"_external");b.remove(u.id+"_external_close","click",n)});d.show(o);d.setStyle(o,"top",0-d.getRect(u.id+"_tblext").h-1);d.hide(o);d.show(o);o.style.filter="";g=u.id+"_external";o=null})}if(m=="top"){x._addStatusBar(r,k)}if(!y.theme_advanced_toolbar_container){l=d.add(r,"tr");l=j=d.add(l,"td",{"class":"mceIframeContainer"})}if(v=="bottom"){x._addToolbars(r,k)}if(m=="bottom"){x._addStatusBar(r,k)}return j},_rowLayout:function(w,m,k){var v=this,p=v.editor,u,x,i=p.controlManager,l,j,r,q;u=w.theme_advanced_containers_default_class||"";x=w.theme_advanced_containers_default_align||"center";f(c(w.theme_advanced_containers||""),function(s,o){var n=w["theme_advanced_container_"+s]||"";switch(n.toLowerCase()){case"mceeditor":l=d.add(m,"tr");l=j=d.add(l,"td",{"class":"mceIframeContainer"});break;case"mceelementpath":v._addStatusBar(m,k);break;default:q=(w["theme_advanced_container_"+s+"_align"]||x).toLowerCase();q="mce"+v._ufirst(q);l=d.add(d.add(m,"tr"),"td",{"class":"mceToolbar "+(w["theme_advanced_container_"+s+"_class"]||u)+" "+q||x});r=i.createToolbar("toolbar"+o);v._addControls(n,r);d.setHTML(l,r.renderHTML());k.deltaHeight-=w.theme_advanced_row_height}});return j},_addControls:function(j,i){var k=this,l=k.settings,m,n=k.editor.controlManager;if(l.theme_advanced_disable&&!k._disabled){m={};f(c(l.theme_advanced_disable),function(o){m[o]=1});k._disabled=m}else{m=k._disabled}f(c(j),function(p){var o;if(m&&m[p]){return}if(p=="tablecontrols"){f(["table","|","row_props","cell_props","|","row_before","row_after","delete_row","|","col_before","col_after","delete_col","|","split_cells","merge_cells"],function(q){q=k.createControl(q,n);if(q){i.add(q)}});return}o=k.createControl(p,n);if(o){i.add(o)}})},_addToolbars:function(w,k){var z=this,p,m,r=z.editor,A=z.settings,y,j=r.controlManager,u,l,q=[],x;x=A.theme_advanced_toolbar_align.toLowerCase();x="mce"+z._ufirst(x);l=d.add(d.add(w,"tr"),"td",{"class":"mceToolbar "+x});if(!r.getParam("accessibility_focus")){q.push(d.createHTML("a",{href:"#",onfocus:"tinyMCE.get('"+r.id+"').focus();"},"<!-- IE -->"))}q.push(d.createHTML("a",{href:"#",accesskey:"q",title:r.getLang("advanced.toolbar_focus")},"<!-- IE -->"));for(p=1;(y=A["theme_advanced_buttons"+p]);p++){m=j.createToolbar("toolbar"+p,{"class":"mceToolbarRow"+p});if(A["theme_advanced_buttons"+p+"_add"]){y+=","+A["theme_advanced_buttons"+p+"_add"]}if(A["theme_advanced_buttons"+p+"_add_before"]){y=A["theme_advanced_buttons"+p+"_add_before"]+","+y}z._addControls(y,m);q.push(m.renderHTML());k.deltaHeight-=A.theme_advanced_row_height}q.push(d.createHTML("a",{href:"#",accesskey:"z",title:r.getLang("advanced.toolbar_focus"),onfocus:"tinyMCE.getInstanceById('"+r.id+"').focus();"},"<!-- IE -->"));d.setHTML(l,q.join(""))},_addStatusBar:function(m,j){var k,v=this,p=v.editor,w=v.settings,i,q,u,l;k=d.add(m,"tr");k=l=d.add(k,"td",{"class":"mceStatusbar"});k=d.add(k,"div",{id:p.id+"_path_row"},w.theme_advanced_path?p.translate("advanced.path")+": ":" ");d.add(k,"a",{href:"#",accesskey:"x"});if(w.theme_advanced_resizing){d.add(l,"a",{id:p.id+"_resize",href:"javascript:;",onclick:"return false;","class":"mceResize"});if(w.theme_advanced_resizing_use_cookie){p.onPostRender.add(function(){var n=a.getHash("TinyMCE_"+p.id+"_size"),r=d.get(p.id+"_tbl");if(!n){return}v.resizeTo(n.cw,n.ch)})}p.onPostRender.add(function(){b.add(p.id+"_resize","click",function(n){n.preventDefault()});b.add(p.id+"_resize","mousedown",function(D){var t,r,s,o,C,z,A,F,n,E,x;function y(G){G.preventDefault();n=A+(G.screenX-C);E=F+(G.screenY-z);v.resizeTo(n,E)}function B(G){b.remove(d.doc,"mousemove",t);b.remove(p.getDoc(),"mousemove",r);b.remove(d.doc,"mouseup",s);b.remove(p.getDoc(),"mouseup",o);n=A+(G.screenX-C);E=F+(G.screenY-z);v.resizeTo(n,E,true)}D.preventDefault();C=D.screenX;z=D.screenY;x=d.get(v.editor.id+"_ifr");A=n=x.clientWidth;F=E=x.clientHeight;t=b.add(d.doc,"mousemove",y);r=b.add(p.getDoc(),"mousemove",y);s=b.add(d.doc,"mouseup",B);o=b.add(p.getDoc(),"mouseup",B)})})}j.deltaHeight-=21;k=m=null},_nodeChanged:function(r,z,l,x,j){var C=this,i,y=0,B,u,D=C.settings,A,k,w,m,q;e.each(C.stateControls,function(n){z.setActive(n,r.queryCommandState(C.controls[n][1]))});function o(p){var s,n=j.parents,t=p;if(typeof(p)=="string"){t=function(v){return v.nodeName==p}}for(s=0;s<n.length;s++){if(t(n[s])){return n[s]}}}z.setActive("visualaid",r.hasVisual);z.setDisabled("undo",!r.undoManager.hasUndo()&&!r.typing);z.setDisabled("redo",!r.undoManager.hasRedo());z.setDisabled("outdent",!r.queryCommandState("Outdent"));i=o("A");if(u=z.get("link")){if(!i||!i.name){u.setDisabled(!i&&x);u.setActive(!!i)}}if(u=z.get("unlink")){u.setDisabled(!i&&x);u.setActive(!!i&&!i.name)}if(u=z.get("anchor")){u.setActive(!!i&&i.name)}i=o("IMG");if(u=z.get("image")){u.setActive(!!i&&l.className.indexOf("mceItem")==-1)}if(u=z.get("styleselect")){C._importClasses();m=[];f(u.items,function(n){m.push(n.value)});q=r.formatter.matchAll(m);u.select(q[0])}if(u=z.get("formatselect")){i=o(d.isBlock);if(i){u.select(i.nodeName.toLowerCase())}}o(function(p){if(p.nodeName==="SPAN"){if(!A&&p.className){A=p.className}if(!k&&p.style.fontSize){k=p.style.fontSize}if(!w&&p.style.fontFamily){w=p.style.fontFamily.replace(/[\"\']+/g,"").replace(/^([^,]+).*/,"$1").toLowerCase()}}return false});if(u=z.get("fontselect")){u.select(function(n){return n.replace(/^([^,]+).*/,"$1").toLowerCase()==w})}if(u=z.get("fontsizeselect")){if(D.theme_advanced_runtime_fontsize&&!k&&!A){k=r.dom.getStyle(l,"fontSize",true)}u.select(function(n){if(n.fontSize&&n.fontSize===k){return true}if(n["class"]&&n["class"]===A){return true}})}if(D.theme_advanced_path&&D.theme_advanced_statusbar_location){i=d.get(r.id+"_path")||d.add(r.id+"_path_row","span",{id:r.id+"_path"});d.setHTML(i,"");o(function(E){var p=E.nodeName.toLowerCase(),s,v,t="";if(E.nodeType!=1||E.nodeName==="BR"||(d.hasClass(E,"mceItemHidden")||d.hasClass(E,"mceItemRemoved"))){return}if(B=d.getAttrib(E,"mce_name")){p=B}if(e.isIE&&E.scopeName!=="HTML"){p=E.scopeName+":"+p}p=p.replace(/mce\:/g,"");switch(p){case"b":p="strong";break;case"i":p="em";break;case"img":if(B=d.getAttrib(E,"src")){t+="src: "+B+" "}break;case"a":if(B=d.getAttrib(E,"name")){t+="name: "+B+" ";p+="#"+B}if(B=d.getAttrib(E,"href")){t+="href: "+B+" "}break;case"font":if(B=d.getAttrib(E,"face")){t+="font: "+B+" "}if(B=d.getAttrib(E,"size")){t+="size: "+B+" "}if(B=d.getAttrib(E,"color")){t+="color: "+B+" "}break;case"span":if(B=d.getAttrib(E,"style")){t+="style: "+B+" "}break}if(B=d.getAttrib(E,"id")){t+="id: "+B+" "}if(B=E.className){B=B.replace(/\b\s*(webkit|mce|Apple-)\w+\s*\b/g,"");if(B){t+="class: "+B+" ";if(d.isBlock(E)||p=="img"||p=="span"){p+="."+B}}}p=p.replace(/(html:)/g,"");p={name:p,node:E,title:t};C.onResolveName.dispatch(C,p);t=p.title;p=p.name;v=d.create("a",{href:"javascript:;",onmousedown:"return false;",title:t,"class":"mcePath_"+(y++)},p);if(i.hasChildNodes()){i.insertBefore(d.doc.createTextNode(" \u00bb "),i.firstChild);i.insertBefore(v,i.firstChild)}else{i.appendChild(v)}},r.getBody())}},_sel:function(i){this.editor.execCommand("mceSelectNodeDepth",false,i)},_mceInsertAnchor:function(k,j){var i=this.editor;i.windowManager.open({url:this.url+"/anchor.htm",width:320+parseInt(i.getLang("advanced.anchor_delta_width",0)),height:90+parseInt(i.getLang("advanced.anchor_delta_height",0)),inline:true},{theme_url:this.url})},_mceCharMap:function(){var i=this.editor;i.windowManager.open({url:this.url+"/charmap.htm",width:550+parseInt(i.getLang("advanced.charmap_delta_width",0)),height:250+parseInt(i.getLang("advanced.charmap_delta_height",0)),inline:true},{theme_url:this.url})},_mceHelp:function(){var i=this.editor;i.windowManager.open({url:this.url+"/about.htm",width:480,height:380,inline:true},{theme_url:this.url})},_mceColorPicker:function(k,j){var i=this.editor;j=j||{};i.windowManager.open({url:this.url+"/color_picker.htm",width:375+parseInt(i.getLang("advanced.colorpicker_delta_width",0)),height:250+parseInt(i.getLang("advanced.colorpicker_delta_height",0)),close_previous:false,inline:true},{input_color:j.color,func:j.func,theme_url:this.url})},_mceCodeEditor:function(j,k){var i=this.editor;i.windowManager.open({url:this.url+"/source_editor.htm",width:parseInt(i.getParam("theme_advanced_source_editor_width",720)),height:parseInt(i.getParam("theme_advanced_source_editor_height",580)),inline:true,resizable:true,maximizable:true},{theme_url:this.url})},_mceImage:function(j,k){var i=this.editor;if(i.dom.getAttrib(i.selection.getNode(),"class").indexOf("mceItem")!=-1){return}i.windowManager.open({url:this.url+"/image.htm",width:355+parseInt(i.getLang("advanced.image_delta_width",0)),height:275+parseInt(i.getLang("advanced.image_delta_height",0)),inline:true},{theme_url:this.url})},_mceLink:function(j,k){var i=this.editor;i.windowManager.open({url:this.url+"/link.htm",width:310+parseInt(i.getLang("advanced.link_delta_width",0)),height:200+parseInt(i.getLang("advanced.link_delta_height",0)),inline:true},{theme_url:this.url})},_mceNewDocument:function(){var i=this.editor;i.windowManager.confirm("advanced.newdocument",function(j){if(j){i.execCommand("mceSetContent",false,"")}})},_mceForeColor:function(){var i=this;this._mceColorPicker(0,{color:i.fgColor,func:function(j){i.fgColor=j;i.editor.execCommand("ForeColor",false,j)}})},_mceBackColor:function(){var i=this;this._mceColorPicker(0,{color:i.bgColor,func:function(j){i.bgColor=j;i.editor.execCommand("HiliteColor",false,j)}})},_ufirst:function(i){return i.substring(0,1).toUpperCase()+i.substring(1)}});e.ThemeManager.add("advanced",e.themes.AdvancedTheme)}(tinymce)); \ No newline at end of file +(function(e){var d=e.DOM,b=e.dom.Event,h=e.extend,f=e.each,a=e.util.Cookie,g,c=e.explode;e.ThemeManager.requireLangPack("advanced");e.create("tinymce.themes.AdvancedTheme",{sizes:[8,10,12,14,18,24,36],controls:{bold:["bold_desc","Bold"],italic:["italic_desc","Italic"],underline:["underline_desc","Underline"],strikethrough:["striketrough_desc","Strikethrough"],justifyleft:["justifyleft_desc","JustifyLeft"],justifycenter:["justifycenter_desc","JustifyCenter"],justifyright:["justifyright_desc","JustifyRight"],justifyfull:["justifyfull_desc","JustifyFull"],bullist:["bullist_desc","InsertUnorderedList"],numlist:["numlist_desc","InsertOrderedList"],outdent:["outdent_desc","Outdent"],indent:["indent_desc","Indent"],cut:["cut_desc","Cut"],copy:["copy_desc","Copy"],paste:["paste_desc","Paste"],undo:["undo_desc","Undo"],redo:["redo_desc","Redo"],link:["link_desc","mceLink"],unlink:["unlink_desc","unlink"],image:["image_desc","mceImage"],cleanup:["cleanup_desc","mceCleanup"],help:["help_desc","mceHelp"],code:["code_desc","mceCodeEditor"],hr:["hr_desc","InsertHorizontalRule"],removeformat:["removeformat_desc","RemoveFormat"],sub:["sub_desc","subscript"],sup:["sup_desc","superscript"],forecolor:["forecolor_desc","ForeColor"],forecolorpicker:["forecolor_desc","mceForeColor"],backcolor:["backcolor_desc","HiliteColor"],backcolorpicker:["backcolor_desc","mceBackColor"],charmap:["charmap_desc","mceCharMap"],visualaid:["visualaid_desc","mceToggleVisualAid"],anchor:["anchor_desc","mceInsertAnchor"],newdocument:["newdocument_desc","mceNewDocument"],blockquote:["blockquote_desc","mceBlockQuote"]},stateControls:["bold","italic","underline","strikethrough","bullist","numlist","justifyleft","justifycenter","justifyright","justifyfull","sub","sup","blockquote"],init:function(j,k){var l=this,m,i,n;l.editor=j;l.url=k;l.onResolveName=new e.util.Dispatcher(this);j.forcedHighContrastMode=j.settings.detect_highcontrast&&l._isHighContrast();j.settings.skin=j.forcedHighContrastMode?"highcontrast":j.settings.skin;l.settings=m=h({theme_advanced_path:true,theme_advanced_toolbar_location:"bottom",theme_advanced_buttons1:"bold,italic,underline,strikethrough,|,justifyleft,justifycenter,justifyright,justifyfull,|,styleselect,formatselect",theme_advanced_buttons2:"bullist,numlist,|,outdent,indent,|,undo,redo,|,link,unlink,anchor,image,cleanup,help,code",theme_advanced_buttons3:"hr,removeformat,visualaid,|,sub,sup,|,charmap",theme_advanced_blockformats:"p,address,pre,h1,h2,h3,h4,h5,h6",theme_advanced_toolbar_align:"center",theme_advanced_fonts:"Andale Mono=andale mono,times;Arial=arial,helvetica,sans-serif;Arial Black=arial black,avant garde;Book Antiqua=book antiqua,palatino;Comic Sans MS=comic sans ms,sans-serif;Courier New=courier new,courier;Georgia=georgia,palatino;Helvetica=helvetica;Impact=impact,chicago;Symbol=symbol;Tahoma=tahoma,arial,helvetica,sans-serif;Terminal=terminal,monaco;Times New Roman=times new roman,times;Trebuchet MS=trebuchet ms,geneva;Verdana=verdana,geneva;Webdings=webdings;Wingdings=wingdings,zapf dingbats",theme_advanced_more_colors:1,theme_advanced_row_height:23,theme_advanced_resize_horizontal:1,theme_advanced_resizing_use_cookie:1,theme_advanced_font_sizes:"1,2,3,4,5,6,7",theme_advanced_font_selector:"span",theme_advanced_show_current_color:0,readonly:j.settings.readonly},j.settings);if(!m.font_size_style_values){m.font_size_style_values="8pt,10pt,12pt,14pt,18pt,24pt,36pt"}if(e.is(m.theme_advanced_font_sizes,"string")){m.font_size_style_values=e.explode(m.font_size_style_values);m.font_size_classes=e.explode(m.font_size_classes||"");n={};j.settings.theme_advanced_font_sizes=m.theme_advanced_font_sizes;f(j.getParam("theme_advanced_font_sizes","","hash"),function(q,p){var o;if(p==q&&q>=1&&q<=7){p=q+" ("+l.sizes[q-1]+"pt)";o=m.font_size_classes[q-1];q=m.font_size_style_values[q-1]||(l.sizes[q-1]+"pt")}if(/^\s*\./.test(q)){o=q.replace(/\./g,"")}n[p]=o?{"class":o}:{fontSize:q}});m.theme_advanced_font_sizes=n}if((i=m.theme_advanced_path_location)&&i!="none"){m.theme_advanced_statusbar_location=m.theme_advanced_path_location}if(m.theme_advanced_statusbar_location=="none"){m.theme_advanced_statusbar_location=0}if(j.settings.content_css!==false){j.contentCSS.push(j.baseURI.toAbsolute(k+"/skins/"+j.settings.skin+"/content.css"))}j.onInit.add(function(){if(!j.settings.readonly){j.onNodeChange.add(l._nodeChanged,l);j.onKeyUp.add(l._updateUndoStatus,l);j.onMouseUp.add(l._updateUndoStatus,l);j.dom.bind(j.dom.getRoot(),"dragend",function(){l._updateUndoStatus(j)})}});j.onSetProgressState.add(function(q,o,r){var s,t=q.id,p;if(o){l.progressTimer=setTimeout(function(){s=q.getContainer();s=s.insertBefore(d.create("DIV",{style:"position:relative"}),s.firstChild);p=d.get(q.id+"_tbl");d.add(s,"div",{id:t+"_blocker","class":"mceBlocker",style:{width:p.clientWidth+2,height:p.clientHeight+2}});d.add(s,"div",{id:t+"_progress","class":"mceProgress",style:{left:p.clientWidth/2,top:p.clientHeight/2}})},r||0)}else{d.remove(t+"_blocker");d.remove(t+"_progress");clearTimeout(l.progressTimer)}});d.loadCSS(m.editor_css?j.documentBaseURI.toAbsolute(m.editor_css):k+"/skins/"+j.settings.skin+"/ui.css");if(m.skin_variant){d.loadCSS(k+"/skins/"+j.settings.skin+"/ui_"+m.skin_variant+".css")}},_isHighContrast:function(){var i,j=d.add(d.getRoot(),"div",{style:"background-color: rgb(171,239,86);"});i=(d.getStyle(j,"background-color",true)+"").toLowerCase().replace(/ /g,"");d.remove(j);return i!="rgb(171,239,86)"&&i!="#abef56"},createControl:function(l,i){var j,k;if(k=i.createControl(l)){return k}switch(l){case"styleselect":return this._createStyleSelect();case"formatselect":return this._createBlockFormats();case"fontselect":return this._createFontSelect();case"fontsizeselect":return this._createFontSizeSelect();case"forecolor":return this._createForeColorMenu();case"backcolor":return this._createBackColorMenu()}if((j=this.controls[l])){return i.createButton(l,{title:"advanced."+j[0],cmd:j[1],ui:j[2],value:j[3]})}},execCommand:function(k,j,l){var i=this["_"+k];if(i){i.call(this,j,l);return true}return false},_importClasses:function(k){var i=this.editor,j=i.controlManager.get("styleselect");if(j.getLength()==0){f(i.dom.getClasses(),function(n,l){var m="style_"+l;i.formatter.register(m,{inline:"span",attributes:{"class":n["class"]},selector:"*"});j.add(n["class"],m)})}},_createStyleSelect:function(m){var k=this,i=k.editor,j=i.controlManager,l;l=j.createListBox("styleselect",{title:"advanced.style_select",onselect:function(o){var p,n=[];f(l.items,function(q){n.push(q.value)});i.focus();i.undoManager.add();p=i.formatter.matchAll(n);if(!o||p[0]==o){if(p[0]){i.formatter.remove(p[0])}}else{i.formatter.apply(o)}i.undoManager.add();i.nodeChanged();return false}});i.onInit.add(function(){var o=0,n=i.getParam("style_formats");if(n){f(n,function(p){var q,r=0;f(p,function(){r++});if(r>1){q=p.name=p.name||"style_"+(o++);i.formatter.register(q,p);l.add(p.title,q)}else{l.add(p.title)}})}else{f(i.getParam("theme_advanced_styles","","hash"),function(r,q){var p;if(r){p="style_"+(o++);i.formatter.register(p,{inline:"span",classes:r,selector:"*"});l.add(k.editor.translate(q),p)}})}});if(l.getLength()==0){l.onPostRender.add(function(o,p){if(!l.NativeListBox){b.add(p.id+"_text","focus",k._importClasses,k);b.add(p.id+"_text","mousedown",k._importClasses,k);b.add(p.id+"_open","focus",k._importClasses,k);b.add(p.id+"_open","mousedown",k._importClasses,k)}else{b.add(p.id,"focus",k._importClasses,k)}})}return l},_createFontSelect:function(){var k,j=this,i=j.editor;k=i.controlManager.createListBox("fontselect",{title:"advanced.fontdefault",onselect:function(l){var m=k.items[k.selectedIndex];if(!l&&m){i.execCommand("FontName",false,m.value);return}i.execCommand("FontName",false,l);k.select(function(n){return l==n});if(m&&m.value==l){k.select(null)}return false}});if(k){f(i.getParam("theme_advanced_fonts",j.settings.theme_advanced_fonts,"hash"),function(m,l){k.add(i.translate(l),m,{style:m.indexOf("dings")==-1?"font-family:"+m:""})})}return k},_createFontSizeSelect:function(){var m=this,k=m.editor,n,l=0,j=[];n=k.controlManager.createListBox("fontsizeselect",{title:"advanced.font_size",onselect:function(i){var o=n.items[n.selectedIndex];if(!i&&o){o=o.value;if(o["class"]){k.formatter.toggle("fontsize_class",{value:o["class"]});k.undoManager.add();k.nodeChanged()}else{k.execCommand("FontSize",false,o.fontSize)}return}if(i["class"]){k.focus();k.undoManager.add();k.formatter.toggle("fontsize_class",{value:i["class"]});k.undoManager.add();k.nodeChanged()}else{k.execCommand("FontSize",false,i.fontSize)}n.select(function(p){return i==p});if(o&&(o.value.fontSize==i.fontSize||o.value["class"]==i["class"])){n.select(null)}return false}});if(n){f(m.settings.theme_advanced_font_sizes,function(o,i){var p=o.fontSize;if(p>=1&&p<=7){p=m.sizes[parseInt(p)-1]+"pt"}n.add(i,o,{style:"font-size:"+p,"class":"mceFontSize"+(l++)+(" "+(o["class"]||""))})})}return n},_createBlockFormats:function(){var k,i={p:"advanced.paragraph",address:"advanced.address",pre:"advanced.pre",h1:"advanced.h1",h2:"advanced.h2",h3:"advanced.h3",h4:"advanced.h4",h5:"advanced.h5",h6:"advanced.h6",div:"advanced.div",blockquote:"advanced.blockquote",code:"advanced.code",dt:"advanced.dt",dd:"advanced.dd",samp:"advanced.samp"},j=this;k=j.editor.controlManager.createListBox("formatselect",{title:"advanced.block",onselect:function(l){j.editor.execCommand("FormatBlock",false,l);return false}});if(k){f(j.editor.getParam("theme_advanced_blockformats",j.settings.theme_advanced_blockformats,"hash"),function(m,l){k.add(j.editor.translate(l!=m?l:i[m]),m,{"class":"mce_formatPreview mce_"+m})})}return k},_createForeColorMenu:function(){var m,j=this,k=j.settings,l={},i;if(k.theme_advanced_more_colors){l.more_colors_func=function(){j._mceColorPicker(0,{color:m.value,func:function(n){m.setColor(n)}})}}if(i=k.theme_advanced_text_colors){l.colors=i}if(k.theme_advanced_default_foreground_color){l.default_color=k.theme_advanced_default_foreground_color}l.title="advanced.forecolor_desc";l.cmd="ForeColor";l.scope=this;m=j.editor.controlManager.createColorSplitButton("forecolor",l);return m},_createBackColorMenu:function(){var m,j=this,k=j.settings,l={},i;if(k.theme_advanced_more_colors){l.more_colors_func=function(){j._mceColorPicker(0,{color:m.value,func:function(n){m.setColor(n)}})}}if(i=k.theme_advanced_background_colors){l.colors=i}if(k.theme_advanced_default_background_color){l.default_color=k.theme_advanced_default_background_color}l.title="advanced.backcolor_desc";l.cmd="HiliteColor";l.scope=this;m=j.editor.controlManager.createColorSplitButton("backcolor",l);return m},renderUI:function(k){var m,l,q,v=this,r=v.editor,w=v.settings,u,j,i;if(r.settings){r.settings.aria_label=w.aria_label+r.getLang("advanced.help_shortcut")}m=j=d.create("span",{role:"application","aria-labelledby":r.id+"_voice",id:r.id+"_parent","class":"mceEditor "+r.settings.skin+"Skin"+(w.skin_variant?" "+r.settings.skin+"Skin"+v._ufirst(w.skin_variant):"")});d.add(m,"span",{"class":"mceVoiceLabel",style:"display:none;",id:r.id+"_voice"},w.aria_label);if(!d.boxModel){m=d.add(m,"div",{"class":"mceOldBoxModel"})}m=u=d.add(m,"table",{role:"presentation",id:r.id+"_tbl","class":"mceLayout",cellSpacing:0,cellPadding:0});m=q=d.add(m,"tbody");switch((w.theme_advanced_layout_manager||"").toLowerCase()){case"rowlayout":l=v._rowLayout(w,q,k);break;case"customlayout":l=r.execCallback("theme_advanced_custom_layout",w,q,k,j);break;default:l=v._simpleLayout(w,q,k,j)}m=k.targetNode;i=u.rows;d.addClass(i[0],"mceFirst");d.addClass(i[i.length-1],"mceLast");f(d.select("tr",q),function(o){d.addClass(o.firstChild,"mceFirst");d.addClass(o.childNodes[o.childNodes.length-1],"mceLast")});if(d.get(w.theme_advanced_toolbar_container)){d.get(w.theme_advanced_toolbar_container).appendChild(j)}else{d.insertAfter(j,m)}b.add(r.id+"_path_row","click",function(n){n=n.target;if(n.nodeName=="A"){v._sel(n.className.replace(/^.*mcePath_([0-9]+).*$/,"$1"));return b.cancel(n)}});if(!r.getParam("accessibility_focus")){b.add(d.add(j,"a",{href:"#"},"<!-- IE -->"),"focus",function(){tinyMCE.get(r.id).focus()})}if(w.theme_advanced_toolbar_location=="external"){k.deltaHeight=0}v.deltaHeight=k.deltaHeight;k.targetNode=null;r.onKeyDown.add(function(p,n){var s=121,o=122;if(n.altKey){if(n.keyCode===s){v.toolbarGroup.focus();return b.cancel(n)}else{if(n.keyCode===o){d.get(p.id+"_path_row").focus();return b.cancel(n)}}}});r.addShortcut("alt+0","","mceShortcuts",v);return{iframeContainer:l,editorContainer:r.id+"_parent",sizeContainer:u,deltaHeight:k.deltaHeight}},getInfo:function(){return{longname:"Advanced theme",author:"Moxiecode Systems AB",authorurl:"http://tinymce.moxiecode.com",version:e.majorVersion+"."+e.minorVersion}},resizeBy:function(i,j){var k=d.get(this.editor.id+"_ifr");this.resizeTo(k.clientWidth+i,k.clientHeight+j)},resizeTo:function(i,m,k){var j=this.editor,l=this.settings,n=d.get(j.id+"_tbl"),o=d.get(j.id+"_ifr");i=Math.max(l.theme_advanced_resizing_min_width||100,i);m=Math.max(l.theme_advanced_resizing_min_height||100,m);i=Math.min(l.theme_advanced_resizing_max_width||65535,i);m=Math.min(l.theme_advanced_resizing_max_height||65535,m);d.setStyle(n,"height","");d.setStyle(o,"height",m);if(l.theme_advanced_resize_horizontal){d.setStyle(n,"width","");d.setStyle(o,"width",i);if(i<n.clientWidth){i=n.clientWidth;d.setStyle(o,"width",n.clientWidth)}}if(k&&l.theme_advanced_resizing_use_cookie){a.setHash("TinyMCE_"+j.id+"_size",{cw:i,ch:m})}},destroy:function(){var i=this.editor.id;b.clear(i+"_resize");b.clear(i+"_path_row");b.clear(i+"_external_close")},_simpleLayout:function(y,r,k,i){var x=this,u=x.editor,v=y.theme_advanced_toolbar_location,m=y.theme_advanced_statusbar_location,l,j,q,w;if(y.readonly){l=d.add(r,"tr");l=j=d.add(l,"td",{"class":"mceIframeContainer"});return j}if(v=="top"){x._addToolbars(r,k)}if(v=="external"){l=w=d.create("div",{style:"position:relative"});l=d.add(l,"div",{id:u.id+"_external","class":"mceExternalToolbar"});d.add(l,"a",{id:u.id+"_external_close",href:"javascript:;","class":"mceExternalClose"});l=d.add(l,"table",{id:u.id+"_tblext",cellSpacing:0,cellPadding:0});q=d.add(l,"tbody");if(i.firstChild.className=="mceOldBoxModel"){i.firstChild.appendChild(w)}else{i.insertBefore(w,i.firstChild)}x._addToolbars(q,k);u.onMouseUp.add(function(){var o=d.get(u.id+"_external");d.show(o);d.hide(g);var n=b.add(u.id+"_external_close","click",function(){d.hide(u.id+"_external");b.remove(u.id+"_external_close","click",n)});d.show(o);d.setStyle(o,"top",0-d.getRect(u.id+"_tblext").h-1);d.hide(o);d.show(o);o.style.filter="";g=u.id+"_external";o=null})}if(m=="top"){x._addStatusBar(r,k)}if(!y.theme_advanced_toolbar_container){l=d.add(r,"tr");l=j=d.add(l,"td",{"class":"mceIframeContainer"})}if(v=="bottom"){x._addToolbars(r,k)}if(m=="bottom"){x._addStatusBar(r,k)}return j},_rowLayout:function(w,m,k){var v=this,p=v.editor,u,x,i=p.controlManager,l,j,r,q;u=w.theme_advanced_containers_default_class||"";x=w.theme_advanced_containers_default_align||"center";f(c(w.theme_advanced_containers||""),function(s,o){var n=w["theme_advanced_container_"+s]||"";switch(s.toLowerCase()){case"mceeditor":l=d.add(m,"tr");l=j=d.add(l,"td",{"class":"mceIframeContainer"});break;case"mceelementpath":v._addStatusBar(m,k);break;default:q=(w["theme_advanced_container_"+s+"_align"]||x).toLowerCase();q="mce"+v._ufirst(q);l=d.add(d.add(m,"tr"),"td",{"class":"mceToolbar "+(w["theme_advanced_container_"+s+"_class"]||u)+" "+q||x});r=i.createToolbar("toolbar"+o);v._addControls(n,r);d.setHTML(l,r.renderHTML());k.deltaHeight-=w.theme_advanced_row_height}});return j},_addControls:function(j,i){var k=this,l=k.settings,m,n=k.editor.controlManager;if(l.theme_advanced_disable&&!k._disabled){m={};f(c(l.theme_advanced_disable),function(o){m[o]=1});k._disabled=m}else{m=k._disabled}f(c(j),function(p){var o;if(m&&m[p]){return}if(p=="tablecontrols"){f(["table","|","row_props","cell_props","|","row_before","row_after","delete_row","|","col_before","col_after","delete_col","|","split_cells","merge_cells"],function(q){q=k.createControl(q,n);if(q){i.add(q)}});return}o=k.createControl(p,n);if(o){i.add(o)}})},_addToolbars:function(x,k){var A=this,p,m,r=A.editor,B=A.settings,z,j=r.controlManager,u,l,q=[],y,w;w=j.createToolbarGroup("toolbargroup",{name:r.getLang("advanced.toolbar"),tab_focus_toolbar:r.getParam("theme_advanced_tab_focus_toolbar")});A.toolbarGroup=w;y=B.theme_advanced_toolbar_align.toLowerCase();y="mce"+A._ufirst(y);l=d.add(d.add(x,"tr",{role:"presentation"}),"td",{"class":"mceToolbar "+y,role:"presentation"});for(p=1;(z=B["theme_advanced_buttons"+p]);p++){m=j.createToolbar("toolbar"+p,{"class":"mceToolbarRow"+p});if(B["theme_advanced_buttons"+p+"_add"]){z+=","+B["theme_advanced_buttons"+p+"_add"]}if(B["theme_advanced_buttons"+p+"_add_before"]){z=B["theme_advanced_buttons"+p+"_add_before"]+","+z}A._addControls(z,m);w.add(m);k.deltaHeight-=B.theme_advanced_row_height}q.push(w.renderHTML());q.push(d.createHTML("a",{href:"#",accesskey:"z",title:r.getLang("advanced.toolbar_focus"),onfocus:"tinyMCE.getInstanceById('"+r.id+"').focus();"},"<!-- IE -->"));d.setHTML(l,q.join(""))},_addStatusBar:function(m,j){var k,v=this,p=v.editor,w=v.settings,i,q,u,l;k=d.add(m,"tr");k=l=d.add(k,"td",{"class":"mceStatusbar"});k=d.add(k,"div",{id:p.id+"_path_row",role:"group","aria-labelledby":p.id+"_path_voice"});if(w.theme_advanced_path){d.add(k,"span",{id:p.id+"_path_voice"},p.translate("advanced.path"));d.add(k,"span",{},": ")}else{d.add(k,"span",{}," ")}if(w.theme_advanced_resizing){d.add(l,"a",{id:p.id+"_resize",href:"javascript:;",onclick:"return false;","class":"mceResize"});if(w.theme_advanced_resizing_use_cookie){p.onPostRender.add(function(){var n=a.getHash("TinyMCE_"+p.id+"_size"),r=d.get(p.id+"_tbl");if(!n){return}v.resizeTo(n.cw,n.ch)})}p.onPostRender.add(function(){b.add(p.id+"_resize","click",function(n){n.preventDefault()});b.add(p.id+"_resize","mousedown",function(D){var t,r,s,o,C,z,A,F,n,E,x;function y(G){G.preventDefault();n=A+(G.screenX-C);E=F+(G.screenY-z);v.resizeTo(n,E)}function B(G){b.remove(d.doc,"mousemove",t);b.remove(p.getDoc(),"mousemove",r);b.remove(d.doc,"mouseup",s);b.remove(p.getDoc(),"mouseup",o);n=A+(G.screenX-C);E=F+(G.screenY-z);v.resizeTo(n,E,true)}D.preventDefault();C=D.screenX;z=D.screenY;x=d.get(v.editor.id+"_ifr");A=n=x.clientWidth;F=E=x.clientHeight;t=b.add(d.doc,"mousemove",y);r=b.add(p.getDoc(),"mousemove",y);s=b.add(d.doc,"mouseup",B);o=b.add(p.getDoc(),"mouseup",B)})})}j.deltaHeight-=21;k=m=null},_updateUndoStatus:function(j){var i=j.controlManager;i.setDisabled("undo",!j.undoManager.hasUndo()&&!j.typing);i.setDisabled("redo",!j.undoManager.hasRedo())},_nodeChanged:function(m,r,D,q,E){var y=this,C,F=0,x,G,z=y.settings,w,k,u,B,l,j,i;e.each(y.stateControls,function(n){r.setActive(n,m.queryCommandState(y.controls[n][1]))});function o(p){var s,n=E.parents,t=p;if(typeof(p)=="string"){t=function(v){return v.nodeName==p}}for(s=0;s<n.length;s++){if(t(n[s])){return n[s]}}}r.setActive("visualaid",m.hasVisual);y._updateUndoStatus(m);r.setDisabled("outdent",!m.queryCommandState("Outdent"));C=o("A");if(G=r.get("link")){if(!C||!C.name){G.setDisabled(!C&&q);G.setActive(!!C)}}if(G=r.get("unlink")){G.setDisabled(!C&&q);G.setActive(!!C&&!C.name)}if(G=r.get("anchor")){G.setActive(!q&&!!C&&C.name)}C=o("IMG");if(G=r.get("image")){G.setActive(!q&&!!C&&D.className.indexOf("mceItem")==-1)}if(G=r.get("styleselect")){y._importClasses();j=[];f(G.items,function(n){j.push(n.value)});i=m.formatter.matchAll(j);G.select(i[0])}if(G=r.get("formatselect")){C=o(d.isBlock);if(C){G.select(C.nodeName.toLowerCase())}}o(function(p){if(p.nodeName==="SPAN"){if(!w&&p.className){w=p.className}}if(m.dom.is(p,z.theme_advanced_font_selector)){if(!k&&p.style.fontSize){k=p.style.fontSize}if(!u&&p.style.fontFamily){u=p.style.fontFamily.replace(/[\"\']+/g,"").replace(/^([^,]+).*/,"$1").toLowerCase()}if(!B&&p.style.color){B=p.style.color}if(!l&&p.style.backgroundColor){l=p.style.backgroundColor}}return false});if(G=r.get("fontselect")){G.select(function(n){return n.replace(/^([^,]+).*/,"$1").toLowerCase()==u})}if(G=r.get("fontsizeselect")){if(z.theme_advanced_runtime_fontsize&&!k&&!w){k=m.dom.getStyle(D,"fontSize",true)}G.select(function(n){if(n.fontSize&&n.fontSize===k){return true}if(n["class"]&&n["class"]===w){return true}})}if(z.theme_advanced_show_current_color){function A(p,n){if(G=r.get(p)){if(!n){n=G.settings.default_color}if(n!==G.value){G.displayColor(n)}}}A("forecolor",B);A("backcolor",l)}if(z.theme_advanced_show_current_color){function A(p,n){if(G=r.get(p)){if(!n){n=G.settings.default_color}if(n!==G.value){G.displayColor(n)}}}A("forecolor",B);A("backcolor",l)}if(z.theme_advanced_path&&z.theme_advanced_statusbar_location){C=d.get(m.id+"_path")||d.add(m.id+"_path_row","span",{id:m.id+"_path"});if(y.statusKeyboardNavigation){y.statusKeyboardNavigation.destroy();y.statusKeyboardNavigation=null}d.setHTML(C,"");o(function(H){var p=H.nodeName.toLowerCase(),s,v,t="";if(H.getAttribute("data-mce-bogus")){return}if(H.nodeType!=1||H.nodeName==="BR"||(d.hasClass(H,"mceItemHidden")||d.hasClass(H,"mceItemRemoved"))){return}if(e.isIE&&H.scopeName!=="HTML"){p=H.scopeName+":"+p}p=p.replace(/mce\:/g,"");switch(p){case"b":p="strong";break;case"i":p="em";break;case"img":if(x=d.getAttrib(H,"src")){t+="src: "+x+" "}break;case"a":if(x=d.getAttrib(H,"name")){t+="name: "+x+" ";p+="#"+x}if(x=d.getAttrib(H,"href")){t+="href: "+x+" "}break;case"font":if(x=d.getAttrib(H,"face")){t+="font: "+x+" "}if(x=d.getAttrib(H,"size")){t+="size: "+x+" "}if(x=d.getAttrib(H,"color")){t+="color: "+x+" "}break;case"span":if(x=d.getAttrib(H,"style")){t+="style: "+x+" "}break}if(x=d.getAttrib(H,"id")){t+="id: "+x+" "}if(x=H.className){x=x.replace(/\b\s*(webkit|mce|Apple-)\w+\s*\b/g,"");if(x){t+="class: "+x+" ";if(d.isBlock(H)||p=="img"||p=="span"){p+="."+x}}}p=p.replace(/(html:)/g,"");p={name:p,node:H,title:t};y.onResolveName.dispatch(y,p);t=p.title;p=p.name;v=d.create("a",{href:"javascript:;",role:"button",onmousedown:"return false;",title:t,"class":"mcePath_"+(F++)},p);if(C.hasChildNodes()){C.insertBefore(d.create("span",{"aria-hidden":"true"},"\u00a0\u00bb "),C.firstChild);C.insertBefore(v,C.firstChild)}else{C.appendChild(v)}},m.getBody());if(d.select("a",C).length>0){y.statusKeyboardNavigation=new e.ui.KeyboardNavigation({root:m.id+"_path_row",items:d.select("a",C),excludeFromTabOrder:true,onCancel:function(){m.focus()}},d)}}},_sel:function(i){this.editor.execCommand("mceSelectNodeDepth",false,i)},_mceInsertAnchor:function(k,j){var i=this.editor;i.windowManager.open({url:this.url+"/anchor.htm",width:320+parseInt(i.getLang("advanced.anchor_delta_width",0)),height:90+parseInt(i.getLang("advanced.anchor_delta_height",0)),inline:true},{theme_url:this.url})},_mceCharMap:function(){var i=this.editor;i.windowManager.open({url:this.url+"/charmap.htm",width:550+parseInt(i.getLang("advanced.charmap_delta_width",0)),height:250+parseInt(i.getLang("advanced.charmap_delta_height",0)),inline:true},{theme_url:this.url})},_mceHelp:function(){var i=this.editor;i.windowManager.open({url:this.url+"/about.htm",width:480,height:380,inline:true},{theme_url:this.url})},_mceShortcuts:function(){var i=this.editor;i.windowManager.open({url:this.url+"/shortcuts.htm",width:480,height:380,inline:true},{theme_url:this.url})},_mceColorPicker:function(k,j){var i=this.editor;j=j||{};i.windowManager.open({url:this.url+"/color_picker.htm",width:375+parseInt(i.getLang("advanced.colorpicker_delta_width",0)),height:250+parseInt(i.getLang("advanced.colorpicker_delta_height",0)),close_previous:false,inline:true},{input_color:j.color,func:j.func,theme_url:this.url})},_mceCodeEditor:function(j,k){var i=this.editor;i.windowManager.open({url:this.url+"/source_editor.htm",width:parseInt(i.getParam("theme_advanced_source_editor_width",720)),height:parseInt(i.getParam("theme_advanced_source_editor_height",580)),inline:true,resizable:true,maximizable:true},{theme_url:this.url})},_mceImage:function(j,k){var i=this.editor;if(i.dom.getAttrib(i.selection.getNode(),"class").indexOf("mceItem")!=-1){return}i.windowManager.open({url:this.url+"/image.htm",width:355+parseInt(i.getLang("advanced.image_delta_width",0)),height:275+parseInt(i.getLang("advanced.image_delta_height",0)),inline:true},{theme_url:this.url})},_mceLink:function(j,k){var i=this.editor;i.windowManager.open({url:this.url+"/link.htm",width:310+parseInt(i.getLang("advanced.link_delta_width",0)),height:200+parseInt(i.getLang("advanced.link_delta_height",0)),inline:true},{theme_url:this.url})},_mceNewDocument:function(){var i=this.editor;i.windowManager.confirm("advanced.newdocument",function(j){if(j){i.execCommand("mceSetContent",false,"")}})},_mceForeColor:function(){var i=this;this._mceColorPicker(0,{color:i.fgColor,func:function(j){i.fgColor=j;i.editor.execCommand("ForeColor",false,j)}})},_mceBackColor:function(){var i=this;this._mceColorPicker(0,{color:i.bgColor,func:function(j){i.bgColor=j;i.editor.execCommand("HiliteColor",false,j)}})},_ufirst:function(i){return i.substring(0,1).toUpperCase()+i.substring(1)}});e.ThemeManager.add("advanced",e.themes.AdvancedTheme)}(tinymce)); \ No newline at end of file diff --git a/wp-includes/js/tinymce/themes/advanced/image.htm b/wp-includes/js/tinymce/themes/advanced/image.htm index 143f4cf03..8427381c5 100644 --- a/wp-includes/js/tinymce/themes/advanced/image.htm +++ b/wp-includes/js/tinymce/themes/advanced/image.htm @@ -2,10 +2,10 @@ <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>{#advanced_dlg.image_title}</title> - <script type="text/javascript" src="../../tiny_mce_popup.js?ver=3392"></script> - <script type="text/javascript" src="../../utils/mctabs.js?ver=3392"></script> - <script type="text/javascript" src="../../utils/form_utils.js?ver=3392"></script> - <script type="text/javascript" src="js/image.js?ver=3392"></script> + <script type="text/javascript" src="../../tiny_mce_popup.js?ver=342-20110407"></script> + <script type="text/javascript" src="../../utils/mctabs.js?ver=342-20110407"></script> + <script type="text/javascript" src="../../utils/form_utils.js?ver=342-20110407"></script> + <script type="text/javascript" src="js/image.js?ver=342-20110407"></script> </head> <body id="image" style="display: none"> <form onsubmit="ImageDialog.update();return false;" action="#"> @@ -17,61 +17,61 @@ <div class="panel_wrapper"> <div id="general_panel" class="panel current"> - <table border="0" cellpadding="4" cellspacing="0"> - <tr> - <td class="nowrap"><label for="src">{#advanced_dlg.image_src}</label></td> - <td><table border="0" cellspacing="0" cellpadding="0"> - <tr> - <td><input id="src" name="src" type="text" class="mceFocus" value="" style="width: 200px" onchange="ImageDialog.getImageData();" /></td> - <td id="srcbrowsercontainer"> </td> - </tr> - </table></td> - </tr> - <tr> - <td><label for="image_list">{#advanced_dlg.image_list}</label></td> - <td><select id="image_list" name="image_list" onchange="document.getElementById('src').value=this.options[this.selectedIndex].value;document.getElementById('alt').value=this.options[this.selectedIndex].text;"></select></td> - </tr> - <tr> - <td class="nowrap"><label for="alt">{#advanced_dlg.image_alt}</label></td> - <td><input id="alt" name="alt" type="text" value="" style="width: 200px" /></td> - </tr> - <tr> - <td class="nowrap"><label for="align">{#advanced_dlg.image_align}</label></td> - <td><select id="align" name="align" onchange="ImageDialog.updateStyle();"> - <option value="">{#not_set}</option> - <option value="baseline">{#advanced_dlg.image_align_baseline}</option> - <option value="top">{#advanced_dlg.image_align_top}</option> - <option value="middle">{#advanced_dlg.image_align_middle}</option> - <option value="bottom">{#advanced_dlg.image_align_bottom}</option> - <option value="text-top">{#advanced_dlg.image_align_texttop}</option> - <option value="text-bottom">{#advanced_dlg.image_align_textbottom}</option> - <option value="left">{#advanced_dlg.image_align_left}</option> - <option value="right">{#advanced_dlg.image_align_right}</option> - </select></td> - </tr> - <tr> - <td class="nowrap"><label for="width">{#advanced_dlg.image_dimensions}</label></td> - <td><input id="width" name="width" type="text" value="" size="3" maxlength="5" /> - x - <input id="height" name="height" type="text" value="" size="3" maxlength="5" /></td> - </tr> - <tr> - <td class="nowrap"><label for="border">{#advanced_dlg.image_border}</label></td> - <td><input id="border" name="border" type="text" value="" size="3" maxlength="3" onchange="ImageDialog.updateStyle();" /></td> - </tr> - <tr> - <td class="nowrap"><label for="vspace">{#advanced_dlg.image_vspace}</label></td> - <td><input id="vspace" name="vspace" type="text" value="" size="3" maxlength="3" onchange="ImageDialog.updateStyle();" /></td> - </tr> - <tr> - <td class="nowrap"><label for="hspace">{#advanced_dlg.image_hspace}</label></td> - <td><input id="hspace" name="hspace" type="text" value="" size="3" maxlength="3" onchange="ImageDialog.updateStyle();" /></td> - </tr> - <tr> - <td class="nowrap"><label for="class_name">{#class_name}</label></td> - <td><input type="text" id="class_name" name="class_name" style="width: 140px" value="" /></td> - </tr> - </table> + <table border="0" cellpadding="4" cellspacing="0"> + <tr> + <td class="nowrap"><label for="src">{#advanced_dlg.image_src}</label></td> + <td><table border="0" cellspacing="0" cellpadding="0"> + <tr> + <td><input id="src" name="src" type="text" class="mceFocus" value="" style="width: 200px" onchange="ImageDialog.getImageData();" /></td> + <td id="srcbrowsercontainer"> </td> + </tr> + </table></td> + </tr> + <tr> + <td><label for="image_list">{#advanced_dlg.image_list}</label></td> + <td><select id="image_list" name="image_list" onchange="document.getElementById('src').value=this.options[this.selectedIndex].value;document.getElementById('alt').value=this.options[this.selectedIndex].text;"></select></td> + </tr> + <tr> + <td class="nowrap"><label for="alt">{#advanced_dlg.image_alt}</label></td> + <td><input id="alt" name="alt" type="text" value="" style="width: 200px" /></td> + </tr> + <tr> + <td class="nowrap"><label for="align">{#advanced_dlg.image_align}</label></td> + <td><select id="align" name="align" onchange="ImageDialog.updateStyle();"> + <option value="">{#not_set}</option> + <option value="baseline">{#advanced_dlg.image_align_baseline}</option> + <option value="top">{#advanced_dlg.image_align_top}</option> + <option value="middle">{#advanced_dlg.image_align_middle}</option> + <option value="bottom">{#advanced_dlg.image_align_bottom}</option> + <option value="text-top">{#advanced_dlg.image_align_texttop}</option> + <option value="text-bottom">{#advanced_dlg.image_align_textbottom}</option> + <option value="left">{#advanced_dlg.image_align_left}</option> + <option value="right">{#advanced_dlg.image_align_right}</option> + </select></td> + </tr> + <tr> + <td class="nowrap"><label for="width">{#advanced_dlg.image_dimensions}</label></td> + <td><input id="width" name="width" type="text" value="" size="3" maxlength="5" /> + x + <input id="height" name="height" type="text" value="" size="3" maxlength="5" /></td> + </tr> + <tr> + <td class="nowrap"><label for="border">{#advanced_dlg.image_border}</label></td> + <td><input id="border" name="border" type="text" value="" size="3" maxlength="3" onchange="ImageDialog.updateStyle();" /></td> + </tr> + <tr> + <td class="nowrap"><label for="vspace">{#advanced_dlg.image_vspace}</label></td> + <td><input id="vspace" name="vspace" type="text" value="" size="3" maxlength="3" onchange="ImageDialog.updateStyle();" /></td> + </tr> + <tr> + <td class="nowrap"><label for="hspace">{#advanced_dlg.image_hspace}</label></td> + <td><input id="hspace" name="hspace" type="text" value="" size="3" maxlength="3" onchange="ImageDialog.updateStyle();" /></td> + </tr> + <tr> + <td class="nowrap"><label for="class_name">{#class_name}</label></td> + <td><input type="text" id="class_name" name="class_name" style="width: 140px" value="" /></td> + </tr> + </table> </div> </div> diff --git a/wp-includes/js/tinymce/themes/advanced/img/flash.gif b/wp-includes/js/tinymce/themes/advanced/img/flash.gif new file mode 100644 index 0000000000000000000000000000000000000000..cb192e6ceda8d19ad8e7d08dd1cfde0aa72ead2a GIT binary patch literal 241 zcmZ?wbhEHb6k!lyILyhwq~Vp<wdmyen_*d1Z{K}fxBakaO#R*aPn!DY{{8!x-6Cr4 ziVfQjU&^ZO>zciufq_BsCkrD313!Zf0|NsC$P5OSc^^)CuHI{5zv-65S*MJa2PS@j zbNURTST2hkO5}DuzGupXD=iBc7z|FZh&sJ?@KE94YCTwB@KLUn?efe559V!$dzu)E zy4hy+HZJ(X7sIBoO5u*wyIV8k_D^Ot4K3#NOJvFwHfeAUWGze75@FZnE#_)z4CP}N v<&ouL;8jgz;pGuyx76cbvXphs3ZB`%{*!q&NLcW3aA<l+9XNPUkii-N=#^N( literal 0 HcmV?d00001 diff --git a/wp-includes/js/tinymce/themes/advanced/img/iframe.gif b/wp-includes/js/tinymce/themes/advanced/img/iframe.gif new file mode 100644 index 0000000000000000000000000000000000000000..410c7ad084db698e9f35e3230233aa4040682566 GIT binary patch literal 600 zcmZ?wbhEHb6krfwcoxm@|NsB$<##6SeDUYszh8g<{{H*-%a7k_-3KZc-T3+YPwBiX zzyAIE^Y`z!U%$Wp{QdX;|FQ*Fw;jIy{pasbUw?o3{yVB>Q_sR<KmYuB{`zY~^~S1Y zciw#Z@#p{luRnhO{QLLE-@o7g{7Got_4nVux1YbidjG9*@y-0{XY!|=4lZ6<Jm+Fq z+1kX`-QR!z2`*lB@A;>gx-G9iegFLZcfrha#d9w;%sU=Zx~6K$tw~$%z54L|=kMPi zzW$7<+Zs`|;l-P8Ia5xCSFTHL-}~#&pNzi4|Nj5anRMdE??2yv{r>d**Sjx2p1k@T zShzB<XyvExzf(H){rL0e<G0^Mv(CT&{Ok9>f8T!p4k=w-F!5m9+PisEPQ^FxtXgtA zu5tVS|Nj~22o!&^FfuSiGw6Wq1jPvh`__i&rskH`XhCyEDKicMF5>_rbvqNm=rE?4 zvu4i<jb>c1aM2?6=tzbYD_5;_h*o9bbQKbDw^CM-@YG{ajOJiqapdHc74i2lu&`x_ ziWXqtVPz55;bSut4wPoFj^<)uX1yrqCv?q6m_amJ^8xe2OY)X(ylf0M(P|7b{O^NU z7&sedFfBMXO?yR~jljoucbizn8MfSTN}1{!;=L_GplHEKE**WXlphP5xVTiscvi-o KEDBIyum%8JrV$MQ literal 0 HcmV?d00001 diff --git a/wp-includes/js/tinymce/themes/advanced/img/pagebreak.gif b/wp-includes/js/tinymce/themes/advanced/img/pagebreak.gif new file mode 100644 index 0000000000000000000000000000000000000000..acdf4085f3068c4c0a1d6855f4b80dae8bac3068 GIT binary patch literal 325 zcmZ?wbhEHbOkv<**v!xHd)@MXFP{CVFZmwp|L^msU(@^kUOfAI=jI<J89%!l|K7Rz zYtgJfM-P0@i2fGn^#A{V#h)yU3=I4XIt&a93?MTYSU!C?>A8BZ#p|=X|0ihlrATt| zMq0F;WaLn`)DvH_<if49OiaB@iB69>*f`oB94xSqIvkq3AlpW?u~F1<!#bIkmdyuB zoa94~KQ#SNc*L12PdH&AqcCH`!BC4$**v_Zx>fwVoI(c99N9u`OsvdY^1-qWPGanS ze(Ygs=0fbO409Nk3pLO2TgcDu-7FOEw|rTK*UCA(v*%=U+uHZ8lx@l2p3Ki#U0Z)b z=;*0-#;#7`6Bn&mQ=}p*)QazT@WpWRF(<JFF*C9;`*AY)KW15d`J+GE)90VKmU5Uf e$Zxsikl-+<fkXIS@sdoRL+t{}UPlBN8LR;_?toVS literal 0 HcmV?d00001 diff --git a/wp-includes/js/tinymce/themes/advanced/img/quicktime.gif b/wp-includes/js/tinymce/themes/advanced/img/quicktime.gif new file mode 100644 index 0000000000000000000000000000000000000000..3b0499145b16138249f653a1a3f2c80230fb292c GIT binary patch literal 303 zcmZ?wbhEHb6krfwI3mwrzT%DV=1*51eKDK)D)0EmGdDi=Z+Z6Z#~-QLucw{*6fx@s zOZOArX>a7V{YYB&qG-*_J=flpY<{!+=zE@;2ja`VNG*Ny;?0*ApZ@GQ^+vPp{(*a6 zN_KzRaQ4%kXJ2?GJ^BCtzv538Mg|6X1|0?l1_qFw46JJ&sCT(DCLT3h7oTnuy(PD8 z;kuYM1s>Or%&iG5Gj$|*n~WG57>wqgSKREtV6ym-Gee|?-K17_LD5V>pYtvYEb=z- zm9RgElwd3EJ0ZmHqFl;f!CfUU&d4IJ#4pDq$j2kcr_631+{-D%Atx!IBhMz+E6dIt z#w8@Cq{n5=rzK_2z|U{W&uA^jD4`_9D<aBpNL2KIP5f#W-qWWUI5|%<>#)a2Em4x; Jlu=}`1^|+AbnE~C literal 0 HcmV?d00001 diff --git a/wp-includes/js/tinymce/themes/advanced/img/realmedia.gif b/wp-includes/js/tinymce/themes/advanced/img/realmedia.gif new file mode 100644 index 0000000000000000000000000000000000000000..fdfe0b9ac05869ae845fdd828eaad97cc0c69dbc GIT binary patch literal 439 zcmZ?wbhEHbRAmriI3mvw6yUqyz%2%cp6t0tH?CjjU~8?Xttp(m=)nGcecP^@R;)X7 z=FGus&*Wt!ySq9(+P1NT&6+uLW@&L@?aDJM1uGXXT6p#9l`D_mMNHiH<nd!+0p3?1 zzcYAEPD@K;U|{(F|G(l-7DfgJc?KN@1_lO@oeZr1AE@`;7v<?+WaE5jLV-^AZ5PL; z18=MSc-KqjILol|S$8ZF%}@)lIGC&~lFG%~nK3~orbRkEpyNY@()=Uu4E{w}&GlM7 z;iLrvE9W6CLlYiZ7I`5#DQ;;G_IMS(G$}a-j{btQCI&fHK2|wi$?0s;Jl6b%3{p~j zrEGF+f`Ysg@<cb!X5(HhE5Ara!g)1=68Cae28M!lyi!L_PVCR<kYNu|o+QT?wn0{s zg^y3Hzl7ynuau-xmJHYB=GJN@mXrN*LekTv*w~h{OlM``j?PvKIJx10d?zo5mVm+c zzJ^vF4nAFn1jR*yT$X$Z90wXs>|)Sl31gh>z}PM$qhL}n<AWlD8z1wvUXeoyhnTt8 q`BW-4I6Kas>0ln<aY$%Ipt7yFtm!UBrWO|O#e4w^Otd-$7_0$kEtORO literal 0 HcmV?d00001 diff --git a/wp-includes/js/tinymce/themes/advanced/img/shockwave.gif b/wp-includes/js/tinymce/themes/advanced/img/shockwave.gif new file mode 100644 index 0000000000000000000000000000000000000000..5f235dfc7363bd4957b5fe352e16a7eee9a38574 GIT binary patch literal 387 zcmZ?wbhEHb6lD-#xXJ(m|NsC0f6eIsx2r$CzWV#|<mZ>y{?BCizfk(e65U_hg8!ds z`gL{w>jxM99?1E-tMz{x!~b%bUyCz-t*`libk3*Cdw;fA|2VSf<C(4hBN_hBOgqEC z@Lxsczp?REJ-s{T=J#@P?$*`4nm_;Tk|m$EZ25oq@Ux>w|2}{I{@%T3&z{}8ckloI z{~$+@ixq#eFfuS`Gw6T}0Qrf5ZNUN2#tm9h{T|AViXK*zncN<G#&WTVKF{3RY9!Ke zb%DnL39F^&R%WMI@rk&&em;?4rPh~uIL`GT4?Djgzks-`imbA<hPx(fJ~wBxvOwo_ zX*C5^H_b+oCP85V<q8=UX)S4G_k11><wXK&9bGf!lsvTfIE2L(Ybk3gSFhUHH&07Q kOHE5#(^XMRPSIaWQ`6Z)b9Kl)`Q!Kew9Y-c=g43U0OaG5)&Kwi literal 0 HcmV?d00001 diff --git a/wp-includes/js/tinymce/themes/advanced/img/trans.gif b/wp-includes/js/tinymce/themes/advanced/img/trans.gif new file mode 100644 index 0000000000000000000000000000000000000000..388486517fa8da13ebd150e8f65d5096c3e10c3a GIT binary patch literal 43 ocmZ?wbhEHbWMp7un7{x9ia%KxMHm<ubU=KN3<DFB3nPOy0Ck}RAOHXW literal 0 HcmV?d00001 diff --git a/wp-includes/js/tinymce/themes/advanced/img/video.gif b/wp-includes/js/tinymce/themes/advanced/img/video.gif new file mode 100644 index 0000000000000000000000000000000000000000..3570104077a3b3585f11403c8d4c3fc9351f35d2 GIT binary patch literal 597 zcmZ?wbhEHb6krfwc$UTx9v<%P?Ok48Ze?YanwpxCkzrwBk(ZYzB_&l;Q<IsQ8F##3 z&6+hjyS!_6-?m?OIypHx=Cr@-5&wj}H`bh97ZVd>w!gmM(Ep^QBwbzIoSdAh>*2n> zz9l6k0Xw#(?);y5^ls9w|LObxXI*si^YfcEYu3*P8J(S-PEJlaNB-yTd}C^Ax@_69 zzP`Ryt5)S5`=P3;TDk9SbaeFk_3NiTjGA~aFd-pf@}tlxQ>GLb7jM|Gp`oFHlaq7F zk|nvhxjsHV=g+oST3Rl6T(N1>rn0iK*Ed>3MMVn>3vF#}<Kp6$Jg%90KfnCM|DvP+ z<KyEe-;F<iW5)F9(>**q!otE>Sy|^jDoRUBoBANRc=wyaJ<nc0nc3Rf>ged$+}u3x zK}ld>puWET<a=QO0RcuvMvEU*R8>{||NozXdO-0f3nK$V8iNkVNKl+Guy1NeYie$3 zZB}=&Zex!RYq8YfVwgNdMpdFkN|rU!Fha}0m66q>CDxczOhH^pM9qvxw1p`;Rftzu zQJ&9}g>iErlc2ORw;aC_=l*6UJ=st%r*ISVV2jgDT<)w>rX<Tawy@hu>HGL<21Kdo z#<Z}gv#eUPE{L72Mbyr3`_A1O_6G!-4lo?pkaV1FiiAT30~@pViHb_0Wo%3wHXM={ aHZHoY!s6T`pfu63XCY5W0tXihgEasdRMD9L literal 0 HcmV?d00001 diff --git a/wp-includes/js/tinymce/themes/advanced/img/windowsmedia.gif b/wp-includes/js/tinymce/themes/advanced/img/windowsmedia.gif new file mode 100644 index 0000000000000000000000000000000000000000..ab50f2d887a0843b116ef598e5a005e5601d18d0 GIT binary patch literal 415 zcmZ?wbhEHb<Y(Y#xN6Vvvou&tck#uQtep!Ie?%Jm`TN(wz2)cm!%v?*YiaE+*vdHV zvi#b$Yu_B#{<LOx+D!IepDy*S=R0%e%*#{mIzBt4!cYGE^wPVKNnBjKqP+aZ^_yY+ z_tZL`$F&L1nl=0FwL)({=giDZx!kM2z2z!aXqV)L%|8_9U3cOAyU)gHr;i*xaO~dK zrUFGaHntc01f9Y;N}I!rx-=HGi}m-meoeH#cly}nJBKC89)`?$>9OQx{nW#9a&nFJ z`Hv4<w)U?0|Np<@PZmZ7273k_1_lNOke?XX_8gdh;Sqy?(vn6l)f~Bu#ThOiU+|cm z6J$IPtFuB};+y+zt1PMBvrAsYq;VYQc(9=*ghS-immLif48^8m3W}0itQ;z``kajn zQY{MBx{4fXhWa+@GL{@IQ>=wJ<ZYQ|o6Bg6SxfK;v5E;Vle7{wx6m-|U}cpT)-&Ri z5)oCB*4`_yf0?SBy&a>drlz{^bz40hIUaisNk&Ey5nf(BCLK;W4kr#ywuekiMykeg U$xa$PoRWWE@w};HVPvod0K)2^I{*Lx literal 0 HcmV?d00001 diff --git a/wp-includes/js/tinymce/themes/advanced/img/wpicons.png b/wp-includes/js/tinymce/themes/advanced/img/wpicons.png new file mode 100644 index 0000000000000000000000000000000000000000..17c2eee3165e8fb13ecb9078a95a5454a5a9aa18 GIT binary patch literal 21059 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 literal 0 HcmV?d00001 diff --git a/wp-includes/js/tinymce/themes/advanced/js/about.js b/wp-includes/js/tinymce/themes/advanced/js/about.js index 7fc8ba2a3..daf4909ad 100644 --- a/wp-includes/js/tinymce/themes/advanced/js/about.js +++ b/wp-includes/js/tinymce/themes/advanced/js/about.js @@ -66,6 +66,7 @@ function insertHelpIFrame() { html = '<iframe width="100%" height="300" src="' + tinyMCEPopup.editor.baseURI.toAbsolute(tinyMCEPopup.getParam('docs_url')) + '"></iframe>'; document.getElementById('iframecontainer').innerHTML = html; document.getElementById('help_tab').style.display = 'block'; + document.getElementById('help_tab').setAttribute("aria-hidden", "false"); } } diff --git a/wp-includes/js/tinymce/themes/advanced/js/anchor.js b/wp-includes/js/tinymce/themes/advanced/js/anchor.js index d7a854e91..7b556351d 100644 --- a/wp-includes/js/tinymce/themes/advanced/js/anchor.js +++ b/wp-includes/js/tinymce/themes/advanced/js/anchor.js @@ -19,6 +19,11 @@ var AnchorDialog = { update : function() { var ed = this.editor, elm, name = document.forms[0].anchorName.value; + if (!name || !/^[a-z][a-z0-9\-\_:\.]*$/i.test(name)) { + tinyMCEPopup.alert('advanced_dlg.anchor_invalid'); + return; + } + tinyMCEPopup.restoreSelection(); if (this.action != 'update') diff --git a/wp-includes/js/tinymce/themes/advanced/js/charmap.js b/wp-includes/js/tinymce/themes/advanced/js/charmap.js index 53a26836b..78bc080e1 100644 --- a/wp-includes/js/tinymce/themes/advanced/js/charmap.js +++ b/wp-includes/js/tinymce/themes/advanced/js/charmap.js @@ -173,7 +173,7 @@ var charmap = [ ['ý', 'ý', true, 'y - acute'], ['þ', 'þ', true, 'thorn'], ['ÿ', 'ÿ', true, 'y - diaeresis'], - ['Α', 'Α', true, 'Alpha'], + ['Α', 'Α', true, 'Alpha'], ['Β', 'Β', true, 'Beta'], ['Γ', 'Γ', true, 'Gamma'], ['Δ', 'Δ', true, 'Delta'], @@ -258,8 +258,8 @@ var charmap = [ ['⌋', '⌋', false,'right floor'], ['⟨', '〈', false,'left-pointing angle bracket'], ['⟩', '〉', false,'right-pointing angle bracket'], - ['◊', '◊', true,'lozenge'], - ['♠', '♠', false,'black spade suit'], + ['◊', '◊', true, 'lozenge'], + ['♠', '♠', true, 'black spade suit'], ['♣', '♣', true, 'black club suit'], ['♥', '♥', true, 'black heart suit'], ['♦', '♦', true, 'black diamond suit'], @@ -275,19 +275,38 @@ var charmap = [ tinyMCEPopup.onInit.add(function() { tinyMCEPopup.dom.setHTML('charmapView', renderCharMapHTML()); + addKeyboardNavigation(); }); +function addKeyboardNavigation(){ + var tableElm, cells, settings; + + cells = tinyMCEPopup.dom.select(".charmaplink", "charmapgroup"); + + settings ={ + root: "charmapgroup", + items: cells + }; + + tinyMCEPopup.editor.windowManager.createInstance('tinymce.ui.KeyboardNavigation', settings, tinyMCEPopup.dom); +} + function renderCharMapHTML() { var charsPerRow = 20, tdWidth=20, tdHeight=20, i; - var html = '<table border="0" cellspacing="1" cellpadding="0" width="' + (tdWidth*charsPerRow) + '"><tr height="' + tdHeight + '">'; + var html = '<div id="charmapgroup" aria-labelledby="charmap_label" tabindex="0" role="listbox">'+ + '<table role="presentation" border="0" cellspacing="1" cellpadding="0" width="' + (tdWidth*charsPerRow) + + '"><tr height="' + tdHeight + '">'; var cols=-1; for (i=0; i<charmap.length; i++) { + var previewCharFn; + if (charmap[i][2]==true) { cols++; + previewCharFn = 'previewChar(\'' + charmap[i][1].substring(1,charmap[i][1].length) + '\',\'' + charmap[i][0].substring(1,charmap[i][0].length) + '\',\'' + charmap[i][3] + '\');'; html += '' + '<td class="charmap">' - + '<a onmouseover="previewChar(\'' + charmap[i][1].substring(1,charmap[i][1].length) + '\',\'' + charmap[i][0].substring(1,charmap[i][0].length) + '\',\'' + charmap[i][3] + '\');" onfocus="previewChar(\'' + charmap[i][1].substring(1,charmap[i][1].length) + '\',\'' + charmap[i][0].substring(1,charmap[i][0].length) + '\',\'' + charmap[i][3] + '\');" href="javascript:void(0)" onclick="insertChar(\'' + charmap[i][1].substring(2,charmap[i][1].length-1) + '\');" onclick="return false;" onmousedown="return false;" title="' + charmap[i][3] + '">' + + '<a class="charmaplink" role="button" onmouseover="'+previewCharFn+'" onfocus="'+previewCharFn+'" href="javascript:void(0)" onclick="insertChar(\'' + charmap[i][1].substring(2,charmap[i][1].length-1) + '\');" onclick="return false;" onmousedown="return false;" title="' + charmap[i][3] + '">' + charmap[i][1] + '</a></td>'; if ((cols+1) % charsPerRow == 0) @@ -301,7 +320,8 @@ function renderCharMapHTML() { html += '<td width="' + tdWidth + '" height="' + tdHeight + '" class="charmap"> </td>'; } - html += '</tr></table>'; + html += '</tr></table></div>'; + html = html.replace(/<tr height="20"><\/tr>/g, ''); return html; } diff --git a/wp-includes/js/tinymce/themes/advanced/js/color_picker.js b/wp-includes/js/tinymce/themes/advanced/js/color_picker.js index c1a65db2c..cdf8c4c0c 100644 --- a/wp-includes/js/tinymce/themes/advanced/js/color_picker.js +++ b/wp-includes/js/tinymce/themes/advanced/js/color_picker.js @@ -1,6 +1,6 @@ tinyMCEPopup.requireLangPack(); -var detail = 50, strhex = "0123456789abcdef", i, isMouseDown = false, isMouseOver = false; +var detail = 50, strhex = "0123456789ABCDEF", i, isMouseDown = false, isMouseOver = false; var colors = [ "#000000","#000033","#000066","#000099","#0000cc","#0000ff","#330000","#330033", @@ -33,37 +33,41 @@ var colors = [ ]; var named = { - '#F0F8FF':'AliceBlue','#FAEBD7':'AntiqueWhite','#00FFFF':'Aqua','#7FFFD4':'Aquamarine','#F0FFFF':'Azure','#F5F5DC':'Beige', - '#FFE4C4':'Bisque','#000000':'Black','#FFEBCD':'BlanchedAlmond','#0000FF':'Blue','#8A2BE2':'BlueViolet','#A52A2A':'Brown', - '#DEB887':'BurlyWood','#5F9EA0':'CadetBlue','#7FFF00':'Chartreuse','#D2691E':'Chocolate','#FF7F50':'Coral','#6495ED':'CornflowerBlue', - '#FFF8DC':'Cornsilk','#DC143C':'Crimson','#00FFFF':'Cyan','#00008B':'DarkBlue','#008B8B':'DarkCyan','#B8860B':'DarkGoldenRod', - '#A9A9A9':'DarkGray','#A9A9A9':'DarkGrey','#006400':'DarkGreen','#BDB76B':'DarkKhaki','#8B008B':'DarkMagenta','#556B2F':'DarkOliveGreen', - '#FF8C00':'Darkorange','#9932CC':'DarkOrchid','#8B0000':'DarkRed','#E9967A':'DarkSalmon','#8FBC8F':'DarkSeaGreen','#483D8B':'DarkSlateBlue', - '#2F4F4F':'DarkSlateGray','#2F4F4F':'DarkSlateGrey','#00CED1':'DarkTurquoise','#9400D3':'DarkViolet','#FF1493':'DeepPink','#00BFFF':'DeepSkyBlue', - '#696969':'DimGray','#696969':'DimGrey','#1E90FF':'DodgerBlue','#B22222':'FireBrick','#FFFAF0':'FloralWhite','#228B22':'ForestGreen', - '#FF00FF':'Fuchsia','#DCDCDC':'Gainsboro','#F8F8FF':'GhostWhite','#FFD700':'Gold','#DAA520':'GoldenRod','#808080':'Gray','#808080':'Grey', - '#008000':'Green','#ADFF2F':'GreenYellow','#F0FFF0':'HoneyDew','#FF69B4':'HotPink','#CD5C5C':'IndianRed','#4B0082':'Indigo','#FFFFF0':'Ivory', - '#F0E68C':'Khaki','#E6E6FA':'Lavender','#FFF0F5':'LavenderBlush','#7CFC00':'LawnGreen','#FFFACD':'LemonChiffon','#ADD8E6':'LightBlue', - '#F08080':'LightCoral','#E0FFFF':'LightCyan','#FAFAD2':'LightGoldenRodYellow','#D3D3D3':'LightGray','#D3D3D3':'LightGrey','#90EE90':'LightGreen', - '#FFB6C1':'LightPink','#FFA07A':'LightSalmon','#20B2AA':'LightSeaGreen','#87CEFA':'LightSkyBlue','#778899':'LightSlateGray','#778899':'LightSlateGrey', - '#B0C4DE':'LightSteelBlue','#FFFFE0':'LightYellow','#00FF00':'Lime','#32CD32':'LimeGreen','#FAF0E6':'Linen','#FF00FF':'Magenta','#800000':'Maroon', - '#66CDAA':'MediumAquaMarine','#0000CD':'MediumBlue','#BA55D3':'MediumOrchid','#9370D8':'MediumPurple','#3CB371':'MediumSeaGreen','#7B68EE':'MediumSlateBlue', - '#00FA9A':'MediumSpringGreen','#48D1CC':'MediumTurquoise','#C71585':'MediumVioletRed','#191970':'MidnightBlue','#F5FFFA':'MintCream','#FFE4E1':'MistyRose','#FFE4B5':'Moccasin', - '#FFDEAD':'NavajoWhite','#000080':'Navy','#FDF5E6':'OldLace','#808000':'Olive','#6B8E23':'OliveDrab','#FFA500':'Orange','#FF4500':'OrangeRed','#DA70D6':'Orchid', - '#EEE8AA':'PaleGoldenRod','#98FB98':'PaleGreen','#AFEEEE':'PaleTurquoise','#D87093':'PaleVioletRed','#FFEFD5':'PapayaWhip','#FFDAB9':'PeachPuff', - '#CD853F':'Peru','#FFC0CB':'Pink','#DDA0DD':'Plum','#B0E0E6':'PowderBlue','#800080':'Purple','#FF0000':'Red','#BC8F8F':'RosyBrown','#4169E1':'RoyalBlue', - '#8B4513':'SaddleBrown','#FA8072':'Salmon','#F4A460':'SandyBrown','#2E8B57':'SeaGreen','#FFF5EE':'SeaShell','#A0522D':'Sienna','#C0C0C0':'Silver', - '#87CEEB':'SkyBlue','#6A5ACD':'SlateBlue','#708090':'SlateGray','#708090':'SlateGrey','#FFFAFA':'Snow','#00FF7F':'SpringGreen', - '#4682B4':'SteelBlue','#D2B48C':'Tan','#008080':'Teal','#D8BFD8':'Thistle','#FF6347':'Tomato','#40E0D0':'Turquoise','#EE82EE':'Violet', - '#F5DEB3':'Wheat','#FFFFFF':'White','#F5F5F5':'WhiteSmoke','#FFFF00':'Yellow','#9ACD32':'YellowGreen' + '#F0F8FF':'Alice Blue','#FAEBD7':'Antique White','#00FFFF':'Aqua','#7FFFD4':'Aquamarine','#F0FFFF':'Azure','#F5F5DC':'Beige', + '#FFE4C4':'Bisque','#000000':'Black','#FFEBCD':'Blanched Almond','#0000FF':'Blue','#8A2BE2':'Blue Violet','#A52A2A':'Brown', + '#DEB887':'Burly Wood','#5F9EA0':'Cadet Blue','#7FFF00':'Chartreuse','#D2691E':'Chocolate','#FF7F50':'Coral','#6495ED':'Cornflower Blue', + '#FFF8DC':'Cornsilk','#DC143C':'Crimson','#00FFFF':'Cyan','#00008B':'Dark Blue','#008B8B':'Dark Cyan','#B8860B':'Dark Golden Rod', + '#A9A9A9':'Dark Gray','#A9A9A9':'Dark Grey','#006400':'Dark Green','#BDB76B':'Dark Khaki','#8B008B':'Dark Magenta','#556B2F':'Dark Olive Green', + '#FF8C00':'Darkorange','#9932CC':'Dark Orchid','#8B0000':'Dark Red','#E9967A':'Dark Salmon','#8FBC8F':'Dark Sea Green','#483D8B':'Dark Slate Blue', + '#2F4F4F':'Dark Slate Gray','#2F4F4F':'Dark Slate Grey','#00CED1':'Dark Turquoise','#9400D3':'Dark Violet','#FF1493':'Deep Pink','#00BFFF':'Deep Sky Blue', + '#696969':'Dim Gray','#696969':'Dim Grey','#1E90FF':'Dodger Blue','#B22222':'Fire Brick','#FFFAF0':'Floral White','#228B22':'Forest Green', + '#FF00FF':'Fuchsia','#DCDCDC':'Gainsboro','#F8F8FF':'Ghost White','#FFD700':'Gold','#DAA520':'Golden Rod','#808080':'Gray','#808080':'Grey', + '#008000':'Green','#ADFF2F':'Green Yellow','#F0FFF0':'Honey Dew','#FF69B4':'Hot Pink','#CD5C5C':'Indian Red','#4B0082':'Indigo','#FFFFF0':'Ivory', + '#F0E68C':'Khaki','#E6E6FA':'Lavender','#FFF0F5':'Lavender Blush','#7CFC00':'Lawn Green','#FFFACD':'Lemon Chiffon','#ADD8E6':'Light Blue', + '#F08080':'Light Coral','#E0FFFF':'Light Cyan','#FAFAD2':'Light Golden Rod Yellow','#D3D3D3':'Light Gray','#D3D3D3':'Light Grey','#90EE90':'Light Green', + '#FFB6C1':'Light Pink','#FFA07A':'Light Salmon','#20B2AA':'Light Sea Green','#87CEFA':'Light Sky Blue','#778899':'Light Slate Gray','#778899':'Light Slate Grey', + '#B0C4DE':'Light Steel Blue','#FFFFE0':'Light Yellow','#00FF00':'Lime','#32CD32':'Lime Green','#FAF0E6':'Linen','#FF00FF':'Magenta','#800000':'Maroon', + '#66CDAA':'Medium Aqua Marine','#0000CD':'Medium Blue','#BA55D3':'Medium Orchid','#9370D8':'Medium Purple','#3CB371':'Medium Sea Green','#7B68EE':'Medium Slate Blue', + '#00FA9A':'Medium Spring Green','#48D1CC':'Medium Turquoise','#C71585':'Medium Violet Red','#191970':'Midnight Blue','#F5FFFA':'Mint Cream','#FFE4E1':'Misty Rose','#FFE4B5':'Moccasin', + '#FFDEAD':'Navajo White','#000080':'Navy','#FDF5E6':'Old Lace','#808000':'Olive','#6B8E23':'Olive Drab','#FFA500':'Orange','#FF4500':'Orange Red','#DA70D6':'Orchid', + '#EEE8AA':'Pale Golden Rod','#98FB98':'Pale Green','#AFEEEE':'Pale Turquoise','#D87093':'Pale Violet Red','#FFEFD5':'Papaya Whip','#FFDAB9':'Peach Puff', + '#CD853F':'Peru','#FFC0CB':'Pink','#DDA0DD':'Plum','#B0E0E6':'Powder Blue','#800080':'Purple','#FF0000':'Red','#BC8F8F':'Rosy Brown','#4169E1':'Royal Blue', + '#8B4513':'Saddle Brown','#FA8072':'Salmon','#F4A460':'Sandy Brown','#2E8B57':'Sea Green','#FFF5EE':'Sea Shell','#A0522D':'Sienna','#C0C0C0':'Silver', + '#87CEEB':'Sky Blue','#6A5ACD':'Slate Blue','#708090':'Slate Gray','#708090':'Slate Grey','#FFFAFA':'Snow','#00FF7F':'Spring Green', + '#4682B4':'Steel Blue','#D2B48C':'Tan','#008080':'Teal','#D8BFD8':'Thistle','#FF6347':'Tomato','#40E0D0':'Turquoise','#EE82EE':'Violet', + '#F5DEB3':'Wheat','#FFFFFF':'White','#F5F5F5':'White Smoke','#FFFF00':'Yellow','#9ACD32':'Yellow Green' }; +var namedLookup = {}; + function init() { - var inputColor = convertRGBToHex(tinyMCEPopup.getWindowArg('input_color')); + var inputColor = convertRGBToHex(tinyMCEPopup.getWindowArg('input_color')), key, value; tinyMCEPopup.resizeToInnerSize(); generatePicker(); + generateWebColors(); + generateNamedColors(); if (inputColor) { changeFinalColor(inputColor); @@ -73,6 +77,45 @@ function init() { if (col) updateLight(col.r, col.g, col.b); } + + for (key in named) { + value = named[key]; + namedLookup[value.replace(/\s+/, '').toLowerCase()] = key.replace(/#/, '').toLowerCase(); + } +} + +function toHexColor(color) { + var matches, red, green, blue, toInt = parseInt; + + function hex(value) { + value = parseInt(value).toString(16); + + return value.length > 1 ? value : '0' + value; // Padd with leading zero + }; + + color = color.replace(/[\s#]+/g, '').toLowerCase(); + color = namedLookup[color] || color; + matches = /^rgb\((\d{1,3}),(\d{1,3}),(\d{1,3})\)|([a-f0-9]{2})([a-f0-9]{2})([a-f0-9]{2})|([a-f0-9])([a-f0-9])([a-f0-9])$/.exec(color); + + if (matches) { + if (matches[1]) { + red = toInt(matches[1]); + green = toInt(matches[2]); + blue = toInt(matches[3]); + } else if (matches[4]) { + red = toInt(matches[4], 16); + green = toInt(matches[5], 16); + blue = toInt(matches[6], 16); + } else if (matches[7]) { + red = toInt(matches[7] + matches[7], 16); + green = toInt(matches[8] + matches[8], 16); + blue = toInt(matches[9] + matches[9], 16); + } + + return '#' + hex(red) + hex(green) + hex(blue); + } + + return ''; } function insertAction() { @@ -81,7 +124,7 @@ function insertAction() { tinyMCEPopup.restoreSelection(); if (f) - f(color); + f(toHexColor(color)); tinyMCEPopup.close(); } @@ -91,7 +134,7 @@ function showColor(color, name) { document.getElementById("colorname").innerHTML = name; document.getElementById("preview").style.backgroundColor = color; - document.getElementById("color").value = color.toLowerCase(); + document.getElementById("color").value = color.toUpperCase(); } function convertRGBToHex(col) { @@ -153,23 +196,40 @@ function generateWebColors() { if (el.className == 'generated') return; - h += '<table border="0" cellspacing="1" cellpadding="0">' + // TODO: VoiceOver doesn't seem to support legend as a label referenced by labelledby. + h += '<div role="listbox" aria-labelledby="webcolors_title" tabindex="0"><table role="presentation" border="0" cellspacing="1" cellpadding="0">' + '<tr>'; for (i=0; i<colors.length; i++) { h += '<td bgcolor="' + colors[i] + '" width="10" height="10">' - + '<a href="javascript:insertAction();" onfocus="showColor(\'' + colors[i] + '\');" onmouseover="showColor(\'' + colors[i] + '\');" style="display:block;width:10px;height:10px;overflow:hidden;">' - + '</a></td>'; + + '<a href="javascript:insertAction();" role="option" tabindex="-1" aria-labelledby="web_colors_' + i + '" onfocus="showColor(\'' + colors[i] + '\');" onmouseover="showColor(\'' + colors[i] + '\');" style="display:block;width:10px;height:10px;overflow:hidden;">'; + if (tinyMCEPopup.editor.forcedHighContrastMode) { + h += '<canvas class="mceColorSwatch" height="10" width="10" data-color="' + colors[i] + '"></canvas>'; + } + h += '<span class="mceVoiceLabel" style="display:none;" id="web_colors_' + i + '">' + colors[i].toUpperCase() + '</span>'; + h += '</a></td>'; if ((i+1) % 18 == 0) h += '</tr><tr>'; } - h += '</table>'; + h += '</table></div>'; el.innerHTML = h; el.className = 'generated'; + + paintCanvas(el); + enableKeyboardNavigation(el.firstChild); } +function paintCanvas(el) { + tinyMCEPopup.getWin().tinymce.each(tinyMCEPopup.dom.select('canvas.mceColorSwatch', el), function(canvas) { + var context; + if (canvas.getContext && (context = canvas.getContext("2d"))) { + context.fillStyle = canvas.getAttribute('data-color'); + context.fillRect(0, 0, 10, 10); + } + }); +} function generateNamedColors() { var el = document.getElementById('namedcolors'), h = '', n, v, i = 0; @@ -178,11 +238,27 @@ function generateNamedColors() { for (n in named) { v = named[n]; - h += '<a href="javascript:insertAction();" onmouseover="showColor(\'' + n + '\',\'' + v + '\');" style="background-color: ' + n + '"><!-- IE --></a>' + h += '<a href="javascript:insertAction();" role="option" tabindex="-1" aria-labelledby="named_colors_' + i + '" onfocus="showColor(\'' + n + '\',\'' + v + '\');" onmouseover="showColor(\'' + n + '\',\'' + v + '\');" style="background-color: ' + n + '">'; + if (tinyMCEPopup.editor.forcedHighContrastMode) { + h += '<canvas class="mceColorSwatch" height="10" width="10" data-color="' + colors[i] + '"></canvas>'; + } + h += '<span class="mceVoiceLabel" style="display:none;" id="named_colors_' + i + '">' + v + '</span>'; + h += '</a>'; + i++; } el.innerHTML = h; el.className = 'generated'; + + paintCanvas(el); + enableKeyboardNavigation(el); +} + +function enableKeyboardNavigation(el) { + tinyMCEPopup.editor.windowManager.createInstance('tinymce.ui.KeyboardNavigation', { + root: el, + items: tinyMCEPopup.dom.select('a', el) + }, tinyMCEPopup.dom); } function dechex(n) { diff --git a/wp-includes/js/tinymce/themes/advanced/js/image.js b/wp-includes/js/tinymce/themes/advanced/js/image.js index cb288035a..54af100bd 100644 --- a/wp-includes/js/tinymce/themes/advanced/js/image.js +++ b/wp-includes/js/tinymce/themes/advanced/js/image.js @@ -29,7 +29,6 @@ var ImageDialog = { f.width.value = ed.dom.getAttrib(e, 'width'); f.height.value = ed.dom.getAttrib(e, 'height'); f.insert.value = ed.getLang('update'); - f.class_name.value = ed.dom.getAttrib(e, 'class'); this.styleVal = ed.dom.getAttrib(e, 'style'); selectByValue(f, 'image_list', f.src.value); selectByValue(f, 'align', this.getAttrib(e, 'align')); @@ -78,7 +77,7 @@ var ImageDialog = { args.style = this.styleVal; tinymce.extend(args, { - src : f.src.value, + src : f.src.value.replace(/ /g, '%20'), alt : f.alt.value, width : f.width.value, height : f.height.value, @@ -89,6 +88,8 @@ var ImageDialog = { if (el && el.nodeName == 'IMG') { ed.dom.setAttribs(el, args); + tinyMCEPopup.editor.execCommand('mceRepaint'); + tinyMCEPopup.editor.focus(); } else { ed.execCommand('mceInsertContent', false, '<img id="__mce_tmp" />', {skip_undo : 1}); ed.dom.setAttribs('__mce_tmp', args); diff --git a/wp-includes/js/tinymce/themes/advanced/js/link.js b/wp-includes/js/tinymce/themes/advanced/js/link.js index 73b9f597e..e67d868a2 100644 --- a/wp-includes/js/tinymce/themes/advanced/js/link.js +++ b/wp-includes/js/tinymce/themes/advanced/js/link.js @@ -31,7 +31,7 @@ var LinkDialog = { }, update : function() { - var f = document.forms[0], ed = tinyMCEPopup.editor, e, b; + var f = document.forms[0], ed = tinyMCEPopup.editor, e, b, href = f.href.value.replace(/ /g, '%20'); tinyMCEPopup.restoreSelection(); e = ed.dom.getParent(ed.selection.getNode(), 'A'); @@ -39,7 +39,6 @@ var LinkDialog = { // Remove element if there is no href if (!f.href.value) { if (e) { - tinyMCEPopup.execCommand("mceBeginUndoLevel"); b = ed.selection.getBookmark(); ed.dom.remove(e, 1); ed.selection.moveToBookmark(b); @@ -49,19 +48,17 @@ var LinkDialog = { } } - tinyMCEPopup.execCommand("mceBeginUndoLevel"); - // Create new anchor elements if (e == null) { ed.getDoc().execCommand("unlink", false, null); - tinyMCEPopup.execCommand("CreateLink", false, "#mce_temp_url#", {skip_undo : 1}); + tinyMCEPopup.execCommand("mceInsertLink", false, "#mce_temp_url#", {skip_undo : 1}); tinymce.each(ed.dom.select("a"), function(n) { if (ed.dom.getAttrib(n, 'href') == '#mce_temp_url#') { e = n; ed.dom.setAttribs(e, { - href : f.href.value, + href : href, title : f.linktitle.value, target : f.target_list ? getSelectValue(f, "target_list") : null, 'class' : f.class_list ? getSelectValue(f, "class_list") : null @@ -70,7 +67,7 @@ var LinkDialog = { }); } else { ed.dom.setAttribs(e, { - href : f.href.value, + href : href, title : f.linktitle.value, target : f.target_list ? getSelectValue(f, "target_list") : null, 'class' : f.class_list ? getSelectValue(f, "class_list") : null diff --git a/wp-includes/js/tinymce/themes/advanced/js/source_editor.js b/wp-includes/js/tinymce/themes/advanced/js/source_editor.js index 4f61d1c70..9cf6b1a29 100644 --- a/wp-includes/js/tinymce/themes/advanced/js/source_editor.js +++ b/wp-includes/js/tinymce/themes/advanced/js/source_editor.js @@ -50,7 +50,7 @@ function resizeInputs() { el = document.getElementById('htmlSource'); if (el) { - el.style.width = (vp.w - 20) + 'px'; + el.style.width = (vp.w - 20) + 'px'; el.style.height = (vp.h - 65) + 'px'; } } diff --git a/wp-includes/js/tinymce/themes/advanced/link.htm b/wp-includes/js/tinymce/themes/advanced/link.htm index e0eb4ba39..7c34b6d36 100644 --- a/wp-includes/js/tinymce/themes/advanced/link.htm +++ b/wp-includes/js/tinymce/themes/advanced/link.htm @@ -2,11 +2,11 @@ <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>{#advanced_dlg.link_title}</title> - <script type="text/javascript" src="../../tiny_mce_popup.js?ver=3392"></script> - <script type="text/javascript" src="../../utils/mctabs.js?ver=3392"></script> - <script type="text/javascript" src="../../utils/form_utils.js?ver=3392"></script> - <script type="text/javascript" src="../../utils/validate.js?ver=3392"></script> - <script type="text/javascript" src="js/link.js?ver=3392"></script> + <script type="text/javascript" src="../../tiny_mce_popup.js?ver=342-20110407"></script> + <script type="text/javascript" src="../../utils/mctabs.js?ver=342-20110407"></script> + <script type="text/javascript" src="../../utils/form_utils.js?ver=342-20110407"></script> + <script type="text/javascript" src="../../utils/validate.js?ver=342-20110407"></script> + <script type="text/javascript" src="js/link.js?ver=342-20110407"></script> </head> <body id="link" style="display: none"> <form onsubmit="LinkDialog.update();return false;" action="#"> @@ -18,34 +18,33 @@ <div class="panel_wrapper"> <div id="general_panel" class="panel current"> - - <table border="0" cellpadding="4" cellspacing="0"> - <tr> - <td class="nowrap"><label for="href">{#advanced_dlg.link_url}</label></td> - <td><table border="0" cellspacing="0" cellpadding="0"> - <tr> - <td><input id="href" name="href" type="text" class="mceFocus" value="http://" style="width: 200px" onfocus="try{this.select();}catch(e){}" /></td> - <td id="hrefbrowsercontainer"> </td> - </tr> - </table></td> - </tr> - <tr> - <td><label for="link_list">{#advanced_dlg.link_list}</label></td> - <td><select id="link_list" name="link_list" onchange="document.getElementById('href').value=this.options[this.selectedIndex].value;"></select></td> - </tr> - <tr> - <td><label id="targetlistlabel" for="targetlist">{#advanced_dlg.link_target}</label></td> - <td><select id="target_list" name="target_list"></select></td> - </tr> - <tr> - <td class="nowrap"><label for="linktitle">{#advanced_dlg.link_titlefield}</label></td> - <td><input id="linktitle" name="linktitle" type="text" value="" style="width: 200px" /></td> - </tr> - <tr> - <td><label for="class_list">{#class_name}</label></td> - <td><select id="class_list" name="class_list"></select></td> - </tr> - </table> + <table border="0" cellpadding="4" cellspacing="0"> + <tr> + <td class="nowrap"><label for="href">{#advanced_dlg.link_url}</label></td> + <td><table border="0" cellspacing="0" cellpadding="0"> + <tr> + <td><input id="href" name="href" type="text" class="mceFocus" value="" style="width: 200px" onchange="LinkDialog.checkPrefix(this);" /></td> + <td id="hrefbrowsercontainer"> </td> + </tr> + </table></td> + </tr> + <tr> + <td><label for="link_list">{#advanced_dlg.link_list}</label></td> + <td><select id="link_list" name="link_list" onchange="document.getElementById('href').value=this.options[this.selectedIndex].value;"></select></td> + </tr> + <tr> + <td><label id="targetlistlabel" for="targetlist">{#advanced_dlg.link_target}</label></td> + <td><select id="target_list" name="target_list"></select></td> + </tr> + <tr> + <td class="nowrap"><label for="linktitle">{#advanced_dlg.link_titlefield}</label></td> + <td><input id="linktitle" name="linktitle" type="text" value="" style="width: 200px" /></td> + </tr> + <tr> + <td><label for="class_list">{#class_name}</label></td> + <td><select id="class_list" name="class_list"></select></td> + </tr> + </table> </div> </div> diff --git a/wp-includes/js/tinymce/themes/advanced/shortcuts.htm b/wp-includes/js/tinymce/themes/advanced/shortcuts.htm new file mode 100644 index 000000000..16a150208 --- /dev/null +++ b/wp-includes/js/tinymce/themes/advanced/shortcuts.htm @@ -0,0 +1,47 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> + <head> + <title>{#advanced_dlg.accessibility_help}</title> + <script type="text/javascript" src="../../tiny_mce_popup.js?ver=342-20110407"></script> + <script type="text/javascript">tinyMCEPopup.requireLangPack();</script> + </head> + <body id="content"> + <h1>{#advanced_dlg.accessibility_usage_title}</h1> + <h2>Toolbars</h2> + <p>Press ALT-F10 to move focus to the toolbars. Navigate through the buttons using the arrow keys. + Press enter to activate a button and return focus to the editor. + Press escape to return focus to the editor without performing any actions.</p> + + <h2>Status Bar</h2> + <p>To access the editor status bar, press ALT-F11. Use the left and right arrow keys to navigate between elements in the path. + Press enter or space to select an element. Press escape to return focus to the editor without changing the selection.</p> + + <h2>Context Menu</h2> + <p>Press shift-F10 to activate the context menu. Use the up and down arrow keys to move between menu items. To open sub-menus press the right arrow key. + To close submenus press the left arrow key. Press escape to close the context menu.</p> + + <h1>Keyboard Shortcuts</h1> + <table> + <thead> + <tr> + <th>Keystroke</th> + <th>Function</th> + </tr> + </thead> + <tbody> + <tr> + <td>Control-B</td><td>Bold</td> + </tr> + <tr> + <td>Control-I</td><td>Italic</td> + </tr> + <tr> + <td>Control-Z</td><td>Undo</td> + </tr> + <tr> + <td>Control-Y</td><td>Redo</td> + </tr> + </tbody> + </table> + </body> +</html> diff --git a/wp-includes/js/tinymce/themes/advanced/skins/default/content.css b/wp-includes/js/tinymce/themes/advanced/skins/default/content.css index dd8fb95e7..842d52d4e 100644 --- a/wp-includes/js/tinymce/themes/advanced/skins/default/content.css +++ b/wp-includes/js/tinymce/themes/advanced/skins/default/content.css @@ -1,6 +1,7 @@ body, td, pre {color:#000; font-family:Verdana, Arial, Helvetica, sans-serif; font-size:10px; margin:8px;} body {background:#FFF;} body.mceForceColors {background:#FFF; color:#000;} +body.mceBrowserDefaults {background:transparent; color:inherit; font-size:inherit; font-family:inherit;} h1 {font-size: 2em} h2 {font-size: 1.5em} h3 {font-size: 1.17em} @@ -34,3 +35,13 @@ scrollbar-track-color:#F5F5F5; img:-moz-broken {-moz-force-broken-image-icon:1; width:24px; height:24px} font[face=mceinline] {font-family:inherit !important} + +.mceItemMedia {border:1px dotted #cc0000; background-position:center; background-repeat:no-repeat; background-color:#ffffcc} +.mceItemShockWave {background-image:url(../../img/shockwave.gif)} +.mceItemFlash {background-image:url(../../img/flash.gif)} +.mceItemQuickTime {background-image:url(../../img/quicktime.gif)} +.mceItemWindowsMedia {background-image:url(../../img/windowsmedia.gif)} +.mceItemRealMedia {background-image:url(../../img/realmedia.gif)} +.mceItemVideo {background-image:url(../../img/video.gif)} +.mceItemIframe {background-image:url(../../img/iframe.gif)} +.mcePageBreak {display:block;border:0;width:100%;height:12px;border-top:1px dotted #ccc;margin-top:15px;background:#fff url(../../img/pagebreak.gif) no-repeat center top;} diff --git a/wp-includes/js/tinymce/themes/advanced/skins/default/ui.css b/wp-includes/js/tinymce/themes/advanced/skins/default/ui.css index 7f6cf5fdb..e14d36fa2 100644 --- a/wp-includes/js/tinymce/themes/advanced/skins/default/ui.css +++ b/wp-includes/js/tinymce/themes/advanced/skins/default/ui.css @@ -4,8 +4,8 @@ .defaultSkin table td {vertical-align:middle} /* Containers */ -.defaultSkin table {direction:ltr; background:#F0F0EE} -.defaultSkin iframe {display:block; background:#FFF} +.defaultSkin table {direction:ltr;background:transparent} +.defaultSkin iframe {display:block;} .defaultSkin .mceToolbar {height:26px} .defaultSkin .mceLeft {text-align:left} .defaultSkin .mceRight {text-align:right} @@ -20,9 +20,9 @@ .defaultSkin table.mceLayout tr.mceFirst td {border-top:1px solid #CCC} .defaultSkin table.mceLayout tr.mceLast td {border-bottom:1px solid #CCC} .defaultSkin table.mceToolbar, .defaultSkin tr.mceFirst .mceToolbar tr td, .defaultSkin tr.mceLast .mceToolbar tr td {border:0; margin:0; padding:0;} -.defaultSkin td.mceToolbar {padding-top:1px; vertical-align:top} +.defaultSkin td.mceToolbar {background:#F0F0EE; padding-top:1px; vertical-align:top} .defaultSkin .mceIframeContainer {border-top:1px solid #CCC; border-bottom:1px solid #CCC} -.defaultSkin .mceStatusbar {font-family:'MS Sans Serif',sans-serif,Verdana,Arial; font-size:9pt; line-height:16px; overflow:visible; color:#000; display:block; height:20px} +.defaultSkin .mceStatusbar {background:#F0F0EE; font-family:'MS Sans Serif',sans-serif,Verdana,Arial; font-size:9pt; line-height:16px; overflow:visible; color:#000; display:block; height:20px} .defaultSkin .mceStatusbar div {float:left; margin:2px} .defaultSkin .mceStatusbar a.mceResize {display:block; float:right; background:url(../../img/icons.gif) -800px 0; width:20px; height:20px; cursor:se-resize; outline:0} .defaultSkin .mceStatusbar a:hover {text-decoration:underline} diff --git a/wp-includes/js/tinymce/themes/advanced/skins/highcontrast/content.css b/wp-includes/js/tinymce/themes/advanced/skins/highcontrast/content.css new file mode 100644 index 000000000..75cfaf180 --- /dev/null +++ b/wp-includes/js/tinymce/themes/advanced/skins/highcontrast/content.css @@ -0,0 +1,23 @@ +body, td, pre { margin:8px;} +body.mceForceColors {background:#FFF; color:#000;} +h1 {font-size: 2em} +h2 {font-size: 1.5em} +h3 {font-size: 1.17em} +h4 {font-size: 1em} +h5 {font-size: .83em} +h6 {font-size: .75em} +.mceItemTable, .mceItemTable td, .mceItemTable th, .mceItemTable caption, .mceItemVisualAid {border: 1px dashed #BBB;} +a.mceItemAnchor {display:inline-block; width:11px !important; height:11px !important; background:url(../default/img/items.gif) no-repeat 0 0;} +span.mceItemNbsp {background: #DDD} +td.mceSelected, th.mceSelected {background-color:#3399ff !important} +img {border:0;} +table {cursor:default} +table td, table th {cursor:text} +ins {border-bottom:1px solid green; text-decoration: none; color:green} +del {color:red; text-decoration:line-through} +cite {border-bottom:1px dashed blue} +acronym {border-bottom:1px dotted #CCC; cursor:help} +abbr {border-bottom:1px dashed #CCC; cursor:help} + +img:-moz-broken {-moz-force-broken-image-icon:1; width:24px; height:24px} +font[face=mceinline] {font-family:inherit !important} diff --git a/wp-includes/js/tinymce/themes/advanced/skins/highcontrast/dialog.css b/wp-includes/js/tinymce/themes/advanced/skins/highcontrast/dialog.css new file mode 100644 index 000000000..dafcd2805 --- /dev/null +++ b/wp-includes/js/tinymce/themes/advanced/skins/highcontrast/dialog.css @@ -0,0 +1,105 @@ +/* Generic */ +body { +font-family:Verdana, Arial, Helvetica, sans-serif; font-size:11px; +background:#F0F0EE; +color: black; +padding:0; +margin:8px 8px 0 8px; +} + +html {background:#F0F0EE; color:#000;} +td {font-family:Verdana, Arial, Helvetica, sans-serif; font-size:10px;} +textarea {resize:none;outline:none;} +a:link, a:visited {color:black;background-color:transparent;} +a:hover {color:#2B6FB6;background-color:transparent;} +.nowrap {white-space: nowrap} + +/* Forms */ +fieldset {margin:0; padding:4px; border:1px solid #919B9C; font-family:Verdana, Arial; font-size:10px;} +legend {color:#2B6FB6; font-weight:bold;} +label.msg {display:none;} +label.invalid {color:#EE0000; display:inline;background-color:transparent;} +input.invalid {border:1px solid #EE0000;background-color:transparent;} +input {background:#FFF; border:1px solid #CCC;color:black;} +input, select, textarea {font-family:Verdana, Arial, Helvetica, sans-serif; font-size:10px;} +input, select, textarea {border:1px solid #808080;} +input.radio {border:1px none #000000; background:transparent; vertical-align:middle;} +input.checkbox {border:1px none #000000; background:transparent; vertical-align:middle;} +.input_noborder {border:0;} + +/* Buttons */ +#insert, #cancel, input.button, .updateButton { +font-weight:bold; +width:94px; height:23px; +cursor:pointer; +padding-bottom:2px; +float:left; +} + +#cancel {float:right} + +/* Browse */ +a.pickcolor, a.browse {text-decoration:none} +a.browse span {display:block; width:20px; height:18px; background:url(../../img/icons.gif) -860px 0; border:1px solid #FFF; margin-left:1px;} +.mceOldBoxModel a.browse span {width:22px; height:20px;} +a.browse:hover span {border:1px solid #0A246A; background-color:#B2BBD0;} +a.browse span.disabled {border:1px solid white; opacity:0.3; -ms-filter:'alpha(opacity=30)'; filter:alpha(opacity=30)} +a.browse:hover span.disabled {border:1px solid white; background-color:transparent;} +a.pickcolor span {display:block; width:20px; height:16px; background:url(../../img/icons.gif) -840px 0; margin-left:2px;} +.mceOldBoxModel a.pickcolor span {width:21px; height:17px;} +a.pickcolor:hover span {background-color:#B2BBD0;} +a.pickcolor:hover span.disabled {} + +/* Charmap */ +table.charmap {border:1px solid #AAA; text-align:center} +td.charmap, #charmap a {width:18px; height:18px; color:#000; border:1px solid #AAA; text-align:center; font-size:12px; vertical-align:middle; line-height: 18px;} +#charmap a {display:block; color:#000; text-decoration:none; border:0} +#charmap a:hover {background:#CCC;color:#2B6FB6} +#charmap #codeN {font-size:10px; font-family:Arial,Helvetica,sans-serif; text-align:center} +#charmap #codeV {font-size:40px; height:80px; border:1px solid #AAA; text-align:center} + +/* Source */ +.wordWrapCode {vertical-align:middle; border:1px none #000000; background:transparent;} +.mceActionPanel {margin-top:5px;} + +/* Tabs classes */ +.tabs {width:100%; height:18px; line-height:normal;} +.tabs ul {margin:0; padding:0; list-style:none;} +.tabs li {float:left; border: 1px solid black; border-bottom:0; margin:0 2px 0 0; padding:0 0 0 10px; line-height:17px; height:18px; display:block; cursor:pointer;} +.tabs li.current {font-weight: bold; margin-right:2px;} +.tabs span {float:left; display:block; padding:0px 10px 0 0;} +.tabs a {text-decoration:none; font-family:Verdana, Arial; font-size:10px;} +.tabs a:link, .tabs a:visited, .tabs a:hover {color:black;} + +/* Panels */ +.panel_wrapper div.panel {display:none;} +.panel_wrapper div.current {display:block; width:100%; height:300px; overflow:visible;} +.panel_wrapper {border:1px solid #919B9C; padding:10px; padding-top:5px; clear:both; background:white;} + +/* Columns */ +.column {float:left;} +.properties {width:100%;} +.properties .column1 {} +.properties .column2 {text-align:left;} + +/* Titles */ +h1, h2, h3, h4 {color:#2B6FB6; margin:0; padding:0; padding-top:5px;} +h3 {font-size:14px;} +.title {font-size:12px; font-weight:bold; color:#2B6FB6;} + +/* Dialog specific */ +#link .panel_wrapper, #link div.current {height:125px;} +#image .panel_wrapper, #image div.current {height:200px;} +#plugintable thead {font-weight:bold; background:#DDD;} +#plugintable, #about #plugintable td {border:1px solid #919B9C;} +#plugintable {width:96%; margin-top:10px;} +#pluginscontainer {height:290px; overflow:auto;} +#colorpicker #preview {float:right; width:50px; height:14px;line-height:1px; border:1px solid black; margin-left:5px;} +#colorpicker #colors {float:left; border:1px solid gray; cursor:crosshair;} +#colorpicker #light {border:1px solid gray; margin-left:5px; float:left;width:15px; height:150px; cursor:crosshair;} +#colorpicker #light div {overflow:hidden;} +#colorpicker #previewblock {float:right; padding-left:10px; height:20px;} +#colorpicker .panel_wrapper div.current {height:175px;} +#colorpicker #namedcolors {width:150px;} +#colorpicker #namedcolors a {display:block; float:left; width:10px; height:10px; margin:1px 1px 0 0; overflow:hidden;} +#colorpicker #colornamecontainer {margin-top:5px;} diff --git a/wp-includes/js/tinymce/themes/advanced/skins/highcontrast/ui.css b/wp-includes/js/tinymce/themes/advanced/skins/highcontrast/ui.css new file mode 100644 index 000000000..a550c8f62 --- /dev/null +++ b/wp-includes/js/tinymce/themes/advanced/skins/highcontrast/ui.css @@ -0,0 +1,101 @@ +/* Reset */ +.highcontrastSkin table, .highcontrastSkin tbody, .highcontrastSkin a, .highcontrastSkin img, .highcontrastSkin tr, .highcontrastSkin div, .highcontrastSkin td, .highcontrastSkin iframe, .highcontrastSkin span, .highcontrastSkin *, .highcontrastSkin .mceText {border:0; margin:0; padding:0; vertical-align:baseline; border-collapse:separate;} +.highcontrastSkin a:hover, .highcontrastSkin a:link, .highcontrastSkin a:visited, .highcontrastSkin a:active {text-decoration:none; font-weight:normal; cursor:default;} +.highcontrastSkin table td {vertical-align:middle} + +.highcontrastSkin .mceIconOnly {display: block !important;} + +/* External */ +.highcontrastSkin .mceExternalToolbar {position:absolute; border:1px solid; border-bottom:0; display:none; background-color: white;} +.highcontrastSkin .mceExternalToolbar td.mceToolbar {padding-right:13px;} +.highcontrastSkin .mceExternalClose {position:absolute; top:3px; right:3px; width:7px; height:7px;} + +/* Layout */ +.highcontrastSkin table.mceLayout {border: 1px solid;} +.highcontrastSkin .mceIframeContainer {border-top:1px solid; border-bottom:1px solid} +.highcontrastSkin .mceStatusbar a:hover {text-decoration:underline} +.highcontrastSkin .mceStatusbar {display:block; line-height:1.5em; overflow:visible;} +.highcontrastSkin .mceStatusbar div {float:left} +.highcontrastSkin .mceStatusbar a.mceResize {display:block; float:right; width:20px; height:20px; cursor:se-resize; outline:0} + +.highcontrastSkin .mceToolbar td { display: inline-block; float: left;} +.highcontrastSkin .mceToolbar tr { display: block;} +.highcontrastSkin .mceToolbar table { display: block; } + +/* Button */ + +.highcontrastSkin .mceButton { display:block; margin: 2px; padding: 5px 10px;border: 1px solid; border-radius: 3px; -moz-border-radius: 3px; -webkit-border-radius: 3px; -ms-border-radius: 3px; height: 2em;} +.highcontrastSkin .mceButton .mceVoiceLabel { height: 100%; vertical-align: center; line-height: 2em} +.highcontrastSkin .mceButtonDisabled .mceVoiceLabel { opacity:0.6; -ms-filter:'alpha(opacity=60)'; filter:alpha(opacity=60);} +.highcontrastSkin .mceButtonActive, .highcontrastSkin .mceButton:focus, .highcontrastSkin .mceButton:active { border: 5px solid; padding: 1px 6px;-webkit-focus-ring-color:none;outline:none;} + +/* Separator */ +.highcontrastSkin .mceSeparator {display:block; width:16px; height:26px;} + +/* ListBox */ +.highcontrastSkin .mceListBox { display: block; margin:2px;-webkit-focus-ring-color:none;outline:none;} +.highcontrastSkin .mceListBox .mceText {padding: 5px 6px; line-height: 2em; width: 15ex; overflow: hidden;} +.highcontrastSkin .mceListBoxDisabled .mceText { opacity:0.6; -ms-filter:'alpha(opacity=60)'; filter:alpha(opacity=60);} +.highcontrastSkin .mceListBox a.mceText { padding: 5px 10px; display: block; height: 2em; line-height: 2em; border: 1px solid; border-right: 0; border-radius: 3px 0px 0px 3px; -moz-border-radius: 3px 0px 0px 3px; -webkit-border-radius: 3px 0px 0px 3px; -ms-border-radius: 3px 0px 0px 3px;} +.highcontrastSkin .mceListBox a.mceOpen { padding: 5px 4px; display: block; height: 2em; line-height: 2em; border: 1px solid; border-left: 0; border-radius: 0px 3px 3px 0px; -moz-border-radius: 0px 3px 3px 0px; -webkit-border-radius: 0px 3px 3px 0px; -ms-border-radius: 0px 3px 3px 0px;} +.highcontrastSkin .mceListBox:focus a.mceText, .highcontrastSkin .mceListBox:active a.mceText { border-width: 5px; padding: 1px 10px 1px 6px;} +.highcontrastSkin .mceListBox:focus a.mceOpen, .highcontrastSkin .mceListBox:active a.mceOpen { border-width: 5px; padding: 1px 0px 1px 4px;} + +.highcontrastSkin .mceListBoxMenu {overflow-y:auto} + +/* SplitButton */ +.highcontrastSkin .mceSplitButtonDisabled .mceAction {opacity:0.3; -ms-filter:'alpha(opacity=30)'; filter:alpha(opacity=30)} + +.highcontrastSkin .mceSplitButton { border-collapse: collapse; margin: 2px; height: 2em; line-height: 2em;-webkit-focus-ring-color:none;outline:none;} +.highcontrastSkin .mceSplitButton td { display: table-cell; float: none; margin: 0; padding: 0; height: 2em;} +.highcontrastSkin .mceSplitButton tr { display: table-row; } +.highcontrastSkin table.mceSplitButton { display: table; } +.highcontrastSkin .mceSplitButton a.mceAction { padding: 5px 10px; display: block; height: 2em; line-height: 2em; overflow: hidden; border: 1px solid; border-right: 0; border-radius: 3px 0px 0px 3px; -moz-border-radius: 3px 0px 0px 3px; -webkit-border-radius: 3px 0px 0px 3px; -ms-border-radius: 3px 0px 0px 3px;} +.highcontrastSkin .mceSplitButton a.mceOpen { padding: 5px 4px; display: block; height: 2em; line-height: 2em; border: 1px solid; border-radius: 0px 3px 3px 0px; -moz-border-radius: 0px 3px 3px 0px; -webkit-border-radius: 0px 3px 3px 0px; -ms-border-radius: 0px 3px 3px 0px;} +.highcontrastSkin .mceSplitButton .mceVoiceLabel { height: 2em; vertical-align: center; line-height: 2em; } +.highcontrastSkin .mceSplitButton:focus a.mceAction, .highcontrastSkin .mceSplitButton:active a.mceAction { border-width: 5px; border-right-width: 1px; padding: 1px 10px 1px 6px;-webkit-focus-ring-color:none;outline:none;} +.highcontrastSkin .mceSplitButton:focus a.mceOpen, .highcontrastSkin .mceSplitButton:active a.mceOpen { border-width: 5px; border-left-width: 1px; padding: 1px 0px 1px 4px;-webkit-focus-ring-color:none;outline:none;} + +/* Menu */ +.highcontrastSkin .mceNoIcons span.mceIcon {width:0;} +.highcontrastSkin .mceMenu {position:absolute; left:0; top:0; z-index:1000; border:1px solid; } +.highcontrastSkin .mceMenu table {background:white; color: black} +.highcontrastSkin .mceNoIcons a .mceText {padding-left:10px} +.highcontrastSkin .mceMenu a, .highcontrastSkin .mceMenu span, .highcontrastSkin .mceMenu {display:block;background:white; color: black} +.highcontrastSkin .mceMenu td {height:2em} +.highcontrastSkin .mceMenu a {position:relative;padding:3px 0 4px 0; display: block;} +.highcontrastSkin .mceMenu .mceText {position:relative; display:block; cursor:default; margin:0; padding:0 25px 0 25px;} +.highcontrastSkin .mceMenu pre.mceText {font-family:Monospace} +.highcontrastSkin .mceMenu .mceIcon {position:absolute; top:0; left:0; width:26px;} +.highcontrastSkin td.mceMenuItemSeparator {border-top:1px solid; height:1px} +.highcontrastSkin .mceMenuItemTitle a {border:0; border-bottom:1px solid} +.highcontrastSkin .mceMenuItemTitle span.mceText {font-weight:bold; padding-left:4px} +.highcontrastSkin .mceNoIcons .mceMenuItemSelected span.mceText:before {content: "\2713\A0";} +.highcontrastSkin .mceMenu span.mceMenuLine {display:none} +.highcontrastSkin .mceMenuItemSub a .mceText:after {content: "\A0\25B8"} + +/* ColorSplitButton */ +.highcontrastSkin div.mceColorSplitMenu table {background:#FFF; border:1px solid; color: #000} +.highcontrastSkin .mceColorSplitMenu td {padding:2px} +.highcontrastSkin .mceColorSplitMenu a {display:block; width:16px; height:16px; overflow:hidden; color:#000; margin: 0; padding: 0;} +.highcontrastSkin .mceColorSplitMenu td.mceMoreColors {padding:1px 3px 1px 1px} +.highcontrastSkin .mceColorSplitMenu a.mceMoreColors {width:100%; height:auto; text-align:center; font-family:Tahoma,Verdana,Arial,Helvetica; font-size:11px; line-height:20px; border:1px solid #FFF} +.highcontrastSkin .mceColorSplitMenu a.mceMoreColors:hover {border:1px solid; background-color:#B6BDD2} +.highcontrastSkin a.mceMoreColors:hover {border:1px solid #0A246A; color: #000;} +.highcontrastSkin .mceColorPreview {display:none;} +.highcontrastSkin .mce_forecolor span.mceAction, .highcontrastSkin .mce_backcolor span.mceAction {height:17px;overflow:hidden} + +/* Progress,Resize */ +.highcontrastSkin .mceBlocker {position:absolute; left:0; top:0; z-index:1000; opacity:0.5; -ms-filter:'alpha(opacity=30)'; filter:alpha(opacity=50); background:#FFF} +.highcontrastSkin .mceProgress {position:absolute; left:0; top:0; z-index:1001; background:url(../default/img/progress.gif) no-repeat; width:32px; height:32px; margin:-16px 0 0 -16px} + +/* Formats */ +.highcontrastSkin .mce_p span.mceText {} +.highcontrastSkin .mce_address span.mceText {font-style:italic} +.highcontrastSkin .mce_pre span.mceText {font-family:monospace} +.highcontrastSkin .mce_h1 span.mceText {font-weight:bolder; font-size: 2em} +.highcontrastSkin .mce_h2 span.mceText {font-weight:bolder; font-size: 1.5em} +.highcontrastSkin .mce_h3 span.mceText {font-weight:bolder; font-size: 1.17em} +.highcontrastSkin .mce_h4 span.mceText {font-weight:bolder; font-size: 1em} +.highcontrastSkin .mce_h5 span.mceText {font-weight:bolder; font-size: .83em} +.highcontrastSkin .mce_h6 span.mceText {font-weight:bolder; font-size: .75em} diff --git a/wp-includes/js/tinymce/themes/advanced/skins/o2k7/content.css b/wp-includes/js/tinymce/themes/advanced/skins/o2k7/content.css index 500fa0de4..8569401b7 100644 --- a/wp-includes/js/tinymce/themes/advanced/skins/o2k7/content.css +++ b/wp-includes/js/tinymce/themes/advanced/skins/o2k7/content.css @@ -34,3 +34,13 @@ scrollbar-track-color:#F5F5F5; img:-moz-broken {-moz-force-broken-image-icon:1; width:24px; height:24px} font[face=mceinline] {font-family:inherit !important} + +.mceItemMedia {border:1px dotted #cc0000; background-position:center; background-repeat:no-repeat; background-color:#ffffcc} +.mceItemShockWave {background-image:url(../../img/shockwave.gif)} +.mceItemFlash {background-image:url(../../img/flash.gif)} +.mceItemQuickTime {background-image:url(../../img/quicktime.gif)} +.mceItemWindowsMedia {background-image:url(../../img/windowsmedia.gif)} +.mceItemRealMedia {background-image:url(../../img/realmedia.gif)} +.mceItemVideo {background-image:url(../../img/video.gif)} +.mceItemIframe {background-image:url(../../img/iframe.gif)} +.mcePageBreak {display:block;border:0;width:100%;height:12px;border-top:1px dotted #ccc;margin-top:15px;background:#fff url(../../img/pagebreak.gif) no-repeat center top;} diff --git a/wp-includes/js/tinymce/themes/advanced/skins/o2k7/dialog.css b/wp-includes/js/tinymce/themes/advanced/skins/o2k7/dialog.css index 3b0760a68..c97d38e8f 100644 --- a/wp-includes/js/tinymce/themes/advanced/skins/o2k7/dialog.css +++ b/wp-includes/js/tinymce/themes/advanced/skins/o2k7/dialog.css @@ -114,3 +114,4 @@ h3 {font-size:14px;} #colorpicker #namedcolors {width:150px;} #colorpicker #namedcolors a {display:block; float:left; width:10px; height:10px; margin:1px 1px 0 0; overflow:hidden;} #colorpicker #colornamecontainer {margin-top:5px;} +#colorpicker #picker_panel fieldset {margin:auto;width:325px;} diff --git a/wp-includes/js/tinymce/themes/advanced/skins/o2k7/ui.css b/wp-includes/js/tinymce/themes/advanced/skins/o2k7/ui.css index 52f5760fa..91edecad9 100644 --- a/wp-includes/js/tinymce/themes/advanced/skins/o2k7/ui.css +++ b/wp-includes/js/tinymce/themes/advanced/skins/o2k7/ui.css @@ -4,8 +4,8 @@ .o2k7Skin table td {vertical-align:middle} /* Containers */ -.o2k7Skin table {background:#E5EFFD} -.o2k7Skin iframe {display:block; background:#FFF} +.o2k7Skin table {background:transparent} +.o2k7Skin iframe {display:block;} .o2k7Skin .mceToolbar {height:26px} /* External */ @@ -19,7 +19,8 @@ .o2k7Skin table.mceLayout tr.mceLast td {border-bottom:1px solid #ABC6DD} .o2k7Skin table.mceToolbar, .o2k7Skin tr.mceFirst .mceToolbar tr td, .o2k7Skin tr.mceLast .mceToolbar tr td {border:0; margin:0; padding:0} .o2k7Skin .mceIframeContainer {border-top:1px solid #ABC6DD; border-bottom:1px solid #ABC6DD} -.o2k7Skin .mceStatusbar {display:block; font-family:'MS Sans Serif',sans-serif,Verdana,Arial; font-size:9pt; line-height:16px; overflow:visible; color:#000; height:20px} +.o2k7Skin td.mceToolbar{background:#E5EFFD} +.o2k7Skin .mceStatusbar {background:#E5EFFD; display:block; font-family:'MS Sans Serif',sans-serif,Verdana,Arial; font-size:9pt; line-height:16px; overflow:visible; color:#000; height:20px} .o2k7Skin .mceStatusbar div {float:left; padding:2px} .o2k7Skin .mceStatusbar a.mceResize {display:block; float:right; background:url(../../img/icons.gif) -800px 0; width:20px; height:20px; cursor:se-resize; outline:0} .o2k7Skin .mceStatusbar a:hover {text-decoration:underline} @@ -62,7 +63,7 @@ .o2k7Skin select.mceListBox {font-family:Tahoma,Verdana,Arial,Helvetica; font-size:12px; border:1px solid #b3c7e1; background:#FFF;} /* SplitButton */ -.o2k7Skin .mceSplitButton, .o2k7Skin .mceSplitButton a, .o2k7Skin .mceSplitButton span {display:block; height:22px} +.o2k7Skin .mceSplitButton, .o2k7Skin .mceSplitButton a, .o2k7Skin .mceSplitButton span {display:block; height:22px; direction:ltr} .o2k7Skin .mceSplitButton {background:url(img/button_bg.png)} .o2k7Skin .mceSplitButton a.mceAction {width:22px} .o2k7Skin .mceSplitButton span.mceAction {width:22px; background-image:url(../../img/icons.gif)} diff --git a/wp-includes/js/tinymce/themes/advanced/skins/o2k7/ui_black.css b/wp-includes/js/tinymce/themes/advanced/skins/o2k7/ui_black.css index 81dbfe418..85812cde3 100644 --- a/wp-includes/js/tinymce/themes/advanced/skins/o2k7/ui_black.css +++ b/wp-includes/js/tinymce/themes/advanced/skins/o2k7/ui_black.css @@ -1,6 +1,6 @@ /* Black */ .o2k7SkinBlack .mceToolbar .mceToolbarStart span, .o2k7SkinBlack .mceToolbar .mceToolbarEnd span, .o2k7SkinBlack .mceButton, .o2k7SkinBlack .mceSplitButton, .o2k7SkinBlack .mceSeparator, .o2k7SkinBlack .mceSplitButton a.mceOpen, .o2k7SkinBlack .mceListBox a.mceOpen {background-image:url(img/button_bg_black.png)} -.o2k7SkinBlack table, .o2k7SkinBlack .mceMenuItemTitle a, .o2k7SkinBlack .mceMenuItemTitle span.mceText, .o2k7SkinBlack .mceStatusbar div, .o2k7SkinBlack .mceStatusbar span, .o2k7SkinBlack .mceStatusbar a {background:#535353; color:#FFF} +.o2k7SkinBlack td.mceToolbar, .o2k7SkinBlack td.mceStatusbar, .o2k7SkinBlack .mceMenuItemTitle a, .o2k7SkinBlack .mceMenuItemTitle span.mceText, .o2k7SkinBlack .mceStatusbar div, .o2k7SkinBlack .mceStatusbar span, .o2k7SkinBlack .mceStatusbar a {background:#535353; color:#FFF} .o2k7SkinBlack table.mceListBoxEnabled .mceText, o2k7SkinBlack .mceListBox .mceText {background:#FFF; border:1px solid #CBCFD4; border-bottom-color:#989FA9; border-right:0} .o2k7SkinBlack table.mceListBoxEnabled:hover .mceText, .o2k7SkinBlack .mceListBoxHover .mceText, .o2k7SkinBlack .mceListBoxSelected .mceText {background:#FFF; border:1px solid #FFBD69; border-right:0} .o2k7SkinBlack .mceExternalToolbar, .o2k7SkinBlack .mceListBox .mceText, .o2k7SkinBlack div.mceMenu, .o2k7SkinBlack table.mceLayout, .o2k7SkinBlack .mceMenuItemTitle a, .o2k7SkinBlack table.mceLayout tr.mceFirst td, .o2k7SkinBlack table.mceLayout, .o2k7SkinBlack .mceMenuItemTitle a, .o2k7SkinBlack table.mceLayout tr.mceLast td, .o2k7SkinBlack .mceIframeContainer {border-color: #535353;} diff --git a/wp-includes/js/tinymce/themes/advanced/skins/o2k7/ui_silver.css b/wp-includes/js/tinymce/themes/advanced/skins/o2k7/ui_silver.css index e8ae844f4..d64c36169 100644 --- a/wp-includes/js/tinymce/themes/advanced/skins/o2k7/ui_silver.css +++ b/wp-includes/js/tinymce/themes/advanced/skins/o2k7/ui_silver.css @@ -1,5 +1,5 @@ /* Silver */ .o2k7SkinSilver .mceToolbar .mceToolbarStart span, .o2k7SkinSilver .mceButton, .o2k7SkinSilver .mceSplitButton, .o2k7SkinSilver .mceSeparator, .o2k7SkinSilver .mceSplitButton a.mceOpen, .o2k7SkinSilver .mceListBox a.mceOpen {background-image:url(img/button_bg_silver.png)} -.o2k7SkinSilver table, .o2k7SkinSilver .mceMenuItemTitle a {background:#eee} +.o2k7SkinSilver td.mceToolbar, .o2k7SkinSilver td.mceStatusbar, .o2k7SkinSilver .mceMenuItemTitle a {background:#eee} .o2k7SkinSilver .mceListBox .mceText {background:#FFF} .o2k7SkinSilver .mceExternalToolbar, .o2k7SkinSilver .mceListBox .mceText, .o2k7SkinSilver div.mceMenu, .o2k7SkinSilver table.mceLayout, .o2k7SkinSilver .mceMenuItemTitle a, .o2k7SkinSilver table.mceLayout tr.mceFirst td, .o2k7SkinSilver table.mceLayout, .o2k7SkinSilver .mceMenuItemTitle a, .o2k7SkinSilver table.mceLayout tr.mceLast td, .o2k7SkinSilver .mceIframeContainer {border-color: #bbb} diff --git a/wp-includes/js/tinymce/themes/advanced/skins/wp_theme/content.css b/wp-includes/js/tinymce/themes/advanced/skins/wp_theme/content.css index 40dfd3e27..0b7ec9f33 100644 --- a/wp-includes/js/tinymce/themes/advanced/skins/wp_theme/content.css +++ b/wp-includes/js/tinymce/themes/advanced/skins/wp_theme/content.css @@ -1,6 +1,11 @@ -/* default styles */ -body {background:#FFF;} +body { + font: 13px/19px Georgia, "Times New Roman", "Bitstream Charter", Times, serif; + margin: 0.6em; + color: #000; +} body.mceForceColors {background:#FFF; color:#000;} +body.mceBrowserDefaults {background:transparent; color:inherit; font-size:inherit; font-family:inherit;} +td {color:#000; font-family:Verdana, Arial, Helvetica, sans-serif; font-size:10px; margin:8px;} h1 {font-size: 2em} h2 {font-size: 1.5em} h3 {font-size: 1.17em} @@ -8,8 +13,9 @@ h4 {font-size: 1em} h5 {font-size: .83em} h6 {font-size: .75em} .mceItemTable, .mceItemTable td, .mceItemTable th, .mceItemTable caption, .mceItemVisualAid {border: 1px dashed #BBB;} -a.mceItemAnchor {width:12px; line-height:6px; overflow:hidden; padding-left:12px; background:url(../default/img/items.gif) no-repeat bottom left;} -img.mceItemAnchor {width:12px; height:12px; background:url(../default/img/items.gif) no-repeat;} +a.mceItemAnchor {display:inline-block; width:11px !important; height:11px !important; background:url(img/items.gif) no-repeat 0 0;} +span.mceItemNbsp {background: #DDD} +td.mceSelected, th.mceSelected {background-color:#3399ff !important} img {border:0;} table {cursor:default} table td, table th {cursor:text} @@ -17,12 +23,22 @@ ins {border-bottom:1px solid green; text-decoration: none; color:green} del {color:red; text-decoration:line-through} cite {border-bottom:1px dashed blue} acronym {border-bottom:1px dotted #CCC; cursor:help} -abbr, html\:abbr {border-bottom:1px dashed #CCC; cursor:help} +abbr {border-bottom:1px dashed #CCC; cursor:help} + +img:-moz-broken {-moz-force-broken-image-icon:1; width:24px; height:24px} +font[face=mceinline] {font-family:inherit !important} + +.mceItemMedia {border:1px dotted #cc0000; background-position:center; background-repeat:no-repeat; background-color:#ffffcc} +.mceItemShockWave {background-image:url(../../img/shockwave.gif)} +.mceItemFlash {background-image:url(../../img/flash.gif)} +.mceItemQuickTime {background-image:url(../../img/quicktime.gif)} +.mceItemWindowsMedia {background-image:url(../../img/windowsmedia.gif)} +.mceItemRealMedia {background-image:url(../../img/realmedia.gif)} +.mceItemVideo {background-image:url(../../img/video.gif)} +.mceItemIframe {background-image:url(../../img/iframe.gif)} +.mcePageBreak {display:block;border:0;width:100%;height:12px;border-top:1px dotted #ccc;margin-top:15px;background:#fff url(../../img/pagebreak.gif) no-repeat center top;} /* WordPress styles */ -html { - background-color: #fff; -} .aligncenter, dl.aligncenter { @@ -51,6 +67,10 @@ dl.aligncenter { border-radius: 3px; } +.mceIEcenter { + text-align: center; +} + .wp-caption img { margin: 0; padding: 0; @@ -64,14 +84,8 @@ dl.aligncenter { margin: 0; } -body.mceContentBody { - font: 13px/19px Georgia, "Times New Roman", "Bitstream Charter", Times, serif; - padding: 0.6em; - margin: 0; -} - pre { - font: 12px/18px Consolas, Monaco, "Courier New", Courier, monospace; + font: 12px/18px Consolas, Monaco, monospace; } td { @@ -80,6 +94,3 @@ td { margin: 8px; } -.mceIEcenter { - text-align: center; -} diff --git a/wp-includes/js/tinymce/themes/advanced/skins/wp_theme/ui.css b/wp-includes/js/tinymce/themes/advanced/skins/wp_theme/ui.css index f4b1fe44d..584980f80 100644 --- a/wp-includes/js/tinymce/themes/advanced/skins/wp_theme/ui.css +++ b/wp-includes/js/tinymce/themes/advanced/skins/wp_theme/ui.css @@ -21,9 +21,10 @@ border:0; margin:0; padding:0; white-space:nowrap; text-decoration:none; font-we .wp_themeSkin .mceIframeContainer {} .wp_themeSkin .mceStatusbar { display: block; - font-family: 'MS Sans Serif',sans-serif,Verdana,Arial; - font-size: 9pt; + font-family: Arial, "Bitstream Vera Sans", Helvetica, Verdana, sans-serif; + font-size: 12px; line-height: 16px; + padding-left: 5px; overflow: visible; height: 20px; border-top-width: 1px; @@ -47,55 +48,69 @@ border:0; margin:0; padding:0; white-space:nowrap; text-decoration:none; font-we /* Button */ .wp_themeSkin .mceButton { - display:block; - width: 20px; - height: 20px; - cursor: default; - padding: 1px 2px; - margin: 1px; - background-image: url(img/butt2.png); - background-position: left top; - background-repeat: repeat-x; - -moz-border-radius: 3px; - -webkit-border-radius: 3px; - -khtml-border-radius: 3px; - border-radius: 3px; + display:block; + width: 20px; + height: 20px; + cursor: default; + padding: 1px 2px; + margin: 1px; + -moz-border-radius: 2px; + -webkit-border-radius: 2px; + -khtml-border-radius: 2px; + border-radius: 2px; + -webkit-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.15), inset 0 0 2px 1px #fff; + -moz-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.15), inset 0 0 2px 1px #fff; + box-shadow: 0 1px 0 rgba(0, 0, 0, 0.15), inset 0 0 2px 1px #fff; } -.wp_themeSkin a.mceButton span, .wp_themeSkin a.mceButton img {} -.wp_themeSkin .mceOldBoxModel a.mceButton span, .wp_themeSkin .mceOldBoxModel a.mceButton img {margin:0 0 0 1px} + .wp_themeSkin a.mceButtonEnabled:hover { - background-position:0 -10px; + background-image: inherit 0 -10px; } -.wp_themeSkin a.mceButtonActive, .wp_themeSkin a.mceButtonSelected { - background-image: inherit; + +.wp_themeSkin .mceOldBoxModel a.mceButton span, .wp_themeSkin .mceOldBoxModel a.mceButton img {margin:0 0 0 1px} + +.wp_themeSkin a.mceButton:active, +.wp_themeSkin a.mceButtonActive, +.wp_themeSkin a.mceButtonActive:hover, +.wp_themeSkin a.mceButtonSelected { + -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.15), inset 0 0 2px 1px #fff; + -moz-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.15), inset 0 0 2px 1px #fff; + box-shadow: 0 1px 0 rgba(0, 0, 0, 0.15), inset 0 0 2px 1px #fff; } -.wp_themeSkin .mceButtonDisabled .mceIcon {opacity:0.3; filter:alpha(opacity=30);} -.wp_themeSkin .mceButtonDisabled {} +.wp_themeSkin .mceButtonDisabled .mceIcon {opacity:0.4; filter:alpha(opacity=40);} /* Separator */ -.wp_themeSkin .mceSeparator { - height: 24px; +.wp_themeSkin .mceSeparator { + height: 24px; width: 1px; display: block; background: transparent; - overflow: hidden; - margin: 0 2px; + overflow: hidden; + margin: 0 2px; } /* ListBox */ .wp_themeSkin .mceListBox, .wp_themeSkin .mceListBox a {display:block} .wp_themeSkin .mceListBox .mceText { padding: 1px 2px 1px 5px; - text-align:left; - text-decoration: none !important; - width:70px; - background-image: url(img/butt2.png); - background-position: left top; - background-repeat: repeat-x; - font-family: Tahoma,Verdana,Arial,Helvetica; - font-size: 11px; - height: 20px; - line-height: 20px; + text-align:left; + text-decoration: none; + width:70px; + -moz-border-bottom-left-radius: 2px; + -webkit-border-bottom-left-radius: 2px; + -khtml-border-bottom-left-radius: 2px; + border-bottom-left-radius: 2px; + -moz-border-top-left-radius: 2px; + -webkit-border-top-left-radius: 2px; + -khtml-border-top-left-radius: 2px; + border-top-left-radius: 2px; + -webkit-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.15), inset 0 0 2px 1px #fff; + -moz-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.15), inset 0 0 2px 1px #fff; + box-shadow: 0 1px 0 rgba(0, 0, 0, 0.15), inset 0 0 2px 1px #fff; + font-family: Arial, "Bitstream Vera Sans", Helvetica, Verdana, sans-serif; + font-size: 12px; + height: 20px; + line-height: 20px; overflow: hidden; } .wp_themeSkin .mceListBox { @@ -104,13 +119,20 @@ border:0; margin:0; padding:0; white-space:nowrap; text-decoration:none; font-we } .wp_themeSkin .mceListBox .mceOpen { width: 14px; - height: 20px; + height: 20px; border-collapse: separate; - background-image: url(img/butt2.png); - background-position: left top; - background-repeat: repeat-x; padding: 1px; - border-left: 0 none !important; + -moz-border-bottom-left-radius: 0; + -webkit-border-bottom-left-radius: 0; + -khtml-border-bottom-left-radius: 0; + border-bottom-left-radius: 0; + -moz-border-top-left-radius: 0; + -webkit-border-top-left-radius: 0; + -khtml-border-top-left-radius: 0; + border-top-left-radius: 0; + -webkit-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.15), inset 0 0 2px 1px #fff; + -moz-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.15), inset 0 0 2px 1px #fff; + box-shadow: 0 1px 0 rgba(0, 0, 0, 0.15), inset 0 0 2px 1px #fff; } .wp_themeSkin .mceListBox .mceOpen span { display: block; @@ -120,32 +142,51 @@ border:0; margin:0; padding:0; white-space:nowrap; text-decoration:none; font-we background-position: 2px 1px; background-repeat: no-repeat; } -.wp_themeSkin table.mceListBoxEnabled:hover .mceText, -.wp_themeSkin .mceListBoxHover .mceText, +.wp_themeSkin table.mceListBoxEnabled:hover .mceText, +.wp_themeSkin .mceListBoxHover .mceText, .wp_themeSkin .mceListBoxSelected .mceText, -.wp_themeSkin table.mceListBoxEnabled:hover .mceOpen, -.wp_themeSkin .mceListBoxHover .mceOpen, +.wp_themeSkin table.mceListBoxEnabled:hover .mceOpen, +.wp_themeSkin .mceListBoxHover .mceOpen, .wp_themeSkin .mceListBoxSelected .mceOpen { background-image: none; } .wp_themeSkin .mceListBoxDisabled .mceText {color:gray} .wp_themeSkin .mceListBoxMenu {overflow:auto; overflow-x:hidden} .wp_themeSkin .mceOldBoxModel .mceListBox .mceText {height:22px} -.wp_themeSkin select.mceListBox {font-family:Tahoma,Verdana,Arial,Helvetica; font-size:12px;} +.wp_themeSkin select.mceListBox { + font-family: Arial, "Bitstream Vera Sans", Helvetica, Verdana, sans-serif; + font-size:12px; +} /* SplitButton */ .wp_themeSkin .mceSplitButton a, .wp_themeSkin .mceSplitButton span {display:block; height:20px} -.wp_themeSkin .mceSplitButton { +.wp_themeSkin .mceSplitButton { display:block; margin: 1px; direction: ltr; } .wp_themeSkin table.mceSplitButton td { padding: 2px; - background-image: url(img/butt2.png); - background-position: left top; - background-repeat: repeat-x; + -moz-border-bottom-left-radius: 0; + -webkit-border-bottom-left-radius: 0; + -khtml-border-bottom-left-radius: 0; + border-bottom-left-radius: 0; + -moz-border-top-left-radius: 0; + -webkit-border-top-left-radius: 0; + -khtml-border-top-left-radius: 0; + border-top-left-radius: 0; +} + +.wp_themeSkin table.mceSplitButton td a { + -webkit-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.15), inset 0 0 2px 1px #fff; + -moz-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.15), inset 0 0 2px 1px #fff; + box-shadow: 0 1px 0 rgba(0, 0, 0, 0.15), inset 0 0 2px 1px #fff; +} + +.wp_themeSkin table.mceSplitButton:hover td { + background-image: inherit 0 -10px; } + .wp_themeSkin .mceSplitButton a.mceAction { height:20px; width:20px; @@ -155,7 +196,7 @@ border:0; margin:0; padding:0; white-space:nowrap; text-decoration:none; font-we background-image: url(../../img/icons.gif); background-repeat: no-repeat; background-color: transparent; - width:20px; + width:20px; } .wp_themeSkin .mceSplitButton a.mceOpen { width:10px; @@ -191,6 +232,43 @@ border:0; margin:0; padding:0; white-space:nowrap; text-decoration:none; font-we border-top-right-radius: 3px; } +.wp_themeSkin span.mce_undo, +.wp_themeSkin span.mce_redo, +.wp_themeSkin span.mce_bullist, +.wp_themeSkin span.mce_numlist, +.wp_themeSkin span.mce_blockquote, +.wp_themeSkin span.mce_charmap, +.wp_themeSkin span.mce_bold, +.wp_themeSkin span.mce_italic, +.wp_themeSkin span.mce_underline, +.wp_themeSkin span.mce_justifyleft, +.wp_themeSkin span.mce_justifyright, +.wp_themeSkin span.mce_justifycenter, +.wp_themeSkin span.mce_justifyfull, +.wp_themeSkin span.mce_indent, +.wp_themeSkin span.mce_outdent, +.wp_themeSkin span.mce_link, +.wp_themeSkin span.mce_unlink, +.wp_themeSkin span.mce_help, +.wp_themeSkin span.mce_removeformat, +.wp_themeSkin span.mce_fullscreen, +.wp_themeSkin span.mce_media, +.wp_themeSkin span.mce_pastetext, +.wp_themeSkin span.mce_pasteword, +.wp_themeSkin span.mce_wp_help, +.wp_themeSkin span.mce_wp_adv, +.wp_themeSkin span.mce_wp_more, +.wp_themeSkin span.mce_strikethrough, +.wp_themeSkin span.mce_spellchecker, +.wp_themeSkin span.mce_forecolor, +.wp_themeSkin .mce_forecolorpicker, +.wp_themeSkin .mceSplitButton .mce_spellchecker span.mce_spellchecker, +.wp_themeSkin .mceSplitButton .mce_forecolor span.mce_forecolor, +.wp_themeSkin .mceSplitButton span.mce_numlist, +.wp_themeSkin .mceSplitButton span.mce_bullist { + background-image: url(../../img/wpicons.png); +} + /* ColorSplitButton */ .wp_themeSkin div.mceColorSplitMenu table {} .wp_themeSkin .mceColorSplitMenu td {padding:2px} @@ -199,7 +277,7 @@ border:0; margin:0; padding:0; white-space:nowrap; text-decoration:none; font-we .wp_themeSkin .mceColorSplitMenu a.mceMoreColors {width:100%; height:auto; text-align:center; font-family:Tahoma,Verdana,Arial,Helvetica; font-size:11px; line-height:20px;} .wp_themeSkin .mceColorSplitMenu a.mceMoreColors:hover {} .wp_themeSkin a.mceMoreColors:hover {} -.wp_themeSkin .mceColorPreview {margin: -4px 0 0 2px; width:16px; height:4px; overflow:hidden} +.wp_themeSkin .mceColorPreview {margin: -5px 0 0 2px; width:16px; height:4px; overflow:hidden} /* Menu */ .wp_themeSkin .mceMenu {position:absolute; left:0; top:0; z-index:1000;} @@ -214,17 +292,19 @@ border:0; margin:0; padding:0; white-space:nowrap; text-decoration:none; font-we text-decoration: none !important; } .wp_themeSkin .mceMenu .mceText { - position:relative; - display:block; - font-family:Tahoma,Verdana,Arial,Helvetica; - cursor:default; - margin:0; + position:relative; + display:block; + font-family:Tahoma,Verdana,Arial,Helvetica; + cursor:default; + margin:0; padding:0 25px; } -.wp_themeSkin .mceMenu span.mceText, .wp_themeSkin .mceMenu .mcePreview {font-size:11px} +.wp_themeSkin .mceMenu span.mceText, .wp_themeSkin .mceMenu .mcePreview { + font-size: 12px; +} .wp_themeSkin .mceMenu pre.mceText {font-family:Monospace} .wp_themeSkin .mceMenu .mceIcon {position:absolute; top:0; left:0; width:22px;} -.wp_themeSkin .mceMenu .mceMenuItemEnabled a:hover, +.wp_themeSkin .mceMenu .mceMenuItemEnabled a:hover, .wp_themeSkin .mceMenu .mceMenuItemActive {} .wp_themeSkin td.mceMenuItemSeparator {height:1px} .wp_themeSkin .mceMenuItemTitle a { @@ -248,62 +328,163 @@ border:0; margin:0; padding:0; white-space:nowrap; text-decoration:none; font-we .wp_themeSkin .mcePlaceHolder {border:1px dotted gray} /* Formats */ -.wp_themeSkin .mce_formatPreview a {font-size:10px} .wp_themeSkin .mce_p span.mceText {} .wp_themeSkin .mce_address span.mceText {font-style:italic} .wp_themeSkin .mce_pre span.mceText {font-family:monospace} -.wp_themeSkin .mce_h1 span.mceText {font-weight:bolder; font-size: 2em} -.wp_themeSkin .mce_h2 span.mceText {font-weight:bolder; font-size: 1.5em} -.wp_themeSkin .mce_h3 span.mceText {font-weight:bolder; font-size: 1.17em} -.wp_themeSkin .mce_h4 span.mceText {font-weight:bolder; font-size: 1em} -.wp_themeSkin .mce_h5 span.mceText {font-weight:bolder; font-size: .83em} -.wp_themeSkin .mce_h6 span.mceText {font-weight:bolder; font-size: .75em} +.wp_themeSkin .mce_h1 span.mceText {font-weight:bolder; font-size: 17px} +.wp_themeSkin .mce_h2 span.mceText {font-weight:bolder; font-size: 16px} +.wp_themeSkin .mce_h3 span.mceText {font-weight:bolder; font-size: 15px} +.wp_themeSkin .mce_h4 span.mceText {font-weight:bolder; font-size: 14px} +.wp_themeSkin .mce_h5 span.mceText {font-weight:bolder; font-size: 13px} +.wp_themeSkin .mce_h6 span.mceText {font-weight:bolder; font-size: 12px} /* Theme */ -.wp_themeSkin span.mce_bold {background-position:0 0} -.wp_themeSkin span.mce_italic {background-position:-60px 0} -.wp_themeSkin span.mce_underline {background-position:-140px 0} -.wp_themeSkin span.mce_strikethrough {background-position:-120px 0} -.wp_themeSkin span.mce_undo {background-position:-160px 0} -.wp_themeSkin span.mce_redo {background-position:-100px 0} -.wp_themeSkin span.mce_cleanup {background-position:-40px 0} -.wp_themeSkin span.mce_bullist {background-position:-20px 0} -.wp_themeSkin span.mce_numlist {background-position:-80px 0} -.wp_themeSkin span.mce_justifyleft {background-position:-460px 0} -.wp_themeSkin span.mce_justifyright {background-position:-480px 0} -.wp_themeSkin span.mce_justifycenter {background-position:-420px 0} -.wp_themeSkin span.mce_justifyfull {background-position:-440px 0} +.wp_themeSkin span.mce_undo {background-position: -500px -20px} +.wp_themeSkin .mceButtonEnabled:hover span.mce_undo, +.wp_themeSkin .mceButtonActive span.mce_undo {background-position:-500px 0} + +.wp_themeSkin span.mce_redo {background-position:-480px -20px} +.wp_themeSkin .mceButtonEnabled:hover span.mce_redo, +.wp_themeSkin .mceButtonActive span.mce_redo {background-position:-480px 0} + +.wp_themeSkin span.mce_bullist {background-position:-40px -20px} +.wp_themeSkin .mceButtonEnabled:hover span.mce_bullist, +.wp_themeSkin .mceButtonActive span.mce_bullist, +.wp_themeSkin .mceSplitButton:hover span.mce_bullist {background-position:-40px 0} + +.wp_themeSkin span.mce_numlist {background-position:-61px -20px} +.wp_themeSkin .mceButtonEnabled:hover span.mce_numlist, +.wp_themeSkin .mceButtonActive span.mce_numlist, +.wp_themeSkin .mceSplitButton:hover span.mce_numlist {background-position:-61px 0} + +.wp_themeSkin span.mce_blockquote {background-position:-80px -20px} +.wp_themeSkin .mceButtonEnabled:hover span.mce_blockquote, +.wp_themeSkin .mceButtonActive span.mce_blockquote {background-position:-80px 0} + +.wp_themeSkin span.mce_charmap {background-position:-420px -20px} +.wp_themeSkin .mceButtonEnabled:hover span.mce_charmap, +.wp_themeSkin .mceButtonActive span.mce_charmap {background-position:-420px 0} + +.wp_themeSkin span.mce_bold {background-position:-1px -20px} +.wp_themeSkin .mceButtonEnabled:hover span.mce_bold, +.wp_themeSkin .mceButtonActive span.mce_bold {background-position:-1px 0} + +.wp_themeSkin span.mce_italic {background-position:-21px -20px} +.wp_themeSkin .mceButtonEnabled:hover span.mce_italic, +.wp_themeSkin .mceButtonActive span.mce_italic {background-position:-21px 0} + +.wp_themeSkin span.mce_underline {background-position:-280px -19px} +.wp_themeSkin .mceButtonEnabled:hover span.mce_underline, +.wp_themeSkin .mceButtonActive span.mce_underline {background-position:-280px 1px} + +.wp_themeSkin span.mce_justifyleft {background-position:-100px -19px} +.wp_themeSkin .mceButtonEnabled:hover span.mce_justifyleft, +.wp_themeSkin .mceButtonActive span.mce_justifyleft {background-position:-100px 1px} + +.wp_themeSkin span.mce_justifyright {background-position:-141px -19px} +.wp_themeSkin .mceButtonEnabled:hover span.mce_justifyright, +.wp_themeSkin .mceButtonActive span.mce_justifyright {background-position:-141px 1px} + +.wp_themeSkin span.mce_justifycenter {background-position:-120px -19px} +.wp_themeSkin .mceButtonEnabled:hover span.mce_justifycenter, +.wp_themeSkin .mceButtonActive span.mce_justifycenter {background-position:-120px 1px} + +.wp_themeSkin span.mce_justifyfull {background-position:-300px -19px} +.wp_themeSkin .mceButtonEnabled:hover span.mce_justifyfull, +.wp_themeSkin .mceButtonActive span.mce_justifyfull {background-position:-300px 1px} + +.wp_themeSkin span.mce_indent {background-position:-461px -19px} +.wp_themeSkin .mceButtonEnabled:hover span.mce_indent, +.wp_themeSkin .mceButtonActive span.mce_indent {background-position:-461px 1px} + +.wp_themeSkin span.mce_outdent {background-position:-440px -19px} +.wp_themeSkin .mceButtonEnabled:hover span.mce_outdent, +.wp_themeSkin .mceButtonActive span.mce_outdent {background-position:-440px 1px} + +.wp_themeSkin span.mce_link {background-position:-161px -20px} +.wp_themeSkin .mceButtonEnabled:hover span.mce_link, +.wp_themeSkin .mceButtonActive span.mce_link {background-position:-161px 0} + +.wp_themeSkin span.mce_unlink {background-position:-180px -20px} +.wp_themeSkin .mceButtonEnabled:hover span.mce_unlink, +.wp_themeSkin .mceButtonActive span.mce_unlink {background-position:-180px 0} + +.wp_themeSkin span.mce_help {background-position:-521px -20px} +.wp_themeSkin .mceButtonEnabled:hover span.mce_help, +.wp_themeSkin .mceButtonActive span.mce_help {background-position:-521px 0} + +.wp_themeSkin span.mce_removeformat {background-position:-381px -20px} +.wp_themeSkin .mceButtonEnabled:hover span.mce_removeformat, +.wp_themeSkin .mceButtonActive span.mce_removeformat {background-position:-381px 0} + +.wp_themeSkin span.mce_strikethrough {background-position:-540px -18px;} +.wp_themeSkin .mceButtonEnabled:hover span.mce_strikethrough, +.wp_themeSkin .mceButtonActive span.mce_strikethrough {background-position:-540px 0} + +.wp_themeSkin .mceSplitButton .mce_forecolor span.mce_forecolor {background-position:-321px -22px} +.wp_themeSkin .mceSplitButtonEnabled:hover span.mce_forecolor, +.wp_themeSkin .mceSplitButtonActive span.mce_forecolor {background-position:-321px -2px} + +.wp_themeSkin .mce_forecolorpicker {background-position:-320px -20px} + +/* Plugins in WP */ +.wp_themeSkin span.mce_fullscreen {background-position:-240px -20px} +.wp_themeSkin .mceButtonEnabled:hover span.mce_fullscreen, +.wp_themeSkin .mceButtonActive span.mce_fullscreen {background-position:-240px 0} + +.wp_themeSkin span.mce_media {background-position:-401px -20px} +.wp_themeSkin .mceButtonEnabled:hover span.mce_media, +.wp_themeSkin .mceButtonActive span.mce_media {background-position:-401px 0} + +.wp_themeSkin span.mce_pastetext {background-position:-340px -20px} +.wp_themeSkin .mceButtonEnabled:hover span.mce_pastetext, +.wp_themeSkin .mceButtonActive span.mce_pastetext {background-position:-340px 0} + +.wp_themeSkin span.mce_pasteword {background-position:-360px -20px} +.wp_themeSkin .mceButtonEnabled:hover span.mce_pasteword, +.wp_themeSkin .mceButtonActive span.mce_pasteword {background-position:-360px 0} + +.wp_themeSkin span.mce_spellchecker {background-position:-220px -19px} +.wp_themeSkin .mceButtonEnabled:hover span.mce_spellchecker, +.wp_themeSkin .mceSplitButtonEnabled:hover span.mce_spellchecker, +.wp_themeSkin .mceButtonActive span.mce_spellchecker, +.wp_themeSkin .mceSplitButtonActive span.mce_spellchecker {background-position:-220px 1px} + +.wp_themeSkin span.mce_wp_help {background-position:-521px -20px} +.wp_themeSkin .mceButtonEnabled:hover span.mce_wp_help, +.wp_themeSkin .mceButtonActive span.mce_wp_help {background-position:-521px 0} + +.wp_themeSkin span.mce_wp_adv {background-position:-260px -20px} +.wp_themeSkin .mceButtonEnabled:hover span.mce_wp_adv, +.wp_themeSkin .mceButtonActive span.mce_wp_adv {background-position:-260px 0} + +.wp_themeSkin span.mce_wp_more {background-position:-201px -20px} +.wp_themeSkin .mceButtonEnabled:hover span.mce_wp_more, +.wp_themeSkin .mceButtonActive span.mce_wp_more {background-position:-201px 0} + +/* Default icons */ +.wp_themeSkin span.mce_cleanup {background-position:-380px -20px} .wp_themeSkin span.mce_anchor {background-position:-200px 0} -.wp_themeSkin span.mce_indent {background-position:-400px 0} -.wp_themeSkin span.mce_outdent {background-position:-540px 0} -.wp_themeSkin span.mce_link {background-position:-500px 0} -.wp_themeSkin span.mce_unlink {background-position:-640px 0} .wp_themeSkin span.mce_sub {background-position:-600px 0} .wp_themeSkin span.mce_sup {background-position:-620px 0} -.wp_themeSkin span.mce_removeformat {background-position:-580px 0} .wp_themeSkin span.mce_newdocument {background-position:-520px 0} .wp_themeSkin span.mce_image {background-position:-380px 0} -.wp_themeSkin span.mce_help {background-position:-340px 0} .wp_themeSkin span.mce_code {background-position:-260px 0} .wp_themeSkin span.mce_hr {background-position:-360px 0} .wp_themeSkin span.mce_visualaid {background-position:-660px 0} -.wp_themeSkin span.mce_charmap {background-position:-240px 0} .wp_themeSkin span.mce_paste {background-position:-560px 0} .wp_themeSkin span.mce_copy {background-position:-700px 0} .wp_themeSkin span.mce_cut {background-position:-680px 0} -.wp_themeSkin span.mce_blockquote {background-position:-220px 0} -.wp_themeSkin .mce_forecolor span.mceAction {background-position:-720px 0} .wp_themeSkin .mce_backcolor span.mceAction {background-position:-760px 0} -.wp_themeSkin .mce_forecolorpicker {background-position:-720px 0} .wp_themeSkin .mce_backcolorpicker {background-position:-760px 0} + /* Plugins */ .wp_themeSkin span.mce_advhr {background-position:-0px -20px} .wp_themeSkin span.mce_ltr {background-position:-20px -20px} .wp_themeSkin span.mce_rtl {background-position:-40px -20px} .wp_themeSkin span.mce_emotions {background-position:-60px -20px} .wp_themeSkin span.mce_fullpage {background-position:-80px -20px} -.wp_themeSkin span.mce_fullscreen {background-position:-100px -20px} .wp_themeSkin span.mce_iespell {background-position:-120px -20px} .wp_themeSkin span.mce_insertdate {background-position:-140px -20px} .wp_themeSkin span.mce_inserttime {background-position:-160px -20px} @@ -314,10 +495,7 @@ border:0; margin:0; padding:0; white-space:nowrap; text-decoration:none; font-we .wp_themeSkin span.mce_insertlayer {background-position:-260px -20px} .wp_themeSkin span.mce_movebackward {background-position:-280px -20px} .wp_themeSkin span.mce_moveforward {background-position:-300px -20px} -.wp_themeSkin span.mce_media {background-position:-320px -20px} .wp_themeSkin span.mce_nonbreaking {background-position:-340px -20px} -.wp_themeSkin span.mce_pastetext {background-position:-360px -20px} -.wp_themeSkin span.mce_pasteword {background-position:-380px -20px} .wp_themeSkin span.mce_selectall {background-position:-400px -20px} .wp_themeSkin span.mce_preview {background-position:-420px -20px} .wp_themeSkin span.mce_print {background-position:-440px -20px} @@ -348,35 +526,35 @@ border:0; margin:0; padding:0; white-space:nowrap; text-decoration:none; font-we .wp_themeSkin span.mce_del {background-position:-940px -20px} .wp_themeSkin span.mce_ins {background-position:-960px -20px} .wp_themeSkin span.mce_pagebreak {background-position:0 -40px} -.wp_themeSkin span.mce_spellchecker {background-position:-540px -20px} + /* border */ -.wp_themeSkin .mceExternalToolbar, -.wp_themeSkin .mceButton, -.wp_themeSkin a.mceButtonEnabled:hover, -.wp_themeSkin a.mceButtonActive, -.wp_themeSkin a.mceButtonSelected, -.wp_themeSkin .mceListBox .mceText, -.wp_themeSkin .mceListBox .mceOpen, -.wp_themeSkin table.mceListBoxEnabled:hover .mceText, -.wp_themeSkin .mceListBoxHover .mceText, -.wp_themeSkin .mceListBoxSelected .mceText, -.wp_themeSkin table.mceListBoxEnabled:hover .mceOpen, -.wp_themeSkin .mceListBoxHover .mceOpen, -.wp_themeSkin .mceListBoxSelected .mceOpen, -.wp_themeSkin select.mceListBox, -.wp_themeSkin .mceSplitButton a.mceAction, +.wp_themeSkin .mceExternalToolbar, +.wp_themeSkin .mceButton, +.wp_themeSkin a.mceButtonEnabled:hover, +.wp_themeSkin a.mceButtonActive, +.wp_themeSkin a.mceButtonSelected, +.wp_themeSkin .mceListBox .mceText, +.wp_themeSkin .mceListBox .mceOpen, +.wp_themeSkin table.mceListBoxEnabled:hover .mceText, +.wp_themeSkin .mceListBoxHover .mceText, +.wp_themeSkin .mceListBoxSelected .mceText, +.wp_themeSkin table.mceListBoxEnabled:hover .mceOpen, +.wp_themeSkin .mceListBoxHover .mceOpen, +.wp_themeSkin .mceListBoxSelected .mceOpen, +.wp_themeSkin select.mceListBox, +.wp_themeSkin .mceSplitButton a.mceAction, .wp_themeSkin .mceSplitButton a.mceOpen, -.wp_themeSkin .mceSplitButton a.mceOpen:hover, -.wp_themeSkin .mceSplitButtonSelected a.mceOpen, -.wp_themeSkin table.mceSplitButtonEnabled:hover a.mceAction, -.wp_themeSkin .mceSplitButton a.mceAction:hover, -.wp_themeSkin div.mceColorSplitMenu table, -.wp_themeSkin .mceColorSplitMenu a, -.wp_themeSkin .mceColorSplitMenu a.mceMoreColors, -.wp_themeSkin .mceColorSplitMenu a.mceMoreColors:hover, -.wp_themeSkin a.mceMoreColors:hover, +.wp_themeSkin .mceSplitButton a.mceOpen:hover, +.wp_themeSkin .mceSplitButtonSelected a.mceOpen, +.wp_themeSkin table.mceSplitButtonEnabled:hover a.mceAction, +.wp_themeSkin .mceSplitButton a.mceAction:hover, +.wp_themeSkin div.mceColorSplitMenu table, +.wp_themeSkin .mceColorSplitMenu a, +.wp_themeSkin .mceColorSplitMenu a.mceMoreColors, +.wp_themeSkin .mceColorSplitMenu a.mceMoreColors:hover, +.wp_themeSkin a.mceMoreColors:hover, .wp_themeSkin .mceMenu { - border-style: solid; + border-style: solid; border-width: 1px; } diff --git a/wp-includes/js/tinymce/themes/advanced/source_editor.htm b/wp-includes/js/tinymce/themes/advanced/source_editor.htm index b0db4ba63..d4e8ccdfd 100644 --- a/wp-includes/js/tinymce/themes/advanced/source_editor.htm +++ b/wp-includes/js/tinymce/themes/advanced/source_editor.htm @@ -1,12 +1,12 @@ <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>{#advanced_dlg.code_title}</title> - <script type="text/javascript" src="../../tiny_mce_popup.js?ver=3392"></script> - <script type="text/javascript" src="js/source_editor.js?ver=3392"></script> + <script type="text/javascript" src="../../tiny_mce_popup.js?ver=342-20110407"></script> + <script type="text/javascript" src="js/source_editor.js?ver=342-20110407"></script> </head> <body onresize="resizeInputs();" style="display:none; overflow:hidden;"> <form name="source" onsubmit="saveContent();return false;" action="#"> - <div style="float: left" class="title">{#advanced_dlg.code_title}</div> + <div style="float: left" class="title"><label for="htmlSource">{#advanced_dlg.code_title}</label></div> <div id="wrapline" style="float: right"> <input type="checkbox" name="wraped" id="wraped" onclick="toggleWordWrap(this);" class="wordWrapCode" /><label for="wraped">{#advanced_dlg.code_wordwrap}</label> diff --git a/wp-includes/js/tinymce/tiny_mce.js b/wp-includes/js/tinymce/tiny_mce.js index 22c4401ff..d3871e2eb 100644 --- a/wp-includes/js/tinymce/tiny_mce.js +++ b/wp-includes/js/tinymce/tiny_mce.js @@ -1 +1 @@ -(function(d){var a=/^\s*|\s*$/g,e,c="B".replace(/A(.)|B/,"$1")==="$1";var b={majorVersion:"3",minorVersion:"3.9.3",releaseDate:"2010-12-20",_init:function(){var s=this,q=document,o=navigator,g=o.userAgent,m,f,l,k,j,r;s.isOpera=d.opera&&opera.buildNumber;s.isWebKit=/WebKit/.test(g);s.isIE=!s.isWebKit&&!s.isOpera&&(/MSIE/gi).test(g)&&(/Explorer/gi).test(o.appName);s.isIE6=s.isIE&&/MSIE [56]/.test(g);s.isGecko=!s.isWebKit&&/Gecko/.test(g);s.isMac=g.indexOf("Mac")!=-1;s.isAir=/adobeair/i.test(g);s.isIDevice=/(iPad|iPhone)/.test(g);if(d.tinyMCEPreInit){s.suffix=tinyMCEPreInit.suffix;s.baseURL=tinyMCEPreInit.base;s.query=tinyMCEPreInit.query;return}s.suffix="";f=q.getElementsByTagName("base");for(m=0;m<f.length;m++){if(r=f[m].href){if(/^https?:\/\/[^\/]+$/.test(r)){r+="/"}k=r?r.match(/.*\//)[0]:""}}function h(i){if(i.src&&/tiny_mce(|_gzip|_jquery|_prototype|_full)(_dev|_src)?.js/.test(i.src)){if(/_(src|dev)\.js/g.test(i.src)){s.suffix="_src"}if((j=i.src.indexOf("?"))!=-1){s.query=i.src.substring(j+1)}s.baseURL=i.src.substring(0,i.src.lastIndexOf("/"));if(k&&s.baseURL.indexOf("://")==-1&&s.baseURL.indexOf("/")!==0){s.baseURL=k+s.baseURL}return s.baseURL}return null}f=q.getElementsByTagName("script");for(m=0;m<f.length;m++){if(h(f[m])){return}}l=q.getElementsByTagName("head")[0];if(l){f=l.getElementsByTagName("script");for(m=0;m<f.length;m++){if(h(f[m])){return}}}return},is:function(g,f){if(!f){return g!==e}if(f=="array"&&(g.hasOwnProperty&&g instanceof Array)){return true}return typeof(g)==f},each:function(i,f,h){var j,g;if(!i){return 0}h=h||i;if(i.length!==e){for(j=0,g=i.length;j<g;j++){if(f.call(h,i[j],j,i)===false){return 0}}}else{for(j in i){if(i.hasOwnProperty(j)){if(f.call(h,i[j],j,i)===false){return 0}}}}return 1},map:function(g,h){var i=[];b.each(g,function(f){i.push(h(f))});return i},grep:function(g,h){var i=[];b.each(g,function(f){if(!h||h(f)){i.push(f)}});return i},inArray:function(g,h){var j,f;if(g){for(j=0,f=g.length;j<f;j++){if(g[j]===h){return j}}}return -1},extend:function(k,j){var h,g,f=arguments;for(h=1,g=f.length;h<g;h++){j=f[h];b.each(j,function(i,l){if(i!==e){k[l]=i}})}return k},trim:function(f){return(f?""+f:"").replace(a,"")},create:function(n,f){var m=this,g,i,j,k,h,l=0;n=/^((static) )?([\w.]+)(:([\w.]+))?/.exec(n);j=n[3].match(/(^|\.)(\w+)$/i)[2];i=m.createNS(n[3].replace(/\.\w+$/,""));if(i[j]){return}if(n[2]=="static"){i[j]=f;if(this.onCreate){this.onCreate(n[2],n[3],i[j])}return}if(!f[j]){f[j]=function(){};l=1}i[j]=f[j];m.extend(i[j].prototype,f);if(n[5]){g=m.resolve(n[5]).prototype;k=n[5].match(/\.(\w+)$/i)[1];h=i[j];if(l){i[j]=function(){return g[k].apply(this,arguments)}}else{i[j]=function(){this.parent=g[k];return h.apply(this,arguments)}}i[j].prototype[j]=i[j];m.each(g,function(o,p){i[j].prototype[p]=g[p]});m.each(f,function(o,p){if(g[p]){i[j].prototype[p]=function(){this.parent=g[p];return o.apply(this,arguments)}}else{if(p!=j){i[j].prototype[p]=o}}})}m.each(f["static"],function(o,p){i[j][p]=o});if(this.onCreate){this.onCreate(n[2],n[3],i[j].prototype)}},walk:function(i,h,j,g){g=g||this;if(i){if(j){i=i[j]}b.each(i,function(k,f){if(h.call(g,k,f,j)===false){return false}b.walk(k,h,j,g)})}},createNS:function(j,h){var g,f;h=h||d;j=j.split(".");for(g=0;g<j.length;g++){f=j[g];if(!h[f]){h[f]={}}h=h[f]}return h},resolve:function(j,h){var g,f;h=h||d;j=j.split(".");for(g=0,f=j.length;g<f;g++){h=h[j[g]];if(!h){break}}return h},addUnload:function(j,i){var h=this;j={func:j,scope:i||this};if(!h.unloads){function g(){var f=h.unloads,l,m;if(f){for(m in f){l=f[m];if(l&&l.func){l.func.call(l.scope,1)}}if(d.detachEvent){d.detachEvent("onbeforeunload",k);d.detachEvent("onunload",g)}else{if(d.removeEventListener){d.removeEventListener("unload",g,false)}}h.unloads=l=f=w=g=0;if(d.CollectGarbage){CollectGarbage()}}}function k(){var l=document;if(l.readyState=="interactive"){function f(){l.detachEvent("onstop",f);if(g){g()}l=0}if(l){l.attachEvent("onstop",f)}d.setTimeout(function(){if(l){l.detachEvent("onstop",f)}},0)}}if(d.attachEvent){d.attachEvent("onunload",g);d.attachEvent("onbeforeunload",k)}else{if(d.addEventListener){d.addEventListener("unload",g,false)}}h.unloads=[j]}else{h.unloads.push(j)}return j},removeUnload:function(i){var g=this.unloads,h=null;b.each(g,function(j,f){if(j&&j.func==i){g.splice(f,1);h=i;return false}});return h},explode:function(f,g){return f?b.map(f.split(g||","),b.trim):f},_addVer:function(g){var f;if(!this.query){return g}f=(g.indexOf("?")==-1?"?":"&")+this.query;if(g.indexOf("#")==-1){return g+f}return g.replace("#",f+"#")},_replace:function(h,f,g){if(c){return g.replace(h,function(){var l=f,j=arguments,k;for(k=0;k<j.length-2;k++){if(j[k]===e){l=l.replace(new RegExp("\\$"+k,"g"),"")}else{l=l.replace(new RegExp("\\$"+k,"g"),j[k])}}return l})}return g.replace(h,f)}};b._init();d.tinymce=d.tinyMCE=b})(window);tinymce.create("tinymce.util.Dispatcher",{scope:null,listeners:null,Dispatcher:function(a){this.scope=a||this;this.listeners=[]},add:function(a,b){this.listeners.push({cb:a,scope:b||this.scope});return a},addToTop:function(a,b){this.listeners.unshift({cb:a,scope:b||this.scope});return a},remove:function(a){var b=this.listeners,c=null;tinymce.each(b,function(e,d){if(a==e.cb){c=a;b.splice(d,1);return false}});return c},dispatch:function(){var f,d=arguments,e,b=this.listeners,g;for(e=0;e<b.length;e++){g=b[e];f=g.cb.apply(g.scope,d);if(f===false){break}}return f}});(function(){var a=tinymce.each;tinymce.create("tinymce.util.URI",{URI:function(e,g){var f=this,h,d,c;e=tinymce.trim(e);g=f.settings=g||{};if(/^(mailto|tel|news|javascript|about|data):/i.test(e)||/^\s*#/.test(e)){f.source=e;return}if(e.indexOf("/")===0&&e.indexOf("//")!==0){e=(g.base_uri?g.base_uri.protocol||"http":"http")+"://mce_host"+e}if(!/^\w*:?\/\//.test(e)){e=(g.base_uri.protocol||"http")+"://mce_host"+f.toAbsPath(g.base_uri.path,e)}e=e.replace(/@@/g,"(mce_at)");e=/^(?:(?![^:@]+:[^:@\/]*@)([^:\/?#.]+):)?(?:\/\/)?((?:(([^:@]*):?([^:@]*))?@)?([^:\/?#]*)(?::(\d*))?)(((\/(?:[^?#](?![^?#\/]*\.[^?#\/.]+(?:[?#]|$)))*\/?)?([^?#\/]*))(?:\?([^#]*))?(?:#(.*))?)/.exec(e);a(["source","protocol","authority","userInfo","user","password","host","port","relative","path","directory","file","query","anchor"],function(b,j){var k=e[j];if(k){k=k.replace(/\(mce_at\)/g,"@@")}f[b]=k});if(c=g.base_uri){if(!f.protocol){f.protocol=c.protocol}if(!f.userInfo){f.userInfo=c.userInfo}if(!f.port&&f.host=="mce_host"){f.port=c.port}if(!f.host||f.host=="mce_host"){f.host=c.host}f.source=""}},setPath:function(c){var b=this;c=/^(.*?)\/?(\w+)?$/.exec(c);b.path=c[0];b.directory=c[1];b.file=c[2];b.source="";b.getURI()},toRelative:function(b){var c=this,d;if(b==="./"){return b}b=new tinymce.util.URI(b,{base_uri:c});if((b.host!="mce_host"&&c.host!=b.host&&b.host)||c.port!=b.port||c.protocol!=b.protocol){return b.getURI()}d=c.toRelPath(c.path,b.path);if(b.query){d+="?"+b.query}if(b.anchor){d+="#"+b.anchor}return d},toAbsolute:function(b,c){var b=new tinymce.util.URI(b,{base_uri:this});return b.getURI(this.host==b.host&&this.protocol==b.protocol?c:0)},toRelPath:function(g,h){var c,f=0,d="",e,b;g=g.substring(0,g.lastIndexOf("/"));g=g.split("/");c=h.split("/");if(g.length>=c.length){for(e=0,b=g.length;e<b;e++){if(e>=c.length||g[e]!=c[e]){f=e+1;break}}}if(g.length<c.length){for(e=0,b=c.length;e<b;e++){if(e>=g.length||g[e]!=c[e]){f=e+1;break}}}if(f==1){return h}for(e=0,b=g.length-(f-1);e<b;e++){d+="../"}for(e=f-1,b=c.length;e<b;e++){if(e!=f-1){d+="/"+c[e]}else{d+=c[e]}}return d},toAbsPath:function(e,f){var c,b=0,h=[],d,g;d=/\/$/.test(f)?"/":"";e=e.split("/");f=f.split("/");a(e,function(i){if(i){h.push(i)}});e=h;for(c=f.length-1,h=[];c>=0;c--){if(f[c].length==0||f[c]=="."){continue}if(f[c]==".."){b++;continue}if(b>0){b--;continue}h.push(f[c])}c=e.length-b;if(c<=0){g=h.reverse().join("/")}else{g=e.slice(0,c).join("/")+"/"+h.reverse().join("/")}if(g.indexOf("/")!==0){g="/"+g}if(d&&g.lastIndexOf("/")!==g.length-1){g+=d}return g},getURI:function(d){var c,b=this;if(!b.source||d){c="";if(!d){if(b.protocol){c+=b.protocol+"://"}if(b.userInfo){c+=b.userInfo+"@"}if(b.host){c+=b.host}if(b.port){c+=":"+b.port}}if(b.path){c+=b.path}if(b.query){c+="?"+b.query}if(b.anchor){c+="#"+b.anchor}b.source=c}return b.source}})})();(function(){var a=tinymce.each;tinymce.create("static tinymce.util.Cookie",{getHash:function(d){var b=this.get(d),c;if(b){a(b.split("&"),function(e){e=e.split("=");c=c||{};c[unescape(e[0])]=unescape(e[1])})}return c},setHash:function(j,b,g,f,i,c){var h="";a(b,function(e,d){h+=(!h?"":"&")+escape(d)+"="+escape(e)});this.set(j,h,g,f,i,c)},get:function(i){var h=document.cookie,g,f=i+"=",d;if(!h){return}d=h.indexOf("; "+f);if(d==-1){d=h.indexOf(f);if(d!=0){return null}}else{d+=2}g=h.indexOf(";",d);if(g==-1){g=h.length}return unescape(h.substring(d+f.length,g))},set:function(i,b,g,f,h,c){document.cookie=i+"="+escape(b)+((g)?"; expires="+g.toGMTString():"")+((f)?"; path="+escape(f):"")+((h)?"; domain="+h:"")+((c)?"; secure":"")},remove:function(e,b){var c=new Date();c.setTime(c.getTime()-1000);this.set(e,"",c,b,c)}})})();tinymce.create("static tinymce.util.JSON",{serialize:function(e){var c,a,d=tinymce.util.JSON.serialize,b;if(e==null){return"null"}b=typeof e;if(b=="string"){a="\bb\tt\nn\ff\rr\"\"''\\\\";return'"'+e.replace(/([\u0080-\uFFFF\x00-\x1f\"])/g,function(g,f){c=a.indexOf(f);if(c+1){return"\\"+a.charAt(c+1)}g=f.charCodeAt().toString(16);return"\\u"+"0000".substring(g.length)+g})+'"'}if(b=="object"){if(e.hasOwnProperty&&e instanceof Array){for(c=0,a="[";c<e.length;c++){a+=(c>0?",":"")+d(e[c])}return a+"]"}a="{";for(c in e){a+=typeof e[c]!="function"?(a.length>1?',"':'"')+c+'":'+d(e[c]):""}return a+"}"}return""+e},parse:function(s){try{return eval("("+s+")")}catch(ex){}}});tinymce.create("static tinymce.util.XHR",{send:function(g){var a,e,b=window,h=0;g.scope=g.scope||this;g.success_scope=g.success_scope||g.scope;g.error_scope=g.error_scope||g.scope;g.async=g.async===false?false:true;g.data=g.data||"";function d(i){a=0;try{a=new ActiveXObject(i)}catch(c){}return a}a=b.XMLHttpRequest?new XMLHttpRequest():d("Microsoft.XMLHTTP")||d("Msxml2.XMLHTTP");if(a){if(a.overrideMimeType){a.overrideMimeType(g.content_type)}a.open(g.type||(g.data?"POST":"GET"),g.url,g.async);if(g.content_type){a.setRequestHeader("Content-Type",g.content_type)}a.setRequestHeader("X-Requested-With","XMLHttpRequest");a.send(g.data);function f(){if(!g.async||a.readyState==4||h++>10000){if(g.success&&h<10000&&a.status==200){g.success.call(g.success_scope,""+a.responseText,a,g)}else{if(g.error){g.error.call(g.error_scope,h>10000?"TIMED_OUT":"GENERAL",a,g)}}a=null}else{b.setTimeout(f,10)}}if(!g.async){return f()}e=b.setTimeout(f,10)}}});(function(){var c=tinymce.extend,b=tinymce.util.JSON,a=tinymce.util.XHR;tinymce.create("tinymce.util.JSONRequest",{JSONRequest:function(d){this.settings=c({},d);this.count=0},send:function(f){var e=f.error,d=f.success;f=c(this.settings,f);f.success=function(h,g){h=b.parse(h);if(typeof(h)=="undefined"){h={error:"JSON Parse error."}}if(h.error){e.call(f.error_scope||f.scope,h.error,g)}else{d.call(f.success_scope||f.scope,h.result)}};f.error=function(h,g){e.call(f.error_scope||f.scope,h,g)};f.data=b.serialize({id:f.id||"c"+(this.count++),method:f.method,params:f.params});f.content_type="application/json";a.send(f)},"static":{sendRPC:function(d){return new tinymce.util.JSONRequest().send(d)}}})}());(function(m){var k=m.each,j=m.is,i=m.isWebKit,d=m.isIE,a=/^(H[1-6R]|P|DIV|ADDRESS|PRE|FORM|T(ABLE|BODY|HEAD|FOOT|H|R|D)|LI|OL|UL|CAPTION|BLOCKQUOTE|CENTER|DL|DT|DD|DIR|FIELDSET|NOSCRIPT|MENU|ISINDEX|SAMP)$/,e=g("checked,compact,declare,defer,disabled,ismap,multiple,nohref,noresize,noshade,nowrap,readonly,selected"),f=g("src,href,style,coords,shape"),c={"&":"&",'"':""","<":"<",">":">"},n=/[<>&\"]/g,b=/^([a-z0-9],?)+$/i,h=/<(\w+)((?:\s+\w+(?:\s*=\s*(?:(?:"[^"]*")|(?:'[^']*')|[^>\s]+))?)*)(\s*\/?)>/g,l=/(\w+)(?:\s*=\s*(?:(?:"((?:\\.|[^"])*)")|(?:'((?:\\.|[^'])*)')|([^>\s]+)))?/g;function g(q){var p={},o;q=q.split(",");for(o=q.length;o>=0;o--){p[q[o]]=1}return p}m.create("tinymce.dom.DOMUtils",{doc:null,root:null,files:null,pixelStyles:/^(top|left|bottom|right|width|height|borderWidth)$/,props:{"for":"htmlFor","class":"className",className:"className",checked:"checked",disabled:"disabled",maxlength:"maxLength",readonly:"readOnly",selected:"selected",value:"value",id:"id",name:"name",type:"type"},DOMUtils:function(u,q){var p=this,o;p.doc=u;p.win=window;p.files={};p.cssFlicker=false;p.counter=0;p.stdMode=u.documentMode>=8;p.boxModel=!m.isIE||u.compatMode=="CSS1Compat"||p.stdMode;p.settings=q=m.extend({keep_values:false,hex_colors:1,process_html:1},q);if(m.isIE6){try{u.execCommand("BackgroundImageCache",false,true)}catch(r){p.cssFlicker=true}}if(q.valid_styles){p._styles={};k(q.valid_styles,function(t,s){p._styles[s]=m.explode(t)})}m.addUnload(p.destroy,p)},getRoot:function(){var o=this,p=o.settings;return(p&&o.get(p.root_element))||o.doc.body},getViewPort:function(p){var q,o;p=!p?this.win:p;q=p.document;o=this.boxModel?q.documentElement:q.body;return{x:p.pageXOffset||o.scrollLeft,y:p.pageYOffset||o.scrollTop,w:p.innerWidth||o.clientWidth,h:p.innerHeight||o.clientHeight}},getRect:function(s){var r,o=this,q;s=o.get(s);r=o.getPos(s);q=o.getSize(s);return{x:r.x,y:r.y,w:q.w,h:q.h}},getSize:function(r){var p=this,o,q;r=p.get(r);o=p.getStyle(r,"width");q=p.getStyle(r,"height");if(o.indexOf("px")===-1){o=0}if(q.indexOf("px")===-1){q=0}return{w:parseInt(o)||r.offsetWidth||r.clientWidth,h:parseInt(q)||r.offsetHeight||r.clientHeight}},getParent:function(q,p,o){return this.getParents(q,p,o,false)},getParents:function(z,v,s,y){var q=this,p,u=q.settings,x=[];z=q.get(z);y=y===undefined;if(u.strict_root){s=s||q.getRoot()}if(j(v,"string")){p=v;if(v==="*"){v=function(o){return o.nodeType==1}}else{v=function(o){return q.is(o,p)}}}while(z){if(z==s||!z.nodeType||z.nodeType===9){break}if(!v||v(z)){if(y){x.push(z)}else{return z}}z=z.parentNode}return y?x:null},get:function(o){var p;if(o&&this.doc&&typeof(o)=="string"){p=o;o=this.doc.getElementById(o);if(o&&o.id!==p){return this.doc.getElementsByName(p)[1]}}return o},getNext:function(p,o){return this._findSib(p,o,"nextSibling")},getPrev:function(p,o){return this._findSib(p,o,"previousSibling")},select:function(q,p){var o=this;return m.dom.Sizzle(q,o.get(p)||o.get(o.settings.root_element)||o.doc,[])},is:function(q,o){var p;if(q.length===undefined){if(o==="*"){return q.nodeType==1}if(b.test(o)){o=o.toLowerCase().split(/,/);q=q.nodeName.toLowerCase();for(p=o.length-1;p>=0;p--){if(o[p]==q){return true}}return false}}return m.dom.Sizzle.matches(o,q.nodeType?[q]:q).length>0},add:function(s,v,o,r,u){var q=this;return this.run(s,function(y){var x,t;x=j(v,"string")?q.doc.createElement(v):v;q.setAttribs(x,o);if(r){if(r.nodeType){x.appendChild(r)}else{q.setHTML(x,r)}}return !u?y.appendChild(x):x})},create:function(q,o,p){return this.add(this.doc.createElement(q),q,o,p,1)},createHTML:function(v,p,s){var u="",r=this,q;u+="<"+v;for(q in p){if(p.hasOwnProperty(q)){u+=" "+q+'="'+r.encode(p[q])+'"'}}if(typeof(s)!="undefined"){return u+">"+s+"</"+v+">"}return u+" />"},remove:function(o,p){return this.run(o,function(r){var q,s;q=r.parentNode;if(!q){return null}if(p){while(s=r.firstChild){if(!m.isIE||s.nodeType!==3||s.nodeValue){q.insertBefore(s,r)}else{r.removeChild(s)}}}return q.removeChild(r)})},setStyle:function(r,o,p){var q=this;return q.run(r,function(v){var u,t;u=v.style;o=o.replace(/-(\D)/g,function(x,s){return s.toUpperCase()});if(q.pixelStyles.test(o)&&(m.is(p,"number")||/^[\-0-9\.]+$/.test(p))){p+="px"}switch(o){case"opacity":if(d){u.filter=p===""?"":"alpha(opacity="+(p*100)+")";if(!r.currentStyle||!r.currentStyle.hasLayout){u.display="inline-block"}}u[o]=u["-moz-opacity"]=u["-khtml-opacity"]=p||"";break;case"float":d?u.styleFloat=p:u.cssFloat=p;break;default:u[o]=p||""}if(q.settings.update_styles){q.setAttrib(v,"_mce_style")}})},getStyle:function(r,o,q){r=this.get(r);if(!r){return false}if(this.doc.defaultView&&q){o=o.replace(/[A-Z]/g,function(s){return"-"+s});try{return this.doc.defaultView.getComputedStyle(r,null).getPropertyValue(o)}catch(p){return null}}o=o.replace(/-(\D)/g,function(t,s){return s.toUpperCase()});if(o=="float"){o=d?"styleFloat":"cssFloat"}if(r.currentStyle&&q){return r.currentStyle[o]}return r.style[o]},setStyles:function(u,v){var q=this,r=q.settings,p;p=r.update_styles;r.update_styles=0;k(v,function(o,s){q.setStyle(u,s,o)});r.update_styles=p;if(r.update_styles){q.setAttrib(u,r.cssText)}},setAttrib:function(q,r,o){var p=this;if(!q||!r){return}if(p.settings.strict){r=r.toLowerCase()}return this.run(q,function(u){var t=p.settings;switch(r){case"style":if(!j(o,"string")){k(o,function(s,x){p.setStyle(u,x,s)});return}if(t.keep_values){if(o&&!p._isRes(o)){u.setAttribute("_mce_style",o,2)}else{u.removeAttribute("_mce_style",2)}}u.style.cssText=o;break;case"class":u.className=o||"";break;case"src":case"href":if(t.keep_values){if(t.url_converter){o=t.url_converter.call(t.url_converter_scope||p,o,r,u)}p.setAttrib(u,"_mce_"+r,o,2)}break;case"shape":u.setAttribute("_mce_style",o);break}if(j(o)&&o!==null&&o.length!==0){u.setAttribute(r,""+o,2)}else{u.removeAttribute(r,2)}})},setAttribs:function(q,r){var p=this;return this.run(q,function(o){k(r,function(s,t){p.setAttrib(o,t,s)})})},getAttrib:function(r,s,q){var o,p=this;r=p.get(r);if(!r||r.nodeType!==1){return false}if(!j(q)){q=""}if(/^(src|href|style|coords|shape)$/.test(s)){o=r.getAttribute("_mce_"+s);if(o){return o}}if(d&&p.props[s]){o=r[p.props[s]];o=o&&o.nodeValue?o.nodeValue:o}if(!o){o=r.getAttribute(s,2)}if(/^(checked|compact|declare|defer|disabled|ismap|multiple|nohref|noshade|nowrap|readonly|selected)$/.test(s)){if(r[p.props[s]]===true&&o===""){return s}return o?s:""}if(r.nodeName==="FORM"&&r.getAttributeNode(s)){return r.getAttributeNode(s).nodeValue}if(s==="style"){o=o||r.style.cssText;if(o){o=p.serializeStyle(p.parseStyle(o),r.nodeName);if(p.settings.keep_values&&!p._isRes(o)){r.setAttribute("_mce_style",o)}}}if(i&&s==="class"&&o){o=o.replace(/(apple|webkit)\-[a-z\-]+/gi,"")}if(d){switch(s){case"rowspan":case"colspan":if(o===1){o=""}break;case"size":if(o==="+0"||o===20||o===0){o=""}break;case"width":case"height":case"vspace":case"checked":case"disabled":case"readonly":if(o===0){o=""}break;case"hspace":if(o===-1){o=""}break;case"maxlength":case"tabindex":if(o===32768||o===2147483647||o==="32768"){o=""}break;case"multiple":case"compact":case"noshade":case"nowrap":if(o===65535){return s}return q;case"shape":o=o.toLowerCase();break;default:if(s.indexOf("on")===0&&o){o=m._replace(/^function\s+\w+\(\)\s+\{\s+(.*)\s+\}$/,"$1",""+o)}}}return(o!==undefined&&o!==null&&o!=="")?""+o:q},getPos:function(A,s){var p=this,o=0,z=0,u,v=p.doc,q;A=p.get(A);s=s||v.body;if(A){if(d&&!p.stdMode){A=A.getBoundingClientRect();u=p.boxModel?v.documentElement:v.body;o=p.getStyle(p.select("html")[0],"borderWidth");o=(o=="medium"||p.boxModel&&!p.isIE6)&&2||o;return{x:A.left+u.scrollLeft-o,y:A.top+u.scrollTop-o}}q=A;while(q&&q!=s&&q.nodeType){o+=q.offsetLeft||0;z+=q.offsetTop||0;q=q.offsetParent}q=A.parentNode;while(q&&q!=s&&q.nodeType){o-=q.scrollLeft||0;z-=q.scrollTop||0;q=q.parentNode}}return{x:o,y:z}},parseStyle:function(r){var u=this,v=u.settings,x={};if(!r){return x}function p(D,A,C){var z,B,o,y;z=x[D+"-top"+A];if(!z){return}B=x[D+"-right"+A];if(z!=B){return}o=x[D+"-bottom"+A];if(B!=o){return}y=x[D+"-left"+A];if(o!=y){return}x[C]=y;delete x[D+"-top"+A];delete x[D+"-right"+A];delete x[D+"-bottom"+A];delete x[D+"-left"+A]}function q(y,s,o,A){var z;z=x[s];if(!z){return}z=x[o];if(!z){return}z=x[A];if(!z){return}x[y]=x[s]+" "+x[o]+" "+x[A];delete x[s];delete x[o];delete x[A]}r=r.replace(/&(#?[a-z0-9]+);/g,"&$1_MCE_SEMI_");k(r.split(";"),function(s){var o,t=[];if(s){s=s.replace(/_MCE_SEMI_/g,";");s=s.replace(/url\([^\)]+\)/g,function(y){t.push(y);return"url("+t.length+")"});s=s.split(":");o=m.trim(s[1]);o=o.replace(/url\(([^\)]+)\)/g,function(z,y){return t[parseInt(y)-1]});o=o.replace(/rgb\([^\)]+\)/g,function(y){return u.toHex(y)});if(v.url_converter){o=o.replace(/url\([\'\"]?([^\)\'\"]+)[\'\"]?\)/g,function(y,z){return"url("+v.url_converter.call(v.url_converter_scope||u,u.decode(z),"style",null)+")"})}x[m.trim(s[0]).toLowerCase()]=o}});p("border","","border");p("border","-width","border-width");p("border","-color","border-color");p("border","-style","border-style");p("padding","","padding");p("margin","","margin");q("border","border-width","border-style","border-color");if(d){if(x.border=="medium none"){x.border=""}}return x},serializeStyle:function(v,p){var q=this,r="";function u(s,o){if(o&&s){if(o.indexOf("-")===0){return}switch(o){case"font-weight":if(s==700){s="bold"}break;case"color":case"background-color":s=s.toLowerCase();break}r+=(r?" ":"")+o+": "+s+";"}}if(p&&q._styles){k(q._styles["*"],function(o){u(v[o],o)});k(q._styles[p.toLowerCase()],function(o){u(v[o],o)})}else{k(v,u)}return r},loadCSS:function(o){var q=this,r=q.doc,p;if(!o){o=""}p=q.select("head")[0];k(o.split(","),function(s){var t;if(q.files[s]){return}q.files[s]=true;t=q.create("link",{rel:"stylesheet",href:m._addVer(s)});if(d&&r.documentMode&&r.recalc){t.onload=function(){r.recalc();t.onload=null}}p.appendChild(t)})},addClass:function(o,p){return this.run(o,function(q){var r;if(!p){return 0}if(this.hasClass(q,p)){return q.className}r=this.removeClass(q,p);return q.className=(r!=""?(r+" "):"")+p})},removeClass:function(q,r){var o=this,p;return o.run(q,function(t){var s;if(o.hasClass(t,r)){if(!p){p=new RegExp("(^|\\s+)"+r+"(\\s+|$)","g")}s=t.className.replace(p," ");s=m.trim(s!=" "?s:"");t.className=s;if(!s){t.removeAttribute("class");t.removeAttribute("className")}return s}return t.className})},hasClass:function(p,o){p=this.get(p);if(!p||!o){return false}return(" "+p.className+" ").indexOf(" "+o+" ")!==-1},show:function(o){return this.setStyle(o,"display","block")},hide:function(o){return this.setStyle(o,"display","none")},isHidden:function(o){o=this.get(o);return !o||o.style.display=="none"||this.getStyle(o,"display")=="none"},uniqueId:function(o){return(!o?"mce_":o)+(this.counter++)},setHTML:function(q,p){var o=this;return this.run(q,function(v){var r,t,s,z,u,r;p=o.processHTML(p);if(d){function y(){while(v.firstChild){v.firstChild.removeNode()}try{v.innerHTML="<br />"+p;v.removeChild(v.firstChild)}catch(x){r=o.create("div");r.innerHTML="<br />"+p;k(r.childNodes,function(B,A){if(A){v.appendChild(B)}})}}if(o.settings.fix_ie_paragraphs){p=p.replace(/<p><\/p>|<p([^>]+)><\/p>|<p[^\/+]\/>/gi,'<p$1 _mce_keep="true"> </p>')}y();if(o.settings.fix_ie_paragraphs){s=v.getElementsByTagName("p");for(t=s.length-1,r=0;t>=0;t--){z=s[t];if(!z.hasChildNodes()){if(!z._mce_keep){r=1;break}z.removeAttribute("_mce_keep")}}}if(r){p=p.replace(/<p ([^>]+)>|<p>/ig,'<div $1 _mce_tmp="1">');p=p.replace(/<\/p>/gi,"</div>");y();if(o.settings.fix_ie_paragraphs){s=v.getElementsByTagName("DIV");for(t=s.length-1;t>=0;t--){z=s[t];if(z._mce_tmp){u=o.doc.createElement("p");z.cloneNode(false).outerHTML.replace(/([a-z0-9\-_]+)=/gi,function(A,x){var B;if(x!=="_mce_tmp"){B=z.getAttribute(x);if(!B&&x==="class"){B=z.className}u.setAttribute(x,B)}});for(r=0;r<z.childNodes.length;r++){u.appendChild(z.childNodes[r].cloneNode(true))}z.swapNode(u)}}}}}else{v.innerHTML=p}return p})},processHTML:function(r){var p=this,q=p.settings,v=[];if(!q.process_html){return r}if(d){r=r.replace(/'/g,"'");r=r.replace(/\s+(disabled|checked|readonly|selected)\s*=\s*[\"\']?(false|0)[\"\']?/gi,"")}r=m._replace(/<a( )([^>]+)\/>|<a\/>/gi,"<a$1$2></a>",r);if(q.keep_values){if(/<script|noscript|style/i.test(r)){function o(t){t=t.replace(/(<!--\[CDATA\[|\]\]-->)/g,"\n");t=t.replace(/^[\r\n]*|[\r\n]*$/g,"");t=t.replace(/^\s*(\/\/\s*<!--|\/\/\s*<!\[CDATA\[|<!--|<!\[CDATA\[)[\r\n]*/g,"");t=t.replace(/\s*(\/\/\s*\]\]>|\/\/\s*-->|\]\]>|-->|\]\]-->)\s*$/g,"");return t}r=r.replace(/<script([^>]+|)>([\s\S]*?)<\/script>/gi,function(s,x,t){if(!x){x=' type="text/javascript"'}x=x.replace(/src=\"([^\"]+)\"?/i,function(y,z){if(q.url_converter){z=p.encode(q.url_converter.call(q.url_converter_scope||p,p.decode(z),"src","script"))}return'_mce_src="'+z+'"'});if(m.trim(t)){v.push(o(t));t="<!--\nMCE_SCRIPT:"+(v.length-1)+"\n// -->"}return"<mce:script"+x+">"+t+"</mce:script>"});r=r.replace(/<style([^>]+|)>([\s\S]*?)<\/style>/gi,function(s,x,t){if(t){v.push(o(t));t="<!--\nMCE_SCRIPT:"+(v.length-1)+"\n-->"}return"<mce:style"+x+">"+t+"</mce:style><style "+x+' _mce_bogus="1">'+t+"</style>"});r=r.replace(/<noscript([^>]+|)>([\s\S]*?)<\/noscript>/g,function(s,x,t){return"<mce:noscript"+x+"><!--"+p.encode(t).replace(/--/g,"--")+"--></mce:noscript>"})}r=m._replace(/<!\[CDATA\[([\s\S]+)\]\]>/g,"<!--[CDATA[$1]]-->",r);function u(s){return s.replace(h,function(y,z,x,t){return"<"+z+x.replace(l,function(B,A,E,D,C){var F;A=A.toLowerCase();E=E||D||C||"";if(e[A]){if(E==="false"||E==="0"){return}return A+'="'+A+'"'}if(f[A]&&x.indexOf("_mce_"+A)==-1){F=p.decode(E);if(q.url_converter&&(A=="src"||A=="href")){F=q.url_converter.call(q.url_converter_scope||p,F,A,z)}if(A=="style"){F=p.serializeStyle(p.parseStyle(F),A)}return A+'="'+E+'" _mce_'+A+'="'+p.encode(F)+'"'}return B})+t+">"})}r=u(r);r=r.replace(/MCE_SCRIPT:([0-9]+)/g,function(t,s){return v[s]})}return r},getOuterHTML:function(o){var p;o=this.get(o);if(!o){return null}if(o.outerHTML!==undefined){return o.outerHTML}p=(o.ownerDocument||this.doc).createElement("body");p.appendChild(o.cloneNode(true));return p.innerHTML},setOuterHTML:function(r,p,s){var o=this;function q(u,t,x){var y,v;v=x.createElement("body");v.innerHTML=t;y=v.lastChild;while(y){o.insertAfter(y.cloneNode(true),u);y=y.previousSibling}o.remove(u)}return this.run(r,function(u){u=o.get(u);if(u.nodeType==1){s=s||u.ownerDocument||o.doc;if(d){try{if(d&&u.nodeType==1){u.outerHTML=p}else{q(u,p,s)}}catch(t){q(u,p,s)}}else{q(u,p,s)}}})},decode:function(p){var q,r,o;if(/&[\w#]+;/.test(p)){q=this.doc.createElement("div");q.innerHTML=p;r=q.firstChild;o="";if(r){do{o+=r.nodeValue}while(r=r.nextSibling)}return o||p}return p},encode:function(o){return(""+o).replace(n,function(p){return c[p]})},insertAfter:function(o,p){p=this.get(p);return this.run(o,function(r){var q,s;q=p.parentNode;s=p.nextSibling;if(s){q.insertBefore(r,s)}else{q.appendChild(r)}return r})},isBlock:function(o){if(o.nodeType&&o.nodeType!==1){return false}o=o.nodeName||o;return a.test(o)},replace:function(s,r,p){var q=this;if(j(r,"array")){s=s.cloneNode(true)}return q.run(r,function(t){if(p){k(m.grep(t.childNodes),function(o){s.appendChild(o)})}return t.parentNode.replaceChild(s,t)})},rename:function(r,o){var q=this,p;if(r.nodeName!=o.toUpperCase()){p=q.create(o);k(q.getAttribs(r),function(s){q.setAttrib(p,s.nodeName,q.getAttrib(r,s.nodeName))});q.replace(p,r,1)}return p||r},findCommonAncestor:function(q,o){var r=q,p;while(r){p=o;while(p&&r!=p){p=p.parentNode}if(r==p){break}r=r.parentNode}if(!r&&q.ownerDocument){return q.ownerDocument.documentElement}return r},toHex:function(o){var q=/^\s*rgb\s*?\(\s*?([0-9]+)\s*?,\s*?([0-9]+)\s*?,\s*?([0-9]+)\s*?\)\s*$/i.exec(o);function p(r){r=parseInt(r).toString(16);return r.length>1?r:"0"+r}if(q){o="#"+p(q[1])+p(q[2])+p(q[3]);return o}return o},getClasses:function(){var s=this,o=[],r,u={},v=s.settings.class_filter,q;if(s.classes){return s.classes}function x(t){k(t.imports,function(y){x(y)});k(t.cssRules||t.rules,function(y){switch(y.type||1){case 1:if(y.selectorText){k(y.selectorText.split(","),function(z){z=z.replace(/^\s*|\s*$|^\s\./g,"");if(/\.mce/.test(z)||!/\.[\w\-]+$/.test(z)){return}q=z;z=m._replace(/.*\.([a-z0-9_\-]+).*/i,"$1",z);if(v&&!(z=v(z,q))){return}if(!u[z]){o.push({"class":z});u[z]=1}})}break;case 3:x(y.styleSheet);break}})}try{k(s.doc.styleSheets,x)}catch(p){}if(o.length>0){s.classes=o}return o},run:function(u,r,q){var p=this,v;if(p.doc&&typeof(u)==="string"){u=p.get(u)}if(!u){return false}q=q||this;if(!u.nodeType&&(u.length||u.length===0)){v=[];k(u,function(s,o){if(s){if(typeof(s)=="string"){s=p.doc.getElementById(s)}v.push(r.call(q,s,o))}});return v}return r.call(q,u)},getAttribs:function(q){var p;q=this.get(q);if(!q){return[]}if(d){p=[];if(q.nodeName=="OBJECT"){return q.attributes}if(q.nodeName==="OPTION"&&this.getAttrib(q,"selected")){p.push({specified:1,nodeName:"selected"})}q.cloneNode(false).outerHTML.replace(/<\/?[\w:\-]+ ?|=[\"][^\"]+\"|=\'[^\']+\'|=[\w\-]+|>/gi,"").replace(/[\w:\-]+/gi,function(o){p.push({specified:1,nodeName:o})});return p}return q.attributes},destroy:function(p){var o=this;if(o.events){o.events.destroy()}o.win=o.doc=o.root=o.events=null;if(!p){m.removeUnload(o.destroy)}},createRng:function(){var o=this.doc;return o.createRange?o.createRange():new m.dom.Range(this)},nodeIndex:function(s,t){var o=0,q,r,p;if(s){for(q=s.nodeType,s=s.previousSibling,r=s;s;s=s.previousSibling){p=s.nodeType;if(t&&p==3){if(p==q||!s.nodeValue.length){continue}}o++;q=p}}return o},split:function(u,s,y){var z=this,o=z.createRng(),v,q,x;function p(A){var t,r=A.childNodes;if(A.nodeType==1&&A.getAttribute("_mce_type")=="bookmark"){return}for(t=r.length-1;t>=0;t--){p(r[t])}if(A.nodeType!=9){if(A.nodeType==3&&A.nodeValue.length>0){if(!z.isBlock(A.parentNode)||m.trim(A.nodeValue).length>0){return}}if(A.nodeType==1){r=A.childNodes;if(r.length==1&&r[0]&&r[0].nodeType==1&&r[0].getAttribute("_mce_type")=="bookmark"){A.parentNode.insertBefore(r[0],A)}if(r.length||/^(br|hr|input|img)$/i.test(A.nodeName)){return}}z.remove(A)}return A}if(u&&s){o.setStart(u.parentNode,z.nodeIndex(u));o.setEnd(s.parentNode,z.nodeIndex(s));v=o.extractContents();o=z.createRng();o.setStart(s.parentNode,z.nodeIndex(s)+1);o.setEnd(u.parentNode,z.nodeIndex(u)+1);q=o.extractContents();x=u.parentNode;x.insertBefore(p(v),u);if(y){x.replaceChild(y,s)}else{x.insertBefore(s,u)}x.insertBefore(p(q),u);z.remove(u);return y||s}},bind:function(s,o,r,q){var p=this;if(!p.events){p.events=new m.dom.EventUtils()}return p.events.add(s,o,r,q||this)},unbind:function(r,o,q){var p=this;if(!p.events){p.events=new m.dom.EventUtils()}return p.events.remove(r,o,q)},_findSib:function(r,o,p){var q=this,s=o;if(r){if(j(s,"string")){s=function(t){return q.is(t,o)}}for(r=r[p];r;r=r[p]){if(s(r)){return r}}}return null},_isRes:function(o){return/^(top|left|bottom|right|width|height)/i.test(o)||/;\s*(top|left|bottom|right|width|height)/i.test(o)}});m.DOM=new m.dom.DOMUtils(document,{process_html:0})})(tinymce);(function(a){function b(c){var N=this,e=c.doc,S=0,E=1,j=2,D=true,R=false,U="startOffset",h="startContainer",P="endContainer",z="endOffset",k=tinymce.extend,n=c.nodeIndex;k(N,{startContainer:e,startOffset:0,endContainer:e,endOffset:0,collapsed:D,commonAncestorContainer:e,START_TO_START:0,START_TO_END:1,END_TO_END:2,END_TO_START:3,setStart:q,setEnd:s,setStartBefore:g,setStartAfter:I,setEndBefore:J,setEndAfter:u,collapse:A,selectNode:x,selectNodeContents:F,compareBoundaryPoints:v,deleteContents:p,extractContents:H,cloneContents:d,insertNode:C,surroundContents:M,cloneRange:K});function q(V,t){B(D,V,t)}function s(V,t){B(R,V,t)}function g(t){q(t.parentNode,n(t))}function I(t){q(t.parentNode,n(t)+1)}function J(t){s(t.parentNode,n(t))}function u(t){s(t.parentNode,n(t)+1)}function A(t){if(t){N[P]=N[h];N[z]=N[U]}else{N[h]=N[P];N[U]=N[z]}N.collapsed=D}function x(t){g(t);u(t)}function F(t){q(t,0);s(t,t.nodeType===1?t.childNodes.length:t.nodeValue.length)}function v(W,X){var Z=N[h],Y=N[U],V=N[P],t=N[z];if(W===0){return G(Z,Y,Z,Y)}if(W===1){return G(Z,Y,V,t)}if(W===2){return G(V,t,V,t)}if(W===3){return G(V,t,Z,Y)}}function p(){m(j)}function H(){return m(S)}function d(){return m(E)}function C(Y){var V=this[h],t=this[U],X,W;if((V.nodeType===3||V.nodeType===4)&&V.nodeValue){if(!t){V.parentNode.insertBefore(Y,V)}else{if(t>=V.nodeValue.length){c.insertAfter(Y,V)}else{X=V.splitText(t);V.parentNode.insertBefore(Y,X)}}}else{if(V.childNodes.length>0){W=V.childNodes[t]}if(W){V.insertBefore(Y,W)}else{V.appendChild(Y)}}}function M(V){var t=N.extractContents();N.insertNode(V);V.appendChild(t);N.selectNode(V)}function K(){return k(new b(c),{startContainer:N[h],startOffset:N[U],endContainer:N[P],endOffset:N[z],collapsed:N.collapsed,commonAncestorContainer:N.commonAncestorContainer})}function O(t,V){var W;if(t.nodeType==3){return t}if(V<0){return t}W=t.firstChild;while(W&&V>0){--V;W=W.nextSibling}if(W){return W}return t}function l(){return(N[h]==N[P]&&N[U]==N[z])}function G(X,Z,V,Y){var aa,W,t,ab,ad,ac;if(X==V){if(Z==Y){return 0}if(Z<Y){return -1}return 1}aa=V;while(aa&&aa.parentNode!=X){aa=aa.parentNode}if(aa){W=0;t=X.firstChild;while(t!=aa&&W<Z){W++;t=t.nextSibling}if(Z<=W){return -1}return 1}aa=X;while(aa&&aa.parentNode!=V){aa=aa.parentNode}if(aa){W=0;t=V.firstChild;while(t!=aa&&W<Y){W++;t=t.nextSibling}if(W<Y){return -1}return 1}ab=c.findCommonAncestor(X,V);ad=X;while(ad&&ad.parentNode!=ab){ad=ad.parentNode}if(!ad){ad=ab}ac=V;while(ac&&ac.parentNode!=ab){ac=ac.parentNode}if(!ac){ac=ab}if(ad==ac){return 0}t=ab.firstChild;while(t){if(t==ad){return -1}if(t==ac){return 1}t=t.nextSibling}}function B(V,Y,X){var t,W;if(V){N[h]=Y;N[U]=X}else{N[P]=Y;N[z]=X}t=N[P];while(t.parentNode){t=t.parentNode}W=N[h];while(W.parentNode){W=W.parentNode}if(W==t){if(G(N[h],N[U],N[P],N[z])>0){N.collapse(V)}}else{N.collapse(V)}N.collapsed=l();N.commonAncestorContainer=c.findCommonAncestor(N[h],N[P])}function m(ab){var aa,X=0,ad=0,V,Z,W,Y,t,ac;if(N[h]==N[P]){return f(ab)}for(aa=N[P],V=aa.parentNode;V;aa=V,V=V.parentNode){if(V==N[h]){return r(aa,ab)}++X}for(aa=N[h],V=aa.parentNode;V;aa=V,V=V.parentNode){if(V==N[P]){return T(aa,ab)}++ad}Z=ad-X;W=N[h];while(Z>0){W=W.parentNode;Z--}Y=N[P];while(Z<0){Y=Y.parentNode;Z++}for(t=W.parentNode,ac=Y.parentNode;t!=ac;t=t.parentNode,ac=ac.parentNode){W=t;Y=ac}return o(W,Y,ab)}function f(Z){var ab,Y,X,aa,t,W,V;if(Z!=j){ab=e.createDocumentFragment()}if(N[U]==N[z]){return ab}if(N[h].nodeType==3){Y=N[h].nodeValue;X=Y.substring(N[U],N[z]);if(Z!=E){N[h].deleteData(N[U],N[z]-N[U]);N.collapse(D)}if(Z==j){return}ab.appendChild(e.createTextNode(X));return ab}aa=O(N[h],N[U]);t=N[z]-N[U];while(t>0){W=aa.nextSibling;V=y(aa,Z);if(ab){ab.appendChild(V)}--t;aa=W}if(Z!=E){N.collapse(D)}return ab}function r(ab,Y){var aa,Z,V,t,X,W;if(Y!=j){aa=e.createDocumentFragment()}Z=i(ab,Y);if(aa){aa.appendChild(Z)}V=n(ab);t=V-N[U];if(t<=0){if(Y!=E){N.setEndBefore(ab);N.collapse(R)}return aa}Z=ab.previousSibling;while(t>0){X=Z.previousSibling;W=y(Z,Y);if(aa){aa.insertBefore(W,aa.firstChild)}--t;Z=X}if(Y!=E){N.setEndBefore(ab);N.collapse(R)}return aa}function T(Z,Y){var ab,V,aa,t,X,W;if(Y!=j){ab=e.createDocumentFragment()}aa=Q(Z,Y);if(ab){ab.appendChild(aa)}V=n(Z);++V;t=N[z]-V;aa=Z.nextSibling;while(t>0){X=aa.nextSibling;W=y(aa,Y);if(ab){ab.appendChild(W)}--t;aa=X}if(Y!=E){N.setStartAfter(Z);N.collapse(D)}return ab}function o(Z,t,ac){var W,ae,Y,aa,ab,V,ad,X;if(ac!=j){ae=e.createDocumentFragment()}W=Q(Z,ac);if(ae){ae.appendChild(W)}Y=Z.parentNode;aa=n(Z);ab=n(t);++aa;V=ab-aa;ad=Z.nextSibling;while(V>0){X=ad.nextSibling;W=y(ad,ac);if(ae){ae.appendChild(W)}ad=X;--V}W=i(t,ac);if(ae){ae.appendChild(W)}if(ac!=E){N.setStartAfter(Z);N.collapse(D)}return ae}function i(aa,ab){var W=O(N[P],N[z]-1),ac,Z,Y,t,V,X=W!=N[P];if(W==aa){return L(W,X,R,ab)}ac=W.parentNode;Z=L(ac,R,R,ab);while(ac){while(W){Y=W.previousSibling;t=L(W,X,R,ab);if(ab!=j){Z.insertBefore(t,Z.firstChild)}X=D;W=Y}if(ac==aa){return Z}W=ac.previousSibling;ac=ac.parentNode;V=L(ac,R,R,ab);if(ab!=j){V.appendChild(Z)}Z=V}}function Q(aa,ab){var X=O(N[h],N[U]),Y=X!=N[h],ac,Z,W,t,V;if(X==aa){return L(X,Y,D,ab)}ac=X.parentNode;Z=L(ac,R,D,ab);while(ac){while(X){W=X.nextSibling;t=L(X,Y,D,ab);if(ab!=j){Z.appendChild(t)}Y=D;X=W}if(ac==aa){return Z}X=ac.nextSibling;ac=ac.parentNode;V=L(ac,R,D,ab);if(ab!=j){V.appendChild(Z)}Z=V}}function L(t,Y,ab,ac){var X,W,Z,V,aa;if(Y){return y(t,ac)}if(t.nodeType==3){X=t.nodeValue;if(ab){V=N[U];W=X.substring(V);Z=X.substring(0,V)}else{V=N[z];W=X.substring(0,V);Z=X.substring(V)}if(ac!=E){t.nodeValue=Z}if(ac==j){return}aa=t.cloneNode(R);aa.nodeValue=W;return aa}if(ac==j){return}return t.cloneNode(R)}function y(V,t){if(t!=j){return t==E?V.cloneNode(D):V}V.parentNode.removeChild(V)}}a.Range=b})(tinymce.dom);(function(){function a(g){var i=this,j="\uFEFF",e,h,d=g.dom,c=true,f=false;function b(){var n=g.getRng(),k=d.createRng(),m,o;m=n.item?n.item(0):n.parentElement();if(m.ownerDocument!=d.doc){return k}if(n.item||!m.hasChildNodes()){k.setStart(m.parentNode,d.nodeIndex(m));k.setEnd(k.startContainer,k.startOffset+1);return k}o=g.isCollapsed();function l(s){var u,q,t,p,A=0,x,y,z,r,v;r=n.duplicate();r.collapse(s);u=d.create("a");z=r.parentElement();if(!z.hasChildNodes()){k[s?"setStart":"setEnd"](z,0);return}z.appendChild(u);r.moveToElementText(u);v=n.compareEndPoints(s?"StartToStart":"EndToEnd",r);if(v>0){k[s?"setStartAfter":"setEndAfter"](z);d.remove(u);return}p=tinymce.grep(z.childNodes);x=p.length-1;while(A<=x){y=Math.floor((A+x)/2);z.insertBefore(u,p[y]);r.moveToElementText(u);v=n.compareEndPoints(s?"StartToStart":"EndToEnd",r);if(v>0){A=y+1}else{if(v<0){x=y-1}else{found=true;break}}}q=v>0||y==0?u.nextSibling:u.previousSibling;if(q.nodeType==1){d.remove(u);t=d.nodeIndex(q);q=q.parentNode;if(!s||y>0){t++}}else{if(v>0||y==0){r.setEndPoint(s?"StartToStart":"EndToEnd",n);t=r.text.length}else{r.setEndPoint(s?"StartToStart":"EndToEnd",n);t=q.nodeValue.length-r.text.length}d.remove(u)}k[s?"setStart":"setEnd"](q,t)}l(true);if(!o){l()}return k}this.addRange=function(k){var p,n,m,r,u,s,t=g.dom.doc,o=t.body;function l(B){var x,A,v,z,y;v=d.create("a");x=B?m:u;A=B?r:s;z=p.duplicate();if(x==t){x=o;A=0}if(x.nodeType==3){x.parentNode.insertBefore(v,x);z.moveToElementText(v);z.moveStart("character",A);d.remove(v);p.setEndPoint(B?"StartToStart":"EndToEnd",z)}else{y=x.childNodes;if(y.length){if(A>=y.length){d.insertAfter(v,y[y.length-1])}else{x.insertBefore(v,y[A])}z.moveToElementText(v)}else{v=t.createTextNode(j);x.appendChild(v);z.moveToElementText(v.parentNode);z.collapse(c)}p.setEndPoint(B?"StartToStart":"EndToEnd",z);d.remove(v)}}this.destroy();m=k.startContainer;r=k.startOffset;u=k.endContainer;s=k.endOffset;p=o.createTextRange();if(m==u&&m.nodeType==1&&r==s-1){if(r==s-1){try{n=o.createControlRange();n.addElement(m.childNodes[r]);n.select();n.scrollIntoView();return}catch(q){}}}l(true);l();p.select();p.scrollIntoView()};this.getRangeAt=function(){if(!e||!tinymce.dom.RangeUtils.compareRanges(h,g.getRng())){e=b();h=g.getRng()}try{e.startContainer.nextSibling}catch(k){e=b();h=null}return e};this.destroy=function(){h=e=null}}tinymce.dom.TridentSelection=a})();(function(){var p=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^\[\]]*\]|['"][^'"]*['"]|[^\[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,j=0,d=Object.prototype.toString,o=false,i=true;[0,0].sort(function(){i=false;return 0});var b=function(v,e,z,A){z=z||[];e=e||document;var C=e;if(e.nodeType!==1&&e.nodeType!==9){return[]}if(!v||typeof v!=="string"){return z}var x=[],s,E,H,r,u=true,t=b.isXML(e),B=v,D,G,F,y;do{p.exec("");s=p.exec(B);if(s){B=s[3];x.push(s[1]);if(s[2]){r=s[3];break}}}while(s);if(x.length>1&&k.exec(v)){if(x.length===2&&f.relative[x[0]]){E=h(x[0]+x[1],e)}else{E=f.relative[x[0]]?[e]:b(x.shift(),e);while(x.length){v=x.shift();if(f.relative[v]){v+=x.shift()}E=h(v,E)}}}else{if(!A&&x.length>1&&e.nodeType===9&&!t&&f.match.ID.test(x[0])&&!f.match.ID.test(x[x.length-1])){D=b.find(x.shift(),e,t);e=D.expr?b.filter(D.expr,D.set)[0]:D.set[0]}if(e){D=A?{expr:x.pop(),set:a(A)}:b.find(x.pop(),x.length===1&&(x[0]==="~"||x[0]==="+")&&e.parentNode?e.parentNode:e,t);E=D.expr?b.filter(D.expr,D.set):D.set;if(x.length>0){H=a(E)}else{u=false}while(x.length){G=x.pop();F=G;if(!f.relative[G]){G=""}else{F=x.pop()}if(F==null){F=e}f.relative[G](H,F,t)}}else{H=x=[]}}if(!H){H=E}if(!H){b.error(G||v)}if(d.call(H)==="[object Array]"){if(!u){z.push.apply(z,H)}else{if(e&&e.nodeType===1){for(y=0;H[y]!=null;y++){if(H[y]&&(H[y]===true||H[y].nodeType===1&&b.contains(e,H[y]))){z.push(E[y])}}}else{for(y=0;H[y]!=null;y++){if(H[y]&&H[y].nodeType===1){z.push(E[y])}}}}}else{a(H,z)}if(r){b(r,C,z,A);b.uniqueSort(z)}return z};b.uniqueSort=function(r){if(c){o=i;r.sort(c);if(o){for(var e=1;e<r.length;e++){if(r[e]===r[e-1]){r.splice(e--,1)}}}}return r};b.matches=function(e,r){return b(e,null,null,r)};b.find=function(y,e,z){var x;if(!y){return[]}for(var t=0,s=f.order.length;t<s;t++){var v=f.order[t],u;if((u=f.leftMatch[v].exec(y))){var r=u[1];u.splice(1,1);if(r.substr(r.length-1)!=="\\"){u[1]=(u[1]||"").replace(/\\/g,"");x=f.find[v](u,e,z);if(x!=null){y=y.replace(f.match[v],"");break}}}}if(!x){x=e.getElementsByTagName("*")}return{set:x,expr:y}};b.filter=function(C,B,F,u){var s=C,H=[],z=B,x,e,y=B&&B[0]&&b.isXML(B[0]);while(C&&B.length){for(var A in f.filter){if((x=f.leftMatch[A].exec(C))!=null&&x[2]){var r=f.filter[A],G,E,t=x[1];e=false;x.splice(1,1);if(t.substr(t.length-1)==="\\"){continue}if(z===H){H=[]}if(f.preFilter[A]){x=f.preFilter[A](x,z,F,H,u,y);if(!x){e=G=true}else{if(x===true){continue}}}if(x){for(var v=0;(E=z[v])!=null;v++){if(E){G=r(E,x,v,z);var D=u^!!G;if(F&&G!=null){if(D){e=true}else{z[v]=false}}else{if(D){H.push(E);e=true}}}}}if(G!==undefined){if(!F){z=H}C=C.replace(f.match[A],"");if(!e){return[]}break}}}if(C===s){if(e==null){b.error(C)}else{break}}s=C}return z};b.error=function(e){throw"Syntax error, unrecognized expression: "+e};var f=b.selectors={order:["ID","NAME","TAG"],match:{ID:/#((?:[\w\u00c0-\uFFFF\-]|\\.)+)/,CLASS:/\.((?:[\w\u00c0-\uFFFF\-]|\\.)+)/,NAME:/\[name=['"]*((?:[\w\u00c0-\uFFFF\-]|\\.)+)['"]*\]/,ATTR:/\[\s*((?:[\w\u00c0-\uFFFF\-]|\\.)+)\s*(?:(\S?=)\s*(['"]*)(.*?)\3|)\s*\]/,TAG:/^((?:[\w\u00c0-\uFFFF\*\-]|\\.)+)/,CHILD:/:(only|nth|last|first)-child(?:\((even|odd|[\dn+\-]*)\))?/,POS:/:(nth|eq|gt|lt|first|last|even|odd)(?:\((\d*)\))?(?=[^\-]|$)/,PSEUDO:/:((?:[\w\u00c0-\uFFFF\-]|\\.)+)(?:\((['"]?)((?:\([^\)]+\)|[^\(\)]*)+)\2\))?/},leftMatch:{},attrMap:{"class":"className","for":"htmlFor"},attrHandle:{href:function(e){return e.getAttribute("href")}},relative:{"+":function(x,r){var t=typeof r==="string",v=t&&!/\W/.test(r),y=t&&!v;if(v){r=r.toLowerCase()}for(var s=0,e=x.length,u;s<e;s++){if((u=x[s])){while((u=u.previousSibling)&&u.nodeType!==1){}x[s]=y||u&&u.nodeName.toLowerCase()===r?u||false:u===r}}if(y){b.filter(r,x,true)}},">":function(x,r){var u=typeof r==="string",v,s=0,e=x.length;if(u&&!/\W/.test(r)){r=r.toLowerCase();for(;s<e;s++){v=x[s];if(v){var t=v.parentNode;x[s]=t.nodeName.toLowerCase()===r?t:false}}}else{for(;s<e;s++){v=x[s];if(v){x[s]=u?v.parentNode:v.parentNode===r}}if(u){b.filter(r,x,true)}}},"":function(t,r,v){var s=j++,e=q,u;if(typeof r==="string"&&!/\W/.test(r)){r=r.toLowerCase();u=r;e=n}e("parentNode",r,s,t,u,v)},"~":function(t,r,v){var s=j++,e=q,u;if(typeof r==="string"&&!/\W/.test(r)){r=r.toLowerCase();u=r;e=n}e("previousSibling",r,s,t,u,v)}},find:{ID:function(r,s,t){if(typeof s.getElementById!=="undefined"&&!t){var e=s.getElementById(r[1]);return e?[e]:[]}},NAME:function(s,v){if(typeof v.getElementsByName!=="undefined"){var r=[],u=v.getElementsByName(s[1]);for(var t=0,e=u.length;t<e;t++){if(u[t].getAttribute("name")===s[1]){r.push(u[t])}}return r.length===0?null:r}},TAG:function(e,r){return r.getElementsByTagName(e[1])}},preFilter:{CLASS:function(t,r,s,e,x,y){t=" "+t[1].replace(/\\/g,"")+" ";if(y){return t}for(var u=0,v;(v=r[u])!=null;u++){if(v){if(x^(v.className&&(" "+v.className+" ").replace(/[\t\n]/g," ").indexOf(t)>=0)){if(!s){e.push(v)}}else{if(s){r[u]=false}}}}return false},ID:function(e){return e[1].replace(/\\/g,"")},TAG:function(r,e){return r[1].toLowerCase()},CHILD:function(e){if(e[1]==="nth"){var r=/(-?)(\d*)n((?:\+|-)?\d*)/.exec(e[2]==="even"&&"2n"||e[2]==="odd"&&"2n+1"||!/\D/.test(e[2])&&"0n+"+e[2]||e[2]);e[2]=(r[1]+(r[2]||1))-0;e[3]=r[3]-0}e[0]=j++;return e},ATTR:function(u,r,s,e,v,x){var t=u[1].replace(/\\/g,"");if(!x&&f.attrMap[t]){u[1]=f.attrMap[t]}if(u[2]==="~="){u[4]=" "+u[4]+" "}return u},PSEUDO:function(u,r,s,e,v){if(u[1]==="not"){if((p.exec(u[3])||"").length>1||/^\w/.test(u[3])){u[3]=b(u[3],null,null,r)}else{var t=b.filter(u[3],r,s,true^v);if(!s){e.push.apply(e,t)}return false}}else{if(f.match.POS.test(u[0])||f.match.CHILD.test(u[0])){return true}}return u},POS:function(e){e.unshift(true);return e}},filters:{enabled:function(e){return e.disabled===false&&e.type!=="hidden"},disabled:function(e){return e.disabled===true},checked:function(e){return e.checked===true},selected:function(e){e.parentNode.selectedIndex;return e.selected===true},parent:function(e){return !!e.firstChild},empty:function(e){return !e.firstChild},has:function(s,r,e){return !!b(e[3],s).length},header:function(e){return(/h\d/i).test(e.nodeName)},text:function(e){return"text"===e.type},radio:function(e){return"radio"===e.type},checkbox:function(e){return"checkbox"===e.type},file:function(e){return"file"===e.type},password:function(e){return"password"===e.type},submit:function(e){return"submit"===e.type},image:function(e){return"image"===e.type},reset:function(e){return"reset"===e.type},button:function(e){return"button"===e.type||e.nodeName.toLowerCase()==="button"},input:function(e){return(/input|select|textarea|button/i).test(e.nodeName)}},setFilters:{first:function(r,e){return e===0},last:function(s,r,e,t){return r===t.length-1},even:function(r,e){return e%2===0},odd:function(r,e){return e%2===1},lt:function(s,r,e){return r<e[3]-0},gt:function(s,r,e){return r>e[3]-0},nth:function(s,r,e){return e[3]-0===r},eq:function(s,r,e){return e[3]-0===r}},filter:{PSEUDO:function(s,y,x,z){var e=y[1],r=f.filters[e];if(r){return r(s,x,y,z)}else{if(e==="contains"){return(s.textContent||s.innerText||b.getText([s])||"").indexOf(y[3])>=0}else{if(e==="not"){var t=y[3];for(var v=0,u=t.length;v<u;v++){if(t[v]===s){return false}}return true}else{b.error("Syntax error, unrecognized expression: "+e)}}}},CHILD:function(e,t){var x=t[1],r=e;switch(x){case"only":case"first":while((r=r.previousSibling)){if(r.nodeType===1){return false}}if(x==="first"){return true}r=e;case"last":while((r=r.nextSibling)){if(r.nodeType===1){return false}}return true;case"nth":var s=t[2],A=t[3];if(s===1&&A===0){return true}var v=t[0],z=e.parentNode;if(z&&(z.sizcache!==v||!e.nodeIndex)){var u=0;for(r=z.firstChild;r;r=r.nextSibling){if(r.nodeType===1){r.nodeIndex=++u}}z.sizcache=v}var y=e.nodeIndex-A;if(s===0){return y===0}else{return(y%s===0&&y/s>=0)}}},ID:function(r,e){return r.nodeType===1&&r.getAttribute("id")===e},TAG:function(r,e){return(e==="*"&&r.nodeType===1)||r.nodeName.toLowerCase()===e},CLASS:function(r,e){return(" "+(r.className||r.getAttribute("class"))+" ").indexOf(e)>-1},ATTR:function(v,t){var s=t[1],e=f.attrHandle[s]?f.attrHandle[s](v):v[s]!=null?v[s]:v.getAttribute(s),x=e+"",u=t[2],r=t[4];return e==null?u==="!=":u==="="?x===r:u==="*="?x.indexOf(r)>=0:u==="~="?(" "+x+" ").indexOf(r)>=0:!r?x&&e!==false:u==="!="?x!==r:u==="^="?x.indexOf(r)===0:u==="$="?x.substr(x.length-r.length)===r:u==="|="?x===r||x.substr(0,r.length+1)===r+"-":false},POS:function(u,r,s,v){var e=r[2],t=f.setFilters[e];if(t){return t(u,s,r,v)}}}};var k=f.match.POS,g=function(r,e){return"\\"+(e-0+1)};for(var m in f.match){f.match[m]=new RegExp(f.match[m].source+(/(?![^\[]*\])(?![^\(]*\))/.source));f.leftMatch[m]=new RegExp(/(^(?:.|\r|\n)*?)/.source+f.match[m].source.replace(/\\(\d+)/g,g))}var a=function(r,e){r=Array.prototype.slice.call(r,0);if(e){e.push.apply(e,r);return e}return r};try{Array.prototype.slice.call(document.documentElement.childNodes,0)[0].nodeType}catch(l){a=function(u,t){var r=t||[],s=0;if(d.call(u)==="[object Array]"){Array.prototype.push.apply(r,u)}else{if(typeof u.length==="number"){for(var e=u.length;s<e;s++){r.push(u[s])}}else{for(;u[s];s++){r.push(u[s])}}}return r}}var c;if(document.documentElement.compareDocumentPosition){c=function(r,e){if(!r.compareDocumentPosition||!e.compareDocumentPosition){if(r==e){o=true}return r.compareDocumentPosition?-1:1}var s=r.compareDocumentPosition(e)&4?-1:r===e?0:1;if(s===0){o=true}return s}}else{if("sourceIndex" in document.documentElement){c=function(r,e){if(!r.sourceIndex||!e.sourceIndex){if(r==e){o=true}return r.sourceIndex?-1:1}var s=r.sourceIndex-e.sourceIndex;if(s===0){o=true}return s}}else{if(document.createRange){c=function(t,r){if(!t.ownerDocument||!r.ownerDocument){if(t==r){o=true}return t.ownerDocument?-1:1}var s=t.ownerDocument.createRange(),e=r.ownerDocument.createRange();s.setStart(t,0);s.setEnd(t,0);e.setStart(r,0);e.setEnd(r,0);var u=s.compareBoundaryPoints(Range.START_TO_END,e);if(u===0){o=true}return u}}}}b.getText=function(e){var r="",t;for(var s=0;e[s];s++){t=e[s];if(t.nodeType===3||t.nodeType===4){r+=t.nodeValue}else{if(t.nodeType!==8){r+=b.getText(t.childNodes)}}}return r};(function(){var r=document.createElement("div"),s="script"+(new Date()).getTime();r.innerHTML="<a name='"+s+"'/>";var e=document.documentElement;e.insertBefore(r,e.firstChild);if(document.getElementById(s)){f.find.ID=function(u,v,x){if(typeof v.getElementById!=="undefined"&&!x){var t=v.getElementById(u[1]);return t?t.id===u[1]||typeof t.getAttributeNode!=="undefined"&&t.getAttributeNode("id").nodeValue===u[1]?[t]:undefined:[]}};f.filter.ID=function(v,t){var u=typeof v.getAttributeNode!=="undefined"&&v.getAttributeNode("id");return v.nodeType===1&&u&&u.nodeValue===t}}e.removeChild(r);e=r=null})();(function(){var e=document.createElement("div");e.appendChild(document.createComment(""));if(e.getElementsByTagName("*").length>0){f.find.TAG=function(r,v){var u=v.getElementsByTagName(r[1]);if(r[1]==="*"){var t=[];for(var s=0;u[s];s++){if(u[s].nodeType===1){t.push(u[s])}}u=t}return u}}e.innerHTML="<a href='#'></a>";if(e.firstChild&&typeof e.firstChild.getAttribute!=="undefined"&&e.firstChild.getAttribute("href")!=="#"){f.attrHandle.href=function(r){return r.getAttribute("href",2)}}e=null})();if(document.querySelectorAll){(function(){var e=b,s=document.createElement("div");s.innerHTML="<p class='TEST'></p>";if(s.querySelectorAll&&s.querySelectorAll(".TEST").length===0){return}b=function(x,v,t,u){v=v||document;if(!u&&v.nodeType===9&&!b.isXML(v)){try{return a(v.querySelectorAll(x),t)}catch(y){}}return e(x,v,t,u)};for(var r in e){b[r]=e[r]}s=null})()}(function(){var e=document.createElement("div");e.innerHTML="<div class='test e'></div><div class='test'></div>";if(!e.getElementsByClassName||e.getElementsByClassName("e").length===0){return}e.lastChild.className="e";if(e.getElementsByClassName("e").length===1){return}f.order.splice(1,0,"CLASS");f.find.CLASS=function(r,s,t){if(typeof s.getElementsByClassName!=="undefined"&&!t){return s.getElementsByClassName(r[1])}};e=null})();function n(r,x,v,A,y,z){for(var t=0,s=A.length;t<s;t++){var e=A[t];if(e){e=e[r];var u=false;while(e){if(e.sizcache===v){u=A[e.sizset];break}if(e.nodeType===1&&!z){e.sizcache=v;e.sizset=t}if(e.nodeName.toLowerCase()===x){u=e;break}e=e[r]}A[t]=u}}}function q(r,x,v,A,y,z){for(var t=0,s=A.length;t<s;t++){var e=A[t];if(e){e=e[r];var u=false;while(e){if(e.sizcache===v){u=A[e.sizset];break}if(e.nodeType===1){if(!z){e.sizcache=v;e.sizset=t}if(typeof x!=="string"){if(e===x){u=true;break}}else{if(b.filter(x,[e]).length>0){u=e;break}}}e=e[r]}A[t]=u}}}b.contains=document.compareDocumentPosition?function(r,e){return !!(r.compareDocumentPosition(e)&16)}:function(r,e){return r!==e&&(r.contains?r.contains(e):true)};b.isXML=function(e){var r=(e?e.ownerDocument||e:0).documentElement;return r?r.nodeName!=="HTML":false};var h=function(e,y){var t=[],u="",v,s=y.nodeType?[y]:y;while((v=f.match.PSEUDO.exec(e))){u+=v[0];e=e.replace(f.match.PSEUDO,"")}e=f.relative[e]?e+"*":e;for(var x=0,r=s.length;x<r;x++){b(e,s[x],t)}return b.filter(u,t)};window.tinymce.dom.Sizzle=b})();(function(d){var f=d.each,c=d.DOM,b=d.isIE,e=d.isWebKit,a;d.create("tinymce.dom.EventUtils",{EventUtils:function(){this.inits=[];this.events=[]},add:function(m,p,l,j){var g,h=this,i=h.events,k;if(p instanceof Array){k=[];f(p,function(o){k.push(h.add(m,o,l,j))});return k}if(m&&m.hasOwnProperty&&m instanceof Array){k=[];f(m,function(n){n=c.get(n);k.push(h.add(n,p,l,j))});return k}m=c.get(m);if(!m){return}g=function(n){if(h.disabled){return}n=n||window.event;if(n&&b){if(!n.target){n.target=n.srcElement}d.extend(n,h._stoppers)}if(!j){return l(n)}return l.call(j,n)};if(p=="unload"){d.unloads.unshift({func:g});return g}if(p=="init"){if(h.domLoaded){g()}else{h.inits.push(g)}return g}i.push({obj:m,name:p,func:l,cfunc:g,scope:j});h._add(m,p,g);return l},remove:function(l,m,k){var h=this,g=h.events,i=false,j;if(l&&l.hasOwnProperty&&l instanceof Array){j=[];f(l,function(n){n=c.get(n);j.push(h.remove(n,m,k))});return j}l=c.get(l);f(g,function(o,n){if(o.obj==l&&o.name==m&&(!k||(o.func==k||o.cfunc==k))){g.splice(n,1);h._remove(l,m,o.cfunc);i=true;return false}});return i},clear:function(l){var j=this,g=j.events,h,k;if(l){l=c.get(l);for(h=g.length-1;h>=0;h--){k=g[h];if(k.obj===l){j._remove(k.obj,k.name,k.cfunc);k.obj=k.cfunc=null;g.splice(h,1)}}}},cancel:function(g){if(!g){return false}this.stop(g);return this.prevent(g)},stop:function(g){if(g.stopPropagation){g.stopPropagation()}else{g.cancelBubble=true}return false},prevent:function(g){if(g.preventDefault){g.preventDefault()}else{g.returnValue=false}return false},destroy:function(){var g=this;f(g.events,function(j,h){g._remove(j.obj,j.name,j.cfunc);j.obj=j.cfunc=null});g.events=[];g=null},_add:function(h,i,g){if(h.attachEvent){h.attachEvent("on"+i,g)}else{if(h.addEventListener){h.addEventListener(i,g,false)}else{h["on"+i]=g}}},_remove:function(i,j,h){if(i){try{if(i.detachEvent){i.detachEvent("on"+j,h)}else{if(i.removeEventListener){i.removeEventListener(j,h,false)}else{i["on"+j]=null}}}catch(g){}}},_pageInit:function(h){var g=this;if(g.domLoaded){return}g.domLoaded=true;f(g.inits,function(i){i()});g.inits=[]},_wait:function(i){var g=this,h=i.document;if(i.tinyMCE_GZ&&tinyMCE_GZ.loaded){g.domLoaded=1;return}if(h.attachEvent){h.attachEvent("onreadystatechange",function(){if(h.readyState==="complete"){h.detachEvent("onreadystatechange",arguments.callee);g._pageInit(i)}});if(h.documentElement.doScroll&&i==i.top){(function(){if(g.domLoaded){return}try{h.documentElement.doScroll("left")}catch(j){setTimeout(arguments.callee,0);return}g._pageInit(i)})()}}else{if(h.addEventListener){g._add(i,"DOMContentLoaded",function(){g._pageInit(i)})}}g._add(i,"load",function(){g._pageInit(i)})},_stoppers:{preventDefault:function(){this.returnValue=false},stopPropagation:function(){this.cancelBubble=true}}});a=d.dom.Event=new d.dom.EventUtils();a._wait(window);d.addUnload(function(){a.destroy()})})(tinymce);(function(a){a.dom.Element=function(f,d){var b=this,e,c;b.settings=d=d||{};b.id=f;b.dom=e=d.dom||a.DOM;if(!a.isIE){c=e.get(b.id)}a.each(("getPos,getRect,getParent,add,setStyle,getStyle,setStyles,setAttrib,setAttribs,getAttrib,addClass,removeClass,hasClass,getOuterHTML,setOuterHTML,remove,show,hide,isHidden,setHTML,get").split(/,/),function(g){b[g]=function(){var h=[f],j;for(j=0;j<arguments.length;j++){h.push(arguments[j])}h=e[g].apply(e,h);b.update(g);return h}});a.extend(b,{on:function(i,h,g){return a.dom.Event.add(b.id,i,h,g)},getXY:function(){return{x:parseInt(b.getStyle("left")),y:parseInt(b.getStyle("top"))}},getSize:function(){var g=e.get(b.id);return{w:parseInt(b.getStyle("width")||g.clientWidth),h:parseInt(b.getStyle("height")||g.clientHeight)}},moveTo:function(g,h){b.setStyles({left:g,top:h})},moveBy:function(g,i){var h=b.getXY();b.moveTo(h.x+g,h.y+i)},resizeTo:function(g,i){b.setStyles({width:g,height:i})},resizeBy:function(g,j){var i=b.getSize();b.resizeTo(i.w+g,i.h+j)},update:function(h){var g;if(a.isIE6&&d.blocker){h=h||"";if(h.indexOf("get")===0||h.indexOf("has")===0||h.indexOf("is")===0){return}if(h=="remove"){e.remove(b.blocker);return}if(!b.blocker){b.blocker=e.uniqueId();g=e.add(d.container||e.getRoot(),"iframe",{id:b.blocker,style:"position:absolute;",frameBorder:0,src:'javascript:""'});e.setStyle(g,"opacity",0)}else{g=e.get(b.blocker)}e.setStyles(g,{left:b.getStyle("left",1),top:b.getStyle("top",1),width:b.getStyle("width",1),height:b.getStyle("height",1),display:b.getStyle("display",1),zIndex:parseInt(b.getStyle("zIndex",1)||0)-1})}}})}})(tinymce);(function(c){function e(f){return f.replace(/[\n\r]+/g,"")}var b=c.is,a=c.isIE,d=c.each;c.create("tinymce.dom.Selection",{Selection:function(i,h,g){var f=this;f.dom=i;f.win=h;f.serializer=g;d(["onBeforeSetContent","onBeforeGetContent","onSetContent","onGetContent"],function(j){f[j]=new c.util.Dispatcher(f)});if(!f.win.getSelection){f.tridentSel=new c.dom.TridentSelection(f)}if(c.isIE&&i.boxModel){this._fixIESelection()}c.addUnload(f.destroy,f)},getContent:function(g){var f=this,h=f.getRng(),l=f.dom.create("body"),j=f.getSel(),i,k,m;g=g||{};i=k="";g.get=true;g.format=g.format||"html";f.onBeforeGetContent.dispatch(f,g);if(g.format=="text"){return f.isCollapsed()?"":(h.text||(j.toString?j.toString():""))}if(h.cloneContents){m=h.cloneContents();if(m){l.appendChild(m)}}else{if(b(h.item)||b(h.htmlText)){l.innerHTML=h.item?h.item(0).outerHTML:h.htmlText}else{l.innerHTML=h.toString()}}if(/^\s/.test(l.innerHTML)){i=" "}if(/\s+$/.test(l.innerHTML)){k=" "}g.getInner=true;g.content=f.isCollapsed()?"":i+f.serializer.serialize(l,g)+k;f.onGetContent.dispatch(f,g);return g.content},setContent:function(j,i){var g=this,k=g.getRng(),n,l=g.win.document;i=i||{format:"html"};i.set=true;j=i.content=g.dom.processHTML(j);g.onBeforeSetContent.dispatch(g,i);j=i.content;if(k.insertNode){j+='<span id="__caret">_</span>';if(k.startContainer==l&&k.endContainer==l){l.body.innerHTML=j}else{k.deleteContents();if(l.body.childNodes.length==0){l.body.innerHTML=j}else{if(k.createContextualFragment){k.insertNode(k.createContextualFragment(j))}else{var m=l.createDocumentFragment(),f=l.createElement("div");m.appendChild(f);f.outerHTML=j;k.insertNode(m)}}}n=g.dom.get("__caret");k=l.createRange();k.setStartBefore(n);k.setEndBefore(n);g.setRng(k);g.dom.remove("__caret")}else{if(k.item){l.execCommand("Delete",false,null);k=g.getRng()}k.pasteHTML(j)}g.onSetContent.dispatch(g,i)},getStart:function(){var g=this.getRng(),h,f,j,i;if(g.duplicate||g.item){if(g.item){return g.item(0)}j=g.duplicate();j.collapse(1);h=j.parentElement();f=i=g.parentElement();while(i=i.parentNode){if(i==h){h=f;break}}if(h&&h.nodeName=="BODY"){return h.firstChild||h}return h}else{h=g.startContainer;if(h.nodeType==1&&h.hasChildNodes()){h=h.childNodes[Math.min(h.childNodes.length-1,g.startOffset)]}if(h&&h.nodeType==3){return h.parentNode}return h}},getEnd:function(){var g=this,h=g.getRng(),i,f;if(h.duplicate||h.item){if(h.item){return h.item(0)}h=h.duplicate();h.collapse(0);i=h.parentElement();if(i&&i.nodeName=="BODY"){return i.lastChild||i}return i}else{i=h.endContainer;f=h.endOffset;if(i.nodeType==1&&i.hasChildNodes()){i=i.childNodes[f>0?f-1:f]}if(i&&i.nodeType==3){return i.parentNode}return i}},getBookmark:function(q,r){var u=this,m=u.dom,g,j,i,n,h,o,p,l="\uFEFF",s;function f(v,x){var t=0;d(m.select(v),function(z,y){if(z==x){t=y}});return t}if(q==2){function k(){var v=u.getRng(true),t=m.getRoot(),x={};function y(B,G){var A=B[G?"startContainer":"endContainer"],F=B[G?"startOffset":"endOffset"],z=[],C,E,D=0;if(A.nodeType==3){if(r){for(C=A.previousSibling;C&&C.nodeType==3;C=C.previousSibling){F+=C.nodeValue.length}}z.push(F)}else{E=A.childNodes;if(F>=E.length&&E.length){D=1;F=Math.max(0,E.length-1)}z.push(u.dom.nodeIndex(E[F],r)+D)}for(;A&&A!=t;A=A.parentNode){z.push(u.dom.nodeIndex(A,r))}return z}x.start=y(v,true);if(!u.isCollapsed()){x.end=y(v)}return x}return k()}if(q){return{rng:u.getRng()}}g=u.getRng();i=m.uniqueId();n=tinyMCE.activeEditor.selection.isCollapsed();s="overflow:hidden;line-height:0px";if(g.duplicate||g.item){if(!g.item){j=g.duplicate();g.collapse();g.pasteHTML('<span _mce_type="bookmark" id="'+i+'_start" style="'+s+'">'+l+"</span>");if(!n){j.collapse(false);j.pasteHTML('<span _mce_type="bookmark" id="'+i+'_end" style="'+s+'">'+l+"</span>")}}else{o=g.item(0);h=o.nodeName;return{name:h,index:f(h,o)}}}else{o=u.getNode();h=o.nodeName;if(h=="IMG"){return{name:h,index:f(h,o)}}j=g.cloneRange();if(!n){j.collapse(false);j.insertNode(m.create("span",{_mce_type:"bookmark",id:i+"_end",style:s},l))}g.collapse(true);g.insertNode(m.create("span",{_mce_type:"bookmark",id:i+"_start",style:s},l))}u.moveToBookmark({id:i,keep:1});return{id:i}},moveToBookmark:function(n){var r=this,l=r.dom,i,h,f,q,j,s,o,p;if(r.tridentSel){r.tridentSel.destroy()}if(n){if(n.start){f=l.createRng();q=l.getRoot();function g(z){var t=n[z?"start":"end"],v,x,y,u;if(t){for(x=q,v=t.length-1;v>=1;v--){u=x.childNodes;if(u.length){x=u[t[v]]}}if(z){f.setStart(x,t[0])}else{f.setEnd(x,t[0])}}}g(true);g();r.setRng(f)}else{if(n.id){function k(A){var u=l.get(n.id+"_"+A),z,t,x,y,v=n.keep;if(u){z=u.parentNode;if(A=="start"){if(!v){t=l.nodeIndex(u)}else{z=u.firstChild;t=1}j=s=z;o=p=t}else{if(!v){t=l.nodeIndex(u)}else{z=u.firstChild;t=1}s=z;p=t}if(!v){y=u.previousSibling;x=u.nextSibling;d(c.grep(u.childNodes),function(B){if(B.nodeType==3){B.nodeValue=B.nodeValue.replace(/\uFEFF/g,"")}});while(u=l.get(n.id+"_"+A)){l.remove(u,1)}if(y&&x&&y.nodeType==x.nodeType&&y.nodeType==3&&!c.isOpera){t=y.nodeValue.length;y.appendData(x.nodeValue);l.remove(x);if(A=="start"){j=s=y;o=p=t}else{s=y;p=t}}}}}function m(t){if(!a&&l.isBlock(t)&&!t.innerHTML){t.innerHTML='<br _mce_bogus="1" />'}return t}k("start");k("end");if(j){f=l.createRng();f.setStart(m(j),o);f.setEnd(m(s),p);r.setRng(f)}}else{if(n.name){r.select(l.select(n.name)[n.index])}else{if(n.rng){r.setRng(n.rng)}}}}}},select:function(k,j){var i=this,l=i.dom,g=l.createRng(),f;f=l.nodeIndex(k);g.setStart(k.parentNode,f);g.setEnd(k.parentNode,f+1);if(j){function h(m,o){var n=new c.dom.TreeWalker(m,m);do{if(m.nodeType==3&&c.trim(m.nodeValue).length!=0){if(o){g.setStart(m,0)}else{g.setEnd(m,m.nodeValue.length)}return}if(m.nodeName=="BR"){if(o){g.setStartBefore(m)}else{g.setEndBefore(m)}return}}while(m=(o?n.next():n.prev()))}h(k,1);h(k)}i.setRng(g);return k},isCollapsed:function(){var f=this,h=f.getRng(),g=f.getSel();if(!h||h.item){return false}if(h.compareEndPoints){return h.compareEndPoints("StartToEnd",h)===0}return !g||h.collapsed},collapse:function(f){var g=this,h=g.getRng(),i;if(h.item){i=h.item(0);h=this.win.document.body.createTextRange();h.moveToElementText(i)}h.collapse(!!f);g.setRng(h)},getSel:function(){var g=this,f=this.win;return f.getSelection?f.getSelection():f.document.selection},getRng:function(l){var g=this,h,i,k,j=g.win.document;if(l&&g.tridentSel){return g.tridentSel.getRangeAt(0)}try{if(h=g.getSel()){i=h.rangeCount>0?h.getRangeAt(0):(h.createRange?h.createRange():j.createRange())}}catch(f){}if(c.isIE&&i.setStart&&j.selection.createRange().item){k=j.selection.createRange().item(0);i=j.createRange();i.setStartBefore(k);i.setEndAfter(k)}if(!i){i=j.createRange?j.createRange():j.body.createTextRange()}if(g.selectedRange&&g.explicitRange){if(i.compareBoundaryPoints(i.START_TO_START,g.selectedRange)===0&&i.compareBoundaryPoints(i.END_TO_END,g.selectedRange)===0){i=g.explicitRange}else{g.selectedRange=null;g.explicitRange=null}}return i},setRng:function(i){var h,g=this;if(!g.tridentSel){h=g.getSel();if(h){g.explicitRange=i;h.removeAllRanges();h.addRange(i);g.selectedRange=h.getRangeAt(0)}}else{if(i.cloneRange){g.tridentSel.addRange(i);return}try{i.select()}catch(f){}}},setNode:function(g){var f=this;f.setContent(f.dom.getOuterHTML(g));return g},getNode:function(){var g=this,f=g.getRng(),h=g.getSel(),i;if(f.setStart){if(!f){return g.dom.getRoot()}i=f.commonAncestorContainer;if(!f.collapsed){if(f.startContainer==f.endContainer){if(f.startOffset-f.endOffset<2){if(f.startContainer.hasChildNodes()){i=f.startContainer.childNodes[f.startOffset]}}}if(c.isWebKit&&h.anchorNode&&h.anchorNode.nodeType==1){return h.anchorNode.childNodes[h.anchorOffset]}}if(i&&i.nodeType==3){return i.parentNode}return i}return f.item?f.item(0):f.parentElement()},getSelectedBlocks:function(g,f){var i=this,j=i.dom,m,h,l,k=[];m=j.getParent(g||i.getStart(),j.isBlock);h=j.getParent(f||i.getEnd(),j.isBlock);if(m){k.push(m)}if(m&&h&&m!=h){l=m;while((l=l.nextSibling)&&l!=h){if(j.isBlock(l)){k.push(l)}}}if(h&&m!=h){k.push(h)}return k},destroy:function(g){var f=this;f.win=null;if(f.tridentSel){f.tridentSel.destroy()}if(!g){c.removeUnload(f.destroy)}},_fixIESelection:function(){var m=this.dom,l=m.doc,g=l.body,i,j;l.documentElement.unselectable=true;function k(n,q){var o=g.createTextRange();try{o.moveToPoint(n,q)}catch(p){o=null}return o}function h(o){var n;if(o.button){n=k(o.x,o.y);if(n){if(n.compareEndPoints("StartToStart",j)>0){n.setEndPoint("StartToStart",j)}else{n.setEndPoint("EndToEnd",j)}n.select()}}else{f()}}function f(){m.unbind(l,"mouseup",f);m.unbind(l,"mousemove",h);i=0}m.bind(l,"mousedown",function(n){if(n.target.nodeName==="HTML"){if(i){f()}i=1;j=k(n.x,n.y);if(j){m.bind(l,"mouseup",f);m.bind(l,"mousemove",h);m.win.focus();j.select()}}})}})})(tinymce);(function(a){a.create("tinymce.dom.XMLWriter",{node:null,XMLWriter:function(c){function b(){var e=document.implementation;if(!e||!e.createDocument){try{return new ActiveXObject("MSXML2.DOMDocument")}catch(d){}try{return new ActiveXObject("Microsoft.XmlDom")}catch(d){}}else{return e.createDocument("","",null)}}this.doc=b();this.valid=a.isOpera||a.isWebKit;this.reset()},reset:function(){var b=this,c=b.doc;if(c.firstChild){c.removeChild(c.firstChild)}b.node=c.appendChild(c.createElement("html"))},writeStartElement:function(c){var b=this;b.node=b.node.appendChild(b.doc.createElement(c))},writeAttribute:function(c,b){if(this.valid){b=b.replace(/>/g,"%MCGT%")}this.node.setAttribute(c,b)},writeEndElement:function(){this.node=this.node.parentNode},writeFullEndElement:function(){var b=this,c=b.node;c.appendChild(b.doc.createTextNode(""));b.node=c.parentNode},writeText:function(b){if(this.valid){b=b.replace(/>/g,"%MCGT%")}this.node.appendChild(this.doc.createTextNode(b))},writeCDATA:function(b){this.node.appendChild(this.doc.createCDATASection(b))},writeComment:function(b){if(a.isIE){b=b.replace(/^\-|\-$/g," ")}this.node.appendChild(this.doc.createComment(b.replace(/\-\-/g," ")))},getContent:function(){var b;b=this.doc.xml||new XMLSerializer().serializeToString(this.doc);b=b.replace(/<\?[^?]+\?>|<html[^>]*>|<\/html>|<html\/>|<!DOCTYPE[^>]+>/g,"");b=b.replace(/ ?\/>/g," />");if(this.valid){b=b.replace(/\%MCGT%/g,">")}return b}})})(tinymce);(function(c){var d=/[&\"<>]/g,b=/[<>&]/g,a={"&":"&",'"':""","<":"<",">":">"};c.create("tinymce.dom.StringWriter",{str:null,tags:null,count:0,settings:null,indent:null,StringWriter:function(e){this.settings=c.extend({indent_char:" ",indentation:0},e);this.reset()},reset:function(){this.indent="";this.str="";this.tags=[];this.count=0},writeStartElement:function(e){this._writeAttributesEnd();this.writeRaw("<"+e);this.tags.push(e);this.inAttr=true;this.count++;this.elementCount=this.count;this.attrs={}},writeAttribute:function(g,e){var f=this;if(!f.attrs[g]){f.writeRaw(" "+f.encode(g,true)+'="'+f.encode(e,true)+'"');f.attrs[g]=e}},writeEndElement:function(){var e;if(this.tags.length>0){e=this.tags.pop();if(this._writeAttributesEnd(1)){this.writeRaw("</"+e+">")}if(this.settings.indentation>0){this.writeRaw("\n")}}},writeFullEndElement:function(){if(this.tags.length>0){this._writeAttributesEnd();this.writeRaw("</"+this.tags.pop()+">");if(this.settings.indentation>0){this.writeRaw("\n")}}},writeText:function(e){this._writeAttributesEnd();this.writeRaw(this.encode(e));this.count++},writeCDATA:function(e){this._writeAttributesEnd();this.writeRaw("<![CDATA["+e+"]]>");this.count++},writeComment:function(e){this._writeAttributesEnd();this.writeRaw("<!--"+e+"-->");this.count++},writeRaw:function(e){this.str+=e},encode:function(f,e){return f.replace(e?d:b,function(g){return a[g]})},getContent:function(){return this.str},_writeAttributesEnd:function(e){if(!this.inAttr){return}this.inAttr=false;if(e&&this.elementCount==this.count){this.writeRaw(" />");return false}this.writeRaw(">");return true}})})(tinymce);(function(e){var g=e.extend,f=e.each,b=e.util.Dispatcher,d=e.isIE,a=e.isGecko;function c(h){return h.replace(/([?+*])/g,".$1")}e.create("tinymce.dom.Serializer",{Serializer:function(j){var i=this;i.key=0;i.onPreProcess=new b(i);i.onPostProcess=new b(i);try{i.writer=new e.dom.XMLWriter()}catch(h){i.writer=new e.dom.StringWriter()}if(e.isIE&&document.documentMode>8){i.writer=new e.dom.StringWriter()}i.settings=j=g({dom:e.DOM,valid_nodes:0,node_filter:0,attr_filter:0,invalid_attrs:/^(_mce_|_moz_|sizset|sizcache)/,closed:/^(br|hr|input|meta|img|link|param|area)$/,entity_encoding:"named",entities:"160,nbsp,161,iexcl,162,cent,163,pound,164,curren,165,yen,166,brvbar,167,sect,168,uml,169,copy,170,ordf,171,laquo,172,not,173,shy,174,reg,175,macr,176,deg,177,plusmn,178,sup2,179,sup3,180,acute,181,micro,182,para,183,middot,184,cedil,185,sup1,186,ordm,187,raquo,188,frac14,189,frac12,190,frac34,191,iquest,192,Agrave,193,Aacute,194,Acirc,195,Atilde,196,Auml,197,Aring,198,AElig,199,Ccedil,200,Egrave,201,Eacute,202,Ecirc,203,Euml,204,Igrave,205,Iacute,206,Icirc,207,Iuml,208,ETH,209,Ntilde,210,Ograve,211,Oacute,212,Ocirc,213,Otilde,214,Ouml,215,times,216,Oslash,217,Ugrave,218,Uacute,219,Ucirc,220,Uuml,221,Yacute,222,THORN,223,szlig,224,agrave,225,aacute,226,acirc,227,atilde,228,auml,229,aring,230,aelig,231,ccedil,232,egrave,233,eacute,234,ecirc,235,euml,236,igrave,237,iacute,238,icirc,239,iuml,240,eth,241,ntilde,242,ograve,243,oacute,244,ocirc,245,otilde,246,ouml,247,divide,248,oslash,249,ugrave,250,uacute,251,ucirc,252,uuml,253,yacute,254,thorn,255,yuml,402,fnof,913,Alpha,914,Beta,915,Gamma,916,Delta,917,Epsilon,918,Zeta,919,Eta,920,Theta,921,Iota,922,Kappa,923,Lambda,924,Mu,925,Nu,926,Xi,927,Omicron,928,Pi,929,Rho,931,Sigma,932,Tau,933,Upsilon,934,Phi,935,Chi,936,Psi,937,Omega,945,alpha,946,beta,947,gamma,948,delta,949,epsilon,950,zeta,951,eta,952,theta,953,iota,954,kappa,955,lambda,956,mu,957,nu,958,xi,959,omicron,960,pi,961,rho,962,sigmaf,963,sigma,964,tau,965,upsilon,966,phi,967,chi,968,psi,969,omega,977,thetasym,978,upsih,982,piv,8226,bull,8230,hellip,8242,prime,8243,Prime,8254,oline,8260,frasl,8472,weierp,8465,image,8476,real,8482,trade,8501,alefsym,8592,larr,8593,uarr,8594,rarr,8595,darr,8596,harr,8629,crarr,8656,lArr,8657,uArr,8658,rArr,8659,dArr,8660,hArr,8704,forall,8706,part,8707,exist,8709,empty,8711,nabla,8712,isin,8713,notin,8715,ni,8719,prod,8721,sum,8722,minus,8727,lowast,8730,radic,8733,prop,8734,infin,8736,ang,8743,and,8744,or,8745,cap,8746,cup,8747,int,8756,there4,8764,sim,8773,cong,8776,asymp,8800,ne,8801,equiv,8804,le,8805,ge,8834,sub,8835,sup,8836,nsub,8838,sube,8839,supe,8853,oplus,8855,otimes,8869,perp,8901,sdot,8968,lceil,8969,rceil,8970,lfloor,8971,rfloor,9001,lang,9002,rang,9674,loz,9824,spades,9827,clubs,9829,hearts,9830,diams,338,OElig,339,oelig,352,Scaron,353,scaron,376,Yuml,710,circ,732,tilde,8194,ensp,8195,emsp,8201,thinsp,8204,zwnj,8205,zwj,8206,lrm,8207,rlm,8211,ndash,8212,mdash,8216,lsquo,8217,rsquo,8218,sbquo,8220,ldquo,8221,rdquo,8222,bdquo,8224,dagger,8225,Dagger,8240,permil,8249,lsaquo,8250,rsaquo,8364,euro",valid_elements:"*[*]",extended_valid_elements:0,invalid_elements:0,fix_table_elements:1,fix_list_elements:true,fix_content_duplication:true,convert_fonts_to_spans:false,font_size_classes:0,apply_source_formatting:0,indent_mode:"simple",indent_char:"\t",indent_levels:1,remove_linebreaks:1,remove_redundant_brs:1,element_format:"xhtml"},j);i.dom=j.dom;i.schema=j.schema;if(j.entity_encoding=="named"&&!j.entities){j.entity_encoding="raw"}if(j.remove_redundant_brs){i.onPostProcess.add(function(k,l){l.content=l.content.replace(/(<br \/>\s*)+<\/(p|h[1-6]|div|li)>/gi,function(n,m,o){if(/^<br \/>\s*<\//.test(n)){return"</"+o+">"}return n})})}if(j.element_format=="html"){i.onPostProcess.add(function(k,l){l.content=l.content.replace(/<([^>]+) \/>/g,"<$1>")})}if(j.fix_list_elements){i.onPreProcess.add(function(v,s){var l,z,y=["ol","ul"],u,t,q,k=/^(OL|UL)$/,A;function m(r,x){var o=x.split(","),p;while((r=r.previousSibling)!=null){for(p=0;p<o.length;p++){if(r.nodeName==o[p]){return r}}}return null}for(z=0;z<y.length;z++){l=i.dom.select(y[z],s.node);for(u=0;u<l.length;u++){t=l[u];q=t.parentNode;if(k.test(q.nodeName)){A=m(t,"LI");if(!A){A=i.dom.create("li");A.innerHTML=" ";A.appendChild(t);q.insertBefore(A,q.firstChild)}else{A.appendChild(t)}}}}})}if(j.fix_table_elements){i.onPreProcess.add(function(k,l){f(i.dom.select("p table",l.node).reverse(),function(p){var o=i.dom.getParent(p.parentNode,"table,p");if(o.nodeName!="TABLE"){try{i.dom.split(o,p)}catch(m){}}})})}},setEntities:function(o){var n=this,j,m,h={},k;if(n.entityLookup){return}j=o.split(",");for(m=0;m<j.length;m+=2){k=j[m];if(k==34||k==38||k==60||k==62){continue}h[String.fromCharCode(j[m])]=j[m+1];k=parseInt(j[m]).toString(16)}n.entityLookup=h},setRules:function(i){var h=this;h._setup();h.rules={};h.wildRules=[];h.validElements={};return h.addRules(i)},addRules:function(i){var h=this,j;if(!i){return}h._setup();f(i.split(","),function(m){var q=m.split(/\[|\]/),l=q[0].split("/"),r,k,o,n=[];if(j){k=e.extend([],j.attribs)}if(q.length>1){f(q[1].split("|"),function(u){var p={},t;k=k||[];u=u.replace(/::/g,"~");u=/^([!\-])?([\w*.?~_\-]+|)([=:<])?(.+)?$/.exec(u);u[2]=u[2].replace(/~/g,":");if(u[1]=="!"){r=r||[];r.push(u[2])}if(u[1]=="-"){for(t=0;t<k.length;t++){if(k[t].name==u[2]){k.splice(t,1);return}}}switch(u[3]){case"=":p.defaultVal=u[4]||"";break;case":":p.forcedVal=u[4];break;case"<":p.validVals=u[4].split("?");break}if(/[*.?]/.test(u[2])){o=o||[];p.nameRE=new RegExp("^"+c(u[2])+"$");o.push(p)}else{p.name=u[2];k.push(p)}n.push(u[2])})}f(l,function(v,u){var y=v.charAt(0),t=1,p={};if(j){if(j.noEmpty){p.noEmpty=j.noEmpty}if(j.fullEnd){p.fullEnd=j.fullEnd}if(j.padd){p.padd=j.padd}}switch(y){case"-":p.noEmpty=true;break;case"+":p.fullEnd=true;break;case"#":p.padd=true;break;default:t=0}l[u]=v=v.substring(t);h.validElements[v]=1;if(/[*.?]/.test(l[0])){p.nameRE=new RegExp("^"+c(l[0])+"$");h.wildRules=h.wildRules||{};h.wildRules.push(p)}else{p.name=l[0];if(l[0]=="@"){j=p}h.rules[v]=p}p.attribs=k;if(r){p.requiredAttribs=r}if(o){v="";f(n,function(s){if(v){v+="|"}v+="("+c(s)+")"});p.validAttribsRE=new RegExp("^"+v.toLowerCase()+"$");p.wildAttribs=o}})});i="";f(h.validElements,function(m,l){if(i){i+="|"}if(l!="@"){i+=l}});h.validElementsRE=new RegExp("^("+c(i.toLowerCase())+")$")},findRule:function(m){var j=this,l=j.rules,h,k;j._setup();k=l[m];if(k){return k}l=j.wildRules;for(h=0;h<l.length;h++){if(l[h].nameRE.test(m)){return l[h]}}return null},findAttribRule:function(h,l){var j,k=h.wildAttribs;for(j=0;j<k.length;j++){if(k[j].nameRE.test(l)){return k[j]}}return null},serialize:function(r,q){var m,k=this,p,i,j,l;k._setup();q=q||{};q.format=q.format||"html";k.processObj=q;if(d){l=[];f(r.getElementsByTagName("option"),function(o){var h=k.dom.getAttrib(o,"selected");l.push(h?h:null)})}r=r.cloneNode(true);if(d){f(r.getElementsByTagName("option"),function(o,h){k.dom.setAttrib(o,"selected",l[h])})}j=r.ownerDocument.implementation;if(j.createHTMLDocument){p=j.createHTMLDocument("");f(r.nodeName=="BODY"?r.childNodes:[r],function(h){p.body.appendChild(p.importNode(h,true))});if(r.nodeName!="BODY"){r=p.body.firstChild}else{r=p.body}i=k.dom.doc;k.dom.doc=p}k.key=""+(parseInt(k.key)+1);if(!q.no_events){q.node=r;k.onPreProcess.dispatch(k,q)}k.writer.reset();k._info=q;k._serializeNode(r,q.getInner);q.content=k.writer.getContent();if(i){k.dom.doc=i}if(!q.no_events){k.onPostProcess.dispatch(k,q)}k._postProcess(q);q.node=null;return e.trim(q.content)},_postProcess:function(n){var i=this,k=i.settings,j=n.content,m=[],l;if(n.format=="html"){l=i._protect({content:j,patterns:[{pattern:/(<script[^>]*>)(.*?)(<\/script>)/g},{pattern:/(<noscript[^>]*>)(.*?)(<\/noscript>)/g},{pattern:/(<style[^>]*>)(.*?)(<\/style>)/g},{pattern:/(<pre[^>]*>)(.*?)(<\/pre>)/g,encode:1},{pattern:/(<!--\[CDATA\[)(.*?)(\]\]-->)/g}]});j=l.content;if(k.entity_encoding!=="raw"){j=i._encode(j)}if(!n.set){j=e._replace(/<p>\s+<\/p>|<p([^>]+)>\s+<\/p>/g,k.entity_encoding=="numeric"?"<p$1> </p>":"<p$1> </p>",j);if(k.remove_linebreaks){j=j.replace(/\r?\n|\r/g," ");j=e._replace(/(<[^>]+>)\s+/g,"$1 ",j);j=e._replace(/\s+(<\/[^>]+>)/g," $1",j);j=e._replace(/<(p|h[1-6]|blockquote|hr|div|table|tbody|tr|td|body|head|html|title|meta|style|pre|script|link|object) ([^>]+)>\s+/g,"<$1 $2>",j);j=e._replace(/<(p|h[1-6]|blockquote|hr|div|table|tbody|tr|td|body|head|html|title|meta|style|pre|script|link|object)>\s+/g,"<$1>",j);j=e._replace(/\s+<\/(p|h[1-6]|blockquote|hr|div|table|tbody|tr|td|body|head|html|title|meta|style|pre|script|link|object)>/g,"</$1>",j)}if(k.apply_source_formatting&&k.indent_mode=="simple"){j=e._replace(/<(\/?)(ul|hr|table|meta|link|tbody|tr|object|body|head|html|map)(|[^>]+)>\s*/g,"\n<$1$2$3>\n",j);j=e._replace(/\s*<(p|h[1-6]|blockquote|div|title|style|pre|script|td|li|area)(|[^>]+)>/g,"\n<$1$2>",j);j=e._replace(/<\/(p|h[1-6]|blockquote|div|title|style|pre|script|td|li)>\s*/g,"</$1>\n",j);j=j.replace(/\n\n/g,"\n")}}j=i._unprotect(j,l);j=e._replace(/<!--\[CDATA\[([\s\S]+)\]\]-->/g,"<![CDATA[$1]]>",j);if(k.entity_encoding=="raw"){j=e._replace(/<p> <\/p>|<p([^>]+)> <\/p>/g,"<p$1>\u00a0</p>",j)}j=j.replace(/<noscript([^>]+|)>([\s\S]*?)<\/noscript>/g,function(h,p,o){return"<noscript"+p+">"+i.dom.decode(o.replace(/<!--|-->/g,""))+"</noscript>"})}n.content=j},_serializeNode:function(E,J){var A=this,B=A.settings,y=A.writer,q,j,u,G,F,I,C,h,z,k,r,D,p,m,H,o,x;if(!B.node_filter||B.node_filter(E)){switch(E.nodeType){case 1:if(E.hasAttribute?E.hasAttribute("_mce_bogus"):E.getAttribute("_mce_bogus")){return}p=H=false;q=E.hasChildNodes();k=E.getAttribute("_mce_name")||E.nodeName.toLowerCase();o=E.getAttribute("_mce_type");if(o){if(!A._info.cleanup){p=true;return}else{H=1}}if(d){x=E.scopeName;if(x&&x!=="HTML"&&x!=="html"){k=x+":"+k}}if(k.indexOf("mce:")===0){k=k.substring(4)}if(!H){if(!A.validElementsRE||!A.validElementsRE.test(k)||(A.invalidElementsRE&&A.invalidElementsRE.test(k))||J){p=true;break}}if(d){if(B.fix_content_duplication){if(E._mce_serialized==A.key){return}E._mce_serialized=A.key}if(k.charAt(0)=="/"){k=k.substring(1)}}else{if(a){if(E.nodeName==="BR"&&E.getAttribute("type")=="_moz"){return}}}if(B.validate_children){if(A.elementName&&!A.schema.isValid(A.elementName,k)){p=true;break}A.elementName=k}r=A.findRule(k);if(!r){p=true;break}k=r.name||k;m=B.closed.test(k);if((!q&&r.noEmpty)||(d&&!k)){p=true;break}if(r.requiredAttribs){I=r.requiredAttribs;for(G=I.length-1;G>=0;G--){if(this.dom.getAttrib(E,I[G])!==""){break}}if(G==-1){p=true;break}}y.writeStartElement(k);if(r.attribs){for(G=0,C=r.attribs,F=C.length;G<F;G++){I=C[G];z=A._getAttrib(E,I);if(z!==null){y.writeAttribute(I.name,z)}}}if(r.validAttribsRE){C=A.dom.getAttribs(E);for(G=C.length-1;G>-1;G--){h=C[G];if(h.specified){I=h.nodeName.toLowerCase();if(B.invalid_attrs.test(I)||!r.validAttribsRE.test(I)){continue}D=A.findAttribRule(r,I);z=A._getAttrib(E,D,I);if(z!==null){y.writeAttribute(I,z)}}}}if(o&&H){y.writeAttribute("_mce_type",o)}if(k==="script"&&e.trim(E.innerHTML)){y.writeText("// ");y.writeCDATA(E.innerHTML.replace(/<!--|-->|<\[CDATA\[|\]\]>/g,""));q=false;break}if(r.padd){if(q&&(u=E.firstChild)&&u.nodeType===1&&E.childNodes.length===1){if(u.hasAttribute?u.hasAttribute("_mce_bogus"):u.getAttribute("_mce_bogus")){y.writeText("\u00a0")}}else{if(!q){y.writeText("\u00a0")}}}break;case 3:if(B.validate_children&&A.elementName&&!A.schema.isValid(A.elementName,"#text")){return}return y.writeText(E.nodeValue);case 4:return y.writeCDATA(E.nodeValue);case 8:return y.writeComment(E.nodeValue)}}else{if(E.nodeType==1){q=E.hasChildNodes()}}if(q&&!m){u=E.firstChild;while(u){A._serializeNode(u);A.elementName=k;u=u.nextSibling}}if(!p){if(!m){y.writeFullEndElement()}else{y.writeEndElement()}}},_protect:function(j){var i=this;j.items=j.items||[];function h(l){return l.replace(/[\r\n\\]/g,function(m){if(m==="\n"){return"\\n"}else{if(m==="\\"){return"\\\\"}}return"\\r"})}function k(l){return l.replace(/\\[\\rn]/g,function(m){if(m==="\\n"){return"\n"}else{if(m==="\\\\"){return"\\"}}return"\r"})}f(j.patterns,function(l){j.content=k(h(j.content).replace(l.pattern,function(n,o,m,p){m=k(m);if(l.encode){m=i._encode(m)}j.items.push(m);return o+"<!--mce:"+(j.items.length-1)+"-->"+p}))});return j},_unprotect:function(i,j){i=i.replace(/\<!--mce:([0-9]+)--\>/g,function(k,h){return j.items[parseInt(h)]});j.items=[];return i},_encode:function(m){var j=this,k=j.settings,i;if(k.entity_encoding!=="raw"){if(k.entity_encoding.indexOf("named")!=-1){j.setEntities(k.entities);i=j.entityLookup;m=m.replace(/[\u007E-\uFFFF]/g,function(h){var l;if(l=i[h]){h="&"+l+";"}return h})}if(k.entity_encoding.indexOf("numeric")!=-1){m=m.replace(/[\u007E-\uFFFF]/g,function(h){return"&#"+h.charCodeAt(0)+";"})}}return m},_setup:function(){var h=this,i=this.settings;if(h.done){return}h.done=1;h.setRules(i.valid_elements);h.addRules(i.extended_valid_elements);if(i.invalid_elements){h.invalidElementsRE=new RegExp("^("+c(i.invalid_elements.replace(/,/g,"|").toLowerCase())+")$")}if(i.attrib_value_filter){h.attribValueFilter=i.attribValueFilter}},_getAttrib:function(m,j,h){var l,k;h=h||j.name;if(j.forcedVal&&(k=j.forcedVal)){if(k==="{$uid}"){return this.dom.uniqueId()}return k}k=this.dom.getAttrib(m,h);switch(h){case"rowspan":case"colspan":if(k=="1"){k=""}break}if(this.attribValueFilter){k=this.attribValueFilter(h,k,m)}if(j.validVals){for(l=j.validVals.length-1;l>=0;l--){if(k==j.validVals[l]){break}}if(l==-1){return null}}if(k===""&&typeof(j.defaultVal)!="undefined"){k=j.defaultVal;if(k==="{$uid}"){return this.dom.uniqueId()}return k}else{if(h=="class"&&this.processObj.get){k=k.replace(/\s?mceItem\w+\s?/g,"")}}if(k===""){return null}return k}})})(tinymce);(function(a){a.dom.ScriptLoader=function(h){var c=0,k=1,i=2,l={},j=[],f={},d=[],g=0,e;function b(m,u){var v=this,q=a.DOM,s,o,r,n;function p(){q.remove(n);if(s){s.onreadystatechange=s.onload=s=null}u()}n=q.uniqueId();if(a.isIE6){o=new a.util.URI(m);r=location;if(o.host==r.hostname&&o.port==r.port&&(o.protocol+":")==r.protocol){a.util.XHR.send({url:a._addVer(o.getURI()),success:function(x){var t=q.create("script",{type:"text/javascript"});t.text=x;document.getElementsByTagName("head")[0].appendChild(t);q.remove(t);p()}});return}}s=q.create("script",{id:n,type:"text/javascript",src:a._addVer(m)});if(!a.isIE){s.onload=p}s.onreadystatechange=function(){var t=s.readyState;if(t=="complete"||t=="loaded"){p()}};(document.getElementsByTagName("head")[0]||document.body).appendChild(s)}this.isDone=function(m){return l[m]==i};this.markDone=function(m){l[m]=i};this.add=this.load=function(m,q,n){var o,p=l[m];if(p==e){j.push(m);l[m]=c}if(q){if(!f[m]){f[m]=[]}f[m].push({func:q,scope:n||this})}};this.loadQueue=function(n,m){this.loadScripts(j,n,m)};this.loadScripts=function(m,q,p){var o;function n(r){a.each(f[r],function(s){s.func.call(s.scope)});f[r]=e}d.push({func:q,scope:p||this});o=function(){var r=a.grep(m);m.length=0;a.each(r,function(s){if(l[s]==i){n(s);return}if(l[s]!=k){l[s]=k;g++;b(s,function(){l[s]=i;g--;n(s);o()})}});if(!g){a.each(d,function(s){s.func.call(s.scope)});d.length=0}};o()}};a.ScriptLoader=new a.dom.ScriptLoader()})(tinymce);tinymce.dom.TreeWalker=function(a,c){var b=a;function d(i,f,e,j){var h,g;if(i){if(!j&&i[f]){return i[f]}if(i!=c){h=i[e];if(h){return h}for(g=i.parentNode;g&&g!=c;g=g.parentNode){h=g[e];if(h){return h}}}}}this.current=function(){return b};this.next=function(e){return(b=d(b,"firstChild","nextSibling",e))};this.prev=function(e){return(b=d(b,"lastChild","lastSibling",e))}};(function(){var a={};function b(f,e){var d;function c(g){return g.replace(/[A-Z]+/g,function(h){return c(f[h])})}for(d in f){if(f.hasOwnProperty(d)){f[d]=c(f[d])}}c(e).replace(/#/g,"#text").replace(/(\w+)\[([^\]]+)\]/g,function(l,g,j){var h,k={};j=j.split(/\|/);for(h=j.length-1;h>=0;h--){k[j[h]]=1}a[g]=k})}b({Z:"#|H|K|N|O|P",Y:"#|X|form|R|Q",X:"p|T|div|U|W|isindex|fieldset|table",W:"pre|hr|blockquote|address|center|noframes",U:"ul|ol|dl|menu|dir",ZC:"#|p|Y|div|U|W|table|br|span|bdo|object|applet|img|map|K|N|Q",T:"h1|h2|h3|h4|h5|h6",ZB:"#|X|S|Q",S:"R|P",ZA:"#|a|G|J|M|O|P",R:"#|a|H|K|N|O",Q:"noscript|P",P:"ins|del|script",O:"input|select|textarea|label|button",N:"M|L",M:"em|strong|dfn|code|q|samp|kbd|var|cite|abbr|acronym",L:"sub|sup",K:"J|I",J:"tt|i|b|u|s|strike",I:"big|small|font|basefont",H:"G|F",G:"br|span|bdo",F:"object|applet|img|map|iframe"},"script[]style[]object[#|param|X|form|a|H|K|N|O|Q]param[]p[S]a[Z]br[]span[S]bdo[S]applet[#|param|X|form|a|H|K|N|O|Q]h1[S]img[]map[X|form|Q|area]h2[S]iframe[#|X|form|a|H|K|N|O|Q]h3[S]tt[S]i[S]b[S]u[S]s[S]strike[S]big[S]small[S]font[S]basefont[]em[S]strong[S]dfn[S]code[S]q[S]samp[S]kbd[S]var[S]cite[S]abbr[S]acronym[S]sub[S]sup[S]input[]select[optgroup|option]optgroup[option]option[]textarea[]label[S]button[#|p|T|div|U|W|table|G|object|applet|img|map|K|N|Q]h4[S]ins[#|X|form|a|H|K|N|O|Q]h5[S]del[#|X|form|a|H|K|N|O|Q]h6[S]div[#|X|form|a|H|K|N|O|Q]ul[li]li[#|X|form|a|H|K|N|O|Q]ol[li]dl[dt|dd]dt[S]dd[#|X|form|a|H|K|N|O|Q]menu[li]dir[li]pre[ZA]hr[]blockquote[#|X|form|a|H|K|N|O|Q]address[S|p]center[#|X|form|a|H|K|N|O|Q]noframes[#|X|form|a|H|K|N|O|Q]isindex[]fieldset[#|legend|X|form|a|H|K|N|O|Q]legend[S]table[caption|col|colgroup|thead|tfoot|tbody|tr]caption[S]col[]colgroup[col]thead[tr]tr[th|td]th[#|X|form|a|H|K|N|O|Q]form[#|X|a|H|K|N|O|Q]noscript[#|X|form|a|H|K|N|O|Q]td[#|X|form|a|H|K|N|O|Q]tfoot[tr]tbody[tr]area[]base[]body[#|X|form|a|H|K|N|O|Q]");tinymce.dom.Schema=function(){var c=this,d=a;c.isValid=function(f,e){var g=d[f];return !!(g&&(!e||g[e]))}}})();(function(a){a.dom.RangeUtils=function(c){var b="\uFEFF";this.walk=function(d,r){var h=d.startContainer,k=d.startOffset,s=d.endContainer,l=d.endOffset,i,f,n,g,q,p,e;e=c.select("td.mceSelected,th.mceSelected");if(e.length>0){a.each(e,function(t){r([t])});return}function o(v,u,t){var x=[];for(;v&&v!=t;v=v[u]){x.push(v)}return x}function m(u,t){do{if(u.parentNode==t){return u}u=u.parentNode}while(u)}function j(v,u,x){var t=x?"nextSibling":"previousSibling";for(g=v,q=g.parentNode;g&&g!=u;g=q){q=g.parentNode;p=o(g==v?g:g[t],t);if(p.length){if(!x){p.reverse()}r(p)}}}if(h.nodeType==1&&h.hasChildNodes()){h=h.childNodes[k]}if(s.nodeType==1&&s.hasChildNodes()){s=s.childNodes[Math.min(k==l?l:l-1,s.childNodes.length-1)]}i=c.findCommonAncestor(h,s);if(h==s){return r([h])}for(g=h;g;g=g.parentNode){if(g==s){return j(h,i,true)}if(g==i){break}}for(g=s;g;g=g.parentNode){if(g==h){return j(s,i)}if(g==i){break}}f=m(h,i)||h;n=m(s,i)||s;j(h,f,true);p=o(f==h?f:f.nextSibling,"nextSibling",n==s?n.nextSibling:n);if(p.length){r(p)}j(s,n)}};a.dom.RangeUtils.compareRanges=function(c,b){if(c&&b){if(c.item||c.duplicate){if(c.item&&b.item&&c.item(0)===b.item(0)){return true}if(c.isEqual&&b.isEqual&&b.isEqual(c)){return true}}else{return c.startContainer==b.startContainer&&c.startOffset==b.startOffset}}return false}})(tinymce);(function(c){var b=c.DOM,a=c.is;c.create("tinymce.ui.Control",{Control:function(e,d){this.id=e;this.settings=d=d||{};this.rendered=false;this.onRender=new c.util.Dispatcher(this);this.classPrefix="";this.scope=d.scope||this;this.disabled=0;this.active=0},setDisabled:function(d){var f;if(d!=this.disabled){f=b.get(this.id);if(f&&this.settings.unavailable_prefix){if(d){this.prevTitle=f.title;f.title=this.settings.unavailable_prefix+": "+f.title}else{f.title=this.prevTitle}}this.setState("Disabled",d);this.setState("Enabled",!d);this.disabled=d}},isDisabled:function(){return this.disabled},setActive:function(d){if(d!=this.active){this.setState("Active",d);this.active=d}},isActive:function(){return this.active},setState:function(f,d){var e=b.get(this.id);f=this.classPrefix+f;if(d){b.addClass(e,f)}else{b.removeClass(e,f)}},isRendered:function(){return this.rendered},renderHTML:function(){},renderTo:function(d){b.setHTML(d,this.renderHTML())},postRender:function(){var e=this,d;if(a(e.disabled)){d=e.disabled;e.disabled=-1;e.setDisabled(d)}if(a(e.active)){d=e.active;e.active=-1;e.setActive(d)}},remove:function(){b.remove(this.id);this.destroy()},destroy:function(){c.dom.Event.clear(this.id)}})})(tinymce);tinymce.create("tinymce.ui.Container:tinymce.ui.Control",{Container:function(b,a){this.parent(b,a);this.controls=[];this.lookup={}},add:function(a){this.lookup[a.id]=a;this.controls.push(a);return a},get:function(a){return this.lookup[a]}});tinymce.create("tinymce.ui.Separator:tinymce.ui.Control",{Separator:function(b,a){this.parent(b,a);this.classPrefix="mceSeparator"},renderHTML:function(){return tinymce.DOM.createHTML("span",{"class":this.classPrefix})}});(function(d){var c=d.is,b=d.DOM,e=d.each,a=d.walk;d.create("tinymce.ui.MenuItem:tinymce.ui.Control",{MenuItem:function(g,f){this.parent(g,f);this.classPrefix="mceMenuItem"},setSelected:function(f){this.setState("Selected",f);this.selected=f},isSelected:function(){return this.selected},postRender:function(){var f=this;f.parent();if(c(f.selected)){f.setSelected(f.selected)}}})})(tinymce);(function(d){var c=d.is,b=d.DOM,e=d.each,a=d.walk;d.create("tinymce.ui.Menu:tinymce.ui.MenuItem",{Menu:function(h,g){var f=this;f.parent(h,g);f.items={};f.collapsed=false;f.menuCount=0;f.onAddItem=new d.util.Dispatcher(this)},expand:function(g){var f=this;if(g){a(f,function(h){if(h.expand){h.expand()}},"items",f)}f.collapsed=false},collapse:function(g){var f=this;if(g){a(f,function(h){if(h.collapse){h.collapse()}},"items",f)}f.collapsed=true},isCollapsed:function(){return this.collapsed},add:function(f){if(!f.settings){f=new d.ui.MenuItem(f.id||b.uniqueId(),f)}this.onAddItem.dispatch(this,f);return this.items[f.id]=f},addSeparator:function(){return this.add({separator:true})},addMenu:function(f){if(!f.collapse){f=this.createMenu(f)}this.menuCount++;return this.add(f)},hasMenus:function(){return this.menuCount!==0},remove:function(f){delete this.items[f.id]},removeAll:function(){var f=this;a(f,function(g){if(g.removeAll){g.removeAll()}else{g.remove()}g.destroy()},"items",f);f.items={}},createMenu:function(g){var f=new d.ui.Menu(g.id||b.uniqueId(),g);f.onAddItem.add(this.onAddItem.dispatch,this.onAddItem);return f}})})(tinymce);(function(e){var d=e.is,c=e.DOM,f=e.each,a=e.dom.Event,b=e.dom.Element;e.create("tinymce.ui.DropMenu:tinymce.ui.Menu",{DropMenu:function(h,g){g=g||{};g.container=g.container||c.doc.body;g.offset_x=g.offset_x||0;g.offset_y=g.offset_y||0;g.vp_offset_x=g.vp_offset_x||0;g.vp_offset_y=g.vp_offset_y||0;if(d(g.icons)&&!g.icons){g["class"]+=" mceNoIcons"}this.parent(h,g);this.onShowMenu=new e.util.Dispatcher(this);this.onHideMenu=new e.util.Dispatcher(this);this.classPrefix="mceMenu"},createMenu:function(j){var h=this,i=h.settings,g;j.container=j.container||i.container;j.parent=h;j.constrain=j.constrain||i.constrain;j["class"]=j["class"]||i["class"];j.vp_offset_x=j.vp_offset_x||i.vp_offset_x;j.vp_offset_y=j.vp_offset_y||i.vp_offset_y;g=new e.ui.DropMenu(j.id||c.uniqueId(),j);g.onAddItem.add(h.onAddItem.dispatch,h.onAddItem);return g},update:function(){var i=this,j=i.settings,g=c.get("menu_"+i.id+"_tbl"),l=c.get("menu_"+i.id+"_co"),h,k;h=j.max_width?Math.min(g.clientWidth,j.max_width):g.clientWidth;k=j.max_height?Math.min(g.clientHeight,j.max_height):g.clientHeight;if(!c.boxModel){i.element.setStyles({width:h+2,height:k+2})}else{i.element.setStyles({width:h,height:k})}if(j.max_width){c.setStyle(l,"width",h)}if(j.max_height){c.setStyle(l,"height",k);if(g.clientHeight<j.max_height){c.setStyle(l,"overflow","hidden")}}},showMenu:function(p,n,r){var z=this,A=z.settings,o,g=c.getViewPort(),u,l,v,q,i=2,k,j,m=z.classPrefix;z.collapse(1);if(z.isMenuVisible){return}if(!z.rendered){o=c.add(z.settings.container,z.renderNode());f(z.items,function(h){h.postRender()});z.element=new b("menu_"+z.id,{blocker:1,container:A.container})}else{o=c.get("menu_"+z.id)}if(!e.isOpera){c.setStyles(o,{left:-65535,top:-65535})}c.show(o);z.update();p+=A.offset_x||0;n+=A.offset_y||0;g.w-=4;g.h-=4;if(A.constrain){u=o.clientWidth-i;l=o.clientHeight-i;v=g.x+g.w;q=g.y+g.h;if((p+A.vp_offset_x+u)>v){p=r?r-u:Math.max(0,(v-A.vp_offset_x)-u)}if((n+A.vp_offset_y+l)>q){n=Math.max(0,(q-A.vp_offset_y)-l)}}c.setStyles(o,{left:p,top:n});z.element.update();z.isMenuVisible=1;z.mouseClickFunc=a.add(o,"click",function(s){var h;s=s.target;if(s&&(s=c.getParent(s,"tr"))&&!c.hasClass(s,m+"ItemSub")){h=z.items[s.id];if(h.isDisabled()){return}k=z;while(k){if(k.hideMenu){k.hideMenu()}k=k.settings.parent}if(h.settings.onclick){h.settings.onclick(s)}return a.cancel(s)}});if(z.hasMenus()){z.mouseOverFunc=a.add(o,"mouseover",function(x){var h,t,s;x=x.target;if(x&&(x=c.getParent(x,"tr"))){h=z.items[x.id];if(z.lastMenu){z.lastMenu.collapse(1)}if(h.isDisabled()){return}if(x&&c.hasClass(x,m+"ItemSub")){t=c.getRect(x);h.showMenu((t.x+t.w-i),t.y-i,t.x);z.lastMenu=h;c.addClass(c.get(h.id).firstChild,m+"ItemActive")}}})}z.onShowMenu.dispatch(z);if(A.keyboard_focus){a.add(o,"keydown",z._keyHandler,z);c.select("a","menu_"+z.id)[0].focus();z._focusIdx=0}},hideMenu:function(j){var g=this,i=c.get("menu_"+g.id),h;if(!g.isMenuVisible){return}a.remove(i,"mouseover",g.mouseOverFunc);a.remove(i,"click",g.mouseClickFunc);a.remove(i,"keydown",g._keyHandler);c.hide(i);g.isMenuVisible=0;if(!j){g.collapse(1)}if(g.element){g.element.hide()}if(h=c.get(g.id)){c.removeClass(h.firstChild,g.classPrefix+"ItemActive")}g.onHideMenu.dispatch(g)},add:function(i){var g=this,h;i=g.parent(i);if(g.isRendered&&(h=c.get("menu_"+g.id))){g._add(c.select("tbody",h)[0],i)}return i},collapse:function(g){this.parent(g);this.hideMenu(1)},remove:function(g){c.remove(g.id);this.destroy();return this.parent(g)},destroy:function(){var g=this,h=c.get("menu_"+g.id);a.remove(h,"mouseover",g.mouseOverFunc);a.remove(h,"click",g.mouseClickFunc);if(g.element){g.element.remove()}c.remove(h)},renderNode:function(){var i=this,j=i.settings,l,h,k,g;g=c.create("div",{id:"menu_"+i.id,"class":j["class"],style:"position:absolute;left:0;top:0;z-index:200000"});k=c.add(g,"div",{id:"menu_"+i.id+"_co","class":i.classPrefix+(j["class"]?" "+j["class"]:"")});i.element=new b("menu_"+i.id,{blocker:1,container:j.container});if(j.menu_line){c.add(k,"span",{"class":i.classPrefix+"Line"})}l=c.add(k,"table",{id:"menu_"+i.id+"_tbl",border:0,cellPadding:0,cellSpacing:0});h=c.add(l,"tbody");f(i.items,function(m){i._add(h,m)});i.rendered=true;return g},_keyHandler:function(j){var i=this,h=j.keyCode;function g(m){var k=i._focusIdx+m,l=c.select("a","menu_"+i.id)[k];if(l){i._focusIdx=k;l.focus()}}switch(h){case 38:g(-1);return;case 40:g(1);return;case 13:return;case 27:return this.hideMenu()}},_add:function(j,h){var i,q=h.settings,p,l,k,m=this.classPrefix,g;if(q.separator){l=c.add(j,"tr",{id:h.id,"class":m+"ItemSeparator"});c.add(l,"td",{"class":m+"ItemSeparator"});if(i=l.previousSibling){c.addClass(i,"mceLast")}return}i=l=c.add(j,"tr",{id:h.id,"class":m+"Item "+m+"ItemEnabled"});i=k=c.add(i,"td");i=p=c.add(i,"a",{href:"javascript:;",onclick:"return false;",onmousedown:"return false;"});c.addClass(k,q["class"]);g=c.add(i,"span",{"class":"mceIcon"+(q.icon?" mce_"+q.icon:"")});if(q.icon_src){c.add(g,"img",{src:q.icon_src})}i=c.add(i,q.element||"span",{"class":"mceText",title:h.settings.title},h.settings.title);if(h.settings.style){c.setAttrib(i,"style",h.settings.style)}if(j.childNodes.length==1){c.addClass(l,"mceFirst")}if((i=l.previousSibling)&&c.hasClass(i,m+"ItemSeparator")){c.addClass(l,"mceFirst")}if(h.collapse){c.addClass(l,m+"ItemSub")}if(i=l.previousSibling){c.removeClass(i,"mceLast")}c.addClass(l,"mceLast")}})})(tinymce);(function(b){var a=b.DOM;b.create("tinymce.ui.Button:tinymce.ui.Control",{Button:function(d,c){this.parent(d,c);this.classPrefix="mceButton"},renderHTML:function(){var f=this.classPrefix,e=this.settings,d,c;c=a.encode(e.label||"");d='<a id="'+this.id+'" href="javascript:;" class="'+f+" "+f+"Enabled "+e["class"]+(c?" "+f+"Labeled":"")+'" onmousedown="return false;" onclick="return false;" title="'+a.encode(e.title)+'">';if(e.image){d+='<img class="mceIcon" src="'+e.image+'" />'+c+"</a>"}else{d+='<span class="mceIcon '+e["class"]+'"></span>'+(c?'<span class="'+f+'Label">'+c+"</span>":"")+"</a>"}return d},postRender:function(){var c=this,d=c.settings;b.dom.Event.add(c.id,"click",function(f){if(!c.isDisabled()){return d.onclick.call(d.scope,f)}})}})})(tinymce);(function(d){var c=d.DOM,b=d.dom.Event,e=d.each,a=d.util.Dispatcher;d.create("tinymce.ui.ListBox:tinymce.ui.Control",{ListBox:function(h,g){var f=this;f.parent(h,g);f.items=[];f.onChange=new a(f);f.onPostRender=new a(f);f.onAdd=new a(f);f.onRenderMenu=new d.util.Dispatcher(this);f.classPrefix="mceListBox"},select:function(h){var g=this,j,i;if(h==undefined){return g.selectByIndex(-1)}if(h&&h.call){i=h}else{i=function(f){return f==h}}if(h!=g.selectedValue){e(g.items,function(k,f){if(i(k.value)){j=1;g.selectByIndex(f);return false}});if(!j){g.selectByIndex(-1)}}},selectByIndex:function(f){var g=this,h,i;if(f!=g.selectedIndex){h=c.get(g.id+"_text");i=g.items[f];if(i){g.selectedValue=i.value;g.selectedIndex=f;c.setHTML(h,c.encode(i.title));c.removeClass(h,"mceTitle")}else{c.setHTML(h,c.encode(g.settings.title));c.addClass(h,"mceTitle");g.selectedValue=g.selectedIndex=null}h=0}},add:function(i,f,h){var g=this;h=h||{};h=d.extend(h,{title:i,value:f});g.items.push(h);g.onAdd.dispatch(g,h)},getLength:function(){return this.items.length},renderHTML:function(){var i="",f=this,g=f.settings,j=f.classPrefix;i='<table id="'+f.id+'" cellpadding="0" cellspacing="0" class="'+j+" "+j+"Enabled"+(g["class"]?(" "+g["class"]):"")+'"><tbody><tr>';i+="<td>"+c.createHTML("a",{id:f.id+"_text",href:"javascript:;","class":"mceText",onclick:"return false;",onmousedown:"return false;"},c.encode(f.settings.title))+"</td>";i+="<td>"+c.createHTML("a",{id:f.id+"_open",tabindex:-1,href:"javascript:;","class":"mceOpen",onclick:"return false;",onmousedown:"return false;"},"<span></span>")+"</td>";i+="</tr></tbody></table>";return i},showMenu:function(){var g=this,j,i,h=c.get(this.id),f;if(g.isDisabled()||g.items.length==0){return}if(g.menu&&g.menu.isMenuVisible){return g.hideMenu()}if(!g.isMenuRendered){g.renderMenu();g.isMenuRendered=true}j=c.getPos(this.settings.menu_container);i=c.getPos(h);f=g.menu;f.settings.offset_x=i.x;f.settings.offset_y=i.y;f.settings.keyboard_focus=!d.isOpera;if(g.oldID){f.items[g.oldID].setSelected(0)}e(g.items,function(k){if(k.value===g.selectedValue){f.items[k.id].setSelected(1);g.oldID=k.id}});f.showMenu(0,h.clientHeight);b.add(c.doc,"mousedown",g.hideMenu,g);c.addClass(g.id,g.classPrefix+"Selected")},hideMenu:function(g){var f=this;if(f.menu&&f.menu.isMenuVisible){if(g&&g.type=="mousedown"&&(g.target.id==f.id+"_text"||g.target.id==f.id+"_open")){return}if(!g||!c.getParent(g.target,".mceMenu")){c.removeClass(f.id,f.classPrefix+"Selected");b.remove(c.doc,"mousedown",f.hideMenu,f);f.menu.hideMenu()}}},renderMenu:function(){var g=this,f;f=g.settings.control_manager.createDropMenu(g.id+"_menu",{menu_line:1,"class":g.classPrefix+"Menu mceNoIcons",max_width:150,max_height:150});f.onHideMenu.add(g.hideMenu,g);f.add({title:g.settings.title,"class":"mceMenuItemTitle",onclick:function(){if(g.settings.onselect("")!==false){g.select("")}}});e(g.items,function(h){if(h.value===undefined){f.add({title:h.title,"class":"mceMenuItemTitle",onclick:function(){if(g.settings.onselect("")!==false){g.select("")}}})}else{h.id=c.uniqueId();h.onclick=function(){if(g.settings.onselect(h.value)!==false){g.select(h.value)}};f.add(h)}});g.onRenderMenu.dispatch(g,f);g.menu=f},postRender:function(){var f=this,g=f.classPrefix;b.add(f.id,"click",f.showMenu,f);b.add(f.id+"_text","focus",function(){if(!f._focused){f.keyDownHandler=b.add(f.id+"_text","keydown",function(k){var h=-1,i,j=k.keyCode;e(f.items,function(l,m){if(f.selectedValue==l.value){h=m}});if(j==38){i=f.items[h-1]}else{if(j==40){i=f.items[h+1]}else{if(j==13){i=f.selectedValue;f.selectedValue=null;f.settings.onselect(i);return b.cancel(k)}}}if(i){f.hideMenu();f.select(i.value)}})}f._focused=1});b.add(f.id+"_text","blur",function(){b.remove(f.id+"_text","keydown",f.keyDownHandler);f._focused=0});if(d.isIE6||!c.boxModel){b.add(f.id,"mouseover",function(){if(!c.hasClass(f.id,g+"Disabled")){c.addClass(f.id,g+"Hover")}});b.add(f.id,"mouseout",function(){if(!c.hasClass(f.id,g+"Disabled")){c.removeClass(f.id,g+"Hover")}})}f.onPostRender.dispatch(f,c.get(f.id))},destroy:function(){this.parent();b.clear(this.id+"_text");b.clear(this.id+"_open")}})})(tinymce);(function(d){var c=d.DOM,b=d.dom.Event,e=d.each,a=d.util.Dispatcher;d.create("tinymce.ui.NativeListBox:tinymce.ui.ListBox",{NativeListBox:function(g,f){this.parent(g,f);this.classPrefix="mceNativeListBox"},setDisabled:function(f){c.get(this.id).disabled=f},isDisabled:function(){return c.get(this.id).disabled},select:function(h){var g=this,j,i;if(h==undefined){return g.selectByIndex(-1)}if(h&&h.call){i=h}else{i=function(f){return f==h}}if(h!=g.selectedValue){e(g.items,function(k,f){if(i(k.value)){j=1;g.selectByIndex(f);return false}});if(!j){g.selectByIndex(-1)}}},selectByIndex:function(f){c.get(this.id).selectedIndex=f+1;this.selectedValue=this.items[f]?this.items[f].value:null},add:function(j,g,f){var i,h=this;f=f||{};f.value=g;if(h.isRendered()){c.add(c.get(this.id),"option",f,j)}i={title:j,value:g,attribs:f};h.items.push(i);h.onAdd.dispatch(h,i)},getLength:function(){return this.items.length},renderHTML:function(){var g,f=this;g=c.createHTML("option",{value:""},"-- "+f.settings.title+" --");e(f.items,function(h){g+=c.createHTML("option",{value:h.value},h.title)});g=c.createHTML("select",{id:f.id,"class":"mceNativeListBox"},g);return g},postRender:function(){var g=this,h;g.rendered=true;function f(j){var i=g.items[j.target.selectedIndex-1];if(i&&(i=i.value)){g.onChange.dispatch(g,i);if(g.settings.onselect){g.settings.onselect(i)}}}b.add(g.id,"change",f);b.add(g.id,"keydown",function(j){var i;b.remove(g.id,"change",h);i=b.add(g.id,"blur",function(){b.add(g.id,"change",f);b.remove(g.id,"blur",i)});if(j.keyCode==13||j.keyCode==32){f(j);return b.cancel(j)}});g.onPostRender.dispatch(g,c.get(g.id))}})})(tinymce);(function(c){var b=c.DOM,a=c.dom.Event,d=c.each;c.create("tinymce.ui.MenuButton:tinymce.ui.Button",{MenuButton:function(f,e){this.parent(f,e);this.onRenderMenu=new c.util.Dispatcher(this);e.menu_container=e.menu_container||b.doc.body},showMenu:function(){var g=this,j,i,h=b.get(g.id),f;if(g.isDisabled()){return}if(!g.isMenuRendered){g.renderMenu();g.isMenuRendered=true}if(g.isMenuVisible){return g.hideMenu()}j=b.getPos(g.settings.menu_container);i=b.getPos(h);f=g.menu;f.settings.offset_x=i.x;f.settings.offset_y=i.y;f.settings.vp_offset_x=i.x;f.settings.vp_offset_y=i.y;f.settings.keyboard_focus=g._focused;f.showMenu(0,h.clientHeight);a.add(b.doc,"mousedown",g.hideMenu,g);g.setState("Selected",1);g.isMenuVisible=1},renderMenu:function(){var f=this,e;e=f.settings.control_manager.createDropMenu(f.id+"_menu",{menu_line:1,"class":this.classPrefix+"Menu",icons:f.settings.icons});e.onHideMenu.add(f.hideMenu,f);f.onRenderMenu.dispatch(f,e);f.menu=e},hideMenu:function(g){var f=this;if(g&&g.type=="mousedown"&&b.getParent(g.target,function(h){return h.id===f.id||h.id===f.id+"_open"})){return}if(!g||!b.getParent(g.target,".mceMenu")){f.setState("Selected",0);a.remove(b.doc,"mousedown",f.hideMenu,f);if(f.menu){f.menu.hideMenu()}}f.isMenuVisible=0},postRender:function(){var e=this,f=e.settings;a.add(e.id,"click",function(){if(!e.isDisabled()){if(f.onclick){f.onclick(e.value)}e.showMenu()}})}})})(tinymce);(function(c){var b=c.DOM,a=c.dom.Event,d=c.each;c.create("tinymce.ui.SplitButton:tinymce.ui.MenuButton",{SplitButton:function(f,e){this.parent(f,e);this.classPrefix="mceSplitButton"},renderHTML:function(){var i,f=this,g=f.settings,e;i="<tbody><tr>";if(g.image){e=b.createHTML("img ",{src:g.image,"class":"mceAction "+g["class"]})}else{e=b.createHTML("span",{"class":"mceAction "+g["class"]},"")}i+="<td>"+b.createHTML("a",{id:f.id+"_action",href:"javascript:;","class":"mceAction "+g["class"],onclick:"return false;",onmousedown:"return false;",title:g.title},e)+"</td>";e=b.createHTML("span",{"class":"mceOpen "+g["class"]});i+="<td>"+b.createHTML("a",{id:f.id+"_open",href:"javascript:;","class":"mceOpen "+g["class"],onclick:"return false;",onmousedown:"return false;",title:g.title},e)+"</td>";i+="</tr></tbody>";return b.createHTML("table",{id:f.id,"class":"mceSplitButton mceSplitButtonEnabled "+g["class"],cellpadding:"0",cellspacing:"0",onmousedown:"return false;",title:g.title},i)},postRender:function(){var e=this,f=e.settings;if(f.onclick){a.add(e.id+"_action","click",function(){if(!e.isDisabled()){f.onclick(e.value)}})}a.add(e.id+"_open","click",e.showMenu,e);a.add(e.id+"_open","focus",function(){e._focused=1});a.add(e.id+"_open","blur",function(){e._focused=0});if(c.isIE6||!b.boxModel){a.add(e.id,"mouseover",function(){if(!b.hasClass(e.id,"mceSplitButtonDisabled")){b.addClass(e.id,"mceSplitButtonHover")}});a.add(e.id,"mouseout",function(){if(!b.hasClass(e.id,"mceSplitButtonDisabled")){b.removeClass(e.id,"mceSplitButtonHover")}})}},destroy:function(){this.parent();a.clear(this.id+"_action");a.clear(this.id+"_open")}})})(tinymce);(function(d){var c=d.DOM,a=d.dom.Event,b=d.is,e=d.each;d.create("tinymce.ui.ColorSplitButton:tinymce.ui.SplitButton",{ColorSplitButton:function(h,g){var f=this;f.parent(h,g);f.settings=g=d.extend({colors:"000000,993300,333300,003300,003366,000080,333399,333333,800000,FF6600,808000,008000,008080,0000FF,666699,808080,FF0000,FF9900,99CC00,339966,33CCCC,3366FF,800080,999999,FF00FF,FFCC00,FFFF00,00FF00,00FFFF,00CCFF,993366,C0C0C0,FF99CC,FFCC99,FFFF99,CCFFCC,CCFFFF,99CCFF,CC99FF,FFFFFF",grid_width:8,default_color:"#888888"},f.settings);f.onShowMenu=new d.util.Dispatcher(f);f.onHideMenu=new d.util.Dispatcher(f);f.value=g.default_color},showMenu:function(){var f=this,g,j,i,h;if(f.isDisabled()){return}if(!f.isMenuRendered){f.renderMenu();f.isMenuRendered=true}if(f.isMenuVisible){return f.hideMenu()}i=c.get(f.id);c.show(f.id+"_menu");c.addClass(i,"mceSplitButtonSelected");h=c.getPos(i);c.setStyles(f.id+"_menu",{left:h.x,top:h.y+i.clientHeight,zIndex:200000});i=0;a.add(c.doc,"mousedown",f.hideMenu,f);f.onShowMenu.dispatch(f);if(f._focused){f._keyHandler=a.add(f.id+"_menu","keydown",function(k){if(k.keyCode==27){f.hideMenu()}});c.select("a",f.id+"_menu")[0].focus()}f.isMenuVisible=1},hideMenu:function(g){var f=this;if(g&&g.type=="mousedown"&&c.getParent(g.target,function(h){return h.id===f.id+"_open"})){return}if(!g||!c.getParent(g.target,".mceSplitButtonMenu")){c.removeClass(f.id,"mceSplitButtonSelected");a.remove(c.doc,"mousedown",f.hideMenu,f);a.remove(f.id+"_menu","keydown",f._keyHandler);c.hide(f.id+"_menu")}f.onHideMenu.dispatch(f);f.isMenuVisible=0},renderMenu:function(){var k=this,f,j=0,l=k.settings,p,h,o,g;g=c.add(l.menu_container,"div",{id:k.id+"_menu","class":l.menu_class+" "+l["class"],style:"position:absolute;left:0;top:-1000px;"});f=c.add(g,"div",{"class":l["class"]+" mceSplitButtonMenu"});c.add(f,"span",{"class":"mceMenuLine"});p=c.add(f,"table",{"class":"mceColorSplitMenu"});h=c.add(p,"tbody");j=0;e(b(l.colors,"array")?l.colors:l.colors.split(","),function(i){i=i.replace(/^#/,"");if(!j--){o=c.add(h,"tr");j=l.grid_width-1}p=c.add(o,"td");p=c.add(p,"a",{href:"javascript:;",style:{backgroundColor:"#"+i},_mce_color:"#"+i})});if(l.more_colors_func){p=c.add(h,"tr");p=c.add(p,"td",{colspan:l.grid_width,"class":"mceMoreColors"});p=c.add(p,"a",{id:k.id+"_more",href:"javascript:;",onclick:"return false;","class":"mceMoreColors"},l.more_colors_title);a.add(p,"click",function(i){l.more_colors_func.call(l.more_colors_scope||this);return a.cancel(i)})}c.addClass(f,"mceColorSplitMenu");a.add(k.id+"_menu","click",function(i){var m;i=i.target;if(i.nodeName=="A"&&(m=i.getAttribute("_mce_color"))){k.setColor(m)}return a.cancel(i)});return g},setColor:function(g){var f=this;c.setStyle(f.id+"_preview","backgroundColor",g);f.value=g;f.hideMenu();f.settings.onselect(g)},postRender:function(){var f=this,g=f.id;f.parent();c.add(g+"_action","div",{id:g+"_preview","class":"mceColorPreview"});c.setStyle(f.id+"_preview","backgroundColor",f.value)},destroy:function(){this.parent();a.clear(this.id+"_menu");a.clear(this.id+"_more");c.remove(this.id+"_menu")}})})(tinymce);tinymce.create("tinymce.ui.Toolbar:tinymce.ui.Container",{renderHTML:function(){var l=this,e="",g,j,b=tinymce.DOM,m=l.settings,d,a,f,k;k=l.controls;for(d=0;d<k.length;d++){j=k[d];a=k[d-1];f=k[d+1];if(d===0){g="mceToolbarStart";if(j.Button){g+=" mceToolbarStartButton"}else{if(j.SplitButton){g+=" mceToolbarStartSplitButton"}else{if(j.ListBox){g+=" mceToolbarStartListBox"}}}e+=b.createHTML("td",{"class":g},b.createHTML("span",null,"<!-- IE -->"))}if(a&&j.ListBox){if(a.Button||a.SplitButton){e+=b.createHTML("td",{"class":"mceToolbarEnd"},b.createHTML("span",null,"<!-- IE -->"))}}if(b.stdMode){e+='<td style="position: relative">'+j.renderHTML()+"</td>"}else{e+="<td>"+j.renderHTML()+"</td>"}if(f&&j.ListBox){if(f.Button||f.SplitButton){e+=b.createHTML("td",{"class":"mceToolbarStart"},b.createHTML("span",null,"<!-- IE -->"))}}}g="mceToolbarEnd";if(j.Button){g+=" mceToolbarEndButton"}else{if(j.SplitButton){g+=" mceToolbarEndSplitButton"}else{if(j.ListBox){g+=" mceToolbarEndListBox"}}}e+=b.createHTML("td",{"class":g},b.createHTML("span",null,"<!-- IE -->"));return b.createHTML("table",{id:l.id,"class":"mceToolbar"+(m["class"]?" "+m["class"]:""),cellpadding:"0",cellspacing:"0",align:l.settings.align||""},"<tbody><tr>"+e+"</tr></tbody>")}});(function(b){var a=b.util.Dispatcher,c=b.each;b.create("tinymce.AddOnManager",{AddOnManager:function(){var d=this;d.items=[];d.urls={};d.lookup={};d.onAdd=new a(d)},get:function(d){return this.lookup[d]},requireLangPack:function(e){var d=b.settings;if(d&&d.language){b.ScriptLoader.add(this.urls[e]+"/langs/"+d.language+".js")}},add:function(e,d){this.items.push(d);this.lookup[e]=d;this.onAdd.dispatch(this,e,d);return d},load:function(h,e,d,g){var f=this;if(f.urls[h]){return}if(e.indexOf("/")!=0&&e.indexOf("://")==-1){e=b.baseURL+"/"+e}f.urls[h]=e.substring(0,e.lastIndexOf("/"));if(!f.lookup[h]){b.ScriptLoader.add(e,d,g)}}});b.PluginManager=new b.AddOnManager();b.ThemeManager=new b.AddOnManager()}(tinymce));(function(j){var g=j.each,d=j.extend,k=j.DOM,i=j.dom.Event,f=j.ThemeManager,b=j.PluginManager,e=j.explode,h=j.util.Dispatcher,a,c=0;j.documentBaseURL=window.location.href.replace(/[\?#].*$/,"").replace(/[\/\\][^\/]+$/,"");if(!/[\/\\]$/.test(j.documentBaseURL)){j.documentBaseURL+="/"}j.baseURL=new j.util.URI(j.documentBaseURL).toAbsolute(j.baseURL);j.baseURI=new j.util.URI(j.baseURL);j.onBeforeUnload=new h(j);i.add(window,"beforeunload",function(l){j.onBeforeUnload.dispatch(j,l)});j.onAddEditor=new h(j);j.onRemoveEditor=new h(j);j.EditorManager=d(j,{editors:[],i18n:{},activeEditor:null,init:function(q){var n=this,p,l=j.ScriptLoader,u,o=[],m;function r(x,y,t){var v=x[y];if(!v){return}if(j.is(v,"string")){t=v.replace(/\.\w+$/,"");t=t?j.resolve(t):0;v=j.resolve(v)}return v.apply(t||this,Array.prototype.slice.call(arguments,2))}q=d({theme:"simple",language:"en"},q);n.settings=q;i.add(document,"init",function(){var s,v;r(q,"onpageload");switch(q.mode){case"exact":s=q.elements||"";if(s.length>0){g(e(s),function(x){if(k.get(x)){m=new j.Editor(x,q);o.push(m);m.render(1)}else{g(document.forms,function(y){g(y.elements,function(z){if(z.name===x){x="mce_editor_"+c++;k.setAttrib(z,"id",x);m=new j.Editor(x,q);o.push(m);m.render(1)}})})}})}break;case"textareas":case"specific_textareas":function t(y,x){return x.constructor===RegExp?x.test(y.className):k.hasClass(y,x)}g(k.select("textarea"),function(x){if(q.editor_deselector&&t(x,q.editor_deselector)){return}if(!q.editor_selector||t(x,q.editor_selector)){u=k.get(x.name);if(!x.id&&!u){x.id=x.name}if(!x.id||n.get(x.id)){x.id=k.uniqueId()}m=new j.Editor(x.id,q);o.push(m);m.render(1)}});break}if(q.oninit){s=v=0;g(o,function(x){v++;if(!x.initialized){x.onInit.add(function(){s++;if(s==v){r(q,"oninit")}})}else{s++}if(s==v){r(q,"oninit")}})}})},get:function(l){if(l===a){return this.editors}return this.editors[l]},getInstanceById:function(l){return this.get(l)},add:function(m){var l=this,n=l.editors;n[m.id]=m;n.push(m);l._setActive(m);l.onAddEditor.dispatch(l,m);return m},remove:function(n){var m=this,l,o=m.editors;if(!o[n.id]){return null}delete o[n.id];for(l=0;l<o.length;l++){if(o[l]==n){o.splice(l,1);break}}if(m.activeEditor==n){m._setActive(o[0])}n.destroy();m.onRemoveEditor.dispatch(m,n);return n},execCommand:function(r,p,o){var q=this,n=q.get(o),l;switch(r){case"mceFocus":n.focus();return true;case"mceAddEditor":case"mceAddControl":if(!q.get(o)){new j.Editor(o,q.settings).render()}return true;case"mceAddFrameControl":l=o.window;l.tinyMCE=tinyMCE;l.tinymce=j;j.DOM.doc=l.document;j.DOM.win=l;n=new j.Editor(o.element_id,o);n.render();if(j.isIE){function m(){n.destroy();l.detachEvent("onunload",m);l=l.tinyMCE=l.tinymce=null}l.attachEvent("onunload",m)}o.page_window=null;return true;case"mceRemoveEditor":case"mceRemoveControl":if(n){n.remove()}return true;case"mceToggleEditor":if(!n){q.execCommand("mceAddControl",0,o);return true}if(n.isHidden()){n.show()}else{n.hide()}return true}if(q.activeEditor){return q.activeEditor.execCommand(r,p,o)}return false},execInstanceCommand:function(p,o,n,m){var l=this.get(p);if(l){return l.execCommand(o,n,m)}return false},triggerSave:function(){g(this.editors,function(l){l.save()})},addI18n:function(n,q){var l,m=this.i18n;if(!j.is(n,"string")){g(n,function(r,p){g(r,function(t,s){g(t,function(v,u){if(s==="common"){m[p+"."+u]=v}else{m[p+"."+s+"."+u]=v}})})})}else{g(q,function(r,p){m[n+"."+p]=r})}},_setActive:function(l){this.selectedInstance=this.activeEditor=l}})})(tinymce);(function(m){var n=m.DOM,j=m.dom.Event,f=m.extend,k=m.util.Dispatcher,i=m.each,a=m.isGecko,b=m.isIE,e=m.isWebKit,d=m.is,h=m.ThemeManager,c=m.PluginManager,o=m.inArray,l=m.grep,g=m.explode;m.create("tinymce.Editor",{Editor:function(r,q){var p=this;p.id=p.editorId=r;p.execCommands={};p.queryStateCommands={};p.queryValueCommands={};p.isNotDirty=false;p.plugins={};i(["onPreInit","onBeforeRenderUI","onPostRender","onInit","onRemove","onActivate","onDeactivate","onClick","onEvent","onMouseUp","onMouseDown","onDblClick","onKeyDown","onKeyUp","onKeyPress","onContextMenu","onSubmit","onReset","onPaste","onPreProcess","onPostProcess","onBeforeSetContent","onBeforeGetContent","onSetContent","onGetContent","onLoadContent","onSaveContent","onNodeChange","onChange","onBeforeExecCommand","onExecCommand","onUndo","onRedo","onVisualAid","onSetProgressState"],function(s){p[s]=new k(p)});p.settings=q=f({id:r,language:"en",docs_language:"en",theme:"simple",skin:"default",delta_width:0,delta_height:0,popup_css:"",plugins:"",document_base_url:m.documentBaseURL,add_form_submit_trigger:1,submit_patch:1,add_unload_trigger:1,convert_urls:1,relative_urls:1,remove_script_host:1,table_inline_editing:0,object_resizing:1,cleanup:1,accessibility_focus:1,custom_shortcuts:1,custom_undo_redo_keyboard_shortcuts:1,custom_undo_redo_restore_selection:1,custom_undo_redo:1,doctype:m.isIE6?'<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">':"<!DOCTYPE>",visual_table_class:"mceItemTable",visual:1,font_size_style_values:"xx-small,x-small,small,medium,large,x-large,xx-large",apply_source_formatting:1,directionality:"ltr",forced_root_block:"p",valid_elements:"@[id|class|style|title|dir<ltr?rtl|lang|xml::lang|onclick|ondblclick|onmousedown|onmouseup|onmouseover|onmousemove|onmouseout|onkeypress|onkeydown|onkeyup],a[rel|rev|charset|hreflang|tabindex|accesskey|type|name|href|target|title|class|onfocus|onblur],strong/b,em/i,strike,u,#p,-ol[type|compact],-ul[type|compact],-li,br,img[longdesc|usemap|src|border|alt=|title|hspace|vspace|width|height|align],-sub,-sup,-blockquote[cite],-table[border|cellspacing|cellpadding|width|frame|rules|height|align|summary|bgcolor|background|bordercolor],-tr[rowspan|width|height|align|valign|bgcolor|background|bordercolor],tbody,thead,tfoot,#td[colspan|rowspan|width|height|align|valign|bgcolor|background|bordercolor|scope],#th[colspan|rowspan|width|height|align|valign|scope],caption,-div,-span,-code,-pre,address,-h1,-h2,-h3,-h4,-h5,-h6,hr[size|noshade],-font[face|size|color],dd,dl,dt,cite,abbr,acronym,del[datetime|cite],ins[datetime|cite],object[classid|width|height|codebase|*],param[name|value],embed[type|width|height|src|*],script[src|type],map[name],area[shape|coords|href|alt|target],bdo,button,col[align|char|charoff|span|valign|width],colgroup[align|char|charoff|span|valign|width],dfn,fieldset,form[action|accept|accept-charset|enctype|method],input[accept|alt|checked|disabled|maxlength|name|readonly|size|src|type|value|tabindex|accesskey],kbd,label[for],legend,noscript,optgroup[label|disabled],option[disabled|label|selected|value],q[cite],samp,select[disabled|multiple|name|size],small,textarea[cols|rows|disabled|name|readonly],tt,var,big",hidden_input:1,padd_empty_editor:1,render_ui:1,init_theme:1,force_p_newlines:1,indentation:"30px",keep_styles:1,fix_table_elements:1,inline_styles:1,convert_fonts_to_spans:true},q);p.documentBaseURI=new m.util.URI(q.document_base_url||m.documentBaseURL,{base_uri:tinyMCE.baseURI});p.baseURI=m.baseURI;p.execCallback("setup",p)},render:function(r){var u=this,v=u.settings,x=u.id,p=m.ScriptLoader;if(!j.domLoaded){j.add(document,"init",function(){u.render()});return}tinyMCE.settings=v;if(!u.getElement()){return}if(m.isIDevice){return}if(!/TEXTAREA|INPUT/i.test(u.getElement().nodeName)&&v.hidden_input&&n.getParent(x,"form")){n.insertAfter(n.create("input",{type:"hidden",name:x}),x)}if(m.WindowManager){u.windowManager=new m.WindowManager(u)}if(v.encoding=="xml"){u.onGetContent.add(function(s,t){if(t.save){t.content=n.encode(t.content)}})}if(v.add_form_submit_trigger){u.onSubmit.addToTop(function(){if(u.initialized){u.save();u.isNotDirty=1}})}if(v.add_unload_trigger){u._beforeUnload=tinyMCE.onBeforeUnload.add(function(){if(u.initialized&&!u.destroyed&&!u.isHidden()){u.save({format:"raw",no_events:true})}})}m.addUnload(u.destroy,u);if(v.submit_patch){u.onBeforeRenderUI.add(function(){var s=u.getElement().form;if(!s){return}if(s._mceOldSubmit){return}if(!s.submit.nodeType&&!s.submit.length){u.formElement=s;s._mceOldSubmit=s.submit;s.submit=function(){m.triggerSave();u.isNotDirty=1;return u.formElement._mceOldSubmit(u.formElement)}}s=null})}function q(){if(v.language){p.add(m.baseURL+"/langs/"+v.language+".js")}if(v.theme&&v.theme.charAt(0)!="-"&&!h.urls[v.theme]){h.load(v.theme,"themes/"+v.theme+"/editor_template"+m.suffix+".js")}i(g(v.plugins),function(s){if(s&&s.charAt(0)!="-"&&!c.urls[s]){if(s=="safari"){return}c.load(s,"plugins/"+s+"/editor_plugin"+m.suffix+".js")}});p.loadQueue(function(){if(!u.removed){u.init()}})}q()},init:function(){var r,E=this,F=E.settings,B,y,A=E.getElement(),q,p,C,x,z,D;m.add(E);if(F.theme){F.theme=F.theme.replace(/-/,"");q=h.get(F.theme);E.theme=new q();if(E.theme.init&&F.init_theme){E.theme.init(E,h.urls[F.theme]||m.documentBaseURL.replace(/\/$/,""))}}i(g(F.plugins.replace(/\-/g,"")),function(G){var H=c.get(G),t=c.urls[G]||m.documentBaseURL.replace(/\/$/,""),s;if(H){s=new H(E,t);E.plugins[G]=s;if(s.init){s.init(E,t)}}});if(F.popup_css!==false){if(F.popup_css){F.popup_css=E.documentBaseURI.toAbsolute(F.popup_css)}else{F.popup_css=E.baseURI.toAbsolute("themes/"+F.theme+"/skins/"+F.skin+"/dialog.css")}}if(F.popup_css_add){F.popup_css+=","+E.documentBaseURI.toAbsolute(F.popup_css_add)}E.controlManager=new m.ControlManager(E);if(F.custom_undo_redo){E.onBeforeExecCommand.add(function(t,G,u,H,s){if(G!="Undo"&&G!="Redo"&&G!="mceRepaint"&&(!s||!s.skip_undo)){if(!E.undoManager.hasUndo()){E.undoManager.add()}}});E.onExecCommand.add(function(t,G,u,H,s){if(G!="Undo"&&G!="Redo"&&G!="mceRepaint"&&(!s||!s.skip_undo)){E.undoManager.add()}})}E.onExecCommand.add(function(s,t){if(!/^(FontName|FontSize)$/.test(t)){E.nodeChanged()}});if(a){function v(s,t){if(!t||!t.initial){E.execCommand("mceRepaint")}}E.onUndo.add(v);E.onRedo.add(v);E.onSetContent.add(v)}E.onBeforeRenderUI.dispatch(E,E.controlManager);if(F.render_ui){B=F.width||A.style.width||A.offsetWidth;y=F.height||A.style.height||A.offsetHeight;E.orgDisplay=A.style.display;D=/^[0-9\.]+(|px)$/i;if(D.test(""+B)){B=Math.max(parseInt(B)+(q.deltaWidth||0),100)}if(D.test(""+y)){y=Math.max(parseInt(y)+(q.deltaHeight||0),100)}q=E.theme.renderUI({targetNode:A,width:B,height:y,deltaWidth:F.delta_width,deltaHeight:F.delta_height});E.editorContainer=q.editorContainer}if(document.domain&&location.hostname!=document.domain){m.relaxedDomain=document.domain}n.setStyles(q.sizeContainer||q.editorContainer,{width:B,height:y});y=(q.iframeHeight||y)+(typeof(y)=="number"?(q.deltaHeight||0):"");if(y<100){y=100}E.iframeHTML=F.doctype+'<html><head xmlns="http://www.w3.org/1999/xhtml">';if(F.document_base_url!=m.documentBaseURL){E.iframeHTML+='<base href="'+E.documentBaseURI.getURI()+'" />'}E.iframeHTML+='<meta http-equiv="X-UA-Compatible" content="IE=7" /><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />';if(m.relaxedDomain){E.iframeHTML+='<script type="text/javascript">document.domain = "'+m.relaxedDomain+'";<\/script>'}x=F.body_id||"tinymce";if(x.indexOf("=")!=-1){x=E.getParam("body_id","","hash");x=x[E.id]||x}z=F.body_class||"";if(z.indexOf("=")!=-1){z=E.getParam("body_class","","hash");z=z[E.id]||""}E.iframeHTML+='</head><body id="'+x+'" class="mceContentBody '+z+'"></body></html>';if(m.relaxedDomain){if(b||(m.isOpera&&parseFloat(opera.version())>=9.5)){C='javascript:(function(){document.open();document.domain="'+document.domain+'";var ed = window.parent.tinyMCE.get("'+E.id+'");document.write(ed.iframeHTML);document.close();ed.setupIframe();})()'}else{if(m.isOpera){C='javascript:(function(){document.open();document.domain="'+document.domain+'";document.close();ed.setupIframe();})()'}}}r=n.add(q.iframeContainer,"iframe",{id:E.id+"_ifr",src:C||'javascript:""',frameBorder:"0",style:{width:"100%",height:y}});E.contentAreaContainer=q.iframeContainer;n.get(q.editorContainer).style.display=E.orgDisplay;n.get(E.id).style.display="none";if(!b||!m.relaxedDomain){E.setupIframe()}A=r=q=null},setupIframe:function(){var z=this,A=z.settings,r=n.get(z.id),u=z.getDoc(),q,x;if(!b||!m.relaxedDomain){u.open();u.write(z.iframeHTML);u.close()}if(!b){try{if(!A.readonly){u.designMode="On"}}catch(v){}}if(b){x=z.getBody();n.hide(x);if(!A.readonly){x.contentEditable=true}n.show(x)}z.dom=new m.dom.DOMUtils(z.getDoc(),{keep_values:true,url_converter:z.convertURL,url_converter_scope:z,hex_colors:A.force_hex_style_colors,class_filter:A.class_filter,update_styles:1,fix_ie_paragraphs:1,valid_styles:A.valid_styles});z.schema=new m.dom.Schema();z.serializer=new m.dom.Serializer(f(A,{valid_elements:A.verify_html===false?"*[*]":A.valid_elements,dom:z.dom,schema:z.schema}));z.selection=new m.dom.Selection(z.dom,z.getWin(),z.serializer);z.formatter=new m.Formatter(this);z.formatter.register({alignleft:[{selector:"p,h1,h2,h3,h4,h5,h6,td,th,div,ul,ol,li",styles:{textAlign:"left"}},{selector:"img,table",styles:{"float":"left"}}],aligncenter:[{selector:"p,h1,h2,h3,h4,h5,h6,td,th,div,ul,ol,li",styles:{textAlign:"center"}},{selector:"img",styles:{display:"block",marginLeft:"auto",marginRight:"auto"}},{selector:"table",styles:{marginLeft:"auto",marginRight:"auto"}}],alignright:[{selector:"p,h1,h2,h3,h4,h5,h6,td,th,div,ul,ol,li",styles:{textAlign:"right"}},{selector:"img,table",styles:{"float":"right"}}],alignfull:[{selector:"p,h1,h2,h3,h4,h5,h6,td,th,div,ul,ol,li",styles:{textAlign:"justify"}}],bold:[{inline:"strong"},{inline:"span",styles:{fontWeight:"bold"}},{inline:"b"}],italic:[{inline:"em"},{inline:"span",styles:{fontStyle:"italic"}},{inline:"i"}],underline:[{inline:"span",styles:{textDecoration:"underline"},exact:true},{inline:"u"}],strikethrough:[{inline:"span",styles:{textDecoration:"line-through"},exact:true},{inline:"u"}],forecolor:{inline:"span",styles:{color:"%value"},wrap_links:false},hilitecolor:{inline:"span",styles:{backgroundColor:"%value"},wrap_links:false},fontname:{inline:"span",styles:{fontFamily:"%value"}},fontsize:{inline:"span",styles:{fontSize:"%value"}},fontsize_class:{inline:"span",attributes:{"class":"%value"}},blockquote:{block:"blockquote",wrapper:1,remove:"all"},removeformat:[{selector:"b,strong,em,i,font,u,strike",remove:"all",split:true,expand:false,block_expand:true,deep:true},{selector:"span",attributes:["style","class"],remove:"empty",split:true,expand:false,deep:true},{selector:"*",attributes:["style","class"],split:false,expand:false,deep:true}]});i("p h1 h2 h3 h4 h5 h6 div address pre div code dt dd samp".split(/\s/),function(s){z.formatter.register(s,{block:s,remove:"all"})});z.formatter.register(z.settings.formats);z.undoManager=new m.UndoManager(z);z.undoManager.onAdd.add(function(t,s){if(!s.initial){return z.onChange.dispatch(z,s,t)}});z.undoManager.onUndo.add(function(t,s){return z.onUndo.dispatch(z,s,t)});z.undoManager.onRedo.add(function(t,s){return z.onRedo.dispatch(z,s,t)});z.forceBlocks=new m.ForceBlocks(z,{forced_root_block:A.forced_root_block});z.editorCommands=new m.EditorCommands(z);z.serializer.onPreProcess.add(function(s,t){return z.onPreProcess.dispatch(z,t,s)});z.serializer.onPostProcess.add(function(s,t){return z.onPostProcess.dispatch(z,t,s)});z.onPreInit.dispatch(z);if(!A.gecko_spellcheck){z.getBody().spellcheck=0}if(!A.readonly){z._addEvents()}z.controlManager.onPostRender.dispatch(z,z.controlManager);z.onPostRender.dispatch(z);if(A.directionality){z.getBody().dir=A.directionality}if(A.nowrap){z.getBody().style.whiteSpace="nowrap"}if(A.custom_elements){function y(s,t){i(g(A.custom_elements),function(B){var C;if(B.indexOf("~")===0){B=B.substring(1);C="span"}else{C="div"}t.content=t.content.replace(new RegExp("<("+B+")([^>]*)>","g"),"<"+C+' _mce_name="$1"$2>');t.content=t.content.replace(new RegExp("</("+B+")>","g"),"</"+C+">")})}z.onBeforeSetContent.add(y);z.onPostProcess.add(function(s,t){if(t.set){y(s,t)}})}if(A.handle_node_change_callback){z.onNodeChange.add(function(t,s,B){z.execCallback("handle_node_change_callback",z.id,B,-1,-1,true,z.selection.isCollapsed())})}if(A.save_callback){z.onSaveContent.add(function(s,B){var t=z.execCallback("save_callback",z.id,B.content,z.getBody());if(t){B.content=t}})}if(A.onchange_callback){z.onChange.add(function(t,s){z.execCallback("onchange_callback",z,s)})}if(A.convert_newlines_to_brs){z.onBeforeSetContent.add(function(s,t){if(t.initial){t.content=t.content.replace(/\r?\n/g,"<br />")}})}if(A.fix_nesting&&b){z.onBeforeSetContent.add(function(s,t){t.content=z._fixNesting(t.content)})}if(A.preformatted){z.onPostProcess.add(function(s,t){t.content=t.content.replace(/^\s*<pre.*?>/,"");t.content=t.content.replace(/<\/pre>\s*$/,"");if(t.set){t.content='<pre class="mceItemHidden">'+t.content+"</pre>"}})}if(A.verify_css_classes){z.serializer.attribValueFilter=function(D,B){var C,t;if(D=="class"){if(!z.classesRE){t=z.dom.getClasses();if(t.length>0){C="";i(t,function(s){C+=(C?"|":"")+s["class"]});z.classesRE=new RegExp("("+C+")","gi")}}return !z.classesRE||/(\bmceItem\w+\b|\bmceTemp\w+\b)/g.test(B)||z.classesRE.test(B)?B:""}return B}}if(A.cleanup_callback){z.onBeforeSetContent.add(function(s,t){t.content=z.execCallback("cleanup_callback","insert_to_editor",t.content,t)});z.onPreProcess.add(function(s,t){if(t.set){z.execCallback("cleanup_callback","insert_to_editor_dom",t.node,t)}if(t.get){z.execCallback("cleanup_callback","get_from_editor_dom",t.node,t)}});z.onPostProcess.add(function(s,t){if(t.set){t.content=z.execCallback("cleanup_callback","insert_to_editor",t.content,t)}if(t.get){t.content=z.execCallback("cleanup_callback","get_from_editor",t.content,t)}})}if(A.save_callback){z.onGetContent.add(function(s,t){if(t.save){t.content=z.execCallback("save_callback",z.id,t.content,z.getBody())}})}if(A.handle_event_callback){z.onEvent.add(function(s,t,B){if(z.execCallback("handle_event_callback",t,s,B)===false){j.cancel(t)}})}z.onSetContent.add(function(){z.addVisual(z.getBody())});if(A.padd_empty_editor){z.onPostProcess.add(function(s,t){t.content=t.content.replace(/^(<p[^>]*>( | |\s|\u00a0|)<\/p>[\r\n]*|<br \/>[\r\n]*)$/,"")})}if(a){function p(s,t){i(s.dom.select("a"),function(C){var B=C.parentNode;if(s.dom.isBlock(B)&&B.lastChild===C){s.dom.add(B,"br",{_mce_bogus:1})}})}z.onExecCommand.add(function(s,t){if(t==="CreateLink"){p(s)}});z.onSetContent.add(z.selection.onSetContent.add(p));if(!A.readonly){try{u.designMode="Off";u.designMode="On"}catch(v){}}}setTimeout(function(){if(z.removed){return}z.load({initial:true,format:(A.cleanup_on_startup?"html":"raw")});z.startContent=z.getContent({format:"raw"});z.initialized=true;z.onInit.dispatch(z);z.execCallback("setupcontent_callback",z.id,z.getBody(),z.getDoc());z.execCallback("init_instance_callback",z);z.focus(true);z.nodeChanged({initial:1});if(A.content_css){m.each(g(A.content_css),function(s){z.dom.loadCSS(z.documentBaseURI.toAbsolute(s))})}if(A.auto_focus){setTimeout(function(){var s=m.get(A.auto_focus);s.selection.select(s.getBody(),1);s.selection.collapse(1);s.getWin().focus()},100)}},1);r=null},focus:function(s){var x,q=this,v=q.settings.content_editable,r,p,u=q.getDoc();if(!s){r=q.selection.getRng();if(r.item){p=r.item(0)}if(!v){q.getWin().focus()}if(p&&p.ownerDocument==u){r=u.body.createControlRange();r.addElement(p);r.select()}}if(m.activeEditor!=q){if((x=m.activeEditor)!=null){x.onDeactivate.dispatch(x,q)}q.onActivate.dispatch(q,x)}m._setActive(q)},execCallback:function(u){var p=this,r=p.settings[u],q;if(!r){return}if(p.callbackLookup&&(q=p.callbackLookup[u])){r=q.func;q=q.scope}if(d(r,"string")){q=r.replace(/\.\w+$/,"");q=q?m.resolve(q):0;r=m.resolve(r);p.callbackLookup=p.callbackLookup||{};p.callbackLookup[u]={func:r,scope:q}}return r.apply(q||p,Array.prototype.slice.call(arguments,1))},translate:function(p){var r=this.settings.language||"en",q=m.i18n;if(!p){return""}return q[r+"."+p]||p.replace(/{\#([^}]+)\}/g,function(t,s){return q[r+"."+s]||"{#"+s+"}"})},getLang:function(q,p){return m.i18n[(this.settings.language||"en")+"."+q]||(d(p)?p:"{#"+q+"}")},getParam:function(u,r,p){var s=m.trim,q=d(this.settings[u])?this.settings[u]:r,t;if(p==="hash"){t={};if(d(q,"string")){i(q.indexOf("=")>0?q.split(/[;,](?![^=;,]*(?:[;,]|$))/):q.split(","),function(x){x=x.split("=");if(x.length>1){t[s(x[0])]=s(x[1])}else{t[s(x[0])]=s(x)}})}else{t=q}return t}return q},nodeChanged:function(r){var p=this,q=p.selection,u=(b?q.getNode():q.getStart())||p.getBody();if(p.initialized){r=r||{};u=b&&u.ownerDocument!=p.getDoc()?p.getBody():u;r.parents=[];p.dom.getParent(u,function(s){if(s.nodeName=="BODY"){return true}r.parents.push(s)});p.onNodeChange.dispatch(p,r?r.controlManager||p.controlManager:p.controlManager,u,q.isCollapsed(),r)}},addButton:function(r,q){var p=this;p.buttons=p.buttons||{};p.buttons[r]=q},addCommand:function(r,q,p){this.execCommands[r]={func:q,scope:p||this}},addQueryStateHandler:function(r,q,p){this.queryStateCommands[r]={func:q,scope:p||this}},addQueryValueHandler:function(r,q,p){this.queryValueCommands[r]={func:q,scope:p||this}},addShortcut:function(r,u,p,s){var q=this,v;if(!q.settings.custom_shortcuts){return false}q.shortcuts=q.shortcuts||{};if(d(p,"string")){v=p;p=function(){q.execCommand(v,false,null)}}if(d(p,"object")){v=p;p=function(){q.execCommand(v[0],v[1],v[2])}}i(g(r),function(t){var x={func:p,scope:s||this,desc:u,alt:false,ctrl:false,shift:false};i(g(t,"+"),function(y){switch(y){case"alt":case"ctrl":case"shift":x[y]=true;break;default:x.charCode=y.charCodeAt(0);x.keyCode=y.toUpperCase().charCodeAt(0)}});q.shortcuts[(x.ctrl?"ctrl":"")+","+(x.alt?"alt":"")+","+(x.shift?"shift":"")+","+x.keyCode]=x});return true},execCommand:function(x,v,z,p){var r=this,u=0,y,q;if(!/^(mceAddUndoLevel|mceEndUndoLevel|mceBeginUndoLevel|mceRepaint|SelectAll)$/.test(x)&&(!p||!p.skip_focus)){r.focus()}y={};r.onBeforeExecCommand.dispatch(r,x,v,z,y);if(y.terminate){return false}if(r.execCallback("execcommand_callback",r.id,r.selection.getNode(),x,v,z)){r.onExecCommand.dispatch(r,x,v,z,p);return true}if(y=r.execCommands[x]){q=y.func.call(y.scope,v,z);if(q!==true){r.onExecCommand.dispatch(r,x,v,z,p);return q}}i(r.plugins,function(s){if(s.execCommand&&s.execCommand(x,v,z)){r.onExecCommand.dispatch(r,x,v,z,p);u=1;return false}});if(u){return true}if(r.theme&&r.theme.execCommand&&r.theme.execCommand(x,v,z)){r.onExecCommand.dispatch(r,x,v,z,p);return true}if(m.GlobalCommands.execCommand(r,x,v,z)){r.onExecCommand.dispatch(r,x,v,z,p);return true}if(r.editorCommands.execCommand(x,v,z)){r.onExecCommand.dispatch(r,x,v,z,p);return true}r.getDoc().execCommand(x,v,z);r.onExecCommand.dispatch(r,x,v,z,p)},queryCommandState:function(u){var q=this,v,r;if(q._isHidden()){return}if(v=q.queryStateCommands[u]){r=v.func.call(v.scope);if(r!==true){return r}}v=q.editorCommands.queryCommandState(u);if(v!==-1){return v}try{return this.getDoc().queryCommandState(u)}catch(p){}},queryCommandValue:function(v){var q=this,u,r;if(q._isHidden()){return}if(u=q.queryValueCommands[v]){r=u.func.call(u.scope);if(r!==true){return r}}u=q.editorCommands.queryCommandValue(v);if(d(u)){return u}try{return this.getDoc().queryCommandValue(v)}catch(p){}},show:function(){var p=this;n.show(p.getContainer());n.hide(p.id);p.load()},hide:function(){var p=this,q=p.getDoc();if(b&&q){q.execCommand("SelectAll")}p.save();n.hide(p.getContainer());n.setStyle(p.id,"display",p.orgDisplay)},isHidden:function(){return !n.isHidden(this.id)},setProgressState:function(p,q,r){this.onSetProgressState.dispatch(this,p,q,r);return p},load:function(s){var p=this,r=p.getElement(),q;if(r){s=s||{};s.load=true;q=p.setContent(d(r.value)?r.value:r.innerHTML,s);s.element=r;if(!s.no_events){p.onLoadContent.dispatch(p,s)}s.element=r=null;return q}},save:function(u){var p=this,s=p.getElement(),q,r;if(!s||!p.initialized){return}u=u||{};u.save=true;if(!u.no_events){p.undoManager.typing=0;p.undoManager.add()}u.element=s;q=u.content=p.getContent(u);if(!u.no_events){p.onSaveContent.dispatch(p,u)}q=u.content;if(!/TEXTAREA|INPUT/i.test(s.nodeName)){s.innerHTML=q;if(r=n.getParent(p.id,"form")){i(r.elements,function(t){if(t.name==p.id){t.value=q;return false}})}}else{s.value=q}u.element=s=null;return q},setContent:function(q,r){var p=this;r=r||{};r.format=r.format||"html";r.set=true;r.content=q;if(!r.no_events){p.onBeforeSetContent.dispatch(p,r)}if(!m.isIE&&(q.length===0||/^\s+$/.test(q))){r.content=p.dom.setHTML(p.getBody(),'<br _mce_bogus="1" />');r.format="raw"}r.content=p.dom.setHTML(p.getBody(),m.trim(r.content));if(r.format!="raw"&&p.settings.cleanup){r.getInner=true;r.content=p.dom.setHTML(p.getBody(),p.serializer.serialize(p.getBody(),r))}if(!r.no_events){p.onSetContent.dispatch(p,r)}return r.content},getContent:function(r){var p=this,q;r=r||{};r.format=r.format||"html";r.get=true;if(!r.no_events){p.onBeforeGetContent.dispatch(p,r)}if(r.format!="raw"&&p.settings.cleanup){r.getInner=true;q=p.serializer.serialize(p.getBody(),r)}else{q=p.getBody().innerHTML}q=q.replace(/^\s*|\s*$/g,"");r.content=q;if(!r.no_events){p.onGetContent.dispatch(p,r)}return r.content},isDirty:function(){var p=this;return m.trim(p.startContent)!=m.trim(p.getContent({format:"raw",no_events:1}))&&!p.isNotDirty},getContainer:function(){var p=this;if(!p.container){p.container=n.get(p.editorContainer||p.id+"_parent")}return p.container},getContentAreaContainer:function(){return this.contentAreaContainer},getElement:function(){return n.get(this.settings.content_element||this.id)},getWin:function(){var p=this,q;if(!p.contentWindow){q=n.get(p.id+"_ifr");if(q){p.contentWindow=q.contentWindow}}return p.contentWindow},getDoc:function(){var q=this,p;if(!q.contentDocument){p=q.getWin();if(p){q.contentDocument=p.document}}return q.contentDocument},getBody:function(){return this.bodyElement||this.getDoc().body},convertURL:function(p,x,v){var q=this,r=q.settings;if(r.urlconverter_callback){return q.execCallback("urlconverter_callback",p,v,true,x)}if(!r.convert_urls||(v&&v.nodeName=="LINK")||p.indexOf("file:")===0){return p}if(r.relative_urls){return q.documentBaseURI.toRelative(p)}p=q.documentBaseURI.toAbsolute(p,r.remove_script_host);return p},addVisual:function(r){var p=this,q=p.settings;r=r||p.getBody();if(!d(p.hasVisual)){p.hasVisual=q.visual}i(p.dom.select("table,a",r),function(t){var s;switch(t.nodeName){case"TABLE":s=p.dom.getAttrib(t,"border");if(!s||s=="0"){if(p.hasVisual){p.dom.addClass(t,q.visual_table_class)}else{p.dom.removeClass(t,q.visual_table_class)}}return;case"A":s=p.dom.getAttrib(t,"name");if(s){if(p.hasVisual){p.dom.addClass(t,"mceItemAnchor")}else{p.dom.removeClass(t,"mceItemAnchor")}}return}});p.onVisualAid.dispatch(p,r,p.hasVisual)},remove:function(){var p=this,q=p.getContainer();p.removed=1;p.hide();p.execCallback("remove_instance_callback",p);p.onRemove.dispatch(p);p.onExecCommand.listeners=[];m.remove(p);n.remove(q)},destroy:function(q){var p=this;if(p.destroyed){return}if(!q){m.removeUnload(p.destroy);tinyMCE.onBeforeUnload.remove(p._beforeUnload);if(p.theme&&p.theme.destroy){p.theme.destroy()}p.controlManager.destroy();p.selection.destroy();p.dom.destroy();if(!p.settings.content_editable){j.clear(p.getWin());j.clear(p.getDoc())}j.clear(p.getBody());j.clear(p.formElement)}if(p.formElement){p.formElement.submit=p.formElement._mceOldSubmit;p.formElement._mceOldSubmit=null}p.contentAreaContainer=p.formElement=p.container=p.settings.content_element=p.bodyElement=p.contentDocument=p.contentWindow=null;if(p.selection){p.selection=p.selection.win=p.selection.dom=p.selection.dom.doc=null}p.destroyed=1},_addEvents:function(){var z=this,r,A=z.settings,q=z.dom,x={mouseup:"onMouseUp",mousedown:"onMouseDown",click:"onClick",keyup:"onKeyUp",keydown:"onKeyDown",keypress:"onKeyPress",submit:"onSubmit",reset:"onReset",contextmenu:"onContextMenu",dblclick:"onDblClick",paste:"onPaste"};function p(t,B){var s=t.type;if(z.removed){return}if(z.onEvent.dispatch(z,t,B)!==false){z[x[t.fakeType||t.type]].dispatch(z,t,B)}}i(x,function(t,s){switch(s){case"contextmenu":if(m.isOpera){q.bind(z.getBody(),"mousedown",function(B){if(B.ctrlKey){B.fakeType="contextmenu";p(B)}})}else{q.bind(z.getBody(),s,p)}break;case"paste":q.bind(z.getBody(),s,function(B){p(B)});break;case"submit":case"reset":q.bind(z.getElement().form||n.getParent(z.id,"form"),s,p);break;default:q.bind(A.content_editable?z.getBody():z.getDoc(),s,p)}});q.bind(A.content_editable?z.getBody():(a?z.getDoc():z.getWin()),"focus",function(s){z.focus(true)});if(m.isGecko){q.bind(z.getDoc(),"DOMNodeInserted",function(t){var s;t=t.target;if(t.nodeType===1&&t.nodeName==="IMG"&&(s=t.getAttribute("_mce_src"))){t.src=z.documentBaseURI.toAbsolute(s)}})}if(a){function u(){var C=this,E=C.getDoc(),D=C.settings;if(a&&!D.readonly){if(C._isHidden()){try{if(!D.content_editable){E.designMode="On"}}catch(B){}}try{E.execCommand("styleWithCSS",0,false)}catch(B){if(!C._isHidden()){try{E.execCommand("useCSS",0,true)}catch(B){}}}if(!D.table_inline_editing){try{E.execCommand("enableInlineTableEditing",false,false)}catch(B){}}if(!D.object_resizing){try{E.execCommand("enableObjectResizing",false,false)}catch(B){}}}}z.onBeforeExecCommand.add(u);z.onMouseDown.add(u)}if(m.isWebKit){z.onClick.add(function(s,t){t=t.target;if(t.nodeName=="IMG"||(t.nodeName=="A"&&q.hasClass(t,"mceItemAnchor"))){z.selection.getSel().setBaseAndExtent(t,0,t,1);z.nodeChanged()}})}z.onMouseUp.add(z.nodeChanged);z.onKeyUp.add(function(s,t){var B=t.keyCode;if((B>=33&&B<=36)||(B>=37&&B<=40)||B==13||B==45||B==46||B==8||(m.isMac&&(B==91||B==93))||t.ctrlKey){z.nodeChanged()}});z.onReset.add(function(){z.setContent(z.startContent,{format:"raw"})});if(A.custom_shortcuts){if(A.custom_undo_redo_keyboard_shortcuts){z.addShortcut("ctrl+z",z.getLang("undo_desc"),"Undo");z.addShortcut("ctrl+y",z.getLang("redo_desc"),"Redo")}z.addShortcut("ctrl+b",z.getLang("bold_desc"),"Bold");z.addShortcut("ctrl+i",z.getLang("italic_desc"),"Italic");z.addShortcut("ctrl+u",z.getLang("underline_desc"),"Underline");for(r=1;r<=6;r++){z.addShortcut("ctrl+"+r,"",["FormatBlock",false,"h"+r])}z.addShortcut("ctrl+7","",["FormatBlock",false,"<p>"]);z.addShortcut("ctrl+8","",["FormatBlock",false,"<div>"]);z.addShortcut("ctrl+9","",["FormatBlock",false,"<address>"]);function v(t){var s=null;if(!t.altKey&&!t.ctrlKey&&!t.metaKey){return s}i(z.shortcuts,function(B){if(m.isMac&&B.ctrl!=t.metaKey){return}else{if(!m.isMac&&B.ctrl!=t.ctrlKey){return}}if(B.alt!=t.altKey){return}if(B.shift!=t.shiftKey){return}if(t.keyCode==B.keyCode||(t.charCode&&t.charCode==B.charCode)){s=B;return false}});return s}z.onKeyUp.add(function(s,t){var B=v(t);if(B){return j.cancel(t)}});z.onKeyPress.add(function(s,t){var B=v(t);if(B){return j.cancel(t)}});z.onKeyDown.add(function(s,t){var B=v(t);if(B){B.func.call(B.scope);return j.cancel(t)}})}if(m.isIE){q.bind(z.getDoc(),"controlselect",function(B){var t=z.resizeInfo,s;B=B.target;if(B.nodeName!=="IMG"){return}if(t){q.unbind(t.node,t.ev,t.cb)}if(!q.hasClass(B,"mceItemNoResize")){ev="resizeend";s=q.bind(B,ev,function(D){var C;D=D.target;if(C=q.getStyle(D,"width")){q.setAttrib(D,"width",C.replace(/[^0-9%]+/g,""));q.setStyle(D,"width","")}if(C=q.getStyle(D,"height")){q.setAttrib(D,"height",C.replace(/[^0-9%]+/g,""));q.setStyle(D,"height","")}})}else{ev="resizestart";s=q.bind(B,"resizestart",j.cancel,j)}t=z.resizeInfo={node:B,ev:ev,cb:s}});z.onKeyDown.add(function(s,t){switch(t.keyCode){case 8:if(z.selection.getRng().item){s.dom.remove(z.selection.getRng().item(0));return j.cancel(t)}}})}if(m.isOpera){z.onClick.add(function(s,t){j.prevent(t)})}if(A.custom_undo_redo){function y(){z.undoManager.typing=0;z.undoManager.add()}q.bind(z.getDoc(),"focusout",function(s){if(!z.removed&&z.undoManager.typing){y()}});z.onKeyUp.add(function(s,t){if((t.keyCode>=33&&t.keyCode<=36)||(t.keyCode>=37&&t.keyCode<=40)||t.keyCode==13||t.keyCode==45||t.ctrlKey){y()}});z.onKeyDown.add(function(t,E){var s,D,C;if(b&&E.keyCode==46){s=z.selection.getRng();if(s.parentElement){D=s.parentElement();if(E.ctrlKey){s.moveEnd("word",1);s.select()}z.selection.getSel().clear();if(s.parentElement()==D){C=z.selection.getBookmark();try{D.innerHTML=D.innerHTML}catch(B){}z.selection.moveToBookmark(C)}E.preventDefault();return}}if((E.keyCode>=33&&E.keyCode<=36)||(E.keyCode>=37&&E.keyCode<=40)||E.keyCode==13||E.keyCode==45){if(z.undoManager.typing){y()}return}if(!z.undoManager.typing){z.undoManager.add();z.undoManager.typing=1}});z.onMouseDown.add(function(){if(z.undoManager.typing){y()}})}},_isHidden:function(){var p;if(!a){return 0}p=this.selection.getSel();return(!p||!p.rangeCount||p.rangeCount==0)},_fixNesting:function(q){var r=[],p;q=q.replace(/<(\/)?([^\s>]+)[^>]*?>/g,function(t,s,v){var u;if(s==="/"){if(!r.length){return""}if(v!==r[r.length-1].tag){for(p=r.length-1;p>=0;p--){if(r[p].tag===v){r[p].close=1;break}}return""}else{r.pop();if(r.length&&r[r.length-1].close){t=t+"</"+r[r.length-1].tag+">";r.pop()}}}else{if(/^(br|hr|input|meta|img|link|param)$/i.test(v)){return t}if(/\/>$/.test(t)){return t}r.push({tag:v})}return t});for(p=r.length-1;p>=0;p--){q+="</"+r[p].tag+">"}return q}})})(tinymce);(function(c){var d=c.each,e,a=true,b=false;c.EditorCommands=function(n){var l=n.dom,p=n.selection,j={state:{},exec:{},value:{}},k=n.settings,o;function q(y,x,v){var u;y=y.toLowerCase();if(u=j.exec[y]){u(y,x,v);return a}return b}function m(v){var u;v=v.toLowerCase();if(u=j.state[v]){return u(v)}return -1}function h(v){var u;v=v.toLowerCase();if(u=j.value[v]){return u(v)}return b}function t(u,v){v=v||"exec";d(u,function(y,x){d(x.toLowerCase().split(","),function(z){j[v][z]=y})})}c.extend(this,{execCommand:q,queryCommandState:m,queryCommandValue:h,addCommands:t});function f(x,v,u){if(v===e){v=b}if(u===e){u=null}return n.getDoc().execCommand(x,v,u)}function s(u){return n.formatter.match(u)}function r(u,v){n.formatter.toggle(u,v?{value:v}:e)}function i(u){o=p.getBookmark(u)}function g(){p.moveToBookmark(o)}t({"mceResetDesignMode,mceBeginUndoLevel":function(){},"mceEndUndoLevel,mceAddUndoLevel":function(){n.undoManager.add()},"Cut,Copy,Paste":function(y){var x=n.getDoc(),u;try{f(y)}catch(v){u=a}if(u||!x.queryCommandSupported(y)){if(c.isGecko){n.windowManager.confirm(n.getLang("clipboard_msg"),function(z){if(z){open("http://www.mozilla.org/editor/midasdemo/securityprefs.html","_blank")}})}else{n.windowManager.alert(n.getLang("clipboard_no_support"))}}},unlink:function(u){if(p.isCollapsed()){p.select(p.getNode())}f(u);p.collapse(b)},"JustifyLeft,JustifyCenter,JustifyRight,JustifyFull":function(u){var v=u.substring(7);d("left,center,right,full".split(","),function(x){if(v!=x){n.formatter.remove("align"+x)}});r("align"+v)},"InsertUnorderedList,InsertOrderedList":function(x){var u,v;f(x);u=l.getParent(p.getNode(),"ol,ul");if(u){v=u.parentNode;if(/^(H[1-6]|P|ADDRESS|PRE)$/.test(v.nodeName)){i();l.split(v,u);g()}}},"Bold,Italic,Underline,Strikethrough":function(u){r(u)},"ForeColor,HiliteColor,FontName":function(x,v,u){r(x,u)},FontSize:function(y,x,v){var u,z;if(v>=1&&v<=7){z=c.explode(k.font_size_style_values);u=c.explode(k.font_size_classes);if(u){v=u[v-1]||v}else{v=z[v-1]||v}}r(y,v)},RemoveFormat:function(u){n.formatter.remove(u)},mceBlockQuote:function(u){r("blockquote")},FormatBlock:function(x,v,u){return r(u||"p")},mceCleanup:function(){var u=p.getBookmark();n.setContent(n.getContent({cleanup:a}),{cleanup:a});p.moveToBookmark(u)},mceRemoveNode:function(y,x,v){var u=v||p.getNode();if(u!=n.getBody()){i();n.dom.remove(u,a);g()}},mceSelectNodeDepth:function(y,x,v){var u=0;l.getParent(p.getNode(),function(z){if(z.nodeType==1&&u++==v){p.select(z);return b}},n.getBody())},mceSelectNode:function(x,v,u){p.select(u)},mceInsertContent:function(x,v,u){p.setContent(u)},mceInsertRawHTML:function(x,v,u){p.setContent("tiny_mce_marker");n.setContent(n.getContent().replace(/tiny_mce_marker/g,function(){return u}))},mceSetContent:function(x,v,u){n.setContent(u)},"Indent,Outdent":function(y){var v,u,x;v=k.indentation;u=/[a-z%]+$/i.exec(v);v=parseInt(v);if(!m("InsertUnorderedList")&&!m("InsertOrderedList")){d(p.getSelectedBlocks(),function(z){if(y=="outdent"){x=Math.max(0,parseInt(z.style.paddingLeft||0)-v);l.setStyle(z,"paddingLeft",x?x+u:"")}else{l.setStyle(z,"paddingLeft",(parseInt(z.style.paddingLeft||0)+v)+u)}})}else{f(y)}},mceRepaint:function(){var v;if(c.isGecko){try{i(a);if(p.getSel()){p.getSel().selectAllChildren(n.getBody())}p.collapse(a);g()}catch(u){}}},mceToggleFormat:function(x,v,u){n.formatter.toggle(u)},InsertHorizontalRule:function(){p.setContent("<hr />")},mceToggleVisualAid:function(){n.hasVisual=!n.hasVisual;n.addVisual()},mceReplaceContent:function(x,v,u){p.setContent(u.replace(/\{\$selection\}/g,p.getContent({format:"text"})))},mceInsertLink:function(y,x,v){var u=l.getParent(p.getNode(),"a");if(c.is(v,"string")){v={href:v}}if(!u){f("CreateLink",b,"javascript:mctmp(0);");d(l.select("a[href=javascript:mctmp(0);]"),function(z){l.setAttribs(z,v)})}else{if(v.href){l.setAttribs(u,v)}else{n.dom.remove(u,a)}}},selectAll:function(){var v=l.getRoot(),u=l.createRng();u.setStart(v,0);u.setEnd(v,v.childNodes.length);n.selection.setRng(u)}});t({"JustifyLeft,JustifyCenter,JustifyRight,JustifyFull":function(u){return s("align"+u.substring(7))},"Bold,Italic,Underline,Strikethrough":function(u){return s(u)},mceBlockQuote:function(){return s("blockquote")},Outdent:function(){var u;if(k.inline_styles){if((u=l.getParent(p.getStart(),l.isBlock))&&parseInt(u.style.paddingLeft)>0){return a}if((u=l.getParent(p.getEnd(),l.isBlock))&&parseInt(u.style.paddingLeft)>0){return a}}return m("InsertUnorderedList")||m("InsertOrderedList")||(!k.inline_styles&&!!l.getParent(p.getNode(),"BLOCKQUOTE"))},"InsertUnorderedList,InsertOrderedList":function(u){return l.getParent(p.getNode(),u=="insertunorderedlist"?"UL":"OL")}},"state");t({"FontSize,FontName":function(x){var v=0,u;if(u=l.getParent(p.getNode(),"span")){if(x=="fontsize"){v=u.style.fontSize}else{v=u.style.fontFamily.replace(/, /g,",").replace(/[\'\"]/g,"").toLowerCase()}}return v}},"value");if(k.custom_undo_redo){t({Undo:function(){n.undoManager.undo()},Redo:function(){n.undoManager.redo()}})}}})(tinymce);(function(b){var a=b.util.Dispatcher;b.UndoManager=function(e){var c,d=0,g=[];function f(){return b.trim(e.getContent({format:"raw",no_events:1}))}return c={typing:0,onAdd:new a(c),onUndo:new a(c),onRedo:new a(c),add:function(l){var h,j=e.settings,k;l=l||{};l.content=f();k=g[d];if(k&&k.content==l.content){if(d>0||g.length==1){return null}}if(j.custom_undo_redo_levels){if(g.length>j.custom_undo_redo_levels){for(h=0;h<g.length-1;h++){g[h]=g[h+1]}g.length--;d=g.length}}l.bookmark=e.selection.getBookmark(2,true);if(d<g.length-1){if(d==0){g=[]}else{g.length=d+1}}g.push(l);d=g.length-1;c.onAdd.dispatch(c,l);e.isNotDirty=0;return l},undo:function(){var j,h;if(c.typing){c.add();c.typing=0}if(d>0){j=g[--d];e.setContent(j.content,{format:"raw"});e.selection.moveToBookmark(j.bookmark);c.onUndo.dispatch(c,j)}return j},redo:function(){var h;if(d<g.length-1){h=g[++d];e.setContent(h.content,{format:"raw"});e.selection.moveToBookmark(h.bookmark);c.onRedo.dispatch(c,h)}return h},clear:function(){g=[];d=c.typing=0},hasUndo:function(){return d>0||c.typing},hasRedo:function(){return d<g.length-1}}}})(tinymce);(function(m){var k=m.dom.Event,c=m.isIE,a=m.isGecko,b=m.isOpera,j=m.each,i=m.extend,d=true,h=false;function l(p){var q,o,n;do{if(/^(SPAN|STRONG|B|EM|I|FONT|STRIKE|U)$/.test(p.nodeName)){if(q){o=p.cloneNode(false);o.appendChild(q);q=o}else{q=n=p.cloneNode(false)}q.removeAttribute("id")}}while(p=p.parentNode);if(q){return{wrapper:q,inner:n}}}function g(o,p){var n=p.ownerDocument.createRange();n.setStart(o.endContainer,o.endOffset);n.setEndAfter(p);return n.cloneContents().textContent.length==0}function f(o){o=o.innerHTML;o=o.replace(/<(img|hr|table|input|select|textarea)[ \>]/gi,"-");o=o.replace(/<[^>]+>/g,"");return o.replace(/[ \u00a0\t\r\n]+/g,"")==""}function e(p,r,n){var o,q;if(f(n)){o=r.getParent(n,"ul,ol");if(!r.getParent(o.parentNode,"ul,ol")){r.split(o,n);q=r.create("p",0,'<br _mce_bogus="1" />');r.replace(q,n);p.select(q,1)}return h}return d}m.create("tinymce.ForceBlocks",{ForceBlocks:function(o){var p=this,q=o.settings,r;p.editor=o;p.dom=o.dom;r=(q.forced_root_block||"p").toLowerCase();q.element=r.toUpperCase();o.onPreInit.add(p.setup,p);p.reOpera=new RegExp("(\\u00a0| | )</"+r+">","gi");p.rePadd=new RegExp("<p( )([^>]+)><\\/p>|<p( )([^>]+)\\/>|<p( )([^>]+)>\\s+<\\/p>|<p><\\/p>|<p\\/>|<p>\\s+<\\/p>".replace(/p/g,r),"gi");p.reNbsp2BR1=new RegExp("<p( )([^>]+)>[\\s\\u00a0]+<\\/p>|<p>[\\s\\u00a0]+<\\/p>".replace(/p/g,r),"gi");p.reNbsp2BR2=new RegExp("<%p()([^>]+)>( | )<\\/%p>|<%p>( | )<\\/%p>".replace(/%p/g,r),"gi");p.reBR2Nbsp=new RegExp("<p( )([^>]+)>\\s*<br \\/>\\s*<\\/p>|<p>\\s*<br \\/>\\s*<\\/p>".replace(/p/g,r),"gi");function n(s,t){if(b){t.content=t.content.replace(p.reOpera,"</"+r+">")}t.content=m._replace(p.rePadd,"<"+r+"$1$2$3$4$5$6>\u00a0</"+r+">",t.content);if(!c&&!b&&t.set){t.content=t.content.replace(p.reNbsp2BR1,"<"+r+"$1$2><br /></"+r+">");t.content=t.content.replace(p.reNbsp2BR2,"<"+r+"$1$2><br /></"+r+">")}else{t.content=m._replace(p.reBR2Nbsp,"<"+r+"$1$2>\u00a0</"+r+">",t.content)}}o.onBeforeSetContent.add(n);o.onPostProcess.add(n);if(q.forced_root_block){o.onInit.add(p.forceRoots,p);o.onSetContent.add(p.forceRoots,p);o.onBeforeGetContent.add(p.forceRoots,p)}},setup:function(){var o=this,n=o.editor,q=n.settings,u=n.dom,p=n.selection;if(q.forced_root_block){n.onBeforeExecCommand.add(o.forceRoots,o);n.onKeyUp.add(o.forceRoots,o);n.onPreProcess.add(o.forceRoots,o)}if(q.force_br_newlines){if(c){n.onKeyPress.add(function(s,t){var v;if(t.keyCode==13&&p.getNode().nodeName!="LI"){p.setContent('<br id="__" /> ',{format:"raw"});v=u.get("__");v.removeAttribute("id");p.select(v);p.collapse();return k.cancel(t)}})}}if(q.force_p_newlines){if(!c){n.onKeyPress.add(function(s,t){if(t.keyCode==13&&!t.shiftKey&&!o.insertPara(t)){k.cancel(t)}})}else{m.addUnload(function(){o._previousFormats=0});n.onKeyPress.add(function(s,t){o._previousFormats=0;if(t.keyCode==13&&!t.shiftKey&&s.selection.isCollapsed()&&q.keep_styles){o._previousFormats=l(s.selection.getStart())}});n.onKeyUp.add(function(t,x){if(x.keyCode==13&&!x.shiftKey){var v=t.selection.getStart(),s=o._previousFormats;if(!v.hasChildNodes()&&s){v=u.getParent(v,u.isBlock);if(v&&v.nodeName!="LI"){v.innerHTML="";if(o._previousFormats){v.appendChild(s.wrapper);s.inner.innerHTML="\uFEFF"}else{v.innerHTML="\uFEFF"}p.select(v,1);t.getDoc().execCommand("Delete",false,null);o._previousFormats=0}}}})}if(a){n.onKeyDown.add(function(s,t){if((t.keyCode==8||t.keyCode==46)&&!t.shiftKey){o.backspaceDelete(t,t.keyCode==8)}})}}if(m.isWebKit){function r(t){var s=p.getRng(),v,z=u.create("div",null," "),y,x=u.getViewPort(t.getWin()).h;s.insertNode(v=u.create("br"));s.setStartAfter(v);s.setEndAfter(v);p.setRng(s);if(p.getSel().focusNode==v.previousSibling){p.select(u.insertAfter(u.doc.createTextNode("\u00a0"),v));p.collapse(d)}u.insertAfter(z,v);y=u.getPos(z).y;u.remove(z);if(y>x){t.getWin().scrollTo(0,y)}}n.onKeyPress.add(function(s,t){if(t.keyCode==13&&(t.shiftKey||(q.force_br_newlines&&!u.getParent(p.getNode(),"h1,h2,h3,h4,h5,h6,ol,ul")))){r(s);k.cancel(t)}})}n.onPreProcess.add(function(s,t){j(u.select("p,h1,h2,h3,h4,h5,h6,div",t.node),function(v){if(f(v)){j(u.select("span,em,strong,b,i",t.node),function(x){if(!x.hasChildNodes()){x.appendChild(s.getDoc().createTextNode("\u00a0"));return h}})}})});if(c){if(q.element!="P"){n.onKeyPress.add(function(s,t){o.lastElm=p.getNode().nodeName});n.onKeyUp.add(function(t,v){var y,x=p.getNode(),s=t.getBody();if(s.childNodes.length===1&&x.nodeName=="P"){x=u.rename(x,q.element);p.select(x);p.collapse();t.nodeChanged()}else{if(v.keyCode==13&&!v.shiftKey&&o.lastElm!="P"){y=u.getParent(x,"p");if(y){u.rename(y,q.element);t.nodeChanged()}}}})}}},find:function(v,q,r){var p=this.editor,o=p.getDoc().createTreeWalker(v,4,null,h),u=-1;while(v=o.nextNode()){u++;if(q==0&&v==r){return u}if(q==1&&u==r){return v}}return -1},forceRoots:function(x,I){var z=this,x=z.editor,M=x.getBody(),J=x.getDoc(),P=x.selection,A=P.getSel(),B=P.getRng(),N=-2,v,G,o,p,K=-16777215;var L,q,O,F,C,u=M.childNodes,E,D,y;for(E=u.length-1;E>=0;E--){L=u[E];if(L.nodeType===1&&L.getAttribute("_mce_type")){q=null;continue}if(L.nodeType===3||(!z.dom.isBlock(L)&&L.nodeType!==8&&!/^(script|mce:script|style|mce:style)$/i.test(L.nodeName))){if(!q){if(L.nodeType!=3||/[^\s]/g.test(L.nodeValue)){if(N==-2&&B){if(!c||B.setStart){if(B.startContainer.nodeType==1&&(D=B.startContainer.childNodes[B.startOffset])&&D.nodeType==1){y=D.getAttribute("id");D.setAttribute("id","__mce")}else{if(x.dom.getParent(B.startContainer,function(n){return n===M})){G=B.startOffset;o=B.endOffset;N=z.find(M,0,B.startContainer);v=z.find(M,0,B.endContainer)}}}else{if(B.item){p=J.body.createTextRange();p.moveToElementText(B.item(0));B=p}p=J.body.createTextRange();p.moveToElementText(M);p.collapse(1);O=p.move("character",K)*-1;p=B.duplicate();p.collapse(1);F=p.move("character",K)*-1;p=B.duplicate();p.collapse(0);C=(p.move("character",K)*-1)-F;N=F-O;v=C}}q=x.dom.create(x.settings.forced_root_block);L.parentNode.replaceChild(q,L);q.appendChild(L)}}else{if(q.hasChildNodes()){q.insertBefore(L,q.firstChild)}else{q.appendChild(L)}}}else{q=null}}if(N!=-2){if(!c||B.setStart){q=M.getElementsByTagName(x.settings.element)[0];B=J.createRange();if(N!=-1){B.setStart(z.find(M,1,N),G)}else{B.setStart(q,0)}if(v!=-1){B.setEnd(z.find(M,1,v),o)}else{B.setEnd(q,0)}if(A){A.removeAllRanges();A.addRange(B)}}else{try{B=A.createRange();B.moveToElementText(M);B.collapse(1);B.moveStart("character",N);B.moveEnd("character",v);B.select()}catch(H){}}}else{if((!c||B.setStart)&&(D=x.dom.get("__mce"))){if(y){D.setAttribute("id",y)}else{D.removeAttribute("id")}B=J.createRange();B.setStartBefore(D);B.setEndBefore(D);P.setRng(B)}}},getParentBlock:function(p){var o=this.dom;return o.getParent(p,o.isBlock)},insertPara:function(S){var G=this,x=G.editor,O=x.dom,T=x.getDoc(),X=x.settings,H=x.selection.getSel(),I=H.getRangeAt(0),W=T.body;var L,M,J,Q,P,u,p,v,A,o,E,V,q,z,K,N=O.getViewPort(x.getWin()),D,F,C;L=T.createRange();L.setStart(H.anchorNode,H.anchorOffset);L.collapse(d);M=T.createRange();M.setStart(H.focusNode,H.focusOffset);M.collapse(d);J=L.compareBoundaryPoints(L.START_TO_END,M)<0;Q=J?H.anchorNode:H.focusNode;P=J?H.anchorOffset:H.focusOffset;u=J?H.focusNode:H.anchorNode;p=J?H.focusOffset:H.anchorOffset;if(Q===u&&/^(TD|TH)$/.test(Q.nodeName)){if(Q.firstChild.nodeName=="BR"){O.remove(Q.firstChild)}if(Q.childNodes.length==0){x.dom.add(Q,X.element,null,"<br />");V=x.dom.add(Q,X.element,null,"<br />")}else{K=Q.innerHTML;Q.innerHTML="";x.dom.add(Q,X.element,null,K);V=x.dom.add(Q,X.element,null,"<br />")}I=T.createRange();I.selectNodeContents(V);I.collapse(1);x.selection.setRng(I);return h}if(Q==W&&u==W&&W.firstChild&&x.dom.isBlock(W.firstChild)){Q=u=Q.firstChild;P=p=0;L=T.createRange();L.setStart(Q,0);M=T.createRange();M.setStart(u,0)}Q=Q.nodeName=="HTML"?T.body:Q;Q=Q.nodeName=="BODY"?Q.firstChild:Q;u=u.nodeName=="HTML"?T.body:u;u=u.nodeName=="BODY"?u.firstChild:u;v=G.getParentBlock(Q);A=G.getParentBlock(u);o=v?v.nodeName:X.element;if(K=G.dom.getParent(v,"li,pre")){if(K.nodeName=="LI"){return e(x.selection,G.dom,K)}return d}if(v&&(v.nodeName=="CAPTION"||/absolute|relative|fixed/gi.test(O.getStyle(v,"position",1)))){o=X.element;v=null}if(A&&(A.nodeName=="CAPTION"||/absolute|relative|fixed/gi.test(O.getStyle(v,"position",1)))){o=X.element;A=null}if(/(TD|TABLE|TH|CAPTION)/.test(o)||(v&&o=="DIV"&&/left|right/gi.test(O.getStyle(v,"float",1)))){o=X.element;v=A=null}E=(v&&v.nodeName==o)?v.cloneNode(0):x.dom.create(o);V=(A&&A.nodeName==o)?A.cloneNode(0):x.dom.create(o);V.removeAttribute("id");if(/^(H[1-6])$/.test(o)&&g(I,v)){V=x.dom.create(X.element)}K=q=Q;do{if(K==W||K.nodeType==9||G.dom.isBlock(K)||/(TD|TABLE|TH|CAPTION)/.test(K.nodeName)){break}q=K}while((K=K.previousSibling?K.previousSibling:K.parentNode));K=z=u;do{if(K==W||K.nodeType==9||G.dom.isBlock(K)||/(TD|TABLE|TH|CAPTION)/.test(K.nodeName)){break}z=K}while((K=K.nextSibling?K.nextSibling:K.parentNode));if(q.nodeName==o){L.setStart(q,0)}else{L.setStartBefore(q)}L.setEnd(Q,P);E.appendChild(L.cloneContents()||T.createTextNode(""));try{M.setEndAfter(z)}catch(R){}M.setStart(u,p);V.appendChild(M.cloneContents()||T.createTextNode(""));I=T.createRange();if(!q.previousSibling&&q.parentNode.nodeName==o){I.setStartBefore(q.parentNode)}else{if(L.startContainer.nodeName==o&&L.startOffset==0){I.setStartBefore(L.startContainer)}else{I.setStart(L.startContainer,L.startOffset)}}if(!z.nextSibling&&z.parentNode.nodeName==o){I.setEndAfter(z.parentNode)}else{I.setEnd(M.endContainer,M.endOffset)}I.deleteContents();if(b){x.getWin().scrollTo(0,N.y)}if(E.firstChild&&E.firstChild.nodeName==o){E.innerHTML=E.firstChild.innerHTML}if(V.firstChild&&V.firstChild.nodeName==o){V.innerHTML=V.firstChild.innerHTML}if(f(E)){E.innerHTML="<br />"}function U(y,s){var r=[],Z,Y,t;y.innerHTML="";if(X.keep_styles){Y=s;do{if(/^(SPAN|STRONG|B|EM|I|FONT|STRIKE|U)$/.test(Y.nodeName)){Z=Y.cloneNode(h);O.setAttrib(Z,"id","");r.push(Z)}}while(Y=Y.parentNode)}if(r.length>0){for(t=r.length-1,Z=y;t>=0;t--){Z=Z.appendChild(r[t])}r[0].innerHTML=b?" ":"<br />";return r[0]}else{y.innerHTML=b?" ":"<br />"}}if(f(V)){C=U(V,u)}if(b&&parseFloat(opera.version())<9.5){I.insertNode(E);I.insertNode(V)}else{I.insertNode(V);I.insertNode(E)}V.normalize();E.normalize();function B(r){return T.createTreeWalker(r,NodeFilter.SHOW_TEXT,null,h).nextNode()||r}I=T.createRange();I.selectNodeContents(a?B(C||V):C||V);I.collapse(1);H.removeAllRanges();H.addRange(I);D=x.dom.getPos(V).y;F=V.clientHeight;if(D<N.y||D+F>N.y+N.h){x.getWin().scrollTo(0,D<N.y?D:D-N.h+25)}return h},backspaceDelete:function(v,C){var D=this,u=D.editor,z=u.getBody(),s=u.dom,q,x=u.selection,p=x.getRng(),y=p.startContainer,q,A,B,o;if(!C&&p.collapsed&&y.nodeType==1&&p.startOffset==y.childNodes.length){o=new m.dom.TreeWalker(y.lastChild,y);for(q=y.lastChild;q;q=o.prev()){if(q.nodeType==3){p.setStart(q,q.nodeValue.length);p.collapse(true);x.setRng(p);return}}}if(y&&u.dom.isBlock(y)&&!/^(TD|TH)$/.test(y.nodeName)&&C){if(y.childNodes.length==0||(y.childNodes.length==1&&y.firstChild.nodeName=="BR")){q=y;while((q=q.previousSibling)&&!u.dom.isBlock(q)){}if(q){if(y!=z.firstChild){A=u.dom.doc.createTreeWalker(q,NodeFilter.SHOW_TEXT,null,h);while(B=A.nextNode()){q=B}p=u.getDoc().createRange();p.setStart(q,q.nodeValue?q.nodeValue.length:0);p.setEnd(q,q.nodeValue?q.nodeValue.length:0);x.setRng(p);u.dom.remove(y)}return k.cancel(v)}}}}})})(tinymce);(function(c){var b=c.DOM,a=c.dom.Event,d=c.each,e=c.extend;c.create("tinymce.ControlManager",{ControlManager:function(f,j){var h=this,g;j=j||{};h.editor=f;h.controls={};h.onAdd=new c.util.Dispatcher(h);h.onPostRender=new c.util.Dispatcher(h);h.prefix=j.prefix||f.id+"_";h._cls={};h.onPostRender.add(function(){d(h.controls,function(i){i.postRender()})})},get:function(f){return this.controls[this.prefix+f]||this.controls[f]},setActive:function(h,f){var g=null;if(g=this.get(h)){g.setActive(f)}return g},setDisabled:function(h,f){var g=null;if(g=this.get(h)){g.setDisabled(f)}return g},add:function(g){var f=this;if(g){f.controls[g.id]=g;f.onAdd.dispatch(g,f)}return g},createControl:function(i){var h,g=this,f=g.editor;d(f.plugins,function(j){if(j.createControl){h=j.createControl(i,g);if(h){return false}}});switch(i){case"|":case"separator":return g.createSeparator()}if(!h&&f.buttons&&(h=f.buttons[i])){return g.createButton(i,h)}return g.add(h)},createDropMenu:function(f,n,h){var m=this,i=m.editor,j,g,k,l;n=e({"class":"mceDropDown",constrain:i.settings.constrain_menus},n);n["class"]=n["class"]+" "+i.getParam("skin")+"Skin";if(k=i.getParam("skin_variant")){n["class"]+=" "+i.getParam("skin")+"Skin"+k.substring(0,1).toUpperCase()+k.substring(1)}f=m.prefix+f;l=h||m._cls.dropmenu||c.ui.DropMenu;j=m.controls[f]=new l(f,n);j.onAddItem.add(function(r,q){var p=q.settings;p.title=i.getLang(p.title,p.title);if(!p.onclick){p.onclick=function(o){if(p.cmd){i.execCommand(p.cmd,p.ui||false,p.value)}}}});i.onRemove.add(function(){j.destroy()});if(c.isIE){j.onShowMenu.add(function(){i.focus();g=i.selection.getBookmark(1)});j.onHideMenu.add(function(){if(g){i.selection.moveToBookmark(g);g=0}})}return m.add(j)},createListBox:function(m,i,l){var h=this,g=h.editor,j,k,f;if(h.get(m)){return null}i.title=g.translate(i.title);i.scope=i.scope||g;if(!i.onselect){i.onselect=function(n){g.execCommand(i.cmd,i.ui||false,n||i.value)}}i=e({title:i.title,"class":"mce_"+m,scope:i.scope,control_manager:h},i);m=h.prefix+m;if(g.settings.use_native_selects){k=new c.ui.NativeListBox(m,i)}else{f=l||h._cls.listbox||c.ui.ListBox;k=new f(m,i)}h.controls[m]=k;if(c.isWebKit){k.onPostRender.add(function(p,o){a.add(o,"mousedown",function(){g.bookmark=g.selection.getBookmark(1)});a.add(o,"focus",function(){g.selection.moveToBookmark(g.bookmark);g.bookmark=null})})}if(k.hideMenu){g.onMouseDown.add(k.hideMenu,k)}return h.add(k)},createButton:function(m,i,l){var h=this,g=h.editor,j,k,f;if(h.get(m)){return null}i.title=g.translate(i.title);i.label=g.translate(i.label);i.scope=i.scope||g;if(!i.onclick&&!i.menu_button){i.onclick=function(){g.execCommand(i.cmd,i.ui||false,i.value)}}i=e({title:i.title,"class":"mce_"+m,unavailable_prefix:g.getLang("unavailable",""),scope:i.scope,control_manager:h},i);m=h.prefix+m;if(i.menu_button){f=l||h._cls.menubutton||c.ui.MenuButton;k=new f(m,i);g.onMouseDown.add(k.hideMenu,k)}else{f=h._cls.button||c.ui.Button;k=new f(m,i)}return h.add(k)},createMenuButton:function(h,f,g){f=f||{};f.menu_button=1;return this.createButton(h,f,g)},createSplitButton:function(m,i,l){var h=this,g=h.editor,j,k,f;if(h.get(m)){return null}i.title=g.translate(i.title);i.scope=i.scope||g;if(!i.onclick){i.onclick=function(n){g.execCommand(i.cmd,i.ui||false,n||i.value)}}if(!i.onselect){i.onselect=function(n){g.execCommand(i.cmd,i.ui||false,n||i.value)}}i=e({title:i.title,"class":"mce_"+m,scope:i.scope,control_manager:h},i);m=h.prefix+m;f=l||h._cls.splitbutton||c.ui.SplitButton;k=h.add(new f(m,i));g.onMouseDown.add(k.hideMenu,k);return k},createColorSplitButton:function(f,n,h){var l=this,j=l.editor,i,k,m,g;if(l.get(f)){return null}n.title=j.translate(n.title);n.scope=n.scope||j;if(!n.onclick){n.onclick=function(o){if(c.isIE){g=j.selection.getBookmark(1)}j.execCommand(n.cmd,n.ui||false,o||n.value)}}if(!n.onselect){n.onselect=function(o){j.execCommand(n.cmd,n.ui||false,o||n.value)}}n=e({title:n.title,"class":"mce_"+f,menu_class:j.getParam("skin")+"Skin",scope:n.scope,more_colors_title:j.getLang("more_colors")},n);f=l.prefix+f;m=h||l._cls.colorsplitbutton||c.ui.ColorSplitButton;k=new m(f,n);j.onMouseDown.add(k.hideMenu,k);j.onRemove.add(function(){k.destroy()});if(c.isIE){k.onShowMenu.add(function(){j.focus();g=j.selection.getBookmark(1)});k.onHideMenu.add(function(){if(g){j.selection.moveToBookmark(g);g=0}})}return l.add(k)},createToolbar:function(k,h,j){var i,g=this,f;k=g.prefix+k;f=j||g._cls.toolbar||c.ui.Toolbar;i=new f(k,h);if(g.get(k)){return null}return g.add(i)},createSeparator:function(g){var f=g||this._cls.separator||c.ui.Separator;return new f()},setControlType:function(g,f){return this._cls[g.toLowerCase()]=f},destroy:function(){d(this.controls,function(f){f.destroy()});this.controls=null}})})(tinymce);(function(d){var a=d.util.Dispatcher,e=d.each,c=d.isIE,b=d.isOpera;d.create("tinymce.WindowManager",{WindowManager:function(f){var g=this;g.editor=f;g.onOpen=new a(g);g.onClose=new a(g);g.params={};g.features={}},open:function(z,h){var v=this,k="",n,m,i=v.editor.settings.dialog_type=="modal",q,o,j,g=d.DOM.getViewPort(),r;z=z||{};h=h||{};o=b?g.w:screen.width;j=b?g.h:screen.height;z.name=z.name||"mc_"+new Date().getTime();z.width=parseInt(z.width||320);z.height=parseInt(z.height||240);z.resizable=true;z.left=z.left||parseInt(o/2)-(z.width/2);z.top=z.top||parseInt(j/2)-(z.height/2);h.inline=false;h.mce_width=z.width;h.mce_height=z.height;h.mce_auto_focus=z.auto_focus;if(i){if(c){z.center=true;z.help=false;z.dialogWidth=z.width+"px";z.dialogHeight=z.height+"px";z.scroll=z.scrollbars||false}}e(z,function(p,f){if(d.is(p,"boolean")){p=p?"yes":"no"}if(!/^(name|url)$/.test(f)){if(c&&i){k+=(k?";":"")+f+":"+p}else{k+=(k?",":"")+f+"="+p}}});v.features=z;v.params=h;v.onOpen.dispatch(v,z,h);r=z.url||z.file;r=d._addVer(r);try{if(c&&i){q=1;window.showModalDialog(r,window,k)}else{q=window.open(r,z.name,k)}}catch(l){}if(!q){alert(v.editor.getLang("popup_blocked"))}},close:function(f){f.close();this.onClose.dispatch(this)},createInstance:function(i,h,g,m,l,k){var j=d.resolve(i);return new j(h,g,m,l,k)},confirm:function(h,f,i,g){g=g||window;f.call(i||this,g.confirm(this._decode(this.editor.getLang(h,h))))},alert:function(h,f,j,g){var i=this;g=g||window;g.alert(i._decode(i.editor.getLang(h,h)));if(f){f.call(j||i)}},resizeBy:function(f,g,h){h.resizeBy(f,g)},_decode:function(f){return d.DOM.decode(f).replace(/\\n/g,"\n")}})}(tinymce));(function(a){function b(){var d={},c={},e={};function f(j,i,h,g){if(typeof(i)=="string"){i=[i]}a.each(i,function(k){j[k.toLowerCase()]={func:h,scope:g}})}a.extend(this,{add:function(i,h,g){f(d,i,h,g)},addQueryStateHandler:function(i,h,g){f(c,i,h,g)},addQueryValueHandler:function(i,h,g){f(e,i,h,g)},execCommand:function(h,k,j,i,g){if(k=d[k.toLowerCase()]){if(k.func.call(h||k.scope,j,i,g)!==false){return true}}},queryCommandValue:function(){if(cmd=e[cmd.toLowerCase()]){return cmd.func.call(scope||cmd.scope,ui,value,args)}},queryCommandState:function(){if(cmd=c[cmd.toLowerCase()]){return cmd.func.call(scope||cmd.scope,ui,value,args)}}})}a.GlobalCommands=new b()})(tinymce);(function(a){a.Formatter=function(T){var K={},M=a.each,c=T.dom,p=T.selection,s=a.dom.TreeWalker,I=new a.dom.RangeUtils(c),d=T.schema.isValid,E=c.isBlock,k=T.settings.forced_root_block,r=c.nodeIndex,D="\uFEFF",e=/^(src|href|style)$/,Q=false,A=true,o,N={apply:[],remove:[]};function y(U){return U instanceof Array}function l(V,U){return c.getParents(V,U,c.getRoot())}function b(U){return U.nodeType===1&&(U.face==="mceinline"||U.style.fontFamily==="mceinline")}function P(U){return U?K[U]:K}function j(U,V){if(U){if(typeof(U)!=="string"){M(U,function(X,W){j(W,X)})}else{V=V.length?V:[V];M(V,function(W){if(W.deep===o){W.deep=!W.selector}if(W.split===o){W.split=!W.selector||W.inline}if(W.remove===o&&W.selector&&!W.inline){W.remove="none"}if(W.selector&&W.inline){W.mixed=true;W.block_expand=true}if(typeof(W.classes)==="string"){W.classes=W.classes.split(/\s+/)}});K[U]=V}}}function R(W,ac,Y){var Z=P(W),ad=Z[0],ab,V,aa;function X(ag){var af=ag.startContainer,aj=ag.startOffset,ai,ah;if(af.nodeType==1||af.nodeValue===""){af=af.nodeType==1?af.childNodes[aj]:af;if(af){ai=new s(af,af.parentNode);for(ah=ai.current();ah;ah=ai.next()){if(ah.nodeType==3&&!f(ah)){ag.setStart(ah,0);break}}}}return ag}function U(ag,af){af=af||ad;if(ag){M(af.styles,function(ai,ah){c.setStyle(ag,ah,q(ai,ac))});M(af.attributes,function(ai,ah){c.setAttrib(ag,ah,q(ai,ac))});M(af.classes,function(ah){ah=q(ah,ac);if(!c.hasClass(ag,ah)){c.addClass(ag,ah)}})}}function ae(ag){var af=[],ai,ah;ai=ad.inline||ad.block;ah=c.create(ai);U(ah);I.walk(ag,function(aj){var ak;function al(am){var ap=am.nodeName.toLowerCase(),ao=am.parentNode.nodeName.toLowerCase(),an;if(g(ap,"br")){ak=0;if(ad.block){c.remove(am)}return}if(ad.wrapper&&v(am,W,ac)){ak=0;return}if(ad.block&&!ad.wrapper&&F(ap)){am=c.rename(am,ai);U(am);af.push(am);ak=0;return}if(ad.selector){M(Z,function(aq){if(c.is(am,aq.selector)&&!b(am)){U(am,aq);an=true}});if(!ad.inline||an){ak=0;return}}if((ad.wrap_links!==false||ap!="a")&&d(ai,ap)&&d(ao,ai)){if(!ak){ak=ah.cloneNode(Q);am.parentNode.insertBefore(ak,am);af.push(ak)}ak.appendChild(am)}else{ak=0;M(a.grep(am.childNodes),al);ak=0}}M(aj,al)});M(af,function(al){var aj;function am(ao){var an=0;M(ao.childNodes,function(ap){if(!f(ap)&&!G(ap)){an++}});return an}function ak(an){var ap,ao;M(an.childNodes,function(aq){if(aq.nodeType==1&&!G(aq)&&!b(aq)){ap=aq;return Q}});if(ap&&h(ap,ad)){ao=ap.cloneNode(Q);U(ao);c.replace(ao,an,A);c.remove(ap,1)}return ao||an}aj=am(al);if(aj===0){c.remove(al,1);return}if(ad.inline||ad.wrapper){if(!ad.exact&&aj===1){al=ak(al)}M(Z,function(an){M(c.select(an.inline,al),function(ao){S(an,ac,ao,an.exact?ao:null)})});if(v(al.parentNode,W,ac)){c.remove(al,1);al=0;return A}if(ad.merge_with_parents){c.getParent(al.parentNode,function(an){if(v(an,W,ac)){c.remove(al,1);al=0;return A}})}if(al){al=t(B(al),al);al=t(al,B(al,A))}}})}if(ad){if(Y){V=c.createRng();V.setStartBefore(Y);V.setEndAfter(Y);ae(n(V,Z))}else{if(!p.isCollapsed()||!ad.inline){ab=p.getBookmark();ae(n(p.getRng(A),Z));p.moveToBookmark(ab);p.setRng(X(p.getRng(A)));T.nodeChanged()}else{O("apply",W,ac)}}}}function z(W,af,Z){var aa=P(W),ah=aa[0],ae,ad,V;function Y(ak){var aj=ak.startContainer,ap=ak.startOffset,ao,an,al,am;if(aj.nodeType==3&&ap>=aj.nodeValue.length-1){aj=aj.parentNode;ap=r(aj)+1}if(aj.nodeType==1){al=aj.childNodes;aj=al[Math.min(ap,al.length-1)];ao=new s(aj);if(ap>al.length-1){ao.next()}for(an=ao.current();an;an=ao.next()){if(an.nodeType==3&&!f(an)){am=c.create("a",null,D);an.parentNode.insertBefore(am,an);ak.setStart(an,0);p.setRng(ak);c.remove(am);return}}}}function X(am){var al,ak,aj;al=a.grep(am.childNodes);for(ak=0,aj=aa.length;ak<aj;ak++){if(S(aa[ak],af,am,am)){break}}if(ah.deep){for(ak=0,aj=al.length;ak<aj;ak++){X(al[ak])}}}function ab(aj){var ak;M(l(aj.parentNode).reverse(),function(al){var am;if(!ak&&al.id!="_start"&&al.id!="_end"){am=v(al,W,af);if(am&&am.split!==false){ak=al}}});return ak}function U(am,aj,ao,ar){var at,aq,ap,al,an,ak;if(am){ak=am.parentNode;for(at=aj.parentNode;at&&at!=ak;at=at.parentNode){aq=at.cloneNode(Q);for(an=0;an<aa.length;an++){if(S(aa[an],af,aq,aq)){aq=0;break}}if(aq){if(ap){aq.appendChild(ap)}if(!al){al=aq}ap=aq}}if(ar&&(!ah.mixed||!E(am))){aj=c.split(am,aj)}if(ap){ao.parentNode.insertBefore(ap,ao);al.appendChild(ao)}}return aj}function ag(aj){return U(ab(aj),aj,aj,true)}function ac(al){var ak=c.get(al?"_start":"_end"),aj=ak[al?"firstChild":"lastChild"];if(G(aj)){aj=aj[al?"firstChild":"lastChild"]}c.remove(ak,true);return aj}function ai(aj){var ak,al;aj=n(aj,aa,A);if(ah.split){ak=H(aj,A);al=H(aj);if(ak!=al){ak=L(ak,"span",{id:"_start",_mce_type:"bookmark"});al=L(al,"span",{id:"_end",_mce_type:"bookmark"});ag(ak);ag(al);ak=ac(A);al=ac()}else{ak=al=ag(ak)}aj.startContainer=ak.parentNode;aj.startOffset=r(ak);aj.endContainer=al.parentNode;aj.endOffset=r(al)+1}I.walk(aj,function(am){M(am,function(an){X(an)})})}if(Z){V=c.createRng();V.setStartBefore(Z);V.setEndAfter(Z);ai(V);return}if(!p.isCollapsed()||!ah.inline){ae=p.getBookmark();ai(p.getRng(A));p.moveToBookmark(ae);if(i(W,af,p.getStart())){Y(p.getRng(true))}T.nodeChanged()}else{O("remove",W,af)}}function C(U,W,V){if(i(U,W,V)){z(U,W,V)}else{R(U,W,V)}}function v(V,U,aa,Y){var W=P(U),ab,Z,X;function ac(ag,ai,aj){var af,ah,ad=ai[aj],ae;if(ad){if(ad.length===o){for(af in ad){if(ad.hasOwnProperty(af)){if(aj==="attributes"){ah=c.getAttrib(ag,af)}else{ah=J(ag,af)}if(Y&&!ah&&!ai.exact){return}if((!Y||ai.exact)&&!g(ah,q(ad[af],aa))){return}}}}else{for(ae=0;ae<ad.length;ae++){if(aj==="attributes"?c.getAttrib(ag,ad[ae]):J(ag,ad[ae])){return ai}}}}return ai}if(W&&V){for(Z=0;Z<W.length;Z++){ab=W[Z];if(h(V,ab)&&ac(V,ab,"attributes")&&ac(V,ab,"styles")){if(X=ab.classes){for(Z=0;Z<X.length;Z++){if(!c.hasClass(V,X[Z])){return}}}return ab}}}}function i(W,Z,Y){var V,X;function U(aa){aa=c.getParent(aa,function(ab){return !!v(ab,W,Z,true)});return v(aa,W,Z)}if(Y){return U(Y)}if(p.isCollapsed()){for(X=N.apply.length-1;X>=0;X--){if(N.apply[X].name==W){return true}}for(X=N.remove.length-1;X>=0;X--){if(N.remove[X].name==W){return false}}return U(p.getNode())}Y=p.getNode();if(U(Y)){return A}V=p.getStart();if(V!=Y){if(U(V)){return A}}return Q}function u(ab,aa){var Y,Z=[],X={},W,V,U;if(p.isCollapsed()){for(V=0;V<ab.length;V++){for(W=N.remove.length-1;W>=0;W--){U=ab[V];if(N.remove[W].name==U){X[U]=true;break}}}for(W=N.apply.length-1;W>=0;W--){for(V=0;V<ab.length;V++){U=ab[V];if(!X[U]&&N.apply[W].name==U){X[U]=true;Z.push(U)}}}}Y=p.getStart();c.getParent(Y,function(ae){var ad,ac;for(ad=0;ad<ab.length;ad++){ac=ab[ad];if(!X[ac]&&v(ae,ac,aa)){X[ac]=true;Z.push(ac)}}});return Z}function x(Y){var aa=P(Y),X,W,Z,V,U;if(aa){X=p.getStart();W=l(X);for(V=aa.length-1;V>=0;V--){U=aa[V].selector;if(!U){return A}for(Z=W.length-1;Z>=0;Z--){if(c.is(W[Z],U)){return A}}}}return Q}a.extend(this,{get:P,register:j,apply:R,remove:z,toggle:C,match:i,matchAll:u,matchNode:v,canApply:x});function h(U,V){if(g(U,V.inline)){return A}if(g(U,V.block)){return A}if(V.selector){return c.is(U,V.selector)}}function g(V,U){V=V||"";U=U||"";V=""+(V.nodeName||V);U=""+(U.nodeName||U);return V.toLowerCase()==U.toLowerCase()}function J(V,U){var W=c.getStyle(V,U);if(U=="color"||U=="backgroundColor"){W=c.toHex(W)}if(U=="fontWeight"&&W==700){W="bold"}return""+W}function q(U,V){if(typeof(U)!="string"){U=U(V)}else{if(V){U=U.replace(/%(\w+)/g,function(X,W){return V[W]||X})}}return U}function f(U){return U&&U.nodeType===3&&/^([\s\r\n]+|)$/.test(U.nodeValue)}function L(W,V,U){var X=c.create(V,U);W.parentNode.insertBefore(X,W);X.appendChild(W);return X}function n(U,ac,X){var W=U.startContainer,Z=U.startOffset,af=U.endContainer,aa=U.endOffset,ae,ab;function ad(ai,aj,ag,ah){var ak,al;ah=ah||c.getRoot();for(;;){ak=ai.parentNode;if(ak==ah||(!ac[0].block_expand&&E(ak))){return ai}for(ae=ak[aj];ae&&ae!=ai;ae=ae[ag]){if(ae.nodeType==1&&!G(ae)){return ai}if(ae.nodeType==3&&!f(ae)){return ai}}ai=ai.parentNode}return ai}if(W.nodeType==1&&W.hasChildNodes()){ab=W.childNodes.length-1;W=W.childNodes[Z>ab?ab:Z];if(W.nodeType==3){Z=0}}if(af.nodeType==1&&af.hasChildNodes()){ab=af.childNodes.length-1;af=af.childNodes[aa>ab?ab:aa-1];if(af.nodeType==3){aa=af.nodeValue.length}}if(G(W.parentNode)){W=W.parentNode}if(G(W)){W=W.nextSibling||W}if(G(af.parentNode)){af=af.parentNode}if(G(af)){af=af.previousSibling||af}if(ac[0].inline||ac[0].block_expand){W=ad(W,"firstChild","nextSibling");af=ad(af,"lastChild","previousSibling")}if(ac[0].selector&&ac[0].expand!==Q&&!ac[0].inline){function Y(ah,ag){var ai,aj,ak;if(ah.nodeType==3&&ah.nodeValue.length==0&&ah[ag]){ah=ah[ag]}ai=l(ah);for(aj=0;aj<ai.length;aj++){for(ak=0;ak<ac.length;ak++){if(c.is(ai[aj],ac[ak].selector)){return ai[aj]}}}return ah}W=Y(W,"previousSibling");af=Y(af,"nextSibling")}if(ac[0].block||ac[0].selector){function V(ah,ag,aj){var ai;if(!ac[0].wrapper){ai=c.getParent(ah,ac[0].block)}if(!ai){ai=c.getParent(ah.nodeType==3?ah.parentNode:ah,E)}if(ai&&ac[0].wrapper){ai=l(ai,"ul,ol").reverse()[0]||ai}if(!ai){ai=ah;while(ai[ag]&&!E(ai[ag])){ai=ai[ag];if(g(ai,"br")){break}}}return ai||ah}W=V(W,"previousSibling");af=V(af,"nextSibling");if(ac[0].block){if(!E(W)){W=ad(W,"firstChild","nextSibling")}if(!E(af)){af=ad(af,"lastChild","previousSibling")}}}if(W.nodeType==1){Z=r(W);W=W.parentNode}if(af.nodeType==1){aa=r(af)+1;af=af.parentNode}return{startContainer:W,startOffset:Z,endContainer:af,endOffset:aa}}function S(aa,Z,X,U){var W,V,Y;if(!h(X,aa)){return Q}if(aa.remove!="all"){M(aa.styles,function(ac,ab){ac=q(ac,Z);if(typeof(ab)==="number"){ab=ac;U=0}if(!U||g(J(U,ab),ac)){c.setStyle(X,ab,"")}Y=1});if(Y&&c.getAttrib(X,"style")==""){X.removeAttribute("style");X.removeAttribute("_mce_style")}M(aa.attributes,function(ad,ab){var ac;ad=q(ad,Z);if(typeof(ab)==="number"){ab=ad;U=0}if(!U||g(c.getAttrib(U,ab),ad)){if(ab=="class"){ad=c.getAttrib(X,ab);if(ad){ac="";M(ad.split(/\s+/),function(ae){if(/mce\w+/.test(ae)){ac+=(ac?" ":"")+ae}});if(ac){c.setAttrib(X,ab,ac);return}}}if(ab=="class"){X.removeAttribute("className")}if(e.test(ab)){X.removeAttribute("_mce_"+ab)}X.removeAttribute(ab)}});M(aa.classes,function(ab){ab=q(ab,Z);if(!U||c.hasClass(U,ab)){c.removeClass(X,ab)}});V=c.getAttribs(X);for(W=0;W<V.length;W++){if(V[W].nodeName.indexOf("_")!==0){return Q}}}if(aa.remove!="none"){m(X,aa);return A}}function m(W,X){var U=W.parentNode,V;if(X.block){if(!k){function Y(aa,Z,ab){aa=B(aa,Z,ab);return !aa||(aa.nodeName=="BR"||E(aa))}if(E(W)&&!E(U)){if(!Y(W,Q)&&!Y(W.firstChild,A,1)){W.insertBefore(c.create("br"),W.firstChild)}if(!Y(W,A)&&!Y(W.lastChild,Q,1)){W.appendChild(c.create("br"))}}}else{if(U==c.getRoot()){if(!X.list_block||!g(W,X.list_block)){M(a.grep(W.childNodes),function(Z){if(d(k,Z.nodeName.toLowerCase())){if(!V){V=L(Z,k)}else{V.appendChild(Z)}}else{V=0}})}}}}if(X.selector&&X.inline&&!g(X.inline,W)){return}c.remove(W,1)}function B(V,U,W){if(V){U=U?"nextSibling":"previousSibling";for(V=W?V:V[U];V;V=V[U]){if(V.nodeType==1||!f(V)){return V}}}}function G(U){return U&&U.nodeType==1&&U.getAttribute("_mce_type")=="bookmark"}function t(Y,X){var U,W,V;function aa(ad,ac){if(ad.nodeName!=ac.nodeName){return Q}function ab(af){var ag={};M(c.getAttribs(af),function(ah){var ai=ah.nodeName.toLowerCase();if(ai.indexOf("_")!==0&&ai!=="style"){ag[ai]=c.getAttrib(af,ai)}});return ag}function ae(ai,ah){var ag,af;for(af in ai){if(ai.hasOwnProperty(af)){ag=ah[af];if(ag===o){return Q}if(ai[af]!=ag){return Q}delete ah[af]}}for(af in ah){if(ah.hasOwnProperty(af)){return Q}}return A}if(!ae(ab(ad),ab(ac))){return Q}if(!ae(c.parseStyle(c.getAttrib(ad,"style")),c.parseStyle(c.getAttrib(ac,"style")))){return Q}return A}if(Y&&X){function Z(ac,ab){for(W=ac;W;W=W[ab]){if(W.nodeType==3&&!f(W)){return ac}if(W.nodeType==1&&!G(W)){return W}}return ac}Y=Z(Y,"previousSibling");X=Z(X,"nextSibling");if(aa(Y,X)){for(W=Y.nextSibling;W&&W!=X;){V=W;W=W.nextSibling;Y.appendChild(V)}c.remove(X);M(a.grep(X.childNodes),function(ab){Y.appendChild(ab)});return Y}}return X}function F(U){return/^(h[1-6]|p|div|pre|address|dl|dt|dd)$/.test(U)}function H(V,Y){var U,X,W;U=V[Y?"startContainer":"endContainer"];X=V[Y?"startOffset":"endOffset"];if(U.nodeType==1){W=U.childNodes.length-1;if(!Y&&X){X--}U=U.childNodes[X>W?W:X]}return U}function O(Z,V,Y){var W,U=N[Z],aa=N[Z=="apply"?"remove":"apply"];function ab(){return N.apply.length||N.remove.length}function X(){N.apply=[];N.remove=[]}function ac(ad){M(N.apply.reverse(),function(ae){R(ae.name,ae.vars,ad)});M(N.remove.reverse(),function(ae){z(ae.name,ae.vars,ad)});c.remove(ad,1);X()}for(W=U.length-1;W>=0;W--){if(U[W].name==V){return}}U.push({name:V,vars:Y});for(W=aa.length-1;W>=0;W--){if(aa[W].name==V){aa.splice(W,1)}}if(ab()){T.getDoc().execCommand("FontName",false,"mceinline");N.lastRng=p.getRng();M(c.select("font,span"),function(ae){var ad;if(b(ae)){ad=p.getBookmark();ac(ae);p.moveToBookmark(ad);T.nodeChanged()}});if(!N.isListening&&ab()){N.isListening=true;M("onKeyDown,onKeyUp,onKeyPress,onMouseUp".split(","),function(ad){T[ad].addToTop(function(ae,af){if(ab()&&!a.dom.RangeUtils.compareRanges(N.lastRng,p.getRng())){M(c.select("font,span"),function(ah){var ai,ag;if(b(ah)){ai=ah.firstChild;if(ai){ac(ah);ag=c.createRng();ag.setStart(ai,ai.nodeValue.length);ag.setEnd(ai,ai.nodeValue.length);p.setRng(ag);ae.nodeChanged()}else{c.remove(ah)}}});if(af.type=="keyup"||af.type=="mouseup"){X()}}})})}}}}})(tinymce);tinymce.onAddEditor.add(function(e,a){var d,h,g,c=a.settings;if(c.inline_styles){h=e.explode(c.font_size_style_values);function b(j,i){e.each(i,function(l,k){if(l){g.setStyle(j,k,l)}});g.rename(j,"span")}d={font:function(j,i){b(i,{backgroundColor:i.style.backgroundColor,color:i.color,fontFamily:i.face,fontSize:h[parseInt(i.size)-1]})},u:function(j,i){b(i,{textDecoration:"underline"})},strike:function(j,i){b(i,{textDecoration:"line-through"})}};function f(i,j){g=i.dom;if(c.convert_fonts_to_spans){e.each(g.select("font,u,strike",j.node),function(k){d[k.nodeName.toLowerCase()](a.dom,k)})}}a.onPreProcess.add(f);a.onInit.add(function(){a.selection.onSetContent.add(f)})}}); \ No newline at end of file +(function(d){var a=/^\s*|\s*$/g,e,c="B".replace(/A(.)|B/,"$1")==="$1";var b={majorVersion:"3",minorVersion:"4.2",releaseDate:"2011-04-07",_init:function(){var s=this,q=document,o=navigator,g=o.userAgent,m,f,l,k,j,r;s.isOpera=d.opera&&opera.buildNumber;s.isWebKit=/WebKit/.test(g);s.isIE=!s.isWebKit&&!s.isOpera&&(/MSIE/gi).test(g)&&(/Explorer/gi).test(o.appName);s.isIE6=s.isIE&&/MSIE [56]/.test(g);s.isGecko=!s.isWebKit&&/Gecko/.test(g);s.isMac=g.indexOf("Mac")!=-1;s.isAir=/adobeair/i.test(g);s.isIDevice=/(iPad|iPhone)/.test(g);if(d.tinyMCEPreInit){s.suffix=tinyMCEPreInit.suffix;s.baseURL=tinyMCEPreInit.base;s.query=tinyMCEPreInit.query;return}s.suffix="";f=q.getElementsByTagName("base");for(m=0;m<f.length;m++){if(r=f[m].href){if(/^https?:\/\/[^\/]+$/.test(r)){r+="/"}k=r?r.match(/.*\//)[0]:""}}function h(i){if(i.src&&/tiny_mce(|_gzip|_jquery|_prototype|_full)(_dev|_src)?.js/.test(i.src)){if(/_(src|dev)\.js/g.test(i.src)){s.suffix="_src"}if((j=i.src.indexOf("?"))!=-1){s.query=i.src.substring(j+1)}s.baseURL=i.src.substring(0,i.src.lastIndexOf("/"));if(k&&s.baseURL.indexOf("://")==-1&&s.baseURL.indexOf("/")!==0){s.baseURL=k+s.baseURL}return s.baseURL}return null}f=q.getElementsByTagName("script");for(m=0;m<f.length;m++){if(h(f[m])){return}}l=q.getElementsByTagName("head")[0];if(l){f=l.getElementsByTagName("script");for(m=0;m<f.length;m++){if(h(f[m])){return}}}return},is:function(g,f){if(!f){return g!==e}if(f=="array"&&(g.hasOwnProperty&&g instanceof Array)){return true}return typeof(g)==f},makeMap:function(f,j,h){var g;f=f||[];j=j||",";if(typeof(f)=="string"){f=f.split(j)}h=h||{};g=f.length;while(g--){h[f[g]]={}}return h},each:function(i,f,h){var j,g;if(!i){return 0}h=h||i;if(i.length!==e){for(j=0,g=i.length;j<g;j++){if(f.call(h,i[j],j,i)===false){return 0}}}else{for(j in i){if(i.hasOwnProperty(j)){if(f.call(h,i[j],j,i)===false){return 0}}}}return 1},map:function(g,h){var i=[];b.each(g,function(f){i.push(h(f))});return i},grep:function(g,h){var i=[];b.each(g,function(f){if(!h||h(f)){i.push(f)}});return i},inArray:function(g,h){var j,f;if(g){for(j=0,f=g.length;j<f;j++){if(g[j]===h){return j}}}return -1},extend:function(k,j){var h,g,f=arguments;for(h=1,g=f.length;h<g;h++){j=f[h];b.each(j,function(i,l){if(i!==e){k[l]=i}})}return k},trim:function(f){return(f?""+f:"").replace(a,"")},create:function(o,f,j){var n=this,g,i,k,l,h,m=0;o=/^((static) )?([\w.]+)(:([\w.]+))?/.exec(o);k=o[3].match(/(^|\.)(\w+)$/i)[2];i=n.createNS(o[3].replace(/\.\w+$/,""),j);if(i[k]){return}if(o[2]=="static"){i[k]=f;if(this.onCreate){this.onCreate(o[2],o[3],i[k])}return}if(!f[k]){f[k]=function(){};m=1}i[k]=f[k];n.extend(i[k].prototype,f);if(o[5]){g=n.resolve(o[5]).prototype;l=o[5].match(/\.(\w+)$/i)[1];h=i[k];if(m){i[k]=function(){return g[l].apply(this,arguments)}}else{i[k]=function(){this.parent=g[l];return h.apply(this,arguments)}}i[k].prototype[k]=i[k];n.each(g,function(p,q){i[k].prototype[q]=g[q]});n.each(f,function(p,q){if(g[q]){i[k].prototype[q]=function(){this.parent=g[q];return p.apply(this,arguments)}}else{if(q!=k){i[k].prototype[q]=p}}})}n.each(f["static"],function(p,q){i[k][q]=p});if(this.onCreate){this.onCreate(o[2],o[3],i[k].prototype)}},walk:function(i,h,j,g){g=g||this;if(i){if(j){i=i[j]}b.each(i,function(k,f){if(h.call(g,k,f,j)===false){return false}b.walk(k,h,j,g)})}},createNS:function(j,h){var g,f;h=h||d;j=j.split(".");for(g=0;g<j.length;g++){f=j[g];if(!h[f]){h[f]={}}h=h[f]}return h},resolve:function(j,h){var g,f;h=h||d;j=j.split(".");for(g=0,f=j.length;g<f;g++){h=h[j[g]];if(!h){break}}return h},addUnload:function(j,i){var h=this;j={func:j,scope:i||this};if(!h.unloads){function g(){var f=h.unloads,l,m;if(f){for(m in f){l=f[m];if(l&&l.func){l.func.call(l.scope,1)}}if(d.detachEvent){d.detachEvent("onbeforeunload",k);d.detachEvent("onunload",g)}else{if(d.removeEventListener){d.removeEventListener("unload",g,false)}}h.unloads=l=f=w=g=0;if(d.CollectGarbage){CollectGarbage()}}}function k(){var l=document;if(l.readyState=="interactive"){function f(){l.detachEvent("onstop",f);if(g){g()}l=0}if(l){l.attachEvent("onstop",f)}d.setTimeout(function(){if(l){l.detachEvent("onstop",f)}},0)}}if(d.attachEvent){d.attachEvent("onunload",g);d.attachEvent("onbeforeunload",k)}else{if(d.addEventListener){d.addEventListener("unload",g,false)}}h.unloads=[j]}else{h.unloads.push(j)}return j},removeUnload:function(i){var g=this.unloads,h=null;b.each(g,function(j,f){if(j&&j.func==i){g.splice(f,1);h=i;return false}});return h},explode:function(f,g){return f?b.map(f.split(g||","),b.trim):f},_addVer:function(g){var f;if(!this.query){return g}f=(g.indexOf("?")==-1?"?":"&")+this.query;if(g.indexOf("#")==-1){return g+f}return g.replace("#",f+"#")},_replace:function(h,f,g){if(c){return g.replace(h,function(){var l=f,j=arguments,k;for(k=0;k<j.length-2;k++){if(j[k]===e){l=l.replace(new RegExp("\\$"+k,"g"),"")}else{l=l.replace(new RegExp("\\$"+k,"g"),j[k])}}return l})}return g.replace(h,f)}};b._init();d.tinymce=d.tinyMCE=b})(window);tinymce.create("tinymce.util.Dispatcher",{scope:null,listeners:null,Dispatcher:function(a){this.scope=a||this;this.listeners=[]},add:function(a,b){this.listeners.push({cb:a,scope:b||this.scope});return a},addToTop:function(a,b){this.listeners.unshift({cb:a,scope:b||this.scope});return a},remove:function(a){var b=this.listeners,c=null;tinymce.each(b,function(e,d){if(a==e.cb){c=a;b.splice(d,1);return false}});return c},dispatch:function(){var f,d=arguments,e,b=this.listeners,g;for(e=0;e<b.length;e++){g=b[e];f=g.cb.apply(g.scope,d);if(f===false){break}}return f}});(function(){var a=tinymce.each;tinymce.create("tinymce.util.URI",{URI:function(e,g){var f=this,h,d,c;e=tinymce.trim(e);g=f.settings=g||{};if(/^(mailto|tel|news|javascript|about|data):/i.test(e)||/^\s*#/.test(e)){f.source=e;return}if(e.indexOf("/")===0&&e.indexOf("//")!==0){e=(g.base_uri?g.base_uri.protocol||"http":"http")+"://mce_host"+e}if(!/^\w*:?\/\//.test(e)){e=(g.base_uri.protocol||"http")+"://mce_host"+f.toAbsPath(g.base_uri.path,e)}e=e.replace(/@@/g,"(mce_at)");e=/^(?:(?![^:@]+:[^:@\/]*@)([^:\/?#.]+):)?(?:\/\/)?((?:(([^:@]*):?([^:@]*))?@)?([^:\/?#]*)(?::(\d*))?)(((\/(?:[^?#](?![^?#\/]*\.[^?#\/.]+(?:[?#]|$)))*\/?)?([^?#\/]*))(?:\?([^#]*))?(?:#(.*))?)/.exec(e);a(["source","protocol","authority","userInfo","user","password","host","port","relative","path","directory","file","query","anchor"],function(b,j){var k=e[j];if(k){k=k.replace(/\(mce_at\)/g,"@@")}f[b]=k});if(c=g.base_uri){if(!f.protocol){f.protocol=c.protocol}if(!f.userInfo){f.userInfo=c.userInfo}if(!f.port&&f.host=="mce_host"){f.port=c.port}if(!f.host||f.host=="mce_host"){f.host=c.host}f.source=""}},setPath:function(c){var b=this;c=/^(.*?)\/?(\w+)?$/.exec(c);b.path=c[0];b.directory=c[1];b.file=c[2];b.source="";b.getURI()},toRelative:function(b){var c=this,d;if(b==="./"){return b}b=new tinymce.util.URI(b,{base_uri:c});if((b.host!="mce_host"&&c.host!=b.host&&b.host)||c.port!=b.port||c.protocol!=b.protocol){return b.getURI()}d=c.toRelPath(c.path,b.path);if(b.query){d+="?"+b.query}if(b.anchor){d+="#"+b.anchor}return d},toAbsolute:function(b,c){var b=new tinymce.util.URI(b,{base_uri:this});return b.getURI(this.host==b.host&&this.protocol==b.protocol?c:0)},toRelPath:function(g,h){var c,f=0,d="",e,b;g=g.substring(0,g.lastIndexOf("/"));g=g.split("/");c=h.split("/");if(g.length>=c.length){for(e=0,b=g.length;e<b;e++){if(e>=c.length||g[e]!=c[e]){f=e+1;break}}}if(g.length<c.length){for(e=0,b=c.length;e<b;e++){if(e>=g.length||g[e]!=c[e]){f=e+1;break}}}if(f==1){return h}for(e=0,b=g.length-(f-1);e<b;e++){d+="../"}for(e=f-1,b=c.length;e<b;e++){if(e!=f-1){d+="/"+c[e]}else{d+=c[e]}}return d},toAbsPath:function(e,f){var c,b=0,h=[],d,g;d=/\/$/.test(f)?"/":"";e=e.split("/");f=f.split("/");a(e,function(i){if(i){h.push(i)}});e=h;for(c=f.length-1,h=[];c>=0;c--){if(f[c].length==0||f[c]=="."){continue}if(f[c]==".."){b++;continue}if(b>0){b--;continue}h.push(f[c])}c=e.length-b;if(c<=0){g=h.reverse().join("/")}else{g=e.slice(0,c).join("/")+"/"+h.reverse().join("/")}if(g.indexOf("/")!==0){g="/"+g}if(d&&g.lastIndexOf("/")!==g.length-1){g+=d}return g},getURI:function(d){var c,b=this;if(!b.source||d){c="";if(!d){if(b.protocol){c+=b.protocol+"://"}if(b.userInfo){c+=b.userInfo+"@"}if(b.host){c+=b.host}if(b.port){c+=":"+b.port}}if(b.path){c+=b.path}if(b.query){c+="?"+b.query}if(b.anchor){c+="#"+b.anchor}b.source=c}return b.source}})})();(function(){var a=tinymce.each;tinymce.create("static tinymce.util.Cookie",{getHash:function(d){var b=this.get(d),c;if(b){a(b.split("&"),function(e){e=e.split("=");c=c||{};c[unescape(e[0])]=unescape(e[1])})}return c},setHash:function(j,b,g,f,i,c){var h="";a(b,function(e,d){h+=(!h?"":"&")+escape(d)+"="+escape(e)});this.set(j,h,g,f,i,c)},get:function(i){var h=document.cookie,g,f=i+"=",d;if(!h){return}d=h.indexOf("; "+f);if(d==-1){d=h.indexOf(f);if(d!=0){return null}}else{d+=2}g=h.indexOf(";",d);if(g==-1){g=h.length}return unescape(h.substring(d+f.length,g))},set:function(i,b,g,f,h,c){document.cookie=i+"="+escape(b)+((g)?"; expires="+g.toGMTString():"")+((f)?"; path="+escape(f):"")+((h)?"; domain="+h:"")+((c)?"; secure":"")},remove:function(e,b){var c=new Date();c.setTime(c.getTime()-1000);this.set(e,"",c,b,c)}})})();(function(){function serialize(o,quote){var i,v,t;quote=quote||'"';if(o==null){return"null"}t=typeof o;if(t=="string"){v="\bb\tt\nn\ff\rr\"\"''\\\\";return quote+o.replace(/([\u0080-\uFFFF\x00-\x1f\"\'\\])/g,function(a,b){if(quote==='"'&&a==="'"){return a}i=v.indexOf(b);if(i+1){return"\\"+v.charAt(i+1)}a=b.charCodeAt().toString(16);return"\\u"+"0000".substring(a.length)+a})+quote}if(t=="object"){if(o.hasOwnProperty&&o instanceof Array){for(i=0,v="[";i<o.length;i++){v+=(i>0?",":"")+serialize(o[i],quote)}return v+"]"}v="{";for(i in o){v+=typeof o[i]!="function"?(v.length>1?","+quote:quote)+i+quote+":"+serialize(o[i],quote):""}return v+"}"}return""+o}tinymce.util.JSON={serialize:serialize,parse:function(s){try{return eval("("+s+")")}catch(ex){}}}})();tinymce.create("static tinymce.util.XHR",{send:function(g){var a,e,b=window,h=0;g.scope=g.scope||this;g.success_scope=g.success_scope||g.scope;g.error_scope=g.error_scope||g.scope;g.async=g.async===false?false:true;g.data=g.data||"";function d(i){a=0;try{a=new ActiveXObject(i)}catch(c){}return a}a=b.XMLHttpRequest?new XMLHttpRequest():d("Microsoft.XMLHTTP")||d("Msxml2.XMLHTTP");if(a){if(a.overrideMimeType){a.overrideMimeType(g.content_type)}a.open(g.type||(g.data?"POST":"GET"),g.url,g.async);if(g.content_type){a.setRequestHeader("Content-Type",g.content_type)}a.setRequestHeader("X-Requested-With","XMLHttpRequest");a.send(g.data);function f(){if(!g.async||a.readyState==4||h++>10000){if(g.success&&h<10000&&a.status==200){g.success.call(g.success_scope,""+a.responseText,a,g)}else{if(g.error){g.error.call(g.error_scope,h>10000?"TIMED_OUT":"GENERAL",a,g)}}a=null}else{b.setTimeout(f,10)}}if(!g.async){return f()}e=b.setTimeout(f,10)}}});(function(){var c=tinymce.extend,b=tinymce.util.JSON,a=tinymce.util.XHR;tinymce.create("tinymce.util.JSONRequest",{JSONRequest:function(d){this.settings=c({},d);this.count=0},send:function(f){var e=f.error,d=f.success;f=c(this.settings,f);f.success=function(h,g){h=b.parse(h);if(typeof(h)=="undefined"){h={error:"JSON Parse error."}}if(h.error){e.call(f.error_scope||f.scope,h.error,g)}else{d.call(f.success_scope||f.scope,h.result)}};f.error=function(h,g){if(e){e.call(f.error_scope||f.scope,h,g)}};f.data=b.serialize({id:f.id||"c"+(this.count++),method:f.method,params:f.params});f.content_type="application/json";a.send(f)},"static":{sendRPC:function(d){return new tinymce.util.JSONRequest().send(d)}}})}());(function(j){var a,g,d,k=/[&\"\u007E-\uD7FF]|[\uD800-\uDBFF][\uDC00-\uDFFF]/g,b=/[<>&\u007E-\uD7FF]|[\uD800-\uDBFF][\uDC00-\uDFFF]/g,f=/[<>&\"\']/g,c=/&(#)?([\w]+);/g,i={128:"\u20AC",130:"\u201A",131:"\u0192",132:"\u201E",133:"\u2026",134:"\u2020",135:"\u2021",136:"\u02C6",137:"\u2030",138:"\u0160",139:"\u2039",140:"\u0152",142:"\u017D",145:"\u2018",146:"\u2019",147:"\u201C",148:"\u201D",149:"\u2022",150:"\u2013",151:"\u2014",152:"\u02DC",153:"\u2122",154:"\u0161",155:"\u203A",156:"\u0153",158:"\u017E",159:"\u0178"};g={'"':""","'":"'","<":"<",">":">","&":"&"};d={"<":"<",">":">","&":"&",""":'"',"'":"'"};function h(l){var m;m=document.createElement("div");m.innerHTML=l;return m.textContent||m.innerText||l}function e(m,p){var n,o,l,q={};if(m){m=m.split(",");p=p||10;for(n=0;n<m.length;n+=2){o=String.fromCharCode(parseInt(m[n],p));if(!g[o]){l="&"+m[n+1]+";";q[o]=l;q[l]=o}}return q}}a=e("50,nbsp,51,iexcl,52,cent,53,pound,54,curren,55,yen,56,brvbar,57,sect,58,uml,59,copy,5a,ordf,5b,laquo,5c,not,5d,shy,5e,reg,5f,macr,5g,deg,5h,plusmn,5i,sup2,5j,sup3,5k,acute,5l,micro,5m,para,5n,middot,5o,cedil,5p,sup1,5q,ordm,5r,raquo,5s,frac14,5t,frac12,5u,frac34,5v,iquest,60,Agrave,61,Aacute,62,Acirc,63,Atilde,64,Auml,65,Aring,66,AElig,67,Ccedil,68,Egrave,69,Eacute,6a,Ecirc,6b,Euml,6c,Igrave,6d,Iacute,6e,Icirc,6f,Iuml,6g,ETH,6h,Ntilde,6i,Ograve,6j,Oacute,6k,Ocirc,6l,Otilde,6m,Ouml,6n,times,6o,Oslash,6p,Ugrave,6q,Uacute,6r,Ucirc,6s,Uuml,6t,Yacute,6u,THORN,6v,szlig,70,agrave,71,aacute,72,acirc,73,atilde,74,auml,75,aring,76,aelig,77,ccedil,78,egrave,79,eacute,7a,ecirc,7b,euml,7c,igrave,7d,iacute,7e,icirc,7f,iuml,7g,eth,7h,ntilde,7i,ograve,7j,oacute,7k,ocirc,7l,otilde,7m,ouml,7n,divide,7o,oslash,7p,ugrave,7q,uacute,7r,ucirc,7s,uuml,7t,yacute,7u,thorn,7v,yuml,ci,fnof,sh,Alpha,si,Beta,sj,Gamma,sk,Delta,sl,Epsilon,sm,Zeta,sn,Eta,so,Theta,sp,Iota,sq,Kappa,sr,Lambda,ss,Mu,st,Nu,su,Xi,sv,Omicron,t0,Pi,t1,Rho,t3,Sigma,t4,Tau,t5,Upsilon,t6,Phi,t7,Chi,t8,Psi,t9,Omega,th,alpha,ti,beta,tj,gamma,tk,delta,tl,epsilon,tm,zeta,tn,eta,to,theta,tp,iota,tq,kappa,tr,lambda,ts,mu,tt,nu,tu,xi,tv,omicron,u0,pi,u1,rho,u2,sigmaf,u3,sigma,u4,tau,u5,upsilon,u6,phi,u7,chi,u8,psi,u9,omega,uh,thetasym,ui,upsih,um,piv,812,bull,816,hellip,81i,prime,81j,Prime,81u,oline,824,frasl,88o,weierp,88h,image,88s,real,892,trade,89l,alefsym,8cg,larr,8ch,uarr,8ci,rarr,8cj,darr,8ck,harr,8dl,crarr,8eg,lArr,8eh,uArr,8ei,rArr,8ej,dArr,8ek,hArr,8g0,forall,8g2,part,8g3,exist,8g5,empty,8g7,nabla,8g8,isin,8g9,notin,8gb,ni,8gf,prod,8gh,sum,8gi,minus,8gn,lowast,8gq,radic,8gt,prop,8gu,infin,8h0,ang,8h7,and,8h8,or,8h9,cap,8ha,cup,8hb,int,8hk,there4,8hs,sim,8i5,cong,8i8,asymp,8j0,ne,8j1,equiv,8j4,le,8j5,ge,8k2,sub,8k3,sup,8k4,nsub,8k6,sube,8k7,supe,8kl,oplus,8kn,otimes,8l5,perp,8m5,sdot,8o8,lceil,8o9,rceil,8oa,lfloor,8ob,rfloor,8p9,lang,8pa,rang,9ea,loz,9j0,spades,9j3,clubs,9j5,hearts,9j6,diams,ai,OElig,aj,oelig,b0,Scaron,b1,scaron,bo,Yuml,m6,circ,ms,tilde,802,ensp,803,emsp,809,thinsp,80c,zwnj,80d,zwj,80e,lrm,80f,rlm,80j,ndash,80k,mdash,80o,lsquo,80p,rsquo,80q,sbquo,80s,ldquo,80t,rdquo,80u,bdquo,810,dagger,811,Dagger,81g,permil,81p,lsaquo,81q,rsaquo,85c,euro",32);j.html=j.html||{};j.html.Entities={encodeRaw:function(m,l){return m.replace(l?k:b,function(n){return g[n]||n})},encodeAllRaw:function(l){return(""+l).replace(f,function(m){return g[m]||m})},encodeNumeric:function(m,l){return m.replace(l?k:b,function(n){if(n.length>1){return"&#"+(((n.charCodeAt(0)-55296)*1024)+(n.charCodeAt(1)-56320)+65536)+";"}return g[n]||"&#"+n.charCodeAt(0)+";"})},encodeNamed:function(n,l,m){m=m||a;return n.replace(l?k:b,function(o){return g[o]||m[o]||o})},getEncodeFunc:function(l,o){var p=j.html.Entities;o=e(o)||a;function m(r,q){return r.replace(q?k:b,function(s){return g[s]||o[s]||"&#"+s.charCodeAt(0)+";"||s})}function n(r,q){return p.encodeNamed(r,q,o)}l=j.makeMap(l.replace(/\+/g,","));if(l.named&&l.numeric){return m}if(l.named){if(o){return n}return p.encodeNamed}if(l.numeric){return p.encodeNumeric}return p.encodeRaw},decode:function(l){return l.replace(c,function(n,m,o){if(m){o=parseInt(o,10);if(o>65535){o-=65536;return String.fromCharCode(55296+(o>>10),56320+(o&1023))}else{return i[o]||String.fromCharCode(o)}}return d[n]||a[n]||h(n)})}}})(tinymce);tinymce.html.Styles=function(d,f){var k=/rgb\s*\(\s*([0-9]+)\s*,\s*([0-9]+)\s*,\s*([0-9]+)\s*\)/gi,h=/(?:url(?:(?:\(\s*\"([^\"]+)\"\s*\))|(?:\(\s*\'([^\']+)\'\s*\))|(?:\(\s*([^)\s]+)\s*\))))|(?:\'([^\']+)\')|(?:\"([^\"]+)\")/gi,b=/\s*([^:]+):\s*([^;]+);?/g,l=/\s+$/,m=/rgb/,e,g,a={},j;d=d||{};j="\\\" \\' \\; \\: ; : _".split(" ");for(g=0;g<j.length;g++){a[j[g]]="_"+g;a["_"+g]=j[g]}function c(n,q,p,i){function o(r){r=parseInt(r).toString(16);return r.length>1?r:"0"+r}return"#"+o(q)+o(p)+o(i)}return{toHex:function(i){return i.replace(k,c)},parse:function(r){var y={},p,n,v,q,u=d.url_converter,x=d.url_converter_scope||this;function o(C,F){var E,B,A,D;E=y[C+"-top"+F];if(!E){return}B=y[C+"-right"+F];if(E!=B){return}A=y[C+"-bottom"+F];if(B!=A){return}D=y[C+"-left"+F];if(A!=D){return}y[C+F]=D;delete y[C+"-top"+F];delete y[C+"-right"+F];delete y[C+"-bottom"+F];delete y[C+"-left"+F]}function t(B){var C=y[B],A;if(!C||C.indexOf(" ")<0){return}C=C.split(" ");A=C.length;while(A--){if(C[A]!==C[0]){return false}}y[B]=C[0];return true}function z(C,B,A,D){if(!t(B)){return}if(!t(A)){return}if(!t(D)){return}y[C]=y[B]+" "+y[A]+" "+y[D];delete y[B];delete y[A];delete y[D]}function s(A){q=true;return a[A]}function i(B,A){if(q){B=B.replace(/_[0-9]/g,function(C){return a[C]})}if(!A){B=B.replace(/\\([\'\";:])/g,"$1")}return B}if(r){r=r.replace(/\\[\"\';:_]/g,s).replace(/\"[^\"]+\"|\'[^\']+\'/g,function(A){return A.replace(/[;:]/g,s)});while(p=b.exec(r)){n=p[1].replace(l,"").toLowerCase();v=p[2].replace(l,"");if(n&&v.length>0){if(n==="font-weight"&&v==="700"){v="bold"}else{if(n==="color"||n==="background-color"){v=v.toLowerCase()}}v=v.replace(k,c);v=v.replace(h,function(B,A,E,D,F,C){F=F||C;if(F){F=i(F);return"'"+F.replace(/\'/g,"\\'")+"'"}A=i(A||E||D);if(u){A=u.call(x,A,"style")}return"url('"+A.replace(/\'/g,"\\'")+"')"});y[n]=q?i(v,true):v}b.lastIndex=p.index+p[0].length}o("border","");o("border","-width");o("border","-color");o("border","-style");o("padding","");o("margin","");z("border","border-width","border-style","border-color");if(y.border==="medium none"){delete y.border}}return y},serialize:function(p,r){var o="",n,q;function i(t){var x,u,s,t,v;x=f.styles[t];if(x){for(u=0,s=x.length;u<s;u++){t=x[u];v=p[t];if(v!==e&&v.length>0){o+=(o.length>0?" ":"")+t+": "+v+";"}}}}if(r&&f&&f.styles){i("*");i(n)}else{for(n in p){q=p[n];if(q!==e&&q.length>0){o+=(o.length>0?" ":"")+n+": "+q+";"}}}return o}}};(function(l){var g={},i,k,f,d,b,e,c=l.makeMap,j=l.each;function h(n,m){return n.split(m||",")}function a(q,p){var n,o={};function m(r){return r.replace(/[A-Z]+/g,function(s){return m(q[s])})}for(n in q){if(q.hasOwnProperty(n)){q[n]=m(q[n])}}m(p).replace(/#/g,"#text").replace(/(\w+)\[([^\]]+)\]\[([^\]]*)\]/g,function(u,s,r,t){r=h(r,"|");o[s]={attributes:c(r),attributesOrder:r,children:c(t,"|",{"#comment":{}})}});return o}k="h1,h2,h3,h4,h5,h6,hr,p,div,address,pre,form,table,tbody,thead,tfoot,th,tr,td,li,ol,ul,caption,blockquote,center,dl,dt,dd,dir,fieldset,noscript,menu,isindex,samp,header,footer,article,section,hgroup";k=c(k,",",c(k.toUpperCase()));g=a({Z:"H|K|N|O|P",Y:"X|form|R|Q",ZG:"E|span|width|align|char|charoff|valign",X:"p|T|div|U|W|isindex|fieldset|table",ZF:"E|align|char|charoff|valign",W:"pre|hr|blockquote|address|center|noframes",ZE:"abbr|axis|headers|scope|rowspan|colspan|align|char|charoff|valign|nowrap|bgcolor|width|height",ZD:"[E][S]",U:"ul|ol|dl|menu|dir",ZC:"p|Y|div|U|W|table|br|span|bdo|object|applet|img|map|K|N|Q",T:"h1|h2|h3|h4|h5|h6",ZB:"X|S|Q",S:"R|P",ZA:"a|G|J|M|O|P",R:"a|H|K|N|O",Q:"noscript|P",P:"ins|del|script",O:"input|select|textarea|label|button",N:"M|L",M:"em|strong|dfn|code|q|samp|kbd|var|cite|abbr|acronym",L:"sub|sup",K:"J|I",J:"tt|i|b|u|s|strike",I:"big|small|font|basefont",H:"G|F",G:"br|span|bdo",F:"object|applet|img|map|iframe",E:"A|B|C",D:"accesskey|tabindex|onfocus|onblur",C:"onclick|ondblclick|onmousedown|onmouseup|onmouseover|onmousemove|onmouseout|onkeypress|onkeydown|onkeyup",B:"lang|xml:lang|dir",A:"id|class|style|title"},"script[id|charset|type|language|src|defer|xml:space][]style[B|id|type|media|title|xml:space][]object[E|declare|classid|codebase|data|type|codetype|archive|standby|width|height|usemap|name|tabindex|align|border|hspace|vspace][#|param|Y]param[id|name|value|valuetype|type][]p[E|align][#|S]a[E|D|charset|type|name|href|hreflang|rel|rev|shape|coords|target][#|Z]br[A|clear][]span[E][#|S]bdo[A|C|B][#|S]applet[A|codebase|archive|code|object|alt|name|width|height|align|hspace|vspace][#|param|Y]h1[E|align][#|S]img[E|src|alt|name|longdesc|width|height|usemap|ismap|align|border|hspace|vspace][]map[B|C|A|name][X|form|Q|area]h2[E|align][#|S]iframe[A|longdesc|name|src|frameborder|marginwidth|marginheight|scrolling|align|width|height][#|Y]h3[E|align][#|S]tt[E][#|S]i[E][#|S]b[E][#|S]u[E][#|S]s[E][#|S]strike[E][#|S]big[E][#|S]small[E][#|S]font[A|B|size|color|face][#|S]basefont[id|size|color|face][]em[E][#|S]strong[E][#|S]dfn[E][#|S]code[E][#|S]q[E|cite][#|S]samp[E][#|S]kbd[E][#|S]var[E][#|S]cite[E][#|S]abbr[E][#|S]acronym[E][#|S]sub[E][#|S]sup[E][#|S]input[E|D|type|name|value|checked|disabled|readonly|size|maxlength|src|alt|usemap|onselect|onchange|accept|align][]select[E|name|size|multiple|disabled|tabindex|onfocus|onblur|onchange][optgroup|option]optgroup[E|disabled|label][option]option[E|selected|disabled|label|value][]textarea[E|D|name|rows|cols|disabled|readonly|onselect|onchange][]label[E|for|accesskey|onfocus|onblur][#|S]button[E|D|name|value|type|disabled][#|p|T|div|U|W|table|G|object|applet|img|map|K|N|Q]h4[E|align][#|S]ins[E|cite|datetime][#|Y]h5[E|align][#|S]del[E|cite|datetime][#|Y]h6[E|align][#|S]div[E|align][#|Y]ul[E|type|compact][li]li[E|type|value][#|Y]ol[E|type|compact|start][li]dl[E|compact][dt|dd]dt[E][#|S]dd[E][#|Y]menu[E|compact][li]dir[E|compact][li]pre[E|width|xml:space][#|ZA]hr[E|align|noshade|size|width][]blockquote[E|cite][#|Y]address[E][#|S|p]center[E][#|Y]noframes[E][#|Y]isindex[A|B|prompt][]fieldset[E][#|legend|Y]legend[E|accesskey|align][#|S]table[E|summary|width|border|frame|rules|cellspacing|cellpadding|align|bgcolor][caption|col|colgroup|thead|tfoot|tbody|tr]caption[E|align][#|S]col[ZG][]colgroup[ZG][col]thead[ZF][tr]tr[ZF|bgcolor][th|td]th[E|ZE][#|Y]form[E|action|method|name|enctype|onsubmit|onreset|accept|accept-charset|target][#|X|R|Q]noscript[E][#|Y]td[E|ZE][#|Y]tfoot[ZF][tr]tbody[ZF][tr]area[E|D|shape|coords|href|nohref|alt|target][]base[id|href|target][]body[E|onload|onunload|background|bgcolor|text|link|vlink|alink][#|Y]");i=c("checked,compact,declare,defer,disabled,ismap,multiple,nohref,noresize,noshade,nowrap,readonly,selected,preload,autoplay,loop,controls");f=c("area,base,basefont,br,col,frame,hr,img,input,isindex,link,meta,param,embed,source");d=l.extend(c("td,th,iframe,video,object"),f);b=c("pre,script,style");e=c("colgroup,dd,dt,li,options,p,td,tfoot,th,thead,tr");l.html.Schema=function(p){var x=this,m={},n={},u=[],o;p=p||{};if(p.verify_html===false){p.valid_elements="*[*]"}if(p.valid_styles){o={};j(p.valid_styles,function(z,y){o[y]=l.explode(z)})}function v(y){return new RegExp("^"+y.replace(/([?+*])/g,".$1")+"$")}function r(F){var E,A,T,P,U,z,C,O,R,K,S,W,I,D,Q,y,M,B,V,X,J,N,H=/^([#+-])?([^\[\/]+)(?:\/([^\[]+))?(?:\[([^\]]+)\])?$/,L=/^([!\-])?(\w+::\w+|[^=:<]+)?(?:([=:<])(.*))?$/,G=/[*?+]/;if(F){F=h(F);if(m["@"]){M=m["@"].attributes;B=m["@"].attributesOrder}for(E=0,A=F.length;E<A;E++){z=H.exec(F[E]);if(z){Q=z[1];K=z[2];y=z[3];R=z[4];I={};D=[];C={attributes:I,attributesOrder:D};if(Q==="#"){C.paddEmpty=true}if(Q==="-"){C.removeEmpty=true}if(M){for(X in M){I[X]=M[X]}D.push.apply(D,B)}if(R){R=h(R,"|");for(T=0,P=R.length;T<P;T++){z=L.exec(R[T]);if(z){O={};W=z[1];S=z[2].replace(/::/g,":");Q=z[3];N=z[4];if(W==="!"){C.attributesRequired=C.attributesRequired||[];C.attributesRequired.push(S);O.required=true}if(W==="-"){delete I[S];D.splice(l.inArray(D,S),1);continue}if(Q){if(Q==="="){C.attributesDefault=C.attributesDefault||[];C.attributesDefault.push({name:S,value:N});O.defaultValue=N}if(Q===":"){C.attributesForced=C.attributesForced||[];C.attributesForced.push({name:S,value:N});O.forcedValue=N}if(Q==="<"){O.validValues=c(N,"?")}}if(G.test(S)){C.attributePatterns=C.attributePatterns||[];O.pattern=v(S);C.attributePatterns.push(O)}else{if(!I[S]){D.push(S)}I[S]=O}}}}if(!M&&K=="@"){M=I;B=D}if(y){C.outputName=K;m[y]=C}if(G.test(K)){C.pattern=v(K);u.push(C)}else{m[K]=C}}}}}function t(y){m={};u=[];r(y);j(g,function(A,z){n[z]=A.children})}function q(z){var y=/^(~)?(.+)$/;if(z){j(h(z),function(C){var B=y.exec(C),D=B[1]==="~"?"span":"div",A=B[2];n[A]=n[D];j(n,function(E,F){if(E[D]){E[A]=E[D]}})})}}function s(z){var y=/^([+\-]?)(\w+)\[([^\]]+)\]$/;if(z){j(h(z),function(D){var C=y.exec(D),A,B;if(C){B=C[1];if(B){A=n[C[2]]}else{A=n[C[2]]={"#comment":{}}}A=n[C[2]];j(h(C[3],"|"),function(E){if(B==="-"){delete A[E]}else{A[E]={}}})}})}}if(!p.valid_elements){j(g,function(z,y){m[y]={attributes:z.attributes,attributesOrder:z.attributesOrder};n[y]=z.children});j(h("strong/b,em/i"),function(y){y=h(y,"/");m[y[1]].outputName=y[0]});m.img.attributesDefault=[{name:"alt",value:""}];j(h("ol,ul,li,sub,sup,blockquote,tr,div,span,font,a,table,tbody"),function(y){m[y].removeEmpty=true});j(h("p,h1,h2,h3,h4,h5,h6,th,td,pre,div,address,caption"),function(y){m[y].paddEmpty=true})}else{t(p.valid_elements)}q(p.custom_elements);s(p.valid_children);r(p.extended_valid_elements);s("+ol[ul|ol],+ul[ul|ol]");if(p.invalid_elements){l.each(l.explode(p.invalid_elements),function(y){if(m[y]){delete m[y]}})}x.children=n;x.styles=o;x.getBoolAttrs=function(){return i};x.getBlockElements=function(){return k};x.getShortEndedElements=function(){return f};x.getSelfClosingElements=function(){return e};x.getNonEmptyElements=function(){return d};x.getWhiteSpaceElements=function(){return b};x.isValidChild=function(y,A){var z=n[y];return !!(z&&z[A])};x.getElementRule=function(y){var A=m[y],z;if(A){return A}z=u.length;while(z--){A=u[z];if(A.pattern.test(y)){return A}}};x.addValidElements=r;x.setValidElements=t;x.addCustomElements=q;x.addValidChildren=s};l.html.Schema.boolAttrMap=i;l.html.Schema.blockElementsMap=k})(tinymce);(function(a){a.html.SaxParser=function(c,e){var b=this,d=function(){};c=c||{};b.schema=e=e||new a.html.Schema();if(c.fix_self_closing!==false){c.fix_self_closing=true}a.each("comment cdata text start end pi doctype".split(" "),function(f){if(f){b[f]=c[f]||d}});b.parse=function(q){var A=this,f,m=0,G,j,l=[],B,K,t,N,F,k,p,x,I,r,E,o,J,n,H,M,L,z,D,h,g,u,s=0,v=a.html.Entities.decode,y;function C(O){var Q,P;Q=l.length;while(Q--){if(l[Q].name===O){break}}if(Q>=0){for(P=l.length-1;P>=Q;P--){O=l[P];if(O.valid){A.end(O.name)}}l.length=Q}}D=new RegExp("<(?:(?:!--([\\w\\W]*?)-->)|(?:!\\[CDATA\\[([\\w\\W]*?)\\]\\]>)|(?:!DOCTYPE([\\w\\W]*?)>)|(?:\\?([^\\s\\/<>]+) ?([\\w\\W]*?)[?/]>)|(?:\\/([^>]+)>)|(?:([^\\s\\/<>]+)\\s*((?:[^\"'>]+(?:(?:\"[^\"]*\")|(?:'[^']*')|[^>]*))*)>))","g");h=/([\w:\-]+)(?:\s*=\s*(?:(?:\"((?:\\.|[^\"])*)\")|(?:\'((?:\\.|[^\'])*)\')|([^>\s]+)))?/g;g={script:/<\/script[^>]*>/gi,style:/<\/style[^>]*>/gi,noscript:/<\/noscript[^>]*>/gi};F=e.getShortEndedElements();z=e.getSelfClosingElements();k=e.getBoolAttrs();x=c.validate;y=c.fix_self_closing;while(f=D.exec(q)){if(m<f.index){A.text(v(q.substr(m,f.index-m)))}if(G=f[6]){C(G.toLowerCase())}else{if(G=f[7]){G=G.toLowerCase();p=G in F;if(y&&z[G]&&l.length>0&&l[l.length-1].name===G){C(G)}if(!x||(I=e.getElementRule(G))){r=true;if(x){J=I.attributes;n=I.attributePatterns}if(o=f[8]){B=[];B.map={};o.replace(h,function(P,O,T,S,R){var U,Q;O=O.toLowerCase();T=O in k?O:v(T||S||R||"");if(x&&O.indexOf("data-")!==0){U=J[O];if(!U&&n){Q=n.length;while(Q--){U=n[Q];if(U.pattern.test(O)){break}}if(Q===-1){U=null}}if(!U){return}if(U.validValues&&!(T in U.validValues)){return}}B.map[O]=T;B.push({name:O,value:T})})}else{B=[];B.map={}}if(x){H=I.attributesRequired;M=I.attributesDefault;L=I.attributesForced;if(L){K=L.length;while(K--){E=L[K];N=E.name;u=E.value;if(u==="{$uid}"){u="mce_"+s++}B.map[N]=u;B.push({name:N,value:u})}}if(M){K=M.length;while(K--){E=M[K];N=E.name;if(!(N in B.map)){u=E.value;if(u==="{$uid}"){u="mce_"+s++}B.map[N]=u;B.push({name:N,value:u})}}}if(H){K=H.length;while(K--){if(H[K] in B.map){break}}if(K===-1){r=false}}if(B.map["data-mce-bogus"]){r=false}}if(r){A.start(G,B,p)}}else{r=false}if(j=g[G]){j.lastIndex=m=f.index+f[0].length;if(f=j.exec(q)){if(r){t=q.substr(m,f.index-m)}m=f.index+f[0].length}else{t=q.substr(m);m=q.length}if(r&&t.length>0){A.text(t,true)}if(r){A.end(G)}D.lastIndex=m;continue}if(!p){if(!o||o.indexOf("/")!=o.length-1){l.push({name:G,valid:r})}else{if(r){A.end(G)}}}}else{if(G=f[1]){A.comment(G)}else{if(G=f[2]){A.cdata(G)}else{if(G=f[3]){A.doctype(G)}else{if(G=f[4]){A.pi(G,f[5])}}}}}}m=f.index+f[0].length}if(m<q.length){A.text(v(q.substr(m)))}for(K=l.length-1;K>=0;K--){G=l[K];if(G.valid){A.end(G.name)}}}}})(tinymce);(function(d){var c=/^[ \t\r\n]*$/,e={"#text":3,"#comment":8,"#cdata":4,"#pi":7,"#doctype":10,"#document-fragment":11};function a(k,l,j){var i,h,f=j?"lastChild":"firstChild",g=j?"prev":"next";if(k[f]){return k[f]}if(k!==l){i=k[g];if(i){return i}for(h=k.parent;h&&h!==l;h=h.parent){i=h[g];if(i){return i}}}}function b(f,g){this.name=f;this.type=g;if(g===1){this.attributes=[];this.attributes.map={}}}d.extend(b.prototype,{replace:function(g){var f=this;if(g.parent){g.remove()}f.insert(g,f);f.remove();return f},attr:function(h,l){var f=this,g,j,k;if(typeof h!=="string"){for(j in h){f.attr(j,h[j])}return f}if(g=f.attributes){if(l!==k){if(l===null){if(h in g.map){delete g.map[h];j=g.length;while(j--){if(g[j].name===h){g=g.splice(j,1);return f}}}return f}if(h in g.map){j=g.length;while(j--){if(g[j].name===h){g[j].value=l;break}}}else{g.push({name:h,value:l})}g.map[h]=l;return f}else{return g.map[h]}}},clone:function(){var g=this,n=new b(g.name,g.type),h,f,m,j,k;if(m=g.attributes){k=[];k.map={};for(h=0,f=m.length;h<f;h++){j=m[h];if(j.name!=="id"){k[k.length]={name:j.name,value:j.value};k.map[j.name]=j.value}}n.attributes=k}n.value=g.value;n.shortEnded=g.shortEnded;return n},wrap:function(g){var f=this;f.parent.insert(g,f);g.append(f);return f},unwrap:function(){var f=this,h,g;for(h=f.firstChild;h;){g=h.next;f.insert(h,f,true);h=g}f.remove()},remove:function(){var f=this,h=f.parent,g=f.next,i=f.prev;if(h){if(h.firstChild===f){h.firstChild=g;if(g){g.prev=null}}else{i.next=g}if(h.lastChild===f){h.lastChild=i;if(i){i.next=null}}else{g.prev=i}f.parent=f.next=f.prev=null}return f},append:function(h){var f=this,g;if(h.parent){h.remove()}g=f.lastChild;if(g){g.next=h;h.prev=g;f.lastChild=h}else{f.lastChild=f.firstChild=h}h.parent=f;return h},insert:function(h,f,i){var g;if(h.parent){h.remove()}g=f.parent||this;if(i){if(f===g.firstChild){g.firstChild=h}else{f.prev.next=h}h.prev=f.prev;h.next=f;f.prev=h}else{if(f===g.lastChild){g.lastChild=h}else{f.next.prev=h}h.next=f.next;h.prev=f;f.next=h}h.parent=g;return h},getAll:function(g){var f=this,h,i=[];for(h=f.firstChild;h;h=a(h,f)){if(h.name===g){i.push(h)}}return i},empty:function(){var g=this,f,h,j;if(g.firstChild){f=[];for(j=g.firstChild;j;j=a(j,g)){f.push(j)}h=f.length;while(h--){j=f[h];j.parent=j.firstChild=j.lastChild=j.next=j.prev=null}}g.firstChild=g.lastChild=null;return g},isEmpty:function(k){var f=this,j=f.firstChild,h,g;if(j){do{if(j.type===1){if(j.attributes.map["data-mce-bogus"]){continue}if(k[j.name]){return false}h=j.attributes.length;while(h--){g=j.attributes[h].name;if(g==="name"||g.indexOf("data-")===0){return false}}}if((j.type===3&&!c.test(j.value))){return false}}while(j=a(j,f))}return true}});d.extend(b,{create:function(g,f){var i,h;i=new b(g,e[g]||1);if(f){for(h in f){i.attr(h,f[h])}}return i}});d.html.Node=b})(tinymce);(function(b){var a=b.html.Node;b.html.DomParser=function(g,h){var f=this,e={},d=[],i={},c={};g=g||{};g.validate="validate" in g?g.validate:true;g.root_name=g.root_name||"body";f.schema=h=h||new b.html.Schema();function j(m){var o,p,x,v,z,n,q,l,t,u,k,s,y,r;s=b.makeMap("tr,td,th,tbody,thead,tfoot,table");k=h.getNonEmptyElements();for(o=0;o<m.length;o++){p=m[o];if(!p.parent){continue}v=[p];for(x=p.parent;x&&!h.isValidChild(x.name,p.name)&&!s[x.name];x=x.parent){v.push(x)}if(x&&v.length>1){v.reverse();z=n=f.filterNode(v[0].clone());for(t=0;t<v.length-1;t++){if(h.isValidChild(n.name,v[t].name)){q=f.filterNode(v[t].clone());n.append(q)}else{q=n}for(l=v[t].firstChild;l&&l!=v[t+1];){r=l.next;q.append(l);l=r}n=q}if(!z.isEmpty(k)){x.insert(z,v[0],true);x.insert(p,z)}else{x.insert(p,v[0],true)}x=v[0];if(x.isEmpty(k)||x.firstChild===x.lastChild&&x.firstChild.name==="br"){x.empty().remove()}}else{if(p.parent){if(p.name==="li"){y=p.prev;if(y&&(y.name==="ul"||y.name==="ul")){y.append(p);continue}y=p.next;if(y&&(y.name==="ul"||y.name==="ul")){y.insert(p,y.firstChild,true);continue}p.wrap(f.filterNode(new a("ul",1)));continue}if(h.isValidChild(p.parent.name,"div")&&h.isValidChild("div",p.name)){p.wrap(f.filterNode(new a("div",1)))}else{if(p.name==="style"||p.name==="script"){p.empty().remove()}else{p.unwrap()}}}}}}f.filterNode=function(m){var l,k,n;if(k in e){n=i[k];if(n){n.push(m)}else{i[k]=[m]}}l=d.length;while(l--){k=d[l].name;if(k in m.attributes.map){n=c[k];if(n){n.push(m)}else{c[k]=[m]}}}return m};f.addNodeFilter=function(k,l){b.each(b.explode(k),function(m){var n=e[m];if(!n){e[m]=n=[]}n.push(l)})};f.addAttributeFilter=function(k,l){b.each(b.explode(k),function(m){var n;for(n=0;n<d.length;n++){if(d[n].name===m){d[n].callbacks.push(l);return}}d.push({name:m,callbacks:[l]})})};f.parse=function(u,m){var n,F,z,y,B,A,v,q,D,I,x,o,C,H=[],s,k,r,p,t;m=m||{};i={};c={};o=b.extend(b.makeMap("script,style,head,html,body,title,meta,param"),h.getBlockElements());t=h.getNonEmptyElements();p=h.children;x=g.validate;r=h.getWhiteSpaceElements();C=/^[ \t\r\n]+/;s=/[ \t\r\n]+$/;k=/[ \t\r\n]+/g;function G(l,J){var K=new a(l,J),L;if(l in e){L=i[l];if(L){L.push(K)}else{i[l]=[K]}}return K}function E(K){var L,l,J;for(L=K.prev;L&&L.type===3;){l=L.value.replace(s,"");if(l.length>0){L.value=l;L=L.prev}else{J=L.prev;L.remove();L=J}}}n=new b.html.SaxParser({validate:x,fix_self_closing:!x,cdata:function(l){z.append(G("#cdata",4)).value=l},text:function(K,l){var J;if(!r[z.name]){K=K.replace(k," ");if(z.lastChild&&o[z.lastChild.name]){K=K.replace(C,"")}}if(K.length!==0){J=G("#text",3);J.raw=!!l;z.append(J).value=K}},comment:function(l){z.append(G("#comment",8)).value=l},pi:function(l,J){z.append(G(l,7)).value=J;E(z)},doctype:function(J){var l;l=z.append(G("#doctype",10));l.value=J;E(z)},start:function(l,R,K){var P,M,L,J,N,S,Q,O;L=x?h.getElementRule(l):{};if(L){P=G(L.outputName||l,1);P.attributes=R;P.shortEnded=K;z.append(P);O=p[z.name];if(O&&p[P.name]&&!O[P.name]){H.push(P)}M=d.length;while(M--){N=d[M].name;if(N in R.map){D=c[N];if(D){D.push(P)}else{c[N]=[P]}}}if(o[l]){E(P)}if(!K){z=P}}},end:function(l){var N,K,M,J,L;K=x?h.getElementRule(l):{};if(K){if(o[l]){if(!r[z.name]){for(N=z.firstChild;N&&N.type===3;){M=N.value.replace(C,"");if(M.length>0){N.value=M;N=N.next}else{J=N.next;N.remove();N=J}}for(N=z.lastChild;N&&N.type===3;){M=N.value.replace(s,"");if(M.length>0){N.value=M;N=N.prev}else{J=N.prev;N.remove();N=J}}}N=z.prev;if(N&&N.type===3){M=N.value.replace(C,"");if(M.length>0){N.value=M}else{N.remove()}}}if(K.removeEmpty||K.paddEmpty){if(z.isEmpty(t)){if(K.paddEmpty){z.empty().append(new a("#text","3")).value="\u00a0"}else{if(!z.attributes.map.name){L=z.parent;z.empty().remove();z=L;return}}}}z=z.parent}}},h);F=z=new a(g.root_name,11);n.parse(u);if(x){j(H)}for(I in i){D=e[I];y=i[I];v=y.length;while(v--){if(!y[v].parent){y.splice(v,1)}}for(B=0,A=D.length;B<A;B++){D[B](y,I,m)}}for(B=0,A=d.length;B<A;B++){D=d[B];if(D.name in c){y=c[D.name];v=y.length;while(v--){if(!y[v].parent){y.splice(v,1)}}for(v=0,q=D.callbacks.length;v<q;v++){D.callbacks[v](y,D.name,m)}}}return F};if(g.remove_trailing_brs){f.addNodeFilter("br",function(n,m){var r,q=n.length,o,u=h.getBlockElements(),k=h.getNonEmptyElements(),s,p,t;for(r=0;r<q;r++){o=n[r];s=o.parent;if(u[o.parent.name]&&o===s.lastChild){p=o.prev;while(p){t=p.name;if(t!=="span"||p.attr("data-mce-type")!=="bookmark"){if(t!=="br"){break}if(t==="br"){o=null;break}}p=p.prev}if(o){o.remove();if(s.isEmpty(k)){elementRule=h.getElementRule(s.name);if(elementRule.removeEmpty){s.remove()}else{if(elementRule.paddEmpty){s.empty().append(new b.html.Node("#text",3)).value="\u00a0"}}}}}}})}}})(tinymce);tinymce.html.Writer=function(e){var c=[],a,b,d,f,g;e=e||{};a=e.indent;b=tinymce.makeMap(e.indent_before||"");d=tinymce.makeMap(e.indent_after||"");f=tinymce.html.Entities.getEncodeFunc(e.entity_encoding||"raw",e.entities);g=e.element_format=="html";return{start:function(m,k,p){var n,j,h,o;if(a&&b[m]&&c.length>0){o=c[c.length-1];if(o.length>0&&o!=="\n"){c.push("\n")}}c.push("<",m);if(k){for(n=0,j=k.length;n<j;n++){h=k[n];c.push(" ",h.name,'="',f(h.value,true),'"')}}if(!p||g){c[c.length]=">"}else{c[c.length]=" />"}if(p&&a&&d[m]&&c.length>0){o=c[c.length-1];if(o.length>0&&o!=="\n"){c.push("\n")}}},end:function(h){var i;c.push("</",h,">");if(a&&d[h]&&c.length>0){i=c[c.length-1];if(i.length>0&&i!=="\n"){c.push("\n")}}},text:function(i,h){if(i.length>0){c[c.length]=h?i:f(i)}},cdata:function(h){c.push("<![CDATA[",h,"]]>")},comment:function(h){c.push("<!--",h,"-->")},pi:function(h,i){if(i){c.push("<?",h," ",i,"?>")}else{c.push("<?",h,"?>")}if(a){c.push("\n")}},doctype:function(h){c.push("<!DOCTYPE",h,">",a?"\n":"")},reset:function(){c.length=0},getContent:function(){return c.join("").replace(/\n$/,"")}}};(function(a){a.html.Serializer=function(c,d){var b=this,e=new a.html.Writer(c);c=c||{};c.validate="validate" in c?c.validate:true;b.schema=d=d||new a.html.Schema();b.writer=e;b.serialize=function(h){var g,i;i=c.validate;g={3:function(k,j){e.text(k.value,k.raw)},8:function(j){e.comment(j.value)},7:function(j){e.pi(j.name,j.value)},10:function(j){e.doctype(j.value)},4:function(j){e.cdata(j.value)},11:function(j){if((j=j.firstChild)){do{f(j)}while(j=j.next)}}};e.reset();function f(k){var t=g[k.type],j,o,s,r,p,u,n,m,q;if(!t){j=k.name;o=k.shortEnded;s=k.attributes;if(i&&s&&s.length>1){u=[];u.map={};q=d.getElementRule(k.name);for(n=0,m=q.attributesOrder.length;n<m;n++){r=q.attributesOrder[n];if(r in s.map){p=s.map[r];u.map[r]=p;u.push({name:r,value:p})}}for(n=0,m=s.length;n<m;n++){r=s[n].name;if(!(r in u.map)){p=s.map[r];u.map[r]=p;u.push({name:r,value:p})}}s=u}e.start(k.name,s,o);if(!o){if((k=k.firstChild)){do{f(k)}while(k=k.next)}e.end(j)}}else{t(k)}}if(h.type==1&&!c.inner){f(h)}else{g[11](h)}return e.getContent()}}})(tinymce);(function(h){var f=h.each,e=h.is,d=h.isWebKit,b=h.isIE,c=h.html.Entities,a=/^([a-z0-9],?)+$/i,g=h.html.Schema.blockElementsMap,i=/^[ \t\r\n]*$/;h.create("tinymce.dom.DOMUtils",{doc:null,root:null,files:null,pixelStyles:/^(top|left|bottom|right|width|height|borderWidth)$/,props:{"for":"htmlFor","class":"className",className:"className",checked:"checked",disabled:"disabled",maxlength:"maxLength",readonly:"readOnly",selected:"selected",value:"value",id:"id",name:"name",type:"type"},DOMUtils:function(n,l){var k=this,j;k.doc=n;k.win=window;k.files={};k.cssFlicker=false;k.counter=0;k.stdMode=!h.isIE||n.documentMode>=8;k.boxModel=!h.isIE||n.compatMode=="CSS1Compat"||k.stdMode;k.hasOuterHTML="outerHTML" in n.createElement("a");k.settings=l=h.extend({keep_values:false,hex_colors:1},l);k.schema=l.schema;k.styles=new h.html.Styles({url_converter:l.url_converter,url_converter_scope:l.url_converter_scope},l.schema);if(h.isIE6){try{n.execCommand("BackgroundImageCache",false,true)}catch(m){k.cssFlicker=true}}if(b){("abbr article aside audio canvas details figcaption figure footer header hgroup mark menu meter nav output progress section summary time video").replace(/\w+/g,function(o){n.createElement(o)})}h.addUnload(k.destroy,k)},getRoot:function(){var j=this,k=j.settings;return(k&&j.get(k.root_element))||j.doc.body},getViewPort:function(k){var l,j;k=!k?this.win:k;l=k.document;j=this.boxModel?l.documentElement:l.body;return{x:k.pageXOffset||j.scrollLeft,y:k.pageYOffset||j.scrollTop,w:k.innerWidth||j.clientWidth,h:k.innerHeight||j.clientHeight}},getRect:function(m){var l,j=this,k;m=j.get(m);l=j.getPos(m);k=j.getSize(m);return{x:l.x,y:l.y,w:k.w,h:k.h}},getSize:function(m){var k=this,j,l;m=k.get(m);j=k.getStyle(m,"width");l=k.getStyle(m,"height");if(j.indexOf("px")===-1){j=0}if(l.indexOf("px")===-1){l=0}return{w:parseInt(j)||m.offsetWidth||m.clientWidth,h:parseInt(l)||m.offsetHeight||m.clientHeight}},getParent:function(l,k,j){return this.getParents(l,k,j,false)},getParents:function(u,p,l,s){var k=this,j,m=k.settings,q=[];u=k.get(u);s=s===undefined;if(m.strict_root){l=l||k.getRoot()}if(e(p,"string")){j=p;if(p==="*"){p=function(o){return o.nodeType==1}}else{p=function(o){return k.is(o,j)}}}while(u){if(u==l||!u.nodeType||u.nodeType===9){break}if(!p||p(u)){if(s){q.push(u)}else{return u}}u=u.parentNode}return s?q:null},get:function(j){var k;if(j&&this.doc&&typeof(j)=="string"){k=j;j=this.doc.getElementById(j);if(j&&j.id!==k){return this.doc.getElementsByName(k)[1]}}return j},getNext:function(k,j){return this._findSib(k,j,"nextSibling")},getPrev:function(k,j){return this._findSib(k,j,"previousSibling")},select:function(l,k){var j=this;return h.dom.Sizzle(l,j.get(k)||j.get(j.settings.root_element)||j.doc,[])},is:function(l,j){var k;if(l.length===undefined){if(j==="*"){return l.nodeType==1}if(a.test(j)){j=j.toLowerCase().split(/,/);l=l.nodeName.toLowerCase();for(k=j.length-1;k>=0;k--){if(j[k]==l){return true}}return false}}return h.dom.Sizzle.matches(j,l.nodeType?[l]:l).length>0},add:function(m,q,j,l,o){var k=this;return this.run(m,function(s){var r,n;r=e(q,"string")?k.doc.createElement(q):q;k.setAttribs(r,j);if(l){if(l.nodeType){r.appendChild(l)}else{k.setHTML(r,l)}}return !o?s.appendChild(r):r})},create:function(l,j,k){return this.add(this.doc.createElement(l),l,j,k,1)},createHTML:function(r,j,p){var q="",m=this,l;q+="<"+r;for(l in j){if(j.hasOwnProperty(l)){q+=" "+l+'="'+m.encode(j[l])+'"'}}if(typeof(p)!="undefined"){return q+">"+p+"</"+r+">"}return q+" />"},remove:function(j,k){return this.run(j,function(m){var n,l=m.parentNode;if(!l){return null}if(k){while(n=m.firstChild){if(!h.isIE||n.nodeType!==3||n.nodeValue){l.insertBefore(n,m)}else{m.removeChild(n)}}}return l.removeChild(m)})},setStyle:function(m,j,k){var l=this;return l.run(m,function(p){var o,n;o=p.style;j=j.replace(/-(\D)/g,function(r,q){return q.toUpperCase()});if(l.pixelStyles.test(j)&&(h.is(k,"number")||/^[\-0-9\.]+$/.test(k))){k+="px"}switch(j){case"opacity":if(b){o.filter=k===""?"":"alpha(opacity="+(k*100)+")";if(!m.currentStyle||!m.currentStyle.hasLayout){o.display="inline-block"}}o[j]=o["-moz-opacity"]=o["-khtml-opacity"]=k||"";break;case"float":b?o.styleFloat=k:o.cssFloat=k;break;default:o[j]=k||""}if(l.settings.update_styles){l.setAttrib(p,"data-mce-style")}})},getStyle:function(m,j,l){m=this.get(m);if(!m){return}if(this.doc.defaultView&&l){j=j.replace(/[A-Z]/g,function(n){return"-"+n});try{return this.doc.defaultView.getComputedStyle(m,null).getPropertyValue(j)}catch(k){return null}}j=j.replace(/-(\D)/g,function(o,n){return n.toUpperCase()});if(j=="float"){j=b?"styleFloat":"cssFloat"}if(m.currentStyle&&l){return m.currentStyle[j]}return m.style?m.style[j]:undefined},setStyles:function(m,n){var k=this,l=k.settings,j;j=l.update_styles;l.update_styles=0;f(n,function(o,p){k.setStyle(m,p,o)});l.update_styles=j;if(l.update_styles){k.setAttrib(m,l.cssText)}},removeAllAttribs:function(j){return this.run(j,function(m){var l,k=m.attributes;for(l=k.length-1;l>=0;l--){m.removeAttributeNode(k.item(l))}})},setAttrib:function(l,m,j){var k=this;if(!l||!m){return}if(k.settings.strict){m=m.toLowerCase()}return this.run(l,function(o){var n=k.settings;switch(m){case"style":if(!e(j,"string")){f(j,function(p,q){k.setStyle(o,q,p)});return}if(n.keep_values){if(j&&!k._isRes(j)){o.setAttribute("data-mce-style",j,2)}else{o.removeAttribute("data-mce-style",2)}}o.style.cssText=j;break;case"class":o.className=j||"";break;case"src":case"href":if(n.keep_values){if(n.url_converter){j=n.url_converter.call(n.url_converter_scope||k,j,m,o)}k.setAttrib(o,"data-mce-"+m,j,2)}break;case"shape":o.setAttribute("data-mce-style",j);break}if(e(j)&&j!==null&&j.length!==0){o.setAttribute(m,""+j,2)}else{o.removeAttribute(m,2)}})},setAttribs:function(k,l){var j=this;return this.run(k,function(m){f(l,function(o,p){j.setAttrib(m,p,o)})})},getAttrib:function(m,o,l){var j,k=this;m=k.get(m);if(!m||m.nodeType!==1){return false}if(!e(l)){l=""}if(/^(src|href|style|coords|shape)$/.test(o)){j=m.getAttribute("data-mce-"+o);if(j){return j}}if(b&&k.props[o]){j=m[k.props[o]];j=j&&j.nodeValue?j.nodeValue:j}if(!j){j=m.getAttribute(o,2)}if(/^(checked|compact|declare|defer|disabled|ismap|multiple|nohref|noshade|nowrap|readonly|selected)$/.test(o)){if(m[k.props[o]]===true&&j===""){return o}return j?o:""}if(m.nodeName==="FORM"&&m.getAttributeNode(o)){return m.getAttributeNode(o).nodeValue}if(o==="style"){j=j||m.style.cssText;if(j){j=k.serializeStyle(k.parseStyle(j),m.nodeName);if(k.settings.keep_values&&!k._isRes(j)){m.setAttribute("data-mce-style",j)}}}if(d&&o==="class"&&j){j=j.replace(/(apple|webkit)\-[a-z\-]+/gi,"")}if(b){switch(o){case"rowspan":case"colspan":if(j===1){j=""}break;case"size":if(j==="+0"||j===20||j===0){j=""}break;case"width":case"height":case"vspace":case"checked":case"disabled":case"readonly":if(j===0){j=""}break;case"hspace":if(j===-1){j=""}break;case"maxlength":case"tabindex":if(j===32768||j===2147483647||j==="32768"){j=""}break;case"multiple":case"compact":case"noshade":case"nowrap":if(j===65535){return o}return l;case"shape":j=j.toLowerCase();break;default:if(o.indexOf("on")===0&&j){j=h._replace(/^function\s+\w+\(\)\s+\{\s+(.*)\s+\}$/,"$1",""+j)}}}return(j!==undefined&&j!==null&&j!=="")?""+j:l},getPos:function(s,m){var k=this,j=0,q=0,o,p=k.doc,l;s=k.get(s);m=m||p.body;if(s){if(b&&!k.stdMode){s=s.getBoundingClientRect();o=k.boxModel?p.documentElement:p.body;j=k.getStyle(k.select("html")[0],"borderWidth");j=(j=="medium"||k.boxModel&&!k.isIE6)&&2||j;return{x:s.left+o.scrollLeft-j,y:s.top+o.scrollTop-j}}l=s;while(l&&l!=m&&l.nodeType){j+=l.offsetLeft||0;q+=l.offsetTop||0;l=l.offsetParent}l=s.parentNode;while(l&&l!=m&&l.nodeType){j-=l.scrollLeft||0;q-=l.scrollTop||0;l=l.parentNode}}return{x:j,y:q}},parseStyle:function(j){return this.styles.parse(j)},serializeStyle:function(k,j){return this.styles.serialize(k,j)},loadCSS:function(j){var l=this,m=l.doc,k;if(!j){j=""}k=l.select("head")[0];f(j.split(","),function(n){var o;if(l.files[n]){return}l.files[n]=true;o=l.create("link",{rel:"stylesheet",href:h._addVer(n)});if(b&&m.documentMode&&m.recalc){o.onload=function(){if(m.recalc){m.recalc()}o.onload=null}}k.appendChild(o)})},addClass:function(j,k){return this.run(j,function(l){var m;if(!k){return 0}if(this.hasClass(l,k)){return l.className}m=this.removeClass(l,k);return l.className=(m!=""?(m+" "):"")+k})},removeClass:function(l,m){var j=this,k;return j.run(l,function(o){var n;if(j.hasClass(o,m)){if(!k){k=new RegExp("(^|\\s+)"+m+"(\\s+|$)","g")}n=o.className.replace(k," ");n=h.trim(n!=" "?n:"");o.className=n;if(!n){o.removeAttribute("class");o.removeAttribute("className")}return n}return o.className})},hasClass:function(k,j){k=this.get(k);if(!k||!j){return false}return(" "+k.className+" ").indexOf(" "+j+" ")!==-1},show:function(j){return this.setStyle(j,"display","block")},hide:function(j){return this.setStyle(j,"display","none")},isHidden:function(j){j=this.get(j);return !j||j.style.display=="none"||this.getStyle(j,"display")=="none"},uniqueId:function(j){return(!j?"mce_":j)+(this.counter++)},setHTML:function(l,k){var j=this;return j.run(l,function(n){if(b){while(n.firstChild){n.removeChild(n.firstChild)}try{n.innerHTML="<br />"+k;n.removeChild(n.firstChild)}catch(m){n=j.create("div");n.innerHTML="<br />"+k;f(n.childNodes,function(p,o){if(o){n.appendChild(p)}})}}else{n.innerHTML=k}return k})},getOuterHTML:function(l){var k,j=this;l=j.get(l);if(!l){return null}if(l.nodeType===1&&j.hasOuterHTML){return l.outerHTML}k=(l.ownerDocument||j.doc).createElement("body");k.appendChild(l.cloneNode(true));return k.innerHTML},setOuterHTML:function(m,k,n){var j=this;function l(p,o,r){var s,q;q=r.createElement("body");q.innerHTML=o;s=q.lastChild;while(s){j.insertAfter(s.cloneNode(true),p);s=s.previousSibling}j.remove(p)}return this.run(m,function(p){p=j.get(p);if(p.nodeType==1){n=n||p.ownerDocument||j.doc;if(b){try{if(b&&p.nodeType==1){p.outerHTML=k}else{l(p,k,n)}}catch(o){l(p,k,n)}}else{l(p,k,n)}}})},decode:c.decode,encode:c.encodeAllRaw,insertAfter:function(j,k){k=this.get(k);return this.run(j,function(m){var l,n;l=k.parentNode;n=k.nextSibling;if(n){l.insertBefore(m,n)}else{l.appendChild(m)}return m})},isBlock:function(k){var j=k.nodeType;if(j){return !!(j===1&&g[k.nodeName])}return !!g[k]},replace:function(p,m,j){var l=this;if(e(m,"array")){p=p.cloneNode(true)}return l.run(m,function(k){if(j){f(h.grep(k.childNodes),function(n){p.appendChild(n)})}return k.parentNode.replaceChild(p,k)})},rename:function(m,j){var l=this,k;if(m.nodeName!=j.toUpperCase()){k=l.create(j);f(l.getAttribs(m),function(n){l.setAttrib(k,n.nodeName,l.getAttrib(m,n.nodeName))});l.replace(k,m,1)}return k||m},findCommonAncestor:function(l,j){var m=l,k;while(m){k=j;while(k&&m!=k){k=k.parentNode}if(m==k){break}m=m.parentNode}if(!m&&l.ownerDocument){return l.ownerDocument.documentElement}return m},toHex:function(j){var l=/^\s*rgb\s*?\(\s*?([0-9]+)\s*?,\s*?([0-9]+)\s*?,\s*?([0-9]+)\s*?\)\s*$/i.exec(j);function k(m){m=parseInt(m).toString(16);return m.length>1?m:"0"+m}if(l){j="#"+k(l[1])+k(l[2])+k(l[3]);return j}return j},getClasses:function(){var n=this,j=[],m,o={},p=n.settings.class_filter,l;if(n.classes){return n.classes}function q(r){f(r.imports,function(s){q(s)});f(r.cssRules||r.rules,function(s){switch(s.type||1){case 1:if(s.selectorText){f(s.selectorText.split(","),function(t){t=t.replace(/^\s*|\s*$|^\s\./g,"");if(/\.mce/.test(t)||!/\.[\w\-]+$/.test(t)){return}l=t;t=h._replace(/.*\.([a-z0-9_\-]+).*/i,"$1",t);if(p&&!(t=p(t,l))){return}if(!o[t]){j.push({"class":t});o[t]=1}})}break;case 3:q(s.styleSheet);break}})}try{f(n.doc.styleSheets,q)}catch(k){}if(j.length>0){n.classes=j}return j},run:function(m,l,k){var j=this,n;if(j.doc&&typeof(m)==="string"){m=j.get(m)}if(!m){return false}k=k||this;if(!m.nodeType&&(m.length||m.length===0)){n=[];f(m,function(p,o){if(p){if(typeof(p)=="string"){p=j.doc.getElementById(p)}n.push(l.call(k,p,o))}});return n}return l.call(k,m)},getAttribs:function(k){var j;k=this.get(k);if(!k){return[]}if(b){j=[];if(k.nodeName=="OBJECT"){return k.attributes}if(k.nodeName==="OPTION"&&this.getAttrib(k,"selected")){j.push({specified:1,nodeName:"selected"})}k.cloneNode(false).outerHTML.replace(/<\/?[\w:\-]+ ?|=[\"][^\"]+\"|=\'[^\']+\'|=[\w\-]+|>/gi,"").replace(/[\w:\-]+/gi,function(l){j.push({specified:1,nodeName:l})});return j}return k.attributes},isEmpty:function(o,p){var k=this,m,j,n,q,l;o=o.firstChild;if(o){q=new h.dom.TreeWalker(o);p=p||k.schema?k.schema.getNonEmptyElements():null;do{n=o.nodeType;if(n===1){if(o.getAttribute("data-mce-bogus")){continue}if(p&&p[o.nodeName.toLowerCase()]){return false}j=k.getAttribs(o);m=o.attributes.length;while(m--){l=o.attributes[m].nodeName;if(l==="name"||l.indexOf("data-")===0){return false}}}if((n===3&&!i.test(o.nodeValue))){return false}}while(o=q.next())}return true},destroy:function(k){var j=this;if(j.events){j.events.destroy()}j.win=j.doc=j.root=j.events=null;if(!k){h.removeUnload(j.destroy)}},createRng:function(){var j=this.doc;return j.createRange?j.createRange():new h.dom.Range(this)},nodeIndex:function(o,p){var j=0,m,n,l,k;if(o){for(m=o.nodeType,o=o.previousSibling,n=o;o;o=o.previousSibling){l=o.nodeType;if(p&&l==3){k=false;try{k=o.nodeValue.length}catch(q){}if(l==m||!k){continue}}j++;m=l}}return j},split:function(n,m,q){var s=this,j=s.createRng(),o,l,p;function k(v){var t,r=v.childNodes,u=v.nodeType;if(u==1&&v.getAttribute("data-mce-type")=="bookmark"){return}for(t=r.length-1;t>=0;t--){k(r[t])}if(u!=9){if(u==3&&v.nodeValue.length>0){if(!s.isBlock(v.parentNode)||h.trim(v.nodeValue).length>0){return}}else{if(u==1){r=v.childNodes;if(r.length==1&&r[0]&&r[0].nodeType==1&&r[0].getAttribute("data-mce-type")=="bookmark"){v.parentNode.insertBefore(r[0],v)}if(r.length||/^(br|hr|input|img)$/i.test(v.nodeName)){return}}}s.remove(v)}return v}if(n&&m){j.setStart(n.parentNode,s.nodeIndex(n));j.setEnd(m.parentNode,s.nodeIndex(m));o=j.extractContents();j=s.createRng();j.setStart(m.parentNode,s.nodeIndex(m)+1);j.setEnd(n.parentNode,s.nodeIndex(n)+1);l=j.extractContents();p=n.parentNode;p.insertBefore(k(o),n);if(q){p.replaceChild(q,m)}else{p.insertBefore(m,n)}p.insertBefore(k(l),n);s.remove(n);return q||m}},bind:function(n,j,m,l){var k=this;if(!k.events){k.events=new h.dom.EventUtils()}return k.events.add(n,j,m,l||this)},unbind:function(m,j,l){var k=this;if(!k.events){k.events=new h.dom.EventUtils()}return k.events.remove(m,j,l)},_findSib:function(m,j,k){var l=this,n=j;if(m){if(e(n,"string")){n=function(o){return l.is(o,j)}}for(m=m[k];m;m=m[k]){if(n(m)){return m}}}return null},_isRes:function(j){return/^(top|left|bottom|right|width|height)/i.test(j)||/;\s*(top|left|bottom|right|width|height)/i.test(j)}});h.DOM=new h.dom.DOMUtils(document,{process_html:0})})(tinymce);(function(a){function b(c){var N=this,e=c.doc,S=0,E=1,j=2,D=true,R=false,U="startOffset",h="startContainer",P="endContainer",z="endOffset",k=tinymce.extend,n=c.nodeIndex;k(N,{startContainer:e,startOffset:0,endContainer:e,endOffset:0,collapsed:D,commonAncestorContainer:e,START_TO_START:0,START_TO_END:1,END_TO_END:2,END_TO_START:3,setStart:q,setEnd:s,setStartBefore:g,setStartAfter:I,setEndBefore:J,setEndAfter:u,collapse:A,selectNode:x,selectNodeContents:F,compareBoundaryPoints:v,deleteContents:p,extractContents:H,cloneContents:d,insertNode:C,surroundContents:M,cloneRange:K});function q(V,t){B(D,V,t)}function s(V,t){B(R,V,t)}function g(t){q(t.parentNode,n(t))}function I(t){q(t.parentNode,n(t)+1)}function J(t){s(t.parentNode,n(t))}function u(t){s(t.parentNode,n(t)+1)}function A(t){if(t){N[P]=N[h];N[z]=N[U]}else{N[h]=N[P];N[U]=N[z]}N.collapsed=D}function x(t){g(t);u(t)}function F(t){q(t,0);s(t,t.nodeType===1?t.childNodes.length:t.nodeValue.length)}function v(Y,t){var ab=N[h],W=N[U],aa=N[P],V=N[z],Z=t.startContainer,ad=t.startOffset,X=t.endContainer,ac=t.endOffset;if(Y===0){return G(ab,W,Z,ad)}if(Y===1){return G(aa,V,Z,ad)}if(Y===2){return G(aa,V,X,ac)}if(Y===3){return G(ab,W,X,ac)}}function p(){m(j)}function H(){return m(S)}function d(){return m(E)}function C(Y){var V=this[h],t=this[U],X,W;if((V.nodeType===3||V.nodeType===4)&&V.nodeValue){if(!t){V.parentNode.insertBefore(Y,V)}else{if(t>=V.nodeValue.length){c.insertAfter(Y,V)}else{X=V.splitText(t);V.parentNode.insertBefore(Y,X)}}}else{if(V.childNodes.length>0){W=V.childNodes[t]}if(W){V.insertBefore(Y,W)}else{V.appendChild(Y)}}}function M(V){var t=N.extractContents();N.insertNode(V);V.appendChild(t);N.selectNode(V)}function K(){return k(new b(c),{startContainer:N[h],startOffset:N[U],endContainer:N[P],endOffset:N[z],collapsed:N.collapsed,commonAncestorContainer:N.commonAncestorContainer})}function O(t,V){var W;if(t.nodeType==3){return t}if(V<0){return t}W=t.firstChild;while(W&&V>0){--V;W=W.nextSibling}if(W){return W}return t}function l(){return(N[h]==N[P]&&N[U]==N[z])}function G(X,Z,V,Y){var aa,W,t,ab,ad,ac;if(X==V){if(Z==Y){return 0}if(Z<Y){return -1}return 1}aa=V;while(aa&&aa.parentNode!=X){aa=aa.parentNode}if(aa){W=0;t=X.firstChild;while(t!=aa&&W<Z){W++;t=t.nextSibling}if(Z<=W){return -1}return 1}aa=X;while(aa&&aa.parentNode!=V){aa=aa.parentNode}if(aa){W=0;t=V.firstChild;while(t!=aa&&W<Y){W++;t=t.nextSibling}if(W<Y){return -1}return 1}ab=c.findCommonAncestor(X,V);ad=X;while(ad&&ad.parentNode!=ab){ad=ad.parentNode}if(!ad){ad=ab}ac=V;while(ac&&ac.parentNode!=ab){ac=ac.parentNode}if(!ac){ac=ab}if(ad==ac){return 0}t=ab.firstChild;while(t){if(t==ad){return -1}if(t==ac){return 1}t=t.nextSibling}}function B(V,Y,X){var t,W;if(V){N[h]=Y;N[U]=X}else{N[P]=Y;N[z]=X}t=N[P];while(t.parentNode){t=t.parentNode}W=N[h];while(W.parentNode){W=W.parentNode}if(W==t){if(G(N[h],N[U],N[P],N[z])>0){N.collapse(V)}}else{N.collapse(V)}N.collapsed=l();N.commonAncestorContainer=c.findCommonAncestor(N[h],N[P])}function m(ab){var aa,X=0,ad=0,V,Z,W,Y,t,ac;if(N[h]==N[P]){return f(ab)}for(aa=N[P],V=aa.parentNode;V;aa=V,V=V.parentNode){if(V==N[h]){return r(aa,ab)}++X}for(aa=N[h],V=aa.parentNode;V;aa=V,V=V.parentNode){if(V==N[P]){return T(aa,ab)}++ad}Z=ad-X;W=N[h];while(Z>0){W=W.parentNode;Z--}Y=N[P];while(Z<0){Y=Y.parentNode;Z++}for(t=W.parentNode,ac=Y.parentNode;t!=ac;t=t.parentNode,ac=ac.parentNode){W=t;Y=ac}return o(W,Y,ab)}function f(Z){var ab,Y,X,aa,t,W,V;if(Z!=j){ab=e.createDocumentFragment()}if(N[U]==N[z]){return ab}if(N[h].nodeType==3){Y=N[h].nodeValue;X=Y.substring(N[U],N[z]);if(Z!=E){N[h].deleteData(N[U],N[z]-N[U]);N.collapse(D)}if(Z==j){return}ab.appendChild(e.createTextNode(X));return ab}aa=O(N[h],N[U]);t=N[z]-N[U];while(t>0){W=aa.nextSibling;V=y(aa,Z);if(ab){ab.appendChild(V)}--t;aa=W}if(Z!=E){N.collapse(D)}return ab}function r(ab,Y){var aa,Z,V,t,X,W;if(Y!=j){aa=e.createDocumentFragment()}Z=i(ab,Y);if(aa){aa.appendChild(Z)}V=n(ab);t=V-N[U];if(t<=0){if(Y!=E){N.setEndBefore(ab);N.collapse(R)}return aa}Z=ab.previousSibling;while(t>0){X=Z.previousSibling;W=y(Z,Y);if(aa){aa.insertBefore(W,aa.firstChild)}--t;Z=X}if(Y!=E){N.setEndBefore(ab);N.collapse(R)}return aa}function T(Z,Y){var ab,V,aa,t,X,W;if(Y!=j){ab=e.createDocumentFragment()}aa=Q(Z,Y);if(ab){ab.appendChild(aa)}V=n(Z);++V;t=N[z]-V;aa=Z.nextSibling;while(t>0){X=aa.nextSibling;W=y(aa,Y);if(ab){ab.appendChild(W)}--t;aa=X}if(Y!=E){N.setStartAfter(Z);N.collapse(D)}return ab}function o(Z,t,ac){var W,ae,Y,aa,ab,V,ad,X;if(ac!=j){ae=e.createDocumentFragment()}W=Q(Z,ac);if(ae){ae.appendChild(W)}Y=Z.parentNode;aa=n(Z);ab=n(t);++aa;V=ab-aa;ad=Z.nextSibling;while(V>0){X=ad.nextSibling;W=y(ad,ac);if(ae){ae.appendChild(W)}ad=X;--V}W=i(t,ac);if(ae){ae.appendChild(W)}if(ac!=E){N.setStartAfter(Z);N.collapse(D)}return ae}function i(aa,ab){var W=O(N[P],N[z]-1),ac,Z,Y,t,V,X=W!=N[P];if(W==aa){return L(W,X,R,ab)}ac=W.parentNode;Z=L(ac,R,R,ab);while(ac){while(W){Y=W.previousSibling;t=L(W,X,R,ab);if(ab!=j){Z.insertBefore(t,Z.firstChild)}X=D;W=Y}if(ac==aa){return Z}W=ac.previousSibling;ac=ac.parentNode;V=L(ac,R,R,ab);if(ab!=j){V.appendChild(Z)}Z=V}}function Q(aa,ab){var X=O(N[h],N[U]),Y=X!=N[h],ac,Z,W,t,V;if(X==aa){return L(X,Y,D,ab)}ac=X.parentNode;Z=L(ac,R,D,ab);while(ac){while(X){W=X.nextSibling;t=L(X,Y,D,ab);if(ab!=j){Z.appendChild(t)}Y=D;X=W}if(ac==aa){return Z}X=ac.nextSibling;ac=ac.parentNode;V=L(ac,R,D,ab);if(ab!=j){V.appendChild(Z)}Z=V}}function L(t,Y,ab,ac){var X,W,Z,V,aa;if(Y){return y(t,ac)}if(t.nodeType==3){X=t.nodeValue;if(ab){V=N[U];W=X.substring(V);Z=X.substring(0,V)}else{V=N[z];W=X.substring(0,V);Z=X.substring(V)}if(ac!=E){t.nodeValue=Z}if(ac==j){return}aa=t.cloneNode(R);aa.nodeValue=W;return aa}if(ac==j){return}return t.cloneNode(R)}function y(V,t){if(t!=j){return t==E?V.cloneNode(D):V}V.parentNode.removeChild(V)}}a.Range=b})(tinymce.dom);(function(){function a(g){var i=this,j="\uFEFF",e,h,d=g.dom,c=true,f=false;function b(){var n=g.getRng(),k=d.createRng(),m,o;m=n.item?n.item(0):n.parentElement();if(m.ownerDocument!=d.doc){return k}o=g.isCollapsed();if(n.item||!m.hasChildNodes()){if(o){k.setStart(m,0);k.setEnd(m,0)}else{k.setStart(m.parentNode,d.nodeIndex(m));k.setEnd(k.startContainer,k.startOffset+1)}return k}function l(s){var u,q,t,p,A=0,x,y,z,r,v;r=n.duplicate();r.collapse(s);u=d.create("a");z=r.parentElement();if(!z.hasChildNodes()){k[s?"setStart":"setEnd"](z,0);return}z.appendChild(u);r.moveToElementText(u);v=n.compareEndPoints(s?"StartToStart":"EndToEnd",r);if(v>0){k[s?"setStartAfter":"setEndAfter"](z);d.remove(u);return}p=tinymce.grep(z.childNodes);x=p.length-1;while(A<=x){y=Math.floor((A+x)/2);z.insertBefore(u,p[y]);r.moveToElementText(u);v=n.compareEndPoints(s?"StartToStart":"EndToEnd",r);if(v>0){A=y+1}else{if(v<0){x=y-1}else{found=true;break}}}q=v>0||y==0?u.nextSibling:u.previousSibling;if(q.nodeType==1){d.remove(u);t=d.nodeIndex(q);q=q.parentNode;if(!s||y>0){t++}}else{if(v>0||y==0){r.setEndPoint(s?"StartToStart":"EndToEnd",n);t=r.text.length}else{r.setEndPoint(s?"StartToStart":"EndToEnd",n);t=q.nodeValue.length-r.text.length}d.remove(u)}k[s?"setStart":"setEnd"](q,t)}l(true);if(!o){l()}return k}this.addRange=function(k){var p,n,m,r,u,s,t=g.dom.doc,o=t.body;function l(B){var x,A,v,z,y;v=d.create("a");x=B?m:u;A=B?r:s;z=p.duplicate();if(x==t||x==t.documentElement){x=o;A=0}if(x.nodeType==3){x.parentNode.insertBefore(v,x);z.moveToElementText(v);z.moveStart("character",A);d.remove(v);p.setEndPoint(B?"StartToStart":"EndToEnd",z)}else{y=x.childNodes;if(y.length){if(A>=y.length){d.insertAfter(v,y[y.length-1])}else{x.insertBefore(v,y[A])}z.moveToElementText(v)}else{v=t.createTextNode(j);x.appendChild(v);z.moveToElementText(v.parentNode);z.collapse(c)}p.setEndPoint(B?"StartToStart":"EndToEnd",z);d.remove(v)}}this.destroy();m=k.startContainer;r=k.startOffset;u=k.endContainer;s=k.endOffset;p=o.createTextRange();if(m==u&&m.nodeType==1&&r==s-1){if(r==s-1){try{n=o.createControlRange();n.addElement(m.childNodes[r]);n.select();return}catch(q){}}}l(true);l();p.select()};this.getRangeAt=function(){if(!e||!tinymce.dom.RangeUtils.compareRanges(h,g.getRng())){e=b();h=g.getRng()}try{e.startContainer.nextSibling}catch(k){e=b();h=null}return e};this.destroy=function(){h=e=null}}tinymce.dom.TridentSelection=a})();(function(){var p=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^\[\]]*\]|['"][^'"]*['"]|[^\[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,j=0,d=Object.prototype.toString,o=false,i=true;[0,0].sort(function(){i=false;return 0});var b=function(v,e,z,A){z=z||[];e=e||document;var C=e;if(e.nodeType!==1&&e.nodeType!==9){return[]}if(!v||typeof v!=="string"){return z}var x=[],s,E,H,r,u=true,t=b.isXML(e),B=v,D,G,F,y;do{p.exec("");s=p.exec(B);if(s){B=s[3];x.push(s[1]);if(s[2]){r=s[3];break}}}while(s);if(x.length>1&&k.exec(v)){if(x.length===2&&f.relative[x[0]]){E=h(x[0]+x[1],e)}else{E=f.relative[x[0]]?[e]:b(x.shift(),e);while(x.length){v=x.shift();if(f.relative[v]){v+=x.shift()}E=h(v,E)}}}else{if(!A&&x.length>1&&e.nodeType===9&&!t&&f.match.ID.test(x[0])&&!f.match.ID.test(x[x.length-1])){D=b.find(x.shift(),e,t);e=D.expr?b.filter(D.expr,D.set)[0]:D.set[0]}if(e){D=A?{expr:x.pop(),set:a(A)}:b.find(x.pop(),x.length===1&&(x[0]==="~"||x[0]==="+")&&e.parentNode?e.parentNode:e,t);E=D.expr?b.filter(D.expr,D.set):D.set;if(x.length>0){H=a(E)}else{u=false}while(x.length){G=x.pop();F=G;if(!f.relative[G]){G=""}else{F=x.pop()}if(F==null){F=e}f.relative[G](H,F,t)}}else{H=x=[]}}if(!H){H=E}if(!H){b.error(G||v)}if(d.call(H)==="[object Array]"){if(!u){z.push.apply(z,H)}else{if(e&&e.nodeType===1){for(y=0;H[y]!=null;y++){if(H[y]&&(H[y]===true||H[y].nodeType===1&&b.contains(e,H[y]))){z.push(E[y])}}}else{for(y=0;H[y]!=null;y++){if(H[y]&&H[y].nodeType===1){z.push(E[y])}}}}}else{a(H,z)}if(r){b(r,C,z,A);b.uniqueSort(z)}return z};b.uniqueSort=function(r){if(c){o=i;r.sort(c);if(o){for(var e=1;e<r.length;e++){if(r[e]===r[e-1]){r.splice(e--,1)}}}}return r};b.matches=function(e,r){return b(e,null,null,r)};b.find=function(y,e,z){var x;if(!y){return[]}for(var t=0,s=f.order.length;t<s;t++){var v=f.order[t],u;if((u=f.leftMatch[v].exec(y))){var r=u[1];u.splice(1,1);if(r.substr(r.length-1)!=="\\"){u[1]=(u[1]||"").replace(/\\/g,"");x=f.find[v](u,e,z);if(x!=null){y=y.replace(f.match[v],"");break}}}}if(!x){x=e.getElementsByTagName("*")}return{set:x,expr:y}};b.filter=function(C,B,F,u){var s=C,H=[],z=B,x,e,y=B&&B[0]&&b.isXML(B[0]);while(C&&B.length){for(var A in f.filter){if((x=f.leftMatch[A].exec(C))!=null&&x[2]){var r=f.filter[A],G,E,t=x[1];e=false;x.splice(1,1);if(t.substr(t.length-1)==="\\"){continue}if(z===H){H=[]}if(f.preFilter[A]){x=f.preFilter[A](x,z,F,H,u,y);if(!x){e=G=true}else{if(x===true){continue}}}if(x){for(var v=0;(E=z[v])!=null;v++){if(E){G=r(E,x,v,z);var D=u^!!G;if(F&&G!=null){if(D){e=true}else{z[v]=false}}else{if(D){H.push(E);e=true}}}}}if(G!==undefined){if(!F){z=H}C=C.replace(f.match[A],"");if(!e){return[]}break}}}if(C===s){if(e==null){b.error(C)}else{break}}s=C}return z};b.error=function(e){throw"Syntax error, unrecognized expression: "+e};var f=b.selectors={order:["ID","NAME","TAG"],match:{ID:/#((?:[\w\u00c0-\uFFFF\-]|\\.)+)/,CLASS:/\.((?:[\w\u00c0-\uFFFF\-]|\\.)+)/,NAME:/\[name=['"]*((?:[\w\u00c0-\uFFFF\-]|\\.)+)['"]*\]/,ATTR:/\[\s*((?:[\w\u00c0-\uFFFF\-]|\\.)+)\s*(?:(\S?=)\s*(['"]*)(.*?)\3|)\s*\]/,TAG:/^((?:[\w\u00c0-\uFFFF\*\-]|\\.)+)/,CHILD:/:(only|nth|last|first)-child(?:\((even|odd|[\dn+\-]*)\))?/,POS:/:(nth|eq|gt|lt|first|last|even|odd)(?:\((\d*)\))?(?=[^\-]|$)/,PSEUDO:/:((?:[\w\u00c0-\uFFFF\-]|\\.)+)(?:\((['"]?)((?:\([^\)]+\)|[^\(\)]*)+)\2\))?/},leftMatch:{},attrMap:{"class":"className","for":"htmlFor"},attrHandle:{href:function(e){return e.getAttribute("href")}},relative:{"+":function(x,r){var t=typeof r==="string",v=t&&!/\W/.test(r),y=t&&!v;if(v){r=r.toLowerCase()}for(var s=0,e=x.length,u;s<e;s++){if((u=x[s])){while((u=u.previousSibling)&&u.nodeType!==1){}x[s]=y||u&&u.nodeName.toLowerCase()===r?u||false:u===r}}if(y){b.filter(r,x,true)}},">":function(x,r){var u=typeof r==="string",v,s=0,e=x.length;if(u&&!/\W/.test(r)){r=r.toLowerCase();for(;s<e;s++){v=x[s];if(v){var t=v.parentNode;x[s]=t.nodeName.toLowerCase()===r?t:false}}}else{for(;s<e;s++){v=x[s];if(v){x[s]=u?v.parentNode:v.parentNode===r}}if(u){b.filter(r,x,true)}}},"":function(t,r,v){var s=j++,e=q,u;if(typeof r==="string"&&!/\W/.test(r)){r=r.toLowerCase();u=r;e=n}e("parentNode",r,s,t,u,v)},"~":function(t,r,v){var s=j++,e=q,u;if(typeof r==="string"&&!/\W/.test(r)){r=r.toLowerCase();u=r;e=n}e("previousSibling",r,s,t,u,v)}},find:{ID:function(r,s,t){if(typeof s.getElementById!=="undefined"&&!t){var e=s.getElementById(r[1]);return e?[e]:[]}},NAME:function(s,v){if(typeof v.getElementsByName!=="undefined"){var r=[],u=v.getElementsByName(s[1]);for(var t=0,e=u.length;t<e;t++){if(u[t].getAttribute("name")===s[1]){r.push(u[t])}}return r.length===0?null:r}},TAG:function(e,r){return r.getElementsByTagName(e[1])}},preFilter:{CLASS:function(t,r,s,e,x,y){t=" "+t[1].replace(/\\/g,"")+" ";if(y){return t}for(var u=0,v;(v=r[u])!=null;u++){if(v){if(x^(v.className&&(" "+v.className+" ").replace(/[\t\n]/g," ").indexOf(t)>=0)){if(!s){e.push(v)}}else{if(s){r[u]=false}}}}return false},ID:function(e){return e[1].replace(/\\/g,"")},TAG:function(r,e){return r[1].toLowerCase()},CHILD:function(e){if(e[1]==="nth"){var r=/(-?)(\d*)n((?:\+|-)?\d*)/.exec(e[2]==="even"&&"2n"||e[2]==="odd"&&"2n+1"||!/\D/.test(e[2])&&"0n+"+e[2]||e[2]);e[2]=(r[1]+(r[2]||1))-0;e[3]=r[3]-0}e[0]=j++;return e},ATTR:function(u,r,s,e,v,x){var t=u[1].replace(/\\/g,"");if(!x&&f.attrMap[t]){u[1]=f.attrMap[t]}if(u[2]==="~="){u[4]=" "+u[4]+" "}return u},PSEUDO:function(u,r,s,e,v){if(u[1]==="not"){if((p.exec(u[3])||"").length>1||/^\w/.test(u[3])){u[3]=b(u[3],null,null,r)}else{var t=b.filter(u[3],r,s,true^v);if(!s){e.push.apply(e,t)}return false}}else{if(f.match.POS.test(u[0])||f.match.CHILD.test(u[0])){return true}}return u},POS:function(e){e.unshift(true);return e}},filters:{enabled:function(e){return e.disabled===false&&e.type!=="hidden"},disabled:function(e){return e.disabled===true},checked:function(e){return e.checked===true},selected:function(e){e.parentNode.selectedIndex;return e.selected===true},parent:function(e){return !!e.firstChild},empty:function(e){return !e.firstChild},has:function(s,r,e){return !!b(e[3],s).length},header:function(e){return(/h\d/i).test(e.nodeName)},text:function(e){return"text"===e.type},radio:function(e){return"radio"===e.type},checkbox:function(e){return"checkbox"===e.type},file:function(e){return"file"===e.type},password:function(e){return"password"===e.type},submit:function(e){return"submit"===e.type},image:function(e){return"image"===e.type},reset:function(e){return"reset"===e.type},button:function(e){return"button"===e.type||e.nodeName.toLowerCase()==="button"},input:function(e){return(/input|select|textarea|button/i).test(e.nodeName)}},setFilters:{first:function(r,e){return e===0},last:function(s,r,e,t){return r===t.length-1},even:function(r,e){return e%2===0},odd:function(r,e){return e%2===1},lt:function(s,r,e){return r<e[3]-0},gt:function(s,r,e){return r>e[3]-0},nth:function(s,r,e){return e[3]-0===r},eq:function(s,r,e){return e[3]-0===r}},filter:{PSEUDO:function(s,y,x,z){var e=y[1],r=f.filters[e];if(r){return r(s,x,y,z)}else{if(e==="contains"){return(s.textContent||s.innerText||b.getText([s])||"").indexOf(y[3])>=0}else{if(e==="not"){var t=y[3];for(var v=0,u=t.length;v<u;v++){if(t[v]===s){return false}}return true}else{b.error("Syntax error, unrecognized expression: "+e)}}}},CHILD:function(e,t){var x=t[1],r=e;switch(x){case"only":case"first":while((r=r.previousSibling)){if(r.nodeType===1){return false}}if(x==="first"){return true}r=e;case"last":while((r=r.nextSibling)){if(r.nodeType===1){return false}}return true;case"nth":var s=t[2],A=t[3];if(s===1&&A===0){return true}var v=t[0],z=e.parentNode;if(z&&(z.sizcache!==v||!e.nodeIndex)){var u=0;for(r=z.firstChild;r;r=r.nextSibling){if(r.nodeType===1){r.nodeIndex=++u}}z.sizcache=v}var y=e.nodeIndex-A;if(s===0){return y===0}else{return(y%s===0&&y/s>=0)}}},ID:function(r,e){return r.nodeType===1&&r.getAttribute("id")===e},TAG:function(r,e){return(e==="*"&&r.nodeType===1)||r.nodeName.toLowerCase()===e},CLASS:function(r,e){return(" "+(r.className||r.getAttribute("class"))+" ").indexOf(e)>-1},ATTR:function(v,t){var s=t[1],e=f.attrHandle[s]?f.attrHandle[s](v):v[s]!=null?v[s]:v.getAttribute(s),x=e+"",u=t[2],r=t[4];return e==null?u==="!=":u==="="?x===r:u==="*="?x.indexOf(r)>=0:u==="~="?(" "+x+" ").indexOf(r)>=0:!r?x&&e!==false:u==="!="?x!==r:u==="^="?x.indexOf(r)===0:u==="$="?x.substr(x.length-r.length)===r:u==="|="?x===r||x.substr(0,r.length+1)===r+"-":false},POS:function(u,r,s,v){var e=r[2],t=f.setFilters[e];if(t){return t(u,s,r,v)}}}};var k=f.match.POS,g=function(r,e){return"\\"+(e-0+1)};for(var m in f.match){f.match[m]=new RegExp(f.match[m].source+(/(?![^\[]*\])(?![^\(]*\))/.source));f.leftMatch[m]=new RegExp(/(^(?:.|\r|\n)*?)/.source+f.match[m].source.replace(/\\(\d+)/g,g))}var a=function(r,e){r=Array.prototype.slice.call(r,0);if(e){e.push.apply(e,r);return e}return r};try{Array.prototype.slice.call(document.documentElement.childNodes,0)[0].nodeType}catch(l){a=function(u,t){var r=t||[],s=0;if(d.call(u)==="[object Array]"){Array.prototype.push.apply(r,u)}else{if(typeof u.length==="number"){for(var e=u.length;s<e;s++){r.push(u[s])}}else{for(;u[s];s++){r.push(u[s])}}}return r}}var c;if(document.documentElement.compareDocumentPosition){c=function(r,e){if(!r.compareDocumentPosition||!e.compareDocumentPosition){if(r==e){o=true}return r.compareDocumentPosition?-1:1}var s=r.compareDocumentPosition(e)&4?-1:r===e?0:1;if(s===0){o=true}return s}}else{if("sourceIndex" in document.documentElement){c=function(r,e){if(!r.sourceIndex||!e.sourceIndex){if(r==e){o=true}return r.sourceIndex?-1:1}var s=r.sourceIndex-e.sourceIndex;if(s===0){o=true}return s}}else{if(document.createRange){c=function(t,r){if(!t.ownerDocument||!r.ownerDocument){if(t==r){o=true}return t.ownerDocument?-1:1}var s=t.ownerDocument.createRange(),e=r.ownerDocument.createRange();s.setStart(t,0);s.setEnd(t,0);e.setStart(r,0);e.setEnd(r,0);var u=s.compareBoundaryPoints(Range.START_TO_END,e);if(u===0){o=true}return u}}}}b.getText=function(e){var r="",t;for(var s=0;e[s];s++){t=e[s];if(t.nodeType===3||t.nodeType===4){r+=t.nodeValue}else{if(t.nodeType!==8){r+=b.getText(t.childNodes)}}}return r};(function(){var r=document.createElement("div"),s="script"+(new Date()).getTime();r.innerHTML="<a name='"+s+"'/>";var e=document.documentElement;e.insertBefore(r,e.firstChild);if(document.getElementById(s)){f.find.ID=function(u,v,x){if(typeof v.getElementById!=="undefined"&&!x){var t=v.getElementById(u[1]);return t?t.id===u[1]||typeof t.getAttributeNode!=="undefined"&&t.getAttributeNode("id").nodeValue===u[1]?[t]:undefined:[]}};f.filter.ID=function(v,t){var u=typeof v.getAttributeNode!=="undefined"&&v.getAttributeNode("id");return v.nodeType===1&&u&&u.nodeValue===t}}e.removeChild(r);e=r=null})();(function(){var e=document.createElement("div");e.appendChild(document.createComment(""));if(e.getElementsByTagName("*").length>0){f.find.TAG=function(r,v){var u=v.getElementsByTagName(r[1]);if(r[1]==="*"){var t=[];for(var s=0;u[s];s++){if(u[s].nodeType===1){t.push(u[s])}}u=t}return u}}e.innerHTML="<a href='#'></a>";if(e.firstChild&&typeof e.firstChild.getAttribute!=="undefined"&&e.firstChild.getAttribute("href")!=="#"){f.attrHandle.href=function(r){return r.getAttribute("href",2)}}e=null})();if(document.querySelectorAll){(function(){var e=b,s=document.createElement("div");s.innerHTML="<p class='TEST'></p>";if(s.querySelectorAll&&s.querySelectorAll(".TEST").length===0){return}b=function(x,v,t,u){v=v||document;if(!u&&v.nodeType===9&&!b.isXML(v)){try{return a(v.querySelectorAll(x),t)}catch(y){}}return e(x,v,t,u)};for(var r in e){b[r]=e[r]}s=null})()}(function(){var e=document.createElement("div");e.innerHTML="<div class='test e'></div><div class='test'></div>";if(!e.getElementsByClassName||e.getElementsByClassName("e").length===0){return}e.lastChild.className="e";if(e.getElementsByClassName("e").length===1){return}f.order.splice(1,0,"CLASS");f.find.CLASS=function(r,s,t){if(typeof s.getElementsByClassName!=="undefined"&&!t){return s.getElementsByClassName(r[1])}};e=null})();function n(r,x,v,A,y,z){for(var t=0,s=A.length;t<s;t++){var e=A[t];if(e){e=e[r];var u=false;while(e){if(e.sizcache===v){u=A[e.sizset];break}if(e.nodeType===1&&!z){e.sizcache=v;e.sizset=t}if(e.nodeName.toLowerCase()===x){u=e;break}e=e[r]}A[t]=u}}}function q(r,x,v,A,y,z){for(var t=0,s=A.length;t<s;t++){var e=A[t];if(e){e=e[r];var u=false;while(e){if(e.sizcache===v){u=A[e.sizset];break}if(e.nodeType===1){if(!z){e.sizcache=v;e.sizset=t}if(typeof x!=="string"){if(e===x){u=true;break}}else{if(b.filter(x,[e]).length>0){u=e;break}}}e=e[r]}A[t]=u}}}b.contains=document.compareDocumentPosition?function(r,e){return !!(r.compareDocumentPosition(e)&16)}:function(r,e){return r!==e&&(r.contains?r.contains(e):true)};b.isXML=function(e){var r=(e?e.ownerDocument||e:0).documentElement;return r?r.nodeName!=="HTML":false};var h=function(e,y){var t=[],u="",v,s=y.nodeType?[y]:y;while((v=f.match.PSEUDO.exec(e))){u+=v[0];e=e.replace(f.match.PSEUDO,"")}e=f.relative[e]?e+"*":e;for(var x=0,r=s.length;x<r;x++){b(e,s[x],t)}return b.filter(u,t)};window.tinymce.dom.Sizzle=b})();(function(d){var f=d.each,c=d.DOM,b=d.isIE,e=d.isWebKit,a;d.create("tinymce.dom.EventUtils",{EventUtils:function(){this.inits=[];this.events=[]},add:function(m,p,l,j){var g,h=this,i=h.events,k;if(p instanceof Array){k=[];f(p,function(o){k.push(h.add(m,o,l,j))});return k}if(m&&m.hasOwnProperty&&m instanceof Array){k=[];f(m,function(n){n=c.get(n);k.push(h.add(n,p,l,j))});return k}m=c.get(m);if(!m){return}g=function(n){if(h.disabled){return}n=n||window.event;if(n&&b){if(!n.target){n.target=n.srcElement}d.extend(n,h._stoppers)}if(!j){return l(n)}return l.call(j,n)};if(p=="unload"){d.unloads.unshift({func:g});return g}if(p=="init"){if(h.domLoaded){g()}else{h.inits.push(g)}return g}i.push({obj:m,name:p,func:l,cfunc:g,scope:j});h._add(m,p,g);return l},remove:function(l,m,k){var h=this,g=h.events,i=false,j;if(l&&l.hasOwnProperty&&l instanceof Array){j=[];f(l,function(n){n=c.get(n);j.push(h.remove(n,m,k))});return j}l=c.get(l);f(g,function(o,n){if(o.obj==l&&o.name==m&&(!k||(o.func==k||o.cfunc==k))){g.splice(n,1);h._remove(l,m,o.cfunc);i=true;return false}});return i},clear:function(l){var j=this,g=j.events,h,k;if(l){l=c.get(l);for(h=g.length-1;h>=0;h--){k=g[h];if(k.obj===l){j._remove(k.obj,k.name,k.cfunc);k.obj=k.cfunc=null;g.splice(h,1)}}}},cancel:function(g){if(!g){return false}this.stop(g);return this.prevent(g)},stop:function(g){if(g.stopPropagation){g.stopPropagation()}else{g.cancelBubble=true}return false},prevent:function(g){if(g.preventDefault){g.preventDefault()}else{g.returnValue=false}return false},destroy:function(){var g=this;f(g.events,function(j,h){g._remove(j.obj,j.name,j.cfunc);j.obj=j.cfunc=null});g.events=[];g=null},_add:function(h,i,g){if(h.attachEvent){h.attachEvent("on"+i,g)}else{if(h.addEventListener){h.addEventListener(i,g,false)}else{h["on"+i]=g}}},_remove:function(i,j,h){if(i){try{if(i.detachEvent){i.detachEvent("on"+j,h)}else{if(i.removeEventListener){i.removeEventListener(j,h,false)}else{i["on"+j]=null}}}catch(g){}}},_pageInit:function(h){var g=this;if(g.domLoaded){return}g.domLoaded=true;f(g.inits,function(i){i()});g.inits=[]},_wait:function(i){var g=this,h=i.document;if(i.tinyMCE_GZ&&tinyMCE_GZ.loaded){g.domLoaded=1;return}if(h.attachEvent){h.attachEvent("onreadystatechange",function(){if(h.readyState==="complete"){h.detachEvent("onreadystatechange",arguments.callee);g._pageInit(i)}});if(h.documentElement.doScroll&&i==i.top){(function(){if(g.domLoaded){return}try{h.documentElement.doScroll("left")}catch(j){setTimeout(arguments.callee,0);return}g._pageInit(i)})()}}else{if(h.addEventListener){g._add(i,"DOMContentLoaded",function(){g._pageInit(i)})}}g._add(i,"load",function(){g._pageInit(i)})},_stoppers:{preventDefault:function(){this.returnValue=false},stopPropagation:function(){this.cancelBubble=true}}});a=d.dom.Event=new d.dom.EventUtils();a._wait(window);d.addUnload(function(){a.destroy()})})(tinymce);(function(a){a.dom.Element=function(f,d){var b=this,e,c;b.settings=d=d||{};b.id=f;b.dom=e=d.dom||a.DOM;if(!a.isIE){c=e.get(b.id)}a.each(("getPos,getRect,getParent,add,setStyle,getStyle,setStyles,setAttrib,setAttribs,getAttrib,addClass,removeClass,hasClass,getOuterHTML,setOuterHTML,remove,show,hide,isHidden,setHTML,get").split(/,/),function(g){b[g]=function(){var h=[f],j;for(j=0;j<arguments.length;j++){h.push(arguments[j])}h=e[g].apply(e,h);b.update(g);return h}});a.extend(b,{on:function(i,h,g){return a.dom.Event.add(b.id,i,h,g)},getXY:function(){return{x:parseInt(b.getStyle("left")),y:parseInt(b.getStyle("top"))}},getSize:function(){var g=e.get(b.id);return{w:parseInt(b.getStyle("width")||g.clientWidth),h:parseInt(b.getStyle("height")||g.clientHeight)}},moveTo:function(g,h){b.setStyles({left:g,top:h})},moveBy:function(g,i){var h=b.getXY();b.moveTo(h.x+g,h.y+i)},resizeTo:function(g,i){b.setStyles({width:g,height:i})},resizeBy:function(g,j){var i=b.getSize();b.resizeTo(i.w+g,i.h+j)},update:function(h){var g;if(a.isIE6&&d.blocker){h=h||"";if(h.indexOf("get")===0||h.indexOf("has")===0||h.indexOf("is")===0){return}if(h=="remove"){e.remove(b.blocker);return}if(!b.blocker){b.blocker=e.uniqueId();g=e.add(d.container||e.getRoot(),"iframe",{id:b.blocker,style:"position:absolute;",frameBorder:0,src:'javascript:""'});e.setStyle(g,"opacity",0)}else{g=e.get(b.blocker)}e.setStyles(g,{left:b.getStyle("left",1),top:b.getStyle("top",1),width:b.getStyle("width",1),height:b.getStyle("height",1),display:b.getStyle("display",1),zIndex:parseInt(b.getStyle("zIndex",1)||0)-1})}}})}})(tinymce);(function(c){function e(f){return f.replace(/[\n\r]+/g,"")}var b=c.is,a=c.isIE,d=c.each;c.create("tinymce.dom.Selection",{Selection:function(i,h,g){var f=this;f.dom=i;f.win=h;f.serializer=g;d(["onBeforeSetContent","onBeforeGetContent","onSetContent","onGetContent"],function(j){f[j]=new c.util.Dispatcher(f)});if(!f.win.getSelection){f.tridentSel=new c.dom.TridentSelection(f)}if(c.isIE&&i.boxModel){this._fixIESelection()}c.addUnload(f.destroy,f)},getContent:function(g){var f=this,h=f.getRng(),l=f.dom.create("body"),j=f.getSel(),i,k,m;g=g||{};i=k="";g.get=true;g.format=g.format||"html";f.onBeforeGetContent.dispatch(f,g);if(g.format=="text"){return f.isCollapsed()?"":(h.text||(j.toString?j.toString():""))}if(h.cloneContents){m=h.cloneContents();if(m){l.appendChild(m)}}else{if(b(h.item)||b(h.htmlText)){l.innerHTML=h.item?h.item(0).outerHTML:h.htmlText}else{l.innerHTML=h.toString()}}if(/^\s/.test(l.innerHTML)){i=" "}if(/\s+$/.test(l.innerHTML)){k=" "}g.getInner=true;g.content=f.isCollapsed()?"":i+f.serializer.serialize(l,g)+k;f.onGetContent.dispatch(f,g);return g.content},setContent:function(k,j){var h=this,f=h.getRng(),i,l=h.win.document,m,g;j=j||{format:"html"};j.set=true;k=j.content=k;if(!j.no_events){h.onBeforeSetContent.dispatch(h,j)}k=j.content;if(f.insertNode){k+='<span id="__caret">_</span>';if(f.startContainer==l&&f.endContainer==l){l.body.innerHTML=k}else{f.deleteContents();if(l.body.childNodes.length==0){l.body.innerHTML=k}else{if(f.createContextualFragment){f.insertNode(f.createContextualFragment(k))}else{m=l.createDocumentFragment();g=l.createElement("div");m.appendChild(g);g.outerHTML=k;f.insertNode(m)}}}i=h.dom.get("__caret");f=l.createRange();f.setStartBefore(i);f.setEndBefore(i);h.setRng(f);h.dom.remove("__caret");h.setRng(f)}else{if(f.item){l.execCommand("Delete",false,null);f=h.getRng()}f.pasteHTML(k)}if(!j.no_events){h.onSetContent.dispatch(h,j)}},getStart:function(){var g=this.getRng(),h,f,j,i;if(g.duplicate||g.item){if(g.item){return g.item(0)}j=g.duplicate();j.collapse(1);h=j.parentElement();f=i=g.parentElement();while(i=i.parentNode){if(i==h){h=f;break}}return h}else{h=g.startContainer;if(h.nodeType==1&&h.hasChildNodes()){h=h.childNodes[Math.min(h.childNodes.length-1,g.startOffset)]}if(h&&h.nodeType==3){return h.parentNode}return h}},getEnd:function(){var g=this,h=g.getRng(),i,f;if(h.duplicate||h.item){if(h.item){return h.item(0)}h=h.duplicate();h.collapse(0);i=h.parentElement();if(i&&i.nodeName=="BODY"){return i.lastChild||i}return i}else{i=h.endContainer;f=h.endOffset;if(i.nodeType==1&&i.hasChildNodes()){i=i.childNodes[f>0?f-1:f]}if(i&&i.nodeType==3){return i.parentNode}return i}},getBookmark:function(r,s){var v=this,m=v.dom,g,j,i,n,h,o,p,l="\uFEFF",u;function f(x,y){var t=0;d(m.select(x),function(A,z){if(A==y){t=z}});return t}if(r==2){function k(){var x=v.getRng(true),t=m.getRoot(),y={};function z(C,H){var B=C[H?"startContainer":"endContainer"],G=C[H?"startOffset":"endOffset"],A=[],D,F,E=0;if(B.nodeType==3){if(s){for(D=B.previousSibling;D&&D.nodeType==3;D=D.previousSibling){G+=D.nodeValue.length}}A.push(G)}else{F=B.childNodes;if(G>=F.length&&F.length){E=1;G=Math.max(0,F.length-1)}A.push(v.dom.nodeIndex(F[G],s)+E)}for(;B&&B!=t;B=B.parentNode){A.push(v.dom.nodeIndex(B,s))}return A}y.start=z(x,true);if(!v.isCollapsed()){y.end=z(x)}return y}return k()}if(r){return{rng:v.getRng()}}g=v.getRng();i=m.uniqueId();n=tinyMCE.activeEditor.selection.isCollapsed();u="overflow:hidden;line-height:0px";if(g.duplicate||g.item){if(!g.item){j=g.duplicate();try{g.collapse();g.pasteHTML('<span data-mce-type="bookmark" id="'+i+'_start" style="'+u+'">'+l+"</span>");if(!n){j.collapse(false);g.moveToElementText(j.parentElement());if(g.compareEndPoints("StartToEnd",j)==0){j.move("character",-1)}j.pasteHTML('<span data-mce-type="bookmark" id="'+i+'_end" style="'+u+'">'+l+"</span>")}}catch(q){return null}}else{o=g.item(0);h=o.nodeName;return{name:h,index:f(h,o)}}}else{o=v.getNode();h=o.nodeName;if(h=="IMG"){return{name:h,index:f(h,o)}}j=g.cloneRange();if(!n){j.collapse(false);j.insertNode(m.create("span",{"data-mce-type":"bookmark",id:i+"_end",style:u},l))}g.collapse(true);g.insertNode(m.create("span",{"data-mce-type":"bookmark",id:i+"_start",style:u},l))}v.moveToBookmark({id:i,keep:1});return{id:i}},moveToBookmark:function(n){var r=this,l=r.dom,i,h,f,q,j,s,o,p;if(r.tridentSel){r.tridentSel.destroy()}if(n){if(n.start){f=l.createRng();q=l.getRoot();function g(z){var t=n[z?"start":"end"],v,x,y,u;if(t){y=t[0];for(x=q,v=t.length-1;v>=1;v--){u=x.childNodes;if(t[v]>u.length-1){return}x=u[t[v]]}if(x.nodeType===3){y=Math.min(t[0],x.nodeValue.length)}if(x.nodeType===1){y=Math.min(t[0],x.childNodes.length)}if(z){f.setStart(x,y)}else{f.setEnd(x,y)}}return true}if(g(true)&&g()){r.setRng(f)}}else{if(n.id){function k(A){var u=l.get(n.id+"_"+A),z,t,x,y,v=n.keep;if(u){z=u.parentNode;if(A=="start"){if(!v){t=l.nodeIndex(u)}else{z=u.firstChild;t=1}j=s=z;o=p=t}else{if(!v){t=l.nodeIndex(u)}else{z=u.firstChild;t=1}s=z;p=t}if(!v){y=u.previousSibling;x=u.nextSibling;d(c.grep(u.childNodes),function(B){if(B.nodeType==3){B.nodeValue=B.nodeValue.replace(/\uFEFF/g,"")}});while(u=l.get(n.id+"_"+A)){l.remove(u,1)}if(y&&x&&y.nodeType==x.nodeType&&y.nodeType==3&&!c.isOpera){t=y.nodeValue.length;y.appendData(x.nodeValue);l.remove(x);if(A=="start"){j=s=y;o=p=t}else{s=y;p=t}}}}}function m(t){if(l.isBlock(t)&&!t.innerHTML){t.innerHTML=!a?'<br data-mce-bogus="1" />':" "}return t}k("start");k("end");if(j){f=l.createRng();f.setStart(m(j),o);f.setEnd(m(s),p);r.setRng(f)}}else{if(n.name){r.select(l.select(n.name)[n.index])}else{if(n.rng){r.setRng(n.rng)}}}}}},select:function(k,j){var i=this,l=i.dom,g=l.createRng(),f;if(k){f=l.nodeIndex(k);g.setStart(k.parentNode,f);g.setEnd(k.parentNode,f+1);if(j){function h(m,o){var n=new c.dom.TreeWalker(m,m);do{if(m.nodeType==3&&c.trim(m.nodeValue).length!=0){if(o){g.setStart(m,0)}else{g.setEnd(m,m.nodeValue.length)}return}if(m.nodeName=="BR"){if(o){g.setStartBefore(m)}else{g.setEndBefore(m)}return}}while(m=(o?n.next():n.prev()))}h(k,1);h(k)}i.setRng(g)}return k},isCollapsed:function(){var f=this,h=f.getRng(),g=f.getSel();if(!h||h.item){return false}if(h.compareEndPoints){return h.compareEndPoints("StartToEnd",h)===0}return !g||h.collapsed},collapse:function(f){var h=this,g=h.getRng(),i;if(g.item){i=g.item(0);g=h.win.document.body.createTextRange();g.moveToElementText(i)}g.collapse(!!f);h.setRng(g)},getSel:function(){var g=this,f=this.win;return f.getSelection?f.getSelection():f.document.selection},getRng:function(l){var g=this,h,i,k,j=g.win.document;if(l&&g.tridentSel){return g.tridentSel.getRangeAt(0)}try{if(h=g.getSel()){i=h.rangeCount>0?h.getRangeAt(0):(h.createRange?h.createRange():j.createRange())}}catch(f){}if(c.isIE&&i&&i.setStart&&j.selection.createRange().item){k=j.selection.createRange().item(0);i=j.createRange();i.setStartBefore(k);i.setEndAfter(k)}if(!i){i=j.createRange?j.createRange():j.body.createTextRange()}if(g.selectedRange&&g.explicitRange){if(i.compareBoundaryPoints(i.START_TO_START,g.selectedRange)===0&&i.compareBoundaryPoints(i.END_TO_END,g.selectedRange)===0){i=g.explicitRange}else{g.selectedRange=null;g.explicitRange=null}}return i},setRng:function(i){var h,g=this;if(!g.tridentSel){h=g.getSel();if(h){g.explicitRange=i;try{h.removeAllRanges()}catch(f){}h.addRange(i);g.selectedRange=h.getRangeAt(0)}}else{if(i.cloneRange){g.tridentSel.addRange(i);return}try{i.select()}catch(f){}}},setNode:function(g){var f=this;f.setContent(f.dom.getOuterHTML(g));return g},getNode:function(){var h=this,g=h.getRng(),i=h.getSel(),l,k=g.startContainer,f=g.endContainer;if(!g){return h.dom.getRoot()}if(g.setStart){l=g.commonAncestorContainer;if(!g.collapsed){if(g.startContainer==g.endContainer){if(g.endOffset-g.startOffset<2){if(g.startContainer.hasChildNodes()){l=g.startContainer.childNodes[g.startOffset]}}}if(k.nodeType===3&&f.nodeType===3){function j(p,m){var o=p;while(p&&p.nodeType===3&&p.length===0){p=m?p.nextSibling:p.previousSibling}return p||o}if(k.length===g.startOffset){k=j(k.nextSibling,true)}else{k=k.parentNode}if(g.endOffset===0){f=j(f.previousSibling,false)}else{f=f.parentNode}if(k&&k===f){return k}}}if(l&&l.nodeType==3){return l.parentNode}return l}return g.item?g.item(0):g.parentElement()},getSelectedBlocks:function(g,f){var i=this,j=i.dom,m,h,l,k=[];m=j.getParent(g||i.getStart(),j.isBlock);h=j.getParent(f||i.getEnd(),j.isBlock);if(m){k.push(m)}if(m&&h&&m!=h){l=m;while((l=l.nextSibling)&&l!=h){if(j.isBlock(l)){k.push(l)}}}if(h&&m!=h){k.push(h)}return k},destroy:function(g){var f=this;f.win=null;if(f.tridentSel){f.tridentSel.destroy()}if(!g){c.removeUnload(f.destroy)}},_fixIESelection:function(){var g=this.dom,m=g.doc,h=m.body,j,n,f;m.documentElement.unselectable=true;function i(o,r){var p=h.createTextRange();try{p.moveToPoint(o,r)}catch(q){p=null}return p}function l(p){var o;if(p.button){o=i(p.x,p.y);if(o){if(o.compareEndPoints("StartToStart",n)>0){o.setEndPoint("StartToStart",n)}else{o.setEndPoint("EndToEnd",n)}o.select()}}else{k()}}function k(){var o=m.selection.createRange();if(n&&!o.item&&o.compareEndPoints("StartToEnd",o)===0){n.select()}g.unbind(m,"mouseup",k);g.unbind(m,"mousemove",l);n=j=0}g.bind(m,["mousedown","contextmenu"],function(o){if(o.target.nodeName==="HTML"){if(j){k()}f=m.documentElement;if(f.scrollHeight>f.clientHeight){return}j=1;n=i(o.x,o.y);if(n){g.bind(m,"mouseup",k);g.bind(m,"mousemove",l);g.win.focus();n.select()}}})}})})(tinymce);(function(a){a.dom.Serializer=function(e,i,f){var h,b,d=a.isIE,g=a.each,c;if(!e.apply_source_formatting){e.indent=false}e.remove_trailing_brs=true;i=i||a.DOM;f=f||new a.html.Schema(e);e.entity_encoding=e.entity_encoding||"named";h=new a.util.Dispatcher(self);b=new a.util.Dispatcher(self);c=new a.html.DomParser(e,f);c.addAttributeFilter("src,href,style",function(k,j){var o=k.length,l,q,n="data-mce-"+j,p=e.url_converter,r=e.url_converter_scope,m;while(o--){l=k[o];q=l.attributes.map[n];if(q!==m){l.attr(j,q.length>0?q:null);l.attr(n,null)}else{q=l.attributes.map[j];if(j==="style"){q=i.serializeStyle(i.parseStyle(q),l.name)}else{if(p){q=p.call(r,q,j,l.name)}}l.attr(j,q.length>0?q:null)}}});c.addAttributeFilter("class",function(j,k){var l=j.length,m,n;while(l--){m=j[l];n=m.attr("class").replace(/\s*mce(Item\w+|Selected)\s*/g,"");m.attr("class",n.length>0?n:null)}});c.addAttributeFilter("data-mce-type",function(j,l,k){var m=j.length,n;while(m--){n=j[m];if(n.attributes.map["data-mce-type"]==="bookmark"&&!k.cleanup){n.remove()}}});c.addNodeFilter("script,style",function(k,l){var m=k.length,n,o;function j(p){return p.replace(/(<!--\[CDATA\[|\]\]-->)/g,"\n").replace(/^[\r\n]*|[\r\n]*$/g,"").replace(/^\s*(\/\/\s*<!--|\/\/\s*<!\[CDATA\[|<!--|<!\[CDATA\[)[\r\n]*/g,"").replace(/\s*(\/\/\s*\]\]>|\/\/\s*-->|\]\]>|-->|\]\]-->)\s*$/g,"")}while(m--){n=k[m];o=n.firstChild?n.firstChild.value:"";if(l==="script"){n.attr("type",(n.attr("type")||"text/javascript").replace(/^mce\-/,""));if(o.length>0){n.firstChild.value="// <![CDATA[\n"+j(o)+"\n// ]]>"}}else{if(o.length>0){n.firstChild.value="<!--\n"+j(o)+"\n-->"}}}});c.addNodeFilter("#comment",function(j,k){var l=j.length,m;while(l--){m=j[l];if(m.value.indexOf("[CDATA[")===0){m.name="#cdata";m.type=4;m.value=m.value.replace(/^\[CDATA\[|\]\]$/g,"")}else{if(m.value.indexOf("mce:protected ")===0){m.name="#text";m.type=3;m.raw=true;m.value=unescape(m.value).substr(14)}}}});c.addNodeFilter("xml:namespace,input",function(j,k){var l=j.length,m;while(l--){m=j[l];if(m.type===7){m.remove()}else{if(m.type===1){if(k==="input"&&!("type" in m.attributes.map)){m.attr("type","text")}}}}});if(e.fix_list_elements){c.addNodeFilter("ul,ol",function(k,l){var m=k.length,n,j;while(m--){n=k[m];j=n.parent;if(j.name==="ul"||j.name==="ol"){if(n.prev&&n.prev.name==="li"){n.prev.append(n)}}}})}c.addAttributeFilter("data-mce-src,data-mce-href,data-mce-style",function(j,k){var l=j.length;while(l--){j[l].attr(k,null)}});return{schema:f,addNodeFilter:c.addNodeFilter,addAttributeFilter:c.addAttributeFilter,onPreProcess:h,onPostProcess:b,serialize:function(o,m){var l,p,k,j,n;if(d&&i.select("script,style,select").length>0){n=o.innerHTML;o=o.cloneNode(false);i.setHTML(o,n)}else{o=o.cloneNode(true)}l=o.ownerDocument.implementation;if(l.createHTMLDocument){p=l.createHTMLDocument("");g(o.nodeName=="BODY"?o.childNodes:[o],function(q){p.body.appendChild(p.importNode(q,true))});if(o.nodeName!="BODY"){o=p.body.firstChild}else{o=p.body}k=i.doc;i.doc=p}m=m||{};m.format=m.format||"html";if(!m.no_events){m.node=o;h.dispatch(self,m)}j=new a.html.Serializer(e,f);m.content=j.serialize(c.parse(m.getInner?o.innerHTML:a.trim(i.getOuterHTML(o),m),m));if(!m.cleanup){m.content=m.content.replace(/\uFEFF/g,"")}if(!m.no_events){b.dispatch(self,m)}if(k){i.doc=k}m.node=null;return m.content},addRules:function(j){f.addValidElements(j)},setRules:function(j){f.setValidElements(j)}}}})(tinymce);(function(a){a.dom.ScriptLoader=function(h){var c=0,k=1,i=2,l={},j=[],f={},d=[],g=0,e;function b(m,v){var x=this,q=a.DOM,s,o,r,n;function p(){q.remove(n);if(s){s.onreadystatechange=s.onload=s=null}v()}function u(){if(typeof(console)!=="undefined"&&console.log){console.log("Failed to load: "+m)}}n=q.uniqueId();if(a.isIE6){o=new a.util.URI(m);r=location;if(o.host==r.hostname&&o.port==r.port&&(o.protocol+":")==r.protocol&&o.protocol.toLowerCase()!="file"){a.util.XHR.send({url:a._addVer(o.getURI()),success:function(y){var t=q.create("script",{type:"text/javascript"});t.text=y;document.getElementsByTagName("head")[0].appendChild(t);q.remove(t);p()},error:u});return}}s=q.create("script",{id:n,type:"text/javascript",src:a._addVer(m)});if(!a.isIE){s.onload=p}s.onerror=u;if(!a.isOpera){s.onreadystatechange=function(){var t=s.readyState;if(t=="complete"||t=="loaded"){p()}}}(document.getElementsByTagName("head")[0]||document.body).appendChild(s)}this.isDone=function(m){return l[m]==i};this.markDone=function(m){l[m]=i};this.add=this.load=function(m,q,n){var o,p=l[m];if(p==e){j.push(m);l[m]=c}if(q){if(!f[m]){f[m]=[]}f[m].push({func:q,scope:n||this})}};this.loadQueue=function(n,m){this.loadScripts(j,n,m)};this.loadScripts=function(m,q,p){var o;function n(r){a.each(f[r],function(s){s.func.call(s.scope)});f[r]=e}d.push({func:q,scope:p||this});o=function(){var r=a.grep(m);m.length=0;a.each(r,function(s){if(l[s]==i){n(s);return}if(l[s]!=k){l[s]=k;g++;b(s,function(){l[s]=i;g--;n(s);o()})}});if(!g){a.each(d,function(s){s.func.call(s.scope)});d.length=0}};o()}};a.ScriptLoader=new a.dom.ScriptLoader()})(tinymce);tinymce.dom.TreeWalker=function(a,c){var b=a;function d(i,f,e,j){var h,g;if(i){if(!j&&i[f]){return i[f]}if(i!=c){h=i[e];if(h){return h}for(g=i.parentNode;g&&g!=c;g=g.parentNode){h=g[e];if(h){return h}}}}}this.current=function(){return b};this.next=function(e){return(b=d(b,"firstChild","nextSibling",e))};this.prev=function(e){return(b=d(b,"lastChild","previousSibling",e))}};(function(a){a.dom.RangeUtils=function(c){var b="\uFEFF";this.walk=function(d,r){var h=d.startContainer,k=d.startOffset,s=d.endContainer,l=d.endOffset,i,f,n,g,q,p,e;e=c.select("td.mceSelected,th.mceSelected");if(e.length>0){a.each(e,function(t){r([t])});return}function o(v,u,t){var x=[];for(;v&&v!=t;v=v[u]){x.push(v)}return x}function m(u,t){do{if(u.parentNode==t){return u}u=u.parentNode}while(u)}function j(v,u,x){var t=x?"nextSibling":"previousSibling";for(g=v,q=g.parentNode;g&&g!=u;g=q){q=g.parentNode;p=o(g==v?g:g[t],t);if(p.length){if(!x){p.reverse()}r(p)}}}if(h.nodeType==1&&h.hasChildNodes()){h=h.childNodes[k]}if(s.nodeType==1&&s.hasChildNodes()){s=s.childNodes[Math.min(l-1,s.childNodes.length-1)]}i=c.findCommonAncestor(h,s);if(h==s){return r([h])}for(g=h;g;g=g.parentNode){if(g==s){return j(h,i,true)}if(g==i){break}}for(g=s;g;g=g.parentNode){if(g==h){return j(s,i)}if(g==i){break}}f=m(h,i)||h;n=m(s,i)||s;j(h,f,true);p=o(f==h?f:f.nextSibling,"nextSibling",n==s?n.nextSibling:n);if(p.length){r(p)}j(s,n)}};a.dom.RangeUtils.compareRanges=function(c,b){if(c&&b){if(c.item||c.duplicate){if(c.item&&b.item&&c.item(0)===b.item(0)){return true}if(c.isEqual&&b.isEqual&&b.isEqual(c)){return true}}else{return c.startContainer==b.startContainer&&c.startOffset==b.startOffset}}return false}})(tinymce);(function(b){var a=b.dom.Event,c=b.each;b.create("tinymce.ui.KeyboardNavigation",{KeyboardNavigation:function(e,f){var p=this,m=e.root,l=e.items,n=e.enableUpDown,i=e.enableLeftRight||!e.enableUpDown,k=e.excludeFromTabOrder,j,h,o,d,g;f=f||b.DOM;j=function(q){g=q.target.id};h=function(q){f.setAttrib(q.target.id,"tabindex","-1")};d=function(q){var r=f.get(g);f.setAttrib(r,"tabindex","0");r.focus()};p.focus=function(){f.get(g).focus()};p.destroy=function(){c(l,function(q){f.unbind(f.get(q.id),"focus",j);f.unbind(f.get(q.id),"blur",h)});f.unbind(f.get(m),"focus",d);f.unbind(f.get(m),"keydown",o);l=f=m=p.focus=j=h=o=d=null;p.destroy=function(){}};p.moveFocus=function(u,r){var q=-1,t=p.controls,s;if(!g){return}c(l,function(x,v){if(x.id===g){q=v;return false}});q+=u;if(q<0){q=l.length-1}else{if(q>=l.length){q=0}}s=l[q];f.setAttrib(g,"tabindex","-1");f.setAttrib(s.id,"tabindex","0");f.get(s.id).focus();if(e.actOnFocus){e.onAction(s.id)}if(r){a.cancel(r)}};o=function(y){var u=37,t=39,x=38,z=40,q=27,s=14,r=13,v=32;switch(y.keyCode){case u:if(i){p.moveFocus(-1)}break;case t:if(i){p.moveFocus(1)}break;case x:if(n){p.moveFocus(-1)}break;case z:if(n){p.moveFocus(1)}break;case q:if(e.onCancel){e.onCancel();a.cancel(y)}break;case s:case r:case v:if(e.onAction){e.onAction(g);a.cancel(y)}break}};c(l,function(s,q){var r;if(!s.id){s.id=f.uniqueId("_mce_item_")}if(k){f.bind(s.id,"blur",h);r="-1"}else{r=(q===0?"0":"-1")}f.setAttrib(s.id,"tabindex",r);f.bind(f.get(s.id),"focus",j)});if(l[0]){g=l[0].id}f.setAttrib(m,"tabindex","-1");f.bind(f.get(m),"focus",d);f.bind(f.get(m),"keydown",o)}})})(tinymce);(function(c){var b=c.DOM,a=c.is;c.create("tinymce.ui.Control",{Control:function(f,e,d){this.id=f;this.settings=e=e||{};this.rendered=false;this.onRender=new c.util.Dispatcher(this);this.classPrefix="";this.scope=e.scope||this;this.disabled=0;this.active=0;this.editor=d},setAriaProperty:function(f,e){var d=b.get(this.id+"_aria")||b.get(this.id);if(d){b.setAttrib(d,"aria-"+f,!!e)}},focus:function(){b.get(this.id).focus()},setDisabled:function(d){if(d!=this.disabled){this.setAriaProperty("disabled",d);this.setState("Disabled",d);this.setState("Enabled",!d);this.disabled=d}},isDisabled:function(){return this.disabled},setActive:function(d){if(d!=this.active){this.setState("Active",d);this.active=d;this.setAriaProperty("pressed",d)}},isActive:function(){return this.active},setState:function(f,d){var e=b.get(this.id);f=this.classPrefix+f;if(d){b.addClass(e,f)}else{b.removeClass(e,f)}},isRendered:function(){return this.rendered},renderHTML:function(){},renderTo:function(d){b.setHTML(d,this.renderHTML())},postRender:function(){var e=this,d;if(a(e.disabled)){d=e.disabled;e.disabled=-1;e.setDisabled(d)}if(a(e.active)){d=e.active;e.active=-1;e.setActive(d)}},remove:function(){b.remove(this.id);this.destroy()},destroy:function(){c.dom.Event.clear(this.id)}})})(tinymce);tinymce.create("tinymce.ui.Container:tinymce.ui.Control",{Container:function(c,b,a){this.parent(c,b,a);this.controls=[];this.lookup={}},add:function(a){this.lookup[a.id]=a;this.controls.push(a);return a},get:function(a){return this.lookup[a]}});tinymce.create("tinymce.ui.Separator:tinymce.ui.Control",{Separator:function(b,a){this.parent(b,a);this.classPrefix="mceSeparator";this.setDisabled(true)},renderHTML:function(){return tinymce.DOM.createHTML("span",{"class":this.classPrefix,role:"separator","aria-orientation":"vertical",tabindex:"-1"})}});(function(d){var c=d.is,b=d.DOM,e=d.each,a=d.walk;d.create("tinymce.ui.MenuItem:tinymce.ui.Control",{MenuItem:function(g,f){this.parent(g,f);this.classPrefix="mceMenuItem"},setSelected:function(f){this.setState("Selected",f);this.setAriaProperty("checked",!!f);this.selected=f},isSelected:function(){return this.selected},postRender:function(){var f=this;f.parent();if(c(f.selected)){f.setSelected(f.selected)}}})})(tinymce);(function(d){var c=d.is,b=d.DOM,e=d.each,a=d.walk;d.create("tinymce.ui.Menu:tinymce.ui.MenuItem",{Menu:function(h,g){var f=this;f.parent(h,g);f.items={};f.collapsed=false;f.menuCount=0;f.onAddItem=new d.util.Dispatcher(this)},expand:function(g){var f=this;if(g){a(f,function(h){if(h.expand){h.expand()}},"items",f)}f.collapsed=false},collapse:function(g){var f=this;if(g){a(f,function(h){if(h.collapse){h.collapse()}},"items",f)}f.collapsed=true},isCollapsed:function(){return this.collapsed},add:function(f){if(!f.settings){f=new d.ui.MenuItem(f.id||b.uniqueId(),f)}this.onAddItem.dispatch(this,f);return this.items[f.id]=f},addSeparator:function(){return this.add({separator:true})},addMenu:function(f){if(!f.collapse){f=this.createMenu(f)}this.menuCount++;return this.add(f)},hasMenus:function(){return this.menuCount!==0},remove:function(f){delete this.items[f.id]},removeAll:function(){var f=this;a(f,function(g){if(g.removeAll){g.removeAll()}else{g.remove()}g.destroy()},"items",f);f.items={}},createMenu:function(g){var f=new d.ui.Menu(g.id||b.uniqueId(),g);f.onAddItem.add(this.onAddItem.dispatch,this.onAddItem);return f}})})(tinymce);(function(e){var d=e.is,c=e.DOM,f=e.each,a=e.dom.Event,b=e.dom.Element;e.create("tinymce.ui.DropMenu:tinymce.ui.Menu",{DropMenu:function(h,g){g=g||{};g.container=g.container||c.doc.body;g.offset_x=g.offset_x||0;g.offset_y=g.offset_y||0;g.vp_offset_x=g.vp_offset_x||0;g.vp_offset_y=g.vp_offset_y||0;if(d(g.icons)&&!g.icons){g["class"]+=" mceNoIcons"}this.parent(h,g);this.onShowMenu=new e.util.Dispatcher(this);this.onHideMenu=new e.util.Dispatcher(this);this.classPrefix="mceMenu"},createMenu:function(j){var h=this,i=h.settings,g;j.container=j.container||i.container;j.parent=h;j.constrain=j.constrain||i.constrain;j["class"]=j["class"]||i["class"];j.vp_offset_x=j.vp_offset_x||i.vp_offset_x;j.vp_offset_y=j.vp_offset_y||i.vp_offset_y;j.keyboard_focus=i.keyboard_focus;g=new e.ui.DropMenu(j.id||c.uniqueId(),j);g.onAddItem.add(h.onAddItem.dispatch,h.onAddItem);return g},focus:function(){var g=this;if(g.keyboardNav){g.keyboardNav.focus()}},update:function(){var i=this,j=i.settings,g=c.get("menu_"+i.id+"_tbl"),l=c.get("menu_"+i.id+"_co"),h,k;h=j.max_width?Math.min(g.clientWidth,j.max_width):g.clientWidth;k=j.max_height?Math.min(g.clientHeight,j.max_height):g.clientHeight;if(!c.boxModel){i.element.setStyles({width:h+2,height:k+2})}else{i.element.setStyles({width:h,height:k})}if(j.max_width){c.setStyle(l,"width",h)}if(j.max_height){c.setStyle(l,"height",k);if(g.clientHeight<j.max_height){c.setStyle(l,"overflow","hidden")}}},showMenu:function(p,n,r){var z=this,A=z.settings,o,g=c.getViewPort(),u,l,v,q,i=2,k,j,m=z.classPrefix;z.collapse(1);if(z.isMenuVisible){return}if(!z.rendered){o=c.add(z.settings.container,z.renderNode());f(z.items,function(h){h.postRender()});z.element=new b("menu_"+z.id,{blocker:1,container:A.container})}else{o=c.get("menu_"+z.id)}if(!e.isOpera){c.setStyles(o,{left:-65535,top:-65535})}c.show(o);z.update();p+=A.offset_x||0;n+=A.offset_y||0;g.w-=4;g.h-=4;if(A.constrain){u=o.clientWidth-i;l=o.clientHeight-i;v=g.x+g.w;q=g.y+g.h;if((p+A.vp_offset_x+u)>v){p=r?r-u:Math.max(0,(v-A.vp_offset_x)-u)}if((n+A.vp_offset_y+l)>q){n=Math.max(0,(q-A.vp_offset_y)-l)}}c.setStyles(o,{left:p,top:n});z.element.update();z.isMenuVisible=1;z.mouseClickFunc=a.add(o,"click",function(s){var h;s=s.target;if(s&&(s=c.getParent(s,"tr"))&&!c.hasClass(s,m+"ItemSub")){h=z.items[s.id];if(h.isDisabled()){return}k=z;while(k){if(k.hideMenu){k.hideMenu()}k=k.settings.parent}if(h.settings.onclick){h.settings.onclick(s)}return a.cancel(s)}});if(z.hasMenus()){z.mouseOverFunc=a.add(o,"mouseover",function(x){var h,t,s;x=x.target;if(x&&(x=c.getParent(x,"tr"))){h=z.items[x.id];if(z.lastMenu){z.lastMenu.collapse(1)}if(h.isDisabled()){return}if(x&&c.hasClass(x,m+"ItemSub")){t=c.getRect(x);h.showMenu((t.x+t.w-i),t.y-i,t.x);z.lastMenu=h;c.addClass(c.get(h.id).firstChild,m+"ItemActive")}}})}a.add(o,"keydown",z._keyHandler,z);z.onShowMenu.dispatch(z);if(A.keyboard_focus){z._setupKeyboardNav()}},hideMenu:function(j){var g=this,i=c.get("menu_"+g.id),h;if(!g.isMenuVisible){return}if(g.keyboardNav){g.keyboardNav.destroy()}a.remove(i,"mouseover",g.mouseOverFunc);a.remove(i,"click",g.mouseClickFunc);a.remove(i,"keydown",g._keyHandler);c.hide(i);g.isMenuVisible=0;if(!j){g.collapse(1)}if(g.element){g.element.hide()}if(h=c.get(g.id)){c.removeClass(h.firstChild,g.classPrefix+"ItemActive")}g.onHideMenu.dispatch(g)},add:function(i){var g=this,h;i=g.parent(i);if(g.isRendered&&(h=c.get("menu_"+g.id))){g._add(c.select("tbody",h)[0],i)}return i},collapse:function(g){this.parent(g);this.hideMenu(1)},remove:function(g){c.remove(g.id);this.destroy();return this.parent(g)},destroy:function(){var g=this,h=c.get("menu_"+g.id);if(g.keyboardNav){g.keyboardNav.destroy()}a.remove(h,"mouseover",g.mouseOverFunc);a.remove(c.select("a",h),"focus",g.mouseOverFunc);a.remove(h,"click",g.mouseClickFunc);a.remove(h,"keydown",g._keyHandler);if(g.element){g.element.remove()}c.remove(h)},renderNode:function(){var i=this,j=i.settings,l,h,k,g;g=c.create("div",{role:"listbox",id:"menu_"+i.id,"class":j["class"],style:"position:absolute;left:0;top:0;z-index:200000;outline:0"});if(i.settings.parent){c.setAttrib(g,"aria-parent","menu_"+i.settings.parent.id)}k=c.add(g,"div",{role:"presentation",id:"menu_"+i.id+"_co","class":i.classPrefix+(j["class"]?" "+j["class"]:"")});i.element=new b("menu_"+i.id,{blocker:1,container:j.container});if(j.menu_line){c.add(k,"span",{"class":i.classPrefix+"Line"})}l=c.add(k,"table",{role:"presentation",id:"menu_"+i.id+"_tbl",border:0,cellPadding:0,cellSpacing:0});h=c.add(l,"tbody");f(i.items,function(m){i._add(h,m)});i.rendered=true;return g},_setupKeyboardNav:function(){var i,h,g=this;i=c.select("#menu_"+g.id)[0];h=c.select("a[role=option]","menu_"+g.id);h.splice(0,0,i);g.keyboardNav=new e.ui.KeyboardNavigation({root:"menu_"+g.id,items:h,onCancel:function(){g.hideMenu()},enableUpDown:true});i.focus()},_keyHandler:function(g){var h=this,i;switch(g.keyCode){case 37:if(h.settings.parent){h.hideMenu();h.settings.parent.focus();a.cancel(g)}break;case 39:if(h.mouseOverFunc){h.mouseOverFunc(g)}break}},_add:function(j,h){var i,q=h.settings,p,l,k,m=this.classPrefix,g;if(q.separator){l=c.add(j,"tr",{id:h.id,"class":m+"ItemSeparator"});c.add(l,"td",{"class":m+"ItemSeparator"});if(i=l.previousSibling){c.addClass(i,"mceLast")}return}i=l=c.add(j,"tr",{id:h.id,"class":m+"Item "+m+"ItemEnabled"});i=k=c.add(i,q.titleItem?"th":"td");i=p=c.add(i,"a",{id:h.id+"_aria",role:q.titleItem?"presentation":"option",href:"javascript:;",onclick:"return false;",onmousedown:"return false;"});if(q.parent){c.setAttrib(p,"aria-haspopup","true");c.setAttrib(p,"aria-owns","menu_"+h.id)}c.addClass(k,q["class"]);g=c.add(i,"span",{"class":"mceIcon"+(q.icon?" mce_"+q.icon:"")});if(q.icon_src){c.add(g,"img",{src:q.icon_src})}i=c.add(i,q.element||"span",{"class":"mceText",title:h.settings.title},h.settings.title);if(h.settings.style){c.setAttrib(i,"style",h.settings.style)}if(j.childNodes.length==1){c.addClass(l,"mceFirst")}if((i=l.previousSibling)&&c.hasClass(i,m+"ItemSeparator")){c.addClass(l,"mceFirst")}if(h.collapse){c.addClass(l,m+"ItemSub")}if(i=l.previousSibling){c.removeClass(i,"mceLast")}c.addClass(l,"mceLast")}})})(tinymce);(function(b){var a=b.DOM;b.create("tinymce.ui.Button:tinymce.ui.Control",{Button:function(e,d,c){this.parent(e,d,c);this.classPrefix="mceButton"},renderHTML:function(){var f=this.classPrefix,e=this.settings,d,c;c=a.encode(e.label||"");d='<a role="button" id="'+this.id+'" href="javascript:;" class="'+f+" "+f+"Enabled "+e["class"]+(c?" "+f+"Labeled":"")+'" onmousedown="return false;" onclick="return false;" aria-labelledby="'+this.id+'_voice" title="'+a.encode(e.title)+'">';if(e.image){d+='<img class="mceIcon" src="'+e.image+'" alt="'+a.encode(e.title)+'" />'+c}else{d+='<span class="mceIcon '+e["class"]+'"></span>'+(c?'<span class="'+f+'Label">'+c+"</span>":"")}d+='<span class="mceVoiceLabel mceIconOnly" style="display: none;" id="'+this.id+'_voice">'+e.title+"</span>";d+="</a>";return d},postRender:function(){var c=this,d=c.settings;b.dom.Event.add(c.id,"click",function(f){if(!c.isDisabled()){return d.onclick.call(d.scope,f)}})}})})(tinymce);(function(d){var c=d.DOM,b=d.dom.Event,e=d.each,a=d.util.Dispatcher;d.create("tinymce.ui.ListBox:tinymce.ui.Control",{ListBox:function(i,h,f){var g=this;g.parent(i,h,f);g.items=[];g.onChange=new a(g);g.onPostRender=new a(g);g.onAdd=new a(g);g.onRenderMenu=new d.util.Dispatcher(this);g.classPrefix="mceListBox"},select:function(h){var g=this,j,i;if(h==undefined){return g.selectByIndex(-1)}if(h&&h.call){i=h}else{i=function(f){return f==h}}if(h!=g.selectedValue){e(g.items,function(k,f){if(i(k.value)){j=1;g.selectByIndex(f);return false}});if(!j){g.selectByIndex(-1)}}},selectByIndex:function(f){var g=this,h,i;if(f!=g.selectedIndex){h=c.get(g.id+"_text");i=g.items[f];if(i){g.selectedValue=i.value;g.selectedIndex=f;c.setHTML(h,c.encode(i.title));c.removeClass(h,"mceTitle");c.setAttrib(g.id,"aria-valuenow",i.title)}else{c.setHTML(h,c.encode(g.settings.title));c.addClass(h,"mceTitle");g.selectedValue=g.selectedIndex=null;c.setAttrib(g.id,"aria-valuenow",g.settings.title)}h=0}},add:function(i,f,h){var g=this;h=h||{};h=d.extend(h,{title:i,value:f});g.items.push(h);g.onAdd.dispatch(g,h)},getLength:function(){return this.items.length},renderHTML:function(){var i="",f=this,g=f.settings,j=f.classPrefix;i='<span role="button" aria-haspopup="true" aria-labelledby="'+f.id+'_text" aria-describedby="'+f.id+'_voiceDesc"><table role="presentation" tabindex="0" id="'+f.id+'" cellpadding="0" cellspacing="0" class="'+j+" "+j+"Enabled"+(g["class"]?(" "+g["class"]):"")+'"><tbody><tr>';i+="<td>"+c.createHTML("span",{id:f.id+"_voiceDesc","class":"voiceLabel",style:"display:none;"},f.settings.title);i+=c.createHTML("a",{id:f.id+"_text",tabindex:-1,href:"javascript:;","class":"mceText",onclick:"return false;",onmousedown:"return false;"},c.encode(f.settings.title))+"</td>";i+="<td>"+c.createHTML("a",{id:f.id+"_open",tabindex:-1,href:"javascript:;","class":"mceOpen",onclick:"return false;",onmousedown:"return false;"},'<span><span style="display:none;" class="mceIconOnly" aria-hidden="true">\u25BC</span></span>')+"</td>";i+="</tr></tbody></table></span>";return i},showMenu:function(){var g=this,j,i,h=c.get(this.id),f;if(g.isDisabled()||g.items.length==0){return}if(g.menu&&g.menu.isMenuVisible){return g.hideMenu()}if(!g.isMenuRendered){g.renderMenu();g.isMenuRendered=true}j=c.getPos(this.settings.menu_container);i=c.getPos(h);f=g.menu;f.settings.offset_x=i.x;f.settings.offset_y=i.y;f.settings.keyboard_focus=!d.isOpera;if(g.oldID){f.items[g.oldID].setSelected(0)}e(g.items,function(k){if(k.value===g.selectedValue){f.items[k.id].setSelected(1);g.oldID=k.id}});f.showMenu(0,h.clientHeight);b.add(c.doc,"mousedown",g.hideMenu,g);c.addClass(g.id,g.classPrefix+"Selected")},hideMenu:function(g){var f=this;if(f.menu&&f.menu.isMenuVisible){c.removeClass(f.id,f.classPrefix+"Selected");if(g&&g.type=="mousedown"&&(g.target.id==f.id+"_text"||g.target.id==f.id+"_open")){return}if(!g||!c.getParent(g.target,".mceMenu")){c.removeClass(f.id,f.classPrefix+"Selected");b.remove(c.doc,"mousedown",f.hideMenu,f);f.menu.hideMenu()}}},renderMenu:function(){var g=this,f;f=g.settings.control_manager.createDropMenu(g.id+"_menu",{menu_line:1,"class":g.classPrefix+"Menu mceNoIcons",max_width:150,max_height:150});f.onHideMenu.add(function(){g.hideMenu();g.focus()});f.add({title:g.settings.title,"class":"mceMenuItemTitle",onclick:function(){if(g.settings.onselect("")!==false){g.select("")}}});e(g.items,function(h){if(h.value===undefined){f.add({title:h.title,"class":"mceMenuItemTitle",onclick:function(){if(g.settings.onselect("")!==false){g.select("")}}})}else{h.id=c.uniqueId();h.onclick=function(){if(g.settings.onselect(h.value)!==false){g.select(h.value)}};f.add(h)}});g.onRenderMenu.dispatch(g,f);g.menu=f},postRender:function(){var f=this,g=f.classPrefix;b.add(f.id,"click",f.showMenu,f);b.add(f.id,"keydown",function(h){if(h.keyCode==32){f.showMenu(h);b.cancel(h)}});b.add(f.id,"focus",function(){if(!f._focused){f.keyDownHandler=b.add(f.id,"keydown",function(h){if(h.keyCode==40){f.showMenu();b.cancel(h)}});f.keyPressHandler=b.add(f.id,"keypress",function(i){var h;if(i.keyCode==13){h=f.selectedValue;f.selectedValue=null;b.cancel(i);f.settings.onselect(h)}})}f._focused=1});b.add(f.id,"blur",function(){b.remove(f.id,"keydown",f.keyDownHandler);b.remove(f.id,"keypress",f.keyPressHandler);f._focused=0});if(d.isIE6||!c.boxModel){b.add(f.id,"mouseover",function(){if(!c.hasClass(f.id,g+"Disabled")){c.addClass(f.id,g+"Hover")}});b.add(f.id,"mouseout",function(){if(!c.hasClass(f.id,g+"Disabled")){c.removeClass(f.id,g+"Hover")}})}f.onPostRender.dispatch(f,c.get(f.id))},destroy:function(){this.parent();b.clear(this.id+"_text");b.clear(this.id+"_open")}})})(tinymce);(function(d){var c=d.DOM,b=d.dom.Event,e=d.each,a=d.util.Dispatcher;d.create("tinymce.ui.NativeListBox:tinymce.ui.ListBox",{NativeListBox:function(g,f){this.parent(g,f);this.classPrefix="mceNativeListBox"},setDisabled:function(f){c.get(this.id).disabled=f;this.setAriaProperty("disabled",f)},isDisabled:function(){return c.get(this.id).disabled},select:function(h){var g=this,j,i;if(h==undefined){return g.selectByIndex(-1)}if(h&&h.call){i=h}else{i=function(f){return f==h}}if(h!=g.selectedValue){e(g.items,function(k,f){if(i(k.value)){j=1;g.selectByIndex(f);return false}});if(!j){g.selectByIndex(-1)}}},selectByIndex:function(f){c.get(this.id).selectedIndex=f+1;this.selectedValue=this.items[f]?this.items[f].value:null},add:function(j,g,f){var i,h=this;f=f||{};f.value=g;if(h.isRendered()){c.add(c.get(this.id),"option",f,j)}i={title:j,value:g,attribs:f};h.items.push(i);h.onAdd.dispatch(h,i)},getLength:function(){return this.items.length},renderHTML:function(){var g,f=this;g=c.createHTML("option",{value:""},"-- "+f.settings.title+" --");e(f.items,function(h){g+=c.createHTML("option",{value:h.value},h.title)});g=c.createHTML("select",{id:f.id,"class":"mceNativeListBox","aria-labelledby":f.id+"_aria"},g);g+=c.createHTML("span",{id:f.id+"_aria",style:"display: none"},f.settings.title);return g},postRender:function(){var g=this,h,i=true;g.rendered=true;function f(k){var j=g.items[k.target.selectedIndex-1];if(j&&(j=j.value)){g.onChange.dispatch(g,j);if(g.settings.onselect){g.settings.onselect(j)}}}b.add(g.id,"change",f);b.add(g.id,"keydown",function(k){var j;b.remove(g.id,"change",h);i=false;j=b.add(g.id,"blur",function(){if(i){return}i=true;b.add(g.id,"change",f);b.remove(g.id,"blur",j)});if(k.keyCode==13||k.keyCode==32){f(k);return b.cancel(k)}});g.onPostRender.dispatch(g,c.get(g.id))}})})(tinymce);(function(c){var b=c.DOM,a=c.dom.Event,d=c.each;c.create("tinymce.ui.MenuButton:tinymce.ui.Button",{MenuButton:function(g,f,e){this.parent(g,f,e);this.onRenderMenu=new c.util.Dispatcher(this);f.menu_container=f.menu_container||b.doc.body},showMenu:function(){var g=this,j,i,h=b.get(g.id),f;if(g.isDisabled()){return}if(!g.isMenuRendered){g.renderMenu();g.isMenuRendered=true}if(g.isMenuVisible){return g.hideMenu()}j=b.getPos(g.settings.menu_container);i=b.getPos(h);f=g.menu;f.settings.offset_x=i.x;f.settings.offset_y=i.y;f.settings.vp_offset_x=i.x;f.settings.vp_offset_y=i.y;f.settings.keyboard_focus=g._focused;f.showMenu(0,h.clientHeight);a.add(b.doc,"mousedown",g.hideMenu,g);g.setState("Selected",1);g.isMenuVisible=1},renderMenu:function(){var f=this,e;e=f.settings.control_manager.createDropMenu(f.id+"_menu",{menu_line:1,"class":this.classPrefix+"Menu",icons:f.settings.icons});e.onHideMenu.add(function(){f.hideMenu();f.focus()});f.onRenderMenu.dispatch(f,e);f.menu=e},hideMenu:function(g){var f=this;if(g&&g.type=="mousedown"&&b.getParent(g.target,function(h){return h.id===f.id||h.id===f.id+"_open"})){return}if(!g||!b.getParent(g.target,".mceMenu")){f.setState("Selected",0);a.remove(b.doc,"mousedown",f.hideMenu,f);if(f.menu){f.menu.hideMenu()}}f.isMenuVisible=0},postRender:function(){var e=this,f=e.settings;a.add(e.id,"click",function(){if(!e.isDisabled()){if(f.onclick){f.onclick(e.value)}e.showMenu()}})}})})(tinymce);(function(c){var b=c.DOM,a=c.dom.Event,d=c.each;c.create("tinymce.ui.SplitButton:tinymce.ui.MenuButton",{SplitButton:function(g,f,e){this.parent(g,f,e);this.classPrefix="mceSplitButton"},renderHTML:function(){var i,f=this,g=f.settings,e;i="<tbody><tr>";if(g.image){e=b.createHTML("img ",{src:g.image,role:"presentation","class":"mceAction "+g["class"]})}else{e=b.createHTML("span",{"class":"mceAction "+g["class"]},"")}e+=b.createHTML("span",{"class":"mceVoiceLabel mceIconOnly",id:f.id+"_voice",style:"display:none;"},g.title);i+="<td >"+b.createHTML("a",{role:"button",id:f.id+"_action",tabindex:"-1",href:"javascript:;","class":"mceAction "+g["class"],onclick:"return false;",onmousedown:"return false;",title:g.title},e)+"</td>";e=b.createHTML("span",{"class":"mceOpen "+g["class"]},'<span style="display:none;" class="mceIconOnly" aria-hidden="true">\u25BC</span>');i+="<td >"+b.createHTML("a",{role:"button",id:f.id+"_open",tabindex:"-1",href:"javascript:;","class":"mceOpen "+g["class"],onclick:"return false;",onmousedown:"return false;",title:g.title},e)+"</td>";i+="</tr></tbody>";i=b.createHTML("table",{id:f.id,role:"presentation",tabindex:"0","class":"mceSplitButton mceSplitButtonEnabled "+g["class"],cellpadding:"0",cellspacing:"0",title:g.title},i);return b.createHTML("span",{role:"button","aria-labelledby":f.id+"_voice","aria-haspopup":"true"},i)},postRender:function(){var e=this,g=e.settings,f;if(g.onclick){f=function(h){if(!e.isDisabled()){g.onclick(e.value);a.cancel(h)}};a.add(e.id+"_action","click",f);a.add(e.id,["click","keydown"],function(h){var k=32,m=14,i=13,j=38,l=40;if((h.keyCode===32||h.keyCode===13||h.keyCode===14)&&!h.altKey&&!h.ctrlKey&&!h.metaKey){f();a.cancel(h)}else{if(h.type==="click"||h.keyCode===l){e.showMenu();a.cancel(h)}}})}a.add(e.id+"_open","click",function(h){e.showMenu();a.cancel(h)});a.add([e.id,e.id+"_open"],"focus",function(){e._focused=1});a.add([e.id,e.id+"_open"],"blur",function(){e._focused=0});if(c.isIE6||!b.boxModel){a.add(e.id,"mouseover",function(){if(!b.hasClass(e.id,"mceSplitButtonDisabled")){b.addClass(e.id,"mceSplitButtonHover")}});a.add(e.id,"mouseout",function(){if(!b.hasClass(e.id,"mceSplitButtonDisabled")){b.removeClass(e.id,"mceSplitButtonHover")}})}},destroy:function(){this.parent();a.clear(this.id+"_action");a.clear(this.id+"_open");a.clear(this.id)}})})(tinymce);(function(d){var c=d.DOM,a=d.dom.Event,b=d.is,e=d.each;d.create("tinymce.ui.ColorSplitButton:tinymce.ui.SplitButton",{ColorSplitButton:function(i,h,f){var g=this;g.parent(i,h,f);g.settings=h=d.extend({colors:"000000,993300,333300,003300,003366,000080,333399,333333,800000,FF6600,808000,008000,008080,0000FF,666699,808080,FF0000,FF9900,99CC00,339966,33CCCC,3366FF,800080,999999,FF00FF,FFCC00,FFFF00,00FF00,00FFFF,00CCFF,993366,C0C0C0,FF99CC,FFCC99,FFFF99,CCFFCC,CCFFFF,99CCFF,CC99FF,FFFFFF",grid_width:8,default_color:"#888888"},g.settings);g.onShowMenu=new d.util.Dispatcher(g);g.onHideMenu=new d.util.Dispatcher(g);g.value=h.default_color},showMenu:function(){var f=this,g,j,i,h;if(f.isDisabled()){return}if(!f.isMenuRendered){f.renderMenu();f.isMenuRendered=true}if(f.isMenuVisible){return f.hideMenu()}i=c.get(f.id);c.show(f.id+"_menu");c.addClass(i,"mceSplitButtonSelected");h=c.getPos(i);c.setStyles(f.id+"_menu",{left:h.x,top:h.y+i.clientHeight,zIndex:200000});i=0;a.add(c.doc,"mousedown",f.hideMenu,f);f.onShowMenu.dispatch(f);if(f._focused){f._keyHandler=a.add(f.id+"_menu","keydown",function(k){if(k.keyCode==27){f.hideMenu()}});c.select("a",f.id+"_menu")[0].focus()}f.isMenuVisible=1},hideMenu:function(g){var f=this;if(f.isMenuVisible){if(g&&g.type=="mousedown"&&c.getParent(g.target,function(h){return h.id===f.id+"_open"})){return}if(!g||!c.getParent(g.target,".mceSplitButtonMenu")){c.removeClass(f.id,"mceSplitButtonSelected");a.remove(c.doc,"mousedown",f.hideMenu,f);a.remove(f.id+"_menu","keydown",f._keyHandler);c.hide(f.id+"_menu")}f.isMenuVisible=0}},renderMenu:function(){var p=this,h,k=0,q=p.settings,g,j,l,o,f;o=c.add(q.menu_container,"div",{role:"listbox",id:p.id+"_menu","class":q.menu_class+" "+q["class"],style:"position:absolute;left:0;top:-1000px;"});h=c.add(o,"div",{"class":q["class"]+" mceSplitButtonMenu"});c.add(h,"span",{"class":"mceMenuLine"});g=c.add(h,"table",{role:"presentation","class":"mceColorSplitMenu"});j=c.add(g,"tbody");k=0;e(b(q.colors,"array")?q.colors:q.colors.split(","),function(i){i=i.replace(/^#/,"");if(!k--){l=c.add(j,"tr");k=q.grid_width-1}g=c.add(l,"td");g=c.add(g,"a",{role:"option",href:"javascript:;",style:{backgroundColor:"#"+i},title:p.editor.getLang("colors."+i,i),"data-mce-color":"#"+i});if(p.editor.forcedHighContrastMode){g=c.add(g,"canvas",{width:16,height:16,"aria-hidden":"true"});if(g.getContext&&(f=g.getContext("2d"))){f.fillStyle="#"+i;f.fillRect(0,0,16,16)}else{c.remove(g)}}});if(q.more_colors_func){g=c.add(j,"tr");g=c.add(g,"td",{colspan:q.grid_width,"class":"mceMoreColors"});g=c.add(g,"a",{role:"option",id:p.id+"_more",href:"javascript:;",onclick:"return false;","class":"mceMoreColors"},q.more_colors_title);a.add(g,"click",function(i){q.more_colors_func.call(q.more_colors_scope||this);return a.cancel(i)})}c.addClass(h,"mceColorSplitMenu");new d.ui.KeyboardNavigation({root:p.id+"_menu",items:c.select("a",p.id+"_menu"),onCancel:function(){p.hideMenu();p.focus()}});a.add(p.id+"_menu","mousedown",function(i){return a.cancel(i)});a.add(p.id+"_menu","click",function(i){var m;i=c.getParent(i.target,"a",j);if(i&&i.nodeName.toLowerCase()=="a"&&(m=i.getAttribute("data-mce-color"))){p.setColor(m)}return a.cancel(i)});return o},setColor:function(f){this.displayColor(f);this.hideMenu();this.settings.onselect(f)},displayColor:function(g){var f=this;c.setStyle(f.id+"_preview","backgroundColor",g);f.value=g},postRender:function(){var f=this,g=f.id;f.parent();c.add(g+"_action","div",{id:g+"_preview","class":"mceColorPreview"});c.setStyle(f.id+"_preview","backgroundColor",f.value)},destroy:function(){this.parent();a.clear(this.id+"_menu");a.clear(this.id+"_more");c.remove(this.id+"_menu")}})})(tinymce);(function(b){var d=b.DOM,c=b.each,a=b.dom.Event;b.create("tinymce.ui.ToolbarGroup:tinymce.ui.Container",{renderHTML:function(){var f=this,i=[],e=f.controls,j=b.each,g=f.settings;i.push('<div id="'+f.id+'" role="group" aria-labelledby="'+f.id+'_voice">');i.push("<span role='application'>");i.push('<span id="'+f.id+'_voice" class="mceVoiceLabel" style="display:none;">'+d.encode(g.name)+"</span>");j(e,function(h){i.push(h.renderHTML())});i.push("</span>");i.push("</div>");return i.join("")},focus:function(){this.keyNav.focus()},postRender:function(){var f=this,e=[];c(f.controls,function(g){c(g.controls,function(h){if(h.id){e.push(h)}})});f.keyNav=new b.ui.KeyboardNavigation({root:f.id,items:e,onCancel:function(){f.editor.focus()},excludeFromTabOrder:!f.settings.tab_focus_toolbar})},destroy:function(){var e=this;e.parent();e.keyNav.destroy();a.clear(e.id)}})})(tinymce);(function(a){var c=a.DOM,b=a.each;a.create("tinymce.ui.Toolbar:tinymce.ui.Container",{renderHTML:function(){var m=this,f="",j,k,n=m.settings,e,d,g,l;l=m.controls;for(e=0;e<l.length;e++){k=l[e];d=l[e-1];g=l[e+1];if(e===0){j="mceToolbarStart";if(k.Button){j+=" mceToolbarStartButton"}else{if(k.SplitButton){j+=" mceToolbarStartSplitButton"}else{if(k.ListBox){j+=" mceToolbarStartListBox"}}}f+=c.createHTML("td",{"class":j},c.createHTML("span",null,"<!-- IE -->"))}if(d&&k.ListBox){if(d.Button||d.SplitButton){f+=c.createHTML("td",{"class":"mceToolbarEnd"},c.createHTML("span",null,"<!-- IE -->"))}}if(c.stdMode){f+='<td style="position: relative">'+k.renderHTML()+"</td>"}else{f+="<td>"+k.renderHTML()+"</td>"}if(g&&k.ListBox){if(g.Button||g.SplitButton){f+=c.createHTML("td",{"class":"mceToolbarStart"},c.createHTML("span",null,"<!-- IE -->"))}}}j="mceToolbarEnd";if(k.Button){j+=" mceToolbarEndButton"}else{if(k.SplitButton){j+=" mceToolbarEndSplitButton"}else{if(k.ListBox){j+=" mceToolbarEndListBox"}}}f+=c.createHTML("td",{"class":j},c.createHTML("span",null,"<!-- IE -->"));return c.createHTML("table",{id:m.id,"class":"mceToolbar"+(n["class"]?" "+n["class"]:""),cellpadding:"0",cellspacing:"0",align:m.settings.align||"",role:"presentation",tabindex:"-1"},"<tbody><tr>"+f+"</tr></tbody>")}})})(tinymce);(function(b){var a=b.util.Dispatcher,c=b.each;b.create("tinymce.AddOnManager",{AddOnManager:function(){var d=this;d.items=[];d.urls={};d.lookup={};d.onAdd=new a(d)},get:function(d){return this.lookup[d]},requireLangPack:function(e){var d=b.settings;if(d&&d.language&&d.language_load!==false){b.ScriptLoader.add(this.urls[e]+"/langs/"+d.language+".js")}},add:function(e,d){this.items.push(d);this.lookup[e]=d;this.onAdd.dispatch(this,e,d);return d},load:function(h,e,d,g){var f=this;if(f.urls[h]){return}if(e.indexOf("/")!=0&&e.indexOf("://")==-1){e=b.baseURL+"/"+e}f.urls[h]=e.substring(0,e.lastIndexOf("/"));if(!f.lookup[h]){b.ScriptLoader.add(e,d,g)}}});b.PluginManager=new b.AddOnManager();b.ThemeManager=new b.AddOnManager()}(tinymce));(function(j){var g=j.each,d=j.extend,k=j.DOM,i=j.dom.Event,f=j.ThemeManager,b=j.PluginManager,e=j.explode,h=j.util.Dispatcher,a,c=0;j.documentBaseURL=window.location.href.replace(/[\?#].*$/,"").replace(/[\/\\][^\/]+$/,"");if(!/[\/\\]$/.test(j.documentBaseURL)){j.documentBaseURL+="/"}j.baseURL=new j.util.URI(j.documentBaseURL).toAbsolute(j.baseURL);j.baseURI=new j.util.URI(j.baseURL);j.onBeforeUnload=new h(j);i.add(window,"beforeunload",function(l){j.onBeforeUnload.dispatch(j,l)});j.onAddEditor=new h(j);j.onRemoveEditor=new h(j);j.EditorManager=d(j,{editors:[],i18n:{},activeEditor:null,init:function(q){var n=this,p,l=j.ScriptLoader,u,o=[],m;function r(x,y,t){var v=x[y];if(!v){return}if(j.is(v,"string")){t=v.replace(/\.\w+$/,"");t=t?j.resolve(t):0;v=j.resolve(v)}return v.apply(t||this,Array.prototype.slice.call(arguments,2))}q=d({theme:"simple",language:"en"},q);n.settings=q;i.add(document,"init",function(){var s,v;r(q,"onpageload");switch(q.mode){case"exact":s=q.elements||"";if(s.length>0){g(e(s),function(x){if(k.get(x)){m=new j.Editor(x,q);o.push(m);m.render(1)}else{g(document.forms,function(y){g(y.elements,function(z){if(z.name===x){x="mce_editor_"+c++;k.setAttrib(z,"id",x);m=new j.Editor(x,q);o.push(m);m.render(1)}})})}})}break;case"textareas":case"specific_textareas":function t(y,x){return x.constructor===RegExp?x.test(y.className):k.hasClass(y,x)}g(k.select("textarea"),function(x){if(q.editor_deselector&&t(x,q.editor_deselector)){return}if(!q.editor_selector||t(x,q.editor_selector)){u=k.get(x.name);if(!x.id&&!u){x.id=x.name}if(!x.id||n.get(x.id)){x.id=k.uniqueId()}m=new j.Editor(x.id,q);o.push(m);m.render(1)}});break}if(q.oninit){s=v=0;g(o,function(x){v++;if(!x.initialized){x.onInit.add(function(){s++;if(s==v){r(q,"oninit")}})}else{s++}if(s==v){r(q,"oninit")}})}})},get:function(l){if(l===a){return this.editors}return this.editors[l]},getInstanceById:function(l){return this.get(l)},add:function(m){var l=this,n=l.editors;n[m.id]=m;n.push(m);l._setActive(m);l.onAddEditor.dispatch(l,m);return m},remove:function(n){var m=this,l,o=m.editors;if(!o[n.id]){return null}delete o[n.id];for(l=0;l<o.length;l++){if(o[l]==n){o.splice(l,1);break}}if(m.activeEditor==n){m._setActive(o[0])}n.destroy();m.onRemoveEditor.dispatch(m,n);return n},execCommand:function(r,p,o){var q=this,n=q.get(o),l;switch(r){case"mceFocus":n.focus();return true;case"mceAddEditor":case"mceAddControl":if(!q.get(o)){new j.Editor(o,q.settings).render()}return true;case"mceAddFrameControl":l=o.window;l.tinyMCE=tinyMCE;l.tinymce=j;j.DOM.doc=l.document;j.DOM.win=l;n=new j.Editor(o.element_id,o);n.render();if(j.isIE){function m(){n.destroy();l.detachEvent("onunload",m);l=l.tinyMCE=l.tinymce=null}l.attachEvent("onunload",m)}o.page_window=null;return true;case"mceRemoveEditor":case"mceRemoveControl":if(n){n.remove()}return true;case"mceToggleEditor":if(!n){q.execCommand("mceAddControl",0,o);return true}if(n.isHidden()){n.show()}else{n.hide()}return true}if(q.activeEditor){return q.activeEditor.execCommand(r,p,o)}return false},execInstanceCommand:function(p,o,n,m){var l=this.get(p);if(l){return l.execCommand(o,n,m)}return false},triggerSave:function(){g(this.editors,function(l){l.save()})},addI18n:function(n,q){var l,m=this.i18n;if(!j.is(n,"string")){g(n,function(r,p){g(r,function(t,s){g(t,function(v,u){if(s==="common"){m[p+"."+u]=v}else{m[p+"."+s+"."+u]=v}})})})}else{g(q,function(r,p){m[n+"."+p]=r})}},_setActive:function(l){this.selectedInstance=this.activeEditor=l}})})(tinymce);(function(m){var n=m.DOM,j=m.dom.Event,f=m.extend,k=m.util.Dispatcher,i=m.each,a=m.isGecko,b=m.isIE,e=m.isWebKit,d=m.is,h=m.ThemeManager,c=m.PluginManager,o=m.inArray,l=m.grep,g=m.explode;m.create("tinymce.Editor",{Editor:function(r,q){var p=this;p.id=p.editorId=r;p.execCommands={};p.queryStateCommands={};p.queryValueCommands={};p.isNotDirty=false;p.plugins={};i(["onPreInit","onBeforeRenderUI","onPostRender","onInit","onRemove","onActivate","onDeactivate","onClick","onEvent","onMouseUp","onMouseDown","onDblClick","onKeyDown","onKeyUp","onKeyPress","onContextMenu","onSubmit","onReset","onPaste","onPreProcess","onPostProcess","onBeforeSetContent","onBeforeGetContent","onSetContent","onGetContent","onLoadContent","onSaveContent","onNodeChange","onChange","onBeforeExecCommand","onExecCommand","onUndo","onRedo","onVisualAid","onSetProgressState"],function(s){p[s]=new k(p)});p.settings=q=f({id:r,language:"en",docs_language:"en",theme:"simple",skin:"default",delta_width:0,delta_height:0,popup_css:"",plugins:"",document_base_url:m.documentBaseURL,add_form_submit_trigger:1,submit_patch:1,add_unload_trigger:1,convert_urls:1,relative_urls:1,remove_script_host:1,table_inline_editing:0,object_resizing:1,cleanup:1,accessibility_focus:1,custom_shortcuts:1,custom_undo_redo_keyboard_shortcuts:1,custom_undo_redo_restore_selection:1,custom_undo_redo:1,doctype:m.isIE6?'<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">':"<!DOCTYPE>",visual_table_class:"mceItemTable",visual:1,font_size_style_values:"xx-small,x-small,small,medium,large,x-large,xx-large",apply_source_formatting:1,directionality:"ltr",forced_root_block:"p",hidden_input:1,padd_empty_editor:1,render_ui:1,init_theme:1,force_p_newlines:1,indentation:"30px",keep_styles:1,fix_table_elements:1,inline_styles:1,convert_fonts_to_spans:true,indent:"simple",indent_before:"p,h1,h2,h3,h4,h5,h6,blockquote,div,title,style,pre,script,td,ul,li,area,table,thead,tfoot,tbody,tr",indent_after:"p,h1,h2,h3,h4,h5,h6,blockquote,div,title,style,pre,script,td,ul,li,area,table,thead,tfoot,tbody,tr",validate:true,entity_encoding:"named",url_converter:p.convertURL,url_converter_scope:p,ie7_compat:true},q);p.documentBaseURI=new m.util.URI(q.document_base_url||m.documentBaseURL,{base_uri:tinyMCE.baseURI});p.baseURI=m.baseURI;p.contentCSS=[];p.execCallback("setup",p)},render:function(r){var u=this,v=u.settings,x=u.id,p=m.ScriptLoader;if(!j.domLoaded){j.add(document,"init",function(){u.render()});return}tinyMCE.settings=v;if(!u.getElement()){return}if(m.isIDevice){return}if(!/TEXTAREA|INPUT/i.test(u.getElement().nodeName)&&v.hidden_input&&n.getParent(x,"form")){n.insertAfter(n.create("input",{type:"hidden",name:x}),x)}if(m.WindowManager){u.windowManager=new m.WindowManager(u)}if(v.encoding=="xml"){u.onGetContent.add(function(s,t){if(t.save){t.content=n.encode(t.content)}})}if(v.add_form_submit_trigger){u.onSubmit.addToTop(function(){if(u.initialized){u.save();u.isNotDirty=1}})}if(v.add_unload_trigger){u._beforeUnload=tinyMCE.onBeforeUnload.add(function(){if(u.initialized&&!u.destroyed&&!u.isHidden()){u.save({format:"raw",no_events:true})}})}m.addUnload(u.destroy,u);if(v.submit_patch){u.onBeforeRenderUI.add(function(){var s=u.getElement().form;if(!s){return}if(s._mceOldSubmit){return}if(!s.submit.nodeType&&!s.submit.length){u.formElement=s;s._mceOldSubmit=s.submit;s.submit=function(){m.triggerSave();u.isNotDirty=1;return u.formElement._mceOldSubmit(u.formElement)}}s=null})}function q(){if(v.language&&v.language_load!==false){p.add(m.baseURL+"/langs/"+v.language+".js")}if(v.theme&&v.theme.charAt(0)!="-"&&!h.urls[v.theme]){h.load(v.theme,"themes/"+v.theme+"/editor_template"+m.suffix+".js")}i(g(v.plugins),function(s){if(s&&s.charAt(0)!="-"&&!c.urls[s]){if(s=="safari"){return}c.load(s,"plugins/"+s+"/editor_plugin"+m.suffix+".js")}});p.loadQueue(function(){if(!u.removed){u.init()}})}q()},init:function(){var r,F=this,G=F.settings,C,z,B=F.getElement(),q,p,D,x,A,E,y;m.add(F);G.aria_label=G.aria_label||n.getAttrib(B,"aria-label",F.getLang("aria.rich_text_area"));if(G.theme){G.theme=G.theme.replace(/-/,"");q=h.get(G.theme);F.theme=new q();if(F.theme.init&&G.init_theme){F.theme.init(F,h.urls[G.theme]||m.documentBaseURL.replace(/\/$/,""))}}i(g(G.plugins.replace(/\-/g,"")),function(H){var I=c.get(H),t=c.urls[H]||m.documentBaseURL.replace(/\/$/,""),s;if(I){s=new I(F,t);F.plugins[H]=s;if(s.init){s.init(F,t)}}});if(G.popup_css!==false){if(G.popup_css){G.popup_css=F.documentBaseURI.toAbsolute(G.popup_css)}else{G.popup_css=F.baseURI.toAbsolute("themes/"+G.theme+"/skins/"+G.skin+"/dialog.css")}}if(G.popup_css_add){G.popup_css+=","+F.documentBaseURI.toAbsolute(G.popup_css_add)}F.controlManager=new m.ControlManager(F);if(G.custom_undo_redo){F.onBeforeExecCommand.add(function(t,H,u,I,s){if(H!="Undo"&&H!="Redo"&&H!="mceRepaint"&&(!s||!s.skip_undo)){F.undoManager.beforeChange()}});F.onExecCommand.add(function(t,H,u,I,s){if(H!="Undo"&&H!="Redo"&&H!="mceRepaint"&&(!s||!s.skip_undo)){F.undoManager.add()}})}F.onExecCommand.add(function(s,t){if(!/^(FontName|FontSize)$/.test(t)){F.nodeChanged()}});if(a){function v(s,t){if(!t||!t.initial){F.execCommand("mceRepaint")}}F.onUndo.add(v);F.onRedo.add(v);F.onSetContent.add(v)}F.onBeforeRenderUI.dispatch(F,F.controlManager);if(G.render_ui){C=G.width||B.style.width||B.offsetWidth;z=G.height||B.style.height||B.offsetHeight;F.orgDisplay=B.style.display;E=/^[0-9\.]+(|px)$/i;if(E.test(""+C)){C=Math.max(parseInt(C)+(q.deltaWidth||0),100)}if(E.test(""+z)){z=Math.max(parseInt(z)+(q.deltaHeight||0),100)}q=F.theme.renderUI({targetNode:B,width:C,height:z,deltaWidth:G.delta_width,deltaHeight:G.delta_height});F.editorContainer=q.editorContainer}if(document.domain&&location.hostname!=document.domain){m.relaxedDomain=document.domain}n.setStyles(q.sizeContainer||q.editorContainer,{width:C,height:z});if(G.content_css){m.each(g(G.content_css),function(s){F.contentCSS.push(F.documentBaseURI.toAbsolute(s))})}z=(q.iframeHeight||z)+(typeof(z)=="number"?(q.deltaHeight||0):"");if(z<100){z=100}F.iframeHTML=G.doctype+'<html><head xmlns="http://www.w3.org/1999/xhtml">';if(G.document_base_url!=m.documentBaseURL){F.iframeHTML+='<base href="'+F.documentBaseURI.getURI()+'" />'}if(G.ie7_compat){F.iframeHTML+='<meta http-equiv="X-UA-Compatible" content="IE=7" />'}else{F.iframeHTML+='<meta http-equiv="X-UA-Compatible" content="IE=edge" />'}F.iframeHTML+='<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />';if(!a||!/Firefox\/2/.test(navigator.userAgent)){for(y=0;y<F.contentCSS.length;y++){F.iframeHTML+='<link type="text/css" rel="stylesheet" href="'+F.contentCSS[y]+'" />'}F.contentCSS=[]}x=G.body_id||"tinymce";if(x.indexOf("=")!=-1){x=F.getParam("body_id","","hash");x=x[F.id]||x}A=G.body_class||"";if(A.indexOf("=")!=-1){A=F.getParam("body_class","","hash");A=A[F.id]||""}F.iframeHTML+='</head><body id="'+x+'" class="mceContentBody '+A+'"></body></html>';if(m.relaxedDomain&&(b||(m.isOpera&&parseFloat(opera.version())<11))){D='javascript:(function(){document.open();document.domain="'+document.domain+'";var ed = window.parent.tinyMCE.get("'+F.id+'");document.write(ed.iframeHTML);document.close();ed.setupIframe();})()'}r=n.add(q.iframeContainer,"iframe",{id:F.id+"_ifr",src:D||'javascript:""',frameBorder:"0",title:G.aria_label,style:{width:"100%",height:z}});F.contentAreaContainer=q.iframeContainer;n.get(q.editorContainer).style.display=F.orgDisplay;n.get(F.id).style.display="none";n.setAttrib(F.id,"aria-hidden",true);if(!m.relaxedDomain||!D){F.setupIframe()}B=r=q=null},setupIframe:function(){var r=this,x=r.settings,y=n.get(r.id),z=r.getDoc(),v,p;if(!b||!m.relaxedDomain){z.open();z.write(r.iframeHTML);z.close();if(m.relaxedDomain){z.domain=m.relaxedDomain}}if(!b){try{if(!x.readonly){z.designMode="On"}}catch(q){}}if(b){p=r.getBody();n.hide(p);if(!x.readonly){p.contentEditable=true}n.show(p)}r.schema=new m.html.Schema(x);r.dom=new m.dom.DOMUtils(r.getDoc(),{keep_values:true,url_converter:r.convertURL,url_converter_scope:r,hex_colors:x.force_hex_style_colors,class_filter:x.class_filter,update_styles:1,fix_ie_paragraphs:1,schema:r.schema});r.parser=new m.html.DomParser(x,r.schema);r.parser.addAttributeFilter("name",function(s,t){var B=s.length,D,A,C,E;while(B--){E=s[B];if(E.name==="a"&&E.firstChild){C=E.parent;D=E.lastChild;do{A=D.prev;C.insert(D,E);D=A}while(D)}}});r.parser.addAttributeFilter("src,href,style",function(s,t){var A=s.length,B,D=r.dom,C;while(A--){B=s[A];C=B.attr(t);if(t==="style"){B.attr("data-mce-style",D.serializeStyle(D.parseStyle(C),B.name))}else{B.attr("data-mce-"+t,r.convertURL(C,t,B.name))}}});r.parser.addNodeFilter("script",function(s,t){var A=s.length;while(A--){s[A].attr("type","mce-text/javascript")}});r.parser.addNodeFilter("#cdata",function(s,t){var A=s.length,B;while(A--){B=s[A];B.type=8;B.name="#comment";B.value="[CDATA["+B.value+"]]"}});r.parser.addNodeFilter("p,h1,h2,h3,h4,h5,h6,div",function(t,A){var B=t.length,C,s=r.schema.getNonEmptyElements();while(B--){C=t[B];if(C.isEmpty(s)){C.empty().append(new m.html.Node("br",1)).shortEnded=true}}});r.serializer=new m.dom.Serializer(x,r.dom,r.schema);r.selection=new m.dom.Selection(r.dom,r.getWin(),r.serializer);r.formatter=new m.Formatter(this);r.formatter.register({alignleft:[{selector:"p,h1,h2,h3,h4,h5,h6,td,th,div,ul,ol,li",styles:{textAlign:"left"}},{selector:"img,table",collapsed:false,styles:{"float":"left"}}],aligncenter:[{selector:"p,h1,h2,h3,h4,h5,h6,td,th,div,ul,ol,li",styles:{textAlign:"center"}},{selector:"img",collapsed:false,styles:{display:"block",marginLeft:"auto",marginRight:"auto"}},{selector:"table",collapsed:false,styles:{marginLeft:"auto",marginRight:"auto"}}],alignright:[{selector:"p,h1,h2,h3,h4,h5,h6,td,th,div,ul,ol,li",styles:{textAlign:"right"}},{selector:"img,table",collapsed:false,styles:{"float":"right"}}],alignfull:[{selector:"p,h1,h2,h3,h4,h5,h6,td,th,div,ul,ol,li",styles:{textAlign:"justify"}}],bold:[{inline:"strong",remove:"all"},{inline:"span",styles:{fontWeight:"bold"}},{inline:"b",remove:"all"}],italic:[{inline:"em",remove:"all"},{inline:"span",styles:{fontStyle:"italic"}},{inline:"i",remove:"all"}],underline:[{inline:"span",styles:{textDecoration:"underline"},exact:true},{inline:"u",remove:"all"}],strikethrough:[{inline:"span",styles:{textDecoration:"line-through"},exact:true},{inline:"strike",remove:"all"}],forecolor:{inline:"span",styles:{color:"%value"},wrap_links:false},hilitecolor:{inline:"span",styles:{backgroundColor:"%value"},wrap_links:false},fontname:{inline:"span",styles:{fontFamily:"%value"}},fontsize:{inline:"span",styles:{fontSize:"%value"}},fontsize_class:{inline:"span",attributes:{"class":"%value"}},blockquote:{block:"blockquote",wrapper:1,remove:"all"},subscript:{inline:"sub"},superscript:{inline:"sup"},removeformat:[{selector:"b,strong,em,i,font,u,strike",remove:"all",split:true,expand:false,block_expand:true,deep:true},{selector:"span",attributes:["style","class"],remove:"empty",split:true,expand:false,deep:true},{selector:"*",attributes:["style","class"],split:false,expand:false,deep:true}]});i("p h1 h2 h3 h4 h5 h6 div address pre div code dt dd samp".split(/\s/),function(s){r.formatter.register(s,{block:s,remove:"all"})});r.formatter.register(r.settings.formats);r.undoManager=new m.UndoManager(r);r.undoManager.onAdd.add(function(t,s){if(t.hasUndo()){return r.onChange.dispatch(r,s,t)}});r.undoManager.onUndo.add(function(t,s){return r.onUndo.dispatch(r,s,t)});r.undoManager.onRedo.add(function(t,s){return r.onRedo.dispatch(r,s,t)});r.forceBlocks=new m.ForceBlocks(r,{forced_root_block:x.forced_root_block});r.editorCommands=new m.EditorCommands(r);r.serializer.onPreProcess.add(function(s,t){return r.onPreProcess.dispatch(r,t,s)});r.serializer.onPostProcess.add(function(s,t){return r.onPostProcess.dispatch(r,t,s)});r.onPreInit.dispatch(r);if(!x.gecko_spellcheck){r.getBody().spellcheck=0}if(!x.readonly){r._addEvents()}r.controlManager.onPostRender.dispatch(r,r.controlManager);r.onPostRender.dispatch(r);if(x.directionality){r.getBody().dir=x.directionality}if(x.nowrap){r.getBody().style.whiteSpace="nowrap"}if(x.handle_node_change_callback){r.onNodeChange.add(function(t,s,A){r.execCallback("handle_node_change_callback",r.id,A,-1,-1,true,r.selection.isCollapsed())})}if(x.save_callback){r.onSaveContent.add(function(s,A){var t=r.execCallback("save_callback",r.id,A.content,r.getBody());if(t){A.content=t}})}if(x.onchange_callback){r.onChange.add(function(t,s){r.execCallback("onchange_callback",r,s)})}if(x.protect){r.onBeforeSetContent.add(function(s,t){if(x.protect){i(x.protect,function(A){t.content=t.content.replace(A,function(B){return"<!--mce:protected "+escape(B)+"-->"})})}})}if(x.convert_newlines_to_brs){r.onBeforeSetContent.add(function(s,t){if(t.initial){t.content=t.content.replace(/\r?\n/g,"<br />")}})}if(x.preformatted){r.onPostProcess.add(function(s,t){t.content=t.content.replace(/^\s*<pre.*?>/,"");t.content=t.content.replace(/<\/pre>\s*$/,"");if(t.set){t.content='<pre class="mceItemHidden">'+t.content+"</pre>"}})}if(x.verify_css_classes){r.serializer.attribValueFilter=function(C,A){var B,t;if(C=="class"){if(!r.classesRE){t=r.dom.getClasses();if(t.length>0){B="";i(t,function(s){B+=(B?"|":"")+s["class"]});r.classesRE=new RegExp("("+B+")","gi")}}return !r.classesRE||/(\bmceItem\w+\b|\bmceTemp\w+\b)/g.test(A)||r.classesRE.test(A)?A:""}return A}}if(x.cleanup_callback){r.onBeforeSetContent.add(function(s,t){t.content=r.execCallback("cleanup_callback","insert_to_editor",t.content,t)});r.onPreProcess.add(function(s,t){if(t.set){r.execCallback("cleanup_callback","insert_to_editor_dom",t.node,t)}if(t.get){r.execCallback("cleanup_callback","get_from_editor_dom",t.node,t)}});r.onPostProcess.add(function(s,t){if(t.set){t.content=r.execCallback("cleanup_callback","insert_to_editor",t.content,t)}if(t.get){t.content=r.execCallback("cleanup_callback","get_from_editor",t.content,t)}})}if(x.save_callback){r.onGetContent.add(function(s,t){if(t.save){t.content=r.execCallback("save_callback",r.id,t.content,r.getBody())}})}if(x.handle_event_callback){r.onEvent.add(function(s,t,A){if(r.execCallback("handle_event_callback",t,s,A)===false){j.cancel(t)}})}r.onSetContent.add(function(){r.addVisual(r.getBody())});if(x.padd_empty_editor){r.onPostProcess.add(function(s,t){t.content=t.content.replace(/^(<p[^>]*>( | |\s|\u00a0|)<\/p>[\r\n]*|<br \/>[\r\n]*)$/,"")})}if(a){function u(s,t){i(s.dom.select("a"),function(B){var A=B.parentNode;if(s.dom.isBlock(A)&&A.lastChild===B){s.dom.add(A,"br",{"data-mce-bogus":1})}})}r.onExecCommand.add(function(s,t){if(t==="CreateLink"){u(s)}});r.onSetContent.add(r.selection.onSetContent.add(u));if(!x.readonly){try{z.designMode="Off";z.designMode="On"}catch(q){}}}setTimeout(function(){if(r.removed){return}r.load({initial:true,format:"html"});r.startContent=r.getContent({format:"raw"});r.undoManager.add();r.initialized=true;r.onInit.dispatch(r);r.execCallback("setupcontent_callback",r.id,r.getBody(),r.getDoc());r.execCallback("init_instance_callback",r);r.focus(true);r.nodeChanged({initial:1});i(r.contentCSS,function(s){r.dom.loadCSS(s)});if(x.auto_focus){setTimeout(function(){var s=m.get(x.auto_focus);s.selection.select(s.getBody(),1);s.selection.collapse(1);s.getWin().focus()},100)}},1);y=null},focus:function(s){var x,q=this,v=q.settings.content_editable,r,p,u=q.getDoc();if(!s){r=q.selection.getRng();if(r.item){p=r.item(0)}if(!v){q.getWin().focus()}if(p&&p.ownerDocument==u){r=u.body.createControlRange();r.addElement(p);r.select()}}if(m.activeEditor!=q){if((x=m.activeEditor)!=null){x.onDeactivate.dispatch(x,q)}q.onActivate.dispatch(q,x)}m._setActive(q)},execCallback:function(u){var p=this,r=p.settings[u],q;if(!r){return}if(p.callbackLookup&&(q=p.callbackLookup[u])){r=q.func;q=q.scope}if(d(r,"string")){q=r.replace(/\.\w+$/,"");q=q?m.resolve(q):0;r=m.resolve(r);p.callbackLookup=p.callbackLookup||{};p.callbackLookup[u]={func:r,scope:q}}return r.apply(q||p,Array.prototype.slice.call(arguments,1))},translate:function(p){var r=this.settings.language||"en",q=m.i18n;if(!p){return""}return q[r+"."+p]||p.replace(/{\#([^}]+)\}/g,function(t,s){return q[r+"."+s]||"{#"+s+"}"})},getLang:function(q,p){return m.i18n[(this.settings.language||"en")+"."+q]||(d(p)?p:"{#"+q+"}")},getParam:function(u,r,p){var s=m.trim,q=d(this.settings[u])?this.settings[u]:r,t;if(p==="hash"){t={};if(d(q,"string")){i(q.indexOf("=")>0?q.split(/[;,](?![^=;,]*(?:[;,]|$))/):q.split(","),function(x){x=x.split("=");if(x.length>1){t[s(x[0])]=s(x[1])}else{t[s(x[0])]=s(x)}})}else{t=q}return t}return q},nodeChanged:function(r){var p=this,q=p.selection,u=q.getStart()||p.getBody();if(p.initialized){r=r||{};u=b&&u.ownerDocument!=p.getDoc()?p.getBody():u;r.parents=[];p.dom.getParent(u,function(s){if(s.nodeName=="BODY"){return true}r.parents.push(s)});p.onNodeChange.dispatch(p,r?r.controlManager||p.controlManager:p.controlManager,u,q.isCollapsed(),r)}},addButton:function(r,q){var p=this;p.buttons=p.buttons||{};p.buttons[r]=q},addCommand:function(p,r,q){this.execCommands[p]={func:r,scope:q||this}},addQueryStateHandler:function(p,r,q){this.queryStateCommands[p]={func:r,scope:q||this}},addQueryValueHandler:function(p,r,q){this.queryValueCommands[p]={func:r,scope:q||this}},addShortcut:function(r,u,p,s){var q=this,v;if(!q.settings.custom_shortcuts){return false}q.shortcuts=q.shortcuts||{};if(d(p,"string")){v=p;p=function(){q.execCommand(v,false,null)}}if(d(p,"object")){v=p;p=function(){q.execCommand(v[0],v[1],v[2])}}i(g(r),function(t){var x={func:p,scope:s||this,desc:u,alt:false,ctrl:false,shift:false};i(g(t,"+"),function(y){switch(y){case"alt":case"ctrl":case"shift":x[y]=true;break;default:x.charCode=y.charCodeAt(0);x.keyCode=y.toUpperCase().charCodeAt(0)}});q.shortcuts[(x.ctrl?"ctrl":"")+","+(x.alt?"alt":"")+","+(x.shift?"shift":"")+","+x.keyCode]=x});return true},execCommand:function(x,v,z,p){var r=this,u=0,y,q;if(!/^(mceAddUndoLevel|mceEndUndoLevel|mceBeginUndoLevel|mceRepaint|SelectAll)$/.test(x)&&(!p||!p.skip_focus)){r.focus()}y={};r.onBeforeExecCommand.dispatch(r,x,v,z,y);if(y.terminate){return false}if(r.execCallback("execcommand_callback",r.id,r.selection.getNode(),x,v,z)){r.onExecCommand.dispatch(r,x,v,z,p);return true}if(y=r.execCommands[x]){q=y.func.call(y.scope,v,z);if(q!==true){r.onExecCommand.dispatch(r,x,v,z,p);return q}}i(r.plugins,function(s){if(s.execCommand&&s.execCommand(x,v,z)){r.onExecCommand.dispatch(r,x,v,z,p);u=1;return false}});if(u){return true}if(r.theme&&r.theme.execCommand&&r.theme.execCommand(x,v,z)){r.onExecCommand.dispatch(r,x,v,z,p);return true}if(r.editorCommands.execCommand(x,v,z)){r.onExecCommand.dispatch(r,x,v,z,p);return true}r.getDoc().execCommand(x,v,z);r.onExecCommand.dispatch(r,x,v,z,p)},queryCommandState:function(u){var q=this,v,r;if(q._isHidden()){return}if(v=q.queryStateCommands[u]){r=v.func.call(v.scope);if(r!==true){return r}}v=q.editorCommands.queryCommandState(u);if(v!==-1){return v}try{return this.getDoc().queryCommandState(u)}catch(p){}},queryCommandValue:function(v){var q=this,u,r;if(q._isHidden()){return}if(u=q.queryValueCommands[v]){r=u.func.call(u.scope);if(r!==true){return r}}u=q.editorCommands.queryCommandValue(v);if(d(u)){return u}try{return this.getDoc().queryCommandValue(v)}catch(p){}},show:function(){var p=this;n.show(p.getContainer());n.hide(p.id);p.load()},hide:function(){var p=this,q=p.getDoc();if(b&&q){q.execCommand("SelectAll")}p.save();n.hide(p.getContainer());n.setStyle(p.id,"display",p.orgDisplay)},isHidden:function(){return !n.isHidden(this.id)},setProgressState:function(p,q,r){this.onSetProgressState.dispatch(this,p,q,r);return p},load:function(s){var p=this,r=p.getElement(),q;if(r){s=s||{};s.load=true;q=p.setContent(d(r.value)?r.value:r.innerHTML,s);s.element=r;if(!s.no_events){p.onLoadContent.dispatch(p,s)}s.element=r=null;return q}},save:function(u){var p=this,s=p.getElement(),q,r;if(!s||!p.initialized){return}u=u||{};u.save=true;if(!u.no_events){p.undoManager.typing=false;p.undoManager.add()}u.element=s;q=u.content=p.getContent(u);if(!u.no_events){p.onSaveContent.dispatch(p,u)}q=u.content;if(!/TEXTAREA|INPUT/i.test(s.nodeName)){s.innerHTML=q;if(r=n.getParent(p.id,"form")){i(r.elements,function(t){if(t.name==p.id){t.value=q;return false}})}}else{s.value=q}u.element=s=null;return q},setContent:function(t,s){var r=this,q,p=r.getBody();s=s||{};s.format=s.format||"html";s.set=true;s.content=t;if(!s.no_events){r.onBeforeSetContent.dispatch(r,s)}t=s.content;if(!m.isIE&&(t.length===0||/^\s+$/.test(t))){p.innerHTML='<br data-mce-bogus="1" />';return}if(s.format!=="raw"){t=new m.html.Serializer({},r.schema).serialize(r.parser.parse(t))}s.content=m.trim(t);r.dom.setHTML(p,s.content);if(!s.no_events){r.onSetContent.dispatch(r,s)}return s.content},getContent:function(q){var p=this,r;q=q||{};q.format=q.format||"html";q.get=true;if(!q.no_events){p.onBeforeGetContent.dispatch(p,q)}if(q.format=="raw"){r=p.getBody().innerHTML}else{r=p.serializer.serialize(p.getBody(),q)}q.content=m.trim(r);if(!q.no_events){p.onGetContent.dispatch(p,q)}return q.content},isDirty:function(){var p=this;return m.trim(p.startContent)!=m.trim(p.getContent({format:"raw",no_events:1}))&&!p.isNotDirty},getContainer:function(){var p=this;if(!p.container){p.container=n.get(p.editorContainer||p.id+"_parent")}return p.container},getContentAreaContainer:function(){return this.contentAreaContainer},getElement:function(){return n.get(this.settings.content_element||this.id)},getWin:function(){var p=this,q;if(!p.contentWindow){q=n.get(p.id+"_ifr");if(q){p.contentWindow=q.contentWindow}}return p.contentWindow},getDoc:function(){var q=this,p;if(!q.contentDocument){p=q.getWin();if(p){q.contentDocument=p.document}}return q.contentDocument},getBody:function(){return this.bodyElement||this.getDoc().body},convertURL:function(p,x,v){var q=this,r=q.settings;if(r.urlconverter_callback){return q.execCallback("urlconverter_callback",p,v,true,x)}if(!r.convert_urls||(v&&v.nodeName=="LINK")||p.indexOf("file:")===0){return p}if(r.relative_urls){return q.documentBaseURI.toRelative(p)}p=q.documentBaseURI.toAbsolute(p,r.remove_script_host);return p},addVisual:function(r){var p=this,q=p.settings;r=r||p.getBody();if(!d(p.hasVisual)){p.hasVisual=q.visual}i(p.dom.select("table,a",r),function(t){var s;switch(t.nodeName){case"TABLE":s=p.dom.getAttrib(t,"border");if(!s||s=="0"){if(p.hasVisual){p.dom.addClass(t,q.visual_table_class)}else{p.dom.removeClass(t,q.visual_table_class)}}return;case"A":s=p.dom.getAttrib(t,"name");if(s){if(p.hasVisual){p.dom.addClass(t,"mceItemAnchor")}else{p.dom.removeClass(t,"mceItemAnchor")}}return}});p.onVisualAid.dispatch(p,r,p.hasVisual)},remove:function(){var p=this,q=p.getContainer();p.removed=1;p.hide();p.execCallback("remove_instance_callback",p);p.onRemove.dispatch(p);p.onExecCommand.listeners=[];m.remove(p);n.remove(q)},destroy:function(q){var p=this;if(p.destroyed){return}if(!q){m.removeUnload(p.destroy);tinyMCE.onBeforeUnload.remove(p._beforeUnload);if(p.theme&&p.theme.destroy){p.theme.destroy()}p.controlManager.destroy();p.selection.destroy();p.dom.destroy();if(!p.settings.content_editable){j.clear(p.getWin());j.clear(p.getDoc())}j.clear(p.getBody());j.clear(p.formElement)}if(p.formElement){p.formElement.submit=p.formElement._mceOldSubmit;p.formElement._mceOldSubmit=null}p.contentAreaContainer=p.formElement=p.container=p.settings.content_element=p.bodyElement=p.contentDocument=p.contentWindow=null;if(p.selection){p.selection=p.selection.win=p.selection.dom=p.selection.dom.doc=null}p.destroyed=1},_addEvents:function(){var B=this,r,C=B.settings,q=B.dom,x={mouseup:"onMouseUp",mousedown:"onMouseDown",click:"onClick",keyup:"onKeyUp",keydown:"onKeyDown",keypress:"onKeyPress",submit:"onSubmit",reset:"onReset",contextmenu:"onContextMenu",dblclick:"onDblClick",paste:"onPaste"};function p(t,D){var s=t.type;if(B.removed){return}if(B.onEvent.dispatch(B,t,D)!==false){B[x[t.fakeType||t.type]].dispatch(B,t,D)}}i(x,function(t,s){switch(s){case"contextmenu":q.bind(B.getDoc(),s,p);break;case"paste":q.bind(B.getBody(),s,function(D){p(D)});break;case"submit":case"reset":q.bind(B.getElement().form||n.getParent(B.id,"form"),s,p);break;default:q.bind(C.content_editable?B.getBody():B.getDoc(),s,p)}});q.bind(C.content_editable?B.getBody():(a?B.getDoc():B.getWin()),"focus",function(s){B.focus(true)});if(m.isGecko){q.bind(B.getDoc(),"DOMNodeInserted",function(t){var s;t=t.target;if(t.nodeType===1&&t.nodeName==="IMG"&&(s=t.getAttribute("data-mce-src"))){t.src=B.documentBaseURI.toAbsolute(s)}})}if(a){function u(){var E=this,G=E.getDoc(),F=E.settings;if(a&&!F.readonly){if(E._isHidden()){try{if(!F.content_editable){G.designMode="On"}}catch(D){}}try{G.execCommand("styleWithCSS",0,false)}catch(D){if(!E._isHidden()){try{G.execCommand("useCSS",0,true)}catch(D){}}}if(!F.table_inline_editing){try{G.execCommand("enableInlineTableEditing",false,false)}catch(D){}}if(!F.object_resizing){try{G.execCommand("enableObjectResizing",false,false)}catch(D){}}}}B.onBeforeExecCommand.add(u);B.onMouseDown.add(u)}if(m.isWebKit){B.onClick.add(function(s,t){t=t.target;if(t.nodeName=="IMG"||(t.nodeName=="A"&&q.hasClass(t,"mceItemAnchor"))){B.selection.getSel().setBaseAndExtent(t,0,t,1);B.nodeChanged()}})}B.onMouseUp.add(B.nodeChanged);B.onKeyUp.add(function(s,t){var D=t.keyCode;if((D>=33&&D<=36)||(D>=37&&D<=40)||D==13||D==45||D==46||D==8||(m.isMac&&(D==91||D==93))||t.ctrlKey){B.nodeChanged()}});B.onReset.add(function(){B.setContent(B.startContent,{format:"raw"})});if(C.custom_shortcuts){if(C.custom_undo_redo_keyboard_shortcuts){B.addShortcut("ctrl+z",B.getLang("undo_desc"),"Undo");B.addShortcut("ctrl+y",B.getLang("redo_desc"),"Redo")}B.addShortcut("ctrl+b",B.getLang("bold_desc"),"Bold");B.addShortcut("ctrl+i",B.getLang("italic_desc"),"Italic");B.addShortcut("ctrl+u",B.getLang("underline_desc"),"Underline");for(r=1;r<=6;r++){B.addShortcut("ctrl+"+r,"",["FormatBlock",false,"h"+r])}B.addShortcut("ctrl+7","",["FormatBlock",false,"<p>"]);B.addShortcut("ctrl+8","",["FormatBlock",false,"<div>"]);B.addShortcut("ctrl+9","",["FormatBlock",false,"<address>"]);function v(t){var s=null;if(!t.altKey&&!t.ctrlKey&&!t.metaKey){return s}i(B.shortcuts,function(D){if(m.isMac&&D.ctrl!=t.metaKey){return}else{if(!m.isMac&&D.ctrl!=t.ctrlKey){return}}if(D.alt!=t.altKey){return}if(D.shift!=t.shiftKey){return}if(t.keyCode==D.keyCode||(t.charCode&&t.charCode==D.charCode)){s=D;return false}});return s}B.onKeyUp.add(function(s,t){var D=v(t);if(D){return j.cancel(t)}});B.onKeyPress.add(function(s,t){var D=v(t);if(D){return j.cancel(t)}});B.onKeyDown.add(function(s,t){var D=v(t);if(D){D.func.call(D.scope);return j.cancel(t)}})}if(m.isIE){q.bind(B.getDoc(),"controlselect",function(D){var t=B.resizeInfo,s;D=D.target;if(D.nodeName!=="IMG"){return}if(t){q.unbind(t.node,t.ev,t.cb)}if(!q.hasClass(D,"mceItemNoResize")){ev="resizeend";s=q.bind(D,ev,function(F){var E;F=F.target;if(E=q.getStyle(F,"width")){q.setAttrib(F,"width",E.replace(/[^0-9%]+/g,""));q.setStyle(F,"width","")}if(E=q.getStyle(F,"height")){q.setAttrib(F,"height",E.replace(/[^0-9%]+/g,""));q.setStyle(F,"height","")}})}else{ev="resizestart";s=q.bind(D,"resizestart",j.cancel,j)}t=B.resizeInfo={node:D,ev:ev,cb:s}});B.onKeyDown.add(function(s,D){var t;switch(D.keyCode){case 8:t=B.getDoc().selection;if(t.createRange&&t.createRange().item){s.dom.remove(t.createRange().item(0));return j.cancel(D)}}})}if(m.isOpera){B.onClick.add(function(s,t){j.prevent(t)})}if(C.custom_undo_redo){function y(){B.undoManager.typing=false;B.undoManager.add()}q.bind(B.getDoc(),"focusout",function(s){if(!B.removed&&B.undoManager.typing){y()}});B.dom.bind(B.dom.getRoot(),"dragend",function(s){y()});B.onKeyUp.add(function(t,F){var s,E,D;if(b&&F.keyCode==8){s=B.selection.getRng();if(s.parentElement){E=s.parentElement();D=B.selection.getBookmark();E.innerHTML=E.innerHTML;B.selection.moveToBookmark(D)}}if((F.keyCode>=33&&F.keyCode<=36)||(F.keyCode>=37&&F.keyCode<=40)||F.keyCode==13||F.keyCode==45||F.ctrlKey){y()}});B.onKeyDown.add(function(t,H){var s,F,E,G=H.keyCode;if(b&&G==46){s=B.selection.getRng();if(s.parentElement){F=s.parentElement();if(!B.undoManager.typing){B.undoManager.beforeChange();B.undoManager.typing=true;B.undoManager.add()}if(H.ctrlKey){s.moveEnd("word",1);s.select()}B.selection.getSel().clear();if(s.parentElement()==F){E=B.selection.getBookmark();try{F.innerHTML=F.innerHTML}catch(D){}B.selection.moveToBookmark(E)}H.preventDefault();return}}if((G>=33&&G<=36)||(G>=37&&G<=40)||G==13||G==45){if(m.isIE&&G==13){B.undoManager.beforeChange()}if(B.undoManager.typing){y()}return}if((G<16||G>20)&&G!=224&&G!=91&&!B.undoManager.typing){B.undoManager.beforeChange();B.undoManager.add();B.undoManager.typing=true}});B.onMouseDown.add(function(){if(B.undoManager.typing){y()}})}if(m.isGecko){function A(){var s=B.dom.getAttribs(B.selection.getStart().cloneNode(false));return function(){var t=B.selection.getStart();B.dom.removeAllAttribs(t);i(s,function(D){t.setAttributeNode(D.cloneNode(true))})}}function z(){var t=B.selection;return !t.isCollapsed()&&t.getStart()!=t.getEnd()}B.onKeyPress.add(function(s,D){var t;if((D.keyCode==8||D.keyCode==46)&&z()){t=A();B.getDoc().execCommand("delete",false,null);t();return j.cancel(D)}});B.dom.bind(B.getDoc(),"cut",function(t){var s;if(z()){s=A();B.onKeyUp.addToTop(j.cancel,j);setTimeout(function(){s();B.onKeyUp.remove(j.cancel,j)},0)}})}},_isHidden:function(){var p;if(!a){return 0}p=this.selection.getSel();return(!p||!p.rangeCount||p.rangeCount==0)}})})(tinymce);(function(c){var d=c.each,e,a=true,b=false;c.EditorCommands=function(n){var l=n.dom,p=n.selection,j={state:{},exec:{},value:{}},k=n.settings,o;function q(y,x,v){var u;y=y.toLowerCase();if(u=j.exec[y]){u(y,x,v);return a}return b}function m(v){var u;v=v.toLowerCase();if(u=j.state[v]){return u(v)}return -1}function h(v){var u;v=v.toLowerCase();if(u=j.value[v]){return u(v)}return b}function t(u,v){v=v||"exec";d(u,function(y,x){d(x.toLowerCase().split(","),function(z){j[v][z]=y})})}c.extend(this,{execCommand:q,queryCommandState:m,queryCommandValue:h,addCommands:t});function f(x,v,u){if(v===e){v=b}if(u===e){u=null}return n.getDoc().execCommand(x,v,u)}function s(u){return n.formatter.match(u)}function r(u,v){n.formatter.toggle(u,v?{value:v}:e)}function i(u){o=p.getBookmark(u)}function g(){p.moveToBookmark(o)}t({"mceResetDesignMode,mceBeginUndoLevel":function(){},"mceEndUndoLevel,mceAddUndoLevel":function(){n.undoManager.add()},"Cut,Copy,Paste":function(y){var x=n.getDoc(),u;try{f(y)}catch(v){u=a}if(u||!x.queryCommandSupported(y)){if(c.isGecko){n.windowManager.confirm(n.getLang("clipboard_msg"),function(z){if(z){open("http://www.mozilla.org/editor/midasdemo/securityprefs.html","_blank")}})}else{n.windowManager.alert(n.getLang("clipboard_no_support"))}}},unlink:function(u){if(p.isCollapsed()){p.select(p.getNode())}f(u);p.collapse(b)},"JustifyLeft,JustifyCenter,JustifyRight,JustifyFull":function(u){var v=u.substring(7);d("left,center,right,full".split(","),function(x){if(v!=x){n.formatter.remove("align"+x)}});r("align"+v);q("mceRepaint")},"InsertUnorderedList,InsertOrderedList":function(x){var u,v;f(x);u=l.getParent(p.getNode(),"ol,ul");if(u){v=u.parentNode;if(/^(H[1-6]|P|ADDRESS|PRE)$/.test(v.nodeName)){i();l.split(v,u);g()}}},"Bold,Italic,Underline,Strikethrough,Superscript,Subscript":function(u){r(u)},"ForeColor,HiliteColor,FontName":function(x,v,u){r(x,u)},FontSize:function(y,x,v){var u,z;if(v>=1&&v<=7){z=c.explode(k.font_size_style_values);u=c.explode(k.font_size_classes);if(u){v=u[v-1]||v}else{v=z[v-1]||v}}r(y,v)},RemoveFormat:function(u){n.formatter.remove(u)},mceBlockQuote:function(u){r("blockquote")},FormatBlock:function(x,v,u){return r(u||"p")},mceCleanup:function(){var u=p.getBookmark();n.setContent(n.getContent({cleanup:a}),{cleanup:a});p.moveToBookmark(u)},mceRemoveNode:function(y,x,v){var u=v||p.getNode();if(u!=n.getBody()){i();n.dom.remove(u,a);g()}},mceSelectNodeDepth:function(y,x,v){var u=0;l.getParent(p.getNode(),function(z){if(z.nodeType==1&&u++==v){p.select(z);return b}},n.getBody())},mceSelectNode:function(x,v,u){p.select(u)},mceInsertContent:function(z,D,E){var C,u,x,F,y,u,A,G,B;function v(I,J,H){var K=new c.dom.TreeWalker(H?I.nextSibling:I.previousSibling,J);while((I=K.current())){if((I.nodeType==3&&c.trim(I.nodeValue).length)||I.nodeName=="BR"||I.nodeName=="IMG"){return I}if(H){K.next()}else{K.prev()}}}B={content:E,format:"html"};p.onBeforeSetContent.dispatch(p,B);E=B.content;if(E.indexOf("{$caret}")==-1){E+="{$caret}"}p.setContent('<span id="__mce">\uFEFF</span>',{no_events:false});l.setOuterHTML("__mce",E.replace(/\{\$caret\}/,'<span data-mce-type="bookmark" id="__mce">\uFEFF</span>'));C=l.select("#__mce")[0];x=l.getRoot();if(C.previousSibling&&l.isBlock(C.previousSibling)||C.parentNode==x){y=v(C,x);if(y){if(y.nodeName=="BR"){y.parentNode.insertBefore(C,y)}else{l.insertAfter(C,y)}}}while(C){if(C===x){l.setOuterHTML(F,new c.html.Serializer({},n.schema).serialize(n.parser.parse(l.getOuterHTML(F))));break}F=C;C=C.parentNode}C=l.select("#__mce")[0];if(C){y=v(C,x)||v(C,x,true);l.remove(C);if(y){u=l.createRng();if(y.nodeType==3){u.setStart(y,y.length);u.setEnd(y,y.length)}else{if(y.nodeName=="BR"){u.setStartBefore(y);u.setEndBefore(y)}else{u.setStartAfter(y);u.setEndAfter(y)}}p.setRng(u);if(!c.isIE){y=l.create("span",null,"\u00a0");u.insertNode(y);A=l.getRect(y);G=l.getViewPort(n.getWin());if((A.y>G.y+G.h||A.y<G.y)||(A.x>G.x+G.w||A.x<G.x)){n.getBody().scrollLeft=A.x;n.getBody().scrollTop=A.y}l.remove(y)}p.collapse(true)}}p.onSetContent.dispatch(p,B);n.addVisual()},mceInsertRawHTML:function(x,v,u){p.setContent("tiny_mce_marker");n.setContent(n.getContent().replace(/tiny_mce_marker/g,function(){return u}))},mceSetContent:function(x,v,u){n.setContent(u)},"Indent,Outdent":function(y){var v,u,x;v=k.indentation;u=/[a-z%]+$/i.exec(v);v=parseInt(v);if(!m("InsertUnorderedList")&&!m("InsertOrderedList")){d(p.getSelectedBlocks(),function(z){if(y=="outdent"){x=Math.max(0,parseInt(z.style.paddingLeft||0)-v);l.setStyle(z,"paddingLeft",x?x+u:"")}else{l.setStyle(z,"paddingLeft",(parseInt(z.style.paddingLeft||0)+v)+u)}})}else{f(y)}},mceRepaint:function(){var v;if(c.isGecko){try{i(a);if(p.getSel()){p.getSel().selectAllChildren(n.getBody())}p.collapse(a);g()}catch(u){}}},mceToggleFormat:function(x,v,u){n.formatter.toggle(u)},InsertHorizontalRule:function(){n.execCommand("mceInsertContent",false,"<hr />")},mceToggleVisualAid:function(){n.hasVisual=!n.hasVisual;n.addVisual()},mceReplaceContent:function(x,v,u){n.execCommand("mceInsertContent",false,u.replace(/\{\$selection\}/g,p.getContent({format:"text"})))},mceInsertLink:function(A,z,y){var x=l.getParent(p.getNode(),"a"),v,u;if(c.is(y,"string")){y={href:y}}y.href=y.href.replace(" ","%20");if(!x){if(c.isWebKit){v=l.getParent(p.getNode(),"img");if(v){u=v.style.cssFloat;v.style.cssFloat=null}}f("CreateLink",b,"javascript:mctmp(0);");if(u){v.style.cssFloat=u}d(l.select("a[href='javascript:mctmp(0);']"),function(B){l.setAttribs(B,y)})}else{if(y.href){l.setAttribs(x,y)}else{n.dom.remove(x,a)}}},selectAll:function(){var v=l.getRoot(),u=l.createRng();u.setStart(v,0);u.setEnd(v,v.childNodes.length);n.selection.setRng(u)}});t({"JustifyLeft,JustifyCenter,JustifyRight,JustifyFull":function(u){return s("align"+u.substring(7))},"Bold,Italic,Underline,Strikethrough,Superscript,Subscript":function(u){return s(u)},mceBlockQuote:function(){return s("blockquote")},Outdent:function(){var u;if(k.inline_styles){if((u=l.getParent(p.getStart(),l.isBlock))&&parseInt(u.style.paddingLeft)>0){return a}if((u=l.getParent(p.getEnd(),l.isBlock))&&parseInt(u.style.paddingLeft)>0){return a}}return m("InsertUnorderedList")||m("InsertOrderedList")||(!k.inline_styles&&!!l.getParent(p.getNode(),"BLOCKQUOTE"))},"InsertUnorderedList,InsertOrderedList":function(u){return l.getParent(p.getNode(),u=="insertunorderedlist"?"UL":"OL")}},"state");t({"FontSize,FontName":function(x){var v=0,u;if(u=l.getParent(p.getNode(),"span")){if(x=="fontsize"){v=u.style.fontSize}else{v=u.style.fontFamily.replace(/, /g,",").replace(/[\'\"]/g,"").toLowerCase()}}return v}},"value");if(k.custom_undo_redo){t({Undo:function(){n.undoManager.undo()},Redo:function(){n.undoManager.redo()}})}}})(tinymce);(function(b){var a=b.util.Dispatcher;b.UndoManager=function(e){var c,d=0,g=[];function f(){return b.trim(e.getContent({format:"raw",no_events:1}))}return c={typing:false,onAdd:new a(c),onUndo:new a(c),onRedo:new a(c),beforeChange:function(){if(g[d]){g[d].beforeBookmark=e.selection.getBookmark(2,true)}},add:function(l){var h,j=e.settings,k;l=l||{};l.content=f();k=g[d];if(k&&k.content==l.content){return null}if(j.custom_undo_redo_levels){if(g.length>j.custom_undo_redo_levels){for(h=0;h<g.length-1;h++){g[h]=g[h+1]}g.length--;d=g.length}}l.bookmark=e.selection.getBookmark(2,true);if(d<g.length-1){g.length=d+1}g.push(l);d=g.length-1;c.onAdd.dispatch(c,l);e.isNotDirty=0;return l},undo:function(){var j,h;if(c.typing){c.add();c.typing=false}if(d>0){j=g[--d];e.setContent(j.content,{format:"raw"});e.selection.moveToBookmark(j.beforeBookmark);c.onUndo.dispatch(c,j)}return j},redo:function(){var h;if(d<g.length-1){h=g[++d];e.setContent(h.content,{format:"raw"});e.selection.moveToBookmark(h.bookmark);c.onRedo.dispatch(c,h)}return h},clear:function(){g=[];d=0;c.typing=false},hasUndo:function(){return d>0||this.typing},hasRedo:function(){return d<g.length-1&&!this.typing}}}})(tinymce);(function(l){var j=l.dom.Event,c=l.isIE,a=l.isGecko,b=l.isOpera,i=l.each,h=l.extend,d=true,g=false;function k(o){var p,n,m;do{if(/^(SPAN|STRONG|B|EM|I|FONT|STRIKE|U)$/.test(o.nodeName)){if(p){n=o.cloneNode(false);n.appendChild(p);p=n}else{p=m=o.cloneNode(false)}p.removeAttribute("id")}}while(o=o.parentNode);if(p){return{wrapper:p,inner:m}}}function f(n,o){var m=o.ownerDocument.createRange();m.setStart(n.endContainer,n.endOffset);m.setEndAfter(o);return m.cloneContents().textContent.length==0}function e(o,q,m){var n,p;if(q.isEmpty(m)){n=q.getParent(m,"ul,ol");if(!q.getParent(n.parentNode,"ul,ol")){q.split(n,m);p=q.create("p",0,'<br data-mce-bogus="1" />');q.replace(p,m);o.select(p,1)}return g}return d}l.create("tinymce.ForceBlocks",{ForceBlocks:function(m){var n=this,o=m.settings,p;n.editor=m;n.dom=m.dom;p=(o.forced_root_block||"p").toLowerCase();o.element=p.toUpperCase();m.onPreInit.add(n.setup,n);if(o.forced_root_block){m.onInit.add(n.forceRoots,n);m.onSetContent.add(n.forceRoots,n);m.onBeforeGetContent.add(n.forceRoots,n);m.onExecCommand.add(function(q,r){if(r=="mceInsertContent"){n.forceRoots();q.nodeChanged()}})}},setup:function(){var n=this,m=n.editor,p=m.settings,r=m.dom,o=m.selection;if(p.forced_root_block){m.onBeforeExecCommand.add(n.forceRoots,n);m.onKeyUp.add(n.forceRoots,n);m.onPreProcess.add(n.forceRoots,n)}if(p.force_br_newlines){if(c){m.onKeyPress.add(function(s,t){var u;if(t.keyCode==13&&o.getNode().nodeName!="LI"){o.setContent('<br id="__" /> ',{format:"raw"});u=r.get("__");u.removeAttribute("id");o.select(u);o.collapse();return j.cancel(t)}})}}if(p.force_p_newlines){if(!c){m.onKeyPress.add(function(s,t){if(t.keyCode==13&&!t.shiftKey&&!n.insertPara(t)){j.cancel(t)}})}else{l.addUnload(function(){n._previousFormats=0});m.onKeyPress.add(function(s,t){n._previousFormats=0;if(t.keyCode==13&&!t.shiftKey&&s.selection.isCollapsed()&&p.keep_styles){n._previousFormats=k(s.selection.getStart())}});m.onKeyUp.add(function(t,v){if(v.keyCode==13&&!v.shiftKey){var u=t.selection.getStart(),s=n._previousFormats;if(!u.hasChildNodes()&&s){u=r.getParent(u,r.isBlock);if(u&&u.nodeName!="LI"){u.innerHTML="";if(n._previousFormats){u.appendChild(s.wrapper);s.inner.innerHTML="\uFEFF"}else{u.innerHTML="\uFEFF"}o.select(u,1);o.collapse(true);t.getDoc().execCommand("Delete",false,null);n._previousFormats=0}}}})}if(a){m.onKeyDown.add(function(s,t){if((t.keyCode==8||t.keyCode==46)&&!t.shiftKey){n.backspaceDelete(t,t.keyCode==8)}})}}if(l.isWebKit){function q(t){var s=o.getRng(),u,y=r.create("div",null," "),x,v=r.getViewPort(t.getWin()).h;s.insertNode(u=r.create("br"));s.setStartAfter(u);s.setEndAfter(u);o.setRng(s);if(o.getSel().focusNode==u.previousSibling){o.select(r.insertAfter(r.doc.createTextNode("\u00a0"),u));o.collapse(d)}r.insertAfter(y,u);x=r.getPos(y).y;r.remove(y);if(x>v){t.getWin().scrollTo(0,x)}}m.onKeyPress.add(function(s,t){if(t.keyCode==13&&(t.shiftKey||(p.force_br_newlines&&!r.getParent(o.getNode(),"h1,h2,h3,h4,h5,h6,ol,ul")))){q(s);j.cancel(t)}})}if(c){if(p.element!="P"){m.onKeyPress.add(function(s,t){n.lastElm=o.getNode().nodeName});m.onKeyUp.add(function(t,u){var x,v=o.getNode(),s=t.getBody();if(s.childNodes.length===1&&v.nodeName=="P"){v=r.rename(v,p.element);o.select(v);o.collapse();t.nodeChanged()}else{if(u.keyCode==13&&!u.shiftKey&&n.lastElm!="P"){x=r.getParent(v,"p");if(x){r.rename(x,p.element);t.nodeChanged()}}}})}}},find:function(u,p,q){var o=this.editor,m=o.getDoc().createTreeWalker(u,4,null,g),r=-1;while(u=m.nextNode()){r++;if(p==0&&u==q){return r}if(p==1&&r==q){return u}}return -1},forceRoots:function(v,H){var y=this,v=y.editor,L=v.getBody(),I=v.getDoc(),O=v.selection,z=O.getSel(),A=O.getRng(),M=-2,u,F,m,o,J=-16777215;var K,p,N,E,B,q=L.childNodes,D,C,x;for(D=q.length-1;D>=0;D--){K=q[D];if(K.nodeType===1&&K.getAttribute("data-mce-type")){p=null;continue}if(K.nodeType===3||(!y.dom.isBlock(K)&&K.nodeType!==8&&!/^(script|mce:script|style|mce:style)$/i.test(K.nodeName))){if(!p){if(K.nodeType!=3||/[^\s]/g.test(K.nodeValue)){if(M==-2&&A){if(!c||A.setStart){if(A.startContainer.nodeType==1&&(C=A.startContainer.childNodes[A.startOffset])&&C.nodeType==1){x=C.getAttribute("id");C.setAttribute("id","__mce")}else{if(v.dom.getParent(A.startContainer,function(n){return n===L})){F=A.startOffset;m=A.endOffset;M=y.find(L,0,A.startContainer);u=y.find(L,0,A.endContainer)}}}else{if(A.item){o=I.body.createTextRange();o.moveToElementText(A.item(0));A=o}o=I.body.createTextRange();o.moveToElementText(L);o.collapse(1);N=o.move("character",J)*-1;o=A.duplicate();o.collapse(1);E=o.move("character",J)*-1;o=A.duplicate();o.collapse(0);B=(o.move("character",J)*-1)-E;M=E-N;u=B}}p=v.dom.create(v.settings.forced_root_block);K.parentNode.replaceChild(p,K);p.appendChild(K)}}else{if(p.hasChildNodes()){p.insertBefore(K,p.firstChild)}else{p.appendChild(K)}}}else{p=null}}if(M!=-2){if(!c||A.setStart){p=L.getElementsByTagName(v.settings.element)[0];A=I.createRange();if(M!=-1){A.setStart(y.find(L,1,M),F)}else{A.setStart(p,0)}if(u!=-1){A.setEnd(y.find(L,1,u),m)}else{A.setEnd(p,0)}if(z){z.removeAllRanges();z.addRange(A)}}else{try{A=z.createRange();A.moveToElementText(L);A.collapse(1);A.moveStart("character",M);A.moveEnd("character",u);A.select()}catch(G){}}}else{if((!c||A.setStart)&&(C=v.dom.get("__mce"))){if(x){C.setAttribute("id",x)}else{C.removeAttribute("id")}A=I.createRange();A.setStartBefore(C);A.setEndBefore(C);O.setRng(A)}}},getParentBlock:function(o){var m=this.dom;return m.getParent(o,m.isBlock)},insertPara:function(R){var F=this,v=F.editor,N=v.dom,S=v.getDoc(),W=v.settings,G=v.selection.getSel(),H=G.getRangeAt(0),V=S.body;var K,L,I,P,O,q,o,u,z,m,D,U,p,x,J,M=N.getViewPort(v.getWin()),C,E,B;v.undoManager.beforeChange();K=S.createRange();K.setStart(G.anchorNode,G.anchorOffset);K.collapse(d);L=S.createRange();L.setStart(G.focusNode,G.focusOffset);L.collapse(d);I=K.compareBoundaryPoints(K.START_TO_END,L)<0;P=I?G.anchorNode:G.focusNode;O=I?G.anchorOffset:G.focusOffset;q=I?G.focusNode:G.anchorNode;o=I?G.focusOffset:G.anchorOffset;if(P===q&&/^(TD|TH)$/.test(P.nodeName)){if(P.firstChild.nodeName=="BR"){N.remove(P.firstChild)}if(P.childNodes.length==0){v.dom.add(P,W.element,null,"<br />");U=v.dom.add(P,W.element,null,"<br />")}else{J=P.innerHTML;P.innerHTML="";v.dom.add(P,W.element,null,J);U=v.dom.add(P,W.element,null,"<br />")}H=S.createRange();H.selectNodeContents(U);H.collapse(1);v.selection.setRng(H);return g}if(P==V&&q==V&&V.firstChild&&v.dom.isBlock(V.firstChild)){P=q=P.firstChild;O=o=0;K=S.createRange();K.setStart(P,0);L=S.createRange();L.setStart(q,0)}P=P.nodeName=="HTML"?S.body:P;P=P.nodeName=="BODY"?P.firstChild:P;q=q.nodeName=="HTML"?S.body:q;q=q.nodeName=="BODY"?q.firstChild:q;u=F.getParentBlock(P);z=F.getParentBlock(q);m=u?u.nodeName:W.element;if(J=F.dom.getParent(u,"li,pre")){if(J.nodeName=="LI"){return e(v.selection,F.dom,J)}return d}if(u&&(u.nodeName=="CAPTION"||/absolute|relative|fixed/gi.test(N.getStyle(u,"position",1)))){m=W.element;u=null}if(z&&(z.nodeName=="CAPTION"||/absolute|relative|fixed/gi.test(N.getStyle(u,"position",1)))){m=W.element;z=null}if(/(TD|TABLE|TH|CAPTION)/.test(m)||(u&&m=="DIV"&&/left|right/gi.test(N.getStyle(u,"float",1)))){m=W.element;u=z=null}D=(u&&u.nodeName==m)?u.cloneNode(0):v.dom.create(m);U=(z&&z.nodeName==m)?z.cloneNode(0):v.dom.create(m);U.removeAttribute("id");if(/^(H[1-6])$/.test(m)&&f(H,u)){U=v.dom.create(W.element)}J=p=P;do{if(J==V||J.nodeType==9||F.dom.isBlock(J)||/(TD|TABLE|TH|CAPTION)/.test(J.nodeName)){break}p=J}while((J=J.previousSibling?J.previousSibling:J.parentNode));J=x=q;do{if(J==V||J.nodeType==9||F.dom.isBlock(J)||/(TD|TABLE|TH|CAPTION)/.test(J.nodeName)){break}x=J}while((J=J.nextSibling?J.nextSibling:J.parentNode));if(p.nodeName==m){K.setStart(p,0)}else{K.setStartBefore(p)}K.setEnd(P,O);D.appendChild(K.cloneContents()||S.createTextNode(""));try{L.setEndAfter(x)}catch(Q){}L.setStart(q,o);U.appendChild(L.cloneContents()||S.createTextNode(""));H=S.createRange();if(!p.previousSibling&&p.parentNode.nodeName==m){H.setStartBefore(p.parentNode)}else{if(K.startContainer.nodeName==m&&K.startOffset==0){H.setStartBefore(K.startContainer)}else{H.setStart(K.startContainer,K.startOffset)}}if(!x.nextSibling&&x.parentNode.nodeName==m){H.setEndAfter(x.parentNode)}else{H.setEnd(L.endContainer,L.endOffset)}H.deleteContents();if(b){v.getWin().scrollTo(0,M.y)}if(D.firstChild&&D.firstChild.nodeName==m){D.innerHTML=D.firstChild.innerHTML}if(U.firstChild&&U.firstChild.nodeName==m){U.innerHTML=U.firstChild.innerHTML}if(N.isEmpty(D)){D.innerHTML="<br />"}function T(y,s){var r=[],Y,X,t;y.innerHTML="";if(W.keep_styles){X=s;do{if(/^(SPAN|STRONG|B|EM|I|FONT|STRIKE|U)$/.test(X.nodeName)){Y=X.cloneNode(g);N.setAttrib(Y,"id","");r.push(Y)}}while(X=X.parentNode)}if(r.length>0){for(t=r.length-1,Y=y;t>=0;t--){Y=Y.appendChild(r[t])}r[0].innerHTML=b?"\u00a0":"<br />";return r[0]}else{y.innerHTML=b?"\u00a0":"<br />"}}if(N.isEmpty(U)){B=T(U,q)}if(b&&parseFloat(opera.version())<9.5){H.insertNode(D);H.insertNode(U)}else{H.insertNode(U);H.insertNode(D)}U.normalize();D.normalize();function A(r){return S.createTreeWalker(r,NodeFilter.SHOW_TEXT,null,g).nextNode()||r}H=S.createRange();H.selectNodeContents(a?A(B||U):B||U);H.collapse(1);G.removeAllRanges();G.addRange(H);C=v.dom.getPos(U).y;if(C<M.y||C+25>M.y+M.h){v.getWin().scrollTo(0,C<M.y?C:C-M.h+25)}v.undoManager.add();return g},backspaceDelete:function(u,B){var C=this,s=C.editor,y=s.getBody(),q=s.dom,p,v=s.selection,o=v.getRng(),x=o.startContainer,p,z,A,m;if(!B&&o.collapsed&&x.nodeType==1&&o.startOffset==x.childNodes.length){m=new l.dom.TreeWalker(x.lastChild,x);for(p=x.lastChild;p;p=m.prev()){if(p.nodeType==3){o.setStart(p,p.nodeValue.length);o.collapse(true);v.setRng(o);return}}}if(x&&s.dom.isBlock(x)&&!/^(TD|TH)$/.test(x.nodeName)&&B){if(x.childNodes.length==0||(x.childNodes.length==1&&x.firstChild.nodeName=="BR")){p=x;while((p=p.previousSibling)&&!s.dom.isBlock(p)){}if(p){if(x!=y.firstChild){z=s.dom.doc.createTreeWalker(p,NodeFilter.SHOW_TEXT,null,g);while(A=z.nextNode()){p=A}o=s.getDoc().createRange();o.setStart(p,p.nodeValue?p.nodeValue.length:0);o.setEnd(p,p.nodeValue?p.nodeValue.length:0);v.setRng(o);s.dom.remove(x)}return j.cancel(u)}}}}})})(tinymce);(function(c){var b=c.DOM,a=c.dom.Event,d=c.each,e=c.extend;c.create("tinymce.ControlManager",{ControlManager:function(f,j){var h=this,g;j=j||{};h.editor=f;h.controls={};h.onAdd=new c.util.Dispatcher(h);h.onPostRender=new c.util.Dispatcher(h);h.prefix=j.prefix||f.id+"_";h._cls={};h.onPostRender.add(function(){d(h.controls,function(i){i.postRender()})})},get:function(f){return this.controls[this.prefix+f]||this.controls[f]},setActive:function(h,f){var g=null;if(g=this.get(h)){g.setActive(f)}return g},setDisabled:function(h,f){var g=null;if(g=this.get(h)){g.setDisabled(f)}return g},add:function(g){var f=this;if(g){f.controls[g.id]=g;f.onAdd.dispatch(g,f)}return g},createControl:function(i){var h,g=this,f=g.editor;d(f.plugins,function(j){if(j.createControl){h=j.createControl(i,g);if(h){return false}}});switch(i){case"|":case"separator":return g.createSeparator()}if(!h&&f.buttons&&(h=f.buttons[i])){return g.createButton(i,h)}return g.add(h)},createDropMenu:function(f,n,h){var m=this,i=m.editor,j,g,k,l;n=e({"class":"mceDropDown",constrain:i.settings.constrain_menus},n);n["class"]=n["class"]+" "+i.getParam("skin")+"Skin";if(k=i.getParam("skin_variant")){n["class"]+=" "+i.getParam("skin")+"Skin"+k.substring(0,1).toUpperCase()+k.substring(1)}f=m.prefix+f;l=h||m._cls.dropmenu||c.ui.DropMenu;j=m.controls[f]=new l(f,n);j.onAddItem.add(function(r,q){var p=q.settings;p.title=i.getLang(p.title,p.title);if(!p.onclick){p.onclick=function(o){if(p.cmd){i.execCommand(p.cmd,p.ui||false,p.value)}}}});i.onRemove.add(function(){j.destroy()});if(c.isIE){j.onShowMenu.add(function(){i.focus();g=i.selection.getBookmark(1)});j.onHideMenu.add(function(){if(g){i.selection.moveToBookmark(g);g=0}})}return m.add(j)},createListBox:function(m,i,l){var h=this,g=h.editor,j,k,f;if(h.get(m)){return null}i.title=g.translate(i.title);i.scope=i.scope||g;if(!i.onselect){i.onselect=function(n){g.execCommand(i.cmd,i.ui||false,n||i.value)}}i=e({title:i.title,"class":"mce_"+m,scope:i.scope,control_manager:h},i);m=h.prefix+m;if(g.settings.use_native_selects){k=new c.ui.NativeListBox(m,i)}else{f=l||h._cls.listbox||c.ui.ListBox;k=new f(m,i,g)}h.controls[m]=k;if(c.isWebKit){k.onPostRender.add(function(p,o){a.add(o,"mousedown",function(){g.bookmark=g.selection.getBookmark(1)});a.add(o,"focus",function(){g.selection.moveToBookmark(g.bookmark);g.bookmark=null})})}if(k.hideMenu){g.onMouseDown.add(k.hideMenu,k)}return h.add(k)},createButton:function(m,i,l){var h=this,g=h.editor,j,k,f;if(h.get(m)){return null}i.title=g.translate(i.title);i.label=g.translate(i.label);i.scope=i.scope||g;if(!i.onclick&&!i.menu_button){i.onclick=function(){g.execCommand(i.cmd,i.ui||false,i.value)}}i=e({title:i.title,"class":"mce_"+m,unavailable_prefix:g.getLang("unavailable",""),scope:i.scope,control_manager:h},i);m=h.prefix+m;if(i.menu_button){f=l||h._cls.menubutton||c.ui.MenuButton;k=new f(m,i,g);g.onMouseDown.add(k.hideMenu,k)}else{f=h._cls.button||c.ui.Button;k=new f(m,i)}return h.add(k)},createMenuButton:function(h,f,g){f=f||{};f.menu_button=1;return this.createButton(h,f,g)},createSplitButton:function(m,i,l){var h=this,g=h.editor,j,k,f;if(h.get(m)){return null}i.title=g.translate(i.title);i.scope=i.scope||g;if(!i.onclick){i.onclick=function(n){g.execCommand(i.cmd,i.ui||false,n||i.value)}}if(!i.onselect){i.onselect=function(n){g.execCommand(i.cmd,i.ui||false,n||i.value)}}i=e({title:i.title,"class":"mce_"+m,scope:i.scope,control_manager:h},i);m=h.prefix+m;f=l||h._cls.splitbutton||c.ui.SplitButton;k=h.add(new f(m,i,g));g.onMouseDown.add(k.hideMenu,k);return k},createColorSplitButton:function(f,n,h){var l=this,j=l.editor,i,k,m,g;if(l.get(f)){return null}n.title=j.translate(n.title);n.scope=n.scope||j;if(!n.onclick){n.onclick=function(o){if(c.isIE){g=j.selection.getBookmark(1)}j.execCommand(n.cmd,n.ui||false,o||n.value)}}if(!n.onselect){n.onselect=function(o){j.execCommand(n.cmd,n.ui||false,o||n.value)}}n=e({title:n.title,"class":"mce_"+f,menu_class:j.getParam("skin")+"Skin",scope:n.scope,more_colors_title:j.getLang("more_colors")},n);f=l.prefix+f;m=h||l._cls.colorsplitbutton||c.ui.ColorSplitButton;k=new m(f,n,j);j.onMouseDown.add(k.hideMenu,k);j.onRemove.add(function(){k.destroy()});if(c.isIE){k.onShowMenu.add(function(){j.focus();g=j.selection.getBookmark(1)});k.onHideMenu.add(function(){if(g){j.selection.moveToBookmark(g);g=0}})}return l.add(k)},createToolbar:function(k,h,j){var i,g=this,f;k=g.prefix+k;f=j||g._cls.toolbar||c.ui.Toolbar;i=new f(k,h,g.editor);if(g.get(k)){return null}return g.add(i)},createToolbarGroup:function(k,h,j){var i,g=this,f;k=g.prefix+k;f=j||this._cls.toolbarGroup||c.ui.ToolbarGroup;i=new f(k,h,g.editor);if(g.get(k)){return null}return g.add(i)},createSeparator:function(g){var f=g||this._cls.separator||c.ui.Separator;return new f()},setControlType:function(g,f){return this._cls[g.toLowerCase()]=f},destroy:function(){d(this.controls,function(f){f.destroy()});this.controls=null}})})(tinymce);(function(d){var a=d.util.Dispatcher,e=d.each,c=d.isIE,b=d.isOpera;d.create("tinymce.WindowManager",{WindowManager:function(f){var g=this;g.editor=f;g.onOpen=new a(g);g.onClose=new a(g);g.params={};g.features={}},open:function(z,h){var v=this,k="",n,m,i=v.editor.settings.dialog_type=="modal",q,o,j,g=d.DOM.getViewPort(),r;z=z||{};h=h||{};o=b?g.w:screen.width;j=b?g.h:screen.height;z.name=z.name||"mc_"+new Date().getTime();z.width=parseInt(z.width||320);z.height=parseInt(z.height||240);z.resizable=true;z.left=z.left||parseInt(o/2)-(z.width/2);z.top=z.top||parseInt(j/2)-(z.height/2);h.inline=false;h.mce_width=z.width;h.mce_height=z.height;h.mce_auto_focus=z.auto_focus;if(i){if(c){z.center=true;z.help=false;z.dialogWidth=z.width+"px";z.dialogHeight=z.height+"px";z.scroll=z.scrollbars||false}}e(z,function(p,f){if(d.is(p,"boolean")){p=p?"yes":"no"}if(!/^(name|url)$/.test(f)){if(c&&i){k+=(k?";":"")+f+":"+p}else{k+=(k?",":"")+f+"="+p}}});v.features=z;v.params=h;v.onOpen.dispatch(v,z,h);r=z.url||z.file;r=d._addVer(r);try{if(c&&i){q=1;window.showModalDialog(r,window,k)}else{q=window.open(r,z.name,k)}}catch(l){}if(!q){alert(v.editor.getLang("popup_blocked"))}},close:function(f){f.close();this.onClose.dispatch(this)},createInstance:function(i,h,g,m,l,k){var j=d.resolve(i);return new j(h,g,m,l,k)},confirm:function(h,f,i,g){g=g||window;f.call(i||this,g.confirm(this._decode(this.editor.getLang(h,h))))},alert:function(h,f,j,g){var i=this;g=g||window;g.alert(i._decode(i.editor.getLang(h,h)));if(f){f.call(j||i)}},resizeBy:function(f,g,h){h.resizeBy(f,g)},_decode:function(f){return d.DOM.decode(f).replace(/\\n/g,"\n")}})}(tinymce));(function(a){a.Formatter=function(V){var M={},O=a.each,c=V.dom,q=V.selection,t=a.dom.TreeWalker,K=new a.dom.RangeUtils(c),d=V.schema.isValidChild,F=c.isBlock,l=V.settings.forced_root_block,s=c.nodeIndex,E="\uFEFF",e=/^(src|href|style)$/,S=false,B=true,p,P={apply:[],remove:[]};function z(W){return W instanceof Array}function m(X,W){return c.getParents(X,W,c.getRoot())}function b(W){return W.nodeType===1&&(W.face==="mceinline"||W.style.fontFamily==="mceinline")}function R(W){return W?M[W]:M}function k(W,X){if(W){if(typeof(W)!=="string"){O(W,function(Z,Y){k(Y,Z)})}else{X=X.length?X:[X];O(X,function(Y){if(Y.deep===p){Y.deep=!Y.selector}if(Y.split===p){Y.split=!Y.selector||Y.inline}if(Y.remove===p&&Y.selector&&!Y.inline){Y.remove="none"}if(Y.selector&&Y.inline){Y.mixed=true;Y.block_expand=true}if(typeof(Y.classes)==="string"){Y.classes=Y.classes.split(/\s+/)}});M[W]=X}}}var i=function(X){var W;V.dom.getParent(X,function(Y){W=V.dom.getStyle(Y,"text-decoration");return W&&W!=="none"});return W};var I=function(W){var X;if(W.nodeType===1&&W.parentNode&&W.parentNode.nodeType===1){X=i(W.parentNode);if(V.dom.getStyle(W,"color")&&X){V.dom.setStyle(W,"text-decoration",X)}else{if(V.dom.getStyle(W,"textdecoration")===X){V.dom.setStyle(W,"text-decoration",null)}}}};function T(Y,af,aa){var ab=R(Y),ag=ab[0],ae,X,ad,ac=q.isCollapsed();function Z(ak){var aj=ak.startContainer,an=ak.startOffset,am,al;if(aj.nodeType==1||aj.nodeValue===""){aj=aj.nodeType==1?aj.childNodes[an]:aj;if(aj){am=new t(aj,aj.parentNode);for(al=am.current();al;al=am.next()){if(al.nodeType==3&&!f(al)){ak.setStart(al,0);break}}}}return ak}function W(ak,aj){aj=aj||ag;if(ak){O(aj.styles,function(am,al){c.setStyle(ak,al,r(am,af))});O(aj.attributes,function(am,al){c.setAttrib(ak,al,r(am,af))});O(aj.classes,function(al){al=r(al,af);if(!c.hasClass(ak,al)){c.addClass(ak,al)}})}}function ah(ak){var aj=[],am,al;am=ag.inline||ag.block;al=c.create(am);W(al);K.walk(ak,function(an){var ao;function ap(aq){var au=aq.nodeName.toLowerCase(),at=aq.parentNode.nodeName.toLowerCase(),ar;if(g(au,"br")){ao=0;if(ag.block){c.remove(aq)}return}if(ag.wrapper&&x(aq,Y,af)){ao=0;return}if(ag.block&&!ag.wrapper&&G(au)){aq=c.rename(aq,am);W(aq);aj.push(aq);ao=0;return}if(ag.selector){O(ab,function(av){if("collapsed" in av&&av.collapsed!==ac){return}if(c.is(aq,av.selector)&&!b(aq)){W(aq,av);ar=true}});if(!ag.inline||ar){ao=0;return}}if(d(am,au)&&d(at,am)&&!(aq.nodeType===3&&aq.nodeValue.length===1&&aq.nodeValue.charCodeAt(0)===65279)){if(!ao){ao=al.cloneNode(S);aq.parentNode.insertBefore(ao,aq);aj.push(ao)}ao.appendChild(aq)}else{ao=0;O(a.grep(aq.childNodes),ap);ao=0}}O(an,ap)});if(ag.wrap_links===false){O(aj,function(an){function ao(at){var ar,aq,ap;if(at.nodeName==="A"){aq=al.cloneNode(S);aj.push(aq);ap=a.grep(at.childNodes);for(ar=0;ar<ap.length;ar++){aq.appendChild(ap[ar])}at.appendChild(aq)}O(a.grep(at.childNodes),ao)}ao(an)})}O(aj,function(ap){var an;function aq(at){var ar=0;O(at.childNodes,function(au){if(!f(au)&&!H(au)){ar++}});return ar}function ao(ar){var au,at;O(ar.childNodes,function(av){if(av.nodeType==1&&!H(av)&&!b(av)){au=av;return S}});if(au&&h(au,ag)){at=au.cloneNode(S);W(at);c.replace(at,ar,B);c.remove(au,1)}return at||ar}an=aq(ap);if((aj.length>1||!F(ap))&&an===0){c.remove(ap,1);return}if(ag.inline||ag.wrapper){if(!ag.exact&&an===1){ap=ao(ap)}O(ab,function(ar){O(c.select(ar.inline,ap),function(au){var at;if(ar.wrap_links===false){at=au.parentNode;do{if(at.nodeName==="A"){return}}while(at=at.parentNode)}U(ar,af,au,ar.exact?au:null)})});if(x(ap.parentNode,Y,af)){c.remove(ap,1);ap=0;return B}if(ag.merge_with_parents){c.getParent(ap.parentNode,function(ar){if(x(ar,Y,af)){c.remove(ap,1);ap=0;return B}})}if(ap){ap=u(C(ap),ap);ap=u(ap,C(ap,B))}}})}if(ag){if(aa){X=c.createRng();X.setStartBefore(aa);X.setEndAfter(aa);ah(o(X,ab))}else{if(!ac||!ag.inline||c.select("td.mceSelected,th.mceSelected").length){var ai=V.selection.getNode();ae=q.getBookmark();ah(o(q.getRng(B),ab));if(ag.styles&&(ag.styles.color||ag.styles.textDecoration)){a.walk(ai,I,"childNodes");I(ai)}q.moveToBookmark(ae);q.setRng(Z(q.getRng(B)));V.nodeChanged()}else{Q("apply",Y,af)}}}}function A(Y,ah,ab){var ac=R(Y),aj=ac[0],ag,af,X;function aa(am){var al=am.startContainer,ar=am.startOffset,aq,ap,an,ao;if(al.nodeType==3&&ar>=al.nodeValue.length-1){al=al.parentNode;ar=s(al)+1}if(al.nodeType==1){an=al.childNodes;al=an[Math.min(ar,an.length-1)];aq=new t(al);if(ar>an.length-1){aq.next()}for(ap=aq.current();ap;ap=aq.next()){if(ap.nodeType==3&&!f(ap)){ao=c.create("a",null,E);ap.parentNode.insertBefore(ao,ap);am.setStart(ap,0);q.setRng(am);c.remove(ao);return}}}}function Z(ao){var an,am,al;an=a.grep(ao.childNodes);for(am=0,al=ac.length;am<al;am++){if(U(ac[am],ah,ao,ao)){break}}if(aj.deep){for(am=0,al=an.length;am<al;am++){Z(an[am])}}}function ad(al){var am;O(m(al.parentNode).reverse(),function(an){var ao;if(!am&&an.id!="_start"&&an.id!="_end"){ao=x(an,Y,ah);if(ao&&ao.split!==false){am=an}}});return am}function W(ao,al,aq,au){var av,at,ar,an,ap,am;if(ao){am=ao.parentNode;for(av=al.parentNode;av&&av!=am;av=av.parentNode){at=av.cloneNode(S);for(ap=0;ap<ac.length;ap++){if(U(ac[ap],ah,at,at)){at=0;break}}if(at){if(ar){at.appendChild(ar)}if(!an){an=at}ar=at}}if(au&&(!aj.mixed||!F(ao))){al=c.split(ao,al)}if(ar){aq.parentNode.insertBefore(ar,aq);an.appendChild(aq)}}return al}function ai(al){return W(ad(al),al,al,true)}function ae(an){var am=c.get(an?"_start":"_end"),al=am[an?"firstChild":"lastChild"];if(H(al)){al=al[an?"firstChild":"lastChild"]}c.remove(am,true);return al}function ak(al){var am,an;al=o(al,ac,B);if(aj.split){am=J(al,B);an=J(al);if(am!=an){am=N(am,"span",{id:"_start","data-mce-type":"bookmark"});an=N(an,"span",{id:"_end","data-mce-type":"bookmark"});ai(am);ai(an);am=ae(B);an=ae()}else{am=an=ai(am)}al.startContainer=am.parentNode;al.startOffset=s(am);al.endContainer=an.parentNode;al.endOffset=s(an)+1}K.walk(al,function(ao){O(ao,function(ap){Z(ap);if(ap.nodeType===1&&V.dom.getStyle(ap,"text-decoration")==="underline"&&ap.parentNode&&i(ap.parentNode)==="underline"){U({deep:false,exact:true,inline:"span",styles:{textDecoration:"underline"}},null,ap)}})})}if(ab){X=c.createRng();X.setStartBefore(ab);X.setEndAfter(ab);ak(X);return}if(!q.isCollapsed()||!aj.inline||c.select("td.mceSelected,th.mceSelected").length){ag=q.getBookmark();ak(q.getRng(B));q.moveToBookmark(ag);if(j(Y,ah,q.getStart())){aa(q.getRng(true))}V.nodeChanged()}else{Q("remove",Y,ah)}}function D(X,Z,Y){var W=R(X);if(j(X,Z,Y)&&(!("toggle" in W[0])||W[0]["toggle"])){A(X,Z,Y)}else{T(X,Z,Y)}}function x(X,W,ac,aa){var Y=R(W),ad,ab,Z;function ae(ai,ak,al){var ah,aj,af=ak[al],ag;if(af){if(af.length===p){for(ah in af){if(af.hasOwnProperty(ah)){if(al==="attributes"){aj=c.getAttrib(ai,ah)}else{aj=L(ai,ah)}if(aa&&!aj&&!ak.exact){return}if((!aa||ak.exact)&&!g(aj,r(af[ah],ac))){return}}}}else{for(ag=0;ag<af.length;ag++){if(al==="attributes"?c.getAttrib(ai,af[ag]):L(ai,af[ag])){return ak}}}}return ak}if(Y&&X){for(ab=0;ab<Y.length;ab++){ad=Y[ab];if(h(X,ad)&&ae(X,ad,"attributes")&&ae(X,ad,"styles")){if(Z=ad.classes){for(ab=0;ab<Z.length;ab++){if(!c.hasClass(X,Z[ab])){return}}}return ad}}}}function j(Y,ab,aa){var X,Z;function W(ac){ac=c.getParent(ac,function(ad){return !!x(ad,Y,ab,true)});return x(ac,Y,ab)}if(aa){return W(aa)}if(q.isCollapsed()){for(Z=P.apply.length-1;Z>=0;Z--){if(P.apply[Z].name==Y){return true}}for(Z=P.remove.length-1;Z>=0;Z--){if(P.remove[Z].name==Y){return false}}return W(q.getNode())}aa=q.getNode();if(W(aa)){return B}X=q.getStart();if(X!=aa){if(W(X)){return B}}return S}function v(ad,ac){var aa,ab=[],Z={},Y,X,W;if(q.isCollapsed()){for(X=0;X<ad.length;X++){for(Y=P.remove.length-1;Y>=0;Y--){W=ad[X];if(P.remove[Y].name==W){Z[W]=true;break}}}for(Y=P.apply.length-1;Y>=0;Y--){for(X=0;X<ad.length;X++){W=ad[X];if(!Z[W]&&P.apply[Y].name==W){Z[W]=true;ab.push(W)}}}}aa=q.getStart();c.getParent(aa,function(ag){var af,ae;for(af=0;af<ad.length;af++){ae=ad[af];if(!Z[ae]&&x(ag,ae,ac)){Z[ae]=true;ab.push(ae)}}});return ab}function y(aa){var ac=R(aa),Z,Y,ab,X,W;if(ac){Z=q.getStart();Y=m(Z);for(X=ac.length-1;X>=0;X--){W=ac[X].selector;if(!W){return B}for(ab=Y.length-1;ab>=0;ab--){if(c.is(Y[ab],W)){return B}}}}return S}a.extend(this,{get:R,register:k,apply:T,remove:A,toggle:D,match:j,matchAll:v,matchNode:x,canApply:y});function h(W,X){if(g(W,X.inline)){return B}if(g(W,X.block)){return B}if(X.selector){return c.is(W,X.selector)}}function g(X,W){X=X||"";W=W||"";X=""+(X.nodeName||X);W=""+(W.nodeName||W);return X.toLowerCase()==W.toLowerCase()}function L(X,W){var Y=c.getStyle(X,W);if(W=="color"||W=="backgroundColor"){Y=c.toHex(Y)}if(W=="fontWeight"&&Y==700){Y="bold"}return""+Y}function r(W,X){if(typeof(W)!="string"){W=W(X)}else{if(X){W=W.replace(/%(\w+)/g,function(Z,Y){return X[Y]||Z})}}return W}function f(W){return W&&W.nodeType===3&&/^([\s\r\n]+|)$/.test(W.nodeValue)}function N(Y,X,W){var Z=c.create(X,W);Y.parentNode.insertBefore(Z,Y);Z.appendChild(Y);return Z}function o(W,ag,Z){var Y=W.startContainer,ad=W.startOffset,aj=W.endContainer,ae=W.endOffset,ai,af,ac;function ah(am,an,ak,al){var ao,ap;al=al||c.getRoot();for(;;){ao=am.parentNode;if(ao==al||(!ag[0].block_expand&&F(ao))){return am}for(ai=ao[an];ai&&ai!=am;ai=ai[ak]){if(ai.nodeType==1&&!H(ai)){return am}if(ai.nodeType==3&&!f(ai)){return am}}am=am.parentNode}return am}function ab(ak,al){if(al===p){al=ak.nodeType===3?ak.length:ak.childNodes.length}while(ak&&ak.hasChildNodes()){ak=ak.childNodes[al];if(ak){al=ak.nodeType===3?ak.length:ak.childNodes.length}}return{node:ak,offset:al}}if(Y.nodeType==1&&Y.hasChildNodes()){af=Y.childNodes.length-1;Y=Y.childNodes[ad>af?af:ad];if(Y.nodeType==3){ad=0}}if(aj.nodeType==1&&aj.hasChildNodes()){af=aj.childNodes.length-1;aj=aj.childNodes[ae>af?af:ae-1];if(aj.nodeType==3){ae=aj.nodeValue.length}}if(H(Y.parentNode)){Y=Y.parentNode}if(H(Y)){Y=Y.nextSibling||Y}if(H(aj.parentNode)){ae=c.nodeIndex(aj);aj=aj.parentNode}if(H(aj)&&aj.previousSibling){aj=aj.previousSibling;ae=aj.length}if(ag[0].inline){ac=ab(aj,ae);if(ac.node){while(ac.node&&ac.offset===0&&ac.node.previousSibling){ac=ab(ac.node.previousSibling)}if(ac.node&&ac.offset>0&&ac.node.nodeType===3&&ac.node.nodeValue.charAt(ac.offset-1)===" "){if(ac.offset>1){aj=ac.node;aj.splitText(ac.offset-1)}else{if(ac.node.previousSibling){aj=ac.node.previousSibling}}}}}if(ag[0].inline||ag[0].block_expand){Y=ah(Y,"firstChild","nextSibling");aj=ah(aj,"lastChild","previousSibling")}if(ag[0].selector&&ag[0].expand!==S&&!ag[0].inline){function aa(al,ak){var am,an,ap,ao;if(al.nodeType==3&&al.nodeValue.length==0&&al[ak]){al=al[ak]}am=m(al);for(an=0;an<am.length;an++){for(ap=0;ap<ag.length;ap++){ao=ag[ap];if("collapsed" in ao&&ao.collapsed!==W.collapsed){continue}if(c.is(am[an],ao.selector)){return am[an]}}}return al}Y=aa(Y,"previousSibling");aj=aa(aj,"nextSibling")}if(ag[0].block||ag[0].selector){function X(al,ak,an){var am;if(!ag[0].wrapper){am=c.getParent(al,ag[0].block)}if(!am){am=c.getParent(al.nodeType==3?al.parentNode:al,F)}if(am&&ag[0].wrapper){am=m(am,"ul,ol").reverse()[0]||am}if(!am){am=al;while(am[ak]&&!F(am[ak])){am=am[ak];if(g(am,"br")){break}}}return am||al}Y=X(Y,"previousSibling");aj=X(aj,"nextSibling");if(ag[0].block){if(!F(Y)){Y=ah(Y,"firstChild","nextSibling")}if(!F(aj)){aj=ah(aj,"lastChild","previousSibling")}}}if(Y.nodeType==1){ad=s(Y);Y=Y.parentNode}if(aj.nodeType==1){ae=s(aj)+1;aj=aj.parentNode}return{startContainer:Y,startOffset:ad,endContainer:aj,endOffset:ae}}function U(ac,ab,Z,W){var Y,X,aa;if(!h(Z,ac)){return S}if(ac.remove!="all"){O(ac.styles,function(ae,ad){ae=r(ae,ab);if(typeof(ad)==="number"){ad=ae;W=0}if(!W||g(L(W,ad),ae)){c.setStyle(Z,ad,"")}aa=1});if(aa&&c.getAttrib(Z,"style")==""){Z.removeAttribute("style");Z.removeAttribute("data-mce-style")}O(ac.attributes,function(af,ad){var ae;af=r(af,ab);if(typeof(ad)==="number"){ad=af;W=0}if(!W||g(c.getAttrib(W,ad),af)){if(ad=="class"){af=c.getAttrib(Z,ad);if(af){ae="";O(af.split(/\s+/),function(ag){if(/mce\w+/.test(ag)){ae+=(ae?" ":"")+ag}});if(ae){c.setAttrib(Z,ad,ae);return}}}if(ad=="class"){Z.removeAttribute("className")}if(e.test(ad)){Z.removeAttribute("data-mce-"+ad)}Z.removeAttribute(ad)}});O(ac.classes,function(ad){ad=r(ad,ab);if(!W||c.hasClass(W,ad)){c.removeClass(Z,ad)}});X=c.getAttribs(Z);for(Y=0;Y<X.length;Y++){if(X[Y].nodeName.indexOf("_")!==0){return S}}}if(ac.remove!="none"){n(Z,ac);return B}}function n(Y,Z){var W=Y.parentNode,X;if(Z.block){if(!l){function aa(ac,ab,ad){ac=C(ac,ab,ad);return !ac||(ac.nodeName=="BR"||F(ac))}if(F(Y)&&!F(W)){if(!aa(Y,S)&&!aa(Y.firstChild,B,1)){Y.insertBefore(c.create("br"),Y.firstChild)}if(!aa(Y,B)&&!aa(Y.lastChild,S,1)){Y.appendChild(c.create("br"))}}}else{if(W==c.getRoot()){if(!Z.list_block||!g(Y,Z.list_block)){O(a.grep(Y.childNodes),function(ab){if(d(l,ab.nodeName.toLowerCase())){if(!X){X=N(ab,l)}else{X.appendChild(ab)}}else{X=0}})}}}}if(Z.selector&&Z.inline&&!g(Z.inline,Y)){return}c.remove(Y,1)}function C(X,W,Y){if(X){W=W?"nextSibling":"previousSibling";for(X=Y?X:X[W];X;X=X[W]){if(X.nodeType==1||!f(X)){return X}}}}function H(W){return W&&W.nodeType==1&&W.getAttribute("data-mce-type")=="bookmark"}function u(aa,Z){var W,Y,X;function ac(af,ae){if(af.nodeName!=ae.nodeName){return S}function ad(ah){var ai={};O(c.getAttribs(ah),function(aj){var ak=aj.nodeName.toLowerCase();if(ak.indexOf("_")!==0&&ak!=="style"){ai[ak]=c.getAttrib(ah,ak)}});return ai}function ag(ak,aj){var ai,ah;for(ah in ak){if(ak.hasOwnProperty(ah)){ai=aj[ah];if(ai===p){return S}if(ak[ah]!=ai){return S}delete aj[ah]}}for(ah in aj){if(aj.hasOwnProperty(ah)){return S}}return B}if(!ag(ad(af),ad(ae))){return S}if(!ag(c.parseStyle(c.getAttrib(af,"style")),c.parseStyle(c.getAttrib(ae,"style")))){return S}return B}if(aa&&Z){function ab(ae,ad){for(Y=ae;Y;Y=Y[ad]){if(Y.nodeType==3&&Y.nodeValue.length!==0){return ae}if(Y.nodeType==1&&!H(Y)){return Y}}return ae}aa=ab(aa,"previousSibling");Z=ab(Z,"nextSibling");if(ac(aa,Z)){for(Y=aa.nextSibling;Y&&Y!=Z;){X=Y;Y=Y.nextSibling;aa.appendChild(X)}c.remove(Z);O(a.grep(Z.childNodes),function(ad){aa.appendChild(ad)});return aa}}return Z}function G(W){return/^(h[1-6]|p|div|pre|address|dl|dt|dd)$/.test(W)}function J(X,aa){var W,Z,Y;W=X[aa?"startContainer":"endContainer"];Z=X[aa?"startOffset":"endOffset"];if(W.nodeType==1){Y=W.childNodes.length-1;if(!aa&&Z){Z--}W=W.childNodes[Z>Y?Y:Z]}return W}function Q(ab,X,aa){var Y,W=P[ab],ac=P[ab=="apply"?"remove":"apply"];function ad(){return P.apply.length||P.remove.length}function Z(){P.apply=[];P.remove=[]}function ae(af){O(P.apply.reverse(),function(ag){T(ag.name,ag.vars,af);if(ag.name==="forecolor"&&ag.vars.value){I(af.parentNode)}});O(P.remove.reverse(),function(ag){A(ag.name,ag.vars,af)});c.remove(af,1);Z()}for(Y=W.length-1;Y>=0;Y--){if(W[Y].name==X){return}}W.push({name:X,vars:aa});for(Y=ac.length-1;Y>=0;Y--){if(ac[Y].name==X){ac.splice(Y,1)}}if(ad()){V.getDoc().execCommand("FontName",false,"mceinline");P.lastRng=q.getRng();O(c.select("font,span"),function(ag){var af;if(b(ag)){af=q.getBookmark();ae(ag);q.moveToBookmark(af);V.nodeChanged()}});if(!P.isListening&&ad()){P.isListening=true;O("onKeyDown,onKeyUp,onKeyPress,onMouseUp".split(","),function(af){V[af].addToTop(function(ag,ah){if(ad()&&!a.dom.RangeUtils.compareRanges(P.lastRng,q.getRng())){O(c.select("font,span"),function(aj){var ak,ai;if(b(aj)){ak=aj.firstChild;if(ak){ae(aj);ai=c.createRng();ai.setStart(ak,ak.nodeValue.length);ai.setEnd(ak,ak.nodeValue.length);q.setRng(ai);ag.nodeChanged()}else{c.remove(aj)}}});if(ah.type=="keyup"||ah.type=="mouseup"){Z()}}})})}}}}})(tinymce);tinymce.onAddEditor.add(function(e,a){var d,h,g,c=a.settings;if(c.inline_styles){h=e.explode(c.font_size_style_values);function b(j,i){e.each(i,function(l,k){if(l){g.setStyle(j,k,l)}});g.rename(j,"span")}d={font:function(j,i){b(i,{backgroundColor:i.style.backgroundColor,color:i.color,fontFamily:i.face,fontSize:h[parseInt(i.size)-1]})},u:function(j,i){b(i,{textDecoration:"underline"})},strike:function(j,i){b(i,{textDecoration:"line-through"})}};function f(i,j){g=i.dom;if(c.convert_fonts_to_spans){e.each(g.select("font,u,strike",j.node),function(k){d[k.nodeName.toLowerCase()](a.dom,k)})}}a.onPreProcess.add(f);a.onSetContent.add(f);a.onInit.add(function(){a.selection.onSetContent.add(f)})}}); diff --git a/wp-includes/js/tinymce/tiny_mce_popup.js b/wp-includes/js/tinymce/tiny_mce_popup.js index 3ef3acb1f..f859d24e6 100644 --- a/wp-includes/js/tinymce/tiny_mce_popup.js +++ b/wp-includes/js/tinymce/tiny_mce_popup.js @@ -2,4 +2,4 @@ // Uncomment and change this document.domain value if you are loading the script cross subdomains // document.domain = 'moxiecode.com'; -var tinymce=null,tinyMCEPopup,tinyMCE;tinyMCEPopup={init:function(){var b=this,a,c;a=b.getWin();tinymce=a.tinymce;tinyMCE=a.tinyMCE;b.editor=tinymce.EditorManager.activeEditor;b.params=b.editor.windowManager.params;b.features=b.editor.windowManager.features;b.dom=b.editor.windowManager.createInstance("tinymce.dom.DOMUtils",document);if(b.features.popup_css!==false){b.dom.loadCSS(b.features.popup_css||b.editor.settings.popup_css)}b.listeners=[];b.onInit={add:function(e,d){b.listeners.push({func:e,scope:d})}};b.isWindow=!b.getWindowArg("mce_inline");b.id=b.getWindowArg("mce_window_id");b.editor.windowManager.onOpen.dispatch(b.editor.windowManager,window)},getWin:function(){return(!window.frameElement&&window.dialogArguments)||opener||parent||top},getWindowArg:function(c,b){var a=this.params[c];return tinymce.is(a)?a:b},getParam:function(b,a){return this.editor.getParam(b,a)},getLang:function(b,a){return this.editor.getLang(b,a)},execCommand:function(d,c,e,b){b=b||{};b.skip_focus=1;this.restoreSelection();return this.editor.execCommand(d,c,e,b)},resizeToInnerSize:function(){var a=this;setTimeout(function(){var b=a.dom.getViewPort(window);a.editor.windowManager.resizeBy(a.getWindowArg("mce_width")-b.w,a.getWindowArg("mce_height")-b.h,a.id||window)},0)},executeOnLoad:function(s){this.onInit.add(function(){eval(s)})},storeSelection:function(){this.editor.windowManager.bookmark=tinyMCEPopup.editor.selection.getBookmark(1)},restoreSelection:function(){var a=tinyMCEPopup;if(!a.isWindow&&tinymce.isIE){a.editor.selection.moveToBookmark(a.editor.windowManager.bookmark)}},requireLangPack:function(){var b=this,a=b.getWindowArg("plugin_url")||b.getWindowArg("theme_url");if(a&&b.editor.settings.language&&b.features.translate_i18n!==false){a+="/langs/"+b.editor.settings.language+"_dlg.js";if(!tinymce.ScriptLoader.isDone(a)){document.write('<script type="text/javascript" src="'+tinymce._addVer(a)+'"><\/script>');tinymce.ScriptLoader.markDone(a)}}},pickColor:function(b,a){this.execCommand("mceColorPicker",true,{color:document.getElementById(a).value,func:function(e){document.getElementById(a).value=e;try{document.getElementById(a).onchange()}catch(d){}}})},openBrowser:function(a,c,b){tinyMCEPopup.restoreSelection();this.editor.execCallback("file_browser_callback",a,document.getElementById(a).value,c,window)},confirm:function(b,a,c){this.editor.windowManager.confirm(b,a,c,window)},alert:function(b,a,c){this.editor.windowManager.alert(b,a,c,window)},close:function(){var a=this;function b(){a.editor.windowManager.close(window);tinymce=tinyMCE=a.editor=a.params=a.dom=a.dom.doc=null}if(tinymce.isOpera){a.getWin().setTimeout(b,0)}else{b()}},_restoreSelection:function(){var a=window.event.srcElement;if(a.nodeName=="INPUT"&&(a.type=="submit"||a.type=="button")){tinyMCEPopup.restoreSelection()}},_onDOMLoaded:function(){var b=tinyMCEPopup,d=document.title,e,c,a;if(b.domLoaded){return}b.domLoaded=1;if(b.features.translate_i18n!==false){c=document.body.innerHTML;if(tinymce.isIE){c=c.replace(/ (value|title|alt)=([^"][^\s>]+)/gi,' $1="$2"')}document.dir=b.editor.getParam("directionality","");if((a=b.editor.translate(c))&&a!=c){document.body.innerHTML=a}if((a=b.editor.translate(d))&&a!=d){document.title=d=a}}document.body.style.display="";if(tinymce.isIE){document.attachEvent("onmouseup",tinyMCEPopup._restoreSelection);b.dom.add(b.dom.select("head")[0],"base",{target:"_self"})}b.restoreSelection();b.resizeToInnerSize();if(!b.isWindow){b.editor.windowManager.setTitle(window,d)}else{window.focus()}if(!tinymce.isIE&&!b.isWindow){tinymce.dom.Event._add(document,"focus",function(){b.editor.windowManager.focus(b.id)})}tinymce.each(b.dom.select("select"),function(f){f.onkeydown=tinyMCEPopup._accessHandler});tinymce.each(b.listeners,function(f){f.func.call(f.scope,b.editor)});if(b.getWindowArg("mce_auto_focus",true)){window.focus();tinymce.each(document.forms,function(g){tinymce.each(g.elements,function(f){if(b.dom.hasClass(f,"mceFocus")&&!f.disabled){f.focus();return false}})})}document.onkeyup=tinyMCEPopup._closeWinKeyHandler},_accessHandler:function(a){a=a||window.event;if(a.keyCode==13||a.keyCode==32){a=a.target||a.srcElement;if(a.onchange){a.onchange()}return tinymce.dom.Event.cancel(a)}},_closeWinKeyHandler:function(a){a=a||window.event;if(a.keyCode==27){tinyMCEPopup.close()}},_wait:function(){if(document.attachEvent){document.attachEvent("onreadystatechange",function(){if(document.readyState==="complete"){document.detachEvent("onreadystatechange",arguments.callee);tinyMCEPopup._onDOMLoaded()}});if(document.documentElement.doScroll&&window==window.top){(function(){if(tinyMCEPopup.domLoaded){return}try{document.documentElement.doScroll("left")}catch(a){setTimeout(arguments.callee,0);return}tinyMCEPopup._onDOMLoaded()})()}document.attachEvent("onload",tinyMCEPopup._onDOMLoaded)}else{if(document.addEventListener){window.addEventListener("DOMContentLoaded",tinyMCEPopup._onDOMLoaded,false);window.addEventListener("load",tinyMCEPopup._onDOMLoaded,false)}}}};tinyMCEPopup.init();tinyMCEPopup._wait(); \ No newline at end of file +var tinymce=null,tinyMCEPopup,tinyMCE;tinyMCEPopup={init:function(){var b=this,a,c;a=b.getWin();tinymce=a.tinymce;tinyMCE=a.tinyMCE;b.editor=tinymce.EditorManager.activeEditor;b.params=b.editor.windowManager.params;b.features=b.editor.windowManager.features;b.dom=b.editor.windowManager.createInstance("tinymce.dom.DOMUtils",document);if(b.features.popup_css!==false){b.dom.loadCSS(b.features.popup_css||b.editor.settings.popup_css)}b.listeners=[];b.onInit={add:function(e,d){b.listeners.push({func:e,scope:d})}};b.isWindow=!b.getWindowArg("mce_inline");b.id=b.getWindowArg("mce_window_id");b.editor.windowManager.onOpen.dispatch(b.editor.windowManager,window)},getWin:function(){return(!window.frameElement&&window.dialogArguments)||opener||parent||top},getWindowArg:function(c,b){var a=this.params[c];return tinymce.is(a)?a:b},getParam:function(b,a){return this.editor.getParam(b,a)},getLang:function(b,a){return this.editor.getLang(b,a)},execCommand:function(d,c,e,b){b=b||{};b.skip_focus=1;this.restoreSelection();return this.editor.execCommand(d,c,e,b)},resizeToInnerSize:function(){var a=this;setTimeout(function(){var b=a.dom.getViewPort(window);a.editor.windowManager.resizeBy(a.getWindowArg("mce_width")-b.w,a.getWindowArg("mce_height")-b.h,a.id||window)},10)},executeOnLoad:function(s){this.onInit.add(function(){eval(s)})},storeSelection:function(){this.editor.windowManager.bookmark=tinyMCEPopup.editor.selection.getBookmark(1)},restoreSelection:function(){var a=tinyMCEPopup;if(!a.isWindow&&tinymce.isIE){a.editor.selection.moveToBookmark(a.editor.windowManager.bookmark)}},requireLangPack:function(){var b=this,a=b.getWindowArg("plugin_url")||b.getWindowArg("theme_url");if(a&&b.editor.settings.language&&b.features.translate_i18n!==false&&b.editor.settings.language_load!==false){a+="/langs/"+b.editor.settings.language+"_dlg.js";if(!tinymce.ScriptLoader.isDone(a)){document.write('<script type="text/javascript" src="'+tinymce._addVer(a)+'"><\/script>');tinymce.ScriptLoader.markDone(a)}}},pickColor:function(b,a){this.execCommand("mceColorPicker",true,{color:document.getElementById(a).value,func:function(e){document.getElementById(a).value=e;try{document.getElementById(a).onchange()}catch(d){}}})},openBrowser:function(a,c,b){tinyMCEPopup.restoreSelection();this.editor.execCallback("file_browser_callback",a,document.getElementById(a).value,c,window)},confirm:function(b,a,c){this.editor.windowManager.confirm(b,a,c,window)},alert:function(b,a,c){this.editor.windowManager.alert(b,a,c,window)},close:function(){var a=this;function b(){a.editor.windowManager.close(window);tinymce=tinyMCE=a.editor=a.params=a.dom=a.dom.doc=null}if(tinymce.isOpera){a.getWin().setTimeout(b,0)}else{b()}},_restoreSelection:function(){var a=window.event.srcElement;if(a.nodeName=="INPUT"&&(a.type=="submit"||a.type=="button")){tinyMCEPopup.restoreSelection()}},_onDOMLoaded:function(){var b=tinyMCEPopup,d=document.title,e,c,a;if(b.domLoaded){return}b.domLoaded=1;if(b.features.translate_i18n!==false){c=document.body.innerHTML;if(tinymce.isIE){c=c.replace(/ (value|title|alt)=([^"][^\s>]+)/gi,' $1="$2"')}document.dir=b.editor.getParam("directionality","");if((a=b.editor.translate(c))&&a!=c){document.body.innerHTML=a}if((a=b.editor.translate(d))&&a!=d){document.title=d=a}}if(!b.editor.getParam("browser_preferred_colors",false)||!b.isWindow){b.dom.addClass(document.body,"forceColors")}document.body.style.display="";if(tinymce.isIE){document.attachEvent("onmouseup",tinyMCEPopup._restoreSelection);b.dom.add(b.dom.select("head")[0],"base",{target:"_self"})}b.restoreSelection();b.resizeToInnerSize();if(!b.isWindow){b.editor.windowManager.setTitle(window,d)}else{window.focus()}if(!tinymce.isIE&&!b.isWindow){tinymce.dom.Event._add(document,"focus",function(){b.editor.windowManager.focus(b.id)})}tinymce.each(b.dom.select("select"),function(f){f.onkeydown=tinyMCEPopup._accessHandler});tinymce.each(b.listeners,function(f){f.func.call(f.scope,b.editor)});if(b.getWindowArg("mce_auto_focus",true)){window.focus();tinymce.each(document.forms,function(g){tinymce.each(g.elements,function(f){if(b.dom.hasClass(f,"mceFocus")&&!f.disabled){f.focus();return false}})})}document.onkeyup=tinyMCEPopup._closeWinKeyHandler},_accessHandler:function(a){a=a||window.event;if(a.keyCode==13||a.keyCode==32){a=a.target||a.srcElement;if(a.onchange){a.onchange()}return tinymce.dom.Event.cancel(a)}},_closeWinKeyHandler:function(a){a=a||window.event;if(a.keyCode==27){tinyMCEPopup.close()}},_wait:function(){if(document.attachEvent){document.attachEvent("onreadystatechange",function(){if(document.readyState==="complete"){document.detachEvent("onreadystatechange",arguments.callee);tinyMCEPopup._onDOMLoaded()}});if(document.documentElement.doScroll&&window==window.top){(function(){if(tinyMCEPopup.domLoaded){return}try{document.documentElement.doScroll("left")}catch(a){setTimeout(arguments.callee,0);return}tinyMCEPopup._onDOMLoaded()})()}document.attachEvent("onload",tinyMCEPopup._onDOMLoaded)}else{if(document.addEventListener){window.addEventListener("DOMContentLoaded",tinyMCEPopup._onDOMLoaded,false);window.addEventListener("load",tinyMCEPopup._onDOMLoaded,false)}}}};tinyMCEPopup.init();tinyMCEPopup._wait(); \ No newline at end of file diff --git a/wp-includes/js/tinymce/utils/form_utils.js b/wp-includes/js/tinymce/utils/form_utils.js index c583837c0..6f62fe606 100644 --- a/wp-includes/js/tinymce/utils/form_utils.js +++ b/wp-includes/js/tinymce/utils/form_utils.js @@ -11,10 +11,14 @@ var themeBaseURL = tinyMCEPopup.editor.baseURI.toAbsolute('themes/' + tinyMCEPopup.getParam("theme")); function getColorPickerHTML(id, target_form_element) { - var h = ""; + var h = "", dom = tinyMCEPopup.dom; - h += '<a id="' + id + '_link" href="javascript:;" onclick="tinyMCEPopup.pickColor(event,\'' + target_form_element +'\');" onmousedown="return false;" class="pickcolor">'; - h += '<span id="' + id + '" title="' + tinyMCEPopup.getLang('browse') + '"> </span></a>'; + if (label = dom.select('label[for=' + target_form_element + ']')[0]) { + label.id = label.id || dom.uniqueId(); + } + + h += '<a role="button" aria-labelledby="' + id + '_label" id="' + id + '_link" href="javascript:;" onclick="tinyMCEPopup.pickColor(event,\'' + target_form_element +'\');" onmousedown="return false;" class="pickcolor">'; + h += '<span id="' + id + '" title="' + tinyMCEPopup.getLang('browse') + '"> <span id="' + id + '_label" class="mceVoiceLabel mceIconOnly" style="display:none;">' + tinyMCEPopup.getLang('browse') + '</span></span></a>'; return h; } @@ -67,6 +71,9 @@ function selectByValue(form_obj, field_name, value, add_custom, ignore_case) { if (!form_obj || !form_obj.elements[field_name]) return; + if (!value) + value = ""; + var sel = form_obj.elements[field_name]; var found = false; @@ -171,7 +178,7 @@ function convertHexToRGB(col) { } function trimSize(size) { - return size.replace(/([0-9\.]+)px|(%|in|cm|mm|em|ex|pt|pc)/, '$1$2'); + return size.replace(/([0-9\.]+)(px|%|in|cm|mm|em|ex|pt|pc)/i, '$1$2'); } function getCSSSize(size) { @@ -183,6 +190,9 @@ function getCSSSize(size) { // Add px if (/^[0-9]+$/.test(size)) size += 'px'; + // Sanity check, IE doesn't like broken values + else if (!(/^[0-9\.]+(px|%|in|cm|mm|em|ex|pt|pc)$/i.test(size))) + return ""; return size; } diff --git a/wp-includes/js/tinymce/utils/mctabs.js b/wp-includes/js/tinymce/utils/mctabs.js index 9688e323e..027ef40e7 100644 --- a/wp-includes/js/tinymce/utils/mctabs.js +++ b/wp-includes/js/tinymce/utils/mctabs.js @@ -10,6 +10,7 @@ function MCTabs() { this.settings = []; + this.onChange = tinyMCEPopup.editor.windowManager.createInstance('tinymce.util.Dispatcher'); }; MCTabs.prototype.init = function(settings) { @@ -28,26 +29,62 @@ MCTabs.prototype.getParam = function(name, default_value) { return value; }; -MCTabs.prototype.displayTab = function(tab_id, panel_id) { - var panelElm, panelContainerElm, tabElm, tabContainerElm, selectionClass, nodes, i; +MCTabs.prototype.showTab =function(tab){ + tab.className = 'current'; + tab.setAttribute("aria-selected", true); + tab.setAttribute("aria-expanded", true); + tab.tabIndex = 0; +}; + +MCTabs.prototype.hideTab =function(tab){ + var t=this; + + tab.className = ''; + tab.setAttribute("aria-selected", false); + tab.setAttribute("aria-expanded", false); + tab.tabIndex = -1; +}; + +MCTabs.prototype.showPanel = function(panel) { + panel.className = 'current'; + panel.setAttribute("aria-hidden", false); +}; + +MCTabs.prototype.hidePanel = function(panel) { + panel.className = 'panel'; + panel.setAttribute("aria-hidden", true); +}; + +MCTabs.prototype.getPanelForTab = function(tabElm) { + return tinyMCEPopup.dom.getAttrib(tabElm, "aria-controls"); +}; + +MCTabs.prototype.displayTab = function(tab_id, panel_id, avoid_focus) { + var panelElm, panelContainerElm, tabElm, tabContainerElm, selectionClass, nodes, i, t = this; + + tabElm = document.getElementById(tab_id); + + if (panel_id === undefined) { + panel_id = t.getPanelForTab(tabElm); + } panelElm= document.getElementById(panel_id); panelContainerElm = panelElm ? panelElm.parentNode : null; - tabElm = document.getElementById(tab_id); tabContainerElm = tabElm ? tabElm.parentNode : null; - selectionClass = this.getParam('selection_class', 'current'); + selectionClass = t.getParam('selection_class', 'current'); if (tabElm && tabContainerElm) { nodes = tabContainerElm.childNodes; // Hide all other tabs for (i = 0; i < nodes.length; i++) { - if (nodes[i].nodeName == "LI") - nodes[i].className = ''; + if (nodes[i].nodeName == "LI") { + t.hideTab(nodes[i]); + } } // Show selected tab - tabElm.className = 'current'; + t.showTab(tabElm); } if (panelElm && panelContainerElm) { @@ -56,11 +93,15 @@ MCTabs.prototype.displayTab = function(tab_id, panel_id) { // Hide all other panels for (i = 0; i < nodes.length; i++) { if (nodes[i].nodeName == "DIV") - nodes[i].className = 'panel'; + t.hidePanel(nodes[i]); + } + + if (!avoid_focus) { + tabElm.focus(); } // Show selected panel - panelElm.className = 'current'; + t.showPanel(panelElm); } }; @@ -73,5 +114,49 @@ MCTabs.prototype.getAnchor = function() { return ""; }; -// Global instance + +//Global instance var mcTabs = new MCTabs(); + +tinyMCEPopup.onInit.add(function() { + var tinymce = tinyMCEPopup.getWin().tinymce, dom = tinyMCEPopup.dom, each = tinymce.each; + + each(dom.select('div.tabs'), function(tabContainerElm) { + var keyNav; + + dom.setAttrib(tabContainerElm, "role", "tablist"); + + var items = tinyMCEPopup.dom.select('li', tabContainerElm); + var action = function(id) { + mcTabs.displayTab(id, mcTabs.getPanelForTab(id)); + mcTabs.onChange.dispatch(id); + }; + + each(items, function(item) { + dom.setAttrib(item, 'role', 'tab'); + dom.bind(item, 'click', function(evt) { + action(item.id); + }); + }); + + dom.bind(dom.getRoot(), 'keydown', function(evt) { + if (evt.keyCode === 9 && evt.ctrlKey && !evt.altKey) { // Tab + keyNav.moveFocus(evt.shiftKey ? -1 : 1); + tinymce.dom.Event.cancel(evt); + } + }); + + each(dom.select('a', tabContainerElm), function(a) { + dom.setAttrib(a, 'tabindex', '-1'); + }); + + keyNav = tinyMCEPopup.editor.windowManager.createInstance('tinymce.ui.KeyboardNavigation', { + root: tabContainerElm, + items: items, + onAction: action, + actOnFocus: true, + enableLeftRight: true, + enableUpDown: true + }, tinyMCEPopup.dom); + }); +}); \ No newline at end of file diff --git a/wp-includes/js/tinymce/utils/validate.js b/wp-includes/js/tinymce/utils/validate.js index 6d79ed72c..760d0290f 100644 --- a/wp-includes/js/tinymce/utils/validate.js +++ b/wp-includes/js/tinymce/utils/validate.js @@ -32,7 +32,7 @@ var Validator = { }, isSize : function(s) { - return this.test(s, '^[0-9]+(%|in|cm|mm|em|ex|pt|pc|px)?$'); + return this.test(s, '^[0-9.]+(%|in|cm|mm|em|ex|pt|pc|px)?$'); }, isId : function(s) { @@ -96,8 +96,10 @@ var AutoValidator = { var i, nl, s = this.settings, c = 0; nl = this.tags(f, 'label'); - for (i=0; i<nl.length; i++) + for (i=0; i<nl.length; i++) { this.removeClass(nl[i], s.invalid_cls); + nl[i].setAttribute('aria-invalid', false); + } c += this.validateElms(f, 'input'); c += this.validateElms(f, 'select'); @@ -109,6 +111,33 @@ var AutoValidator = { invalidate : function(n) { this.mark(n.form, n); }, + + getErrorMessages : function(f) { + var nl, i, s = this.settings, field, msg, values, messages = [], ed = tinyMCEPopup.editor; + nl = this.tags(f, "label"); + for (i=0; i<nl.length; i++) { + if (this.hasClass(nl[i], s.invalid_cls)) { + field = document.getElementById(nl[i].getAttribute("for")); + values = { field: nl[i].textContent }; + if (this.hasClass(field, s.min_cls, true)) { + message = ed.getLang('invalid_data_min'); + values.min = this.getNum(field, s.min_cls); + } else if (this.hasClass(field, s.number_cls)) { + message = ed.getLang('invalid_data_number'); + } else if (this.hasClass(field, s.size_cls)) { + message = ed.getLang('invalid_data_size'); + } else { + message = ed.getLang('invalid_data'); + } + + message = message.replace(/{\#([^}]+)\}/g, function(a, b) { + return values[b] || '{#' + b + '}'; + }); + messages.push(message); + } + } + return messages; + }, reset : function(e) { var t = ['label', 'input', 'select', 'textarea']; @@ -119,8 +148,10 @@ var AutoValidator = { for (i=0; i<t.length; i++) { nl = this.tags(e.form ? e.form : e, t[i]); - for (j=0; j<nl.length; j++) + for (j=0; j<nl.length; j++) { this.removeClass(nl[j], s.invalid_cls); + nl[j].setAttribute('aria-invalid', false); + } } }, @@ -201,6 +232,7 @@ var AutoValidator = { var s = this.settings; this.addClass(n, s.invalid_cls); + n.setAttribute('aria-invalid', 'true'); this.markLabels(f, n, s.invalid_cls); return false; diff --git a/wp-includes/js/tinymce/wp-mce-help.php b/wp-includes/js/tinymce/wp-mce-help.php index 87bfafb85..3bfc37809 100644 --- a/wp-includes/js/tinymce/wp-mce-help.php +++ b/wp-includes/js/tinymce/wp-mce-help.php @@ -14,7 +14,7 @@ header('Content-Type: text/html; charset=' . get_bloginfo('charset')); <head> <meta http-equiv="Content-Type" content="<?php bloginfo('html_type'); ?>; charset=<?php echo get_option('blog_charset'); ?>" /> <title><?php _e('Rich Editor Help') ?></title> -<script type="text/javascript" src="tiny_mce_popup.js?ver=3223"></script> +<script type="text/javascript" src="tiny_mce_popup.js?ver=342"></script> <?php wp_admin_css( 'global', true ); wp_admin_css( 'wp-admin', true ); @@ -127,6 +127,20 @@ wp_admin_css( 'wp-admin', true ); #buttoncontainer a, #buttoncontainer a:hover { border-bottom: 0px; } + + .mac, + .macos .win { + display: none; + } + + .macos span.mac { + display: inline; + } + + .macwebkit tr.mac { + display: table-row; + } + </style> <?php if ( is_rtl() ) : ?> <style type="text/css"> @@ -159,17 +173,29 @@ wp_admin_css( 'wp-admin', true ); } } - function init() { - document.getElementById('version').innerHTML = tinymce.majorVersion + "." + tinymce.minorVersion; + tinyMCEPopup.onInit.add(function() { + var win = tinyMCEPopup.getWin(); + + document.getElementById('version').innerHTML = tinymce.majorVersion + "." + tinymce.minorVersion; document.getElementById('date').innerHTML = tinymce.releaseDate; - } - tinyMCEPopup.onInit.add(init); + + if ( win.fullscreen && win.fullscreen.settings.visible ) { + d('content1').className = 'hidden'; + d('tabs').className = 'hidden'; + d('content3').className = 'dfw'; + } + + if ( tinymce.isMac ) + document.body.className = 'macos'; + + if ( tinymce.isMac && tinymce.isWebKit ) + document.body.className = 'macos macwebkit'; + + }); </script> </head> <body> -<div id="wphead"><h1><?php echo get_bloginfo('blogtitle'); ?></h1></div> - <ul id="tabs"> <li><a id="tab1" href="javascript:flipTab(1)" title="<?php _e('Basics of Rich Editing') ?>" accesskey="1" tabindex="1" class="current"><?php _e('Basics') ?></a></li> <li><a id="tab2" href="javascript:flipTab(2)" title="<?php _e('Advanced use of the Rich Editor') ?>" accesskey="2" tabindex="2"><?php _e('Advanced') ?></a></li> @@ -202,28 +228,25 @@ wp_admin_css( 'wp-admin', true ); <div id="content3" class="hidden"> <h2><?php _e('Writing at Full Speed') ?></h2> <p><?php _e('Rather than reaching for your mouse to click on the toolbar, use these access keys. Windows and Linux use Ctrl + letter. Macintosh uses Command + letter.') ?></p> + <table class="keys" width="100%" style="border: 0 none;"> <tr class="top"><th class="key center"><?php _e('Letter') ?></th><th class="left"><?php _e('Action') ?></th><th class="key center"><?php _e('Letter') ?></th><th class="left"><?php _e('Action') ?></th></tr> <tr><th>c</th><td><?php _e('Copy') ?></td><th>v</th><td><?php _e('Paste') ?></td></tr> <tr><th>a</th><td><?php _e('Select all') ?></td><th>x</th><td><?php _e('Cut') ?></td></tr> <tr><th>z</th><td><?php _e('Undo') ?></td><th>y</th><td><?php _e('Redo') ?></td></tr> - <script type="text/javascript"> - if ( ! tinymce.isWebKit ) - document.write("<tr><th>b</th><td><?php _e('Bold') ?></td><th>i</th><td><?php _e('Italic') ?></td></tr>"+ - "<tr><th>u</th><td><?php _e('Underline') ?></td><th>1</th><td><?php _e('Heading 1') ?></td></tr>"+ - "<tr><th>2</th><td><?php _e('Heading 2') ?></td><th>3</th><td><?php _e('Heading 3') ?></td></tr>"+ - "<tr><th>4</th><td><?php _e('Heading 4') ?></td><th>5</th><td><?php _e('Heading 5') ?></td></tr>"+ - "<tr><th>6</th><td><?php _e('Heading 6') ?></td><th>9</th><td><?php _e('Address') ?></td></tr>") - </script> + + <tr class="win"><th>b</th><td><?php _e('Bold') ?></td><th>i</th><td><?php _e('Italic') ?></td></tr> + <tr class="win"><th>u</th><td><?php _e('Underline') ?></td><th>1</th><td><?php _e('Heading 1') ?></td></tr> + <tr class="win"><th>2</th><td><?php _e('Heading 2') ?></td><th>3</th><td><?php _e('Heading 3') ?></td></tr> + <tr class="win"><th>4</th><td><?php _e('Heading 4') ?></td><th>5</th><td><?php _e('Heading 5') ?></td></tr> + <tr class="win"><th>6</th><td><?php _e('Heading 6') ?></td><th>9</th><td><?php _e('Address') ?></td></tr> </table> <p><?php _e('The following shortcuts use different access keys: Alt + Shift + letter.') ?></p> <table class="keys" width="100%" style="border: 0 none;"> <tr class="top"><th class="key center"><?php _e('Letter') ?></th><th class="left"><?php _e('Action') ?></th><th class="key center"><?php _e('Letter') ?></th><th class="left"><?php _e('Action') ?></th></tr> - <script type="text/javascript"> - if ( tinymce.isWebKit ) - document.write("<tr><th>b</th><td><?php _e('Bold') ?></td><th>i</th><td><?php _e('Italic') ?></td></tr>") - </script> + <tr class="mac"><th>b</th><td><?php _e('Bold') ?></td><th>i</th><td><?php _e('Italic') ?></td></tr> + <tr><th>n</th><td><?php _e('Check Spelling') ?></td><th>l</th><td><?php _e('Align Left') ?></td></tr> <tr><th>j</th><td><?php _e('Justify Text') ?></td><th>c</th><td><?php _e('Align Center') ?></td></tr> <tr><th>d</th><td><span style="text-decoration: line-through;"><?php _e('Strikethrough') ?></span></td><th>r</th><td><?php _e('Align Right') ?></td></tr> @@ -233,6 +256,11 @@ wp_admin_css( 'wp-admin', true ); <tr><th>g</th><td><?php _e('Full Screen') ?></td><th>t</th><td><?php _e('Insert More Tag') ?></td></tr> <tr><th>p</th><td><?php _e('Insert Page Break tag') ?></td><th>h</th><td><?php _e('Help') ?></td></tr> <tr><th>e</th><td colspan="3"><?php _e('Switch to HTML mode') ?></td></tr> + + <tr><th colspan="4" style="font-weight: normal;padding: 15px 10px 10px;"><?php _e('Editor width in Distraction-free writing mode:'); ?></th></tr> + <tr><th><span class="win">Alt +</span><span class="mac">Ctrl +</span></th><td><?php _e('Wider') ?></td> + <th><span class="win">Alt -</span><span class="mac">Ctrl -</span></th><td><?php _e('Narrower') ?></td></tr> + <tr><th><span class="win">Alt 0</span><span class="mac">Ctrl 0</span></th><td><?php _e('Default width') ?></td><th></th><td></td></tr> </table> </div> @@ -240,14 +268,12 @@ wp_admin_css( 'wp-admin', true ); <h2><?php _e('About TinyMCE'); ?></h2> <p><?php _e('Version:'); ?> <span id="version"></span> (<span id="date"></span>)</p> - <p><?php printf(__('TinyMCE is a platform independent web based Javascript HTML WYSIWYG editor control released as Open Source under %sLGPL</a> by Moxiecode Systems AB. It has the ability to convert HTML TEXTAREA fields or other HTML elements to editor instances.'), '<a href="'.home_url('/wp-includes/js/tinymce/license.txt').'" target="_blank" title="'.esc_attr__('GNU Library General Public Licence').'">') ?></p> - <p><?php _e('Copyright © 2003-2007, <a href="http://www.moxiecode.com" target="_blank">Moxiecode Systems AB</a>, All rights reserved.') ?></p> + <p><?php printf(__('TinyMCE is a platform independent web based Javascript HTML WYSIWYG editor released as Open Source under %sLGPL</a> by Moxiecode Systems AB. It has the ability to convert HTML TEXTAREA fields or other HTML elements to editor instances.'), '<a href="'.home_url('/wp-includes/js/tinymce/license.txt').'" target="_blank" title="'.esc_attr__('GNU Library General Public Licence').'">') ?></p> + <p><?php _e('Copyright © 2003-2011, <a href="http://www.moxiecode.com" target="_blank">Moxiecode Systems AB</a>, All rights reserved.') ?></p> <p><?php _e('For more information about this software visit the <a href="http://tinymce.moxiecode.com" target="_blank">TinyMCE website</a>.') ?></p> <div id="buttoncontainer"> - <a href="http://www.moxiecode.com" target="_blank"><img src="themes/advanced/img/gotmoxie.png" alt="<?php _e('Got Moxie?') ?>" style="border: none;" /></a> - <a href="http://sourceforge.net/projects/tinymce/" target="_blank"><img src="themes/advanced/img/sflogo.png" alt="<?php _e('Hosted By Sourceforge') ?>" style="border: none;" /></a> - <a href="http://www.freshmeat.net/projects/tinymce" target="_blank"><img src="themes/advanced/img/fm.gif" alt="<?php _e('Also on freshmeat') ?>" style="border: none;" /></a> + <a href="http://www.moxiecode.com" target="_blank"><img src="themes/advanced/img/gotmoxie.png" alt="<?php _e('Got Moxie?') ?>" style="border: 0" /></a> </div> </div> diff --git a/wp-includes/js/tinymce/wp-tinymce.js.gz b/wp-includes/js/tinymce/wp-tinymce.js.gz index b818471d78012e8fdbddb621bcb62fcc6fcd6e30..3441ea640554863645c8d1a827277a4ecbd729ae 100644 GIT binary patch literal 93408 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%0AIcA0QuHn7=yj8<!^S3KXi<zGMSFz}cHpvTb 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 literal 84510 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'BL2sSIt?pkE2cJ zUUpZ;4sq_jG99r;^2r-#tCeQ;GpTNS#=CL%iKQwVGY(C)esfJYgYCrQYeLH<`lfHr z%swe+KRwZi|A|7C#=?$i)Bm(jI5KJC;Ymk?FQ~|*{b6TIXnlV);pBwlhQ+CyryWSn z<aAD1EwZuPGFIi{nU{%{(F|5|@9E5r6}qV3TM^keebUCwnYFXx0`I*3<1l^tpXd9+ zJQgWw*sWjCu=A1p=d##U**gF8etTbP%W#;zcYQ{1*d)f*qj}c*T14BelEh<~J7XK% z6qA*^@7`nl^IhU!HPioE_W!l~|NkmfUACI{>Z!)uuZPU?_*f6Ud$2F4EvBI?dW-PI zdE9rL8ZWME?J4aocb1hsa6b8l=DkE7)486L4j$&Lc{s=F@}Y;1dN=;rrfAV(!D#<* z23tdkahCBBtE~bi3!8c>d*UOODH;@5Tx$<*Z|q5oV|l&dj<KCT!--EmrY@U#LsUJ* zFUA+o4HrAF@pp2Wm5gDmp5@p30#+HH4|i?1cKCIA!KEf8^UYnXbANn{`FAsPhN6_< zrFg!@mHN4llajs^go+*G`%;)Kuyy(=ff`Gm^)qK4^k7cA>*s!wH-ABtMBF*1lFI_k zY0(8eANk&y9^WRWHD}8O##1*xFMhR6F=a`SE#J9tf3~gl!j*3fD|T(UZWh|+kaNVL z{=<pF1H6^3FFri4P<ml8gVXwQ%Vo><(+OI$3a<;x1U_yO<9#Q5L{0o+0nc`e;Abu> z3WhZsJ06-BUDKN(Wc8r>SyBz-646Us#;4k^JyW^4vdaJ4@$2&>TrSSYchtGix&A5Z zs(ht2u3OslmaGu7iQe2@S=AU|^ms-1iFTRv6)MvX^7Qhg1)ZE2b~<(5wq28F7KR$> zP4Q{(a8bQ4xhnouE7R%T4$j`?&$)L*9>1ly{p+2F$Imrc22MYCNMmEnVfQ;?j}u;S z_&jlzh^zT>*X`kX+eIy{iP|q4u4k#uI<j|3oA?Qq366_max;~t`7J)Z<EfkR&EEyz zo*urqd-LL_r{nL}{n;RH9DXO)<8|v#YwPKv(lg4+-10P7ZBEK<^kTSs@SR-gGlNeP z>l}l0D=dUqmn-e%V7dG1>nZnn*1X@04ZEIji%x%V%5Or$0}-vlgnsXDjO}snnD{%S z__c5QOHTi3<LoFJGF#Z2dEWOW1ulHYry5(%b*V{vmBhRCT<phW-qST6_DhmyUzAOD zC~Q~VH(||`TZihd$XVF#d}4QPXU45ZZmisrl1XhR=e?DF%GUK<eSc2abeS8nmluZS zOT`^DTPl80b#9vEEWUs97nv7MSG~I+LO}l2rlkFG6_t0kSCmarG2=G6(4MUDVcyLJ z)~grjJ(|7bEcZKyuRdjKoTncCQ!=Y-;ob#pspbdQOv^L~5Y2kk{`O#I#Ks?KJO2jf zxGd-1{&Ujg_H~zMc4xUxnEzp0Y}75O<fsh`mu_0H#aOTSmSo7(4HomFegz(U{Usyr z*7xnq`PZ96UvAvid?r6(ir6i$nF=<)4$EHfe-XsB{DGs1-v`+^xkF5)C%!~}i+Sb5 z{E738_4+R}7F|E{i8=G5LmKbV`=8Si)#n_WckhN+e~y~X%};V4zh5b^FtnFA^eN)= zcGoQ(M(#<~iZ@S`h<&Ws(E5%gnQPag0=9E2Es|6I+Zfykm+6)+WZ^Ws(bXx@EnKLZ zcQms%dCuI6D=W@%zr24^zVT1?k^8%Ke!8`PJ8>mcG%I}*)1v*H#-CG#cx%(2S00VI z`)}^ta4X@W)v4LNO{*^n9eBU-i|o}O3C8nRpWWj1=3VK^mYetHS9ZpE9G*G9wvjP! z#pU_(*XAlLyvjXA`;koiffdg!a&KCj2%m}2&^y|nl~)|LVd2%QH4=~A&iWpodR=}) zwxrSFFxHLPhOcj|y>%wsQ2p6XJHr!hk3{~ka^@a5l)0U$w_=TErfD}L-yFqh%>ETm z+xsT3T7PcJvo+PJ^DH{06gJ0*wajJOHn)52^GE3wzWW7gR@JvP`^fB>EBnXO#^#@= z(40bv{%0$K_Sr`335xSSGW>e{+vnTqqJJhlcG9%j)+#=6b|dqHwZ|C$J#P=YVZH8M z+c{C+jeEbRzqDLqF68I^=cC-a*!Y!(XIFlm_-tm;=^e5QRcGxsS$j6Ipt!U-`R*DW z@3Sno4t{*tlbJAmPlQG8@85g9g<?OgF}l8a+Sz%XIxe0UF1}~`|4za{(%x;lyUgDM zHJk1W^mSJ-KYdahDsFN=CaBH6MbUS+27~9J*$z{4KbOBXx$%4RzWu*1S1t|I(>;ED z!?q`PUQY?X@%hwoyFRbuCDM<hKdCA_PnKu)7x@3pxWC}OIQ#G4C7H8cnFst`w%}Lq z%70FM(O2iQq)W~IEH&-jk4WFdnm!ie{{GMxN2L?p0&C+oN}M^A75}_Im#Kc=w=JJ) z4Nfk55VNI;-^N0rF#UMOlck$2C*8g6xQyqL*$KyeeYciRnV`EtDpIUxGMAmdf6wW; zcMOiimYp*AGn+xVT0q`=t%9D`KCVlAYxHCOFFv|K(s%FSKVIQW(;l1+jw!mK_=EX? z_Uzvueu*BKo+30|-uCU;_LG~JpICCM>HC2Uv5LJvYhv!+-o0zrsu){GhTGOZUM`>i zZQaHtJPjXg{%^U%S0pYm&*`$Z){f*v$(IiU8IQ3U9B5yy|5$a+rmO82ZSEX;_;yjy z`_u=uH~&^_sczCaX&LpjGWu2JqrEoV|2li0ygm`Ux4UG0C}SjhwZ+j}(^6Kk$lKf8 z|2xqwXmR-T&2N96G<=@i?W4QXGTH5^?P-UTVH;SzCu9mgi><EOcRV!V-}Mc_CtUV8 z<f^L1s%+h!y?Cwk0w(=eui}hbzlzOFRQ12syjsw?t!=X$!_m@$SbOKW)1H2+DqSs= z{%*sS<-2t=ewf`i$X<Lq_deV9Rk`O+zr7>JbYt`Kh;XZ<{c8GetUk2fnVPKgVMWd9 zMExb<`Aiod**Yk9J)Jb~{gd{p^!5!GiWM@RFBJ*antrjwjb+t;ogXVd**;h^`N720 z2WgY{R878cMpWa(nPm@m7<=wWeX@EHueH|Is+%mHFB=Qan6Q+8vdK5CGVN_N>%4U> zDstyqm7@{wO;4zco%YsZ;nd#$#QstmZ`G^+|0-=uG**jV@GtS!T9Ue9_HoXf4+Y2E zLMJ@oEQu}N6mv`Y+aC8OFZtpf1}3Q!%BJ)v+a5^y|5Vb&vm<WagT<L5w{F-OPmt37 z{q(~6_i?itYZsrgN`J$BN%L9nCBgYeavS!)WxDe~=gKRM2E&isVG))$p9cpXiHnJr zVLRF*!hND?{pBsL{wrR8b&gnZHqOIgcj<$ig=JGMn0)`|+3i(ydbMKFj3qbRtY;m) zD|kzT_1^4>+oQI2+}ru({f#Ehi+sHt{&}3GD?MI6pJi(BcH6qEehY(GjO=gTZwQgv zb?m}yhN?*d?o<0Oo3FP&_c$eNQ(BFCPl%?+kzY*f=5e3YVx4d>;OG}=%h`Tn(fwih zj8*HFI%a-dap+F8Pm<u$Ee2|PN-lOzwmi<i%`UYhclu0ecX5s87k-Be`7cMD(dd>5 zedFKNWSz~(D-u;)>(42|Q6lC$lihUd=hCE=!B$H5r)`t@%&{@%&d!|<A(AJ`?=JkF z`}cO+^555Aow|@PRV@00#i}d^?fL8qPfz>(H(Gl{G}GJeI78eaIm58&iz03RJbxAa zOLdDELrKYF$+Wu@KQ!}PeO>OgcKfSd*Y^%z<ht((U;OR&WuN$7`6GLDC;aNxKdK~{ zsWd4fsWb8`U;bTXqq<KUbQ!`Ew~F!acA6Exk}HlqpUYo7f5Y1l?rWT7|L&WJ<muW= z1V=2Iy2`!C|BHuxEBjyV7(V@&Gr?0o^$EzU?>w9O?CS=$CppWf{K%iBWBN^$d;O`? z8%r2m|LtzO)ShlF!<DsXrdn>s^j4kF{?z+&JweMS$j;AVZPlCqbJoWVTD~5lxm6bw z9&Av_i}ZCneD>_#^zS?|=QH(>eY<e~)0BO$v!xEsoa?r>L`&6sS6ln735nTysm{B8 zG2Kqx`EQT8ulU`2&9{#k?cQ|h*t3t8XZm=qZPD2)^GEz)PR1*)0+nAKGG|r=9p2Q= zWjtH@<j%kw7i89%a{8FPIr_OkLfw3s<hoY>t-f0)I0lBeuR55L)pkmo!D+YACzGkY zZO&i)UM-)Y(*Mk~Z&{Qr=ee9o6<!BpyJX)KUz+kuMoFq`Mw^;g(P!J`ypDE8KR)%W zJHEucTl={3t_hw~?zWu{d%NqUrup7oUGG-JPF(TNqhr^;<Bz`W-@CjpuQxj4vP|Vi z?aIe%?;Q+#|1s?S$*}jk*WUXcy;pu4Lw1fQYx~-dCX4b#QgXLGkAC}2jBAeVOShEw zHQSzVdd~fR-AtaX(Q|iJKV5$<rmStp<eeqjQFBZxi|b4@B^vK&D!p|!&aq8<k$av; z-p4B{kGsb8ewU<S+h^VEdoyltxhgjG#I`B<9>!O%nYpNTNhzIrBXPYnje~P46YKj= zTyc};Y`(lg)Af_LY-HZsGoDYrnzr~H4U^V=5Fcf{;Z)@31C{GO<x1VXTrIVgOKj^Z z(TdH6uNt4cTXgI5(Ht37&dgec8(B<ylP)#?4V~t;f9Z}>OE!1&EzdKyIcuu7CEs=1 z0-2=1NU5iRN3Y&2Zs(|U+;*fZt2gLK_e@Sh^{wpX9LFa0eaLNFYO_wM@_W~htuv0B zPpXW0B_?8g{NIfEY3dg5k`K%NyuYB+WY>8MzCK;&7tH(1gbcc#s9V)6^q(?SaPI5) zr~}OcC)3JR-)ElGmY;6BKji=C$j8zDB^CCqd(QoSWw@QD{VgSS<CM4;wZ#u=KmWL? zy#L#SW#3b7FS}@)bJcls{hhaaj7%I~_TD`A^}y*UCc!_CN~aqATI|&?lNYO?{l97N zp7<?GK5^tNSt~KuS@e-a_l{p`(ziad*iAaR@rLbz|I4|LSDg=ebhDG^L-)B)R~P~( z&6k|Cbobo3t617AC&*5}+#}U_i$Bp(XD&m;^5o6ARU0n_J``FTIq%P-C$A1WaHO9& ztWerDWs}e<QPbtd@0Jw2=QfMHuRHre-us%W3Ogss7nh%vWcSN@e^B^vkf-)B>yFKr zYYOf!Gd~b?;n?~+Eo&Q;tQ)dp@9xUYt22I)H|O~L=bQ8AJ9SUZ=b!J{{o42F{CV#k zAEpPKoblpxapEi6Lu_wX?Ejo`VwdWRr>@hT@5|hnv3$DUzE6QYo?De~S-tK`Jk*)v zG*5W<A&t~IS{G~upPYLo;@i@(Bx%vZZA!Ci%G;hj`*O~Gf$hU9ljd|8Zf865jB%=I zxyF*oMFCcpU#7`4R;29?-Dbs+vn51H=83Xjm!QuR(+vKMop-e7nm_fL8$b2@Z0}!x z7+BP5e^tkddCUGjy)-mXRZcFsLGb3Mk6!cG!tS1*vvoa->-RsYv%dr+@`~>Lu*CI} zjz@U-mUFg8+87t^zi^i|N4c!?htTiE$9D1O@SKV*SyrJhwr%ULUEL4w@61V)iocqb z<}}mI{0>L_dd2S(ekaCN*r%-b3(`8>bG+s0w)Q6XIV~2g;mdCKssCu=-6G`?Z@KL8 z(j8~L59*eE)m7WT8gx=}kIIK4uPycR!qeyVb!t?F-I6p-e|)Rxxjei5o9ok_Z+`kS zsowrh{I8C>`B%>`f4=zGcJDov=e}QAex76I^=n~D653V;ZW`w+lD2jn5O$k;{9xyl zcM2B|tul*HpLcOLi@@1)=L{_mS-w2V`77MoQCCK%X|k<YobXwu&W`M5u_gjhFSqUs zPfqF!o2$M=^Ou$!FGK#}3tu(Q<V^Mb{>12b-8}pLKmU35@4x&pt5UE*l`-Pr&VK^@ z7iXw0wk*pQIliRsmhS82cRfEf-ejCKF;VexNr|EJ{G{%W3*Cj%!`4md*F0l+k$uhT z^ru-#L6P1wCo}8c)%wr%Em@`9E6_sOQNKD$*FfA&ZDM}&lru@0f3nOEy^q?m`8eal z>1!V>3V-G>SJ9R)<W$n-u(~x7FD3u6G)b-deDe4ABdg+93z-_T7!)<%jN@(CTHqY{ ze#!~P?KQb+jWca5jk9O+-4W9DtedV8+bOW6Ir*AkWa8SDBGWcX&b4)yIlXm;#@wRE z@ecalDy%+CyvN1g{BPLim3=Zu*Hq&~EqjT|Q@@ku;#RRw<5jO!I=;7={HH=Oea~j& zbxXn*XH;ojx8e}Hak#1Fb<oD>S5x;M?sb#ruHcxe_C#X;(@Q^D{gk&gbIx6Hsq{hG zkK0?^-dG%wcp&w`P25Pk#I0z`=~)Z3c0TT8>f(~_IXg=~XL70`Z_m?=+KU3hQCC*3 zjkj5+F{9pf-TtyNugMCtIZA8qalTn$c2L)mQ+DOkDa*D={!y7B_S>$>tKIqStBj_7 z{mU9XXDrHEeLFi(LZongLJs3y{;Mk!Ha>KjyfpZwTjr*iKKW<PFBuLep1ZhC=xU>` zI%`m>S;688ZQG|$C+Xy=XVk5WVd=SQB%M?iG~erVjl_h=WxGGuPkB|pPAc_(4eR<1 zPXA`FvT~l=ySskEt`Das-%GlXIPd8TuNUjKSJ-^Lv@G%Wl@BaZdJl7pE!G9G3%_Z& zt)45yeS+nuWIzYow>pgrAE#XAJai_}jP+Z`J>%p(vXPRk^Yk-b^fj1lWYlzHW%b_s z^ya^ZE+4C2n_kqA&Aa}e=fUyqOAl+Q>Fodb*LJ^^<`-?>dvn)?h8@V?oBh?nsv+=7 z`qJ!@50^MT9Cvhnbz;}cW8LR%W@MyGR#k@|+NE5y%=A-$--`gR7B-FbS8P;DT0^`z zkKbRqASifCm7{^-rz)#;eP@rF%(%2Lg5~Voxvkx|w>58cTh<<Ce3kWqfm+Xr_Qw&n za!a3{R$Bff?{|=0UGcBo=`tLO%<<cg{cA|e+4$~5mx-Qq_sfSShZ~M~?$W%P(-hIs zd0J2?_~m9p=^Ewt+ZxaQPiy?A`my8BDu3w>({F?{w#!+0zp*`1^tB;W;<=B?Imyk7 z&EziS-(qhmNr=CbbT9OX^DWi7gMZ&zty6oK`F-z}l<l*l50u&z&k^1jIjy!eea%zf zH=IK6e6_69H`HBzbh%Le_VK?)64#Gy3+;OS;91ay8y$KVuX<fgUwpa!O1rX--ouE) z_WjbAL=v(TIbJ?_AGPjs#JbBqRu7yfzkKD?(kYa-_1R^Ye{;S*>hp2ymwoZ%sP^p> z>>On;&%AWADsC!U;;)e7{<HCL*&eMb$rPm-wZ}aBd9P+0nJnBPV*X40=G-gmN{@6& zD@fZfGWew8QmeRKW}n@fxht5Nj=bZ4sxX1G<<`#$JddrPI7W4v>~l8tnY!?I9?Ny@ z>n{T~-d>$usF~MVypT!kj=1?Go5t<R)y7UcuWDDYt9$>jliqp%c%ZqQrDjli&B<5# z?hNW)_J41=_f|0cd~29}#MqYS!>W~srT4TfYi(naD)(jO|J!C-w(#vs1G$4A&obCe zT=q_zd4JTMd0&ssc;uY=DrkERcY(i&)AzMArO#MAfBsT!#;y~ub~UEl^gX)c)&9g! zy}u6Z^x4MTv}66N{HFGdRc|6cO>Z-0+cIgB|Ksat@)CV6yqR#3`#awv)9GwUpW3Y( znvSfOa$B}J@#%Aw+_uiBCq4XY_Fw#DqRjMndr!qG&Bmr@S^OEfsxQJOs=l~%%GT<N zt>OuzilChvdJWEYGtX~i4ZqJM`<r#T*pxV<DW9UxJFHN78@}56w4cMe(7Xw%nR|Dh z)tfZ6`l_f=fRUd-Wo1{?gqSIYMS*il7kFP=b9m`yzV7O4i3_hC+`CF&`j3+7>kT{7 zWyNM+Z=B`sExF4?yox8fyM1lbs`qP{UNxqPCaE4&o$7MD>#_5y-6yIhzFL;d<#e>H z=Y;!#BafDKglzlC=<vj^Xx)30eeK6jMch<)z3)@=1wox-PcFr-`dpcmlPSFT=#o2I znr6JZJx$wI^!nV8R@wP}+uC<?PFP)jDYW9+_uyms7UE&c%jbNRu{&-1A=cTKNyx-1 z#VI>1ad(!A`j3YTcNR1(Pig3L{<)Y-{8Gk|gB&a$yO(s>CPdfQaCofFG`U}TC*!7y z-5!QDtNOZ+a31P=Jn#I|h%-gPLYwk;?Y(=PUw*0Uh6m;XZ*Bdjo=u#4@zyE55C7a( z|N47t#{spxh3$6Ds?iyG-*2QP8bzJ__K<7wTG7Y_rc?8}PR>cnXMMKu>1N**clsO3 z%{J7E7%*s?vsOqx-z%ft$zE-_Y;(E!^n+<?H@iz!ZLh4Vsn#{Rt-+&ma}N9SmC?cH zFR#2Zm+MOZ(@8&%9`T+1d7kfAFK@HZvfScBcE3YUuCf2NxYb7I=N9*^{ZEBh52w2F z`qk`mIJ<3=LZY9d{F?Gj6)i@bhyU^KVcw+w>1@f2#=jG`&F~Jo<XU_3;FGp(J5^Ks zXI&Tle4}v1lau1Qsz$H3?AyIjH~pIZT%};Xb(7+sZRK7wGiy_Q67SOlg~M+u1b9kB zd2()ipKt!=cYKt)Tl@EQLh_uI!k(sTwOZjPxJs|^Pg~;a@a)NV=P$P`pH7!@cK3U3 zp8YQ7>|13GY3ohm_0|_&zHTv?X5G^~mH+(G+}p-W?`7<Az0T7ZF;7%hhF^V!{gTi# z7TFh?=g9XdxpJJnEWG{It$=4YctvB*$h_LUK*v-`e`-^ejm>oTRjeX0-9H&>E^p3B zls%iYmgP$FalIc5!PyJWuKMwEshHPv){dfm;qMmBC^@(!uuNvs9~tkm-ZhJNG->D= zUJ^{wRC1lFDJs$Ky6bn0q7=itj#BGJr>Vy2KTR4tBekEJy?neo+-xIDK3}?8uy@{( zh+;$Ep0yJuZhhUjtN;C>OAhZ3dbd8Ab)8G_);{&=r!T4glG+$Ce|_A)U)}CHk!PpB zJCdQMFqPZ%q+4={O?XuD>F%HRPELC9TG%|jSwUcev+8@M%ge;JE~q#D9l1_T@i|X- z<!)YwTioe)dip=C+@DbL#!zV9zhrl&^G<s%2($WZo%t!%&in}P=Yw`Kviq$LCkW2s z)OFT9(|Y{h=adH`H~7CS-gN$#|F<9Sj(Me=KgjpYsrTZyYR!ul)3-9uTBohIaNgVk z`L&WtLZLPXZZaQRy5)GE+giC}GBNf`VmvKpO?|Q^JAKo+t%`5neSY_~J1*?n<rQXO zQ49we|D@GFuw+jX`oYEWELl#<T6Wv9qbJR(6&=r3y_md&KkHRQz;DO-B1d`Vq^zI4 z@#D`YZi^B&*XMXz6<<=dluKxA*EHq0E<aUdr^miYe-_@}by{W0hrcre51Gw-p}Vku za@X$seLvqtXsfF4mFMcPxMm@v{3IfC&GQXKm!{~g_AL2hdQs)=6zk`~JA0(oe`g52 zJ>mE%#>a=MZ{`|r@N8QYdg17r*{TxaF>&u&z4XOrExE@uXVJ#FTfVa`7O<$E%D4Hx z$UcX2Ud;+_6=qyNvwK>XuiN>d#nk+0X@R=!#jxDxw{HdKUM)SWtGp-c`rRkZ+p=m3 zyx(sLz3sfcC@#8GrsVUvFx~xkf=f=tn%>))sk;8TMD*rarO(&Sc@-wR|3Pxev)HR~ zd&AY{T-sq0UbS{}f?wgf?ABNAQ&xO=CNsG!`F@4duC?*kpHKC(P}rW~kQmV2>$Z*U z)5`V6L8X<7XP?-noSmek6Vdi-GS{!mTdqF4v*FsbmyD9K3v^h;Btnl}y}-2m@2wpr zIZsZoo;^R|e%4X$MXX;}wW_{-w=!1pLQD3iZ(bjT-mbab^Ln};+s%n*TBEynIyj%| zSe#<*ZYfim(YqmQX7lAO9!y^+bS?dG;mTSm;WYW<Er|g|+v1`^yIEPRRy6ExwGn&& z<!ttpEqhdsUOmy5xGYobO124OYwv$sg>QUiWzWP?B`Wme|M$dA7g)ue#B+X`ZkGYi zjFMYi?=F6cdOB53T&Q!7fsiG)-x(jjhlkbroGW(EjhfXoq2y7~f~oHtE;rqNnlqQb zG5N`_q_aKi)r?;JlsR9m{{DXQ4MDqE%Y@28F4Qj*wea0!m%rfZ^RD)&Cy(}SSeenH z8Xx5Nsj%)?tF5NPIlh3>358<&7rr$Q`7~E&$G*E$Q<qE*6_4E@wc^-Iqrgh@r#r+i z&0*P?HSt$2W5ua<E+^$Z@y~8b+z=KP((zCJl`}V?Q|Z1t=d2u8mgVk?zuh!7<a@Tm zcg45z*~LG%UYh*NVp`YQFu{4ocLP~JCr-V)bCTNQC0@tRH>vxVmG#YM^RH`Y7q9(4 zdEfrq?eCK<I{jaqFTekJzWj^x{g+OkdA)(PT}Y_TYQdNJ^A@<By|duOAD*n7=NyyI zy$*=pQyjiKG({w8t5=4f;~~F$B0&zTa<q^32zkCZy<KkgrbWBLPcHtoVtT`|#3#ah z?(^4|KEASuFI2ZkzJ2$!^;b)>7Dnz}SK4Ft?P%>$KV7r=*T2SXGOaB<>spqVqnGa= zAa&ul$dl}@q=(B7@^95_`>vIBQQQCG^T4~w%f*hrS=;Ep`g-#nw~uH3zg)ZiTgjg@ z*&_ZAj{9D{_3`PgF8kb78f)jT-1OAbKQ?IAmb>#7pJQV%T~N>a;EQx^mf!|&xr00_ z7Dg{-nWUQVWoM#Sn)QjT3-(Ipich)f?rj^<sn)bGQLX>NvQK@HD_M+Rx~oMeH!E0# z*>i5x+$y%GeQOxcl)(LgWkNE~zp#A~y3^lL(0j5gM1M|p;lct*!AteKMQhpbTt2Z; zRm?6d>EWSiTNl6C?DWgsE?Dw@wIy>@$c^Qz1@bQWX{DK(%rV`5cH_RtZBI)dzmfX3 zLn3hgsedbkViz&`UY@>D>8oqW8vRA_!MlQ$r=+@0Z#@3jU7}b<^u&st$&7C$v@KKL zR!hx^T5Qd^gin>L(!bUH-wF@&n_W*=UOw6>y7l|{zjx>VTOBy<T|&07vX0qP+i&i3 z-nPodik2uF%iZf=^&rww`E1jLqmOkuCo76bbnM$-wB2yW;k_#!Nrfd!MxTB4rcU6> z9P7$IKMrpBnmqMhM&;3(m6Po^?}&PRdg`~oNgqr<XvZhc)>vpKH8E&`U2@p0?@ZY< zCnXoRK6-GQsj%SS!-d=3cFm}cT)I5>@07bYHD58kUHdjUzN3D^hl{7rvP}3F(lTN0 ze}DD)9Ln7JN{uPCN()mGGs`V11!i;`i~j!}GRH%-$9VNld4Y>!Z}o3SZ;Wx@Jk_t+ zXHwChHS8v<1FpC%*|z?Y=AP3!i$#ix0vr|^`LAAae3CrN@{B*TR+i6M)|_Y|>!7Og z*<aUi_t)D>&))vBIKaO$?-9$~vtA4~Pq%OEJL7ph{^gmwXEwh{o40dz<+Ph;jLVJR zUi}|8D}QaXNw;QH%nF7F*{$i19U41-r<}YsaV>i#k8{M5AZMM}MF~C?xBp&^xEYyZ z9<8_L(z7{APwOV>1sq7JUueT-Wisu#rP(JD=i2`4zCYhGU)G$r*SY%NX1;Cql-f=4 zHZ{{Wo(MR!lJ%gp-M{Zk0>6dqetf-5KIm&sRCwiXcHSK;6GA7nxgJ)X8Y6A*Ts!4% zY*u!ZeDKbOW|qg|l?*J4!jG-K8hhcZf$RL6r?k3e-?>>>z4X_Y9G%J9op)wj*y`eI zwk0Z4EC2oZpyFL`e5Z@NV`{$Ea=PM1>>~N)s;r+K<BzV1D$Ja6`kBS|y`T4{Z=0Nv zY;bTHQ~8D5uSKbc`qs_Z5x?1Ba*;y2-8E&iZQ`$+Lbg@xzvbBd*w;--g_Ysr6hZN5 z$^S-f-8D;^CJEgR?`fXM=y{R<UD}f8rN_I@{g{4rMSx?Tzzl`gN~T+Wvn(!@me{4( z`!@XL)Jr$i?p|Bq-_!of_wfGc6I`$6@m%eht+wmXh9%N_c=WoZmu%crwlL)X=0|7W z%gs1e#h=mhZ09<|?1T*8rnRioGqPBMKV{|KKG2dhd%O4bJpEQNo9zV`o%_Gub}Mkc z=pSvgOJnufyEk_|o6MAZHL>wo+WAetW`uJ7x^lvLiOgxiDE)^LZWi5YuX8V5Z&GF0 z#^$)O>Fpt|X2Z>2rnyhsy;AY6N!dxw^>bn~{0bWk|9<FWd|MRSyT;0J+dM5_(MtQ9 zy@&SJn4gPF(7e#O)cV^lK7s00k_}4B)85~lQSCZq_uA?DMpeK4J_a)8s_vP5G-l3{ z$I=H6F$F(#yO}&=swnrawHKFf+n624qL|AS!+w3;r*}y<eiOGx?@HYNNB6LR+)l%a z34*semmj`#qCg?a(<W`%nSyI)4=Bc!Zn*Gb<JGbQwm$ifRX9&_n``fS!~3|*BAeNB zhk18YcczWIqEC95;!*X7u_luRau1u%oG%+O!{u`2#|>^TkM=D0Sg0G8)M(>>U1SRH zF&THOsCP#vIhvU>2sloAa^uDyv%=zkN9`mp8ZVu&-(RVuf91Xt&P#t)@Et#R`ekX5 zg67-8m-FrB)PK6KdE??Th3S)+Y(1-9^L+myw6~1ExhAUONyjDa$*FO<tM=;`{yB5^ zzlD-((~7@Z^Uks^-)pFOZNhrhd&1MV@>Ly;W$9d;n|a1~kBMOSk>F_@7M|CyGTfP^ z|B8LLy~(uv>F&#yzdv_xfBe4M@@2k3dby_OXE06u{6;YT%B~V-<K?~vw|z3$W>n-? zcb0_DadPKOQFVP%6SzmAzV}ZwYr%(@Xqi=Iy%}CBPVj|FJH9^cb!U>+Ut^K_7(3p7 zo#&24Yi%mZ4AA6L>^dD0<5hXousdQuOH|6vDUIv(o1^D$m~|+iAUJY=LuKl@E8Gpt z%T1=_y{J=u-}^4=rk_maw^@wS;}us<Xzw^CU47?6Cy)AU#dL8=9-XP@MBi6D$#}SO z!j^}p#J{=gwl9C0Q^Bag<or<YVQ6-vmhQVUgH2Z$IPST9W3E+n;w-trtbHZ<>*Wla z_iJCK?cesUASH0AswMM@$SJ2?u4LJitoEF(_9dU+#CX=7WiQm8T>5bHT;`IfrMiD} zS0CH`f$M(t?Cc5N^+L}d=1oYt^egx4*~Lo1XX|_;rb$$7%5Jwm#V3D3x=l|cU#$4g z?ETgYXYF8<$_v=oBy%Y9&g%Bv+y7tHP`=rBgzHvY44ah_M|4*Xzqjj;%g%QL=B6$V zl;_;Jv1UbJjmOJ>hU^07AJV*@F1V-@&8~V=yh>pErO*XDV%^~aZKrSSRq<IlBX#?s z&0H0aetp=r$KkY#n}W30w0EyL^Co;c6m!O<<iuz9w6>eh{?|5&bvg!J3(_#{xbj&v z@zkU>o`*$0*)tzs@q}T2sr2c~Hz$QCafugd$ag55dE~^aUwKM!L7VwISF7Iqz^iJN z+dX7t4aJ|$|F*>5;_}>Uw#A*+i<Nfd)?RU&_FS=b|BD2hH&de4sk}S4|6;y=(d2+N zXM3{5<Yd%;*X%EPp~T+3cJBk{eRm4oANrN?Onq;l!FA!@k?=;va<6TR<u8iN6ID;V zF^m6r#^UaSDqfu*BSMy6&~jCkmMk(h{F73$tm>uqf+M$gG@VU3_29JQ#mSO7{Sy{H z)MG!qN9O${5#9WP!W+t5#$Uv0W?e8mxb(*K`{^mOYa=riIUe6SD<ZrkZST~LDrQdX ztJ>E0?)Q$;^6XRl5u<hazxR>JS;fqE6TZI*;uqq5-oe<SbmTzTfrw`x#Te$7{8kWp zx`ZqAqv^7!Cx%o1pLrpB*?Pr_&^wFw-&t1mVBK!MX{R6EPS~lFo4$<K{P?$9pUeKd zI(t%oe{Id@hi5+j=X#s>Ek9QLL*DehS7NI|uef~W+uOf>&#LdwME4#3uq0W=qb<ml zUwqQJS7+XIvu<|1cCOdv%qQh9Qfv!jCRYC`c)%NAcUtsi_VUf_CC%JN#kl$&%uMl| za!!73HSaX_oo7V$Hcz*(F3Wsp9Pq4F#UQh0@A~@f`WjPYCq10)m6$x~b@Z9Z*`FS@ zI!<<0nD5oQHzO+h*19dc+Io+qbT78CzF+ig!_ie2tM8{cPk*tnO)o1q>Y(iA)vJFu z%_$AP_%byj>u1y7^xOAM%K!4RAJ=g?wD?VDoq*)G`wOPAa7sF=-csUVi<M@%TeaJ< zdgEr}3z3a_t_qjyw(XB8+iE*|W0KlGVYy#*aZ6Pk|8Xlzg?_!+mUN=zEu-iC>RYBg z*X6RpN?z|}<JlZ;m$9bgUfx>S75!JWR+>DOZdHp_Nv}N96`RtOQ+n{T@?*|BL2b3R zSId4Tu+|DKxA?eLFEK~=WpM23s%<PHoo`NT{rxI(qC)-=*6=$^_PzMXyPic<SCb(# zv++UK^!xi?9~OG^?ogboS>>hca*CVf-o7b4Ve|M`)z+F>t*__qZB2?+6?B#T_h(1- z&(JpqKb(5{=0jC|YQ^3&A7bXe*S&c8@awfKp7-8-ym-*XZ+D!d;^TO+n1w7iR%wWy zNfHgcFzZd0te51cS3FF7P0qUxFB09r*TTWPmS1aDqnOTN%hd2%rDO6({KazgbgP1F z7JT$sw5P$>Mayk#nbuL|_xI)g?yC9!@b2vR`ZziL^Kts|dh_@H{K~Ah_s`RupMl1; z$M`O{=j@*lecS7jpzRCqH7*g}7jq?hTJEt1tTN*aN^P^yTCri4htT;To8H?Mb7LL3 z137J1N`9MSWc~Q)-r$4UYE3NjuL|mHIBMWGb-CD^8z1$Tb~wLO&rdmVcuP}r_^dxo zcJ~7`d?I-?g!q=_-3jTb2ooxMcs0V&D=yMq>&f>0n>N&Sot`dLnajIhCsEF8Wz}WX zm3>|>MVtQ$&2Ib3@%PuYpT;{(lOMi4wDiR__mA;EXBs_y5*YO}VCtV4^Uj}4U3ukc z!|S`o$tumdic38-XS0=gDa*6lZC%ki@q>m%pGn!K%|Y4EOEgW=Qp*$>l$wr*urHNg zEcTY|bgJn;&af*yQ#vg+oZD(uwt8V+n4E?6x@PrvYxIkAF83@9%xZOCttos#A@#EO ziPrk;;GTsuxj7E5+1A67m1M)cV_)Bc8#6q(pIA(NylZ3XC6h(W@2xi5O<$L>G(YNF z$m_`+f~nnap3KtP-^w<3m;dply5D}sf17V>>mI(%+nP7%PD}dp=bJa_Wvn{U6t*qB zA%`cx^y}KfKU~T+HGkeE{Ec{ZVZxm7!>`sW{AB!VQ}+Ak`a;j|kAHpry7A=yL+c*Q zf26Z|_y1F0*<%x@zg}M2x9;vmcLN>qzt@bl&qbPB)|&Nh^DW-2pUi75)0B8hQNpJ; z@#!JGt_e<p3JV^Xv){M*_w1zk{o2oe&FyU-A2mOaTJ!Mo!u*4uS9Gqjk^Fx9D05Ij z!uKydd%w?i%==Q8|NhgluqFEsmwujV{oG_@-Ky20yUykQ_L%pe=kiOz`{9*u7(7BO zIiFqjQ=L%hcugy_QT=I?lI3$IR@QJMzLaS~-jYXq89EKagoUGD?bisBj<BA2F)F$7 zikxp(_=>eQVN+&*44ALE$;f#}hF@t7r`V)V4(|eU_O97^YA3t@1*@R_6}oQ&-e2|B zKYV5JY0k%|;$j}G-SSn#ecq$j;<-;ZvebwQn?L)st3+k`uXS=eer@=+=J>lM+uzSG zt=o6oEmhKP0*~W0rYbMh(CI$!OWICIMa)_fwO~q^UO>H$pSba}r{@~ZUA(;~&&72s z*S4dQ%hm=y?P$Gd*0QKni!IdgwWsFl3956atP6{rvE|Fsh`Q>zl2^7aeRnoyN@e2h zB(W#%PA@)93h6MtF1Xwvxvp#BT)m@C#(O<VGNr$0-`KNd%72SBMf==!QYSyz+_hv@ zpyk9>w|nR4&zo;suV=bhue*rn#iF{$dm_q@ShpHU#GU(86RF)Yb?Qb*>D-WKr6JxY z{nFmOD6)Fc<j}C}t})M*Bgu__x2%3$oO)X)QcCBRSK^whP8a9OSUF8fQFV)6G?O#` z^yj0!JD&0W5pfUC4{m7KY4~ULmyC@crwGp4x#d>oB1U1&E~6(OUOx&_d-?pBYBI0X zDIMimiQI?cGt;JvZawk-ahlT^M&;}&$q&TDGtQ{De`JgkH8JXcZ$IP0()SORnN>~S zv|8DGf0=Tl+0heeQ)l0DdhNS;@yYb-9{ejxSDc9o&Uo(}bxT}h@~^BTp+?brV#H!u z7+AYY*PN-T@n6a5=r^?>(70p$1FKUR`O5rJT&`V@+J!ncNH(g9?OZam)Z_7mJjTei z5}|>|!gIQIEHHYk;@~7H(sb|U-Q;!r&vwaP+wPlx^q^uy){*noUxOG!K407Yy~|Tm z>}aGBPuIFjz7}C#n?HQHF<W(QU~hVVWSr08V{5K&Tlyec=#-McqH69EpY_iY@9w-l z)4F`##wEs|G{ry0M{S=tZ$r#{Y4*x^?wUUr84ujJR%BxSEo0N%bu%98SZ#cp|1Bux z&Lqtw-K~4LSMknsyZGEdQemCIeZ#a@3tuFBUvO;C6z?4q+_-oclEj`GO)PQTz`xyF zz(;qX-SWlfn&;N-+_Xinb>W$uz!%=fvl-mpPD`$njfwtt|NkTXYkk$-|IThLdlmR0 zY_VD48Tp>Zdfqa5W~qOXOOkZz8fX6faK8TE=Z^=!o4)xds&h^HW6YcbbK;{PD4jd9 za);v6JH|KE&bHe+KfPlda;{cX=T-WVGj&r9r`Cn02=^}gC8OWqbK^s;K>rQqRl)x` zxhCb!J)pb3CMS66&9-h1hV1v}g-!=v6fFq-r;^ns{9$@vNL^~-BMHfZJ8ZinUsUpk z9+cLK5lx@;Oe6f4X~WVxHz%f@Tl@4=M7+Z#$%bu0s(v$8a|B!Q7O|dbx}GZc`K*+| z)8O4!^QK)svr8znCX3~uRv?2cZ}x+k!Ig6hf6kL_cbuxMoZE1=VsBIDe;Ets)k{CD zm8{ts&lvXc&(yf?+KIX1p4IBNp9$acdVbt$%klkhF35D$i|!A6>FycKe`eCv6RTcW zNUYzt>037Ya>m4OY7dfB`QLIK7Gq-*-~Z$Oq97}uU3(?e3%OtR=Nx@rzw(h?+hU!y zt6#piYd>1M?>F1E4=Gz`vFz!b#I(!oUeKrf)3>y{J6A|BOxmdvr|5ll-`BXGY4U16 zwTqNECF)jBV@N#E=9em<`u2*_?FDJ^+B2`Nzg<wq#ea@Pp#P(<q4mC>0%i3}XP-C| z7|ZzeFWZ|h`;FFQ-2B6M%R6h?mbTr@A6M(wO;g^=<->Bkf9IA}^Cmu>zOLfs<Iguk zj^u>CJ+a?9NdIcf;^PT2`;_;rsZ2PYl^AIL!ouQI&#xU4D*du29y!@0NW0X9My6P$ zrp6?-ZJVFOyGVSA<C1R{yBS+%nzU(XJ~^nt|L&0zPqA|N(~@2VrTy;9oH;#~8}X_o z1l`lh`a46ftaqc4*R15(@`rg+kFMYTB4XmJ>kqtUJl~c1%+~z#=3S-rVcXwH$MJtW zxG#S{3!B1G?%$tG#owQPz#6;9BD3hAz8$+fhx*Ce-?sjk{=;|A(gN=3k2u~vG5*N; z?m_fN?wBk2bGBdD`jq9V$om(!v@_1cUJGZN7a!tO^wwb#^Vfw(4A#GK_k3HrZtnFm z>tCrVPx7yx%3eOTp7q8nfxxqdZT0-i&GRoyv|6s$dT%eY_jkd^hi8x8T)+I$*8e5@ zzeRso?_Avxx_bVtXzj_?tF2<Mi-kCZuehbl*mrg2u1$BvlsfJ|u!?^3hT-Oihb2EB zwobeFciO~@f724p)%i|YFNnCmV*0IoKE5SctV_Px*%^e??7V+Oy!F@<?g-ZSwY6Mw zK|TI=^bh7wV|imfedfl6Gvnp%oINd5uxH8wKgPHz2i^%UyS?I+oxmrN{afaF?_r<c zY0*}1AFbWNFEsnX=FbV?b=+c&dmk|9CNFR@mutHpkesVLLtmi(zu2F&e4}-X%TKUx z`xUJ_*?VCD-`j}}GhH`C+&-i<`?Rjk8?g&7UOn&Xe&MzMpzS38*ab&EeY&t=%c?4V z!9(?pQhGDXHTS59J<e2_I<c;BZ}hAUb~V>mEoU)hW=MY0bjDlT@}8l8-@UqupU=Yi zS3C=-GLF)cpK;o+Mt1A>U6X#*CG$K_^mtq%mTaH#`t{_DD?X1WakA}+TeyGm|B8C| zUHfehale=+wBc}2*)wmIiND^+nY0$p+4tuOqnzXHX{wT&*Sy>|dC9{)6@8noZ&r9+ zWb!q!ymw3e{q<HZ@m=W>;m=O2EiUn&Ysyo4JID3$VUZV%7CTOy-1Ym(r8!kx|6WZ` z5c;ELs#Mqbc~8v0q`hHvQF`@dd|&kK*f{TPII#al#0=dy^@I9Ba~Z3CsGeS6eP(G$ z{l-$cKezM`=5F|Lp6}x|S*1;!XFjZ1|K>u+g>B^@-i5a5sD}L4@;37Qb5+~5jY;s~ z^>Z=1tXBtZjHx?exM@Ob>z5bV?SWORJ&u+;Xjyp_^?XSF{^{4ky-(f?ma$H{X)fX# zv0gMiGVWQ}fjAG}i~F>y%1^sZC{5TK_cG|5>Fitwv)ofpy*QSKKI_WAe`|K1oTAye z(>ir^L8}<nY+D@l`Bu={$h~W}bb9A+TXgJFuCv9hGmqo7&0SW_u{3`lX}EXtqI?VI zXp5yihgmY-PQH9=`PQ|yo1%Vi*=8y+_x-muFN7ASeBM~HSZV6S!2j}($_>}weR9Mq zK8Ex9`-5-vR}}osoBzwc>AtSd?a$fyI_LH4IiBsEAYXAQ@sG21%3nUwx3=5Pd<(oS zursIlG)vqc!8=!;oyeT6y!>td1ODeMey=~X#hm*fw(Z#+n=cXEhgYvs4c;O?EoH;5 zn=y$;qd%N<7nhRvp3hRfBHQcl$LAG`rv`=e9!U6ZJSpv$fBmYOet}%itaB4gw(PUd zTu~;JJ=1Ho|Arfv6|JATKS`^9`PN=f^4hC*8|iYb4O^cVHkBE?kKgmNrm@gmB>j5Q zQ@!bz+b8XM_^|M0%FaJe!e8F!x%+!j1NVnR1&j@B+vZ)@`0}&GY5wy9t|(8QxBC^o z+jDGO?*FhyZ~F45&(A+_|9Raj|8C^6N$tz8UXIlWsr$2c?UI=jAKvUKl+^qk!kTCu z%6~69?Wnf-;)6{d2RJ*Q^CVh4dv36KYJO9pn7ZEs$7-FRL!Z@GC@z@BX>hprG>`0V zkDtp9EMVzSyTX_B)i1j}--jok=WJU$`{KDTkKAJUs{V48rsrPo)$i4VtQ}*w2_JrP zb()S?f8W&^>#sJa<=E^Ecwx$OC^J~l+-~!-yXMb&9hI!D)z5@$*61@$jhs=~@Ot~d zSg(iomh4&7BImd1lFy_MHy_V&m@B%v^-;pMPVd$8W6Irm7`Cmsyykz(W6sHk9m=Nb zn$2W6zS@v^rf$9Ao12exEzjipm&S{wr``G6`u1$}jc<YGzpi9RK2znK`tGC7C7!6M zm(AC^a@6;}+W662NW))rYnb2sPe%&H-*sA>AC$S)_rm*YzTKL;QT8t;`#Sos3@OX9 zeOgx|7QpuM#O0Nlsc&^Y?0V%{y1HC&mV2&NdmQ(p*9-LPb*9VmB|mh$=X$y%J?iu> z_N?h=9`sZwvQ@0^DP20rf1d4x^XX@8<nJ*{ue>bYzx+<-2?k-S?Uxmn>hjIVm3rOD zr=J|Y+wTpVmI>>btNUMv`OJCS*Vdu8mF;xXsUvUK=lO@0M3?xu@4DmXzI(g7x?`GM zY{Un*3u{X^weiP3-172>!TMX=XWKMwtS)ly63WRkSWzQz+)lA+pR|xHFRzj3(uk7I zGgspJr))nub^Ri{BbQEo3p#4qdm&e#<ZbBH9jS}ohw>fIzW?s+o05<jaTWi+GyM(i zmp(Rs!m4u%8xlQ^c`WoU;J9Cu=(qf(#N6q(*|S-mW|p??F-ze(@I4{E<fwzn)<A)& z?`(=97@i2q#N@bJCAVKZv%KJ8XtMJB3!UOGK2>jXN_`y|Yj%O-%=t~*pH59axtOzE zHQ%g5Q|Wv4AMa(3j%L4^j!CsE8|~Z{#bss|Di^^v>Gz`p<x`i>eZyRTwb3*nef2b! zy-$lg*!Ny)>wG-tLQ%3{_?4<_7bYCCs%h~Niizp5a!}~DlZ#!G(3-VPX-|*#=ZbkQ zHo2dwl!9CStX`zDMER55`Gr$nEH@PQUix|RwGF)*$F8kj<dTss$SkFNb=Ah6X7?5Q z#Aa)VNy=Q?u4J3>I-z7kr*RGF{8!bYx{Dz_H>1ouuFr6nO{l(cqI-v|sF~A?1MB7) z-hP?%`M36CukPu))-%eVRqel=&HUY2u=~i~pr(0^zZ+j%*r;Y>_9b@l=7_w&?Mx1K zvs5dV9<3_Ap`WSnUvGNsE&Z4<IXgd>zhyPKrE_b$GUq2{&v!eWx@No9F=fx#u+-~^ z>=uZ}Rca(#oNnacoG0#Fxt%Fj=J(db1?#qdns8yA<<aiQ62nIdb~aHJW_(vnCBy5M z>g?RGW8SH72C3g4_j+vfoAq+5jqawLUg?(wvc>w>+ItfgJn(vXnb$04buwdt+@`+# z!VspIkleY~@3PeGnz^RBcHg0E2j`~hrG0e?P?}rFr!kGk$#mP4uL>DOM-S|YvhZfk zH#_#bUZ8C921(VKK3=yuZnV@ktm@P5kk<b(Daqoz!m{5B|GajnG33%eY@zu52hXvq z>k7qFp9*O|(x2OLW=YP6V?2J-1^T2<?taQp`F3CLbar>M*Cvq{?pRqE?zI+~<q)Lx zLSXBijq1rx-o_s@f(2vzxBih^yY`>-!2;tYqE6Ssl`s5{cRXcwVB*!;%yQSxG4vR? zNO<fN|FmUmgW}xDB~d%>iY=Y-q3nCJOKv&OZCjBo{!iE$G-}HayB8h)eXXtkN?ZRE z5cxgxuzT8J_tzORuFWMEk3Y8ha<AO1&}Fv8CNsmMH}uUCdUOs*h%&f!xttH*VrkT1 zsKwUPx1iax^Xfk<qcErb7<EIR<riJK%X7*OuKmvYX|vHqNA`e444!SPWR*f^8$=YY zl*vg=bW~cnaACH&V_3beqGg1;2cMb1q}uKYcQ#yI(O4_5c=JD(lhMfsH~2GWndGj1 z-}plFp39o~(_h?n(EZAAZEwFGPsYmUG4bm*<g69*eq-k_O)xOAqK$2)@e`X@NzHSv zZr=F7^zPIi#$$4;795g&6&<a3S)oSuu7rW`CeF2Gu5Gf7Zx21bvoSE2Wp2}t(i6;u z6(Vg%UOfoD&&IiYPROk2!!23b;ZkpPUc0$WaMM{K_D8|^huU9->|;^Z$9sO|{GRva z$lT9w4N_)2cAV3-F410bRqHl)M(g7*j6T^a9zPl;WXY>GEpYp#MnRorf^}<Is;-#a zy`z;<ebT^`!-n6$AmQtSpl_KTU(00FGN*6pYG&}Ov-YuREc^ALsoiq^zRI^Nf_^4N z?dHv!S>IN{@Nb#p=MB+2o$fx=aB`pXwvvC|))_Z~JKxNbSH7>Xed>Rm=?w=N8Xxlb zd#)7T{Y!vfxoDa1TZ#8sMu|IXK2^wX-sx&RKX}^d<M#s@Ki%(Vk#X1Ew|2oY#{>1# zykqt6R=;__>e@qdkvYpBH~ib$^)=P-9n0yjOD4;`e7hjrvE)qiw6!NqEQ3PBm$h|Q zRylTX7M)?g*n4Wxhi!+>*<IzS3N)H__wK2=zjMkXz8$+h?_AZxZ>x<We+jOTZ*WQb z^el4ih5NI=dc4{&U$Eq<>9HM)G<QY1ygO+jAzx)K80WNj%AQi?&GXDk4Sh}a?^BjN z@$SumDQr&{m{@!X@L}5?w4A5@bn>$J)M*zY8PgQ~A6{bkrCW1C_(Jpinj{|U_dyDG zt}in%lsHt>+4DoC>3tdNV(vPpiDKSwzILcN9NTm|g6DP7SE<JTQ>Lvm5uLNp^Npv1 z_oVN)Rwf7>%hCMcA0g22>%*Ixu=%F7>-#Q$OggjbXyEKQ=edgX;z~bCE}g2PH#y_L z8R1}4rh3i8ol$?hc7*IIxF#$iRh`Xg;PG6?SFh3UTW-x={h5nIf+S*p?)qYHq}k}u zw7Vgle?0@&LZQ!36?WZXHhBD{?240RYpTwo^!v?s72g+avC1>ARa`$eVv*bG<LkaW zm41Eg@uOuY-C5Sk_X)f^D<M8(afQtN8&@*K1yj~9+T`^oZsJ+-kLM-%Prb9A_I<_Y z&w{(wTgY$JPO3e7<9m<ngmsZYc30mg9Q`<-<KoVzvlr`Uu;2X0Goh&K1%tunPm9aN z*}v}C$n~<W>8{xomR&#PQr-u@+I4I4m3VP>$zAXE%f{_`BYkd<4BN+B_0I1vJmLAn z8nC9bcIiv5wK1$h@@v-%yyV)(T*R%zw&?r^_dR#Y^77^+9{t+5J5k|e^tw!?IITm> z7c^EmKbM`gdx~7Z6UUJD`r=rv?cozrt)}_&`#gCkZfLzl{Na}FMo#WMtDalu{FSy| zlKaonb9UmQxt||T%%65mz*%wA;d$Eor$5{Isqx`gah9vs9apSa#DB@|f3xb9d5+t( z6UFprRxM1K6i~<Fl-+i2|E&nojJ1gz)46jT?}(*4dUu94ru^J+P|w+Cp@x^n#fh)C zT3r2huwd4OIhnVj78M^~x+zv@zoATra#_HXuK4EN1vY+ptG>2zeUHhHc>ZD8mq7i$ z$8|-wSia4X^<Dn3H*le+*ZdaEn?_oTjn4?^J{G-Hq;`Lc^!XVzQ|-d68X^s>*xm>T zOWZ5^Y54rgIo-sq|E}fz{V@I4aksDHlW*(Sip=MDVs}g9nesf*=HxhMO<tz>Bk3lh ze|7d{{GU0$$v;T1=EusY|5sM*ZF~8OYyQfo=Nt4F7dlvZfBOC{om1~+iL2_1hby{1 zw1=kc{G;Qkqjy$Xbb{V2&8?d^ukA|I-Xt(Vb%V|(@z_gx7B0TwYHRGmIo9YcdTlsI z#4CE{)}Jwf|F$t#_m&hbsQ0|?RQ-JOCppRQk6*FR&)FaFK0)^Iv>$W(ugV{cj?g_Y z<DmT4zik||A5G?PW^Rl3TDV8zu%AHL<}9Vec=b*H+BuR1C(YixA$fJD&h$^SC&>CS zt2OvqE#-T7dDCL<-@REk9v)j@VsDcEL2<#Hx1!vl?uX(8j!nImWcBocivgFP(_Pk; zwnE=>z6#zj_i0+QA$yA0A-PwxPY3AUx@Y|6R#bLk_=S#wKL(r4csF(ja5E?Cnlkrn zQF^h+uiE6;D_g^bbEft8yRDMYT6)iP>e8}Xvu+77tyvYoAC}N$+|=}D<uRB1#c4G! zt<L)?dB@n^G}xrbFhMlmAjj>-v<*Gl2R?LbuM<^uTJY8Gkw%ujc6dYY#!6$0lVu$2 zY}XDg5%CHycxb`V9%X)P?<AKQNokEvY1?Efb6!q!s<B)!y>WNJfj+Y<6@}k|npvv0 zCFwabzEn#}e=hXtNP1Lu-T_Uww+t#bP3JjJkEoE?GUcPOiQ@HSjs-Up*E;>0n;odg z&9dBnjp*!*d5T-j3|TM!6)<~tzxIhvM%fXMmdcRZ-{N}jWKMV;Y59wr$JsF0g?ox@ zKKl#5%Jk*F56qs$Yo2T6WjM^Zm5u#$M({tjyVk!SN65A@KU~8Y@bBS)z^)@}6;%8W zvpiT=(s-veh1>kVJGDI(t3{{0c)Z+(^V%d&zWN*68*(@vPd}-gXScO?sqa(6^BaN} zW#<3aF)t0#i~gu_cw%V?!x49`I!3RJZvzW&@0tGa$kio>?bM3Q1J`o<A9VTpW%ixZ z1$#DMcAmj^aRJ-;LpNf7_gfr{^0pT&*zNYHW3t4x<I~RXFmRm_p{OSRs4GzZZ^M?= zzP&7a=UOCW&8>YJ_|&f{szi3%Gi&QBrx@+rm}8`FD2Oj`=Xj`_`jEr>sPCh&sHF*; z?>Vd8i!>3=`)lB{`bn7U&)kOKSvUTDd(wFJ3`5(Z+HSd%oji*(#c!&8zQ=m~_=!)` zUiRKzXI%5H{L6xKOXg2+xt1Jfb!<M*ksq9<2CUmW+XHxRUpe?bW6#0~TDw30n-W^} zKXzHBZHWiN5nHBNFZl0kT+dHeI;At6&G5j6SvwzyUupZsQ2Zo0`{xU>#LJ(~embhh zztmo&a(YGZr;Z<AE1rg#)fRPs@no-h)GXq~#JcX&1Pzgf{%t=}_`baFaC&0MZgDzL zBYEx$4G}B;4c8t{NW8n0^U%l54$E%7YR?Gok^S;E!|=ink@cHC9n`u#spa>+(tp_z z_A86ev{bmHTNs`-&q`dSF=wC6tMhM|3T~(xZdPha7g2a+#BzScF;BCD#;1gBluJ!D z<%%@^{+N>_{raO>jE=I)PO+6HLcgzFYiE`|&ZGPH)>L2rRoZf94C|Wg4%I8RrLW>M zunC;GFos>?K=2w92ma#*&IfoCZDmXZ(h549b1!X9YT|!cckT4`TvgZHgC~S?PHb<N zHp}&TTB@mO$<R<E5i-BrY59xj^b_Iw0qhr&@3gJ{(!{(sic>;)`Znf|;`7@0-v1Fe z#WQo3xed#njLB1LfAh$!5?OX%{lhf7U?+xeoeBoZ6XXjn-<eSB{5k0S<_o<RGP~NV zW|(hRuM_t(IJ&b!CEy*ii0#&I*-zeF=_t=q`q4Jqp)h;*lf4$lWTvZ0Y>rxZWd6ex z*XhdFnI>@;RsC7Ow4}`Kh``+I(`p1S-ZF@iz3dpp{j8!`IjC&6f3NYk4fzM%r$2DE zE%WBl-@;q_ZFcU|T*(U(EG35>4lQKrTE)WFbiq-!xJS<XN!HSeew(d-dSpGPY}xqX zl+4M-lBcmI6K^n;G>9JwRbI5(Nk#UD#>F6^FMAHGQQoyXE+fa3A;44Px9GQ{`#v9y zy|ZqWCD&W~Wv?__mA^=FoZaK}qkPqatTk&7++h1}Aj#2v`f#IsTh)>GdXs1TJ#(~S zdlT>L+T&e`r_O$toxJwILY9<uD<?cKT`<q8mRp|ZWuiriXS@E7^_MpPddyh<NB*X@ zoKV7byPGMI7g_Hci`Puq{~-DKF1;PMBU6o^dEe|SVLb4C_e!6Jr|YlX{l?QMr)<H! zf8G>3C#lWNNk4Dz-#vBzj$hVaQ&+_b<#Rg(7a7{IpD1>EcU1n7_gTxr*s2X$7v4R% zY?;HJ*mH(eK`pE80#lHO^);`jy%%qGEtH(g-~Ze^eDU^RlR2~QD}*-{Pq^^)%;&p{ z+sjY?_%V@(nREKy2k}~rFRg2AzI~WK!!z1it~&E~`GO6hY$C6w{djwSUAwGA{flhF z-(Eji7dE<gv@Kp<<@Z7HVnN=9_M44Pw*wEa|9ASAL7;2WY)v8I>g@FA!ur?cFT9lZ zw_mOI|A1WMsy{LRn*+l5%Xl+fcZ5WJ@wV_zQ#EFHjoMYud1%?Q`pCOAg}Y7~nA>&g zUs$=<EbD}CyNu(Gf6k5<)uqcArYpN!@yuE7kRkhMS=^MjxjXjGW}2NeXMNxs)v(5r zdzr5n{g@k6Bq&!{72g!E?IJ539vgq5;X^l%fll%3cqyGze0J$exK|0<m1IXhe6uKR ziAEUzHBR%NyWg(h+b*iUc(vSGJ65x42bkt>Yra48q4&3rXRb@)w^dyg-_f_@!w&iV z-S!h6eqpuz-@tI>_^n;4zgdKTe-U}$(sV?fh4ajhm<>Gh3nlFy8`ZE}aJsi~ugv_b zMKvrky=Q_So!2T`kY&8te%Z;bi#Ptdb*!ws?24V(_aE$=-R&+teo<cTn>*pp-6jvo z4Ay(@iQOwVnk{PFW;$(yZ~La!#hkaZED~2c)~xG@yV(%(PUEa3=l;tkDgP7A-tPLc z`)kDSyW;ULG*0jyzWe7<-~ZwXQ}!9`{c$qj+lIdR1+w-h*K#KAH0keV`*o2?&W&Zh z?_K*1@8pGcb$Yi|xYv{@oNL<IBOvs4+P$vKE4}FjJHr}3D84*ntvY9?s7&YDDkY6a z`KHhIOLS)+v_Cof?9z<Z#mcLybJ<njWo~pAuV3kXQ)<q+q-#rNe?FPSofXM{M)34& z8TDVxovn7P^QU>AUtP;%cj>-=<MXNB^G%LV$w{yedgQMCaq+!p{(AnR4JN{iJih<X ze>ZXc<7pq~H?C|^dvHxL)>cIAVE&few|*CI3aos!(1y9We~JF0?1~TTQ+P$pYt^0# zR+!fEHPyd+pX{i>*0}BJ#4D%gpS4h{TBv(+lHjZwm+XwgLO)$Jr&a&H^fUD4c4ga1 zA3WEx$y|H->GUZZHoIGax;h)LpX*Z&uXcLZ_3F7XpT)*2zcl4_kGCva8LoP$e9x@- zGr@DOefoTBJ2&6fZ$~S4)LgUvdDO(dNwul@pX=Le$8|10;h(xBLQU4AV2}8L!2cO1 z;vbzd(LL0C^Jqbb$D#y#?JCC`&Z2g@(^O0XR)1V<a_-2ZRue7$^Si~QPTmgMG<UA? zl1s9;TrS!DsC#AJ@QiVhQd78R%;6&|<jNw`<lQQdWj`^QqN`G=p0`lc%khn3I*0Q1 z$>%HEYdmD0_O^U<D!lZ%-iCX2d*bF(C0Ej~v;E?K()gSu&)~CPVtZf5*)JzHSw#O3 zJLPw{;QNA!lV8{>J~|=x>g9r<FIIow{P5g)m^1SA5!aMmPcxHu{y9^*uED>PYqPEZ zqu%Bi>&z+UmlkcgvAyX@=<@~+cZLhUB5%A;e;DcfsU~W+nU~m_@~t0?Y^(OYJb$A4 z=j`9N_?qrdIJdnmMf2GozalHutjCv)SBP@xKHa|e*^`52ZwzZL3m%@&F^`k;!HbA5 z6UAQGvo?foafqMjsgmKC7IC`Zm`do`PijA7vJ{)o+%dlvd7!5I)VsBI?E4?DdM3sx z{<%ELJH7Ypt&<-N-#JCS{?d8<<eryFX`2HpbvqkYTDMqtIh4MhG*v`gWb^c20(QJd zLKpTL%cZaRcJ-Z}<CNu#{z&Xo5IHP9=Wg<i$<w~>$cbIBXF{T@eeJpB_k+qLwQnv} za{M~UdGn4l^RMZBUjE1E`kmBg<(FsLbbg=PEGmAj{hgwF(p2Y`jt$Ey^q&Scbsyw7 z_(1xOzV??Xhqsi!I~w{|XHE9%U+o*-uhHrWyC2bTRVRxxa`FkQ3oJZ$_U#vr`1&A7 zwJG9qugj%V*O|QBC%0S)RnS%ck^it*yz?#RzkkhP@j|K-8qa^Ym~`Vv#g&#B(GHz~ zcXs6}T-&v@{-N&OFH<u-v-xWlnr~{?-^e_z_V2#U$@?GfKOt_?zJ=+P^?MVaXV<wl zbv#!49B#7SX>W_!*<QW`?l@74qu>4p=j;yN;;yTHdz#KvwMpG6sZ6G~8?Ei9Sa=@e zU88ql>w3?EyqEiStXI<5&3>8blHa7*l8NnWix{MfU*vAQmcQc2(+!XMj<K$_SQT)C z&v}lZ*c#>3zz2a=78Bp>cqu+@UxK&PiMXf5hErQ_CpOM<pFFLsNk2WVJ|?<b+=)B8 zW%3-4?2g{LP1DPk%}bsC(e`)9%809Wr%yi+whf!QjkQf}f8FKAgVihcY|WRQ6#8w( z1fwbS=1(4{c)EU-l$lf~?s&zW-MGX54b!PZ5zOE39og)CT7d2NFYm7#W!oI=4@JcI zYoC59Y3F;hS8Rdup+oXZ!<ge@_a|O@-^c7-*kZ@<-fnlucEKfzi^S${{^zoCtMb)Z zg%zJ?=bTZyes^2W_FEq$HkJO&m=S-%Es{0n_Pa-1QJ!`WRmIlUmX)ZReE4(l)z_ts zKazXJdf&Vf-lrNr_1}eCFV?B=w4YM{#6PFu2*Zb?N-g_5y4ovdymGEF)3MTB_M_(% zXH|87=hf3(wSOY4OY)Xxy}LBAruBUL{8jT`$xCnbXL$Uhd3M3nOWUl?ykAW|Ed8hQ zZ}mF{`|DN5jvrq;E%e2+389N0NZ*XSmaVB$aw{k%ZL8pif=tPB=km%tNw3*UT>Wpj z>b|?K`rN>I*=oLHUxE})&iRuj{HeQ`UHZh_8C#8ChV9_q{na3E2hTgcS1dOdom{ut zS!{N@!lr%MV%2kdeHYwU`ex<Bv+^e2eurIWW|!+dmMBhKyDQA9`tt2Zv(9XrJooDq zrG&tAw)&fUrsvAk3+GEW)<@N~$sG6-*7~O8M_ZZLvbFii@oV(28ZCWu?QP-#-Ty}q zRo83$YWiq;=g|C#OIEd?ZM#x;c3+%*G)wjB2aUV_ZjODjS<y7wA?pw0gJ_4ey2c)T zSC=%82kYFv@BVvY^}_QH-ahc=E#%_8b@K1sgF5qTnkD!BaFc%HZRm8EwNUy%wV(6T z_f<h+)=zd?zNoIBR`tZC)G}_{<I}1>6_VR-OMFYc={N1|&rNsD_DFO4?qx9fy4&h* z{E_qp#dcTg?Z3qQ64@}-cVZQ9gne+2X0V=ez3`R#l9fqMu8Zt_@N$)+#LrE;cmH}Z zWmSFUx1S%1zj`lj$p5;mWlxl<r?7l;{KR~&a?L-ko`RaMWV8h1Le(N1_Z(i<`Tg~# zW7ALb{JtB;^6`C2B9G0QQ;8ax?seCXdHZaQT9V5+<D=}ytP2uc{|@P-dAJE3T(Ubp z_;Z=Bud;FeVzukyD~p=F;}3i}ZflhD$KUPMmx+<j%Vz}sRoT$|>b<sW(#<*f%QqU7 zL>*qv>Na;mxU%qk59XQ(;aZ>eJ<~rP&oQly$W(E>*Sjk$WBsh9?e03^2MgbKr*Lzm z`+7QT|IGAMth48H(UY<`QJ+`K{zY}Bzlc?pnz%Z2-mJ+diaM^V`m=io8_k(ykT|nt z%Zq;&-=26g$SwKC!!XHi!5QYSbM2SNU)q>jEi}<?drZWWizz&AQ;KU|iUzG;XpsHF z`c_YN*v9l5*0DP$*#3O+{$}3AmvM*1xi;oMxK%urS*Er$LtF1d&56_toA2!saw}Zj zy{gW2QFSq2mCoOX;k&k6m31-i-sryS@2x8FGKNb5`x`|imx|jZe_X6H?c~NQlCv*b zPJ6dO{E|yA4`;MvhK!G)bC*M8b@N+RL8BW&A|BgL*ga)h`^w^fQ_rNdX$s3a+4BCy zPBD&Gu6BK)FtP9ck7;i43Y-VC!e17BUplXAe-?ZBjroR47cHB8;Z>~Lo<=|86Lo5n z^`eZX|Km!IW%kTybJl#HXmvF%Hk!#fdcvdkawZoZ-&?eznrCvY)YeOx9g?B>jdC3v z%n71X+ISYVUpcI``?DO+j@yS<^({^4Imdj#RIKgog0-1Tl@DzG%q{cvP13x$2To_d zWR>52ym12aM;CkP=e*mP-oEWRdBv^soccc31eZj|8CG99Q&?wg^||YGy533eR8G6p zm+b25=&5@v^`+c4@7++_IW7FHt=Z2#Gu#gwRxzynlK%fNQ&eiG<V5?EYJW`ssYp6$ zI@GE^SSq0SM`7`QVTXx@E)DA*?hp&LOL%{&PM#ruQ^#__S+n-B{?M$<3TQaLc#b}U zT*Xt5X$z;>6t)`}ufA3<!v6cwgN+tH{AB)U$knUQ`*R^+T};|lYmqgfuT|oAGaOpT z>hVP)HJ4ZLyz`D0h5q^#ccy<~{V8>1LC3$fUbR;~T%RyouaS%EbpEf9r}uBCF7T^2 zoPB(*^p-j8QrD)h`k?Pu#p=1t;`X}PTz}@SEOP2xCgjRwQ2N3+_^B+XN@?#oB~KsL zKc}YD^LYmB;jDk)clhbk_$uDc`5y|W_$5wVWENKwP_sqi)T2++qyO{<Tg0BZZ6K(j zQ@`?1{tsdE0u}EM{Fi5)$=5Xy{ugSg&h6!Q+<XRKeF@v2wmF6|O*?LX34glxC_h{K z6h+0Y4GLc`+?iPPq5o8+cp%@b`3`*l0xcOXtbZ_BYRb(&&Y}<W=iC!G$90bHf7I3Z zN9O04W7&0%S&05iooe||M5C3DZvn@@ji2HVsO!2~FIt*$TQ;G`W#5Snc1_Xwukx;T zmq^`Lx;lSPw93TgI(DgVp6p7mpQU=x#H{0}^X804fsrPmcE4(t1XND3Ty|#T$(Hc7 z=iJOh?;Dr;{||Fr$X+%lMO^0iTE~zGnP=J854`p<U0c6;lYWxI;ZLrmk9Tri_+hwY zrIZABw#22rkNVXY6`z)N%r25VFP12DtYh1k{MAp`FWvs(V(D&}WW=Yza`b0AueQvC zsgpjkxP`ynvQ^^K#*O>dXzh0kUv4C--r2MLq|(yjM7uYfNssbpyjVE@_Rhi+R+B5l zPZ@Tpz6h%buHd`ZlHchP;B)u~V_oEoi#3L~jPJKxI-{<n!=}+DlM~fH=Y!ju2^P%9 zCyG@CNnf2}ymkS<z4&Dni39Op7P{ogcf9Rd#v6Ff-OzG!!=|ny+-;0DGhT4*4%mK& zRpedh$pWj%inc<r2MSaVUh;YVx#UGEx7Yp6?4ePKmD6WxpWZw9$fbSxcTOMKsrrVS zLCet9>q+Z_!)N4QyM5lV>RZ6WstlJ!`JHPO84Wca`uyl!;iu%pd9>%7NRjdv*Nm*# z`TnaK=F0p@<`eKsyy%j{wExM()7zUDD5i&hy};9ZLs??BhCGu+cyz9WPQ7@Uw`1Be zk%|4G?=!COP0n~-YUR~Dp`QQY_8G?=?qBI!X85Z7@qUZ9r!(ZXI~g)p6^ru~-g(Fr zeVj8vL~q;GBlneB;+{p{6?k`E$}V7gpWEk(O&rWmZsoQ9VVo|_rXsb}v?A>I+O^*= zyu0@LyJPph4b#^?JoE0YO03W0j9sih7`Q&>GgK<pU$5)Clxfb_toPsa?f!sd{x3RN z`VY6>oW*YVw{dO5mb|FydSjLsylG#Se^Y$3^svE<%kmo&W$j!pC)zj}8~=1Zpw+f^ zOIu%Gn#F^)<rj`<EGShyt`q!c+Uq}wQl{bsVb3l8?)=wqvwU%2iR3jq*UM%Cs}8FE z4?Q`5aoTLZFH`>n{^t3AO69Bfowmp4#Qx<l**s-9_=!2(_C%WBW$l+YSN!_nsW&-h zb<CG9XQKn;yB*GpztGv{no_ZELY+U8ja<j^N1Z?XYV_*_{(pHO(E7H7#eeI*k0J{% zg&k5cnw`AkU1rsGJ@pTDGUpqkj@QdQw!i<-e#SS6dfT6jdgWre$2MQuu&L~UQ}+Jc z7pM0uyw0~J?YYKv=A&Oz^j^vQ+A7$kw#GEd`a;5Cm8=(+?o^1yMDx`y<ytR(uFC9j zs#3@t&r6DYO()Ntdm?GHSKYt4ev$b~&zrZkDxbE@ySDiki`@0pe4FokqohR6^l)8K zJGkrUqCZbJP08(VJy=~o@BBX7^&WPgS{8Nr>ddzjEqTf8>i)G**@J)U?@uM6doS}e za_$Q;UlVaajHR$H^rO|)@MZfq3r92E%86775HtSWw|BYin=guMYeJ|0Uj1*@cN@92 zO`nhV?XABmqq}Nah@Os|_@>gN7OmS~tv500MQxsGxa;+0XFJcs-%kGi9<WRD+@k*X zabeG1PV9*dmzuKIwxrbZ_UBV!#WPqeH(mAOHf8PDdm;VY;oF(Fj;@}3=i`pgPT$Kf zb>yo(V~{Se>=!Hv{?GR}p~&^f{mTi*<X$)AZMdGwHg(rTLE9;RZt2X}IVt<Gn}G7e zPHUzItNJ#DhZ_FeGgUurTf}ZNzFR5#%^pSweNJO~zQ?ziq2zL({>_eTzREW_JS+WA zXTI3z^+fOeiSn3Iox?9CxbHL)5bC*e+^=Nrr{tJJkM><Tv}5kxt1CB|KT@)o`_@+M zbIF{Snf%pJoiB@49@?>0)cVRi3BF@q*OEVEdra}YdM{<$+2@fOJAx9q1-|hKKKbEV zIEUSA_mcR#JXPH@7Orzkzr^S8;Qq{g@3Wa>|65HxEoZ(vN_w-Bpivg<9<dF@JuMH| z=6m!kDcmsWqMDFo?x97COXqOD+&Fn|ThhO3Nr|0qp)y6gSMWK?>|d6?>{3RssL0}! z>PD`P==UpGT#F7rPX98?>XTz{UVNzNUkkl?eN}43qKCfxJ<z*&Qbbww#@CA0f|nMr zf2I<a@c!byeWp3#zrQxOMI8C?y|8(2)xq=XCvxH*Yw^l1Ro(V~&n|Wc;|z`PNpFmM z{^~h9zTGK(cB;&5<w8c4e5<+hKj=np{dsU%>D%Sf3r}(GI-IyZ_lM$*^z(;QzBx#< z^;{0?3YF2nIbByuX5~$urI(n`sI5%2;CMN2%_1IGFJ}ikmHri8k3$#hhF|@@jq_{c zyUa+{Wv^;qUyOB#TVKj(s3N!JMDwnvd*-m42N?RZy%u*-+3Lbx7x<BH4(lmrrt=Z0 z+U%E>Rll@L)p66<>AL*pM;oaqtxVw(8{bLiJ3lGCz3yYsyQ9fJYHPAZ?Vf-)S3{?n zE)~3d?q!iB+XI!m{N>^tZ<FR3z1&dbnZ~m?R<u-N_oH>QnA?n|cnI!2c<|Ks#CLvs z#G;HkTO^)cxNFBSX`L45h0Ymlzc*wgTYDYe5|eiG)|Z=%R;;p{Ka{VTb45!+XX(>T z@jUGw53k*LxVdYm(ZuXWOD0vTZxhx%`kFH<vnkTUXZ8(!lawX%<c$s$ep})Zw9D%3 zJkFQfqbzTl_+3}GJ5#hZXwhSp@->rr1<ivLZGWlc{owz<PE))ibLI=F%4DM{#}+(F zQYqn!3%SGfpfF$b%l%)XwkICVu703v`qj)dznbHE$FZ2Qt2|qni^4mWt!MJ*{WQb8 zIcd#q)BZ$*&9bG3T!T6iOg_mPq^;y%azQU^@_tvdXrHpOwwnx&mRH*sx;WhOs4M=+ z61%}$a_LUqFS@f>KCI9>AS%0OzS%tWC_ew3I@a@_(sMh^FE-3w7R|2s@o2!s*UpRA zyX%OCINY(dSR#Al?FIu$jUB6=Pqetl;;XSFV$*K>5V<|23A#IE82^72{NA6?F2}&u zmZZhTTD4w`(P_<xw;oJ~R&WSBnmbn{{(|OvQ`^a3YP(jaPY}FaFe~w6v0U5HkiL~} z`+j`her$n<XVQfBmETPiC4Ckyn)hZ~`%VjEr+rf0ziU4Hc>Mp!kL2t>i|;&?kQOrL zICiwXdEKFh%n}ZVoUU!`(oehAUtxY^tEBh3vjLmJw`3i;5#BRR^mu8<L)Eo%+e(x+ zF#Y;lHm{@V+|wW?@ra!*j5l>Ol-#D}&!0ch&i>nJrGD$j5At#vt#|Ri_d8s8KDeh? zJ9t^e3GeN%eG>Jn*u%WuGYHAu=ImE|*g5wDi_pH!!uy(A-oI^mulSJN`XRgjf$Upe z3%74oy=Y`Pt)`=Oky>{v|J$8+`DFf--S*2k9Bm_Wi@SOLJ+C;^g8eI2Ka2a5)E!xL zqxIO!i;Isv)?IY>lg^U6+iNPtALm6s+Q`{@`>9#dr@DEYJhwGJOk`rOxS??6olC?+ zv-^ua>9!d>Ot5)9VdvK=XC4-nPUdGa=05POT-(vDr1?#c&Nu5zVPz-8a&GbUUR@tE zK|{vq{-m1iTlC*W80oxEi0WEZyIRO=fz}7t6j`NX3g$dZHm*thuwEffls9sc=#DhO z*O7(3YgT;HP`rP3*Q(Vn$Nq23*LBz76Vd*4ep|{*jf+b*IIx^MTz$Yⅆ#FL!LF? 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 diff --git a/wp-includes/js/tinymce/wp-tinymce.php b/wp-includes/js/tinymce/wp-tinymce.php index 02be3f20f..449f0e25f 100644 --- a/wp-includes/js/tinymce/wp-tinymce.php +++ b/wp-includes/js/tinymce/wp-tinymce.php @@ -27,7 +27,7 @@ header('Expires: ' . gmdate( "D, d M Y H:i:s", time() + $expires_offset ) . ' GM header("Cache-Control: public, max-age=$expires_offset"); if ( isset($_GET['c']) && 1 == $_GET['c'] && isset($_SERVER['HTTP_ACCEPT_ENCODING']) - && false !== strpos( strtolower($_SERVER['HTTP_ACCEPT_ENCODING']), 'gzip') && ( $file = get_file($basepath . '/wp-tinymce.js.gz') ) ) { + && false !== stripos($_SERVER['HTTP_ACCEPT_ENCODING'], 'gzip') && ( $file = get_file($basepath . '/wp-tinymce.js.gz') ) ) { header('Content-Encoding: gzip'); echo $file; diff --git a/wp-includes/js/wp-lists.dev.js b/wp-includes/js/wp-lists.dev.js index fb145ab7b..970a1f805 100644 --- a/wp-includes/js/wp-lists.dev.js +++ b/wp-includes/js/wp-lists.dev.js @@ -18,77 +18,107 @@ wpList = { nonce: function(e,s) { var url = wpAjax.unserialize(e.attr('href')); - return s.nonce || url._ajax_nonce || $('#' + s.element + ' input[name=_ajax_nonce]').val() || url._wpnonce || $('#' + s.element + ' input[name=_wpnonce]').val() || 0; + return s.nonce || url._ajax_nonce || $('#' + s.element + ' input[name="_ajax_nonce"]').val() || url._wpnonce || $('#' + s.element + ' input[name="_wpnonce"]').val() || 0; }, parseClass: function(e,t) { var c = [], cl; + try { cl = $(e).attr('class') || ''; cl = cl.match(new RegExp(t+':[\\S]+')); - if ( cl ) { c = cl[0].split(':'); } + + if ( cl ) + c = cl[0].split(':'); } catch(r) {} + return c; }, pre: function(e,s,a) { var bg, r; + s = $.extend( {}, this.wpList.settings, { element: null, nonce: 0, target: e.get(0) }, s || {} ); + if ( $.isFunction( s.confirm ) ) { if ( 'add' != a ) { bg = $('#' + s.element).css('backgroundColor'); $('#' + s.element).css('backgroundColor', '#FF9966'); } - r = s.confirm.call(this,e,s,a,bg); - if ( 'add' != a ) { $('#' + s.element).css('backgroundColor', bg ); } - if ( !r ) { return false; } + r = s.confirm.call(this, e, s, a, bg); + + if ( 'add' != a ) + $('#' + s.element).css('backgroundColor', bg ); + + if ( !r ) + return false; } + return s; }, ajaxAdd: function( e, s ) { e = $(e); s = s || {}; - var list = this, cls = wpList.parseClass(e,'add'), es, valid, formData; + var list = this, cls = wpList.parseClass(e,'add'), es, valid, formData, res, rres; + s = wpList.pre.call( list, e, s, 'add' ); s.element = cls[2] || e.attr( 'id' ) || s.element || null; - if ( cls[3] ) { s.addColor = '#' + cls[3]; } - else { s.addColor = s.addColor || '#FFFF33'; } - if ( !s ) { return false; } + if ( cls[3] ) + s.addColor = '#' + cls[3]; + else + s.addColor = s.addColor || '#FFFF33'; - if ( !e.is("[class^=add:" + list.id + ":]") ) { return !wpList.add.call( list, e, s ); } + if ( !s ) + return false; + + if ( !e.is('[class^="add:' + list.id + ':"]') ) + return !wpList.add.call( list, e, s ); - if ( !s.element ) { return true; } + if ( !s.element ) + return true; s.action = 'add-' + s.what; s.nonce = wpList.nonce(e,s); - es = $('#' + s.element + ' :input').not('[name=_ajax_nonce], [name=_wpnonce], [name=action]'); + es = $('#' + s.element + ' :input').not('[name="_ajax_nonce"], [name="_wpnonce"], [name="action"]'); valid = wpAjax.validateForm( '#' + s.element ); - if ( !valid ) { return false; } + + if ( !valid ) + return false; s.data = $.param( $.extend( { _ajax_nonce: s.nonce, action: s.action }, wpAjax.unserialize( cls[4] || '' ) ) ); formData = $.isFunction(es.fieldSerialize) ? es.fieldSerialize() : es.serialize(); - if ( formData ) { s.data += '&' + formData; } + + if ( formData ) + s.data += '&' + formData; if ( $.isFunction(s.addBefore) ) { s = s.addBefore( s ); - if ( !s ) { return true; } + if ( !s ) + return true; } - if ( !s.data.match(/_ajax_nonce=[a-f0-9]+/) ) { return true; } + + if ( !s.data.match(/_ajax_nonce=[a-f0-9]+/) ) + return true; s.success = function(r) { - var res = wpAjax.parseAjaxResponse(r, s.response, s.element), o; - if ( !res || res.errors ) { return false; } + res = wpAjax.parseAjaxResponse(r, s.response, s.element); + + rres = r; + + if ( !res || res.errors ) + return false; - if ( true === res ) { return true; } + if ( true === res ) + return true; jQuery.each( res.responses, function() { wpList.add.call( list, this.data, $.extend( {}, s, { // this.firstChild.nodevalue @@ -98,33 +128,38 @@ wpList = { } ) ); } ); - if ( $.isFunction(s.addAfter) ) { - o = this.complete; - this.complete = function(x,st) { - var _s = $.extend( { xml: x, status: st, parsed: res }, s ); - s.addAfter( r, _s ); - if ( $.isFunction(o) ) { o(x,st); } - }; - } list.wpList.recolor(); $(list).trigger( 'wpListAddEnd', [ s, list.wpList ] ); wpList.clear.call(list,'#' + s.element); }; + s.complete = function(x, st) { + if ( $.isFunction(s.addAfter) ) { + var _s = $.extend( { xml: x, status: st, parsed: res }, s ); + s.addAfter( rres, _s ); + } + }; + $.ajax( s ); return false; }, ajaxDel: function( e, s ) { - e = $(e); s = s || {}; - var list = this, cls = wpList.parseClass(e,'delete'), element; + e = $(e); + s = s || {}; + var list = this, cls = wpList.parseClass(e,'delete'), element, res, rres; + s = wpList.pre.call( list, e, s, 'delete' ); s.element = cls[2] || s.element || null; - if ( cls[3] ) { s.delColor = '#' + cls[3]; } - else { s.delColor = s.delColor || '#faa'; } - if ( !s || !s.element ) { return false; } + if ( cls[3] ) + s.delColor = '#' + cls[3]; + else + s.delColor = s.delColor || '#faa'; + + if ( !s || !s.element ) + return false; s.action = 'delete-' + s.what; @@ -137,9 +172,12 @@ wpList = { if ( $.isFunction(s.delBefore) ) { s = s.delBefore( s, list ); - if ( !s ) { return true; } + if ( !s ) + return true; } - if ( !s.data._ajax_nonce ) { return true; } + + if ( !s.data._ajax_nonce ) + return true; element = $('#' + s.element); @@ -154,22 +192,24 @@ wpList = { } s.success = function(r) { - var res = wpAjax.parseAjaxResponse(r, s.response, s.element), o; + res = wpAjax.parseAjaxResponse(r, s.response, s.element); + rres = r; + if ( !res || res.errors ) { element.stop().stop().css( 'backgroundColor', '#faa' ).show().queue( function() { list.wpList.recolor(); $(this).dequeue(); } ); return false; } + }; + + s.complete = function(x, st) { if ( $.isFunction(s.delAfter) ) { - o = this.complete; - this.complete = function(x,st) { - element.queue( function() { - var _s = $.extend( { xml: x, status: st, parsed: res }, s ); - s.delAfter( r, _s ); - if ( $.isFunction(o) ) { o(x,st); } - } ).dequeue(); - }; + element.queue( function() { + var _s = $.extend( { xml: x, status: st, parsed: res }, s ); + s.delAfter( rres, _s ); + }).dequeue(); } - }; + } + $.ajax( s ); return false; }, @@ -177,18 +217,29 @@ wpList = { ajaxDim: function( e, s ) { if ( $(e).parent().css('display') == 'none' ) // Prevent hidden links from being clicked by hotkeys return false; - e = $(e); s = s || {}; - var list = this, cls = wpList.parseClass(e,'dim'), element, isClass, color, dimColor; + + e = $(e); + s = s || {}; + + var list = this, cls = wpList.parseClass(e,'dim'), element, isClass, color, dimColor, res, rres; + s = wpList.pre.call( list, e, s, 'dim' ); s.element = cls[2] || s.element || null; s.dimClass = cls[3] || s.dimClass || null; - if ( cls[4] ) { s.dimAddColor = '#' + cls[4]; } - else { s.dimAddColor = s.dimAddColor || '#FFFF33'; } - if ( cls[5] ) { s.dimDelColor = '#' + cls[5]; } - else { s.dimDelColor = s.dimDelColor || '#FF3333'; } - if ( !s || !s.element || !s.dimClass ) { return true; } + if ( cls[4] ) + s.dimAddColor = '#' + cls[4]; + else + s.dimAddColor = s.dimAddColor || '#FFFF33'; + + if ( cls[5] ) + s.dimDelColor = '#' + cls[5]; + else + s.dimDelColor = s.dimDelColor || '#FF3333'; + + if ( !s || !s.element || !s.dimClass ) + return true; s.action = 'dim-' + s.what; @@ -201,7 +252,8 @@ wpList = { if ( $.isFunction(s.dimBefore) ) { s = s.dimBefore( s ); - if ( !s ) { return true; } + if ( !s ) + return true; } element = $('#' + s.element); @@ -209,32 +261,39 @@ wpList = { color = wpList.getColor( element ); element.toggleClass( s.dimClass ); dimColor = isClass ? s.dimAddColor : s.dimDelColor; + if ( 'none' != dimColor ) { element .animate( { backgroundColor: dimColor }, 'fast' ) .queue( function() { element.toggleClass(s.dimClass); $(this).dequeue(); } ) - .animate( { backgroundColor: color }, { complete: function() { $(this).css( 'backgroundColor', '' ); $(list).trigger( 'wpListDimEnd', [ s, list.wpList ] ); } } ); + .animate( { backgroundColor: color }, { complete: function() { + $(this).css( 'backgroundColor', '' ); + $(list).trigger( 'wpListDimEnd', [ s, list.wpList ] ); + } + }); } else { $(list).trigger( 'wpListDimEnd', [ s, list.wpList ] ); } - if ( !s.data._ajax_nonce ) { return true; } + if ( !s.data._ajax_nonce ) + return true; s.success = function(r) { - var res = wpAjax.parseAjaxResponse(r, s.response, s.element), o; + res = wpAjax.parseAjaxResponse(r, s.response, s.element); + rres = r; + if ( !res || res.errors ) { element.stop().stop().css( 'backgroundColor', '#FF3333' )[isClass?'removeClass':'addClass'](s.dimClass).show().queue( function() { list.wpList.recolor(); $(this).dequeue(); } ); return false; } + }; + + s.complete = function(x, st) { if ( $.isFunction(s.dimAfter) ) { - o = this.complete; - this.complete = function(x,st) { - element.queue( function() { - var _s = $.extend( { xml: x, status: st, parsed: res }, s ); - s.dimAfter( r, _s ); - if ( $.isFunction(o) ) { o(x,st); } - } ).dequeue(); - }; + element.queue( function() { + var _s = $.extend( { xml: x, status: st, parsed: res }, s ); + s.dimAfter( rres, _s ); + }).dequeue(); } }; @@ -242,16 +301,9 @@ wpList = { return false; }, - // From jquery.color.js: jQuery Color Animation by John Resig getColor: function( el ) { - if ( el.constructor == Object ) - el = el.get(0); - var elem = el, color, rgbaTrans = new RegExp( "rgba\\(\\s*0,\\s*0,\\s*0,\\s*0\\s*\\)", "i" ); - do { - color = jQuery.curCSS(elem, 'backgroundColor'); - if ( color != '' && color != 'transparent' && !color.match(rgbaTrans) || jQuery.nodeName(elem, "body") ) - break; - } while ( elem = elem.parentNode ); + var color = jQuery(el).css('backgroundColor'); + return color || '#ffffff'; }, @@ -279,17 +331,25 @@ wpList = { old.remove(); } else if ( isNaN(s.pos) ) { ba = 'after'; + if ( '-' == s.pos.substr(0,1) ) { s.pos = s.pos.substr(1); ba = 'before'; } + ref = list.find( '#' + s.pos ); - if ( 1 === ref.size() ) { ref[ba](e); } - else { list.append(e); } - } else if ( s.pos < 0 ) { - list.prepend(e); - } else { - list.append(e); + + if ( 1 === ref.size() ) + ref[ba](e); + else + list.append(e); + + } else if ( 'comment' != s.what || 0 === $('#' + s.element).length ) { + if ( s.pos < 0 ) { + list.prepend(e); + } else { + list.append(e); + } } if ( s.alt ) { @@ -307,16 +367,25 @@ wpList = { clear: function(e) { var list = this, t, tag; + e = $(e); - if ( list.wpList && e.parents( '#' + list.id ).size() ) { return; } + + if ( list.wpList && e.parents( '#' + list.id ).size() ) + return; + e.find(':input').each( function() { if ( $(this).parents('.form-no-clear').size() ) return; + t = this.type.toLowerCase(); tag = this.tagName.toLowerCase(); - if ( 'text' == t || 'password' == t || 'textarea' == tag ) { this.value = ''; } - else if ( 'checkbox' == t || 'radio' == t ) { this.checked = false; } - else if ( 'select' == tag ) { this.selectedIndex = null; } + + if ( 'text' == t || 'password' == t || 'textarea' == tag ) + this.value = ''; + else if ( 'checkbox' == t || 'radio' == t ) + this.checked = false; + else if ( 'select' == tag ) + this.selectedIndex = null; }); }, @@ -324,40 +393,51 @@ wpList = { var list = this, $el = $(el || document); - $el.delegate( "form[class^=add:" + list.id + ":]", 'submit', function(){ + $el.delegate( 'form[class^="add:' + list.id + ':"]', 'submit', function(){ return list.wpList.add(this); }); - $el.delegate( "[class^=add:" + list.id + ":]:not(form)", 'click', function(){ + $el.delegate( '[class^="add:' + list.id + ':"]:not(form)', 'click', function(){ return list.wpList.add(this); }); - $el.delegate( "[class^=delete:" + list.id + ":]", 'click', function(){ + $el.delegate( '[class^="delete:' + list.id + ':"]', 'click', function(){ return list.wpList.del(this); }); - $el.delegate( "[class^=dim:" + list.id + ":]", 'click', function(){ + $el.delegate( '[class^="dim:' + list.id + ':"]', 'click', function(){ return list.wpList.dim(this); }); }, recolor: function() { var list = this, items, eo; - if ( !list.wpList.settings.alt ) { return; } + + if ( !list.wpList.settings.alt ) + return; + items = $('.list-item:visible', list); - if ( !items.size() ) { items = $(list).children(':visible'); } + + if ( !items.size() ) + items = $(list).children(':visible'); + eo = [':even',':odd']; - if ( list.wpList.settings.altOffset % 2 ) { eo.reverse(); } + + if ( list.wpList.settings.altOffset % 2 ) + eo.reverse(); + items.filter(eo[0]).addClass(list.wpList.settings.alt).end().filter(eo[1]).removeClass(list.wpList.settings.alt); }, init: function() { var lists = this; + lists.wpList.process = function(a) { lists.each( function() { this.wpList.process(a); } ); }; + lists.wpList.recolor = function() { lists.each( function() { this.wpList.recolor(); @@ -369,11 +449,15 @@ wpList = { $.fn.wpList = function( settings ) { this.each( function() { var _this = this; + this.wpList = { settings: $.extend( {}, wpList.settings, { what: wpList.parseClass(this,'list')[1] || '' }, settings ) }; $.each( fs, function(i,f) { _this.wpList[i] = function( e, s ) { return wpList[f].call( _this, e, s ); }; } ); } ); + wpList.init.call(this); + this.wpList.process(); + return this; }; diff --git a/wp-includes/js/wp-lists.js b/wp-includes/js/wp-lists.js index 337de4060..4908880e7 100644 --- a/wp-includes/js/wp-lists.js +++ b/wp-includes/js/wp-lists.js @@ -1 +1 @@ -(function(b){var a={add:"ajaxAdd",del:"ajaxDel",dim:"ajaxDim",process:"process",recolor:"recolor"},c;c={settings:{url:ajaxurl,type:"POST",response:"ajax-response",what:"",alt:"alternate",altOffset:0,addColor:null,delColor:null,dimAddColor:null,dimDelColor:null,confirm:null,addBefore:null,addAfter:null,delBefore:null,delAfter:null,dimBefore:null,dimAfter:null},nonce:function(g,f){var d=wpAjax.unserialize(g.attr("href"));return f.nonce||d._ajax_nonce||b("#"+f.element+" input[name=_ajax_nonce]").val()||d._wpnonce||b("#"+f.element+" input[name=_wpnonce]").val()||0},parseClass:function(h,f){var i=[],d;try{d=b(h).attr("class")||"";d=d.match(new RegExp(f+":[\\S]+"));if(d){i=d[0].split(":")}}catch(g){}return i},pre:function(i,g,d){var f,h;g=b.extend({},this.wpList.settings,{element:null,nonce:0,target:i.get(0)},g||{});if(b.isFunction(g.confirm)){if("add"!=d){f=b("#"+g.element).css("backgroundColor");b("#"+g.element).css("backgroundColor","#FF9966")}h=g.confirm.call(this,i,g,d,f);if("add"!=d){b("#"+g.element).css("backgroundColor",f)}if(!h){return false}}return g},ajaxAdd:function(j,f){j=b(j);f=f||{};var h=this,d=c.parseClass(j,"add"),k,g,i;f=c.pre.call(h,j,f,"add");f.element=d[2]||j.attr("id")||f.element||null;if(d[3]){f.addColor="#"+d[3]}else{f.addColor=f.addColor||"#FFFF33"}if(!f){return false}if(!j.is("[class^=add:"+h.id+":]")){return !c.add.call(h,j,f)}if(!f.element){return true}f.action="add-"+f.what;f.nonce=c.nonce(j,f);k=b("#"+f.element+" :input").not("[name=_ajax_nonce], [name=_wpnonce], [name=action]");g=wpAjax.validateForm("#"+f.element);if(!g){return false}f.data=b.param(b.extend({_ajax_nonce:f.nonce,action:f.action},wpAjax.unserialize(d[4]||"")));i=b.isFunction(k.fieldSerialize)?k.fieldSerialize():k.serialize();if(i){f.data+="&"+i}if(b.isFunction(f.addBefore)){f=f.addBefore(f);if(!f){return true}}if(!f.data.match(/_ajax_nonce=[a-f0-9]+/)){return true}f.success=function(l){var e=wpAjax.parseAjaxResponse(l,f.response,f.element),m;if(!e||e.errors){return false}if(true===e){return true}jQuery.each(e.responses,function(){c.add.call(h,this.data,b.extend({},f,{pos:this.position||0,id:this.id||0,oldId:this.oldId||null}))});if(b.isFunction(f.addAfter)){m=this.complete;this.complete=function(n,o){var p=b.extend({xml:n,status:o,parsed:e},f);f.addAfter(l,p);if(b.isFunction(m)){m(n,o)}}}h.wpList.recolor();b(h).trigger("wpListAddEnd",[f,h.wpList]);c.clear.call(h,"#"+f.element)};b.ajax(f);return false},ajaxDel:function(i,g){i=b(i);g=g||{};var h=this,d=c.parseClass(i,"delete"),f;g=c.pre.call(h,i,g,"delete");g.element=d[2]||g.element||null;if(d[3]){g.delColor="#"+d[3]}else{g.delColor=g.delColor||"#faa"}if(!g||!g.element){return false}g.action="delete-"+g.what;g.nonce=c.nonce(i,g);g.data=b.extend({action:g.action,id:g.element.split("-").pop(),_ajax_nonce:g.nonce},wpAjax.unserialize(d[4]||""));if(b.isFunction(g.delBefore)){g=g.delBefore(g,h);if(!g){return true}}if(!g.data._ajax_nonce){return true}f=b("#"+g.element);if("none"!=g.delColor){f.css("backgroundColor",g.delColor).fadeOut(350,function(){h.wpList.recolor();b(h).trigger("wpListDelEnd",[g,h.wpList])})}else{h.wpList.recolor();b(h).trigger("wpListDelEnd",[g,h.wpList])}g.success=function(j){var e=wpAjax.parseAjaxResponse(j,g.response,g.element),k;if(!e||e.errors){f.stop().stop().css("backgroundColor","#faa").show().queue(function(){h.wpList.recolor();b(this).dequeue()});return false}if(b.isFunction(g.delAfter)){k=this.complete;this.complete=function(l,m){f.queue(function(){var n=b.extend({xml:l,status:m,parsed:e},g);g.delAfter(j,n);if(b.isFunction(k)){k(l,m)}}).dequeue()}}};b.ajax(g);return false},ajaxDim:function(k,h){if(b(k).parent().css("display")=="none"){return false}k=b(k);h=h||{};var j=this,d=c.parseClass(k,"dim"),g,l,f,i;h=c.pre.call(j,k,h,"dim");h.element=d[2]||h.element||null;h.dimClass=d[3]||h.dimClass||null;if(d[4]){h.dimAddColor="#"+d[4]}else{h.dimAddColor=h.dimAddColor||"#FFFF33"}if(d[5]){h.dimDelColor="#"+d[5]}else{h.dimDelColor=h.dimDelColor||"#FF3333"}if(!h||!h.element||!h.dimClass){return true}h.action="dim-"+h.what;h.nonce=c.nonce(k,h);h.data=b.extend({action:h.action,id:h.element.split("-").pop(),dimClass:h.dimClass,_ajax_nonce:h.nonce},wpAjax.unserialize(d[6]||""));if(b.isFunction(h.dimBefore)){h=h.dimBefore(h);if(!h){return true}}g=b("#"+h.element);l=g.toggleClass(h.dimClass).is("."+h.dimClass);f=c.getColor(g);g.toggleClass(h.dimClass);i=l?h.dimAddColor:h.dimDelColor;if("none"!=i){g.animate({backgroundColor:i},"fast").queue(function(){g.toggleClass(h.dimClass);b(this).dequeue()}).animate({backgroundColor:f},{complete:function(){b(this).css("backgroundColor","");b(j).trigger("wpListDimEnd",[h,j.wpList])}})}else{b(j).trigger("wpListDimEnd",[h,j.wpList])}if(!h.data._ajax_nonce){return true}h.success=function(m){var e=wpAjax.parseAjaxResponse(m,h.response,h.element),n;if(!e||e.errors){g.stop().stop().css("backgroundColor","#FF3333")[l?"removeClass":"addClass"](h.dimClass).show().queue(function(){j.wpList.recolor();b(this).dequeue()});return false}if(b.isFunction(h.dimAfter)){n=this.complete;this.complete=function(o,p){g.queue(function(){var q=b.extend({xml:o,status:p,parsed:e},h);h.dimAfter(m,q);if(b.isFunction(n)){n(o,p)}}).dequeue()}}};b.ajax(h);return false},getColor:function(e){if(e.constructor==Object){e=e.get(0)}var f=e,d,g=new RegExp("rgba\\(\\s*0,\\s*0,\\s*0,\\s*0\\s*\\)","i");do{d=jQuery.curCSS(f,"backgroundColor");if(d!=""&&d!="transparent"&&!d.match(g)||jQuery.nodeName(f,"body")){break}}while(f=f.parentNode);return d||"#ffffff"},add:function(k,g){k=b(k);var i=b(this),d=false,j={pos:0,id:0,oldId:null},l,h,f;if("string"==typeof g){g={what:g}}g=b.extend(j,this.wpList.settings,g);if(!k.size()||!g.what){return false}if(g.oldId){d=b("#"+g.what+"-"+g.oldId)}if(g.id&&(g.id!=g.oldId||!d||!d.size())){b("#"+g.what+"-"+g.id).remove()}if(d&&d.size()){d.before(k);d.remove()}else{if(isNaN(g.pos)){l="after";if("-"==g.pos.substr(0,1)){g.pos=g.pos.substr(1);l="before"}h=i.find("#"+g.pos);if(1===h.size()){h[l](k)}else{i.append(k)}}else{if(g.pos<0){i.prepend(k)}else{i.append(k)}}}if(g.alt){if((i.children(":visible").index(k[0])+g.altOffset)%2){k.removeClass(g.alt)}else{k.addClass(g.alt)}}if("none"!=g.addColor){f=c.getColor(k);k.css("backgroundColor",g.addColor).animate({backgroundColor:f},{complete:function(){b(this).css("backgroundColor","")}})}i.each(function(){this.wpList.process(k)});return k},clear:function(h){var g=this,f,d;h=b(h);if(g.wpList&&h.parents("#"+g.id).size()){return}h.find(":input").each(function(){if(b(this).parents(".form-no-clear").size()){return}f=this.type.toLowerCase();d=this.tagName.toLowerCase();if("text"==f||"password"==f||"textarea"==d){this.value=""}else{if("checkbox"==f||"radio"==f){this.checked=false}else{if("select"==d){this.selectedIndex=null}}}})},process:function(e){var f=this,d=b(e||document);d.delegate("form[class^=add:"+f.id+":]","submit",function(){return f.wpList.add(this)});d.delegate("[class^=add:"+f.id+":]:not(form)","click",function(){return f.wpList.add(this)});d.delegate("[class^=delete:"+f.id+":]","click",function(){return f.wpList.del(this)});d.delegate("[class^=dim:"+f.id+":]","click",function(){return f.wpList.dim(this)})},recolor:function(){var f=this,e,d;if(!f.wpList.settings.alt){return}e=b(".list-item:visible",f);if(!e.size()){e=b(f).children(":visible")}d=[":even",":odd"];if(f.wpList.settings.altOffset%2){d.reverse()}e.filter(d[0]).addClass(f.wpList.settings.alt).end().filter(d[1]).removeClass(f.wpList.settings.alt)},init:function(){var d=this;d.wpList.process=function(e){d.each(function(){this.wpList.process(e)})};d.wpList.recolor=function(){d.each(function(){this.wpList.recolor()})}}};b.fn.wpList=function(d){this.each(function(){var e=this;this.wpList={settings:b.extend({},c.settings,{what:c.parseClass(this,"list")[1]||""},d)};b.each(a,function(g,h){e.wpList[g]=function(i,f){return c[h].call(e,i,f)}})});c.init.call(this);this.wpList.process();return this}})(jQuery); \ No newline at end of file +(function(b){var a={add:"ajaxAdd",del:"ajaxDel",dim:"ajaxDim",process:"process",recolor:"recolor"},c;c={settings:{url:ajaxurl,type:"POST",response:"ajax-response",what:"",alt:"alternate",altOffset:0,addColor:null,delColor:null,dimAddColor:null,dimDelColor:null,confirm:null,addBefore:null,addAfter:null,delBefore:null,delAfter:null,dimBefore:null,dimAfter:null},nonce:function(g,f){var d=wpAjax.unserialize(g.attr("href"));return f.nonce||d._ajax_nonce||b("#"+f.element+' input[name="_ajax_nonce"]').val()||d._wpnonce||b("#"+f.element+' input[name="_wpnonce"]').val()||0},parseClass:function(h,f){var i=[],d;try{d=b(h).attr("class")||"";d=d.match(new RegExp(f+":[\\S]+"));if(d){i=d[0].split(":")}}catch(g){}return i},pre:function(i,g,d){var f,h;g=b.extend({},this.wpList.settings,{element:null,nonce:0,target:i.get(0)},g||{});if(b.isFunction(g.confirm)){if("add"!=d){f=b("#"+g.element).css("backgroundColor");b("#"+g.element).css("backgroundColor","#FF9966")}h=g.confirm.call(this,i,g,d,f);if("add"!=d){b("#"+g.element).css("backgroundColor",f)}if(!h){return false}}return g},ajaxAdd:function(g,m){g=b(g);m=m||{};var h=this,l=c.parseClass(g,"add"),j,d,f,i,k;m=c.pre.call(h,g,m,"add");m.element=l[2]||g.attr("id")||m.element||null;if(l[3]){m.addColor="#"+l[3]}else{m.addColor=m.addColor||"#FFFF33"}if(!m){return false}if(!g.is('[class^="add:'+h.id+':"]')){return !c.add.call(h,g,m)}if(!m.element){return true}m.action="add-"+m.what;m.nonce=c.nonce(g,m);j=b("#"+m.element+" :input").not('[name="_ajax_nonce"], [name="_wpnonce"], [name="action"]');d=wpAjax.validateForm("#"+m.element);if(!d){return false}m.data=b.param(b.extend({_ajax_nonce:m.nonce,action:m.action},wpAjax.unserialize(l[4]||"")));f=b.isFunction(j.fieldSerialize)?j.fieldSerialize():j.serialize();if(f){m.data+="&"+f}if(b.isFunction(m.addBefore)){m=m.addBefore(m);if(!m){return true}}if(!m.data.match(/_ajax_nonce=[a-f0-9]+/)){return true}m.success=function(e){i=wpAjax.parseAjaxResponse(e,m.response,m.element);k=e;if(!i||i.errors){return false}if(true===i){return true}jQuery.each(i.responses,function(){c.add.call(h,this.data,b.extend({},m,{pos:this.position||0,id:this.id||0,oldId:this.oldId||null}))});h.wpList.recolor();b(h).trigger("wpListAddEnd",[m,h.wpList]);c.clear.call(h,"#"+m.element)};m.complete=function(e,n){if(b.isFunction(m.addAfter)){var o=b.extend({xml:e,status:n,parsed:i},m);m.addAfter(k,o)}};b.ajax(m);return false},ajaxDel:function(k,i){k=b(k);i=i||{};var j=this,d=c.parseClass(k,"delete"),h,g,f;i=c.pre.call(j,k,i,"delete");i.element=d[2]||i.element||null;if(d[3]){i.delColor="#"+d[3]}else{i.delColor=i.delColor||"#faa"}if(!i||!i.element){return false}i.action="delete-"+i.what;i.nonce=c.nonce(k,i);i.data=b.extend({action:i.action,id:i.element.split("-").pop(),_ajax_nonce:i.nonce},wpAjax.unserialize(d[4]||""));if(b.isFunction(i.delBefore)){i=i.delBefore(i,j);if(!i){return true}}if(!i.data._ajax_nonce){return true}h=b("#"+i.element);if("none"!=i.delColor){h.css("backgroundColor",i.delColor).fadeOut(350,function(){j.wpList.recolor();b(j).trigger("wpListDelEnd",[i,j.wpList])})}else{j.wpList.recolor();b(j).trigger("wpListDelEnd",[i,j.wpList])}i.success=function(e){g=wpAjax.parseAjaxResponse(e,i.response,i.element);f=e;if(!g||g.errors){h.stop().stop().css("backgroundColor","#faa").show().queue(function(){j.wpList.recolor();b(this).dequeue()});return false}};i.complete=function(e,l){if(b.isFunction(i.delAfter)){h.queue(function(){var m=b.extend({xml:e,status:l,parsed:g},i);i.delAfter(f,m)}).dequeue()}};b.ajax(i);return false},ajaxDim:function(h,n){if(b(h).parent().css("display")=="none"){return false}h=b(h);n=n||{};var i=this,m=c.parseClass(h,"dim"),g,d,f,k,j,l;n=c.pre.call(i,h,n,"dim");n.element=m[2]||n.element||null;n.dimClass=m[3]||n.dimClass||null;if(m[4]){n.dimAddColor="#"+m[4]}else{n.dimAddColor=n.dimAddColor||"#FFFF33"}if(m[5]){n.dimDelColor="#"+m[5]}else{n.dimDelColor=n.dimDelColor||"#FF3333"}if(!n||!n.element||!n.dimClass){return true}n.action="dim-"+n.what;n.nonce=c.nonce(h,n);n.data=b.extend({action:n.action,id:n.element.split("-").pop(),dimClass:n.dimClass,_ajax_nonce:n.nonce},wpAjax.unserialize(m[6]||""));if(b.isFunction(n.dimBefore)){n=n.dimBefore(n);if(!n){return true}}g=b("#"+n.element);d=g.toggleClass(n.dimClass).is("."+n.dimClass);f=c.getColor(g);g.toggleClass(n.dimClass);k=d?n.dimAddColor:n.dimDelColor;if("none"!=k){g.animate({backgroundColor:k},"fast").queue(function(){g.toggleClass(n.dimClass);b(this).dequeue()}).animate({backgroundColor:f},{complete:function(){b(this).css("backgroundColor","");b(i).trigger("wpListDimEnd",[n,i.wpList])}})}else{b(i).trigger("wpListDimEnd",[n,i.wpList])}if(!n.data._ajax_nonce){return true}n.success=function(e){j=wpAjax.parseAjaxResponse(e,n.response,n.element);l=e;if(!j||j.errors){g.stop().stop().css("backgroundColor","#FF3333")[d?"removeClass":"addClass"](n.dimClass).show().queue(function(){i.wpList.recolor();b(this).dequeue()});return false}};n.complete=function(e,o){if(b.isFunction(n.dimAfter)){g.queue(function(){var p=b.extend({xml:e,status:o,parsed:j},n);n.dimAfter(l,p)}).dequeue()}};b.ajax(n);return false},getColor:function(e){var d=jQuery(e).css("backgroundColor");return d||"#ffffff"},add:function(k,g){k=b(k);var i=b(this),d=false,j={pos:0,id:0,oldId:null},l,h,f;if("string"==typeof g){g={what:g}}g=b.extend(j,this.wpList.settings,g);if(!k.size()||!g.what){return false}if(g.oldId){d=b("#"+g.what+"-"+g.oldId)}if(g.id&&(g.id!=g.oldId||!d||!d.size())){b("#"+g.what+"-"+g.id).remove()}if(d&&d.size()){d.before(k);d.remove()}else{if(isNaN(g.pos)){l="after";if("-"==g.pos.substr(0,1)){g.pos=g.pos.substr(1);l="before"}h=i.find("#"+g.pos);if(1===h.size()){h[l](k)}else{i.append(k)}}else{if("comment"!=g.what||0===b("#"+g.element).length){if(g.pos<0){i.prepend(k)}else{i.append(k)}}}}if(g.alt){if((i.children(":visible").index(k[0])+g.altOffset)%2){k.removeClass(g.alt)}else{k.addClass(g.alt)}}if("none"!=g.addColor){f=c.getColor(k);k.css("backgroundColor",g.addColor).animate({backgroundColor:f},{complete:function(){b(this).css("backgroundColor","")}})}i.each(function(){this.wpList.process(k)});return k},clear:function(h){var g=this,f,d;h=b(h);if(g.wpList&&h.parents("#"+g.id).size()){return}h.find(":input").each(function(){if(b(this).parents(".form-no-clear").size()){return}f=this.type.toLowerCase();d=this.tagName.toLowerCase();if("text"==f||"password"==f||"textarea"==d){this.value=""}else{if("checkbox"==f||"radio"==f){this.checked=false}else{if("select"==d){this.selectedIndex=null}}}})},process:function(e){var f=this,d=b(e||document);d.delegate('form[class^="add:'+f.id+':"]',"submit",function(){return f.wpList.add(this)});d.delegate('[class^="add:'+f.id+':"]:not(form)',"click",function(){return f.wpList.add(this)});d.delegate('[class^="delete:'+f.id+':"]',"click",function(){return f.wpList.del(this)});d.delegate('[class^="dim:'+f.id+':"]',"click",function(){return f.wpList.dim(this)})},recolor:function(){var f=this,e,d;if(!f.wpList.settings.alt){return}e=b(".list-item:visible",f);if(!e.size()){e=b(f).children(":visible")}d=[":even",":odd"];if(f.wpList.settings.altOffset%2){d.reverse()}e.filter(d[0]).addClass(f.wpList.settings.alt).end().filter(d[1]).removeClass(f.wpList.settings.alt)},init:function(){var d=this;d.wpList.process=function(e){d.each(function(){this.wpList.process(e)})};d.wpList.recolor=function(){d.each(function(){this.wpList.recolor()})}}};b.fn.wpList=function(d){this.each(function(){var e=this;this.wpList={settings:b.extend({},c.settings,{what:c.parseClass(this,"list")[1]||""},d)};b.each(a,function(g,h){e.wpList[g]=function(i,f){return c[h].call(e,i,f)}})});c.init.call(this);this.wpList.process();return this}})(jQuery); \ No newline at end of file diff --git a/wp-includes/kses.php b/wp-includes/kses.php index aea7aa81d..3a4da1e39 100644 --- a/wp-includes/kses.php +++ b/wp-includes/kses.php @@ -15,7 +15,7 @@ * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., - * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA or visit + * 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA * http://www.gnu.org/licenses/gpl.html * * [kses strips evil scripts!] @@ -513,7 +513,7 @@ function wp_kses($string, $allowed_html, $allowed_protocols = array ()) { * You add any kses hooks here. * * There is currently only one kses WordPress hook and it is called here. All - * parameters are passed to the hooks and expected to recieve a string. + * parameters are passed to the hooks and expected to receive a string. * * @since 1.0.0 * @@ -554,7 +554,7 @@ function wp_kses_split($string, $allowed_html, $allowed_protocols) { global $pass_allowed_html, $pass_allowed_protocols; $pass_allowed_html = $allowed_html; $pass_allowed_protocols = $allowed_protocols; - return preg_replace_callback( '%((<!--.*?(-->|$))|(<[^>]*(>|$)|>))%', '_wp_kses_split_callback', $string ); + return preg_replace_callback( '%(<!--.*?(-->|$))|(<[^>]*(>|$)|>)%', '_wp_kses_split_callback', $string ); } /** @@ -565,7 +565,7 @@ function wp_kses_split($string, $allowed_html, $allowed_protocols) { */ function _wp_kses_split_callback( $match ) { global $pass_allowed_html, $pass_allowed_protocols; - return wp_kses_split2( $match[1], $pass_allowed_html, $pass_allowed_protocols ); + return wp_kses_split2( $match[0], $pass_allowed_html, $pass_allowed_protocols ); } /** @@ -596,9 +596,9 @@ function wp_kses_split2($string, $allowed_html, $allowed_protocols) { return '>'; # It matched a ">" character - if (preg_match('%^<!--(.*?)(-->)?$%', $string, $matches)) { - $string = str_replace(array('<!--', '-->'), '', $matches[1]); - while ( $string != $newstring = wp_kses($string, $allowed_html, $allowed_protocols) ) + if ( '<!--' == substr( $string, 0, 4 ) ) { + $string = str_replace( array('<!--', '-->'), '', $string ); + while ( $string != ($newstring = wp_kses($string, $allowed_html, $allowed_protocols)) ) $string = $newstring; if ( $string == '' ) return ''; @@ -618,15 +618,15 @@ function wp_kses_split2($string, $allowed_html, $allowed_protocols) { $elem = $matches[2]; $attrlist = $matches[3]; - if (!@isset($allowed_html[strtolower($elem)])) + if ( ! isset($allowed_html[strtolower($elem)]) ) return ''; # They are using a not allowed HTML element if ($slash != '') - return "<$slash$elem>"; + return "</$elem>"; # No attributes are allowed for closing elements - return wp_kses_attr("$slash$elem", $attrlist, $allowed_html, $allowed_protocols); + return wp_kses_attr( $elem, $attrlist, $allowed_html, $allowed_protocols ); } /** @@ -654,50 +654,47 @@ function wp_kses_attr($element, $attr, $allowed_html, $allowed_protocols) { $xhtml_slash = ' /'; # Are any attributes allowed at all for this element? - - if (@ count($allowed_html[strtolower($element)]) == 0) + if ( ! isset($allowed_html[strtolower($element)]) || count($allowed_html[strtolower($element)]) == 0 ) return "<$element$xhtml_slash>"; # Split it - $attrarr = wp_kses_hair($attr, $allowed_protocols); # Go through $attrarr, and save the allowed attributes for this element # in $attr2 - $attr2 = ''; + $allowed_attr = $allowed_html[strtolower($element)]; foreach ($attrarr as $arreach) { - if (!@ isset ($allowed_html[strtolower($element)][strtolower($arreach['name'])])) + if ( ! isset( $allowed_attr[strtolower($arreach['name'])] ) ) continue; # the attribute is not allowed - $current = $allowed_html[strtolower($element)][strtolower($arreach['name'])]; - if ($current == '') + $current = $allowed_attr[strtolower($arreach['name'])]; + if ( $current == '' ) continue; # the attribute is not allowed - if (!is_array($current)) + if ( ! is_array($current) ) { $attr2 .= ' '.$arreach['whole']; # there are no checks - else { + } else { # there are some checks $ok = true; - foreach ($current as $currkey => $currval) - if (!wp_kses_check_attr_val($arreach['value'], $arreach['vless'], $currkey, $currval)) { + foreach ($current as $currkey => $currval) { + if ( ! wp_kses_check_attr_val($arreach['value'], $arreach['vless'], $currkey, $currval) ) { $ok = false; break; } + } if ( strtolower($arreach['name']) == 'style' ) { $orig_value = $arreach['value']; - $value = safecss_filter_attr($orig_value); if ( empty($value) ) continue; $arreach['value'] = $value; - $arreach['whole'] = str_replace($orig_value, $value, $arreach['whole']); } @@ -707,7 +704,6 @@ function wp_kses_attr($element, $attr, $allowed_html, $allowed_protocols) { } # foreach # Remove any "<" or ">" characters - $attr2 = preg_replace('/[<>]/', '', $attr2); return "<$element$attr2$xhtml_slash>"; diff --git a/wp-includes/l10n.php b/wp-includes/l10n.php index fd24477bb..f2c1e7b78 100644 --- a/wp-includes/l10n.php +++ b/wp-includes/l10n.php @@ -186,8 +186,8 @@ function esc_html_e( $text, $domain = 'default' ) { * @param string $domain Optional. Domain to retrieve the translated text * @return string Translated context string without pipe */ -function _x( $single, $context, $domain = 'default' ) { - return translate_with_gettext_context( $single, $context, $domain ); +function _x( $text, $context, $domain = 'default' ) { + return translate_with_gettext_context( $text, $context, $domain ); } /** @@ -201,8 +201,8 @@ function _x( $single, $context, $domain = 'default' ) { * @param string $domain Optional. Domain to retrieve the translated text * @return string Translated context string without pipe */ -function _ex( $single, $context, $domain = 'default' ) { - echo _x( $single, $context, $domain ); +function _ex( $text, $context, $domain = 'default' ) { + echo _x( $text, $context, $domain ); } function esc_attr_x( $single, $context, $domain = 'default' ) { @@ -270,9 +270,9 @@ function _nx($single, $plural, $number, $context, $domain = 'default') { * $usable_text = sprintf( translate_nooped_plural( $message, $count ), $count ); * * @since 2.5 - * @param string $single Single form to be i18ned + * @param string $singular Single form to be i18ned * @param string $plural Plural form to be i18ned - * @return array array($single, $plural) + * @return array array($singular, $plural) */ function _n_noop( $singular, $plural ) { return array( 0 => $singular, 1 => $plural, 'singular' => $singular, 'plural' => $plural, 'context' => null ); diff --git a/wp-includes/link-template.php b/wp-includes/link-template.php index 434d2217a..70f759567 100644 --- a/wp-includes/link-template.php +++ b/wp-includes/link-template.php @@ -1579,7 +1579,7 @@ function next_posts( $max_page = 0, $echo = true ) { * @param int $max_page Optional. Max pages. * @return string|null */ -function get_next_posts_link( $label = 'Next Page »', $max_page = 0 ) { +function get_next_posts_link( $label = null, $max_page = 0 ) { global $paged, $wp_query; if ( !$max_page ) @@ -1590,6 +1590,9 @@ function get_next_posts_link( $label = 'Next Page »', $max_page = 0 ) { $nextpage = intval($paged) + 1; + if ( null === $label ) + $label = __( 'Next Page »' ); + if ( !is_single() && ( $nextpage <= $max_page ) ) { $attr = apply_filters( 'next_posts_link_attributes', '' ); return '<a href="' . next_posts( $max_page, false ) . "\" $attr>" . preg_replace('/&([^#])(?![a-z]{1,8};)/i', '&$1', $label) . '</a>'; @@ -1605,7 +1608,7 @@ function get_next_posts_link( $label = 'Next Page »', $max_page = 0 ) { * @param string $label Content for link text. * @param int $max_page Optional. Max pages. */ -function next_posts_link( $label = 'Next Page »', $max_page = 0 ) { +function next_posts_link( $label = null, $max_page = 0 ) { echo get_next_posts_link( $label, $max_page ); } @@ -1655,9 +1658,12 @@ function previous_posts( $echo = true ) { * @param string $label Optional. Previous page link text. * @return string|null */ -function get_previous_posts_link( $label = '« Previous Page' ) { +function get_previous_posts_link( $label = null ) { global $paged; + if ( null === $label ) + $label = __( '« Previous Page' ); + if ( !is_single() && $paged > 1 ) { $attr = apply_filters( 'previous_posts_link_attributes', '' ); return '<a href="' . previous_posts( false ) . "\" $attr>". preg_replace( '/&([^#])(?![a-z]{1,8};)/', '&$1', $label ) .'</a>'; @@ -1672,7 +1678,7 @@ function get_previous_posts_link( $label = '« Previous Page' ) { * * @param string $label Optional. Previous page link text. */ -function previous_posts_link( $label = '« Previous Page' ) { +function previous_posts_link( $label = null ) { echo get_previous_posts_link( $label ); } @@ -2296,13 +2302,13 @@ function get_dashboard_url( $user_id, $path = '', $scheme = 'admin' ) { $user_id = (int) $user_id; $blogs = get_blogs_of_user( $user_id ); - if ( empty($blogs) ) { + if ( ! is_super_admin() && empty($blogs) ) { $url = user_admin_url( $path, $scheme ); } elseif ( ! is_multisite() ) { $url = admin_url( $path, $scheme ); } else { $current_blog = get_current_blog_id(); - if ( $current_blog && in_array($current_blog, array_keys($blogs)) ) { + if ( $current_blog && ( is_super_admin( $user_id ) || in_array( $current_blog, array_keys( $blogs ) ) ) ) { $url = admin_url( $path, $scheme ); } else { $active = get_active_blog_for_user( $user_id ); diff --git a/wp-includes/load.php b/wp-includes/load.php index 298dd7dfb..4e7c6923c 100644 --- a/wp-includes/load.php +++ b/wp-includes/load.php @@ -2,6 +2,8 @@ /** * These functions are needed to load WordPress. * + * @internal This file must be parsable by PHP4. + * * @package WordPress */ @@ -95,6 +97,9 @@ function wp_fix_server_vars() { * * Dies if requirements are not met. * + * This function must be able to work without a complete environment set up. In wp-load.php, for + * example, WP_CONTENT_DIR is defined and version.php is included before this function is called. + * * @access private * @since 3.0.0 */ @@ -271,10 +276,7 @@ function wp_debug_mode() { ini_set( 'error_log', WP_CONTENT_DIR . '/debug.log' ); } } else { - if ( defined( 'E_RECOVERABLE_ERROR' ) ) - error_reporting( E_CORE_ERROR | E_CORE_WARNING | E_COMPILE_ERROR | E_ERROR | E_WARNING | E_PARSE | E_USER_ERROR | E_USER_WARNING | E_RECOVERABLE_ERROR ); - else - error_reporting( E_CORE_ERROR | E_CORE_WARNING | E_COMPILE_ERROR | E_ERROR | E_WARNING | E_PARSE | E_USER_ERROR | E_USER_WARNING ); + error_reporting( E_CORE_ERROR | E_CORE_WARNING | E_COMPILE_ERROR | E_ERROR | E_WARNING | E_PARSE | E_USER_ERROR | E_USER_WARNING | E_RECOVERABLE_ERROR ); } } @@ -283,8 +285,10 @@ function wp_debug_mode() { * * To set directory manually, define <code>WP_LANG_DIR</code> in wp-config.php. * - * First looks for language folder in WP_CONTENT_DIR and uses that folder if it - * exists. Or it uses the "languages" folder in WPINC. + * If the language directory exists within WP_CONTENT_DIR that is used + * Otherwise if the language directory exists within WPINC, that's used + * Finally, If neither of the preceeding directories is found, + * WP_CONTENT_DIR/languages is used. * * The WP_LANG_DIR constant was introduced in 2.1.0. * @@ -293,7 +297,7 @@ function wp_debug_mode() { */ function wp_set_lang_dir() { if ( !defined( 'WP_LANG_DIR' ) ) { - if ( file_exists( WP_CONTENT_DIR . '/languages' ) && @is_dir( WP_CONTENT_DIR . '/languages' ) ) { + if ( file_exists( WP_CONTENT_DIR . '/languages' ) && @is_dir( WP_CONTENT_DIR . '/languages' ) || !@is_dir(ABSPATH . WPINC . '/languages') ) { define( 'WP_LANG_DIR', WP_CONTENT_DIR . '/languages' ); // no leading slash, no trailing slash, full path, not relative to ABSPATH if ( !defined( 'LANGDIR' ) ) { // Old static relative path maintained for limited backwards compatibility - won't work in some cases @@ -554,19 +558,16 @@ function shutdown_action_hook() { /** * Copy an object. * - * Returns a cloned copy of an object. - * * @since 2.7.0 + * @deprecated 3.2 * * @param object $object The object to clone * @return object The cloned object */ -function wp_clone( $object ) { - static $can_clone; - if ( !isset( $can_clone ) ) - $can_clone = version_compare( phpversion(), '5.0', '>=' ); - return $can_clone ? clone( $object ) : $object; +function wp_clone( $object ) { + // Use parens for clone to accommodate PHP 4. See #17880 + return clone( $object ); } /** diff --git a/wp-includes/locale.php b/wp-includes/locale.php index e69cbf5d2..dc3ede6f2 100644 --- a/wp-includes/locale.php +++ b/wp-includes/locale.php @@ -314,7 +314,7 @@ class WP_Locale { } /** - * PHP4 style constructor which calls helper methods to set up object variables + * Constructor which calls helper methods to set up object variables * * @uses WP_Locale::init() * @uses WP_Locale::register_globals() @@ -322,7 +322,7 @@ class WP_Locale { * * @return WP_Locale */ - function WP_Locale() { + function __construct() { $this->init(); $this->register_globals(); } diff --git a/wp-includes/media.php b/wp-includes/media.php index 041c4e561..f4e60d00d 100644 --- a/wp-includes/media.php +++ b/wp-includes/media.php @@ -125,7 +125,7 @@ function image_hwstring($width, $height) { * resize services. * * @param int $id Attachment ID for image. - * @param string $size Optional, default is 'medium'. Size of image, can be 'thumbnail'. + * @param array|string $size Optional, default is 'medium'. Size of image, either array or string. * @return bool|array False on failure, array on success. */ function image_downsize($id, $size = 'medium') { @@ -250,7 +250,7 @@ function wp_load_image( $file ) { return __('The GD image library is not installed.'); // Set artificially high because GD uses uncompressed images in memory - @ini_set('memory_limit', '256M'); + @ini_set( 'memory_limit', apply_filters( 'image_memory_limit', WP_MAX_MEMORY_LIMIT ) ); $image = imagecreatefromstring( file_get_contents( $file ) ); if ( !is_resource( $image ) ) @@ -1025,14 +1025,7 @@ class WP_Embed { var $linkifunknown = true; /** - * PHP4 constructor - */ - function WP_Embed() { - return $this->__construct(); - } - - /** - * PHP5 constructor + * Constructor */ function __construct() { // Hack to get the [embed] shortcode to run before wpautop() @@ -1405,4 +1398,44 @@ function wp_oembed_add_provider( $format, $provider, $regex = false ) { require_once( ABSPATH . WPINC . '/class-oembed.php' ); $oembed = _wp_oembed_get_object(); $oembed->providers[$format] = array( $provider, $regex ); -} \ No newline at end of file +} + +/** + * Determines if default embed handlers should be loaded. + * + * Checks to make sure that the embeds library hasn't already been loaded. If + * it hasn't, then it will load the embeds library. + * + * @since 2.9.0 + */ +function wp_maybe_load_embeds() { + if ( ! apply_filters( 'load_default_embeds', true ) ) + return; + wp_embed_register_handler( 'googlevideo', '#http://video\.google\.([A-Za-z.]{2,5})/videoplay\?docid=([\d-]+)(.*?)#i', 'wp_embed_handler_googlevideo' ); +} + +/** + * The Google Video embed handler callback. Google Video does not support oEmbed. + * + * @see WP_Embed::register_handler() + * @see WP_Embed::shortcode() + * + * @param array $matches The regex matches from the provided regex when calling {@link wp_embed_register_handler()}. + * @param array $attr Embed attributes. + * @param string $url The original URL that was matched by the regex. + * @param array $rawattr The original unmodified attributes. + * @return string The embed HTML. + */ +function wp_embed_handler_googlevideo( $matches, $attr, $url, $rawattr ) { + // If the user supplied a fixed width AND height, use it + if ( !empty($rawattr['width']) && !empty($rawattr['height']) ) { + $width = (int) $rawattr['width']; + $height = (int) $rawattr['height']; + } else { + list( $width, $height ) = wp_expand_dimensions( 425, 344, $attr['width'], $attr['height'] ); + } + + return apply_filters( 'embed_googlevideo', '<embed type="application/x-shockwave-flash" src="http://video.google.com/googleplayer.swf?docid=' . esc_attr($matches[2]) . '&hl=en&fs=true" style="width:' . esc_attr($width) . 'px;height:' . esc_attr($height) . 'px" allowFullScreen="true" allowScriptAccess="always" />', $matches, $attr, $url, $rawattr ); +} + +?> \ No newline at end of file diff --git a/wp-includes/meta.php b/wp-includes/meta.php index 27a128818..b24ae080f 100644 --- a/wp-includes/meta.php +++ b/wp-includes/meta.php @@ -45,6 +45,7 @@ function add_metadata($meta_type, $object_id, $meta_key, $meta_value, $unique = // expected_slashed ($meta_key) $meta_key = stripslashes($meta_key); $meta_value = stripslashes_deep($meta_value); + $meta_value = sanitize_meta( $meta_key, $meta_value, $meta_type ); $check = apply_filters( "add_{$meta_type}_metadata", null, $object_id, $meta_key, $meta_value, $unique ); if ( null !== $check ) @@ -113,6 +114,7 @@ function update_metadata($meta_type, $object_id, $meta_key, $meta_value, $prev_v // expected_slashed ($meta_key) $meta_key = stripslashes($meta_key); $meta_value = stripslashes_deep($meta_value); + $meta_value = sanitize_meta( $meta_key, $meta_value, $meta_type ); $check = apply_filters( "update_{$meta_type}_metadata", null, $object_id, $meta_key, $meta_value, $prev_value ); if ( null !== $check ) @@ -355,118 +357,206 @@ function update_meta_cache($meta_type, $object_ids) { /** * Given a meta query, generates SQL clauses to be appended to a main query * - * @since 3.1.0 - * @access private + * @since 3.2.0 * - * @param array $meta_query List of metadata queries. A single query is an associative array: - * - 'key' string The meta key - * - 'value' string|array The meta value - * - 'compare' (optional) string How to compare the key to the value. - * Possible values: '=', '!=', '>', '>=', '<', '<=', 'LIKE', 'NOT LIKE', 'IN', 'NOT IN', 'BETWEEN', 'NOT BETWEEN'. - * Default: '=' - * - 'type' string (optional) The type of the value. - * Possible values: 'NUMERIC', 'BINARY', 'CHAR', 'DATE', 'DATETIME', 'DECIMAL', 'SIGNED', 'TIME', 'UNSIGNED'. - * Default: 'CHAR' + * @see WP_Meta_Query * + * @param array (optional) $meta_query A meta query * @param string $type Type of meta * @param string $primary_table * @param string $primary_id_column * @param object $context (optional) The main query object * @return array( 'join' => $join_sql, 'where' => $where_sql ) */ -function _get_meta_sql( $meta_query, $type, $primary_table, $primary_id_column, $context = null ) { - global $wpdb; - - if ( ! $meta_table = _get_meta_table( $type ) ) - return false; - - $meta_id_column = esc_sql( $type . '_id' ); - - $join = ''; - $where = ''; - $i = 0; - foreach ( $meta_query as $q ) { - $meta_key = isset( $q['key'] ) ? trim( $q['key'] ) : ''; - $meta_value = isset( $q['value'] ) ? $q['value'] : ''; - $meta_compare = isset( $q['compare'] ) ? strtoupper( $q['compare'] ) : '='; - $meta_type = isset( $q['type'] ) ? strtoupper( $q['type'] ) : 'CHAR'; - - if ( ! in_array( $meta_compare, array( '=', '!=', '>', '>=', '<', '<=', 'LIKE', 'NOT LIKE', 'IN', 'NOT IN', 'BETWEEN', 'NOT BETWEEN' ) ) ) - $meta_compare = '='; - - if ( 'NUMERIC' == $meta_type ) - $meta_type = 'SIGNED'; - elseif ( ! in_array( $meta_type, array( 'BINARY', 'CHAR', 'DATE', 'DATETIME', 'DECIMAL', 'SIGNED', 'TIME', 'UNSIGNED' ) ) ) - $meta_type = 'CHAR'; - - if ( empty( $meta_key ) && empty( $meta_value ) ) - continue; - - $alias = $i ? 'mt' . $i : $meta_table; +function get_meta_sql( $meta_query = false, $type, $primary_table, $primary_id_column, $context = null ) { + $meta_query_obj = new WP_Meta_Query( $meta_query ); + return $meta_query_obj->get_sql( $type, $primary_table, $primary_id_column, $context ); +} - $join .= "\nINNER JOIN $meta_table"; - $join .= $i ? " AS $alias" : ''; - $join .= " ON ($primary_table.$primary_id_column = $alias.$meta_id_column)"; +/** + * Container class for a multiple metadata query + * + * @since 3.2.0 + */ +class WP_Meta_Query { + /** + * List of metadata queries. A single query is an associative array: + * - 'key' string The meta key + * - 'value' string|array The meta value + * - 'compare' (optional) string How to compare the key to the value. + * Possible values: '=', '!=', '>', '>=', '<', '<=', 'LIKE', 'NOT LIKE', 'IN', 'NOT IN', 'BETWEEN', 'NOT BETWEEN'. + * Default: '=' + * - 'type' string (optional) The type of the value. + * Possible values: 'NUMERIC', 'BINARY', 'CHAR', 'DATE', 'DATETIME', 'DECIMAL', 'SIGNED', 'TIME', 'UNSIGNED'. + * Default: 'CHAR' + * + * @since 3.2.0 + * @access public + * @var array + */ + public $queries = array(); + + /** + * The relation between the queries. Can be one of 'AND' or 'OR'. + * + * @since 3.2.0 + * @access public + * @var string + */ + public $relation; + + /** + * Constructor + * + * @param array (optional) $meta_query A meta query + */ + function __construct( $meta_query = false ) { + if ( !$meta_query ) + return; + + if ( isset( $meta_query['relation'] ) && strtoupper( $meta_query['relation'] ) == 'OR' ) { + $this->relation = 'OR'; + } else { + $this->relation = 'AND'; + } - $i++; + $this->queries = array(); - if ( !empty( $meta_key ) ) - $where .= $wpdb->prepare( " AND $alias.meta_key = %s", $meta_key ); + foreach ( $meta_query as $key => $query ) { + if ( ! is_array( $query ) ) + continue; - if ( in_array( $meta_compare, array( 'IN', 'NOT IN', 'BETWEEN', 'NOT BETWEEN' ) ) ) { - if ( ! is_array( $meta_value ) ) - $meta_value = preg_split( '/[,\s]+/', $meta_value ); - } else { - $meta_value = trim( $meta_value ); + $this->queries[] = $query; } + } - if ( empty( $meta_value ) ) - continue; - - if ( 'IN' == substr( $meta_compare, -2) ) { - $meta_compare_string = '(' . substr( str_repeat( ',%s', count( $meta_value ) ), 1 ) . ')'; - } elseif ( 'BETWEEN' == substr( $meta_compare, -7) ) { - $meta_value = array_slice( $meta_value, 0, 2 ); - $meta_compare_string = '%s AND %s'; - } elseif ( 'LIKE' == substr( $meta_compare, -4 ) ) { - $meta_value = '%' . like_escape( $meta_value ) . '%'; - $meta_compare_string = '%s'; - } else { - $meta_compare_string = '%s'; + /** + * Constructs a meta query based on 'meta_*' query vars + * + * @since 3.2.0 + * @access public + * + * @param array $qv The query variables + */ + function parse_query_vars( $qv ) { + $meta_query = array(); + + // Simple query needs to be first for orderby=meta_value to work correctly + foreach ( array( 'key', 'compare', 'type' ) as $key ) { + if ( !empty( $qv[ "meta_$key" ] ) ) + $meta_query[0][ $key ] = $qv[ "meta_$key" ]; } - // @todo Temporary hack to support empty values. Do not use outside of core. - if ( '_wp_zero_value' == $meta_value ) - $meta_value = 0; + // WP_Query sets 'meta_value' = '' by default + if ( isset( $qv[ 'meta_value' ] ) && '' !== $qv[ 'meta_value' ] ) + $meta_query[0]['value'] = $qv[ 'meta_value' ]; + + if ( !empty( $qv['meta_query'] ) && is_array( $qv['meta_query'] ) ) { + $meta_query = array_merge( $meta_query, $qv['meta_query'] ); + } - $where .= $wpdb->prepare( " AND CAST($alias.meta_value AS {$meta_type}) {$meta_compare} {$meta_compare_string}", $meta_value ); + $this->__construct( $meta_query ); } - return apply_filters_ref_array( 'get_meta_sql', array( compact( 'join', 'where' ), $meta_query, $type, $primary_table, $primary_id_column, &$context ) ); -} + /** + * Generates SQL clauses to be appended to a main query. + * + * @since 3.2.0 + * @access public + * + * @param string $type Type of meta + * @param string $primary_table + * @param string $primary_id_column + * @param object $context (optional) The main query object + * @return array( 'join' => $join_sql, 'where' => $where_sql ) + */ + function get_sql( $type, $primary_table, $primary_id_column, $context = null ) { + global $wpdb; + + if ( ! $meta_table = _get_meta_table( $type ) ) + return false; + + $meta_id_column = esc_sql( $type . '_id' ); + + $join = array(); + $where = array(); + + foreach ( $this->queries as $k => $q ) { + $meta_key = isset( $q['key'] ) ? trim( $q['key'] ) : ''; + $meta_compare = isset( $q['compare'] ) ? strtoupper( $q['compare'] ) : '='; + $meta_type = isset( $q['type'] ) ? strtoupper( $q['type'] ) : 'CHAR'; + + if ( ! in_array( $meta_compare, array( '=', '!=', '>', '>=', '<', '<=', 'LIKE', 'NOT LIKE', 'IN', 'NOT IN', 'BETWEEN', 'NOT BETWEEN' ) ) ) + $meta_compare = '='; + + if ( 'NUMERIC' == $meta_type ) + $meta_type = 'SIGNED'; + elseif ( ! in_array( $meta_type, array( 'BINARY', 'CHAR', 'DATE', 'DATETIME', 'DECIMAL', 'SIGNED', 'TIME', 'UNSIGNED' ) ) ) + $meta_type = 'CHAR'; + + $i = count( $join ); + $alias = $i ? 'mt' . $i : $meta_table; + + // Set JOIN + $join[$i] = "INNER JOIN $meta_table"; + $join[$i] .= $i ? " AS $alias" : ''; + $join[$i] .= " ON ($primary_table.$primary_id_column = $alias.$meta_id_column)"; + + $where[$k] = ''; + if ( !empty( $meta_key ) ) + $where[$k] = $wpdb->prepare( "$alias.meta_key = %s", $meta_key ); + + if ( !isset( $q['value'] ) ) { + if ( empty( $where[$k] ) ) + unset( $join[$i] ); + continue; + } + + $meta_value = $q['value']; + + if ( in_array( $meta_compare, array( 'IN', 'NOT IN', 'BETWEEN', 'NOT BETWEEN' ) ) ) { + if ( ! is_array( $meta_value ) ) + $meta_value = preg_split( '/[,\s]+/', $meta_value ); + + if ( empty( $meta_value ) ) { + unset( $join[$i] ); + continue; + } + } else { + $meta_value = trim( $meta_value ); + } + + if ( 'IN' == substr( $meta_compare, -2) ) { + $meta_compare_string = '(' . substr( str_repeat( ',%s', count( $meta_value ) ), 1 ) . ')'; + } elseif ( 'BETWEEN' == substr( $meta_compare, -7) ) { + $meta_value = array_slice( $meta_value, 0, 2 ); + $meta_compare_string = '%s AND %s'; + } elseif ( 'LIKE' == substr( $meta_compare, -4 ) ) { + $meta_value = '%' . like_escape( $meta_value ) . '%'; + $meta_compare_string = '%s'; + } else { + $meta_compare_string = '%s'; + } + + if ( ! empty( $where[$k] ) ) + $where[$k] .= ' AND '; + + $where[$k] = ' (' . $where[$k] . $wpdb->prepare( "CAST($alias.meta_value AS {$meta_type}) {$meta_compare} {$meta_compare_string})", $meta_value ); + } -/** - * Populates the $meta_query property - * - * @access private - * @since 3.1.0 - * - * @param array $qv The query variables - */ -function _parse_meta_query( &$qv ) { - $meta_query = array(); + $where = array_filter( $where ); - // Simple query needs to be first for orderby=meta_value to work correctly - foreach ( array( 'key', 'value', 'compare', 'type' ) as $key ) { - if ( !empty( $qv[ "meta_$key" ] ) ) - $meta_query[0][ $key ] = $qv[ "meta_$key" ]; - } + if ( empty( $where ) ) + $where = ''; + else + $where = ' AND (' . implode( "\n{$this->relation} ", $where ) . ' )'; - if ( !empty( $qv['meta_query'] ) && is_array( $qv['meta_query'] ) ) { - $meta_query = array_merge( $meta_query, $qv['meta_query'] ); - } + $join = implode( "\n", $join ); + if ( ! empty( $join ) ) + $join = ' ' . $join; - $qv['meta_query'] = $meta_query; + return apply_filters_ref_array( 'get_meta_sql', array( compact( 'join', 'where' ), $this->queries, $type, $primary_table, $primary_id_column, $context ) ); + } } /** @@ -488,4 +578,33 @@ function _get_meta_table($type) { return $wpdb->$table_name; } + +/** + * Determine whether a meta key is protected + * + * @since 3.1.3 + * + * @param string $meta_key Meta key + * @return bool True if the key is protected, false otherwise. + */ +function is_protected_meta( $meta_key, $meta_type = null ) { + $protected = ( '_' == $meta_key[0] ); + + return apply_filters( 'is_protected_meta', $protected, $meta_key, $meta_type ); +} + +/** + * Sanitize meta value + * + * @since 3.1.3 + * + * @param string $meta_key Meta key + * @param mixed $meta_value Meta value to sanitize + * @param string $meta_type Type of meta + * @return mixed Sanitized $meta_value + */ +function sanitize_meta( $meta_key, $meta_value, $meta_type = null ) { + return apply_filters( 'sanitize_meta', $meta_value, $meta_key, $meta_type ); +} + ?> diff --git a/wp-includes/ms-blogs.php b/wp-includes/ms-blogs.php index 0deca99ad..1c483e106 100644 --- a/wp-includes/ms-blogs.php +++ b/wp-includes/ms-blogs.php @@ -71,7 +71,7 @@ function get_blogaddress_by_name( $blogname ) { */ function get_blogaddress_by_domain( $domain, $path ) { if ( is_subdomain_install() ) { - $url = "http://".$domain.$path; + $url = "http://" . $domain.$path; } else { if ( $domain != $_SERVER['HTTP_HOST'] ) { $blogname = substr( $domain, 0, strpos( $domain, '.' ) ); @@ -96,7 +96,7 @@ function get_blogaddress_by_domain( $domain, $path ) { */ function get_id_from_blogname( $name ) { global $wpdb, $current_site; - $blog_id = wp_cache_get( "get_id_from_blogname_" . $name, 'blog-details' ); + $blog_id = wp_cache_get( 'get_id_from_blogname_' . $name, 'blog-details' ); if ( $blog_id ) return $blog_id; @@ -331,8 +331,8 @@ function update_blog_details( $blog_id, $details = array() ) { function get_blog_option( $blog_id, $setting, $default = false ) { global $wpdb; - $key = $blog_id."-".$setting."-blog_option"; - $value = wp_cache_get( $key, "site-options" ); + $key = $blog_id . '-' . $setting . '-blog_option'; + $value = wp_cache_get( $key, 'site-options' ); if ( $value == null ) { if ( $blog_id == $wpdb->blogid ) { $value = get_option( $setting, $default ); @@ -390,7 +390,7 @@ function add_blog_option( $id, $key, $value ) { switch_to_blog($id); add_option( $key, $value ); restore_current_blog(); - wp_cache_set( $id."-".$key."-blog_option", $value, 'site-options' ); + wp_cache_set( $id . '-' . $key . '-blog_option', $value, 'site-options' ); } /** @@ -407,7 +407,7 @@ function delete_blog_option( $id, $key ) { switch_to_blog($id); delete_option( $key ); restore_current_blog(); - wp_cache_set( $id."-".$key."-blog_option", '', 'site-options' ); + wp_cache_set( $id . '-' . $key . '-blog_option', '', 'site-options' ); } /** @@ -431,7 +431,7 @@ function update_blog_option( $id, $key, $value, $deprecated = null ) { refresh_blog_details( $id ); - wp_cache_set( $id."-".$key."-blog_option", $value, 'site-options'); + wp_cache_set( $id . '-' . $key . '-blog_option', $value, 'site-options'); } /** diff --git a/wp-includes/ms-files.php b/wp-includes/ms-files.php index 5ec6d1ddc..2d68f11dc 100644 --- a/wp-includes/ms-files.php +++ b/wp-includes/ms-files.php @@ -38,7 +38,7 @@ if( $mime[ 'type' ] ) else $mimetype = 'image/' . substr( $file, strrpos( $file, '.' ) + 1 ); -header( 'Content-type: ' . $mimetype ); // always send this +header( 'Content-Type: ' . $mimetype ); // always send this if ( false === strpos( $_SERVER['SERVER_SOFTWARE'], 'Microsoft-IIS' ) ) header( 'Content-Length: ' . filesize( $file ) ); diff --git a/wp-includes/ms-functions.php b/wp-includes/ms-functions.php index 16f5a05aa..6c1f80a18 100644 --- a/wp-includes/ms-functions.php +++ b/wp-includes/ms-functions.php @@ -882,8 +882,7 @@ function wpmu_signup_user_notification($user, $user_email, $key, $meta = '') { __( "To activate your user, please click the following link:\n\n%s\n\nAfter you activate, you will receive *another email* with your login.\n\n" ), $user, $user_email, $key, $meta ), - site_url( "wp-activate.php?key=$key" ), - $key + site_url( "wp-activate.php?key=$key" ) ); // TODO: Don't hard code activation link. $subject = sprintf( @@ -1313,10 +1312,9 @@ BLOG_URL You can log in to the administrator account with the following information: Username: USERNAME Password: PASSWORD -Login Here: BLOG_URLwp-login.php +Log in here: BLOG_URLwp-login.php -We hope you enjoy your new site. -Thanks! +We hope you enjoy your new site. Thanks! --The Team @ SITE_NAME' ) ); @@ -1340,7 +1338,7 @@ Thanks! $message = $welcome_email; if ( empty( $current_site->site_name ) ) - $current_site->site_name = 'WordPress MU'; + $current_site->site_name = 'WordPress'; $subject = apply_filters( 'update_welcome_subject', sprintf(__('New %1$s Site: %2$s'), $current_site->site_name, stripslashes( $title ) ) ); wp_mail($user->user_email, $subject, $message, $message_headers); @@ -1388,7 +1386,7 @@ function wpmu_welcome_user_notification($user_id, $password, $meta = '') { $message = $welcome_email; if ( empty( $current_site->site_name ) ) - $current_site->site_name = 'WordPress MU'; + $current_site->site_name = 'WordPress'; $subject = apply_filters( 'update_welcome_user_subject', sprintf(__('New %1$s User: %2$s'), $current_site->site_name, $user->user_login) ); wp_mail($user->user_email, $subject, $message, $message_headers); @@ -1860,7 +1858,7 @@ function add_existing_user_to_blog( $details = false ) { */ function add_new_user_to_blog( $user_id, $email, $meta ) { global $current_site; - if ( $meta[ 'add_to_blog' ] ) { + if ( !empty( $meta[ 'add_to_blog' ] ) ) { $blog_id = $meta[ 'add_to_blog' ]; $role = $meta[ 'new_role' ]; remove_user_from_blog($user_id, $current_site->blog_id); // remove user from main blog. diff --git a/wp-includes/nav-menu.php b/wp-includes/nav-menu.php index e1af8f7aa..467d73e18 100644 --- a/wp-includes/nav-menu.php +++ b/wp-includes/nav-menu.php @@ -442,6 +442,22 @@ function _sort_nav_menu_items( $a, $b ) { return strcmp( $a->$_menu_item_sort_prop, $b->$_menu_item_sort_prop ); } +/** + * Returns if a menu item is valid. Bug #13958 + * + * @since 3.2.0 + * @access private + * + * @param object $menu_item The menu item to check + * @return bool false if invalid, else true. + */ +function _is_valid_nav_menu_item( $item ) { + if ( ! empty( $item->_invalid ) ) + return false; + + return true; +} + /** * Returns all menu items of a navigation menu. * @@ -513,6 +529,9 @@ function wp_get_nav_menu_items( $menu, $args = array() ) { $items = array_map( 'wp_setup_nav_menu_item', $items ); + if ( ! is_admin() ) // Remove invalid items only in frontend + $items = array_filter( $items, '_is_valid_nav_menu_item' ); + if ( ARRAY_A == $args['output'] ) { $GLOBALS['_menu_item_sort_prop'] = $args['output_key']; usort($items, '_sort_nav_menu_items'); @@ -560,7 +579,13 @@ function wp_setup_nav_menu_item( $menu_item ) { if ( 'post_type' == $menu_item->type ) { $object = get_post_type_object( $menu_item->object ); - $menu_item->type_label = $object->labels->singular_name; + if ( $object ) { + $menu_item->type_label = $object->labels->singular_name; + } else { + $menu_item->type_label = $menu_item->object; + $menu_item->_invalid = true; + } + $menu_item->url = get_permalink( $menu_item->object_id ); $original_object = get_post( $menu_item->object_id ); @@ -569,11 +594,19 @@ function wp_setup_nav_menu_item( $menu_item ) { } elseif ( 'taxonomy' == $menu_item->type ) { $object = get_taxonomy( $menu_item->object ); - $menu_item->type_label = $object->labels->singular_name; + if ( $object ) { + $menu_item->type_label = $object->labels->singular_name; + } else { + $menu_item->type_label = $menu_item->object; + $menu_item->_invalid = true; + } + $term_url = get_term_link( (int) $menu_item->object_id, $menu_item->object ); $menu_item->url = !is_wp_error( $term_url ) ? $term_url : ''; $original_title = get_term_field( 'name', $menu_item->object_id, $menu_item->object, 'raw' ); + if ( is_wp_error( $original_title ) ) + $original_title = false; $menu_item->title = '' == $menu_item->post_title ? $original_title : $menu_item->post_title; } else { diff --git a/wp-includes/pluggable.php b/wp-includes/pluggable.php index 9bf35d70b..3001433b8 100644 --- a/wp-includes/pluggable.php +++ b/wp-includes/pluggable.php @@ -281,7 +281,7 @@ function wp_mail( $to, $subject, $message, $headers = '', $attachments = array() if ( !is_object( $phpmailer ) || !is_a( $phpmailer, 'PHPMailer' ) ) { require_once ABSPATH . WPINC . '/class-phpmailer.php'; require_once ABSPATH . WPINC . '/class-smtp.php'; - $phpmailer = new PHPMailer(); + $phpmailer = new PHPMailer( true ); } // Headers @@ -296,6 +296,8 @@ function wp_mail( $to, $subject, $message, $headers = '', $attachments = array() $tempheaders = $headers; } $headers = array(); + $cc = array(); + $bcc = array(); // If it's actually got contents if ( !empty( $tempheaders ) ) { @@ -400,7 +402,19 @@ function wp_mail( $to, $subject, $message, $headers = '', $attachments = array() $to = explode( ',', $to ); foreach ( (array) $to as $recipient ) { - $phpmailer->AddAddress( trim( $recipient ) ); + try { + // Break $recipient into name and address parts if in the format "Foo <bar@baz.com>" + $recipient_name = ''; + if( preg_match( '/(.+)\s?<(.+)>/', $recipient, $matches ) ) { + if ( count( $matches ) == 3 ) { + $recipient_name = $matches[1]; + $recipient = $matches[2]; + } + } + $phpmailer->AddAddress( trim( $recipient ), $recipient_name); + } catch ( phpmailerException $e ) { + continue; + } } // Set mail's subject and body @@ -410,13 +424,37 @@ function wp_mail( $to, $subject, $message, $headers = '', $attachments = array() // Add any CC and BCC recipients if ( !empty( $cc ) ) { foreach ( (array) $cc as $recipient ) { - $phpmailer->AddCc( trim($recipient) ); + try { + // Break $recipient into name and address parts if in the format "Foo <bar@baz.com>" + $recipient_name = ''; + if( preg_match( '/(.+)\s?<(.+)>/', $recipient, $matches ) ) { + if ( count( $matches ) == 3 ) { + $recipient_name = $matches[1]; + $recipient = $matches[2]; + } + } + $phpmailer->AddCc( trim($recipient), $recipient_name ); + } catch ( phpmailerException $e ) { + continue; + } } } if ( !empty( $bcc ) ) { foreach ( (array) $bcc as $recipient) { - $phpmailer->AddBcc( trim($recipient) ); + try { + // Break $recipient into name and address parts if in the format "Foo <bar@baz.com>" + $recipient_name = ''; + if( preg_match( '/(.+)\s?<(.+)>/', $recipient, $matches ) ) { + if ( count( $matches ) == 3 ) { + $recipient_name = $matches[1]; + $recipient = $matches[2]; + } + } + $phpmailer->AddBcc( trim($recipient), $recipient_name ); + } catch ( phpmailerException $e ) { + continue; + } } } @@ -455,16 +493,24 @@ function wp_mail( $to, $subject, $message, $headers = '', $attachments = array() if ( !empty( $attachments ) ) { foreach ( $attachments as $attachment ) { - $phpmailer->AddAttachment($attachment); + try { + $phpmailer->AddAttachment($attachment); + } catch ( phpmailerException $e ) { + continue; + } } } do_action_ref_array( 'phpmailer_init', array( &$phpmailer ) ); // Send! - $result = @$phpmailer->Send(); + try { + $phpmailer->Send(); + } catch ( phpmailerException $e ) { + return false; + } - return $result; + return true; } endif; @@ -688,23 +734,11 @@ function wp_set_auth_cookie($user_id, $remember = false, $secure = '') { do_action('set_auth_cookie', $auth_cookie, $expire, $expiration, $user_id, $scheme); do_action('set_logged_in_cookie', $logged_in_cookie, $expire, $expiration, $user_id, 'logged_in'); - // Set httponly if the php version is >= 5.2.0 - if ( version_compare(phpversion(), '5.2.0', 'ge') ) { - setcookie($auth_cookie_name, $auth_cookie, $expire, PLUGINS_COOKIE_PATH, COOKIE_DOMAIN, $secure, true); - setcookie($auth_cookie_name, $auth_cookie, $expire, ADMIN_COOKIE_PATH, COOKIE_DOMAIN, $secure, true); - setcookie(LOGGED_IN_COOKIE, $logged_in_cookie, $expire, COOKIEPATH, COOKIE_DOMAIN, $secure_logged_in_cookie, true); - if ( COOKIEPATH != SITECOOKIEPATH ) - setcookie(LOGGED_IN_COOKIE, $logged_in_cookie, $expire, SITECOOKIEPATH, COOKIE_DOMAIN, $secure_logged_in_cookie, true); - } else { - $cookie_domain = COOKIE_DOMAIN; - if ( !empty($cookie_domain) ) - $cookie_domain .= '; HttpOnly'; - setcookie($auth_cookie_name, $auth_cookie, $expire, PLUGINS_COOKIE_PATH, $cookie_domain, $secure); - setcookie($auth_cookie_name, $auth_cookie, $expire, ADMIN_COOKIE_PATH, $cookie_domain, $secure); - setcookie(LOGGED_IN_COOKIE, $logged_in_cookie, $expire, COOKIEPATH, $cookie_domain, $secure_logged_in_cookie); - if ( COOKIEPATH != SITECOOKIEPATH ) - setcookie(LOGGED_IN_COOKIE, $logged_in_cookie, $expire, SITECOOKIEPATH, $cookie_domain, $secure_logged_in_cookie); - } + setcookie($auth_cookie_name, $auth_cookie, $expire, PLUGINS_COOKIE_PATH, COOKIE_DOMAIN, $secure, true); + setcookie($auth_cookie_name, $auth_cookie, $expire, ADMIN_COOKIE_PATH, COOKIE_DOMAIN, $secure, true); + setcookie(LOGGED_IN_COOKIE, $logged_in_cookie, $expire, COOKIEPATH, COOKIE_DOMAIN, $secure_logged_in_cookie, true); + if ( COOKIEPATH != SITECOOKIEPATH ) + setcookie(LOGGED_IN_COOKIE, $logged_in_cookie, $expire, SITECOOKIEPATH, COOKIE_DOMAIN, $secure_logged_in_cookie, true); } endif; @@ -832,6 +866,9 @@ if ( !function_exists('check_admin_referer') ) : * @param string $query_arg where to look for nonce in $_REQUEST (since 2.5) */ function check_admin_referer($action = -1, $query_arg = '_wpnonce') { + if ( -1 == $action ) + _doing_it_wrong( __FUNCTION__, __( 'You should specify a nonce action to be verified by using the first parameter.' ), '3.2' ); + $adminurl = strtolower(admin_url()); $referer = strtolower(wp_get_referer()); $result = isset($_REQUEST[$query_arg]) ? wp_verify_nonce($_REQUEST[$query_arg], $action) : false; diff --git a/wp-includes/plugin.php b/wp-includes/plugin.php index 0c10e242f..945461c55 100644 --- a/wp-includes/plugin.php +++ b/wp-includes/plugin.php @@ -135,19 +135,23 @@ function apply_filters($tag, $value) { global $wp_filter, $merged_filters, $wp_current_filter; $args = array(); - $wp_current_filter[] = $tag; // Do 'all' actions first if ( isset($wp_filter['all']) ) { + $wp_current_filter[] = $tag; $args = func_get_args(); _wp_call_all_hook($args); } if ( !isset($wp_filter[$tag]) ) { - array_pop($wp_current_filter); + if ( isset($wp_filter['all']) ) + array_pop($wp_current_filter); return $value; } + if ( !isset($wp_filter['all']) ) + $wp_current_filter[] = $tag; + // Sort if ( !isset( $merged_filters[ $tag ] ) ) { ksort($wp_filter[$tag]); @@ -193,19 +197,22 @@ function apply_filters($tag, $value) { function apply_filters_ref_array($tag, $args) { global $wp_filter, $merged_filters, $wp_current_filter; - $wp_current_filter[] = $tag; - // Do 'all' actions first if ( isset($wp_filter['all']) ) { + $wp_current_filter[] = $tag; $all_args = func_get_args(); _wp_call_all_hook($all_args); } if ( !isset($wp_filter[$tag]) ) { - array_pop($wp_current_filter); + if ( isset($wp_filter['all']) ) + array_pop($wp_current_filter); return $args[0]; } + if ( !isset($wp_filter['all']) ) + $wp_current_filter[] = $tag; + // Sort if ( !isset( $merged_filters[ $tag ] ) ) { ksort($wp_filter[$tag]); @@ -360,19 +367,22 @@ function do_action($tag, $arg = '') { else ++$wp_actions[$tag]; - $wp_current_filter[] = $tag; - // Do 'all' actions first if ( isset($wp_filter['all']) ) { + $wp_current_filter[] = $tag; $all_args = func_get_args(); _wp_call_all_hook($all_args); } if ( !isset($wp_filter[$tag]) ) { - array_pop($wp_current_filter); + if ( isset($wp_filter['all']) ) + array_pop($wp_current_filter); return; } + if ( !isset($wp_filter['all']) ) + $wp_current_filter[] = $tag; + $args = array(); if ( is_array($arg) && 1 == count($arg) && isset($arg[0]) && is_object($arg[0]) ) // array(&$this) $args[] =& $arg[0]; @@ -446,19 +456,22 @@ function do_action_ref_array($tag, $args) { else ++$wp_actions[$tag]; - $wp_current_filter[] = $tag; - // Do 'all' actions first if ( isset($wp_filter['all']) ) { + $wp_current_filter[] = $tag; $all_args = func_get_args(); _wp_call_all_hook($all_args); } if ( !isset($wp_filter[$tag]) ) { - array_pop($wp_current_filter); + if ( isset($wp_filter['all']) ) + array_pop($wp_current_filter); return; } + if ( !isset($wp_filter['all']) ) + $wp_current_filter[] = $tag; + // Sort if ( !isset( $merged_filters[ $tag ] ) ) { ksort($wp_filter[$tag]); diff --git a/wp-includes/post-template.php b/wp-includes/post-template.php index 98b6fede7..d6a09783c 100644 --- a/wp-includes/post-template.php +++ b/wp-includes/post-template.php @@ -489,6 +489,8 @@ function get_body_class( $class = '' ) { if ( is_page_template() ) { $classes[] = 'page-template'; $classes[] = 'page-template-' . sanitize_html_class( str_replace( '.', '-', get_post_meta( $page_id, '_wp_page_template', true ) ), '' ); + } else { + $classes[] = 'page-template-default'; } } elseif ( is_search() ) { if ( !empty( $wp_query->posts ) ) @@ -529,10 +531,13 @@ function get_body_class( $class = '' ) { $classes[] = 'post-type-paged-' . $page; } - if ( !empty( $class ) ) { + if ( ! empty( $class ) ) { if ( !is_array( $class ) ) $class = preg_split( '#\s+#', $class ); $classes = array_merge( $classes, $class ); + } else { + // Ensure that we always coerce class to being an array. + $class = array(); } $classes = array_map( 'esc_attr', $classes ); @@ -1242,7 +1247,7 @@ function is_page_template($template = '') { // We have no argument passed so just see if a page_template has been specified if ( empty( $template ) ) { - if (!empty( $page_template ) ) { + if ( !empty( $page_template ) and ( 'default' != $page_template ) ) { return true; } } elseif ( $template == $page_template) { @@ -1348,7 +1353,7 @@ function wp_list_post_revisions( $post_id = 0, $args = null ) { if ( $parent ) array_unshift( $revisions, $post ); - $rows = ''; + $rows = $right_checked = ''; $class = false; $can_edit_post = current_user_can( 'edit_post', $post->ID ); foreach ( $revisions as $revision ) { diff --git a/wp-includes/post-thumbnail-template.php b/wp-includes/post-thumbnail-template.php index 3758d1d47..38ae9039a 100644 --- a/wp-includes/post-thumbnail-template.php +++ b/wp-includes/post-thumbnail-template.php @@ -47,6 +47,36 @@ function the_post_thumbnail( $size = 'post-thumbnail', $attr = '' ) { echo get_the_post_thumbnail( null, $size, $attr ); } +/** + * Update cache for thumbnails in the current loop + * + * @sicne 3.2 + */ +function update_post_thumbnail_cache() { + global $wp_query; + + if ( $wp_query->thumbnails_cached ) + return; + + $thumb_ids = array(); + foreach ( $wp_query->posts as $post ) { + if ( $id = get_post_thumbnail_id( $post->ID ) ) + $thumb_ids[] = $id; + } + + if ( ! empty ( $thumb_ids ) ) { + get_posts( array( + 'update_post_term_cache' => false, + 'include' => $thumb_ids, + 'post_type' => 'attachment', + 'post_status' => 'inherit', + 'nopaging' => true + ) ); + } + + $wp_query->thumbnails_cached = true; +} + /** * Retrieve Post Thumbnail. * @@ -62,6 +92,8 @@ function get_the_post_thumbnail( $post_id = null, $size = 'post-thumbnail', $att $size = apply_filters( 'post_thumbnail_size', $size ); if ( $post_thumbnail_id ) { do_action( 'begin_fetch_post_thumbnail_html', $post_id, $post_thumbnail_id, $size ); // for "Just In Time" filtering of all of wp_get_attachment_image()'s filters + if ( in_the_loop() ) + update_post_thumbnail_cache(); $html = wp_get_attachment_image( $post_thumbnail_id, $size, false, $attr ); do_action( 'end_fetch_post_thumbnail_html', $post_id, $post_thumbnail_id, $size ); } else { diff --git a/wp-includes/post.php b/wp-includes/post.php index 191b42c5d..0cf04d55e 100644 --- a/wp-includes/post.php +++ b/wp-includes/post.php @@ -18,6 +18,9 @@ */ function create_initial_post_types() { register_post_type( 'post', array( + 'labels' => array( + 'name_admin_bar' => _x( 'Post', 'add new on admin bar' ), + ), 'public' => true, '_builtin' => true, /* internal use only. don't use this when registering your own post type. */ '_edit_link' => 'post.php?post=%d', /* internal use only. don't use this when registering your own post type. */ @@ -30,7 +33,11 @@ function create_initial_post_types() { ) ); register_post_type( 'page', array( + 'labels' => array( + 'name_admin_bar' => _x( 'Page', 'add new on admin bar' ), + ), 'public' => true, + 'publicly_queryable' => false, '_builtin' => true, /* internal use only. don't use this when registering your own post type. */ '_edit_link' => 'post.php?post=%d', /* internal use only. don't use this when registering your own post type. */ 'capability_type' => 'page', @@ -55,6 +62,7 @@ function create_initial_post_types() { 'rewrite' => false, 'query_var' => false, 'show_in_nav_menus' => false, + 'supports' => array( 'comments' ), ) ); register_post_type( 'revision', array( @@ -557,12 +565,18 @@ function get_post_status($ID = '') { if ( !is_object($post) ) return false; - // Unattached attachments are assumed to be published. - if ( ('attachment' == $post->post_type) && ('inherit' == $post->post_status) && ( 0 == $post->post_parent) ) - return 'publish'; + if ( 'attachment' == $post->post_type ) { + if ( 'private' == $post->post_status ) + return 'private'; - if ( ('attachment' == $post->post_type) && $post->post_parent && ($post->ID != $post->post_parent) ) - return get_post_status($post->post_parent); + // Unattached attachments are assumed to be published + if ( ( 'inherit' == $post->post_status ) && ( 0 == $post->post_parent) ) + return 'publish'; + + // Inherit status from the parent + if ( $post->post_parent && ( $post->ID != $post->post_parent ) ) + return get_post_status($post->post_parent); + } return $post->post_status; } @@ -620,7 +634,7 @@ function get_page_statuses( ) { * * label - A descriptive name for the post status marked for translation. Defaults to $post_status. * public - Whether posts of this status should be shown in the front end of the site. Defaults to true. - * exclude_from_search - Whether to exclude posts with this post status from search results. Defaults to true. + * exclude_from_search - Whether to exclude posts with this post status from search results. Defaults to false. * show_in_admin_all_list - Whether to include posts in the edit listing for their post type * show_in_admin_status_list - Show in the list of statuses with post counts at the top of the edit * listings, e.g. All (12) | Published (9) | My Custom Status (2) ... @@ -907,7 +921,8 @@ function register_post_type($post_type, $args = array()) { 'public' => false, 'rewrite' => true, 'has_archive' => false, 'query_var' => true, 'supports' => array(), 'register_meta_box_cb' => null, 'taxonomies' => array(), 'show_ui' => null, 'menu_position' => null, 'menu_icon' => null, - 'permalink_epmask' => EP_PERMALINK, 'can_export' => true, 'show_in_nav_menus' => null, 'show_in_menu' => null, + 'permalink_epmask' => EP_PERMALINK, 'can_export' => true, + 'show_in_nav_menus' => null, 'show_in_menu' => null, 'show_in_admin_bar' => null, ); $args = wp_parse_args($args, $defaults); $args = (object) $args; @@ -930,6 +945,10 @@ function register_post_type($post_type, $args = array()) { if ( null === $args->show_in_menu || ! $args->show_ui ) $args->show_in_menu = $args->show_ui; + // If not set, default to the whether the full UI is shown. + if ( null === $args->show_in_admin_bar ) + $args->show_in_admin_bar = true === $args->show_in_menu; + // Whether to show this type in nav-menus.php. Defaults to the setting for public. if ( null === $args->show_in_nav_menus ) $args->show_in_nav_menus = $args->public; @@ -1061,7 +1080,7 @@ function register_post_type($post_type, $args = array()) { * can be deleted. If the post type does not support an author, then this will * behave like delete_posts. * - edit_private_posts - Controls whether private objects can be edited. - * - edit_published_posts - Controls whether published objects can be deleted. + * - edit_published_posts - Controls whether published objects can be edited. * * These additional capabilities are only used in map_meta_cap(). Thus, they are * only assigned by default if the post type is registered with the 'map_meta_cap' @@ -1166,6 +1185,7 @@ function get_post_type_labels( $post_type_object ) { 'not_found' => array( __('No posts found.'), __('No pages found.') ), 'not_found_in_trash' => array( __('No posts found in Trash.'), __('No pages found in Trash.') ), 'parent_item_colon' => array( null, __('Parent Page:') ), + 'all_items' => array( __( 'All Posts' ), __( 'All Pages' ) ) ); $nohier_vs_hier_defaults['menu_name'] = $nohier_vs_hier_defaults['name']; return _get_custom_object_labels( $post_type_object, $nohier_vs_hier_defaults ); @@ -1185,9 +1205,15 @@ function _get_custom_object_labels( $object, $nohier_vs_hier_defaults ) { if ( !isset( $object->labels['singular_name'] ) && isset( $object->labels['name'] ) ) $object->labels['singular_name'] = $object->labels['name']; + if ( ! isset( $object->labels['name_admin_bar'] ) ) + $object->labels['name_admin_bar'] = isset( $object->labels['singular_name'] ) ? $object->labels['singular_name'] : $object->name; + if ( !isset( $object->labels['menu_name'] ) && isset( $object->labels['name'] ) ) $object->labels['menu_name'] = $object->labels['name']; + if ( !isset( $object->labels['all_items'] ) && isset( $object->labels['menu_name'] ) ) + $object->labels['all_items'] = $object->labels['menu_name']; + foreach ( $nohier_vs_hier_defaults as $key => $value ) $defaults[$key] = $object->hierarchical ? $value[1] : $value[0]; @@ -1207,7 +1233,7 @@ function _add_post_type_submenus() { // Submenus only. if ( ! $ptype_obj->show_in_menu || $ptype_obj->show_in_menu === true ) continue; - add_submenu_page( $ptype_obj->show_in_menu, $ptype_obj->labels->name, $ptype_obj->labels->menu_name, $ptype_obj->cap->edit_posts, "edit.php?post_type=$ptype" ); + add_submenu_page( $ptype_obj->show_in_menu, $ptype_obj->labels->name, $ptype_obj->labels->all_items, $ptype_obj->cap->edit_posts, "edit.php?post_type=$ptype" ); } } add_action( 'admin_menu', '_add_post_type_submenus' ); @@ -1323,7 +1349,7 @@ function set_post_type( $post_id = 0, $post_type = 'post' ) { * 'meta_value' - See {@link WP_Query::query()} for more. * 'post_type' - Default is 'post'. Can be 'page', or 'attachment' to name a few. * 'post_parent' - The parent of the post or post type. - * 'post_status' - Default is 'published'. Post status to retrieve. + * 'post_status' - Default is 'publish'. Post status to retrieve. * * @since 1.2.0 * @uses $wpdb @@ -1372,7 +1398,7 @@ function get_posts($args = null) { /** * Add meta data field to a post. * - * Post meta data is called "Custom Fields" on the Administration Panels. + * Post meta data is called "Custom Fields" on the Administration Screen. * * @since 1.5.0 * @uses $wpdb @@ -1957,7 +1983,7 @@ function wp_delete_post( $postid = 0, $force_delete = false ) { if ( $post->post_type == 'attachment' ) return wp_delete_attachment( $postid, $force_delete ); - do_action('delete_post', $postid); + do_action('before_delete_post', $postid); delete_post_meta($postid,'_wp_trash_meta_status'); delete_post_meta($postid,'_wp_trash_meta_time'); @@ -2029,7 +2055,7 @@ function wp_delete_post( $postid = 0, $force_delete = false ) { wp_clear_scheduled_hook('publish_future_post', array( $postid ) ); - do_action('deleted_post', $postid); + do_action('after_delete_post', $postid); return $post; } @@ -2404,6 +2430,9 @@ function wp_insert_post($postarr, $wp_error = false) { 'post_content' => '', 'post_title' => ''); $postarr = wp_parse_args($postarr, $defaults); + + unset( $postarr[ 'filter' ] ); + $postarr = sanitize_post($postarr, 'db'); // export array as variables @@ -2455,7 +2484,7 @@ function wp_insert_post($postarr, $wp_error = false) { $post_before = get_post($post_ID); } - // Don't allow contributors to set to set the post slug for pending review posts + // Don't allow contributors to set the post slug for pending review posts if ( 'pending' == $post_status && !current_user_can( 'publish_posts' ) ) $post_name = ''; @@ -3318,7 +3347,9 @@ function &get_pages($args = '') { return false; // Make sure we have a valid post status - if ( !in_array($post_status, get_post_stati()) ) + if ( !is_array( $post_status ) ) + $post_status = explode( ',', $post_status ); + if ( array_diff( $post_status, get_post_stati() ) ) return false; $cache = array(); @@ -3413,7 +3444,49 @@ function &get_pages($args = '') { if ( $parent >= 0 ) $where .= $wpdb->prepare(' AND post_parent = %d ', $parent); - $where_post_type = $wpdb->prepare( "post_type = '%s' AND post_status = '%s'", $post_type, $post_status ); + if ( 1 == count( $post_status ) ) { + $where_post_type = $wpdb->prepare( "post_type = %s AND post_status = %s", $post_type, array_shift( $post_status ) ); + } else { + $post_status = implode( "', '", $post_status ); + $where_post_type = $wpdb->prepare( "post_type = %s AND post_status IN ('$post_status')", $post_type ); + } + + $orderby_array = array(); + $allowed_keys = array('author', 'post_author', 'date', 'post_date', 'title', 'post_title', 'modified', + 'post_modified', 'modified_gmt', 'post_modified_gmt', 'menu_order', 'parent', 'post_parent', + 'ID', 'rand', 'comment_count'); + foreach ( explode( ',', $sort_column ) as $orderby ) { + $orderby = trim( $orderby ); + if ( !in_array( $orderby, $allowed_keys ) ) + continue; + + switch ( $orderby ) { + case 'menu_order': + break; + case 'ID': + $orderby = "$wpdb->posts.ID"; + break; + case 'rand': + $orderby = 'RAND()'; + break; + case 'comment_count': + $orderby = "$wpdb->posts.comment_count"; + break; + default: + if ( 0 === strpos( $orderby, 'post_' ) ) + $orderby = "$wpdb->posts." . $orderby; + else + $orderby = "$wpdb->posts.post_" . $orderby; + } + + $orderby_array[] = $orderby; + + } + $sort_column = ! empty( $orderby_array ) ? implode( ',', $orderby_array ) : "$wpdb->posts.post_title"; + + $sort_order = strtoupper( $sort_order ); + if ( '' !== $sort_order && !in_array( $sort_order, array( 'ASC', 'DESC' ) ) ) + $sort_order = 'ASC'; $query = "SELECT * FROM $wpdb->posts $join WHERE ($where_post_type) $where "; $query .= $author_query; @@ -3532,15 +3605,17 @@ function is_local_attachment($url) { function wp_insert_attachment($object, $file = false, $parent = 0) { global $wpdb, $user_ID; - $defaults = array('post_status' => 'draft', 'post_type' => 'post', 'post_author' => $user_ID, + $defaults = array('post_status' => 'inherit', 'post_type' => 'post', 'post_author' => $user_ID, 'ping_status' => get_option('default_ping_status'), 'post_parent' => 0, 'menu_order' => 0, 'to_ping' => '', 'pinged' => '', 'post_password' => '', - 'guid' => '', 'post_content_filtered' => '', 'post_excerpt' => '', 'import_id' => 0); + 'guid' => '', 'post_content_filtered' => '', 'post_excerpt' => '', 'import_id' => 0, 'context' => ''); $object = wp_parse_args($object, $defaults); if ( !empty($parent) ) $object['post_parent'] = $parent; + unset( $object[ 'filter' ] ); + $object = sanitize_post($object, 'db'); // export array as variables @@ -3550,7 +3625,9 @@ function wp_insert_attachment($object, $file = false, $parent = 0) { $post_author = $user_ID; $post_type = 'attachment'; - $post_status = 'inherit'; + + if ( ! in_array( $post_status, array( 'inherit', 'private' ) ) ) + $post_status = 'inherit'; // Make sure we set a valid category. if ( !isset($post_category) || 0 == count($post_category) || !is_array($post_category) ) { @@ -3653,6 +3730,9 @@ function wp_insert_attachment($object, $file = false, $parent = 0) { if ( isset($post_parent) && $post_parent < 0 ) add_post_meta($post_ID, '_wp_attachment_temp_parent', $post_parent, true); + if ( ! empty( $context ) ) + add_post_meta( $post_ID, '_wp_attachment_context', $context, true ); + if ( $update) { do_action('edit_attachment', $post_ID); } else { @@ -4047,63 +4127,49 @@ function wp_check_for_changed_slugs($post_id, $post, $post_before) { * Retrieve the private post SQL based on capability. * * This function provides a standardized way to appropriately select on the - * post_status of posts/pages. The function will return a piece of SQL code that - * can be added to a WHERE clause; this SQL is constructed to allow all + * post_status of a post type. The function will return a piece of SQL code + * that can be added to a WHERE clause; this SQL is constructed to allow all * published posts, and all private posts to which the user has access. * - * It also allows plugins that define their own post type to control the cap by - * using the hook 'pub_priv_sql_capability'. The plugin is expected to return - * the capability the user must have to read the private post type. - * * @since 2.2.0 * * @uses $user_ID - * @uses apply_filters() Call 'pub_priv_sql_capability' filter for plugins with different post types. * * @param string $post_type currently only supports 'post' or 'page'. * @return string SQL code that can be added to a where clause. */ -function get_private_posts_cap_sql($post_type) { - return get_posts_by_author_sql($post_type, FALSE); +function get_private_posts_cap_sql( $post_type ) { + return get_posts_by_author_sql( $post_type, false ); } /** * Retrieve the post SQL based on capability, author, and type. * - * See above for full description. + * @see get_private_posts_cap_sql() for full description. * * @since 3.0.0 - * @param string $post_type currently only supports 'post' or 'page'. + * @param string $post_type Post type. * @param bool $full Optional. Returns a full WHERE statement instead of just an 'andalso' term. * @param int $post_author Optional. Query posts having a single author ID. * @return string SQL WHERE code that can be added to a query. */ -function get_posts_by_author_sql($post_type, $full = TRUE, $post_author = NULL) { +function get_posts_by_author_sql( $post_type, $full = true, $post_author = null ) { global $user_ID, $wpdb; // Private posts - if ($post_type == 'post') { - $cap = 'read_private_posts'; - // Private pages - } elseif ($post_type == 'page') { - $cap = 'read_private_pages'; - // Dunno what it is, maybe plugins have their own post type? - } else { - $cap = ''; - $cap = apply_filters('pub_priv_sql_capability', $cap); + $post_type_obj = get_post_type_object( $post_type ); + if ( ! $post_type_obj ) + return ' 1 = 0 '; - if (empty($cap)) { - // We don't know what it is, filters don't change anything, - // so set the SQL up to return nothing. - return ' 1 = 0 '; - } - } + // This hook is deprecated. Why you'd want to use it, I dunno. + if ( ! $cap = apply_filters( 'pub_priv_sql_capability', '' ) ) + $cap = $post_type_obj->cap->read_private_posts; - if ($full) { - if (is_null($post_author)) { - $sql = $wpdb->prepare('WHERE post_type = %s AND ', $post_type); + if ( $full ) { + if ( null === $post_author ) { + $sql = $wpdb->prepare( 'WHERE post_type = %s AND ', $post_type ); } else { - $sql = $wpdb->prepare('WHERE post_author = %d AND post_type = %s AND ', $post_author, $post_type); + $sql = $wpdb->prepare( 'WHERE post_author = %d AND post_type = %s AND ', $post_author, $post_type ); } } else { $sql = ''; @@ -4111,15 +4177,15 @@ function get_posts_by_author_sql($post_type, $full = TRUE, $post_author = NULL) $sql .= "(post_status = 'publish'"; - if (current_user_can($cap)) { + if ( current_user_can( $cap ) ) { // Does the user have the capability to view private posts? Guess so. $sql .= " OR post_status = 'private'"; - } elseif (is_user_logged_in()) { + } elseif ( is_user_logged_in() ) { // Users can view their own private posts. $id = (int) $user_ID; - if (is_null($post_author) || !$full) { + if ( null === $post_author || ! $full ) { $sql .= " OR post_status = 'private' AND post_author = $id"; - } elseif ($id == (int)$post_author) { + } elseif ( $id == (int) $post_author ) { $sql .= " OR post_status = 'private'"; } // else none } // else none @@ -4195,7 +4261,7 @@ function _get_last_post_time( $timezone, $field ) { if ( !$date ) { $add_seconds_server = date('Z'); - $post_types = get_post_types( array( 'publicly_queryable' => true ) ); + $post_types = get_post_types( array( 'public' => true ) ); array_walk( $post_types, array( &$wpdb, 'escape_by_ref' ) ); $post_types = "'" . implode( "', '", $post_types ) . "'"; @@ -5081,20 +5147,8 @@ function get_post_format_strings() { * @return array The array of post format slugs. */ function get_post_format_slugs() { - // 3.2-early: use array_combine() and array_keys( get_post_format_strings() ) - $slugs = array( - 'standard' => 'standard', // Special case. any value that evals to false will be considered standard - 'aside' => 'aside', - 'chat' => 'chat', - 'gallery' => 'gallery', - 'link' => 'link', - 'image' => 'image', - 'quote' => 'quote', - 'status' => 'status', - 'video' => 'video', - 'audio' => 'audio', - ); - return $slugs; + $slugs = array_keys( get_post_format_strings() ); + return array_combine( $slugs, $slugs ); } /** diff --git a/wp-includes/query.php b/wp-includes/query.php index ed08ebc45..d70348cd8 100644 --- a/wp-includes/query.php +++ b/wp-includes/query.php @@ -848,6 +848,15 @@ class WP_Query { */ var $tax_query; + /** + * Metadata query container + * + * @since 3.2.0 + * @access public + * @var object WP_Meta_Query + */ + var $meta_query = false; + /** * Holds the data for a single object that is queried. * @@ -1248,6 +1257,15 @@ class WP_Query { */ var $query_vars_changed = true; + /** + * Set if post thumbnails are cached + * + * @since 3.2.0 + * @access public + * @var bool + */ + var $thumbnails_cached = false; + /** * Resets query flags to false. * @@ -1525,8 +1543,6 @@ class WP_Query { } unset( $tax_query ); - _parse_meta_query( $qv ); - if ( empty($qv['author']) || ($qv['author'] == '0') ) { $this->is_author = false; } else { @@ -1625,8 +1641,12 @@ class WP_Query { $qv['post_type'] = sanitize_key($qv['post_type']); } - if ( !empty($qv['post_status']) ) - $qv['post_status'] = preg_replace('|[^a-z0-9_,-]|', '', $qv['post_status']); + if ( ! empty( $qv['post_status'] ) ) { + if ( is_array( $qv['post_status'] ) ) + $qv['post_status'] = array_map('sanitize_key', $qv['post_status']); + else + $qv['post_status'] = preg_replace('|[^a-z0-9_,-]|', '', $qv['post_status']); + } if ( $this->is_posts_page && ( ! isset($qv['withcomments']) || ! $qv['withcomments'] ) ) $this->is_comment_feed = false; @@ -1896,6 +1916,10 @@ class WP_Query { // Fill again in case pre_get_posts unset some vars. $q = $this->fill_query_vars($q); + // Parse meta query + $this->meta_query = new WP_Meta_Query(); + $this->meta_query->parse_query_vars( $q ); + // Set a flag if a pre_get_posts hook changed the query vars. $hash = md5( serialize( $this->query_vars ) ); if ( $hash != $this->query_vars_hash ) { @@ -2155,9 +2179,6 @@ class WP_Query { $search .= "{$searchand}(($wpdb->posts.post_title LIKE '{$n}{$term}{$n}') OR ($wpdb->posts.post_content LIKE '{$n}{$term}{$n}'))"; $searchand = ' AND '; } - $term = esc_sql( like_escape( $q['s'] ) ); - if ( empty($q['sentence']) && count($q['search_terms']) > 1 && $q['search_terms'][0] != $q['s'] ) - $search .= " OR ($wpdb->posts.post_title LIKE '{$n}{$term}{$n}') OR ($wpdb->posts.post_content LIKE '{$n}{$term}{$n}')"; if ( !empty($search) ) { $search = " AND ({$search}) "; @@ -2231,7 +2252,7 @@ class WP_Query { } } - if ( !empty( $this->tax_query->queries ) || !empty( $q['meta_key'] ) ) { + if ( !empty( $this->tax_query->queries ) || !empty( $this->meta_query->queries ) ) { $groupby = "{$wpdb->posts}.ID"; } @@ -2291,9 +2312,9 @@ class WP_Query { // Order by if ( empty($q['orderby']) ) { - $q['orderby'] = "$wpdb->posts.post_date " . $q['order']; + $orderby = "$wpdb->posts.post_date " . $q['order']; } elseif ( 'none' == $q['orderby'] ) { - $q['orderby'] = ''; + $orderby = ''; } else { // Used to filter values $allowed_keys = array('author', 'date', 'title', 'modified', 'menu_order', 'parent', 'ID', 'rand', 'comment_count'); @@ -2304,10 +2325,9 @@ class WP_Query { } $q['orderby'] = urldecode($q['orderby']); $q['orderby'] = addslashes_gpc($q['orderby']); - $orderby_array = explode(' ', $q['orderby']); - $q['orderby'] = ''; - foreach ( $orderby_array as $i => $orderby ) { + $orderby_array = array(); + foreach ( explode( ' ', $q['orderby'] ) as $i => $orderby ) { // Only allow certain values for safety if ( ! in_array($orderby, $allowed_keys) ) continue; @@ -2335,15 +2355,14 @@ class WP_Query { $orderby = "$wpdb->posts.post_" . $orderby; } - $q['orderby'] .= (($i == 0) ? '' : ',') . $orderby; + $orderby_array[] = $orderby; } + $orderby = implode( ',', $orderby_array ); - // append ASC or DESC at the end - if ( !empty($q['orderby'])) - $q['orderby'] .= " {$q['order']}"; - - if ( empty($q['orderby']) ) - $q['orderby'] = "$wpdb->posts.post_date ".$q['order']; + if ( empty( $orderby ) ) + $orderby = "$wpdb->posts.post_date ".$q['order']; + else + $orderby .= " {$q['order']}"; } if ( is_array( $post_type ) ) { @@ -2389,13 +2408,15 @@ class WP_Query { $read_private_cap = 'read_private_' . $post_type_cap . 's'; } - if ( isset($q['post_status']) && '' != $q['post_status'] ) { + if ( ! empty( $q['post_status'] ) ) { $statuswheres = array(); - $q_status = explode(',', $q['post_status']); + $q_status = $q['post_status']; + if ( ! is_array( $q_status ) ) + $q_status = explode(',', $q_status); $r_status = array(); $p_status = array(); $e_status = array(); - if ( $q['post_status'] == 'any' ) { + if ( in_array('any', $q_status) ) { foreach ( get_post_stati( array('exclude_from_search' => true) ) as $status ) $e_status[] = "$wpdb->posts.post_status <> '$status'"; } else { @@ -2464,18 +2485,8 @@ class WP_Query { $where .= ')'; } - // Parse the meta query again if query vars have changed. - if ( $this->query_vars_changed ) { - $meta_query_hash = md5( serialize( $q['meta_query'] ) ); - $_meta_query = $q['meta_query']; - unset( $q['meta_query'] ); - _parse_meta_query( $q ); - if ( md5( serialize( $q['meta_query'] ) ) != $meta_query_hash && is_array( $_meta_query ) ) - $q['meta_query'] = array_merge( $_meta_query, $q['meta_query'] ); - } - - if ( !empty( $q['meta_query'] ) ) { - $clauses = call_user_func_array( '_get_meta_sql', array( $q['meta_query'], 'post', $wpdb->posts, 'ID', &$this) ); + if ( !empty( $this->meta_query->queries ) ) { + $clauses = $this->meta_query->get_sql( 'post', $wpdb->posts, 'ID', $this ); $join .= $clauses['join']; $where .= $clauses['where']; } @@ -2542,8 +2553,6 @@ class WP_Query { $where = "AND 0"; } - $orderby = $q['orderby']; - $pieces = array( 'where', 'groupby', 'join', 'orderby', 'distinct', 'fields', 'limits' ); // Apply post-paging filters on where and join. Only plugins that @@ -2967,7 +2976,7 @@ class WP_Query { } /** - * PHP4 type constructor. + * Constructor. * * Sets up the WordPress query, if parameter is not empty. * @@ -2977,7 +2986,7 @@ class WP_Query { * @param string $query URL query string. * @return WP_Query */ - function WP_Query($query = '') { + function __construct($query = '') { if ( ! empty($query) ) { $this->query($query); } @@ -3484,6 +3493,12 @@ function wp_old_slug_redirect() { else $post_type = 'post'; + if ( is_array( $post_type ) ) { + if ( count( $post_type ) > 1 ) + return; + $post_type = array_shift( $post_type ); + } + // Do not attempt redirect for hierarchical post types if ( is_post_type_hierarchical( $post_type ) ) return; @@ -3509,7 +3524,7 @@ function wp_old_slug_redirect() { if ( !$link ) return; - wp_redirect($link, '301'); // Permanent redirect + wp_redirect( $link, 301 ); // Permanent redirect exit; endif; } diff --git a/wp-includes/rewrite.php b/wp-includes/rewrite.php index 92d372e38..46c1b3219 100644 --- a/wp-includes/rewrite.php +++ b/wp-includes/rewrite.php @@ -767,7 +767,7 @@ class WP_Rewrite { global $wpdb; //get pages in order of hierarchy, i.e. children after parents - $posts = get_page_hierarchy($wpdb->get_results("SELECT ID, post_name, post_parent FROM $wpdb->posts WHERE post_type = 'page'")); + $posts = get_page_hierarchy( $wpdb->get_results("SELECT ID, post_name, post_parent FROM $wpdb->posts WHERE post_type = 'page' AND post_status != 'auto-draft'") ); // If we have no pages get out quick if ( !$posts ) @@ -1976,14 +1976,14 @@ class WP_Rewrite { } /** - * PHP4 Constructor - Calls init(), which runs setup. + * Constructor - Calls init(), which runs setup. * * @since 1.5.0 * @access public * * @return WP_Rewrite */ - function WP_Rewrite() { + function __construct() { $this->init(); } } diff --git a/wp-includes/rss.php b/wp-includes/rss.php index f23730d0e..88bfa62dc 100644 --- a/wp-includes/rss.php +++ b/wp-includes/rss.php @@ -555,7 +555,7 @@ function _fetch_remote_file($url, $headers = "" ) { // Snoopy returns headers unprocessed. // Also note, WP_HTTP lowercases all keys, Snoopy did not. $return_headers = array(); - foreach ( $resp['headers'] as $key => $value ) { + foreach ( wp_remote_retrieve_headers( $resp ) as $key => $value ) { if ( !is_array($value) ) { $return_headers[] = "$key: $value"; } else { @@ -565,10 +565,10 @@ function _fetch_remote_file($url, $headers = "" ) { } $response = new stdClass; - $response->status = $resp['response']['code']; - $response->response_code = $resp['response']['code']; + $response->status = wp_remote_retrieve_response_code( $resp ); + $response->response_code = wp_remote_retrieve_response_code( $resp ); $response->headers = $return_headers; - $response->results = $resp['body']; + $response->results = wp_remote_retrieve_body( $resp ); return $response; } diff --git a/wp-includes/script-loader.php b/wp-includes/script-loader.php index 87c4393ca..111123767 100644 --- a/wp-includes/script-loader.php +++ b/wp-includes/script-loader.php @@ -37,7 +37,7 @@ require( ABSPATH . WPINC . '/class.wp-styles.php' ); require( ABSPATH . WPINC . '/functions.wp-styles.php' ); /** - * Set up WordPress scripts to load by default for Administration Panels. + * Set up WordPress scripts to load by default for Administration Screen. * * Localizes a few of the scripts. * $scripts->add_data( 'script-handle', 'group', 1 ); queues the script for the footer @@ -64,7 +64,7 @@ function wp_default_scripts( &$scripts ) { $scripts->add( 'utils', "/wp-admin/js/utils$suffix.js", false, '20101110' ); - $scripts->add( 'common', "/wp-admin/js/common$suffix.js", array('jquery', 'hoverIntent', 'utils'), '20101211' ); + $scripts->add( 'common', "/wp-admin/js/common$suffix.js", array('jquery', 'hoverIntent', 'utils'), '20110610' ); $scripts->add_data( 'common', 'group', 1 ); $scripts->localize( 'common', 'commonL10n', array( 'warnDelete' => __("You are about to permanently delete the selected items.\n 'Cancel' to stop, 'OK' to delete."), @@ -74,7 +74,7 @@ function wp_default_scripts( &$scripts ) { $scripts->add( 'sack', "/wp-includes/js/tw-sack$suffix.js", false, '1.6.1' ); $scripts->add_data( 'sack', 'group', 1 ); - $scripts->add( 'quicktags', "/wp-includes/js/quicktags$suffix.js", false, '20090307' ); + $scripts->add( 'quicktags', "/wp-includes/js/quicktags$suffix.js", false, '20110502' ); $scripts->add_data( 'quicktags', 'group', 1 ); $scripts->localize( 'quicktags', 'quicktagsL10n', array( 'quickLinks' => __('(Quick Links)'), @@ -86,12 +86,18 @@ function wp_default_scripts( &$scripts ) { 'enterURL' => __('Enter the URL'), 'enterImageURL' => __('Enter the URL of the image'), 'enterImageDescription' => __('Enter a description of the image'), + 'fullscreen' => __('fullscreen'), + 'toggleFullscreen' => esc_attr( __('Toggle fullscreen mode') ), 'l10n_print_after' => 'try{convertEntities(quicktagsL10n);}catch(e){};' ) ); $scripts->add( 'colorpicker', "/wp-includes/js/colorpicker$suffix.js", array('prototype'), '3517m' ); - $scripts->add( 'editor', "/wp-admin/js/editor$suffix.js", array('utils','jquery'), '20091124' ); + $scripts->add( 'editor', "/wp-admin/js/editor$suffix.js", array('utils','jquery'), '20110411' ); + $scripts->add_data( 'editor', 'group', 1 ); + + $scripts->add( 'wp-fullscreen', "/wp-admin/js/wp-fullscreen$suffix.js", array('jquery'), '20110704' ); + $scripts->add_data( 'wp-fullscreen', 'group', 1 ); $scripts->add( 'prototype', '/wp-includes/js/prototype.js', false, '1.6.1'); @@ -103,10 +109,10 @@ function wp_default_scripts( &$scripts ) { 'l10n_print_after' => 'try{convertEntities(wpAjax);}catch(e){};' ) ); - $scripts->add( 'autosave', "/wp-includes/js/autosave$suffix.js", array('schedule', 'wp-ajax-response'), '20101004' ); + $scripts->add( 'autosave', "/wp-includes/js/autosave$suffix.js", array('schedule', 'wp-ajax-response'), '20110524' ); $scripts->add_data( 'autosave', 'group', 1 ); - $scripts->add( 'wp-lists', "/wp-includes/js/wp-lists$suffix.js", array('wp-ajax-response'), '20101222' ); + $scripts->add( 'wp-lists', "/wp-includes/js/wp-lists$suffix.js", array('wp-ajax-response'), '20110521' ); $scripts->add_data( 'wp-lists', 'group', 1 ); $scripts->add( 'scriptaculous-root', '/wp-includes/js/scriptaculous/wp-scriptaculous.js', array('prototype'), '1.8.3'); @@ -121,46 +127,46 @@ function wp_default_scripts( &$scripts ) { // not used in core, replaced by Jcrop.js $scripts->add( 'cropper', '/wp-includes/js/crop/cropper.js', array('scriptaculous-dragdrop'), '20070118'); - $scripts->add( 'jquery', '/wp-includes/js/jquery/jquery.js', false, '1.4.4'); + $scripts->add( 'jquery', '/wp-includes/js/jquery/jquery.js', false, '1.6.1'); - $scripts->add( 'jquery-ui-core', '/wp-includes/js/jquery/ui.core.js', array('jquery'), '1.8.9' ); + $scripts->add( 'jquery-ui-core', '/wp-includes/js/jquery/ui.core.js', array('jquery'), '1.8.12' ); $scripts->add_data( 'jquery-ui-core', 'group', 1 ); - $scripts->add( 'jquery-ui-position', '/wp-includes/js/jquery/ui.position.js', array('jquery'), '1.8.9' ); + $scripts->add( 'jquery-ui-position', '/wp-includes/js/jquery/ui.position.js', array('jquery-ui-core'), '1.8.12' ); $scripts->add_data( 'jquery-ui-position', 'group', 1 ); - $scripts->add( 'jquery-ui-widget', '/wp-includes/js/jquery/ui.widget.js', array('jquery'), '1.8.9' ); + $scripts->add( 'jquery-ui-widget', '/wp-includes/js/jquery/ui.widget.js', array('jquery-ui-core'), '1.8.12' ); $scripts->add_data( 'jquery-ui-widget', 'group', 1 ); - $scripts->add( 'jquery-ui-mouse', '/wp-includes/js/jquery/ui.mouse.js', array('jquery', 'jquery-ui-widget'), '1.8.9' ); + $scripts->add( 'jquery-ui-mouse', '/wp-includes/js/jquery/ui.mouse.js', array('jquery-ui-widget'), '1.8.12' ); $scripts->add_data( 'jquery-ui-mouse', 'group', 1 ); - $scripts->add( 'jquery-ui-button', '/wp-includes/js/jquery/ui.button.js', array('jquery-ui-core', 'jquery-ui-widget'), '1.8.9' ); + $scripts->add( 'jquery-ui-button', '/wp-includes/js/jquery/ui.button.js', array('jquery-ui-core', 'jquery-ui-widget'), '1.8.12' ); $scripts->add_data( 'jquery-ui-button', 'group', 1 ); - $scripts->add( 'jquery-ui-tabs', '/wp-includes/js/jquery/ui.tabs.js', array('jquery-ui-core', 'jquery-ui-widget'), '1.8.9' ); + $scripts->add( 'jquery-ui-tabs', '/wp-includes/js/jquery/ui.tabs.js', array('jquery-ui-core', 'jquery-ui-widget'), '1.8.12' ); $scripts->add_data( 'jquery-ui-tabs', 'group', 1 ); - $scripts->add( 'jquery-ui-sortable', '/wp-includes/js/jquery/ui.sortable.js', array('jquery-ui-core', 'jquery-ui-mouse'), '1.8.9' ); + $scripts->add( 'jquery-ui-sortable', '/wp-includes/js/jquery/ui.sortable.js', array('jquery-ui-core', 'jquery-ui-mouse'), '1.8.12' ); $scripts->add_data( 'jquery-ui-sortable', 'group', 1 ); - $scripts->add( 'jquery-ui-draggable', '/wp-includes/js/jquery/ui.draggable.js', array('jquery-ui-core', 'jquery-ui-mouse'), '1.8.9' ); + $scripts->add( 'jquery-ui-draggable', '/wp-includes/js/jquery/ui.draggable.js', array('jquery-ui-core', 'jquery-ui-mouse'), '1.8.12' ); $scripts->add_data( 'jquery-ui-draggable', 'group', 1 ); - $scripts->add( 'jquery-ui-droppable', '/wp-includes/js/jquery/ui.droppable.js', array('jquery-ui-core', 'jquery-ui-mouse', 'jquery-ui-draggable'), '1.8.9' ); + $scripts->add( 'jquery-ui-droppable', '/wp-includes/js/jquery/ui.droppable.js', array('jquery-ui-core', 'jquery-ui-mouse', 'jquery-ui-draggable'), '1.8.12' ); $scripts->add_data( 'jquery-ui-droppable', 'group', 1 ); - $scripts->add( 'jquery-ui-selectable', '/wp-includes/js/jquery/ui.selectable.js', array('jquery-ui-core', 'jquery-ui-mouse'), '1.8.9' ); + $scripts->add( 'jquery-ui-selectable', '/wp-includes/js/jquery/ui.selectable.js', array('jquery-ui-core', 'jquery-ui-mouse'), '1.8.12' ); $scripts->add_data( 'jquery-ui-selectable', 'group', 1 ); - $scripts->add( 'jquery-ui-resizable', '/wp-includes/js/jquery/ui.resizable.js', array('jquery-ui-core', 'jquery-ui-mouse'), '1.8.9' ); + $scripts->add( 'jquery-ui-resizable', '/wp-includes/js/jquery/ui.resizable.js', array('jquery-ui-core', 'jquery-ui-mouse'), '1.8.12' ); $scripts->add_data( 'jquery-ui-resizable', 'group', 1 ); - $scripts->add( 'jquery-ui-dialog', '/wp-includes/js/jquery/ui.dialog.js', array('jquery-ui-resizable', 'jquery-ui-draggable', 'jquery-ui-button', 'jquery-ui-position'), '1.8.9' ); + $scripts->add( 'jquery-ui-dialog', '/wp-includes/js/jquery/ui.dialog.js', array('jquery-ui-resizable', 'jquery-ui-draggable', 'jquery-ui-button', 'jquery-ui-position'), '1.8.12' ); $scripts->add_data( 'jquery-ui-dialog', 'group', 1 ); // deprecated, not used in core, most functionality is included in jQuery 1.3 - $scripts->add( 'jquery-form', "/wp-includes/js/jquery/jquery.form$suffix.js", array('jquery'), '2.02m'); + $scripts->add( 'jquery-form', "/wp-includes/js/jquery/jquery.form$suffix.js", array('jquery'), '2.73'); $scripts->add_data( 'jquery-form', 'group', 1 ); $scripts->add( 'jquery-color', "/wp-includes/js/jquery/jquery.color$suffix.js", array('jquery'), '2.0-4561m'); @@ -184,7 +190,7 @@ function wp_default_scripts( &$scripts ) { $scripts->add( 'jquery-table-hotkeys', "/wp-includes/js/jquery/jquery.table-hotkeys$suffix.js", array('jquery', 'jquery-hotkeys'), '20090102' ); $scripts->add_data( 'jquery-table-hotkeys', 'group', 1 ); - $scripts->add( 'thickbox', "/wp-includes/js/thickbox/thickbox.js", array('jquery'), '3.1-20100407'); + $scripts->add( 'thickbox', "/wp-includes/js/thickbox/thickbox.js", array('jquery'), '3.1-20110528'); $scripts->add_data( 'thickbox', 'group', 1 ); $scripts->localize( 'thickbox', 'thickboxL10n', array( 'next' => __('Next >'), @@ -193,16 +199,17 @@ function wp_default_scripts( &$scripts ) { 'of' => __('of'), 'close' => __('Close'), 'noiframes' => __('This feature requires inline frames. You have iframes disabled or your browser does not support them.'), + 'loadingAnimation' => includes_url('js/thickbox/loadingAnimation.gif'), + 'closeImage' => includes_url('js/thickbox/tb-close.png'), 'l10n_print_after' => 'try{convertEntities(thickboxL10n);}catch(e){};' ) ); - $scripts->add( 'jcrop', "/wp-includes/js/jcrop/jquery.Jcrop$suffix.js", array('jquery'), '0.9.8-20110113'); $scripts->add( 'swfobject', "/wp-includes/js/swfobject.js", false, '2.2'); $scripts->add( 'swfupload', '/wp-includes/js/swfupload/swfupload.js', false, '2201-20110113'); - $scripts->add( 'swfupload-swfobject', '/wp-includes/js/swfupload/plugins/swfupload.swfobject.js', array('swfupload', 'swfobject'), '2201'); + $scripts->add( 'swfupload-swfobject', '/wp-includes/js/swfupload/plugins/swfupload.swfobject.js', array('swfupload', 'swfobject'), '2201a'); $scripts->add( 'swfupload-queue', '/wp-includes/js/swfupload/plugins/swfupload.queue.js', array('swfupload'), '2201'); $scripts->add( 'swfupload-speed', '/wp-includes/js/swfupload/plugins/swfupload.speed.js', array('swfupload'), '2201'); @@ -210,10 +217,10 @@ function wp_default_scripts( &$scripts ) { // queue all SWFUpload scripts that are used by default $scripts->add( 'swfupload-all', false, array('swfupload', 'swfupload-swfobject', 'swfupload-queue'), '2201'); } else { - $scripts->add( 'swfupload-all', '/wp-includes/js/swfupload/swfupload-all.js', array(), '2201'); + $scripts->add( 'swfupload-all', '/wp-includes/js/swfupload/swfupload-all.js', array(), '2201a'); } - $scripts->add( 'swfupload-handlers', "/wp-includes/js/swfupload/handlers$suffix.js", array('swfupload-all', 'jquery'), '2201-20100523'); + $scripts->add( 'swfupload-handlers', "/wp-includes/js/swfupload/handlers$suffix.js", array('swfupload-all', 'jquery'), '2201-20110524'); $max_upload_size = ( (int) ( $max_up = @ini_get('upload_max_filesize') ) < (int) ( $max_post = @ini_get('post_max_size') ) ) ? $max_up : $max_post; if ( empty($max_upload_size) ) $max_upload_size = __('not configured'); @@ -241,9 +248,9 @@ function wp_default_scripts( &$scripts ) { $scripts->add( 'comment-reply', "/wp-includes/js/comment-reply$suffix.js", false, '20090102'); - $scripts->add( 'json2', "/wp-includes/js/json2$suffix.js", false, '20110113'); + $scripts->add( 'json2', "/wp-includes/js/json2$suffix.js", false, '2011-02-23'); - $scripts->add( 'imgareaselect', "/wp-includes/js/imgareaselect/jquery.imgareaselect$suffix.js", array('jquery'), '0.9.1-20110113' ); + $scripts->add( 'imgareaselect', "/wp-includes/js/imgareaselect/jquery.imgareaselect$suffix.js", array('jquery'), '0.9.6-20110515' ); $scripts->add_data( 'imgareaselect', 'group', 1 ); $scripts->add( 'password-strength-meter', "/wp-admin/js/password-strength-meter$suffix.js", array('jquery'), '20101027' ); @@ -259,14 +266,16 @@ function wp_default_scripts( &$scripts ) { 'l10n_print_after' => 'try{convertEntities(pwsL10n);}catch(e){};' ) ); - $scripts->add( 'user-profile', "/wp-admin/js/user-profile$suffix.js", array( 'jquery', 'password-strength-meter' ), '20110113' ); + $scripts->add( 'user-profile', "/wp-admin/js/user-profile$suffix.js", array( 'jquery', 'password-strength-meter' ), '20110628' ); $scripts->add_data( 'user-profile', 'group', 1 ); $scripts->add( 'admin-bar', "/wp-includes/js/admin-bar$suffix.js", false, '20110131' ); $scripts->add_data( 'admin-bar', 'group', 1 ); - $scripts->add( 'wplink', "/wp-includes/js/tinymce/plugins/wplink/js/wplink$suffix.js", array('jquery'), '20110111' ); + $scripts->add( 'wplink', "/wp-includes/js/tinymce/plugins/wplink/js/wplink$suffix.js", array( 'jquery', 'wpdialogs' ), '20110528' ); + $scripts->add_data( 'wplink', 'group', 1 ); $scripts->localize( 'wplink', 'wpLinkL10n', array( + 'title' => __('Insert/edit link'), 'update' => __('Update'), 'save' => __('Add Link'), 'noTitle' => __('(no title)'), @@ -274,7 +283,11 @@ function wp_default_scripts( &$scripts ) { 'l10n_print_after' => 'try{convertEntities(wpLinkL10n);}catch(e){};', ) ); - $scripts->add( 'wpdialogs-popup', "/wp-includes/js/tinymce/plugins/wpdialogs/js/popup$suffix.js", array( 'jquery-ui-dialog' ), '20101119' ); + $scripts->add( 'wpdialogs', "/wp-includes/js/tinymce/plugins/wpdialogs/js/wpdialog$suffix.js", array( 'jquery-ui-dialog' ), '20110528' ); + $scripts->add_data( 'wpdialogs', 'group', 1 ); + + $scripts->add( 'wpdialogs-popup', "/wp-includes/js/tinymce/plugins/wpdialogs/js/popup$suffix.js", array( 'wpdialogs' ), '20110421' ); + $scripts->add_data( 'wpdialogs-popup', 'group', 1 ); if ( is_admin() ) { $scripts->add( 'ajaxcat', "/wp-admin/js/cat$suffix.js", array( 'wp-lists' ), '20090102' ); @@ -288,7 +301,7 @@ function wp_default_scripts( &$scripts ) { $scripts->add( 'admin-categories', "/wp-admin/js/categories$suffix.js", array('wp-lists'), '20091201' ); $scripts->add_data( 'admin-categories', 'group', 1 ); - $scripts->add( 'admin-tags', "/wp-admin/js/tags$suffix.js", array('jquery', 'wp-ajax-response'), '20101216' ); + $scripts->add( 'admin-tags', "/wp-admin/js/tags$suffix.js", array('jquery', 'wp-ajax-response'), '20110429' ); $scripts->add_data( 'admin-tags', 'group', 1 ); $scripts->localize( 'admin-tags', 'tagsl10n', array( 'noPerm' => __('You do not have permission to do that.'), @@ -296,23 +309,25 @@ function wp_default_scripts( &$scripts ) { 'l10n_print_after' => 'try{convertEntities(tagsl10n);}catch(e){};' )); - $scripts->add( 'admin-custom-fields', "/wp-admin/js/custom-fields$suffix.js", array('wp-lists'), '20090106' ); + $scripts->add( 'admin-custom-fields', "/wp-admin/js/custom-fields$suffix.js", array('wp-lists'), '20110429' ); $scripts->add_data( 'admin-custom-fields', 'group', 1 ); - $scripts->add( 'admin-comments', "/wp-admin/js/edit-comments$suffix.js", array('wp-lists', 'jquery-ui-resizable', 'quicktags', 'jquery-query'), '20110122' ); + $scripts->add( 'admin-comments', "/wp-admin/js/edit-comments$suffix.js", array('wp-lists', 'jquery-ui-resizable', 'quicktags', 'jquery-query'), '20110602' ); $scripts->add_data( 'admin-comments', 'group', 1 ); $scripts->localize( 'admin-comments', 'adminCommentsL10n', array( 'hotkeys_highlight_first' => isset($_GET['hotkeys_highlight_first']), - 'hotkeys_highlight_last' => isset($_GET['hotkeys_highlight_last']) + 'hotkeys_highlight_last' => isset($_GET['hotkeys_highlight_last']), + 'replyApprove' => __( 'Approve and Reply' ), + 'reply' => __( 'Reply' ) ) ); - $scripts->add( 'xfn', "/wp-admin/js/xfn$suffix.js", array('jquery'), '20100403' ); + $scripts->add( 'xfn', "/wp-admin/js/xfn$suffix.js", array('jquery'), '20110524' ); $scripts->add_data( 'xfn', 'group', 1 ); - $scripts->add( 'postbox', "/wp-admin/js/postbox$suffix.js", array('jquery-ui-sortable'), '20091012' ); + $scripts->add( 'postbox', "/wp-admin/js/postbox$suffix.js", array('jquery-ui-sortable'), '20110612' ); $scripts->add_data( 'postbox', 'group', 1 ); - $scripts->add( 'post', "/wp-admin/js/post$suffix.js", array('suggest', 'wp-lists', 'postbox'), '20110203' ); + $scripts->add( 'post', "/wp-admin/js/post$suffix.js", array('suggest', 'wp-lists', 'postbox'), '20110524' ); $scripts->add_data( 'post', 'group', 1 ); $scripts->localize( 'post', 'postL10n', array( 'tagsUsed' => __('Tags used on this post:'), @@ -341,10 +356,10 @@ function wp_default_scripts( &$scripts ) { 'l10n_print_after' => 'try{convertEntities(postL10n);}catch(e){};' ) ); - $scripts->add( 'link', "/wp-admin/js/link$suffix.js", array('wp-lists', 'postbox'), '20090526' ); + $scripts->add( 'link', "/wp-admin/js/link$suffix.js", array('wp-lists', 'postbox'), '20110524' ); $scripts->add_data( 'link', 'group', 1 ); - $scripts->add( 'comment', "/wp-admin/js/comment$suffix.js", array('jquery'), '20091202' ); + $scripts->add( 'comment', "/wp-admin/js/comment$suffix.js", array('jquery'), '20110429' ); $scripts->add_data( 'comment', 'group', 1 ); $scripts->localize( 'comment', 'commentL10n', array( 'cancel' => __('Cancel'), @@ -353,20 +368,16 @@ function wp_default_scripts( &$scripts ) { 'l10n_print_after' => 'try{convertEntities(commentL10n);}catch(e){};' ) ); - $scripts->add( 'admin-gallery', "/wp-admin/js/gallery$suffix.js", array( 'jquery-ui-sortable' ), '20090516' ); + $scripts->add( 'admin-gallery', "/wp-admin/js/gallery$suffix.js", array( 'jquery-ui-sortable' ), '20110414' ); - $scripts->add( 'media-upload', "/wp-admin/js/media-upload$suffix.js", array( 'thickbox' ), '20110113' ); + $scripts->add( 'media-upload', "/wp-admin/js/media-upload$suffix.js", array( 'thickbox' ), '20110425' ); $scripts->add_data( 'media-upload', 'group', 1 ); - $scripts->add( 'admin-widgets', "/wp-admin/js/widgets$suffix.js", array( 'jquery-ui-sortable', 'jquery-ui-draggable', 'jquery-ui-droppable' ), '20101007' ); + $scripts->add( 'admin-widgets', "/wp-admin/js/widgets$suffix.js", array( 'jquery-ui-sortable', 'jquery-ui-draggable', 'jquery-ui-droppable' ), '20110601' ); $scripts->add_data( 'admin-widgets', 'group', 1 ); - $scripts->add( 'word-count', "/wp-admin/js/word-count$suffix.js", array( 'jquery' ), '20090422' ); + $scripts->add( 'word-count', "/wp-admin/js/word-count$suffix.js", array( 'jquery' ), '20110515' ); $scripts->add_data( 'word-count', 'group', 1 ); - $scripts->localize( 'word-count', 'wordCountL10n', array( - 'count' => __('Word count: %d'), - 'l10n_print_after' => 'try{convertEntities(wordCountL10n);}catch(e){};' - )); $scripts->add( 'theme', "/wp-admin/js/theme$suffix.js", array( 'thickbox' ), '20110118' ); $scripts->add_data( 'theme', 'group', 1 ); @@ -374,7 +385,7 @@ function wp_default_scripts( &$scripts ) { $scripts->add( 'theme-preview', "/wp-admin/js/theme-preview$suffix.js", array( 'thickbox', 'jquery' ), '20100407' ); $scripts->add_data( 'theme-preview', 'group', 1 ); - $scripts->add( 'inline-edit-post', "/wp-admin/js/inline-edit-post$suffix.js", array( 'jquery', 'suggest' ), '20110113' ); + $scripts->add( 'inline-edit-post', "/wp-admin/js/inline-edit-post$suffix.js", array( 'jquery', 'suggest' ), '20110609' ); $scripts->add_data( 'inline-edit-post', 'group', 1 ); $scripts->localize( 'inline-edit-post', 'inlineEditL10n', array( 'error' => __('Error while saving the changes.'), @@ -383,7 +394,7 @@ function wp_default_scripts( &$scripts ) { 'l10n_print_after' => 'try{convertEntities(inlineEditL10n);}catch(e){};' ) ); - $scripts->add( 'inline-edit-tax', "/wp-admin/js/inline-edit-tax$suffix.js", array( 'jquery' ), '20100615' ); + $scripts->add( 'inline-edit-tax', "/wp-admin/js/inline-edit-tax$suffix.js", array( 'jquery' ), '20110609' ); $scripts->add_data( 'inline-edit-tax', 'group', 1 ); $scripts->localize( 'inline-edit-tax', 'inlineEditL10n', array( 'error' => __('Error while saving the changes.'), @@ -400,7 +411,7 @@ function wp_default_scripts( &$scripts ) { $scripts->add( 'farbtastic', '/wp-admin/js/farbtastic.js', array('jquery'), '1.2' ); - $scripts->add( 'dashboard', "/wp-admin/js/dashboard$suffix.js", array( 'jquery', 'admin-comments', 'postbox' ), '20110113' ); + $scripts->add( 'dashboard', "/wp-admin/js/dashboard$suffix.js", array( 'jquery', 'admin-comments', 'postbox' ), '20110524' ); $scripts->add_data( 'dashboard', 'group', 1 ); $scripts->add( 'hoverIntent', "/wp-includes/js/hoverIntent$suffix.js", array('jquery'), '20090102' ); @@ -411,7 +422,7 @@ function wp_default_scripts( &$scripts ) { $scripts->add( 'media', "/wp-admin/js/media$suffix.js", array( 'jquery-ui-draggable' ), '20101022' ); $scripts->add_data( 'media', 'group', 1 ); - $scripts->add( 'image-edit', "/wp-admin/js/image-edit$suffix.js", array('jquery', 'json2', 'imgareaselect'), '20091111' ); + $scripts->add( 'image-edit', "/wp-admin/js/image-edit$suffix.js", array('jquery', 'json2', 'imgareaselect'), '20110524' ); $scripts->add_data( 'image-edit', 'group', 1 ); $scripts->add( 'set-post-thumbnail', "/wp-admin/js/set-post-thumbnail$suffix.js", array( 'jquery' ), '20100518' ); @@ -425,7 +436,7 @@ function wp_default_scripts( &$scripts ) { ) ); // Navigation Menus - $scripts->add( 'nav-menu', "/wp-admin/js/nav-menu$suffix.js", array('jquery-ui-sortable'), '20100814' ); + $scripts->add( 'nav-menu', "/wp-admin/js/nav-menu$suffix.js", array('jquery-ui-sortable'), '20110524' ); $scripts->localize( 'nav-menu', 'navMenuL10n', array( 'noResultsFound' => _x('No results found.', 'search results'), 'warnDeleteMenu' => __( "You are about to permanently delete this menu. \n 'Cancel' to stop, 'OK' to delete." ), @@ -433,7 +444,7 @@ function wp_default_scripts( &$scripts ) { 'l10n_print_after' => 'try{convertEntities(navMenuL10n);}catch(e){};' ) ); - $scripts->add( 'custom-background', "/wp-admin/js/custom-background$suffix.js", array('farbtastic'), '20101025' ); + $scripts->add( 'custom-background', "/wp-admin/js/custom-background$suffix.js", array('farbtastic'), '20110511' ); $scripts->add_data( 'custom-background', 'group', 1 ); } } @@ -471,13 +482,13 @@ function wp_default_styles( &$styles ) { // Any rtl stylesheets that don't have a .dev version for ltr $no_suffix = array( 'farbtastic' ); - $styles->add( 'wp-admin', "/wp-admin/css/wp-admin$suffix.css", array(), '20110214' ); + $styles->add( 'wp-admin', "/wp-admin/css/wp-admin$suffix.css", array(), '20110711' ); - $styles->add( 'ie', "/wp-admin/css/ie$suffix.css", array(), '20101102' ); + $styles->add( 'ie', "/wp-admin/css/ie$suffix.css", array(), '20110711' ); $styles->add_data( 'ie', 'conditional', 'lte IE 7' ); // all colors stylesheets need to have the same query strings (cache manifest compat) - $colors_version = '20110121'; + $colors_version = '20110703'; // Register "meta" stylesheet for admin colors. All colors-* style sheets should have the same version string. $styles->add( 'colors', true, array(), $colors_version ); @@ -486,23 +497,23 @@ function wp_default_styles( &$styles ) { $styles->add( 'colors-fresh', "/wp-admin/css/colors-fresh$suffix.css", array(), $colors_version ); $styles->add( 'colors-classic', "/wp-admin/css/colors-classic$suffix.css", array(), $colors_version ); - $styles->add( 'ms', "/wp-admin/css/ms$suffix.css", array(), '20101213' ); - $styles->add( 'global', "/wp-admin/css/global$suffix.css", array(), '20110121' ); - $styles->add( 'media', "/wp-admin/css/media$suffix.css", array(), '20110121' ); - $styles->add( 'widgets', "/wp-admin/css/widgets$suffix.css", array(), '20110104' ); - $styles->add( 'dashboard', "/wp-admin/css/dashboard$suffix.css", array(), '20110121' ); - $styles->add( 'install', "/wp-admin/css/install$suffix.css", array(), '20110121' ); // Readme as well - $styles->add( 'theme-editor', "/wp-admin/css/theme-editor$suffix.css", array(), '20101203' ); - $styles->add( 'press-this', "/wp-admin/css/press-this$suffix.css", array(), '20110121' ); + $styles->add( 'ms', "/wp-admin/css/ms$suffix.css", array(), '20110623' ); + $styles->add( 'global', "/wp-admin/css/global$suffix.css", array(), '20110711b' ); + $styles->add( 'media', "/wp-admin/css/media$suffix.css", array(), '20110707' ); + $styles->add( 'widgets', "/wp-admin/css/widgets$suffix.css", array(), '20110606' ); + $styles->add( 'dashboard', "/wp-admin/css/dashboard$suffix.css", array(), '20110711' ); + $styles->add( 'install', "/wp-admin/css/install$suffix.css", array(), '20110707' ); // Readme as well + $styles->add( 'theme-editor', "/wp-admin/css/theme-editor$suffix.css", array(), '20110602' ); + $styles->add( 'press-this', "/wp-admin/css/press-this$suffix.css", array(), '20110707' ); $styles->add( 'thickbox', '/wp-includes/js/thickbox/thickbox.css', array(), '20090514' ); - $styles->add( 'login', "/wp-admin/css/login$suffix.css", array(), '20110121' ); - $styles->add( 'plugin-install', "/wp-admin/css/plugin-install$suffix.css", array(), '20101230' ); - $styles->add( 'theme-install', "/wp-admin/css/theme-install$suffix.css", array(), '20101226' ); + $styles->add( 'login', "/wp-admin/css/login$suffix.css", array(), '20110610' ); + $styles->add( 'plugin-install', "/wp-admin/css/plugin-install$suffix.css", array(), '20110628' ); + $styles->add( 'theme-install', "/wp-admin/css/theme-install$suffix.css", array(), '20110506' ); $styles->add( 'farbtastic', '/wp-admin/css/farbtastic.css', array(), '1.3u' ); $styles->add( 'jcrop', '/wp-includes/js/jcrop/jquery.Jcrop.css', array(), '0.9.8' ); $styles->add( 'imgareaselect', '/wp-includes/js/imgareaselect/imgareaselect.css', array(), '0.9.1' ); - $styles->add( 'nav-menu', "/wp-admin/css/nav-menu$suffix.css", array(), '20100907' ); - $styles->add( 'admin-bar', "/wp-includes/css/admin-bar$suffix.css", array(), '20110325' ); + $styles->add( 'nav-menu', "/wp-admin/css/nav-menu$suffix.css", array(), '20110611' ); + $styles->add( 'admin-bar', "/wp-includes/css/admin-bar$suffix.css", array(), '20110622' ); $styles->add( 'wp-jquery-ui-dialog', "/wp-includes/css/jquery-ui-dialog$suffix.css", array(), '20101224' ); $styles->add( 'wplink', "/wp-includes/js/tinymce/plugins/wplink/css/wplink$suffix.css", array(), '20101224' ); @@ -549,9 +560,6 @@ function wp_just_in_time_script_localization() { wp_localize_script( 'autosave', 'autosaveL10n', array( 'autosaveInterval' => AUTOSAVE_INTERVAL, - 'previewPageText' => __('Preview this Page'), - 'previewPostText' => __('Preview this Post'), - 'requestFile' => admin_url('admin-ajax.php'), 'savingText' => __('Saving Draft…'), 'saveAlert' => __('The changes you made will be lost if you navigate away from this page.'), 'l10n_print_after' => 'try{convertEntities(autosaveL10n);}catch(e){};' @@ -560,11 +568,11 @@ function wp_just_in_time_script_localization() { } /** - * Administration Panel CSS for changing the styles. + * Administration Screen CSS for changing the styles. * * If installing the 'wp-admin/' directory will be replaced with './'. * - * The $_wp_admin_css_colors global manages the Administration Panels CSS + * The $_wp_admin_css_colors global manages the Administration Screens CSS * stylesheet that is loaded. The option that is set is 'admin_color' and is the * color and key for the array. The value for the color key is an object with * a 'url' parameter that has the URL path to the CSS file. @@ -577,7 +585,7 @@ function wp_just_in_time_script_localization() { * * @param string $src Source URL. * @param string $handle Either 'colors' or 'colors-rtl'. - * @return string URL path to CSS stylesheet for Administration Panels. + * @return string URL path to CSS stylesheet for Administration Screens. */ function wp_style_loader_src( $src, $handle ) { if ( defined('WP_INSTALLING') ) diff --git a/wp-includes/taxonomy.php b/wp-includes/taxonomy.php index 33d4329de..dee7af8b6 100644 --- a/wp-includes/taxonomy.php +++ b/wp-includes/taxonomy.php @@ -36,7 +36,7 @@ function create_initial_taxonomies() { 'query_var' => 'tag', 'rewrite' => did_action( 'init' ) ? array( 'slug' => get_option('tag_base') ? get_option('tag_base') : 'tag', - 'with_front' => ( get_option('category_base') && ! $wp_rewrite->using_index_permalinks() ) ? false : true ) : false, + 'with_front' => ( get_option('tag_base') && ! $wp_rewrite->using_index_permalinks() ) ? false : true ) : false, 'public' => true, 'show_ui' => true, '_builtin' => true, @@ -354,7 +354,7 @@ function register_taxonomy( $taxonomy, $object_type, $args = array() ) { unset( $args['capabilities'] ); $args['name'] = $taxonomy; - $args['object_type'] = (array) $object_type; + $args['object_type'] = array_unique( (array)$object_type ); $args['labels'] = get_taxonomy_labels( (object) $args ); $args['label'] = $args['labels']->name; @@ -404,6 +404,7 @@ function get_taxonomy_labels( $tax ) { 'parent_item' => array( null, __( 'Parent Category' ) ), 'parent_item_colon' => array( null, __( 'Parent Category:' ) ), 'edit_item' => array( __( 'Edit Tag' ), __( 'Edit Category' ) ), + 'view_item' => array( __( 'View Tag' ), __( 'View Category' ) ), 'update_item' => array( __( 'Update Tag' ), __( 'Update Category' ) ), 'add_new_item' => array( __( 'Add New Tag' ), __( 'Add New Category' ) ), 'new_item_name' => array( __( 'New Tag Name' ), __( 'New Category Name' ) ), @@ -437,7 +438,8 @@ function register_taxonomy_for_object_type( $taxonomy, $object_type) { if ( ! get_post_type_object($object_type) ) return false; - $wp_taxonomies[$taxonomy]->object_type[] = $object_type; + if ( ! in_array( $object_type, $wp_taxonomies[$taxonomy]->object_type ) ) + $wp_taxonomies[$taxonomy]->object_type[] = $object_type; return true; } @@ -539,7 +541,7 @@ class WP_Tax_Query { * Possible values: 'term_id', 'slug' or 'name' * Default: 'term_id' * - 'operator' string (optional) - * Possible values: 'IN' and 'NOT IN'. + * Possible values: 'AND', 'IN' or 'NOT IN'. * Default: 'IN' * - 'include_children' bool (optional) Whether to include child terms. * Default: true @@ -548,7 +550,7 @@ class WP_Tax_Query { * @access public * @var array */ - var $queries = array(); + public $queries = array(); /** * The relation between the queries. Can be one of 'AND' or 'OR'. @@ -557,10 +559,19 @@ class WP_Tax_Query { * @access public * @var string */ - var $relation; + public $relation; + + /** + * Standard response when the query should not return any rows. + * + * @since 3.2.0 + * @access private + * @var string + */ + private static $no_results = array( 'join' => '', 'where' => ' AND 0 = 1' ); /** - * PHP4 type constructor. + * Constructor. * * Parses a compact tax query and sets defaults. * @@ -581,10 +592,8 @@ class WP_Tax_Query { * 'field' => 'slug', * ), * ) - * - * @return WP_Tax_Query */ - function WP_Tax_Query( $tax_query ) { + public function __construct( $tax_query ) { if ( isset( $tax_query['relation'] ) && strtoupper( $tax_query['relation'] ) == 'OR' ) { $this->relation = 'OR'; } else { @@ -621,7 +630,7 @@ class WP_Tax_Query { * @param string $primary_id_column * @return array */ - function get_sql( $primary_table, $primary_id_column ) { + public function get_sql( $primary_table, $primary_id_column ) { global $wpdb; $join = ''; @@ -629,39 +638,21 @@ class WP_Tax_Query { $i = 0; foreach ( $this->queries as $query ) { - extract( $query ); - - if ( ! taxonomy_exists( $taxonomy ) ) - return array( 'join' => '', 'where' => ' AND 0 = 1'); - - $terms = array_unique( (array) $terms ); - - if ( empty( $terms ) ) - continue; - - if ( is_taxonomy_hierarchical( $taxonomy ) && $include_children ) { - $this->_transform_terms( $terms, $taxonomy, $field, 'term_id' ); - - $children = array(); - foreach ( $terms as $term ) { - $children = array_merge( $children, get_term_children( $term, $taxonomy ) ); - $children[] = $term; - } - $terms = $children; + $this->clean_query( $query ); - $this->_transform_terms( $terms, $taxonomy, 'term_id', 'term_taxonomy_id' ); - } - else { - $this->_transform_terms( $terms, $taxonomy, $field, 'term_taxonomy_id' ); + if ( is_wp_error( $query ) ) { + return self::$no_results; } + extract( $query ); + if ( 'IN' == $operator ) { if ( empty( $terms ) ) { if ( 'OR' == $this->relation ) continue; else - return array( 'join' => '', 'where' => ' AND 0 = 1' ); + return self::$no_results; } $terms = implode( ',', $terms ); @@ -694,12 +685,12 @@ class WP_Tax_Query { $terms = implode( ',', $terms ); - $where[] = "$primary_table.$primary_id_column IN ( - SELECT object_id + $where[] = "( + SELECT COUNT(1) FROM $wpdb->term_relationships WHERE term_taxonomy_id IN ($terms) - GROUP BY object_id HAVING COUNT(object_id) = $num_terms - )"; + AND object_id = $primary_table.$primary_id_column + ) = $num_terms"; } $i++; @@ -714,49 +705,88 @@ class WP_Tax_Query { } /** - * Transforms a list of terms, from one field to another. + * Validates a single query. * - * @since 3.1.0 + * @since 3.2.0 * @access private * - * @param array &$terms The list of terms - * @param string $taxonomy The taxonomy of the terms - * @param string $field The initial field + * @param array &$query The single query + */ + private function clean_query( &$query ) { + if ( ! taxonomy_exists( $query['taxonomy'] ) ) { + $query = new WP_Error( 'Invalid taxonomy' ); + return; + } + + $query['terms'] = array_unique( (array) $query['terms'] ); + + if ( is_taxonomy_hierarchical( $query['taxonomy'] ) && $query['include_children'] ) { + $this->transform_query( $query, 'term_id' ); + + if ( is_wp_error( $query ) ) + return; + + $children = array(); + foreach ( $query['terms'] as $term ) { + $children = array_merge( $children, get_term_children( $term, $query['taxonomy'] ) ); + $children[] = $term; + } + $query['terms'] = $children; + } + + $this->transform_query( $query, 'term_taxonomy_id' ); + } + + /** + * Transforms a single query, from one field to another. + * + * @since 3.2.0 + * @access private + * + * @param array &$query The single query * @param string $resulting_field The resulting field */ - function _transform_terms( &$terms, $taxonomy, $field, $resulting_field ) { + private function transform_query( &$query, $resulting_field ) { global $wpdb; - if ( empty( $terms ) ) + if ( empty( $query['terms'] ) ) return; - if ( $field == $resulting_field ) + if ( $query['field'] == $resulting_field ) return; $resulting_field = esc_sql( $resulting_field ); - switch ( $field ) { + switch ( $query['field'] ) { case 'slug': case 'name': - $terms = "'" . implode( "','", array_map( 'sanitize_title_for_query', $terms ) ) . "'"; + $terms = "'" . implode( "','", array_map( 'sanitize_title_for_query', $query['terms'] ) ) . "'"; $terms = $wpdb->get_col( " SELECT $wpdb->term_taxonomy.$resulting_field FROM $wpdb->term_taxonomy INNER JOIN $wpdb->terms USING (term_id) - WHERE taxonomy = '$taxonomy' - AND $wpdb->terms.$field IN ($terms) + WHERE taxonomy = '{$query['taxonomy']}' + AND $wpdb->terms.{$query['field']} IN ($terms) " ); break; default: - $terms = implode( ',', array_map( 'intval', $terms ) ); + $terms = implode( ',', array_map( 'intval', $query['terms'] ) ); $terms = $wpdb->get_col( " SELECT $resulting_field FROM $wpdb->term_taxonomy - WHERE taxonomy = '$taxonomy' + WHERE taxonomy = '{$query['taxonomy']}' AND term_id IN ($terms) " ); } + + if ( 'AND' == $query['operator'] && count( $terms ) < count( $query['terms'] ) ) { + $query = new WP_Error( 'Inexistent terms' ); + return; + } + + $query['terms'] = $terms; + $query['field'] = $resulting_field; } } @@ -1100,6 +1130,11 @@ function get_term_to_edit( $id, $taxonomy ) { * The 'parent' argument is different from 'child_of' in that a term X is considered a 'parent' * of term Y only if term X is the father of term Y, not its grandfather or great-grandfather, etc. * + * The 'cache_domain' argument enables a unique cache key to be produced when this query is stored + * in object cache. For instance, if you are using one of this function's filters to modify the + * query (such as 'terms_clauses'), setting 'cache_domain' to a unique value will not overwrite + * the cache for similar queries. Default value is 'core'. + * * @package WordPress * @subpackage Taxonomy * @since 2.3.0 @@ -1132,7 +1167,7 @@ function &get_terms($taxonomies, $args = '') { 'hide_empty' => true, 'exclude' => array(), 'exclude_tree' => array(), 'include' => array(), 'number' => '', 'fields' => 'all', 'slug' => '', 'parent' => '', 'hierarchical' => true, 'child_of' => 0, 'get' => '', 'name__like' => '', - 'pad_counts' => false, 'offset' => '', 'search' => ''); + 'pad_counts' => false, 'offset' => '', 'search' => '', 'cache_domain' => 'core' ); $args = wp_parse_args( $args, $defaults ); $args['number'] = absint( $args['number'] ); $args['offset'] = absint( $args['offset'] ); @@ -1194,6 +1229,8 @@ function &get_terms($taxonomies, $args = '') { $orderby = ''; elseif ( empty($_orderby) || 'id' == $_orderby ) $orderby = 't.term_id'; + else + $orderby = 't.name'; $orderby = apply_filters( 'get_terms_orderby', $orderby, $args ); @@ -1202,6 +1239,10 @@ function &get_terms($taxonomies, $args = '') { else $order = ''; + $order = strtoupper( $order ); + if ( '' !== $order && !in_array( $order, array( 'ASC', 'DESC' ) ) ) + $order = 'ASC'; + $where = "tt.taxonomy IN ('" . implode("', '", $taxonomies) . "')"; $inclusions = ''; if ( !empty($include) ) { @@ -1255,8 +1296,10 @@ function &get_terms($taxonomies, $args = '') { $where .= " AND t.slug = '$slug'"; } - if ( !empty($name__like) ) - $where .= " AND t.name LIKE '" . like_escape( $name__like ) . "%'"; + if ( !empty($name__like) ) { + $name__like = like_escape( $name__like ); + $where .= $wpdb->prepare( " AND t.name LIKE %s", $name__like . '%' ); + } if ( '' !== $parent ) { $parent = (int) $parent; @@ -1278,7 +1321,7 @@ function &get_terms($taxonomies, $args = '') { if ( !empty($search) ) { $search = like_escape($search); - $where .= " AND (t.name LIKE '%$search%')"; + $where .= $wpdb->prepare( " AND (t.name LIKE %s)", '%' . $search . '%'); } $selects = array(); diff --git a/wp-includes/theme.php b/wp-includes/theme.php index c2960557d..78d97395b 100644 --- a/wp-includes/theme.php +++ b/wp-includes/theme.php @@ -79,7 +79,7 @@ function get_stylesheet_directory_uri() { */ function get_stylesheet_uri() { $stylesheet_dir_uri = get_stylesheet_directory_uri(); - $stylesheet_uri = $stylesheet_dir_uri . "/style.css"; + $stylesheet_uri = $stylesheet_dir_uri . '/style.css'; return apply_filters('stylesheet_uri', $stylesheet_uri, $stylesheet_dir_uri); } @@ -396,12 +396,14 @@ function get_themes() { // Check for theme name collision. This occurs if a theme is copied to // a new theme directory and the theme header is not updated. Whichever // theme is first keeps the name. Subsequent themes get a suffix applied. - // The Twenty Ten, Default and Classic themes always trump their pretenders. + // The Twenty Eleven, Twenty Ten, Default and Classic themes always trump + // their pretenders. if ( isset($wp_themes[$name]) ) { $trump_cards = array( - 'classic' => 'WordPress Classic', - 'default' => 'WordPress Default', - 'twentyten' => 'Twenty Ten', + 'classic' => 'WordPress Classic', + 'default' => 'WordPress Default', + 'twentyten' => 'Twenty Ten', + 'twentyeleven' => 'Twenty Eleven', ); if ( isset( $trump_cards[ $stylesheet ] ) && $name == $trump_cards[ $stylesheet ] ) { // If another theme has claimed to be one of our default themes, move @@ -827,7 +829,7 @@ function get_category_template() { $templates[] = "category-{$category->slug}.php"; $templates[] = "category-{$category->term_id}.php"; - $templates[] = "category.php"; + $templates[] = 'category.php'; return get_query_template( 'category', $templates ); } @@ -851,7 +853,7 @@ function get_tag_template() { $templates[] = "tag-{$tag->slug}.php"; $templates[] = "tag-{$tag->term_id}.php"; - $templates[] = "tag.php"; + $templates[] = 'tag.php'; return get_query_template( 'tag', $templates ); } @@ -881,7 +883,7 @@ function get_taxonomy_template() { $templates[] = "taxonomy-$taxonomy-{$term->slug}.php"; $templates[] = "taxonomy-$taxonomy.php"; - $templates[] = "taxonomy.php"; + $templates[] = 'taxonomy.php'; return get_query_template( 'taxonomy', $templates ); } @@ -963,7 +965,7 @@ function get_page_template() { $templates[] = "page-$pagename.php"; if ( $id ) $templates[] = "page-$id.php"; - $templates[] = "page.php"; + $templates[] = 'page.php'; return get_query_template( 'page', $templates ); } @@ -1427,15 +1429,84 @@ function header_textcolor() { */ function get_header_image() { $default = defined( 'HEADER_IMAGE' ) ? HEADER_IMAGE : ''; - $url = get_theme_mod( 'header_image', $default ); + if ( 'remove-header' == $url ) + return false; + + if ( is_random_header_image() ) + $url = get_random_header_image(); + if ( is_ssl() ) $url = str_replace( 'http://', 'https://', $url ); else $url = str_replace( 'https://', 'http://', $url ); - return $url; + return esc_url_raw( $url ); +} + +/** + * Get random header image from registered images in theme. + * + * @since 3.2.0 + * + * @return string Path to header image + */ +function get_random_header_image() { + global $_wp_default_headers; + + $header_image_mod = get_theme_mod( 'header_image', '' ); + $headers = array(); + + if ( 'random-uploaded-image' == $header_image_mod ) + $headers = get_uploaded_header_images(); + elseif ( ! empty( $_wp_default_headers ) ) { + if ( 'random-default-image' == $header_image_mod ) { + $headers = $_wp_default_headers; + } else { + $is_random = get_theme_support( 'custom-header' ); + if ( isset( $is_random[ 0 ] ) && !empty( $is_random[ 0 ][ 'random-default' ] ) ) + $headers = $_wp_default_headers; + } + } + + if ( empty( $headers ) ) + return ''; + + $random_image = array_rand( $headers ); + $header_url = sprintf( $headers[$random_image]['url'], get_template_directory_uri(), get_stylesheet_directory_uri() ); + + return $header_url; +} + +/** + * Check if random header image is in use. + * + * Always true if user expressly chooses the option in Appearance > Header. + * Also true if theme has multiple header images registered, no specific header image + * is chosen, and theme turns on random headers with add_theme_support(). + * + * @since 3.2.0 + * @uses HEADER_IMAGE + * + * @param string $type The random pool to use. any|default|uploaded + * @return boolean + */ +function is_random_header_image( $type = 'any' ) { + $default = defined( 'HEADER_IMAGE' ) ? HEADER_IMAGE : ''; + $header_image_mod = get_theme_mod( 'header_image', $default ); + + if ( 'any' == $type ) { + if ( 'random-default-image' == $header_image_mod || 'random-uploaded-image' == $header_image_mod || ( '' != get_random_header_image() && empty( $header_image_mod ) ) ) + return true; + } else { + if ( "random-$type-image" == $header_image_mod ) + return true; + elseif ( 'default' == $type && empty( $header_image_mod ) && '' != get_random_header_image() ) + return true; + } + + return false; } /** @@ -1447,6 +1518,34 @@ function header_image() { echo get_header_image(); } +/** + * Get the header images uploaded for the current theme. + * + * @since 3.2.0 + * + * @return array + */ +function get_uploaded_header_images() { + $header_images = array(); + + // @todo caching + $headers = get_posts( array( 'post_type' => 'attachment', 'meta_key' => '_wp_attachment_is_custom_header', 'meta_value' => get_option('stylesheet'), 'orderby' => 'none', 'nopaging' => true ) ); + + if ( empty( $headers ) ) + return array(); + + foreach ( (array) $headers as $header ) { + $url = esc_url_raw( $header->guid ); + $header = basename($url); + $header_images[$header] = array(); + $header_images[$header]['url'] = $url; + $header_images[$header]['thumbnail_url'] = $url; + $header_images[$header]['uploaded'] = true; + } + + return $header_images; +} + /** * Add callbacks for image header display. * @@ -1466,7 +1565,11 @@ function add_custom_image_header( $header_callback, $admin_header_callback, $adm if ( ! empty( $header_callback ) ) add_action('wp_head', $header_callback); - add_theme_support( 'custom-header', array( 'callback' => $header_callback ) ); + $support = array( 'callback' => $header_callback ); + $theme_support = get_theme_support( 'custom-header' ); + if ( ! empty( $theme_support ) && is_array( $theme_support[ 0 ] ) ) + $support = array_merge( $theme_support[ 0 ], $support ); + add_theme_support( 'custom-header', $support ); add_theme_support( 'custom-header-uploads' ); if ( ! is_admin() ) diff --git a/wp-includes/update.php b/wp-includes/update.php index 1f9f2a9a6..6cb2337f3 100644 --- a/wp-includes/update.php +++ b/wp-includes/update.php @@ -23,7 +23,8 @@ function wp_version_check() { if ( defined('WP_INSTALLING') ) return; - global $wp_version, $wpdb, $wp_local_package; + global $wpdb, $wp_local_package; + include ABSPATH . WPINC . '/version.php'; // include an unmodified $wp_version $php_version = phpversion(); $current = get_site_transient( 'update_core' ); @@ -57,7 +58,7 @@ function wp_version_check() { } $local_package = isset( $wp_local_package )? $wp_local_package : ''; - $url = "http://api.wordpress.org/core/version-check/1.5/?version=$wp_version&php=$php_version&locale=$locale&mysql=$mysql_version&local_package=$local_package&blogs=$num_blogs&users={$user_count['total_users']}&multisite_enabled=$multisite_enabled"; + $url = "http://api.wordpress.org/core/version-check/1.6/?version=$wp_version&php=$php_version&locale=$locale&mysql=$mysql_version&local_package=$local_package&blogs=$num_blogs&users={$user_count['total_users']}&multisite_enabled=$multisite_enabled"; $options = array( 'timeout' => ( ( defined('DOING_CRON') && DOING_CRON ) ? 30 : 3 ), @@ -70,36 +71,32 @@ function wp_version_check() { $response = wp_remote_get($url, $options); - if ( is_wp_error( $response ) ) + if ( is_wp_error( $response ) || 200 != wp_remote_retrieve_response_code( $response ) ) return false; - if ( 200 != $response['response']['code'] ) + $body = trim( wp_remote_retrieve_body( $response ) ); + if ( ! $body = maybe_unserialize( $body ) ) return false; - - $body = trim( $response['body'] ); - $body = str_replace(array("\r\n", "\r"), "\n", $body); - $new_options = array(); - foreach ( explode( "\n\n", $body ) as $entry ) { - $returns = explode("\n", $entry); - $new_option = new stdClass(); - $new_option->response = esc_attr( $returns[0] ); - if ( isset( $returns[1] ) ) - $new_option->url = esc_url( $returns[1] ); - if ( isset( $returns[2] ) ) - $new_option->package = esc_url( $returns[2] ); - if ( isset( $returns[3] ) ) - $new_option->current = esc_attr( $returns[3] ); - if ( isset( $returns[4] ) ) - $new_option->locale = esc_attr( $returns[4] ); - if ( isset( $returns[5] ) ) - $new_option->php_version = esc_attr( $returns[5] ); - if ( isset( $returns[6] ) ) - $new_option->mysql_version = esc_attr( $returns[6] ); - $new_options[] = $new_option; + if ( ! isset( $body['offers'] ) ) + return false; + $offers = $body['offers']; + + foreach ( $offers as &$offer ) { + foreach ( $offer as $offer_key => $value ) { + if ( 'packages' == $offer_key ) + $offer['packages'] = (object) array_intersect_key( array_map( 'esc_url', $offer['packages'] ), + array_fill_keys( array( 'full', 'no_content', 'new_bundled', 'partial' ), '' ) ); + elseif ( 'download' == $offer_key ) + $offer['download'] = esc_url( $value ); + else + $offer[ $offer_key ] = esc_html( $value ); + } + $offer = (object) array_intersect_key( $offer, array_fill_keys( array( 'response', 'download', 'locale', + 'packages', 'current', 'php_version', 'mysql_version', 'new_bundled', 'partial_version' ), '' ) ); } $updates = new stdClass(); - $updates->updates = $new_options; + $updates->updates = $offers; $updates->last_checked = time(); $updates->version_checked = $wp_version; set_site_transient( 'update_core', $updates); @@ -119,7 +116,7 @@ function wp_version_check() { * @return mixed Returns null if update is unsupported. Returns false if check is too soon. */ function wp_update_plugins() { - global $wp_version; + include ABSPATH . WPINC . '/version.php'; // include an unmodified $wp_version if ( defined('WP_INSTALLING') ) return false; @@ -174,13 +171,10 @@ function wp_update_plugins() { $raw_response = wp_remote_post('http://api.wordpress.org/plugins/update-check/1.0/', $options); - if ( is_wp_error( $raw_response ) ) - return false; - - if ( 200 != $raw_response['response']['code'] ) + if ( is_wp_error( $raw_response ) || 200 != wp_remote_retrieve_response_code( $raw_response ) ) return false; - $response = unserialize( $raw_response['body'] ); + $response = unserialize( wp_remote_retrieve_body( $raw_response ) ); if ( false !== $response ) $new_option->response = $response; @@ -203,8 +197,8 @@ function wp_update_plugins() { * * @return mixed Returns null if update is unsupported. Returns false if check is too soon. */ -function wp_update_themes( ) { - global $wp_version; +function wp_update_themes() { + include ABSPATH . WPINC . '/version.php'; // include an unmodified $wp_version if ( defined( 'WP_INSTALLING' ) ) return false; @@ -272,25 +266,22 @@ function wp_update_themes( ) { $raw_response = wp_remote_post( 'http://api.wordpress.org/themes/update-check/1.0/', $options ); - if ( is_wp_error( $raw_response ) ) - return false; - - if ( 200 != $raw_response['response']['code'] ) + if ( is_wp_error( $raw_response ) || 200 != wp_remote_retrieve_response_code( $raw_response ) ) return false; $new_update = new stdClass; $new_update->last_checked = time( ); - $response = unserialize( $raw_response['body'] ); - if ( $response ) { - $new_update->checked = $checked; + $new_update->checked = $checked; + + $response = unserialize( wp_remote_retrieve_body( $raw_response ) ); + if ( false !== $response ) $new_update->response = $response; - } set_site_transient( 'update_themes', $new_update ); } function _maybe_update_core() { - global $wp_version; + include ABSPATH . WPINC . '/version.php'; // include an unmodified $wp_version $current = get_site_transient( 'update_core' ); diff --git a/wp-includes/user.php b/wp-includes/user.php index 0a1a4354a..af7f5de57 100644 --- a/wp-includes/user.php +++ b/wp-includes/user.php @@ -165,18 +165,19 @@ function count_user_posts($userid) { * Number of posts written by a list of users. * * @since 3.0.0 - * @param array $users User ID number list. + * @param array $user_ids Array of user IDs. + * @param string|array $post_type Optional. Post type to check. Defaults to post. * @return array Amount of posts each user has written. */ -function count_many_users_posts($users) { +function count_many_users_posts($users, $post_type = 'post' ) { global $wpdb; $count = array(); - if ( ! is_array($users) || empty( $users ) ) + if ( empty( $users ) || ! is_array( $users ) ) return $count; - $userlist = implode( ',', $users ); - $where = get_posts_by_author_sql( 'post' ); + $userlist = implode( ',', array_map( 'absint', $users ) ); + $where = get_posts_by_author_sql( $post_type ); $result = $wpdb->get_results( "SELECT post_author, COUNT(*) FROM $wpdb->posts $where AND post_author IN ($userlist) GROUP BY post_author", ARRAY_N ); foreach ( $result as $row ) { @@ -360,12 +361,6 @@ class WP_User_Query { var $query_orderby; var $query_limit; - /** - * PHP4 constructor - */ - function WP_User_Query( $query = null ) { - $this->__construct( $query ); - } /** * PHP5 constructor @@ -388,7 +383,8 @@ class WP_User_Query { 'search' => '', 'orderby' => 'login', 'order' => 'ASC', - 'offset' => '', 'number' => '', + 'offset' => '', + 'number' => '', 'count_total' => true, 'fields' => 'all', 'who' => '' @@ -423,6 +419,9 @@ class WP_User_Query { $this->query_fields = "$wpdb->users.ID"; } + if ( $this->query_vars['count_total'] ) + $this->query_fields = 'SQL_CALC_FOUND_ROWS ' . $this->query_fields; + $this->query_from = "FROM $wpdb->users"; $this->query_where = "WHERE 1=1"; @@ -496,13 +495,11 @@ class WP_User_Query { if ( 'authors' == $qv['who'] && $blog_id ) { $qv['meta_key'] = $wpdb->get_blog_prefix( $blog_id ) . 'user_level'; - $qv['meta_value'] = '_wp_zero_value'; // Hack to pass '0' + $qv['meta_value'] = 0; $qv['meta_compare'] = '!='; $qv['blog_id'] = $blog_id = 0; // Prevent extra meta query } - _parse_meta_query( $qv ); - $role = trim( $qv['role'] ); if ( $blog_id && ( $role || is_multisite() ) ) { @@ -517,10 +514,16 @@ class WP_User_Query { $qv['meta_query'][] = $cap_meta_query; } - if ( !empty( $qv['meta_query'] ) ) { - $clauses = call_user_func_array( '_get_meta_sql', array( $qv['meta_query'], 'user', $wpdb->users, 'ID', &$this ) ); + $meta_query = new WP_Meta_Query(); + $meta_query->parse_query_vars( $qv ); + + if ( !empty( $meta_query->queries ) ) { + $clauses = $meta_query->get_sql( 'user', $wpdb->users, 'ID', $this ); $this->query_from .= $clauses['join']; $this->query_where .= $clauses['where']; + + if ( 'OR' == $meta_query->relation ) + $this->query_fields = 'DISTINCT ' . $this->query_fields; } if ( !empty( $qv['include'] ) ) { @@ -550,7 +553,7 @@ class WP_User_Query { } if ( $this->query_vars['count_total'] ) - $this->total_users = $wpdb->get_var("SELECT COUNT(*) $this->query_from $this->query_where"); + $this->total_users = $wpdb->get_var( apply_filters( 'found_users_query', 'SELECT FOUND_ROWS()' ) ); if ( !$this->results ) return; @@ -740,7 +743,7 @@ function is_blog_user( $blog_id = 0 ) { /** * Add meta data field to a user. * - * Post meta data is called "Custom Fields" on the Administration Panels. + * Post meta data is called "Custom Fields" on the Administration Screens. * * @since 3.0.0 * @uses add_metadata() @@ -1355,9 +1358,7 @@ function validate_username( $username ) { * 'user_url' - A string containing the user's URL for the user's web site. * 'user_email' - A string containing the user's email address. * 'display_name' - A string that will be shown on the site. Defaults to user's - * username. It is likely that you will want to change this, for both - * appearance and security through obscurity (that is if you don't use and - * delete the default 'admin' user). + * username. It is likely that you will want to change this, for appearance. * 'nickname' - The user's nickname, defaults to the user's username. * 'first_name' - The user's first name. * 'last_name' - The user's last name. diff --git a/wp-includes/vars.php b/wp-includes/vars.php index bfd2a5d33..aca78f1f6 100644 --- a/wp-includes/vars.php +++ b/wp-includes/vars.php @@ -47,7 +47,13 @@ if ( isset($_SERVER['HTTP_USER_AGENT']) ) { if ( strpos($_SERVER['HTTP_USER_AGENT'], 'Lynx') !== false ) { $is_lynx = true; } elseif ( stripos($_SERVER['HTTP_USER_AGENT'], 'chrome') !== false ) { - $is_chrome = true; + if ( stripos( $_SERVER['HTTP_USER_AGENT'], 'chromeframe' ) !== false ) { + if ( $is_chrome = apply_filters( 'use_google_chrome_frame', is_admin() ) ) + header( 'X-UA-Compatible: chrome=1' ); + $is_winIE = ! $is_chrome; + } else { + $is_chrome = true; + } } elseif ( stripos($_SERVER['HTTP_USER_AGENT'], 'safari') !== false ) { $is_safari = true; } elseif ( strpos($_SERVER['HTTP_USER_AGENT'], 'Gecko') !== false ) { diff --git a/wp-includes/version.php b/wp-includes/version.php index 14980a3d0..9d124d8d7 100644 --- a/wp-includes/version.php +++ b/wp-includes/version.php @@ -1,42 +1,24 @@ <?php -/* -WordPress - Web publishing software - -This program is free software; you can redistribute it and/or -modify it under the terms of the GNU General Public License -as published by the Free Software Foundation; either version 2 -of the License, or (at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program; if not, write to the Free Software -Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. -*/ - /** * The WordPress version string * * @global string $wp_version */ -$wp_version = '3.1.2'; +$wp_version = '3.2.1'; /** * Holds the WordPress DB revision, increments when changes are made to the WordPress DB schema. * * @global int $wp_db_version */ -$wp_db_version = 17516; +$wp_db_version = 18226; /** * Holds the TinyMCE version * * @global string $tinymce_version */ -$tinymce_version = '3393a'; +$tinymce_version = '342-20110630'; /** * Holds the cache manifest version @@ -50,11 +32,11 @@ $manifest_version = '20111113'; * * @global string $required_php_version */ -$required_php_version = '4.3'; +$required_php_version = '5.2.4'; /** * Holds the required MySQL version * * @global string $required_mysql_version */ -$required_mysql_version = '4.1.2'; +$required_mysql_version = '5.0'; diff --git a/wp-includes/widgets.php b/wp-includes/widgets.php index 4c6d4f448..b90ffd675 100644 --- a/wp-includes/widgets.php +++ b/wp-includes/widgets.php @@ -74,7 +74,7 @@ class WP_Widget { * PHP4 constructor */ function WP_Widget( $id_base = false, $name, $widget_options = array(), $control_options = array() ) { - $this->__construct( $id_base, $name, $widget_options, $control_options ); + WP_Widget::__construct( $id_base, $name, $widget_options, $control_options ); } /** @@ -854,6 +854,8 @@ function dynamic_sidebar($index = 1) { } $sidebars_widgets = wp_get_sidebars_widgets(); + if ( empty( $sidebars_widgets ) ) + return false; if ( empty($wp_registered_sidebars[$index]) || !array_key_exists($index, $sidebars_widgets) || !is_array($sidebars_widgets[$index]) || empty($sidebars_widgets[$index]) ) return false; @@ -897,7 +899,7 @@ function dynamic_sidebar($index = 1) { } /** - * Whether widget is displayied on the front-end. + * Whether widget is displayed on the front-end. * * Either $callback or $id_base can be used * $id_base is the first argument when extending WP_Widget class diff --git a/wp-includes/wp-db.php b/wp-includes/wp-db.php index d9e708658..0cae3e638 100644 --- a/wp-includes/wp-db.php +++ b/wp-includes/wp-db.php @@ -39,9 +39,8 @@ define( 'ARRAY_N', 'ARRAY_N' ); * * It is possible to replace this class with your own * by setting the $wpdb global variable in wp-content/db.php - * file with your class. You can name it wpdb also, since - * this file will not be included, if the other file is - * available. + * file to your class. The wpdb class will still be included, + * so you can extend it or simply use your own. * * @link http://codex.wordpress.org/Function_Reference/wpdb_Class * @@ -461,23 +460,6 @@ class wpdb { */ var $func_call; - /** - * Connects to the database server and selects a database - * - * PHP4 compatibility layer for calling the PHP5 constructor. - * - * @uses wpdb::__construct() Passes parameters and returns result - * @since 0.71 - * - * @param string $dbuser MySQL database user - * @param string $dbpassword MySQL database password - * @param string $dbname MySQL database name - * @param string $dbhost MySQL database host - */ - function wpdb( $dbuser, $dbpassword, $dbname, $dbhost ) { - return $this->__construct( $dbuser, $dbpassword, $dbname, $dbhost ); - } - /** * Connects to the database server and selects a database * @@ -644,6 +626,7 @@ class wpdb { if ( is_multisite() ) { if ( null === $blog_id ) $blog_id = $this->blogid; + $blog_id = (int) $blog_id; if ( defined( 'MULTISITE' ) && ( 0 == $blog_id || 1 == $blog_id ) ) return $this->base_prefix; else @@ -1030,8 +1013,6 @@ class wpdb { * @since 3.0.0 */ function db_connect() { - global $db_list, $global_db_list; - if ( WP_DEBUG ) { $this->dbh = mysql_connect( $this->dbhost, $this->dbuser, $this->dbpassword, true ); } else { @@ -1102,10 +1083,12 @@ class wpdb { return false; } - if ( preg_match( "/^\\s*(insert|delete|update|replace|alter) /i", $query ) ) { + if ( preg_match( '/^\s*(create|alter|truncate|drop) /i', $query ) ) { + $return_val = $this->result; + } elseif ( preg_match( '/^\s*(insert|delete|update|replace) /i', $query ) ) { $this->rows_affected = mysql_affected_rows( $this->dbh ); // Take note of the insert_id - if ( preg_match( "/^\\s*(insert|replace) /i", $query ) ) { + if ( preg_match( '/^\s*(insert|replace) /i', $query ) ) { $this->insert_id = mysql_insert_id($this->dbh); } // Return number of rows affected @@ -1383,7 +1366,7 @@ class wpdb { // Return an array of row objects with keys from column 1 // (Duplicates are discarded) foreach ( $this->last_result as $row ) { - $key = array_shift( $var_by_ref = get_object_vars( $row ) ); + $key = array_shift( get_object_vars( $row ) ); if ( ! isset( $new_array[ $key ] ) ) $new_array[ $key ] = $row; } diff --git a/wp-includes/wp-diff.php b/wp-includes/wp-diff.php index e2ceb9f78..ed36ee908 100644 --- a/wp-includes/wp-diff.php +++ b/wp-includes/wp-diff.php @@ -60,7 +60,7 @@ class WP_Text_Diff_Renderer_Table extends Text_Diff_Renderer { var $inline_diff_renderer = 'WP_Text_Diff_Renderer_inline'; /** - * PHP4 Constructor - Call parent constructor with params array. + * Constructor - Call parent constructor with params array. * * This will set class properties based on the key value pairs in the array. * @@ -68,9 +68,8 @@ class WP_Text_Diff_Renderer_Table extends Text_Diff_Renderer { * * @param array $params */ - function Text_Diff_Renderer_Table( $params = array() ) { - $parent = get_parent_class($this); - $this->$parent( $params ); + function __construct( $params = array() ) { + parent::__construct( $params ); } /** diff --git a/wp-load.php b/wp-load.php index 7cb70f6af..8c23992f1 100644 --- a/wp-load.php +++ b/wp-load.php @@ -13,16 +13,15 @@ * directory to allow the WordPress directory to remain * untouched. * + * @internal This file must be parsable by PHP4. + * * @package WordPress */ /** Define ABSPATH as this files directory */ define( 'ABSPATH', dirname(__FILE__) . '/' ); -if ( defined('E_RECOVERABLE_ERROR') ) - error_reporting(E_CORE_ERROR | E_CORE_WARNING | E_COMPILE_ERROR | E_ERROR | E_WARNING | E_PARSE | E_USER_ERROR | E_USER_WARNING | E_RECOVERABLE_ERROR); -else - error_reporting(E_CORE_ERROR | E_CORE_WARNING | E_COMPILE_ERROR | E_ERROR | E_WARNING | E_PARSE | E_USER_ERROR | E_USER_WARNING); +error_reporting( E_CORE_ERROR | E_CORE_WARNING | E_COMPILE_ERROR | E_ERROR | E_WARNING | E_PARSE | E_USER_ERROR | E_USER_WARNING | E_RECOVERABLE_ERROR ); if ( file_exists( ABSPATH . 'wp-config.php') ) { @@ -44,12 +43,17 @@ if ( file_exists( ABSPATH . 'wp-config.php') ) { else $path = 'wp-admin/'; + require_once( ABSPATH . '/wp-includes/load.php' ); + require_once( ABSPATH . '/wp-includes/version.php' ); + define( 'WP_CONTENT_DIR', ABSPATH . 'wp-content' ); + wp_check_php_mysql_versions(); + // Die with an error message require_once( ABSPATH . '/wp-includes/class-wp-error.php' ); require_once( ABSPATH . '/wp-includes/functions.php' ); require_once( ABSPATH . '/wp-includes/plugin.php' ); - $text_direction = /*WP_I18N_TEXT_DIRECTION*/"ltr"/*/WP_I18N_TEXT_DIRECTION*/; - wp_die(sprintf(/*WP_I18N_NO_CONFIG*/"There doesn't seem to be a <code>wp-config.php</code> file. I need this before we can get started. Need more help? <a href='http://codex.wordpress.org/Editing_wp-config.php'>We got it</a>. You can create a <code>wp-config.php</code> file through a web interface, but this doesn't work for all server setups. The safest way is to manually create the file.</p><p><a href='%ssetup-config.php' class='button'>Create a Configuration File</a>"/*/WP_I18N_NO_CONFIG*/, $path), /*WP_I18N_ERROR_TITLE*/"WordPress › Error"/*/WP_I18N_ERROR_TITLE*/, array('text_direction' => $text_direction)); + $text_direction = /*WP_I18N_TEXT_DIRECTION*/'ltr'/*/WP_I18N_TEXT_DIRECTION*/; + wp_die(sprintf(/*WP_I18N_NO_CONFIG*/"There doesn't seem to be a <code>wp-config.php</code> file. I need this before we can get started. Need more help? <a href='http://codex.wordpress.org/Editing_wp-config.php'>We got it</a>. You can create a <code>wp-config.php</code> file through a web interface, but this doesn't work for all server setups. The safest way is to manually create the file.</p><p><a href='%ssetup-config.php' class='button'>Create a Configuration File</a>"/*/WP_I18N_NO_CONFIG*/, $path), /*WP_I18N_ERROR_TITLE*/'WordPress › Error'/*/WP_I18N_ERROR_TITLE*/, array('text_direction' => $text_direction)); } diff --git a/wp-login.php b/wp-login.php index ab9cff558..ffa00ab07 100644 --- a/wp-login.php +++ b/wp-login.php @@ -59,8 +59,8 @@ function login_header($title = 'Log In', $message = '', $wp_error = '') { <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" <?php language_attributes(); ?>> <head> - <title><?php bloginfo('name'); ?> › <?php echo $title; ?></title> <meta http-equiv="Content-Type" content="<?php bloginfo('html_type'); ?>; charset=<?php bloginfo('charset'); ?>" /> + <title><?php bloginfo('name'); ?> › <?php echo $title; ?></title> <?php wp_admin_css( 'login', true ); wp_admin_css( 'colors-fresh', true ); @@ -92,7 +92,7 @@ function login_header($title = 'Log In', $message = '', $wp_error = '') { $message = apply_filters('login_message', $message); if ( !empty( $message ) ) echo $message . "\n"; - // Incase a plugin uses $error rather than the $errors object + // In case a plugin uses $error rather than the $wp_errors object if ( !empty( $error ) ) { $wp_error->add('error', $error); unset($error); @@ -123,18 +123,17 @@ function login_header($title = 'Log In', $message = '', $wp_error = '') { * @param string $input_id Which input to auto-focus */ function login_footer($input_id = '') { - echo "</div>\n"; + ?> + <p id="backtoblog"><a href="<?php bloginfo('url'); ?>/" title="<?php esc_attr_e('Are you lost?') ?>"><?php printf(__('← Back to %s'), get_bloginfo('title', 'display' )); ?></a></p> + </div> - if ( !empty($input_id) ) { -?> +<?php if ( !empty($input_id) ) : ?> <script type="text/javascript"> try{document.getElementById('<?php echo $input_id; ?>').focus();}catch(e){} if(typeof wpOnload=='function')wpOnload(); </script> -<?php - } -?> -<p id="backtoblog"><a href="<?php bloginfo('url'); ?>/" title="<?php esc_attr_e('Are you lost?') ?>"><?php printf(__('← Back to %s'), get_bloginfo('title', 'display' )); ?></a></p> +<?php endif; ?> + <?php do_action('login_footer'); ?> </body> </html> @@ -368,7 +367,8 @@ if ( SITECOOKIEPATH != COOKIEPATH ) setcookie(TEST_COOKIE, 'WP Cookie check', 0, SITECOOKIEPATH, COOKIE_DOMAIN); // allow plugins to override the default actions, and to add extra actions if they want -do_action('login_form_' . $action); +do_action( 'login_init' ); +do_action( 'login_form_' . $action ); $http_post = ('POST' == $_SERVER['REQUEST_METHOD']); switch ($action) { @@ -586,7 +586,7 @@ default: if ( ( empty( $redirect_to ) || $redirect_to == 'wp-admin/' || $redirect_to == admin_url() ) ) { // If the user doesn't belong to a blog, send them to user admin. If the user can't edit posts, send them to their profile. - if ( is_multisite() && !get_active_blog_for_user($user->id) ) + if ( is_multisite() && !get_active_blog_for_user($user->id) && !is_super_admin( $user->id ) ) $redirect_to = user_admin_url(); elseif ( is_multisite() && !$user->has_cap('read') ) $redirect_to = get_dashboard_url( $user->id ); @@ -663,10 +663,6 @@ default: <a href="<?php echo site_url('wp-login.php?action=lostpassword', 'login') ?>" title="<?php _e('Password Lost and Found') ?>"><?php _e('Lost your password?') ?></a> <?php endif; ?> </p> -</div> -<p id="backtoblog"><a href="<?php bloginfo('url'); ?>/" title="<?php esc_attr_e('Are you lost?') ?>"><?php printf(__('← Back to %s'), get_bloginfo('title', 'display' )); ?></a></p> -<?php } else { ?> -</div> <?php } ?> <script type="text/javascript"> @@ -694,11 +690,9 @@ wp_attempt_focus(); <?php } ?> if(typeof wpOnload=='function')wpOnload(); </script> -<?php do_action( 'login_footer' ); ?> -</body> -</html> -<?php +<?php +login_footer(); break; } // end action switch ?> diff --git a/wp-settings.php b/wp-settings.php index 2cd12c1c1..9b89b577a 100644 --- a/wp-settings.php +++ b/wp-settings.php @@ -5,6 +5,8 @@ * * Allows for some configuration in wp-config.php (see default-constants.php) * + * @internal This file must be parsable by PHP4. + * * @package WordPress */ @@ -20,9 +22,12 @@ require( ABSPATH . WPINC . '/load.php' ); require( ABSPATH . WPINC . '/default-constants.php' ); require( ABSPATH . WPINC . '/version.php' ); -// Set initial default constants including WP_MEMORY_LIMIT, WP_DEBUG, WP_CONTENT_DIR and WP_CACHE. +// Set initial default constants including WP_MEMORY_LIMIT, WP_MAX_MEMORY_LIMIT, WP_DEBUG, WP_CONTENT_DIR and WP_CACHE. wp_initial_constants( ); +// Check for the required PHP version and for the MySQL extension or a database drop-in. +wp_check_php_mysql_versions(); + // Disable magic quotes at runtime. Magic quotes are added using wpdb later in wp-settings.php. set_magic_quotes_runtime( 0 ); @ini_set( 'magic_quotes_sybase', 0 ); @@ -40,10 +45,7 @@ unset( $wp_filter, $cache_lastcommentmodified ); // Standardize $_SERVER variables across setups. wp_fix_server_vars(); -// Check for the required PHP version and for the MySQL extension or a database drop-in. -wp_check_php_mysql_versions(); - -// Check if we have recieved a request due to missing favicon.ico +// Check if we have received a request due to missing favicon.ico wp_favicon_request(); // Check if we're in maintenance mode. @@ -216,7 +218,7 @@ do_action( 'sanitize_comment_cookies' ); * @global object $wp_the_query * @since 2.0.0 */ -$wp_the_query =& new WP_Query(); +$wp_the_query = new WP_Query(); /** * Holds the reference to @see $wp_the_query @@ -231,21 +233,21 @@ $wp_query =& $wp_the_query; * @global object $wp_rewrite * @since 1.5.0 */ -$wp_rewrite =& new WP_Rewrite(); +$wp_rewrite = new WP_Rewrite(); /** * WordPress Object * @global object $wp * @since 2.0.0 */ -$wp =& new WP(); +$wp = new WP(); /** * WordPress Widget Factory Object * @global object $wp_widget_factory * @since 2.8.0 */ -$wp_widget_factory =& new WP_Widget_Factory(); +$wp_widget_factory = new WP_Widget_Factory(); do_action( 'setup_theme' ); @@ -258,7 +260,7 @@ load_default_textdomain(); // Find the blog locale. $locale = get_locale(); $locale_file = WP_LANG_DIR . "/$locale.php"; -if ( is_readable( $locale_file ) ) +if ( ( 0 === validate_file( $locale ) ) && is_readable( $locale_file ) ) require( $locale_file ); unset($locale_file); @@ -270,13 +272,15 @@ require( ABSPATH . WPINC . '/locale.php' ); * @global object $wp_locale * @since 2.1.0 */ -$wp_locale =& new WP_Locale(); +$wp_locale = new WP_Locale(); // Load the functions for the active theme, for both parent and child theme if applicable. -if ( TEMPLATEPATH !== STYLESHEETPATH && file_exists( STYLESHEETPATH . '/functions.php' ) ) - include( STYLESHEETPATH . '/functions.php' ); -if ( file_exists( TEMPLATEPATH . '/functions.php' ) ) - include( TEMPLATEPATH . '/functions.php' ); +if ( ! defined( 'WP_INSTALLING' ) || 'wp-activate.php' === $pagenow ) { + if ( TEMPLATEPATH !== STYLESHEETPATH && file_exists( STYLESHEETPATH . '/functions.php' ) ) + include( STYLESHEETPATH . '/functions.php' ); + if ( file_exists( TEMPLATEPATH . '/functions.php' ) ) + include( TEMPLATEPATH . '/functions.php' ); +} do_action( 'after_setup_theme' ); diff --git a/wp-signup.php b/wp-signup.php index c2ab566b8..cce20833e 100644 --- a/wp-signup.php +++ b/wp-signup.php @@ -13,7 +13,7 @@ if ( is_array( get_site_option( 'illegal_names' )) && isset( $_GET[ 'new' ] ) && } function do_signup_header() { - do_action("signup_header"); + do_action( 'signup_header' ); } add_action( 'wp_head', 'do_signup_header' ); @@ -188,7 +188,7 @@ function signup_another_blog($blogname = '', $blog_title = '', $errors = '') { <p><?php _e( 'If you’re not going to use a great site domain, leave it for a new user. Now have at it!' ) ?></p> <form id="setupform" method="post" action="wp-signup.php"> <input type="hidden" name="stage" value="gimmeanotherblog" /> - <?php do_action( "signup_hidden_fields" ); ?> + <?php do_action( 'signup_hidden_fields' ); ?> <?php show_blog_form($blogname, $blog_title, $errors); ?> <p class="submit"><input type="submit" name="submit" class="submit" value="<?php esc_attr_e( 'Create Site' ) ?>" /></p> </form> @@ -252,7 +252,7 @@ function signup_user($user_name = '', $user_email = '', $errors = '') { <h2><?php printf( __( 'Get your own %s account in seconds' ), $current_site->site_name ) ?></h2> <form id="setupform" method="post" action="wp-signup.php"> <input type="hidden" name="stage" value="validate-user-signup" /> - <?php do_action( "signup_hidden_fields" ); ?> + <?php do_action( 'signup_hidden_fields' ); ?> <?php show_user_form($user_name, $user_email, $errors); ?> <p> @@ -288,7 +288,7 @@ function validate_user_signup() { return false; } - wpmu_signup_user($user_name, $user_email, apply_filters( "add_signup_meta", array() ) ); + wpmu_signup_user($user_name, $user_email, apply_filters( 'add_signup_meta', array() ) ); confirm_user_signup($user_name, $user_email); return true; @@ -323,7 +323,7 @@ function signup_blog($user_name = '', $user_email = '', $blogname = '', $blog_ti <input type="hidden" name="stage" value="validate-blog-signup" /> <input type="hidden" name="user_name" value="<?php echo esc_attr($user_name) ?>" /> <input type="hidden" name="user_email" value="<?php echo esc_attr($user_email) ?>" /> - <?php do_action( "signup_hidden_fields" ); ?> + <?php do_action( 'signup_hidden_fields' ); ?> <?php show_blog_form($blogname, $blog_title, $errors); ?> <p class="submit"><input type="submit" name="submit" class="submit" value="<?php esc_attr_e('Signup') ?>" /></p> </form> @@ -350,7 +350,7 @@ function validate_blog_signup() { $public = (int) $_POST['blog_public']; $meta = array ('lang_id' => 1, 'public' => $public); - $meta = apply_filters( "add_signup_meta", $meta ); + $meta = apply_filters( 'add_signup_meta', $meta ); wpmu_signup_blog($domain, $path, $blog_title, $user_name, $user_email, $meta); confirm_blog_signup($domain, $path, $blog_title, $user_name, $user_email, $meta); @@ -396,7 +396,7 @@ if ( is_super_admin() ) $newblogname = isset($_GET['new']) ? strtolower(preg_replace('/^-|-$|[^-a-zA-Z0-9]/', '', $_GET['new'])) : null; $current_user = wp_get_current_user(); -if ( $active_signup == "none" ) { +if ( $active_signup == 'none' ) { _e( 'Registration has been disabled.' ); } elseif ( $active_signup == 'blog' && !is_user_logged_in() ) { if ( is_ssl() ) @@ -426,7 +426,7 @@ if ( $active_signup == "none" ) { case 'default': default : $user_email = isset( $_POST[ 'user_email' ] ) ? $_POST[ 'user_email' ] : ''; - do_action( "preprocess_signup_form" ); // populate the form from invites, elsewhere? + do_action( 'preprocess_signup_form' ); // populate the form from invites, elsewhere? if ( is_user_logged_in() && ( $active_signup == 'all' || $active_signup == 'blog' ) ) signup_another_blog($newblogname); elseif ( is_user_logged_in() == false && ( $active_signup == 'all' || $active_signup == 'user' ) ) diff --git a/xmlrpc.php b/xmlrpc.php index 851717764..ff7bfcde9 100644 --- a/xmlrpc.php +++ b/xmlrpc.php @@ -42,7 +42,7 @@ header('Content-Type: text/xml; charset=' . get_option('blog_charset'), true); <api name="Movable Type" blogID="1" preferred="false" apiLink="<?php echo site_url('xmlrpc.php', 'rpc') ?>" /> <api name="MetaWeblog" blogID="1" preferred="false" apiLink="<?php echo site_url('xmlrpc.php', 'rpc') ?>" /> <api name="Blogger" blogID="1" preferred="false" apiLink="<?php echo site_url('xmlrpc.php', 'rpc') ?>" /> - <api name="Atom" blogID="" preferred="false" apiLink="<?php echo apply_filters('atom_service_url', site_url('wp-app.php/service', 'rpc') ) ?>" /> + <api name="Atom" blogID="" preferred="false" apiLink="<?php echo site_url('wp-app.php/service', 'rpc') ?>" /> </apis> </service> </rsd> @@ -98,6 +98,9 @@ function logIO($io,$msg) { if ( isset($HTTP_RAW_POST_DATA) ) logIO("I", $HTTP_RAW_POST_DATA); +// Make sure wp_die output is XML +add_filter( 'wp_die_handler', '_xmlrpc_wp_die_filter' ); + // Allow for a plugin to insert a different class to handle requests. $wp_xmlrpc_server_class = apply_filters('wp_xmlrpc_server_class', 'wp_xmlrpc_server'); $wp_xmlrpc_server = new $wp_xmlrpc_server_class; -- GitLab