summaryrefslogtreecommitdiffstats
path: root/wp-inst
diff options
context:
space:
mode:
authordonncha <donncha@7be80a69-a1ef-0310-a953-fb0f7c49ff36>2006-06-22 18:31:50 +0000
committerdonncha <donncha@7be80a69-a1ef-0310-a953-fb0f7c49ff36>2006-06-22 18:31:50 +0000
commitd48e85e0ac5e675ca33fac173f30c75403d1033f (patch)
tree1164430fa3b83a4d9283961b09c1576f2885e6b2 /wp-inst
parent086dcde66603301531efc6d8087bd06d0546f148 (diff)
downloadwordpress-mu-d48e85e0ac5e675ca33fac173f30c75403d1033f.tar.gz
wordpress-mu-d48e85e0ac5e675ca33fac173f30c75403d1033f.tar.xz
wordpress-mu-d48e85e0ac5e675ca33fac173f30c75403d1033f.zip
Moved everything in wp-inst down a directory.
Uses's Ryan Boren's htaccess rules and mods If you're upgrading, try this on a test server first! git-svn-id: http://svn.automattic.com/wordpress-mu/trunk@591 7be80a69-a1ef-0310-a953-fb0f7c49ff36
Diffstat (limited to 'wp-inst')
-rw-r--r--wp-inst/favicon.icobin1406 -> 0 bytes
-rw-r--r--wp-inst/htaccess.dist5
-rw-r--r--wp-inst/index.php5
-rw-r--r--wp-inst/license.txt280
-rw-r--r--wp-inst/wp-activate.php77
-rw-r--r--wp-inst/wp-admin/admin-ajax.php234
-rw-r--r--wp-inst/wp-admin/admin-db.php554
-rw-r--r--wp-inst/wp-admin/admin-footer.php13
-rw-r--r--wp-inst/wp-admin/admin-functions.php2008
-rw-r--r--wp-inst/wp-admin/admin-header.php41
-rw-r--r--wp-inst/wp-admin/admin.php120
-rw-r--r--wp-inst/wp-admin/bookmarklet.php104
-rw-r--r--wp-inst/wp-admin/cat-js.php35
-rw-r--r--wp-inst/wp-admin/categories.js5
-rw-r--r--wp-inst/wp-admin/categories.php135
-rw-r--r--wp-inst/wp-admin/comment.php209
-rw-r--r--wp-inst/wp-admin/custom-fields.js26
-rw-r--r--wp-inst/wp-admin/dbx-admin-key-js.php68
-rw-r--r--wp-inst/wp-admin/edit-category-form.php46
-rw-r--r--wp-inst/wp-admin/edit-comments.js23
-rw-r--r--wp-inst/wp-admin/edit-comments.php211
-rw-r--r--wp-inst/wp-admin/edit-form-advanced.php237
-rw-r--r--wp-inst/wp-admin/edit-form-ajax-cat.php37
-rw-r--r--wp-inst/wp-admin/edit-form-comment.php80
-rw-r--r--wp-inst/wp-admin/edit-form.php75
-rw-r--r--wp-inst/wp-admin/edit-link-form.php257
-rw-r--r--wp-inst/wp-admin/edit-page-form.php194
-rw-r--r--wp-inst/wp-admin/edit-pages.php62
-rw-r--r--wp-inst/wp-admin/edit.php296
-rw-r--r--wp-inst/wp-admin/export.php106
-rw-r--r--wp-inst/wp-admin/images/box-bg.gifbin111 -> 0 bytes
-rw-r--r--wp-inst/wp-admin/images/box-butt.gifbin347 -> 0 bytes
-rw-r--r--wp-inst/wp-admin/images/box-head.gifbin879 -> 0 bytes
-rw-r--r--wp-inst/wp-admin/images/browse-happy.gifbin4398 -> 0 bytes
-rw-r--r--wp-inst/wp-admin/images/fade-butt.pngbin785 -> 0 bytes
-rw-r--r--wp-inst/wp-admin/images/notice.gifbin156 -> 0 bytes
-rw-r--r--wp-inst/wp-admin/images/toggle.gifbin216 -> 0 bytes
-rw-r--r--wp-inst/wp-admin/images/wordpress-logo.pngbin2098 -> 0 bytes
-rw-r--r--wp-inst/wp-admin/import.php62
-rw-r--r--wp-inst/wp-admin/import/b2.php0
-rw-r--r--wp-inst/wp-admin/import/blogger.php675
-rw-r--r--wp-inst/wp-admin/import/blogware.php192
-rw-r--r--wp-inst/wp-admin/import/dotclear.php747
-rw-r--r--wp-inst/wp-admin/import/greymatter.php312
-rw-r--r--wp-inst/wp-admin/import/livejournal.php168
-rw-r--r--wp-inst/wp-admin/import/mt.php407
-rw-r--r--wp-inst/wp-admin/import/rss.php171
-rw-r--r--wp-inst/wp-admin/import/textpattern.php663
-rw-r--r--wp-inst/wp-admin/import/wordpress.php288
-rw-r--r--wp-inst/wp-admin/index.php181
-rw-r--r--wp-inst/wp-admin/inline-uploading.php728
-rw-r--r--wp-inst/wp-admin/install-helper.php152
-rw-r--r--wp-inst/wp-admin/invites.php196
-rw-r--r--wp-inst/wp-admin/link-add.php49
-rw-r--r--wp-inst/wp-admin/link-import.php133
-rw-r--r--wp-inst/wp-admin/link-manager.php209
-rw-r--r--wp-inst/wp-admin/link-parse-opml.php65
-rw-r--r--wp-inst/wp-admin/link.php128
-rw-r--r--wp-inst/wp-admin/list-manipulation-js.php163
-rw-r--r--wp-inst/wp-admin/menu-header.php61
-rw-r--r--wp-inst/wp-admin/menu.php141
-rw-r--r--wp-inst/wp-admin/moderation.php232
-rw-r--r--wp-inst/wp-admin/options-discussion.php101
-rw-r--r--wp-inst/wp-admin/options-general.php123
-rw-r--r--wp-inst/wp-admin/options-head.php24
-rw-r--r--wp-inst/wp-admin/options-misc.php52
-rw-r--r--wp-inst/wp-admin/options-permalink.php180
-rw-r--r--wp-inst/wp-admin/options-reading.php95
-rw-r--r--wp-inst/wp-admin/options-writing.php66
-rw-r--r--wp-inst/wp-admin/options.php163
-rw-r--r--wp-inst/wp-admin/page-new.php23
-rw-r--r--wp-inst/wp-admin/page.php159
-rw-r--r--wp-inst/wp-admin/plugin-editor.php127
-rw-r--r--wp-inst/wp-admin/plugins.php142
-rw-r--r--wp-inst/wp-admin/post-new.php94
-rw-r--r--wp-inst/wp-admin/post.php161
-rw-r--r--wp-inst/wp-admin/profile-update.php34
-rw-r--r--wp-inst/wp-admin/profile.php148
-rw-r--r--wp-inst/wp-admin/setup-config.php189
-rw-r--r--wp-inst/wp-admin/sidebar.php80
-rw-r--r--wp-inst/wp-admin/templates.php171
-rw-r--r--wp-inst/wp-admin/theme-editor.php162
-rw-r--r--wp-inst/wp-admin/themes.php142
-rw-r--r--wp-inst/wp-admin/update-links.php44
-rw-r--r--wp-inst/wp-admin/upgrade-functions.php1076
-rw-r--r--wp-inst/wp-admin/upgrade-schema.php467
-rw-r--r--wp-inst/wp-admin/upgrade.php106
-rw-r--r--wp-inst/wp-admin/user-edit.php280
-rw-r--r--wp-inst/wp-admin/users.js20
-rw-r--r--wp-inst/wp-admin/users.php597
-rw-r--r--wp-inst/wp-admin/wp-admin.css1009
-rw-r--r--wp-inst/wp-admin/wpmu-admin.php52
-rw-r--r--wp-inst/wp-admin/wpmu-blogs.php527
-rw-r--r--wp-inst/wp-admin/wpmu-edit.php263
-rw-r--r--wp-inst/wp-admin/wpmu-feedback.php10
-rw-r--r--wp-inst/wp-admin/wpmu-feeds.php43
-rw-r--r--wp-inst/wp-admin/wpmu-options.php131
-rw-r--r--wp-inst/wp-admin/wpmu-themes.php57
-rw-r--r--wp-inst/wp-admin/wpmu-upgrade-site.php73
-rw-r--r--wp-inst/wp-admin/wpmu-users.php339
-rw-r--r--wp-inst/wp-admin/xfn.js46
-rw-r--r--wp-inst/wp-atom.php45
-rw-r--r--wp-inst/wp-blog-header.php21
-rw-r--r--wp-inst/wp-comments-post.php64
-rw-r--r--wp-inst/wp-commentsrss2.php87
-rw-r--r--wp-inst/wp-config-sample.php88
-rw-r--r--wp-inst/wp-content/blogs.php50
-rw-r--r--wp-inst/wp-content/index.php3
-rw-r--r--wp-inst/wp-content/mu-plugins/global-categories.php31
-rw-r--r--wp-inst/wp-content/mu-plugins/misc.php124
-rw-r--r--wp-inst/wp-content/mu-plugins/pluggable.php160
-rw-r--r--wp-inst/wp-content/themes/classic/comments-popup.php113
-rw-r--r--wp-inst/wp-content/themes/classic/comments.php75
-rw-r--r--wp-inst/wp-content/themes/classic/footer.php12
-rw-r--r--wp-inst/wp-content/themes/classic/header.php30
-rw-r--r--wp-inst/wp-content/themes/classic/index.php32
-rw-r--r--wp-inst/wp-content/themes/classic/screenshot.pngbin8412 -> 0 bytes
-rw-r--r--wp-inst/wp-content/themes/classic/sidebar.php43
-rw-r--r--wp-inst/wp-content/themes/classic/style.css313
-rw-r--r--wp-inst/wp-content/themes/default/404.php11
-rw-r--r--wp-inst/wp-content/themes/default/archive.php68
-rw-r--r--wp-inst/wp-content/themes/default/archives.php25
-rw-r--r--wp-inst/wp-content/themes/default/attachment.php67
-rw-r--r--wp-inst/wp-content/themes/default/comments-popup.php113
-rw-r--r--wp-inst/wp-content/themes/default/comments.php104
-rw-r--r--wp-inst/wp-content/themes/default/footer.php19
-rw-r--r--wp-inst/wp-content/themes/default/functions.php395
-rw-r--r--wp-inst/wp-content/themes/default/header.php56
-rw-r--r--wp-inst/wp-content/themes/default/images/audio.jpgbin4671 -> 0 bytes
-rw-r--r--wp-inst/wp-content/themes/default/images/header-img.php77
-rw-r--r--wp-inst/wp-content/themes/default/images/kubrickbg.jpgbin1043 -> 0 bytes
-rw-r--r--wp-inst/wp-content/themes/default/images/kubrickbgcolor.jpgbin556 -> 0 bytes
-rw-r--r--wp-inst/wp-content/themes/default/images/kubrickbgwide.jpgbin1014 -> 0 bytes
-rw-r--r--wp-inst/wp-content/themes/default/images/kubrickfooter.jpgbin2443 -> 0 bytes
-rw-r--r--wp-inst/wp-content/themes/default/images/kubrickheader.jpgbin7868 -> 0 bytes
-rw-r--r--wp-inst/wp-content/themes/default/index.php39
-rw-r--r--wp-inst/wp-content/themes/default/links.php18
-rw-r--r--wp-inst/wp-content/themes/default/page.php21
-rw-r--r--wp-inst/wp-content/themes/default/screenshot.pngbin10608 -> 0 bytes
-rw-r--r--wp-inst/wp-content/themes/default/search.php42
-rw-r--r--wp-inst/wp-content/themes/default/searchform.php5
-rw-r--r--wp-inst/wp-content/themes/default/sidebar.php68
-rw-r--r--wp-inst/wp-content/themes/default/single.php65
-rw-r--r--wp-inst/wp-content/themes/default/style.css622
-rw-r--r--wp-inst/wp-content/themes/home/404.php11
-rw-r--r--wp-inst/wp-content/themes/home/archive.php68
-rw-r--r--wp-inst/wp-content/themes/home/archives.php25
-rw-r--r--wp-inst/wp-content/themes/home/comments-popup.php113
-rw-r--r--wp-inst/wp-content/themes/home/comments.php104
-rw-r--r--wp-inst/wp-content/themes/home/footer.php20
-rw-r--r--wp-inst/wp-content/themes/home/header.php61
-rw-r--r--wp-inst/wp-content/themes/home/home.php20
-rw-r--r--wp-inst/wp-content/themes/home/images/kubrickbg.jpgbin1043 -> 0 bytes
-rw-r--r--wp-inst/wp-content/themes/home/images/kubrickbgcolor.jpgbin556 -> 0 bytes
-rw-r--r--wp-inst/wp-content/themes/home/images/kubrickbgwide.jpgbin1014 -> 0 bytes
-rw-r--r--wp-inst/wp-content/themes/home/images/kubrickfooter.jpgbin2443 -> 0 bytes
-rw-r--r--wp-inst/wp-content/themes/home/images/kubrickheader.jpgbin7868 -> 0 bytes
-rw-r--r--wp-inst/wp-content/themes/home/index.php39
-rw-r--r--wp-inst/wp-content/themes/home/links.php18
-rw-r--r--wp-inst/wp-content/themes/home/page.php21
-rw-r--r--wp-inst/wp-content/themes/home/screenshot.pngbin10608 -> 0 bytes
-rw-r--r--wp-inst/wp-content/themes/home/search.php46
-rw-r--r--wp-inst/wp-content/themes/home/searchform.php5
-rw-r--r--wp-inst/wp-content/themes/home/sidebar.php72
-rw-r--r--wp-inst/wp-content/themes/home/single.php65
-rw-r--r--wp-inst/wp-content/themes/home/style.css610
-rw-r--r--wp-inst/wp-cron.php24
-rw-r--r--wp-inst/wp-feed.php10
-rw-r--r--wp-inst/wp-includes/author-template.php233
-rw-r--r--wp-inst/wp-includes/bookmark-template.php378
-rw-r--r--wp-inst/wp-includes/bookmark.php134
-rw-r--r--wp-inst/wp-includes/cache.php434
-rw-r--r--wp-inst/wp-includes/capabilities.php474
-rw-r--r--wp-inst/wp-includes/category-template.php268
-rw-r--r--wp-inst/wp-includes/category.php205
-rw-r--r--wp-inst/wp-includes/class-IXR.php815
-rw-r--r--wp-inst/wp-includes/class-pop3.php680
-rw-r--r--wp-inst/wp-includes/class-snoopy.php1259
-rw-r--r--wp-inst/wp-includes/classes.php687
-rw-r--r--wp-inst/wp-includes/comment-template.php375
-rw-r--r--wp-inst/wp-includes/comment.php622
-rw-r--r--wp-inst/wp-includes/compat.php114
-rw-r--r--wp-inst/wp-includes/cron.php113
-rw-r--r--wp-inst/wp-includes/default-filters.php130
-rw-r--r--wp-inst/wp-includes/deprecated.php479
-rw-r--r--wp-inst/wp-includes/feed.php164
-rw-r--r--wp-inst/wp-includes/formatting.php1049
-rw-r--r--wp-inst/wp-includes/functions.php1168
-rw-r--r--wp-inst/wp-includes/general-template.php773
-rw-r--r--wp-inst/wp-includes/gettext.php361
-rw-r--r--wp-inst/wp-includes/images/smilies/icon_arrow.gifbin170 -> 0 bytes
-rw-r--r--wp-inst/wp-includes/images/smilies/icon_biggrin.gifbin172 -> 0 bytes
-rw-r--r--wp-inst/wp-includes/images/smilies/icon_confused.gifbin171 -> 0 bytes
-rw-r--r--wp-inst/wp-includes/images/smilies/icon_cool.gifbin172 -> 0 bytes
-rw-r--r--wp-inst/wp-includes/images/smilies/icon_cry.gifbin498 -> 0 bytes
-rw-r--r--wp-inst/wp-includes/images/smilies/icon_eek.gifbin170 -> 0 bytes
-rw-r--r--wp-inst/wp-includes/images/smilies/icon_evil.gifbin236 -> 0 bytes
-rw-r--r--wp-inst/wp-includes/images/smilies/icon_exclaim.gifbin236 -> 0 bytes
-rw-r--r--wp-inst/wp-includes/images/smilies/icon_idea.gifbin176 -> 0 bytes
-rw-r--r--wp-inst/wp-includes/images/smilies/icon_lol.gifbin336 -> 0 bytes
-rw-r--r--wp-inst/wp-includes/images/smilies/icon_mad.gifbin174 -> 0 bytes
-rw-r--r--wp-inst/wp-includes/images/smilies/icon_mrgreen.gifbin349 -> 0 bytes
-rw-r--r--wp-inst/wp-includes/images/smilies/icon_neutral.gifbin171 -> 0 bytes
-rw-r--r--wp-inst/wp-includes/images/smilies/icon_question.gifbin248 -> 0 bytes
-rw-r--r--wp-inst/wp-includes/images/smilies/icon_razz.gifbin176 -> 0 bytes
-rw-r--r--wp-inst/wp-includes/images/smilies/icon_redface.gifbin650 -> 0 bytes
-rw-r--r--wp-inst/wp-includes/images/smilies/icon_rolleyes.gifbin485 -> 0 bytes
-rw-r--r--wp-inst/wp-includes/images/smilies/icon_sad.gifbin171 -> 0 bytes
-rw-r--r--wp-inst/wp-includes/images/smilies/icon_smile.gifbin174 -> 0 bytes
-rw-r--r--wp-inst/wp-includes/images/smilies/icon_surprised.gifbin174 -> 0 bytes
-rw-r--r--wp-inst/wp-includes/images/smilies/icon_twisted.gifbin238 -> 0 bytes
-rw-r--r--wp-inst/wp-includes/images/smilies/icon_wink.gifbin170 -> 0 bytes
-rw-r--r--wp-inst/wp-includes/images/wordpress-mu.pngbin3063 -> 0 bytes
-rw-r--r--wp-inst/wp-includes/js/colorpicker.js707
-rw-r--r--wp-inst/wp-includes/js/dbx.js6
-rw-r--r--wp-inst/wp-includes/js/fat.js90
-rw-r--r--wp-inst/wp-includes/js/quicktags.js389
-rw-r--r--wp-inst/wp-includes/js/scriptaculous/MIT-LICENSE20
-rw-r--r--wp-inst/wp-includes/js/scriptaculous/builder.js101
-rw-r--r--wp-inst/wp-includes/js/scriptaculous/controls.js815
-rw-r--r--wp-inst/wp-includes/js/scriptaculous/dragdrop.js915
-rw-r--r--wp-inst/wp-includes/js/scriptaculous/effects.js958
-rw-r--r--wp-inst/wp-includes/js/scriptaculous/prototype.js2006
-rw-r--r--wp-inst/wp-includes/js/scriptaculous/scriptaculous.js47
-rw-r--r--wp-inst/wp-includes/js/scriptaculous/slider.js283
-rw-r--r--wp-inst/wp-includes/js/scriptaculous/unittest.js383
-rw-r--r--wp-inst/wp-includes/js/tinymce/blank.htm9
-rw-r--r--wp-inst/wp-includes/js/tinymce/langs/en.js41
-rw-r--r--wp-inst/wp-includes/js/tinymce/license.html465
-rw-r--r--wp-inst/wp-includes/js/tinymce/license.txt437
-rw-r--r--wp-inst/wp-includes/js/tinymce/plugins/autosave/editor_plugin.js48
-rw-r--r--wp-inst/wp-includes/js/tinymce/plugins/autosave/editor_plugin_src.js30
-rw-r--r--wp-inst/wp-includes/js/tinymce/plugins/autosave/langs/cs.js0
-rw-r--r--wp-inst/wp-includes/js/tinymce/plugins/autosave/langs/en.js5
-rw-r--r--wp-inst/wp-includes/js/tinymce/plugins/autosave/langs/sv.js0
-rw-r--r--wp-inst/wp-includes/js/tinymce/plugins/autosave/readme.txt1
-rw-r--r--wp-inst/wp-includes/js/tinymce/plugins/directionality/editor_plugin.js83
-rw-r--r--wp-inst/wp-includes/js/tinymce/plugins/directionality/images/ltr.gifbin155 -> 0 bytes
-rw-r--r--wp-inst/wp-includes/js/tinymce/plugins/directionality/images/rtl.gifbin153 -> 0 bytes
-rw-r--r--wp-inst/wp-includes/js/tinymce/plugins/directionality/langs/en.js6
-rw-r--r--wp-inst/wp-includes/js/tinymce/plugins/inlinepopups/css/inlinepopup.css69
-rw-r--r--wp-inst/wp-includes/js/tinymce/plugins/inlinepopups/editor_plugin.js665
-rw-r--r--wp-inst/wp-includes/js/tinymce/plugins/inlinepopups/editor_plugin_src.js0
-rw-r--r--wp-inst/wp-includes/js/tinymce/plugins/inlinepopups/images/spacer.gifbin43 -> 0 bytes
-rw-r--r--wp-inst/wp-includes/js/tinymce/plugins/inlinepopups/images/window_close.gifbin110 -> 0 bytes
-rw-r--r--wp-inst/wp-includes/js/tinymce/plugins/inlinepopups/images/window_maximize.gifbin111 -> 0 bytes
-rw-r--r--wp-inst/wp-includes/js/tinymce/plugins/inlinepopups/images/window_minimize.gifbin112 -> 0 bytes
-rw-r--r--wp-inst/wp-includes/js/tinymce/plugins/inlinepopups/images/window_resize.gifbin74 -> 0 bytes
-rw-r--r--wp-inst/wp-includes/js/tinymce/plugins/inlinepopups/jscripts/mcwindows.js455
-rw-r--r--wp-inst/wp-includes/js/tinymce/plugins/inlinepopups/readme.txt0
-rw-r--r--wp-inst/wp-includes/js/tinymce/plugins/paste/blank.htm19
-rw-r--r--wp-inst/wp-includes/js/tinymce/plugins/paste/css/blank.css13
-rw-r--r--wp-inst/wp-includes/js/tinymce/plugins/paste/css/pasteword.css3
-rw-r--r--wp-inst/wp-includes/js/tinymce/plugins/paste/editor_plugin.js388
-rw-r--r--wp-inst/wp-includes/js/tinymce/plugins/paste/images/pastetext.gifbin294 -> 0 bytes
-rw-r--r--wp-inst/wp-includes/js/tinymce/plugins/paste/images/pasteword.gifbin299 -> 0 bytes
-rw-r--r--wp-inst/wp-includes/js/tinymce/plugins/paste/images/selectall.gifbin205 -> 0 bytes
-rw-r--r--wp-inst/wp-includes/js/tinymce/plugins/paste/jscripts/pastetext.js34
-rw-r--r--wp-inst/wp-includes/js/tinymce/plugins/paste/jscripts/pasteword.js46
-rw-r--r--wp-inst/wp-includes/js/tinymce/plugins/paste/langs/en.js10
-rw-r--r--wp-inst/wp-includes/js/tinymce/plugins/paste/pastetext.htm34
-rw-r--r--wp-inst/wp-includes/js/tinymce/plugins/paste/pasteword.htm29
-rwxr-xr-xwp-inst/wp-includes/js/tinymce/plugins/spellchecker/classes/HttpClient.class.php339
-rwxr-xr-xwp-inst/wp-includes/js/tinymce/plugins/spellchecker/classes/TinyGoogleSpell.class.php73
-rwxr-xr-xwp-inst/wp-includes/js/tinymce/plugins/spellchecker/classes/TinyPspell.class.php64
-rwxr-xr-xwp-inst/wp-includes/js/tinymce/plugins/spellchecker/classes/TinyPspellShell.class.php102
-rwxr-xr-xwp-inst/wp-includes/js/tinymce/plugins/spellchecker/config.php29
-rwxr-xr-xwp-inst/wp-includes/js/tinymce/plugins/spellchecker/css/content.css5
-rwxr-xr-xwp-inst/wp-includes/js/tinymce/plugins/spellchecker/css/spellchecker.css34
-rwxr-xr-xwp-inst/wp-includes/js/tinymce/plugins/spellchecker/editor_plugin.js573
-rwxr-xr-xwp-inst/wp-includes/js/tinymce/plugins/spellchecker/images/spellchecker.gifbin591 -> 0 bytes
-rwxr-xr-xwp-inst/wp-includes/js/tinymce/plugins/spellchecker/images/wline.gifbin46 -> 0 bytes
-rwxr-xr-xwp-inst/wp-includes/js/tinymce/plugins/spellchecker/langs/en.js14
-rwxr-xr-xwp-inst/wp-includes/js/tinymce/plugins/spellchecker/tinyspell.php133
-rw-r--r--wp-inst/wp-includes/js/tinymce/plugins/wordpress/editor_plugin.js400
-rw-r--r--wp-inst/wp-includes/js/tinymce/plugins/wordpress/images/help.gifbin295 -> 0 bytes
-rw-r--r--wp-inst/wp-includes/js/tinymce/plugins/wordpress/images/more.gifbin108 -> 0 bytes
-rw-r--r--wp-inst/wp-includes/js/tinymce/plugins/wordpress/images/more_bug.gifbin146 -> 0 bytes
-rw-r--r--wp-inst/wp-includes/js/tinymce/plugins/wordpress/images/page.gifbin108 -> 0 bytes
-rw-r--r--wp-inst/wp-includes/js/tinymce/plugins/wordpress/images/page_bug.gifbin180 -> 0 bytes
-rwxr-xr-xwp-inst/wp-includes/js/tinymce/plugins/wordpress/images/toolbars.gifbin260 -> 0 bytes
-rw-r--r--wp-inst/wp-includes/js/tinymce/plugins/wordpress/langs/en.js33
-rw-r--r--wp-inst/wp-includes/js/tinymce/plugins/wordpress/popups.css354
-rw-r--r--wp-inst/wp-includes/js/tinymce/plugins/wordpress/wordpress.css84
-rw-r--r--wp-inst/wp-includes/js/tinymce/plugins/wphelp/editor_plugin.js57
-rw-r--r--wp-inst/wp-includes/js/tinymce/plugins/wphelp/images/help.gifbin295 -> 0 bytes
-rw-r--r--wp-inst/wp-includes/js/tinymce/plugins/wphelp/langs/en.js5
-rw-r--r--wp-inst/wp-includes/js/tinymce/themes/advanced/about.htm52
-rw-r--r--wp-inst/wp-includes/js/tinymce/themes/advanced/anchor.htm33
-rw-r--r--wp-inst/wp-includes/js/tinymce/themes/advanced/charmap.htm53
-rw-r--r--wp-inst/wp-includes/js/tinymce/themes/advanced/color_picker.htm13
-rw-r--r--wp-inst/wp-includes/js/tinymce/themes/advanced/css/editor_content.css53
-rw-r--r--wp-inst/wp-includes/js/tinymce/themes/advanced/css/editor_popup.css354
-rw-r--r--wp-inst/wp-includes/js/tinymce/themes/advanced/css/editor_ui.css348
-rw-r--r--wp-inst/wp-includes/js/tinymce/themes/advanced/editor_template.js1409
-rw-r--r--wp-inst/wp-includes/js/tinymce/themes/advanced/editor_template_src.js0
-rw-r--r--wp-inst/wp-includes/js/tinymce/themes/advanced/image.htm100
-rw-r--r--wp-inst/wp-includes/js/tinymce/themes/advanced/images/anchor.gifbin171 -> 0 bytes
-rw-r--r--wp-inst/wp-includes/js/tinymce/themes/advanced/images/anchor_symbol.gifbin70 -> 0 bytes
-rw-r--r--wp-inst/wp-includes/js/tinymce/themes/advanced/images/backcolor.gifbin174 -> 0 bytes
-rw-r--r--wp-inst/wp-includes/js/tinymce/themes/advanced/images/bold.gifbin76 -> 0 bytes
-rw-r--r--wp-inst/wp-includes/js/tinymce/themes/advanced/images/bold_de_se.gifbin73 -> 0 bytes
-rw-r--r--wp-inst/wp-includes/js/tinymce/themes/advanced/images/bold_es.gifbin80 -> 0 bytes
-rw-r--r--wp-inst/wp-includes/js/tinymce/themes/advanced/images/bold_fr.gifbin78 -> 0 bytes
-rw-r--r--wp-inst/wp-includes/js/tinymce/themes/advanced/images/bold_ru.gifbin77 -> 0 bytes
-rw-r--r--wp-inst/wp-includes/js/tinymce/themes/advanced/images/bold_tw.gifbin207 -> 0 bytes
-rw-r--r--wp-inst/wp-includes/js/tinymce/themes/advanced/images/browse.gifbin113 -> 0 bytes
-rw-r--r--wp-inst/wp-includes/js/tinymce/themes/advanced/images/bullist.gifbin108 -> 0 bytes
-rw-r--r--wp-inst/wp-includes/js/tinymce/themes/advanced/images/button_menu.gifbin57 -> 0 bytes
-rw-r--r--wp-inst/wp-includes/js/tinymce/themes/advanced/images/buttons.gifbin8399 -> 0 bytes
-rw-r--r--wp-inst/wp-includes/js/tinymce/themes/advanced/images/cancel_button_bg.gifbin677 -> 0 bytes
-rw-r--r--wp-inst/wp-includes/js/tinymce/themes/advanced/images/center.gifbin70 -> 0 bytes
-rw-r--r--wp-inst/wp-includes/js/tinymce/themes/advanced/images/charmap.gifbin245 -> 0 bytes
-rw-r--r--wp-inst/wp-includes/js/tinymce/themes/advanced/images/cleanup.gifbin256 -> 0 bytes
-rw-r--r--wp-inst/wp-includes/js/tinymce/themes/advanced/images/close.gifbin102 -> 0 bytes
-rw-r--r--wp-inst/wp-includes/js/tinymce/themes/advanced/images/code.gifbin110 -> 0 bytes
-rw-r--r--wp-inst/wp-includes/js/tinymce/themes/advanced/images/color.gifbin125 -> 0 bytes
-rw-r--r--wp-inst/wp-includes/js/tinymce/themes/advanced/images/copy.gifbin263 -> 0 bytes
-rw-r--r--wp-inst/wp-includes/js/tinymce/themes/advanced/images/custom_1.gifbin76 -> 0 bytes
-rw-r--r--wp-inst/wp-includes/js/tinymce/themes/advanced/images/cut.gifbin187 -> 0 bytes
-rw-r--r--wp-inst/wp-includes/js/tinymce/themes/advanced/images/forecolor.gifbin272 -> 0 bytes
-rw-r--r--wp-inst/wp-includes/js/tinymce/themes/advanced/images/full.gifbin71 -> 0 bytes
-rw-r--r--wp-inst/wp-includes/js/tinymce/themes/advanced/images/help.gifbin295 -> 0 bytes
-rw-r--r--wp-inst/wp-includes/js/tinymce/themes/advanced/images/hr.gifbin63 -> 0 bytes
-rw-r--r--wp-inst/wp-includes/js/tinymce/themes/advanced/images/image.gifbin194 -> 0 bytes
-rw-r--r--wp-inst/wp-includes/js/tinymce/themes/advanced/images/indent.gifbin112 -> 0 bytes
-rw-r--r--wp-inst/wp-includes/js/tinymce/themes/advanced/images/insert_button_bg.gifbin703 -> 0 bytes
-rw-r--r--wp-inst/wp-includes/js/tinymce/themes/advanced/images/italic.gifbin79 -> 0 bytes
-rw-r--r--wp-inst/wp-includes/js/tinymce/themes/advanced/images/italic_de_se.gifbin75 -> 0 bytes
-rw-r--r--wp-inst/wp-includes/js/tinymce/themes/advanced/images/italic_es.gifbin74 -> 0 bytes
-rw-r--r--wp-inst/wp-includes/js/tinymce/themes/advanced/images/italic_ru.gifbin78 -> 0 bytes
-rw-r--r--wp-inst/wp-includes/js/tinymce/themes/advanced/images/italic_tw.gifbin274 -> 0 bytes
-rw-r--r--wp-inst/wp-includes/js/tinymce/themes/advanced/images/justifycenter.gifbin70 -> 0 bytes
-rw-r--r--wp-inst/wp-includes/js/tinymce/themes/advanced/images/justifyfull.gifbin71 -> 0 bytes
-rw-r--r--wp-inst/wp-includes/js/tinymce/themes/advanced/images/justifyleft.gifbin71 -> 0 bytes
-rw-r--r--wp-inst/wp-includes/js/tinymce/themes/advanced/images/justifyright.gifbin70 -> 0 bytes
-rw-r--r--wp-inst/wp-includes/js/tinymce/themes/advanced/images/left.gifbin71 -> 0 bytes
-rw-r--r--wp-inst/wp-includes/js/tinymce/themes/advanced/images/link.gifbin175 -> 0 bytes
-rw-r--r--wp-inst/wp-includes/js/tinymce/themes/advanced/images/menu_check.gifbin51 -> 0 bytes
-rw-r--r--wp-inst/wp-includes/js/tinymce/themes/advanced/images/newdocument.gifbin170 -> 0 bytes
-rw-r--r--wp-inst/wp-includes/js/tinymce/themes/advanced/images/numlist.gifbin111 -> 0 bytes
-rw-r--r--wp-inst/wp-includes/js/tinymce/themes/advanced/images/opacity.pngbin147 -> 0 bytes
-rw-r--r--wp-inst/wp-includes/js/tinymce/themes/advanced/images/outdent.gifbin110 -> 0 bytes
-rw-r--r--wp-inst/wp-includes/js/tinymce/themes/advanced/images/paste.gifbin286 -> 0 bytes
-rw-r--r--wp-inst/wp-includes/js/tinymce/themes/advanced/images/redo.gifbin169 -> 0 bytes
-rw-r--r--wp-inst/wp-includes/js/tinymce/themes/advanced/images/removeformat.gifbin168 -> 0 bytes
-rw-r--r--wp-inst/wp-includes/js/tinymce/themes/advanced/images/right.gifbin70 -> 0 bytes
-rw-r--r--wp-inst/wp-includes/js/tinymce/themes/advanced/images/separator.gifbin57 -> 0 bytes
-rw-r--r--wp-inst/wp-includes/js/tinymce/themes/advanced/images/spacer.gifbin43 -> 0 bytes
-rw-r--r--wp-inst/wp-includes/js/tinymce/themes/advanced/images/statusbar_resize.gifbin79 -> 0 bytes
-rw-r--r--wp-inst/wp-includes/js/tinymce/themes/advanced/images/strikethrough.gifbin83 -> 0 bytes
-rw-r--r--wp-inst/wp-includes/js/tinymce/themes/advanced/images/sub.gifbin148 -> 0 bytes
-rw-r--r--wp-inst/wp-includes/js/tinymce/themes/advanced/images/sup.gifbin147 -> 0 bytes
-rw-r--r--wp-inst/wp-includes/js/tinymce/themes/advanced/images/table.gifbin287 -> 0 bytes
-rw-r--r--wp-inst/wp-includes/js/tinymce/themes/advanced/images/table_delete_col.gifbin163 -> 0 bytes
-rw-r--r--wp-inst/wp-includes/js/tinymce/themes/advanced/images/table_delete_row.gifbin171 -> 0 bytes
-rw-r--r--wp-inst/wp-includes/js/tinymce/themes/advanced/images/table_insert_col_after.gifbin165 -> 0 bytes
-rw-r--r--wp-inst/wp-includes/js/tinymce/themes/advanced/images/table_insert_col_before.gifbin165 -> 0 bytes
-rw-r--r--wp-inst/wp-includes/js/tinymce/themes/advanced/images/table_insert_row_after.gifbin163 -> 0 bytes
-rw-r--r--wp-inst/wp-includes/js/tinymce/themes/advanced/images/table_insert_row_before.gifbin159 -> 0 bytes
-rw-r--r--wp-inst/wp-includes/js/tinymce/themes/advanced/images/underline.gifbin88 -> 0 bytes
-rw-r--r--wp-inst/wp-includes/js/tinymce/themes/advanced/images/underline_es.gifbin79 -> 0 bytes
-rw-r--r--wp-inst/wp-includes/js/tinymce/themes/advanced/images/underline_fr.gifbin79 -> 0 bytes
-rw-r--r--wp-inst/wp-includes/js/tinymce/themes/advanced/images/underline_ru.gifbin77 -> 0 bytes
-rw-r--r--wp-inst/wp-includes/js/tinymce/themes/advanced/images/underline_tw.gifbin245 -> 0 bytes
-rw-r--r--wp-inst/wp-includes/js/tinymce/themes/advanced/images/undo.gifbin175 -> 0 bytes
-rw-r--r--wp-inst/wp-includes/js/tinymce/themes/advanced/images/unlink.gifbin190 -> 0 bytes
-rw-r--r--wp-inst/wp-includes/js/tinymce/themes/advanced/images/visualaid.gifbin206 -> 0 bytes
-rw-r--r--wp-inst/wp-includes/js/tinymce/themes/advanced/images/xp/tab_bg.gifbin694 -> 0 bytes
-rw-r--r--wp-inst/wp-includes/js/tinymce/themes/advanced/images/xp/tab_end.gifbin169 -> 0 bytes
-rw-r--r--wp-inst/wp-includes/js/tinymce/themes/advanced/images/xp/tab_sel_bg.gifbin428 -> 0 bytes
-rw-r--r--wp-inst/wp-includes/js/tinymce/themes/advanced/images/xp/tab_sel_end.gifbin101 -> 0 bytes
-rw-r--r--wp-inst/wp-includes/js/tinymce/themes/advanced/images/xp/tabs_bg.gifbin48 -> 0 bytes
-rw-r--r--wp-inst/wp-includes/js/tinymce/themes/advanced/jscripts/about.js75
-rw-r--r--wp-inst/wp-includes/js/tinymce/themes/advanced/jscripts/anchor.js74
-rw-r--r--wp-inst/wp-includes/js/tinymce/themes/advanced/jscripts/charmap.js326
-rw-r--r--wp-inst/wp-includes/js/tinymce/themes/advanced/jscripts/color_picker.js108
-rw-r--r--wp-inst/wp-includes/js/tinymce/themes/advanced/jscripts/image.js81
-rw-r--r--wp-inst/wp-includes/js/tinymce/themes/advanced/jscripts/link.js70
-rw-r--r--wp-inst/wp-includes/js/tinymce/themes/advanced/jscripts/source_editor.js61
-rw-r--r--wp-inst/wp-includes/js/tinymce/themes/advanced/langs/en.js76
-rw-r--r--wp-inst/wp-includes/js/tinymce/themes/advanced/link.htm100
-rw-r--r--wp-inst/wp-includes/js/tinymce/themes/advanced/source_editor.htm30
-rw-r--r--wp-inst/wp-includes/js/tinymce/tiny_mce.js6437
-rw-r--r--wp-inst/wp-includes/js/tinymce/tiny_mce_config.php86
-rw-r--r--wp-inst/wp-includes/js/tinymce/tiny_mce_gzip.php329
-rw-r--r--wp-inst/wp-includes/js/tinymce/tiny_mce_popup.js269
-rw-r--r--wp-inst/wp-includes/js/tinymce/utils/form_utils.js209
-rw-r--r--wp-inst/wp-includes/js/tinymce/utils/mclayer.js212
-rw-r--r--wp-inst/wp-includes/js/tinymce/utils/mctabs.js76
-rw-r--r--wp-inst/wp-includes/js/tinymce/utils/validate.js50
-rw-r--r--wp-inst/wp-includes/js/tinymce/wp-mce-help.php170
-rw-r--r--wp-inst/wp-includes/js/tw-sack.js193
-rw-r--r--wp-inst/wp-includes/kses.php823
-rw-r--r--wp-inst/wp-includes/l10n.php97
-rw-r--r--wp-inst/wp-includes/link-template.php513
-rw-r--r--wp-inst/wp-includes/locale.php131
-rw-r--r--wp-inst/wp-includes/pluggable.php541
-rw-r--r--wp-inst/wp-includes/plugin.php168
-rw-r--r--wp-inst/wp-includes/post-template.php444
-rw-r--r--wp-inst/wp-includes/post.php1302
-rw-r--r--wp-inst/wp-includes/query.php1091
-rw-r--r--wp-inst/wp-includes/registration.php176
-rw-r--r--wp-inst/wp-includes/rewrite.php891
-rw-r--r--wp-inst/wp-includes/rss.php861
-rw-r--r--wp-inst/wp-includes/script-loader.php235
-rw-r--r--wp-inst/wp-includes/streams.php159
-rw-r--r--wp-inst/wp-includes/template-loader.php73
-rw-r--r--wp-inst/wp-includes/theme.php378
-rw-r--r--wp-inst/wp-includes/user.php169
-rw-r--r--wp-inst/wp-includes/vars.php100
-rw-r--r--wp-inst/wp-includes/version.php8
-rw-r--r--wp-inst/wp-includes/wp-db.php433
-rw-r--r--wp-inst/wp-includes/wpmu-functions.php1340
-rw-r--r--wp-inst/wp-links-opml.php50
-rw-r--r--wp-inst/wp-login.php263
-rw-r--r--wp-inst/wp-mail.php166
-rw-r--r--wp-inst/wp-pass.php11
-rw-r--r--wp-inst/wp-rdf.php57
-rw-r--r--wp-inst/wp-register.php159
-rw-r--r--wp-inst/wp-rss.php37
-rw-r--r--wp-inst/wp-rss2.php56
-rw-r--r--wp-inst/wp-settings.php288
-rw-r--r--wp-inst/wp-signup.php345
-rw-r--r--wp-inst/wp-trackback.php98
-rw-r--r--wp-inst/wpmu-settings.php119
-rw-r--r--wp-inst/xmlrpc.php1289
427 files changed, 0 insertions, 70822 deletions
diff --git a/wp-inst/favicon.ico b/wp-inst/favicon.ico
deleted file mode 100644
index 4b87ffb..0000000
--- a/wp-inst/favicon.ico
+++ /dev/null
Binary files differ
diff --git a/wp-inst/htaccess.dist b/wp-inst/htaccess.dist
deleted file mode 100644
index 9eaaecb..0000000
--- a/wp-inst/htaccess.dist
+++ /dev/null
@@ -1,5 +0,0 @@
-RewriteEngine Off
-
-<Files wp-content/blogs>
-ForceType application/x-httpd-php
-</Files>
diff --git a/wp-inst/index.php b/wp-inst/index.php
deleted file mode 100644
index 3e3db40..0000000
--- a/wp-inst/index.php
+++ /dev/null
@@ -1,5 +0,0 @@
-<?php
-/* Short and sweet */
-define('WP_USE_THEMES', true);
-require('./wp-blog-header.php');
-?> \ No newline at end of file
diff --git a/wp-inst/license.txt b/wp-inst/license.txt
deleted file mode 100644
index 8882205..0000000
--- a/wp-inst/license.txt
+++ /dev/null
@@ -1,280 +0,0 @@
- GNU GENERAL PUBLIC LICENSE
- Version 2, June 1991
-
- Copyright (C) 1989, 1991 Free Software Foundation, Inc.
- 675 Mass Ave, Cambridge, MA 02139, USA
- Everyone is permitted to copy and distribute verbatim copies
- of this license document, but changing it is not allowed.
-
- Preamble
-
- The licenses for most software are designed to take away your
-freedom to share and change it. By contrast, the GNU General Public
-License is intended to guarantee your freedom to share and change free
-software--to make sure the software is free for all its users. This
-General Public License applies to most of the Free Software
-Foundation's software and to any other program whose authors commit to
-using it. (Some other Free Software Foundation software is covered by
-the GNU Library General Public License instead.) You can apply it to
-your programs, too.
-
- When we speak of free software, we are referring to freedom, not
-price. Our General Public Licenses are designed to make sure that you
-have the freedom to distribute copies of free software (and charge for
-this service if you wish), that you receive source code or can get it
-if you want it, that you can change the software or use pieces of it
-in new free programs; and that you know you can do these things.
-
- To protect your rights, we need to make restrictions that forbid
-anyone to deny you these rights or to ask you to surrender the rights.
-These restrictions translate to certain responsibilities for you if you
-distribute copies of the software, or if you modify it.
-
- For example, if you distribute copies of such a program, whether
-gratis or for a fee, you must give the recipients all the rights that
-you have. You must make sure that they, too, receive or can get the
-source code. And you must show them these terms so they know their
-rights.
-
- We protect your rights with two steps: (1) copyright the software, and
-(2) offer you this license which gives you legal permission to copy,
-distribute and/or modify the software.
-
- Also, for each author's protection and ours, we want to make certain
-that everyone understands that there is no warranty for this free
-software. If the software is modified by someone else and passed on, we
-want its recipients to know that what they have is not the original, so
-that any problems introduced by others will not reflect on the original
-authors' reputations.
-
- Finally, any free program is threatened constantly by software
-patents. We wish to avoid the danger that redistributors of a free
-program will individually obtain patent licenses, in effect making the
-program proprietary. To prevent this, we have made it clear that any
-patent must be licensed for everyone's free use or not licensed at all.
-
- The precise terms and conditions for copying, distribution and
-modification follow.
-
- GNU GENERAL PUBLIC LICENSE
- TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
-
- 0. This License applies to any program or other work which contains
-a notice placed by the copyright holder saying it may be distributed
-under the terms of this General Public License. The "Program", below,
-refers to any such program or work, and a "work based on the Program"
-means either the Program or any derivative work under copyright law:
-that is to say, a work containing the Program or a portion of it,
-either verbatim or with modifications and/or translated into another
-language. (Hereinafter, translation is included without limitation in
-the term "modification".) Each licensee is addressed as "you".
-
-Activities other than copying, distribution and modification are not
-covered by this License; they are outside its scope. The act of
-running the Program is not restricted, and the output from the Program
-is covered only if its contents constitute a work based on the
-Program (independent of having been made by running the Program).
-Whether that is true depends on what the Program does.
-
- 1. You may copy and distribute verbatim copies of the Program's
-source code as you receive it, in any medium, provided that you
-conspicuously and appropriately publish on each copy an appropriate
-copyright notice and disclaimer of warranty; keep intact all the
-notices that refer to this License and to the absence of any warranty;
-and give any other recipients of the Program a copy of this License
-along with the Program.
-
-You may charge a fee for the physical act of transferring a copy, and
-you may at your option offer warranty protection in exchange for a fee.
-
- 2. You may modify your copy or copies of the Program or any portion
-of it, thus forming a work based on the Program, and copy and
-distribute such modifications or work under the terms of Section 1
-above, provided that you also meet all of these conditions:
-
- a) You must cause the modified files to carry prominent notices
- stating that you changed the files and the date of any change.
-
- b) You must cause any work that you distribute or publish, that in
- whole or in part contains or is derived from the Program or any
- part thereof, to be licensed as a whole at no charge to all third
- parties under the terms of this License.
-
- c) If the modified program normally reads commands interactively
- when run, you must cause it, when started running for such
- interactive use in the most ordinary way, to print or display an
- announcement including an appropriate copyright notice and a
- notice that there is no warranty (or else, saying that you provide
- a warranty) and that users may redistribute the program under
- these conditions, and telling the user how to view a copy of this
- License. (Exception: if the Program itself is interactive but
- does not normally print such an announcement, your work based on
- the Program is not required to print an announcement.)
-
-These requirements apply to the modified work as a whole. If
-identifiable sections of that work are not derived from the Program,
-and can be reasonably considered independent and separate works in
-themselves, then this License, and its terms, do not apply to those
-sections when you distribute them as separate works. But when you
-distribute the same sections as part of a whole which is a work based
-on the Program, the distribution of the whole must be on the terms of
-this License, whose permissions for other licensees extend to the
-entire whole, and thus to each and every part regardless of who wrote it.
-Thus, it is not the intent of this section to claim rights or contest
-your rights to work written entirely by you; rather, the intent is to
-exercise the right to control the distribution of derivative or
-collective works based on the Program.
-
-In addition, mere aggregation of another work not based on the Program
-with the Program (or with a work based on the Program) on a volume of
-a storage or distribution medium does not bring the other work under
-the scope of this License.
-
- 3. You may copy and distribute the Program (or a work based on it,
-under Section 2) in object code or executable form under the terms of
-Sections 1 and 2 above provided that you also do one of the following:
-
- a) Accompany it with the complete corresponding machine-readable
- source code, which must be distributed under the terms of Sections
- 1 and 2 above on a medium customarily used for software interchange; or,
-
- b) Accompany it with a written offer, valid for at least three
- years, to give any third party, for a charge no more than your
- cost of physically performing source distribution, a complete
- machine-readable copy of the corresponding source code, to be
- distributed under the terms of Sections 1 and 2 above on a medium
- customarily used for software interchange; or,
-
- c) Accompany it with the information you received as to the offer
- to distribute corresponding source code. (This alternative is
- allowed only for noncommercial distribution and only if you
- received the program in object code or executable form with such
- an offer, in accord with Subsection b above.)
-
-The source code for a work means the preferred form of the work for
-making modifications to it. For an executable work, complete source
-code means all the source code for all modules it contains, plus any
-associated interface definition files, plus the scripts used to
-control compilation and installation of the executable. However, as a
-special exception, the source code distributed need not include
-anything that is normally distributed (in either source or binary
-form) with the major components (compiler, kernel, and so on) of the
-operating system on which the executable runs, unless that component
-itself accompanies the executable.
-
-If distribution of executable or object code is made by offering
-access to copy from a designated place, then offering equivalent
-access to copy the source code from the same place counts as
-distribution of the source code, even though third parties are not
-compelled to copy the source along with the object code.
-
- 4. You may not copy, modify, sublicense, or distribute the Program
-except as expressly provided under this License. Any attempt
-otherwise to copy, modify, sublicense or distribute the Program is
-void, and will automatically terminate your rights under this License.
-However, parties who have received copies, or rights, from you under
-this License will not have their licenses terminated so long as such
-parties remain in full compliance.
-
- 5. You are not required to accept this License, since you have not
-signed it. However, nothing else grants you permission to modify or
-distribute the Program or its derivative works. These actions are
-prohibited by law if you do not accept this License. Therefore, by
-modifying or distributing the Program (or any work based on the
-Program), you indicate your acceptance of this License to do so, and
-all its terms and conditions for copying, distributing or modifying
-the Program or works based on it.
-
- 6. Each time you redistribute the Program (or any work based on the
-Program), the recipient automatically receives a license from the
-original licensor to copy, distribute or modify the Program subject to
-these terms and conditions. You may not impose any further
-restrictions on the recipients' exercise of the rights granted herein.
-You are not responsible for enforcing compliance by third parties to
-this License.
-
- 7. If, as a consequence of a court judgment or allegation of patent
-infringement or for any other reason (not limited to patent issues),
-conditions are imposed on you (whether by court order, agreement or
-otherwise) that contradict the conditions of this License, they do not
-excuse you from the conditions of this License. If you cannot
-distribute so as to satisfy simultaneously your obligations under this
-License and any other pertinent obligations, then as a consequence you
-may not distribute the Program at all. For example, if a patent
-license would not permit royalty-free redistribution of the Program by
-all those who receive copies directly or indirectly through you, then
-the only way you could satisfy both it and this License would be to
-refrain entirely from distribution of the Program.
-
-If any portion of this section is held invalid or unenforceable under
-any particular circumstance, the balance of the section is intended to
-apply and the section as a whole is intended to apply in other
-circumstances.
-
-It is not the purpose of this section to induce you to infringe any
-patents or other property right claims or to contest validity of any
-such claims; this section has the sole purpose of protecting the
-integrity of the free software distribution system, which is
-implemented by public license practices. Many people have made
-generous contributions to the wide range of software distributed
-through that system in reliance on consistent application of that
-system; it is up to the author/donor to decide if he or she is willing
-to distribute software through any other system and a licensee cannot
-impose that choice.
-
-This section is intended to make thoroughly clear what is believed to
-be a consequence of the rest of this License.
-
- 8. If the distribution and/or use of the Program is restricted in
-certain countries either by patents or by copyrighted interfaces, the
-original copyright holder who places the Program under this License
-may add an explicit geographical distribution limitation excluding
-those countries, so that distribution is permitted only in or among
-countries not thus excluded. In such case, this License incorporates
-the limitation as if written in the body of this License.
-
- 9. The Free Software Foundation may publish revised and/or new versions
-of the General Public License from time to time. Such new versions will
-be similar in spirit to the present version, but may differ in detail to
-address new problems or concerns.
-
-Each version is given a distinguishing version number. If the Program
-specifies a version number of this License which applies to it and "any
-later version", you have the option of following the terms and conditions
-either of that version or of any later version published by the Free
-Software Foundation. If the Program does not specify a version number of
-this License, you may choose any version ever published by the Free Software
-Foundation.
-
- 10. If you wish to incorporate parts of the Program into other free
-programs whose distribution conditions are different, write to the author
-to ask for permission. For software which is copyrighted by the Free
-Software Foundation, write to the Free Software Foundation; we sometimes
-make exceptions for this. Our decision will be guided by the two goals
-of preserving the free status of all derivatives of our free software and
-of promoting the sharing and reuse of software generally.
-
- NO WARRANTY
-
- 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
-FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
-OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
-PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
-OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
-MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
-TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
-PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
-REPAIR OR CORRECTION.
-
- 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
-WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
-REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
-INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
-OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
-TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
-YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
-PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
-POSSIBILITY OF SUCH DAMAGES.
-
- END OF TERMS AND CONDITIONS
-
diff --git a/wp-inst/wp-activate.php b/wp-inst/wp-activate.php
deleted file mode 100644
index f9846a8..0000000
--- a/wp-inst/wp-activate.php
+++ /dev/null
@@ -1,77 +0,0 @@
-<?php
-define( "WP_INSTALLING", true );
-require ('wp-config.php');
-require_once( ABSPATH . WPINC . '/registration.php');
-
-
-do_action("activate_header");
-
-get_header();
-?>
-<div id="content" class="widecolumn">
-<style type="text/css">
-form { margin-top: 2em; }
-#submit, #key {
- width: 90%;
- font-size: 24px;
-}
-#language {
- margin-top: .5em;
-}
-.error {
- background-color: #f66;
-}
-</style>
-<?php
- if ( empty($_GET['key']) && empty($_POST['key']) ) {
-?>
-<h2>Activation Key Required</h2>
-<form name="activateform" id="activateform" method="post" action="/wp-activate.php">
-<table border="0" width="100%" cellpadding="9">
-<tr>
-<th valign="top">Activation Key:</th>
-<td><input name="key" type="text" id="key" value="" /></td>
-</tr>
-<tr>
-<th scope="row" valign="top">&nbsp;</th>
-<td><input id="submit" type="submit" name="Submit" class="submit" value="Activate &raquo;" /></td>
-</tr>
-</table>
-</form>
-<?php
- } else {
- if ( ! empty($_GET['key']) )
- $key = $_GET['key'];
- else
- $key = $_POST['key'];
-
- $result = wpmu_activate_signup($key);
- if ( is_wp_error($result) ) {
- if ( 'already_active' == $result->get_error_code() )
- echo __('The blog is already active. Please check your email inbox for your username, password, and login instructions.');
- else
- echo $result->get_error_message();
- } else {
- extract($result);
- $url = get_blogaddress_by_id($blog_id);
- $user = new WP_User($user_id);
-?>
-<h2><?php _e('All set!'); ?></h2>
-<table border="0" id="signup-welcome">
-<tr>
-<td width="50%" align="center">
-<h3><?php _e('Username'); ?>:</h3>
-<p><?php echo $user->user_login ?></p></td>
-<td width="50%" align="center">
-<h3><?php _e('Password'); ?>:</h3>
-<p><?php echo $password; ?></p>
-</td>
-</tr>
-</table>
-<h3 class="view"><?php printf(__('<a href="%1$s">View your site</a> or <a href="%2$s">Login</a>'), $url, 'http://' . $_SERVER[ 'SERVER_NAME' ] . '/' ); ?></h3>
-<?php
- }
- }
-?>
-</div>
-<?php get_footer(); ?>
diff --git a/wp-inst/wp-admin/admin-ajax.php b/wp-inst/wp-admin/admin-ajax.php
deleted file mode 100644
index 088ce31..0000000
--- a/wp-inst/wp-admin/admin-ajax.php
+++ /dev/null
@@ -1,234 +0,0 @@
-<?php
-require_once('../wp-config.php');
-require_once('admin-functions.php');
-require_once('admin-db.php');
-
-define('DOING_AJAX', true);
-
-
-check_ajax_referer();
-if ( !is_user_logged_in() )
- die('-1');
-
-function get_out_now() { exit; }
-add_action( 'shutdown', 'get_out_now', -1 );
-
-function wp_clean_ajax_input( $i ) {
- global $wpdb;
- $i = is_array($i) ? array_map('wp_clean_ajax_input', $i) : $wpdb->escape( rawurldecode(stripslashes($i)) );
- return $i;
-}
-
-function wp_ajax_echo_meta( $pid, $mid, $key, $value ) {
- $value = wp_specialchars($value, true);
- $key_js = addslashes(wp_specialchars($key, 'double'));
- $key = wp_specialchars($key, true);
- $r = "<meta><id>$mid</id><postid>$pid</postid><newitem><![CDATA[<table><tbody>";
- $r .= "<tr id='meta-$mid'><td valign='top'>";
- $r .= "<input name='meta[$mid][key]' tabindex='6' onkeypress='return killSubmit(\"theList.ajaxUpdater(&#039;meta&#039;,&#039;meta-$mid&#039;);\",event);' type='text' size='20' value='$key' />";
- $r .= "</td><td><textarea name='meta[$mid][value]' tabindex='6' rows='2' cols='30'>$value</textarea></td><td align='center'>";
- $r .= "<input name='updatemeta' type='button' class='updatemeta' tabindex='6' value='Update' onclick='return theList.ajaxUpdater(&#039;meta&#039;,&#039;meta-$mid&#039;);' /><br />";
- $r .= "<input name='deletemeta[$mid]' type='submit' onclick=\"return deleteSomething( 'meta', $mid, '";
- $r .= sprintf(__("You are about to delete the &quot;%s&quot; custom field on this post.\\n&quot;OK&quot; to delete, &quot;Cancel&quot; to stop."), $key_js);
- $r .= "' );\" class='deletemeta' tabindex='6' value='Delete' />";
- $r .= "</td></tr></tbody></table>]]></newitem></meta>";
- return $r;
-}
-
-$_POST = wp_clean_ajax_input( $_POST );
-$id = (int) $_POST['id'];
-switch ( $_POST['action'] ) :
-case 'delete-comment' :
- if ( !$comment = get_comment( $id ) )
- die('0');
- if ( !current_user_can( 'edit_post', $comment->comment_post_ID ) )
- die('-1');
-
- if ( wp_delete_comment( $comment->comment_ID ) )
- die('1');
- else die('0');
- break;
-case 'delete-comment-as-spam' :
- if ( !$comment = get_comment( $id ) )
- die('0');
- if ( !current_user_can( 'edit_post', $comment->comment_post_ID ) )
- die('-1');
-
- if ( wp_set_comment_status( $comment->comment_ID, 'spam' ) )
- die('1');
- else die('0');
- break;
-case 'delete-cat' :
- if ( !current_user_can( 'manage_categories' ) )
- die('-1');
-
- if ( wp_delete_category( $id ) )
- die('1');
- else die('0');
- break;
-case 'delete-link' :
- if ( !current_user_can( 'manage_links' ) )
- die('-1');
-
- if ( wp_delete_link( $id ) )
- die('1');
- else die('0');
- break;
-case 'delete-meta' :
- if ( !$meta = get_post_meta_by_id( $id ) )
- die('0');
- if ( !current_user_can( 'edit_post', $meta->post_id ) )
- die('-1');
- if ( delete_meta( $meta->meta_id ) )
- die('1');
- die('0');
- break;
-case 'delete-post' :
- if ( !current_user_can( 'delete_post', $id ) )
- die('-1');
-
- if ( wp_delete_post( $id ) )
- die('1');
- else die('0');
- break;
-case 'delete-page' :
- if ( !current_user_can( 'delete_page', $id ) )
- die('-1');
-
- if ( wp_delete_post( $id ) )
- die('1');
- else die('0');
- break;
-case 'dim-comment' :
- if ( !$comment = get_comment( $id ) )
- die('0');
- if ( !current_user_can( 'edit_post', $comment->comment_post_ID ) )
- die('-1');
- if ( !current_user_can( 'moderate_comments' ) )
- die('-1');
-
- if ( 'unapproved' == wp_get_comment_status($comment->comment_ID) ) {
- if ( wp_set_comment_status( $comment->comment_ID, 'approve' ) )
- die('1');
- } else {
- if ( wp_set_comment_status( $comment->comment_ID, 'hold' ) )
- die('1');
- }
- die('0');
- break;
-case 'add-category' : // On the Fly
- if ( !current_user_can( 'manage_categories' ) )
- die('-1');
- $names = explode(',', $_POST['newcat']);
- $r = "<?xml version='1.0' standalone='yes'?><ajaxresponse>";
- foreach ( $names as $cat_name ) {
- $cat_name = trim($cat_name);
- if ( !$category_nicename = sanitize_title($cat_name) )
- die('0');
- if ( !$cat_id = category_exists( $cat_name ) )
- $cat_id = wp_create_category( $cat_name );
- $cat_name = wp_specialchars(stripslashes($cat_name));
- $r .= "<category><id>$cat_id</id><newitem><![CDATA[";
- $r .= "<li id='category-$cat_id'><label for='in-category-$cat_id' class='selectit'>";
- $r .= "<input value='$cat_id' type='checkbox' checked='checked' name='post_category[]' id='in-category-$cat_id'/> $cat_name</label></li>";
- $r .= "]]></newitem></category>";
- }
- $r .= '</ajaxresponse>';
- header('Content-type: text/xml');
- die($r);
- break;
-case 'add-cat' : // From Manage->Categories
- if ( !current_user_can( 'manage_categories' ) )
- die('-1');
- if ( !$cat = wp_insert_category( $_POST ) )
- die('0');
- if ( !$cat = get_category( $cat ) )
- die('0');
- $pad = 0;
- $_cat = $cat;
- while ( $_cat->category_parent ) {
- $_cat = get_category( $_cat->category_parent );
- $pad++;
- }
- $pad = str_repeat('&#8212; ', $pad);
-
- $r = "<?xml version='1.0' standalone='yes'?><ajaxresponse>";
- $r .= "<cat><id>$cat->cat_ID</id><newitem><![CDATA[<table><tbody>";
- $r .= "<tr id='cat-$cat->cat_ID'><th scope='row'>$cat->cat_ID</th><td>$pad $cat->cat_name</td>";
- $r .= "<td>$cat->category_description</td><td>$cat->category_count</td><td>$cat->link_count</td>";
- $r .= "<td><a href='categories.php?action=edit&amp;cat_ID=$cat->cat_ID' class='edit'>" . __('Edit') . "</a></td>";
- $r .= "<td><a href='categories.php?action=delete&amp;cat_ID=$cat->cat_ID' onclick='return deleteSomething( \"cat\", $cat->cat_ID, \"";
- $r .= sprintf(__('You are about to delete the category \"%s\". All of its posts and bookmarks will go to the default categories.\\n\"OK\" to delete, \"Cancel\" to stop.'), addslashes($cat->cat_name));
- $r .= "\" );' class='delete'>".__('Delete')."</a></td></tr>";
- $r .= "</tbody></table>]]></newitem></cat></ajaxresponse>";
- header('Content-type: text/xml');
- die($r);
-
- break;
-case 'add-meta' :
- if ( !current_user_can( 'edit_post', $id ) )
- die('-1');
- if ( $id < 0 ) {
- if ( $pid = write_post() )
- $meta = has_meta( $pid );
- else
- die('0');
- $key = $meta[0]['meta_key'];
- $value = $meta[0]['meta_value'];
- $mid = (int) $meta[0]['meta_id'];
- } else {
- if ( $mid = add_meta( $id ) )
- $meta = get_post_meta_by_id( $mid );
- else
- die('0');
- $key = $meta->meta_key;
- $value = $meta->meta_value;
- $pid = (int) $meta->post_id;
- }
- $r = "<?xml version='1.0' standalone='yes'?><ajaxresponse>";
- $r .= wp_ajax_echo_meta( $pid, $mid, $key, $value );
- $r .= '</ajaxresponse>';
- header('Content-type: text/xml');
- die($r);
- break;
-case 'update-meta' :
- $mid = (int) array_pop(array_keys($_POST['meta']));
- $key = $_POST['meta'][$mid]['key'];
- $value = $_POST['meta'][$mid]['value'];
- if ( !$meta = get_post_meta_by_id( $mid ) )
- die('0');
- if ( !current_user_can( 'edit_post', $meta->post_id ) )
- die('-1');
- $r = "<?xml version='1.0' standalone='yes'?><ajaxresponse>";
- if ( $u = update_meta( $mid, $key, $value ) ) {
- $key = stripslashes($key);
- $value = stripslashes($value);
- $r .= wp_ajax_echo_meta( $meta->post_id, $mid, $key, $value );
- }
- $r .= '</ajaxresponse>';
- header('Content-type: text/xml');
- die($r);
- break;
-case 'add-user' :
- if ( !current_user_can('edit_users') )
- die('-1');
- require_once(ABSPATH . WPINC . '/registration.php');
- $user_id = add_user();
- if ( is_wp_error( $user_id ) ) {
- foreach( $user_id->get_error_messages() as $message )
- echo "$message<br />";
- exit;
- } elseif ( !$user_id ) {
- die('0');
- }
- $r = "<?xml version='1.0' standalone='yes'?><ajaxresponse><user><id>$user_id</id><newitem><![CDATA[<table><tbody>";
- $r .= user_row( $user_id );
- $r .= "</tbody></table>]]></newitem></user></ajaxresponse>";
- header('Content-type: text/xml');
- die($r);
- break;
-default :
- die('0');
- break;
-endswitch;
-?>
diff --git a/wp-inst/wp-admin/admin-db.php b/wp-inst/wp-admin/admin-db.php
deleted file mode 100644
index 0b8c264..0000000
--- a/wp-inst/wp-admin/admin-db.php
+++ /dev/null
@@ -1,554 +0,0 @@
-<?php
-
-function get_users_drafts( $user_id ) {
- global $wpdb;
- $user_id = (int) $user_id;
- $query = "SELECT ID, post_title FROM $wpdb->posts WHERE post_type = 'post' AND post_status = 'draft' AND post_author = $user_id ORDER BY ID DESC";
- $query = apply_filters('get_users_drafts', $query);
- return $wpdb->get_results( $query );
-}
-
-function get_others_drafts( $user_id ) {
- global $wpdb;
- $user = get_userdata( $user_id );
- $level_key = $wpdb->prefix . 'user_level';
-
- $editable = get_editable_user_ids( $user_id );
-
- if( !$editable ) {
- $other_drafts = '';
- } else {
- $editable = join(',', $editable);
- $other_drafts = $wpdb->get_results("SELECT ID, post_title FROM $wpdb->posts WHERE post_type = 'post' AND post_status = 'draft' AND post_author IN ($editable) AND post_author != '$user_id' ");
- }
-
- return apply_filters('get_others_drafts', $other_drafts);
-}
-
-function get_editable_authors( $user_id ) {
- global $wpdb;
-
- $editable = get_editable_user_ids( $user_id );
-
- if( !$editable ) {
- return false;
- } else {
- $editable = join(',', $editable);
- $authors = $wpdb->get_results( "SELECT * FROM $wpdb->users WHERE ID IN ($editable)" );
- }
-
- return apply_filters('get_editable_authors', $authors);
-}
-
-function get_editable_user_ids( $user_id, $exclude_zeros = true ) {
- global $wpdb;
-
- $user = new WP_User( $user_id );
-
- if ( ! $user->has_cap('edit_others_posts') ) {
- if ( $user->has_cap('edit_posts') || $exclude_zeros == false )
- return array($user->id);
- else
- return false;
- }
-
- $level_key = $wpdb->prefix . 'user_level';
-
- $query = "SELECT user_id FROM $wpdb->usermeta WHERE meta_key = '$level_key'";
- if ( $exclude_zeros )
- $query .= " AND meta_value != '0'";
-
- return $wpdb->get_col( $query );
-}
-
-function get_author_user_ids() {
- global $wpdb;
- $level_key = $wpdb->prefix . 'user_level';
-
- $query = "SELECT user_id FROM $wpdb->usermeta WHERE meta_key = '$level_key' AND meta_value != '0'";
-
- return $wpdb->get_col( $query );
-}
-
-function get_nonauthor_user_ids() {
- global $wpdb;
- $level_key = $wpdb->prefix . 'user_level';
-
- $query = "SELECT user_id FROM $wpdb->usermeta WHERE meta_key = '$level_key' AND meta_value = '0'";
-
- return $wpdb->get_col( $query );
-}
-
-function wp_insert_category($catarr) {
- global $wpdb;
-
- extract($catarr);
-
- $cat_ID = (int) $cat_ID;
-
- // Are we updating or creating?
- if (!empty ($cat_ID))
- $update = true;
- else
- $update = false;
-
- $cat_name = apply_filters('pre_category_name', $cat_name);
-
- if ( !$update && category_exists($cat_name) )
- return 0;
-
- if (empty ($category_nicename))
- $category_nicename = sanitize_title($cat_name);
- else
- $category_nicename = sanitize_title($category_nicename);
- $category_nicename = apply_filters('pre_category_nicename', $category_nicename);
-
- if (empty ($category_description))
- $category_description = '';
- $category_description = apply_filters('pre_category_description', $category_description);
-
- $category_parent = (int) $category_parent;
- if (empty ($category_parent))
- $category_parent = 0;
-
- if ( isset($posts_private) )
- $posts_private = (int) $posts_private;
- else
- $posts_private = 0;
-
- if ( isset($links_private) )
- $links_private = (int) $links_private;
- else
- $links_private = 0;
-
- if (!$update) {
- $maxcat = $wpdb->get_var( "SELECT max(cat_ID) FROM {$wpdb->categories}" );
- $cat_ID = mt_rand( $maxcat+100, $maxcat+4000 );
- $wpdb->query("INSERT INTO $wpdb->categories (cat_ID, cat_name, category_nicename, category_description, category_parent, links_private, posts_private) VALUES ('$cat_ID', '$cat_name', '$category_nicename', '$category_description', '$category_parent', '$links_private', '$posts_private')");
- } else {
- $wpdb->query ("UPDATE $wpdb->categories SET cat_name = '$cat_name', category_nicename = '$category_nicename', category_description = '$category_description', category_parent = '$category_parent', links_private = '$links_private', posts_private = '$posts_private' WHERE cat_ID = '$cat_ID'");
- }
-
- if ( $category_nicename == '' ) {
- $category_nicename = sanitize_title($cat_name, $cat_ID );
- $wpdb->query( "UPDATE $wpdb->categories SET category_nicename = '$category_nicename' WHERE cat_ID = '$cat_ID'" );
- }
-
- wp_cache_delete($cat_ID, 'category');
-
- if ($update) {
- do_action('edit_category', $cat_ID);
- } else {
- wp_cache_delete('all_category_ids', 'category');
- do_action('create_category', $cat_ID);
- do_action('add_category', $cat_ID);
- }
- $cat_ID = apply_filters( "cat_id_filter", $cat_ID );
-
- return $cat_ID;
-}
-
-function wp_update_category($catarr) {
- global $wpdb;
-
- $cat_ID = (int) $catarr['cat_ID'];
-
- // First, get all of the original fields
- $category = get_category($cat_ID, ARRAY_A);
-
- // Escape data pulled from DB.
- $category = add_magic_quotes($category);
-
- // Merge old and new fields with new fields overwriting old ones.
- $catarr = array_merge($category, $catarr);
-
- return wp_insert_category($catarr);
-}
-
-function wp_delete_category($cat_ID) {
- global $wpdb;
-
- $cat_ID = (int) $cat_ID;
-
- // Don't delete the default cat.
- if ( $cat_ID == get_option('default_category') )
- return 0;
-
- if ( $cat_ID == get_option('default_link_category') )
- return 0;
-
- $category = get_category($cat_ID);
-
- $parent = $category->category_parent;
-
- // Delete the category.
- if ( !$wpdb->query("DELETE FROM $wpdb->categories WHERE cat_ID = '$cat_ID'") )
- return 0;
-
- // Update children to point to new parent.
- $wpdb->query("UPDATE $wpdb->categories SET category_parent = '$parent' WHERE category_parent = '$cat_ID'");
-
- // Only set posts and links to the default category if they're not in another category already.
- $default_cat = get_option('default_category');
- $posts = $wpdb->get_col("SELECT post_id FROM $wpdb->post2cat WHERE category_id='$cat_ID'");
- if ( is_array($posts) ) foreach ($posts as $post_id) {
- $cats = wp_get_post_categories($post_id);
- if ( 1 == count($cats) )
- $cats = array($default_cat);
- else
- $cats = array_diff($cats, array($cat_ID));
- wp_set_post_categories($post_id, $cats);
- }
-
- $default_link_cat = get_option('default_link_category');
- $links = $wpdb->get_col("SELECT link_id FROM $wpdb->link2cat WHERE category_id='$cat_ID'");
- if ( is_array($links) ) foreach ($links as $link_id) {
- $cats = wp_get_link_cats($link_id);
- if ( 1 == count($cats) )
- $cats = array($default_link_cat);
- else
- $cats = array_diff($cats, array($cat_ID));
- wp_set_link_cats($link_id, $cats);
- }
-
- wp_cache_delete($cat_ID, 'category');
- wp_cache_delete('all_category_ids', 'category');
-
- do_action('delete_category', $cat_ID);
-
- return 1;
-}
-
-function wp_create_category($cat_name) {
- $cat_array = compact('cat_name');
- return wp_insert_category($cat_array);
-}
-
-function wp_create_categories($categories, $post_id = '') {
- $cat_ids = array ();
- foreach ($categories as $category) {
- if ($id = category_exists($category))
- $cat_ids[] = $id;
- else
- if ($id = wp_create_category($category))
- $cat_ids[] = $id;
- }
-
- if ($post_id)
- wp_set_post_categories($post_id, $cat_ids);
-
- return $cat_ids;
-}
-
-function category_exists($cat_name) {
- global $wpdb;
- if (!$category_nicename = sanitize_title($cat_name))
- return 0;
-
- return $wpdb->get_var("SELECT cat_ID FROM $wpdb->categories WHERE category_nicename = '$category_nicename'");
-}
-
-function wp_delete_user($id, $reassign = 'novalue') {
- global $wpdb;
-
- $id = (int) $id;
- $user = get_userdata($id);
-
- if ($reassign == 'novalue') {
- $post_ids = $wpdb->get_col("SELECT ID FROM $wpdb->posts WHERE post_author = $id");
-
- if ($post_ids) {
- foreach ($post_ids as $post_id)
- wp_delete_post($post_id);
- }
-
- // Clean links
- $wpdb->query("DELETE FROM $wpdb->links WHERE link_owner = $id");
- } else {
- $reassign = (int) $reassign;
- $wpdb->query("UPDATE $wpdb->posts SET post_author = {$reassign} WHERE post_author = {$id}");
- $wpdb->query("UPDATE $wpdb->links SET link_owner = {$reassign} WHERE link_owner = {$id}");
- }
-
- // FINALLY, delete user
- $wpdb->query("DELETE FROM $wpdb->usermeta WHERE user_id = $id AND meta_key = '{$wpdb->prefix}capabilities'");
-
- wp_cache_delete($id, 'users');
- wp_cache_delete($user->user_login, 'userlogins');
-
- do_action('delete_user', $id);
-
- return true;
-}
-
-function wp_revoke_user($id) {
- $id = (int) $id;
-
- $user = new WP_User($id);
- $user->remove_all_caps();
-}
-
-function wp_insert_link($linkdata) {
- global $wpdb, $current_user;
-
- extract($linkdata);
-
- $update = false;
- if ( !empty($link_id) )
- $update = true;
-
- if ( empty($link_rating) )
- $link_rating = 0;
-
- if ( empty($link_target) )
- $link_target = '';
-
- if ( empty($link_visible) )
- $link_visible = 'Y';
-
- if ( empty($link_owner) )
- $link_owner = $current_user->id;
-
- if ( empty($link_notes) )
- $link_notes = '';
-
- // Make sure we set a valid category
- if (0 == count($link_category) || !is_array($link_category)) {
- $link_category = array(get_option('default_link_category'));
- }
-
- if ( $update ) {
- $wpdb->query("UPDATE $wpdb->links SET link_url='$link_url',
- link_name='$link_name', link_image='$link_image',
- link_target='$link_target',
- link_visible='$link_visible', link_description='$link_description',
- link_rating='$link_rating', link_rel='$link_rel',
- link_notes='$link_notes', link_rss = '$link_rss'
- WHERE link_id='$link_id'");
- } else {
- $wpdb->query("INSERT INTO $wpdb->links (link_url, link_name, link_image, link_target, link_description, link_visible, link_owner, link_rating, link_rel, link_notes, link_rss) VALUES('$link_url','$link_name', '$link_image', '$link_target', '$link_description', '$link_visible', '$link_owner', '$link_rating', '$link_rel', '$link_notes', '$link_rss')");
- $link_id = $wpdb->insert_id;
- }
-
- wp_set_link_cats($link_id, $link_category);
-
- if ( $update )
- do_action('edit_link', $link_id);
- else
- do_action('add_link', $link_id);
-
- return $link_id;
-}
-
-function wp_update_link($linkdata) {
- global $wpdb;
-
- $link_id = (int) $linkdata['link_id'];
-
- $link = get_link($link_id, ARRAY_A);
-
- // Escape data pulled from DB.
- $link = add_magic_quotes($link);
-
- // Passed link category list overwrites existing category list if not empty.
- if ( isset($linkdata['link_category']) && is_array($linkdata['link_category'])
- && 0 != count($linkdata['link_category']) )
- $link_cats = $linkdata['link_category'];
- else
- $link_cats = $link['link_category'];
-
- // Merge old and new fields with new fields overwriting old ones.
- $linkdata = array_merge($link, $linkdata);
- $linkdata['link_category'] = $link_cats;
-
- return wp_insert_link($linkdata);
-}
-
-function wp_delete_link($link_id) {
- global $wpdb;
-
- do_action('delete_link', $link_id);
-
- $categories = wp_get_link_cats($link_id);
- if( is_array( $categories ) ) {
- foreach ( $categories as $category ) {
- $wpdb->query("UPDATE $wpdb->categories SET link_count = link_count - 1 WHERE cat_ID = '$category'");
- wp_cache_delete($category, 'category');
- }
- }
-
- $wpdb->query("DELETE FROM $wpdb->link2cat WHERE link_id = '$link_id'");
- return $wpdb->query("DELETE FROM $wpdb->links WHERE link_id = '$link_id'");
-}
-
-function wp_get_link_cats($link_ID = 0) {
- global $wpdb;
-
- $sql = "SELECT category_id
- FROM $wpdb->link2cat
- WHERE link_id = $link_ID
- ORDER BY category_id";
-
- $result = $wpdb->get_col($sql);
-
- if ( !$result )
- $result = array();
-
- return array_unique($result);
-}
-
-function wp_set_link_cats($link_ID = 0, $link_categories = array()) {
- global $wpdb;
- // If $link_categories isn't already an array, make it one:
- if (!is_array($link_categories) || 0 == count($link_categories))
- $link_categories = array(get_option('default_link_category'));
-
- $link_categories = array_unique($link_categories);
-
- // First the old categories
- $old_categories = $wpdb->get_col("
- SELECT category_id
- FROM $wpdb->link2cat
- WHERE link_id = $link_ID");
-
- if (!$old_categories) {
- $old_categories = array();
- } else {
- $old_categories = array_unique($old_categories);
- }
-
- // Delete any?
- $delete_cats = array_diff($old_categories,$link_categories);
-
- if ($delete_cats) {
- foreach ($delete_cats as $del) {
- $wpdb->query("
- DELETE FROM $wpdb->link2cat
- WHERE category_id = $del
- AND link_id = $link_ID
- ");
- }
- }
-
- // Add any?
- $add_cats = array_diff($link_categories, $old_categories);
-
- if ($add_cats) {
- foreach ($add_cats as $new_cat) {
- $wpdb->query("
- INSERT INTO $wpdb->link2cat (link_id, category_id)
- VALUES ($link_ID, $new_cat)");
- }
- }
-
- // Update category counts.
- $all_affected_cats = array_unique(array_merge($link_categories, $old_categories));
- foreach ( $all_affected_cats as $cat_id ) {
- $count = $wpdb->get_var("SELECT COUNT(*) FROM $wpdb->link2cat, $wpdb->links WHERE $wpdb->links.link_id = $wpdb->link2cat.link_id AND category_id = '$cat_id'");
- $wpdb->query("UPDATE $wpdb->categories SET link_count = '$count' WHERE cat_ID = '$cat_id'");
- wp_cache_delete($cat_id, 'category');
- }
-} // wp_set_link_cats()
-
-function post_exists($title, $content = '', $post_date = '') {
- global $wpdb;
-
- if (!empty ($post_date))
- $post_date = "AND post_date = '$post_date'";
-
- if (!empty ($title))
- return $wpdb->get_var("SELECT ID FROM $wpdb->posts WHERE post_title = '$title' $post_date");
- else
- if (!empty ($content))
- return $wpdb->get_var("SELECT ID FROM $wpdb->posts WHERE post_content = '$content' $post_date");
-
- return 0;
-}
-
-function comment_exists($comment_author, $comment_date) {
- global $wpdb;
-
- return $wpdb->get_var("SELECT comment_post_ID FROM $wpdb->comments
- WHERE comment_author = '$comment_author' AND comment_date = '$comment_date'");
-}
-
-function wpmu_delete_blog($blog_id, $drop = false) {
- global $wpdb, $wpmuBaseTablePrefix;
-
- if ( $blog_id != $wpdb->blogid ) {
- $switch = true;
- switch_to_blog($blog_id);
- }
-
- do_action('delete_blog', $blog_id, $drop);
-
- $users = get_users_of_blog($blog_id);
-
- // Remove users from this blog.
- if ( !empty($users) ) foreach ($users as $user) {
- remove_user_from_blog($user->user_id, $blog_id);
- }
-
- update_blog_status( $wpdb->blogid, 'deleted', 1 );
-
- if ( $drop ) {
- $drop_tables = array( $wpmuBaseTablePrefix . $blog_id . "_categories",
- $wpmuBaseTablePrefix . $blog_id . "_comments",
- $wpmuBaseTablePrefix . $blog_id . "_linkcategories",
- $wpmuBaseTablePrefix . $blog_id . "_links",
- $wpmuBaseTablePrefix . $blog_id . "_link2cat",
- $wpmuBaseTablePrefix . $blog_id . "_options",
- $wpmuBaseTablePrefix . $blog_id . "_post2cat",
- $wpmuBaseTablePrefix . $blog_id . "_postmeta",
- $wpmuBaseTablePrefix . $blog_id . "_posts",
- $wpmuBaseTablePrefix . $blog_id . "_referer_visitLog",
- $wpmuBaseTablePrefix . $blog_id . "_referer_blacklist" );
- reset( $drop_tables );
-
- while( list( $key, $val ) = each( $drop_tables ) )
- $wpdb->query( "DROP TABLE IF EXISTS $val" );
-
- $wpdb->query( "DELETE FROM $wpdb->blogs WHERE blog_id = '$blog_id'" );
- }
-
- if ( $switch )
- restore_current_blog();
-}
-
-function wpmu_delete_user($id) {
- global $wpdb;
-
- $id = (int) $id;
- $user = get_userdata($id);
-
- do_action('wpmu_delete_user', $id);
-
- $blogs = get_blogs_of_user($id);
-
- if ( ! empty($blogs) ) foreach ($blogs as $blog) {
- switch_to_blog($blog->userblog_id);
- remove_user_from_blog($id, $blog->userblog_id);
-
- $post_ids = $wpdb->get_col("SELECT ID FROM $wpdb->posts WHERE post_author = $id");
-
- if ($post_ids) {
- foreach ($post_ids as $post_id)
- wp_delete_post($post_id);
- }
-
- // Clean links
- $wpdb->query("DELETE FROM $wpdb->links WHERE link_owner = $id");
-
- restore_current_blog();
- }
-
- $wpdb->query("DELETE FROM $wpdb->users WHERE ID = $id");
- $wpdb->query("DELETE FROM $wpdb->usermeta WHERE user_id = '$id'");
-
- wp_cache_delete($id, 'users');
- wp_cache_delete($user->user_login, 'userlogins');
-
- return true;
-}
-
-?>
diff --git a/wp-inst/wp-admin/admin-footer.php b/wp-inst/wp-admin/admin-footer.php
deleted file mode 100644
index 783be91..0000000
--- a/wp-inst/wp-admin/admin-footer.php
+++ /dev/null
@@ -1,13 +0,0 @@
-
-<div id="footer"><p><a href="http://wordpress.org/" id="wordpress-logo"><img src="images/wordpress-logo.png" alt="WordPress" /></a></p>
-<p>
-<a href="http://codex.wordpress.org/"><?php _e('Documentation'); ?></a> &#8212; <a href="http://wordpress.org/support/"><?php _e('Support Forums'); ?></a> <br />
-<?php bloginfo('version'); ?> &#8212; <?php printf(__('%s seconds'), number_format(timer_stop(), 2)); ?>
-</p>
-
-</div>
-<?php do_action('admin_footer', ''); ?>
-<script type="text/javascript">if(typeof wpOnload=='function')wpOnload();</script>
-
-</body>
-</html>
diff --git a/wp-inst/wp-admin/admin-functions.php b/wp-inst/wp-admin/admin-functions.php
deleted file mode 100644
index 4b87a1d..0000000
--- a/wp-inst/wp-admin/admin-functions.php
+++ /dev/null
@@ -1,2008 +0,0 @@
-<?php
-
-// Creates a new post from the "Write Post" form using $_POST information.
-function write_post() {
- global $user_ID;
-
- if ( 'page' == $_POST['post_type'] ) {
- if ( !current_user_can('edit_pages') )
- die(__('You are not allowed to create pages on this blog.'));
- } else {
- if ( !current_user_can('edit_posts') )
- die(__('You are not allowed to create posts or drafts on this blog.'));
- }
-
- // Rename.
- $_POST['post_content'] = $_POST['content'];
- $_POST['post_excerpt'] = $_POST['excerpt'];
- $_POST['post_parent'] = $_POST['parent_id'];
- $_POST['to_ping'] = $_POST['trackback_url'];
-
- if (!empty ($_POST['post_author_override'])) {
- $_POST['post_author'] = (int) $_POST['post_author_override'];
- } else {
- if (!empty ($_POST['post_author'])) {
- $_POST['post_author'] = (int) $_POST['post_author'];
- } else {
- $_POST['post_author'] = (int) $_POST['user_ID'];
- }
-
- }
-
- if ($_POST['post_author'] != $_POST['user_ID']) {
- if ( 'page' == $_POST['post_type'] ) {
- if ( !current_user_can('edit_others_pages') )
- die(__('You cannot create pages as this user.'));
- } else {
- if ( !current_user_can('edit_others_posts') )
- die(__('You cannot post as this user.'));
-
- }
- }
-
- // What to do based on which button they pressed
- if ('' != $_POST['saveasdraft'])
- $_POST['post_status'] = 'draft';
- if ('' != $_POST['saveasprivate'])
- $_POST['post_status'] = 'private';
- if ('' != $_POST['publish'])
- $_POST['post_status'] = 'publish';
- if ('' != $_POST['advanced'])
- $_POST['post_status'] = 'draft';
-
- if ( 'page' == $_POST['post_type'] ) {
- if ('publish' == $_POST['post_status'] && !current_user_can('publish_pages'))
- $_POST['post_status'] = 'draft';
- } else {
- if ('publish' == $_POST['post_status'] && !current_user_can('publish_posts'))
- $_POST['post_status'] = 'draft';
- }
-
- if (!isset ($_POST['comment_status']))
- $_POST['comment_status'] = 'closed';
-
- if (!isset ($_POST['ping_status']))
- $_POST['ping_status'] = 'closed';
-
- if (!empty ($_POST['edit_date'])) {
- $aa = $_POST['aa'];
- $mm = $_POST['mm'];
- $jj = $_POST['jj'];
- $hh = $_POST['hh'];
- $mn = $_POST['mn'];
- $ss = $_POST['ss'];
- $jj = ($jj > 31) ? 31 : $jj;
- $hh = ($hh > 23) ? $hh -24 : $hh;
- $mn = ($mn > 59) ? $mn -60 : $mn;
- $ss = ($ss > 59) ? $ss -60 : $ss;
- $_POST['post_date'] = sprintf("%04d-%02d-%02d %02d:%02d:%02d", $aa, $mm, $jj, $hh, $mn, $ss);
- $_POST['post_date_gmt'] = get_gmt_from_date($_POST['post_date']);
- }
-
- // Create the post.
- $post_ID = wp_insert_post($_POST);
- add_meta($post_ID);
-
- // Reunite any orphaned attachments with their parent
- if ( $_POST['temp_ID'] )
- relocate_children($_POST['temp_ID'], $post_ID);
-
- // Now that we have an ID we can fix any attachment anchor hrefs
- fix_attachment_links($post_ID);
-
- return $post_ID;
-}
-
-// Move child posts to a new parent
-function relocate_children($old_ID, $new_ID) {
- global $wpdb;
- $old_ID = (int) $old_ID;
- $new_ID = (int) $new_ID;
- return $wpdb->query("UPDATE $wpdb->posts SET post_parent = $new_ID WHERE post_parent = $old_ID");
-}
-
-// Replace hrefs of attachment anchors with up-to-date permalinks.
-function fix_attachment_links($post_ID) {
- global $wp_rewrite;
-
- $post = & get_post($post_ID, ARRAY_A);
-
- $search = "#<a[^>]+rel=('|\")[^'\"]*attachment[^>]*>#ie";
-
- // See if we have any rel="attachment" links
- if ( 0 == preg_match_all($search, $post['post_content'], $anchor_matches, PREG_PATTERN_ORDER) )
- return;
-
- $i = 0;
- $search = "# id=(\"|')p(\d+)\\1#i";
- foreach ( $anchor_matches[0] as $anchor ) {
- if ( 0 == preg_match($search, $anchor, $id_matches) )
- continue;
-
- $id = $id_matches[2];
-
- // While we have the attachment ID, let's adopt any orphans.
- $attachment = & get_post($id, ARRAY_A);
- if ( ! empty($attachment) && ! is_object(get_post($attachment['post_parent'])) ) {
- $attachment['post_parent'] = $post_ID;
- // Escape data pulled from DB.
- $attachment = add_magic_quotes($attachment);
- wp_update_post($attachment);
- }
-
- $post_search[$i] = $anchor;
- $post_replace[$i] = preg_replace("#href=(\"|')[^'\"]*\\1#e", "stripslashes('href=\\1').get_attachment_link($id).stripslashes('\\1')", $anchor);
- ++$i;
- }
-
- $post['post_content'] = str_replace($post_search, $post_replace, $post['post_content']);
-
- // Escape data pulled from DB.
- $post = add_magic_quotes($post);
-
- return wp_update_post($post);
-}
-
-// Update an existing post with values provided in $_POST.
-function edit_post() {
- global $user_ID;
-
- $post_ID = (int) $_POST['post_ID'];
-
- if ( 'page' == $_POST['post_type'] ) {
- if ( !current_user_can('edit_page', $post_ID) )
- die(__('You are not allowed to edit this page.'));
- } else {
- if ( !current_user_can('edit_post', $post_ID) )
- die(__('You are not allowed to edit this post.'));
- }
-
- // Rename.
- $_POST['ID'] = (int) $_POST['post_ID'];
- $_POST['post_content'] = $_POST['content'];
- $_POST['post_excerpt'] = $_POST['excerpt'];
- $_POST['post_parent'] = $_POST['parent_id'];
- $_POST['to_ping'] = $_POST['trackback_url'];
-
- if (!empty ($_POST['post_author_override'])) {
- $_POST['post_author'] = (int) $_POST['post_author_override'];
- } else
- if (!empty ($_POST['post_author'])) {
- $_POST['post_author'] = (int) $_POST['post_author'];
- } else {
- $_POST['post_author'] = (int) $_POST['user_ID'];
- }
-
- if ($_POST['post_author'] != $_POST['user_ID']) {
- if ( 'page' == $_POST['post_type'] ) {
- if ( !current_user_can('edit_others_pages') )
- die(__('You cannot edit pages as this user.'));
- } else {
- if ( !current_user_can('edit_others_posts') )
- die(__('You cannot edit posts as this user.'));
-
- }
- }
-
- // What to do based on which button they pressed
- if ('' != $_POST['saveasdraft'])
- $_POST['post_status'] = 'draft';
- if ('' != $_POST['saveasprivate'])
- $_POST['post_status'] = 'private';
- if ('' != $_POST['publish'])
- $_POST['post_status'] = 'publish';
- if ('' != $_POST['advanced'])
- $_POST['post_status'] = 'draft';
-
- if ( 'page' == $_POST['post_type'] ) {
- if ('publish' == $_POST['post_status'] && !current_user_can('edit_published_pages'))
- $_POST['post_status'] = 'draft';
- } else {
- if ('publish' == $_POST['post_status'] && !current_user_can('edit_published_posts'))
- $_POST['post_status'] = 'draft';
- }
-
- if (!isset ($_POST['comment_status']))
- $_POST['comment_status'] = 'closed';
-
- if (!isset ($_POST['ping_status']))
- $_POST['ping_status'] = 'closed';
-
- if (!empty ($_POST['edit_date'])) {
- $aa = $_POST['aa'];
- $mm = $_POST['mm'];
- $jj = $_POST['jj'];
- $hh = $_POST['hh'];
- $mn = $_POST['mn'];
- $ss = $_POST['ss'];
- $jj = ($jj > 31) ? 31 : $jj;
- $hh = ($hh > 23) ? $hh -24 : $hh;
- $mn = ($mn > 59) ? $mn -60 : $mn;
- $ss = ($ss > 59) ? $ss -60 : $ss;
- $_POST['post_date'] = "$aa-$mm-$jj $hh:$mn:$ss";
- $_POST['post_date_gmt'] = get_gmt_from_date("$aa-$mm-$jj $hh:$mn:$ss");
- }
-
- // Meta Stuff
- if ($_POST['meta']) {
- foreach ($_POST['meta'] as $key => $value)
- update_meta($key, $value['key'], $value['value']);
- }
-
- if ($_POST['deletemeta']) {
- foreach ($_POST['deletemeta'] as $key => $value)
- delete_meta($key);
- }
-
- add_meta($post_ID);
-
- wp_update_post($_POST);
-
- // Now that we have an ID we can fix any attachment anchor hrefs
- fix_attachment_links($post_ID);
-
- return $post_ID;
-}
-
-function edit_comment() {
- global $user_ID;
-
- $comment_ID = (int) $_POST['comment_ID'];
- $comment_post_ID = (int) $_POST['comment_post_ID'];
-
- if (!current_user_can('edit_post', $comment_post_ID))
- die(__('You are not allowed to edit comments on this post, so you cannot edit this comment.'));
-
- $_POST['comment_author'] = $_POST['newcomment_author'];
- $_POST['comment_author_email'] = $_POST['newcomment_author_email'];
- $_POST['comment_author_url'] = $_POST['newcomment_author_url'];
- $_POST['comment_approved'] = $_POST['comment_status'];
- $_POST['comment_content'] = $_POST['content'];
- $_POST['comment_ID'] = (int) $_POST['comment_ID'];
-
- if (!empty ($_POST['edit_date'])) {
- $aa = $_POST['aa'];
- $mm = $_POST['mm'];
- $jj = $_POST['jj'];
- $hh = $_POST['hh'];
- $mn = $_POST['mn'];
- $ss = $_POST['ss'];
- $jj = ($jj > 31) ? 31 : $jj;
- $hh = ($hh > 23) ? $hh -24 : $hh;
- $mn = ($mn > 59) ? $mn -60 : $mn;
- $ss = ($ss > 59) ? $ss -60 : $ss;
- $_POST['comment_date'] = "$aa-$mm-$jj $hh:$mn:$ss";
- }
-
- wp_update_comment($_POST);
-}
-
-// Get an existing post and format it for editing.
-function get_post_to_edit($id) {
- global $richedit;
- $richedit = ( 'true' == get_user_option('rich_editing') ) ? true : false;
-
- $post = get_post($id);
-
- $post->post_content = format_to_edit($post->post_content, $richedit);
- $post->post_content = apply_filters('content_edit_pre', $post->post_content);
-
- $post->post_excerpt = format_to_edit($post->post_excerpt);
- $post->post_excerpt = apply_filters('excerpt_edit_pre', $post->post_excerpt);
-
- $post->post_title = format_to_edit($post->post_title);
- $post->post_title = apply_filters('title_edit_pre', $post->post_title);
-
- if ($post->post_type == 'page')
- $post->page_template = get_post_meta($id, '_wp_page_template', true);
-
- return $post;
-}
-
-// Default post information to use when populating the "Write Post" form.
-function get_default_post_to_edit() {
- if ( !empty($_REQUEST['post_title']) )
- $post_title = wp_specialchars(stripslashes($_REQUEST['post_title']));
- else if ( !empty($_REQUEST['popuptitle']) ) {
- $post_title = wp_specialchars(stripslashes($_REQUEST['popuptitle']));
- $post_title = funky_javascript_fix($post_title);
- } else {
- $post_title = '';
- }
-
- if ( !empty($_REQUEST['content']) )
- $post_content = wp_specialchars(stripslashes($_REQUEST['content']));
- else if ( !empty($post_title) ) {
- $text = wp_specialchars(stripslashes(urldecode($_REQUEST['text'])));
- $text = funky_javascript_fix($text);
- $popupurl = wp_specialchars($_REQUEST['popupurl']);
- $post_content = '<a href="'.$popupurl.'">'.$post_title.'</a>'."\n$text";
- }
-
- if ( !empty($_REQUEST['excerpt']) )
- $post_excerpt = wp_specialchars(stripslashes($_REQUEST['excerpt']));
- else
- $post_excerpt = '';
-
- $post->post_status = 'draft';
- $post->comment_status = get_settings('default_comment_status');
- $post->ping_status = get_settings('default_ping_status');
- $post->post_pingback = get_settings('default_pingback_flag');
- $post->post_category = get_settings('default_category');
- $post->post_content = apply_filters('default_content', $post_content);
- $post->post_title = apply_filters('default_title', $post_title);
- $post->post_excerpt = apply_filters('default_excerpt', $post_excerpt);
- $post->page_template = 'default';
- $post->post_parent = 0;
- $post->menu_order = 0;
-
- return $post;
-}
-
-function get_comment_to_edit($id) {
- global $richedit;
- $richedit = ( 'true' == get_user_option('rich_editing') ) ? true : false;
-
- $comment = get_comment($id);
-
- $comment->comment_content = format_to_edit($comment->comment_content, $richedit);
- $comment->comment_content = apply_filters('comment_edit_pre', $comment->comment_content);
-
- $comment->comment_author = format_to_edit($comment->comment_author);
- $comment->comment_author_email = format_to_edit($comment->comment_author_email);
- $comment->comment_author_url = format_to_edit($comment->comment_author_url);
-
- return $comment;
-}
-
-function get_category_to_edit($id) {
- $category = get_category($id);
-
- return $category;
-}
-
-function wp_dropdown_roles( $default = false ) {
- global $wp_roles;
- $r = '';
- foreach($wp_roles->role_names as $role => $name)
- if ( $default == $role ) // Make default first in list
- $p = "\n\t<option selected='selected' value='$role'>$name</option>";
- else
- $r .= "\n\t<option value='$role'>$name</option>";
- echo $p . $r;
-}
-
-
-// Creates a new user from the "Users" form using $_POST information.
-
-function add_user() {
- if ( func_num_args() ) { // The hackiest hack that ever did hack
- global $current_user, $wp_roles;
- $user_id = func_get_arg(0);
- if (isset ($_POST['role'])) {
- if($user_id != $current_user->id || $wp_roles->role_objects[$_POST['role']]->has_cap('edit_users')) {
- $user = new WP_User($user_id);
- $user->set_role($_POST['role']);
- }
- }
- } else {
- add_action('user_register', 'add_user'); // See above
- return edit_user();
- }
-}
-
-function edit_user($user_id = 0) {
- global $current_user, $wp_roles, $wpdb;
- if ($user_id != 0) {
- $update = true;
- $user->ID = $user_id;
- $userdata = get_userdata($user_id);
- $user->user_login = $wpdb->escape($userdata->user_login);
- } else {
- $update = false;
- $user = '';
- }
-
- if (isset ($_POST['user_login']))
- $user->user_login = wp_specialchars(trim($_POST['user_login']));
-
- $pass1 = $pass2 = '';
- if (isset ($_POST['pass1']))
- $pass1 = $_POST['pass1'];
- if (isset ($_POST['pass2']))
- $pass2 = $_POST['pass2'];
-
- if (isset ($_POST['role'])) {
- if($user_id != $current_user->id || $wp_roles->role_objects[$_POST['role']]->has_cap('edit_users'))
- $user->role = $_POST['role'];
- }
-
- if (isset ($_POST['email']))
- $user->user_email = wp_specialchars(trim($_POST['email']));
- if (isset ($_POST['url'])) {
- $user->user_url = wp_specialchars(trim($_POST['url']));
- $user->user_url = preg_match('/^(https?|ftps?|mailto|news|gopher):/is', $user->user_url) ? $user->user_url : 'http://'.$user->user_url;
- }
- if (isset ($_POST['first_name']))
- $user->first_name = wp_specialchars(trim($_POST['first_name']));
- if (isset ($_POST['last_name']))
- $user->last_name = wp_specialchars(trim($_POST['last_name']));
- if (isset ($_POST['nickname']))
- $user->nickname = wp_specialchars(trim($_POST['nickname']));
- if (isset ($_POST['display_name']))
- $user->display_name = wp_specialchars(trim($_POST['display_name']));
- if (isset ($_POST['description']))
- $user->description = wp_specialchars(trim($_POST['description']));
- if (isset ($_POST['jabber']))
- $user->jabber = wp_specialchars(trim($_POST['jabber']));
- if (isset ($_POST['aim']))
- $user->aim = wp_specialchars(trim($_POST['aim']));
- if (isset ($_POST['yim']))
- $user->yim = wp_specialchars(trim($_POST['yim']));
-
- $errors = new WP_Error();
-
- /* checking that username has been typed */
- if ($user->user_login == '')
- $errors->add('user_login', __('<strong>ERROR</strong>: Please enter a username.'));
-
- /* checking the password has been typed twice */
- do_action('check_passwords', array ($user->user_login, & $pass1, & $pass2));
-
- if (!$update) {
- if ($pass1 == '' || $pass2 == '')
- $errors->add('pass', __('<strong>ERROR</strong>: Please enter your password twice.'));
- } else {
- if ((empty ($pass1) && !empty ($pass2)) || (empty ($pass2) && !empty ($pass1)))
- $errors->add('pass', __("<strong>ERROR</strong>: you typed your new password only once."));
- }
-
- /* Check for "\" in password */
- if( strpos( " ".$pass1, "\\" ) )
- $errors->add('pass', __('<strong>ERROR</strong>: Passwords may not contain the character "\\".'));
-
- /* checking the password has been typed twice the same */
- if ($pass1 != $pass2)
- $errors->add('pass', __('<strong>ERROR</strong>: Please type the same password in the two password fields.'));
-
- if (!empty ($pass1))
- $user->user_pass = $pass1;
-
- if ( !validate_username($user->user_login) )
- $errors->add('user_login', __('<strong>ERROR</strong>: This username is invalid. Please enter a valid username.'));
-
- if (!$update && username_exists($user->user_login))
- $errors->add('user_login', __('<strong>ERROR</strong>: This username is already registered, please choose another one.'));
-
- /* checking e-mail address */
- if (empty ($user->user_email)) {
- $errors->add('user_email', __("<strong>ERROR</strong>: please type an e-mail address"));
- } else
- if (!is_email($user->user_email)) {
- $errors->add('user_email', __("<strong>ERROR</strong>: the email address isn't correct"));
- }
-
- if ( $errors->get_error_codes() )
- return $errors;
-
- if ($update) {
- $user_id = wp_update_user(get_object_vars($user));
- } else {
- $user_id = wp_insert_user(get_object_vars($user));
- wp_new_user_notification($user_id);
- }
- return $user_id;
-}
-
-
-function get_link_to_edit($link_id) {
- $link = get_link($link_id);
-
- $link->link_url = wp_specialchars($link->link_url, 1);
- $link->link_name = wp_specialchars($link->link_name, 1);
- $link->link_description = wp_specialchars($link->link_description);
- $link->link_notes = wp_specialchars($link->link_notes);
- $link->link_rss = wp_specialchars($link->link_rss);
- $link->post_category = $link->link_category;
-
- return $link;
-}
-
-function get_default_link_to_edit() {
- if ( isset($_GET['linkurl']) )
- $link->link_url = wp_specialchars($_GET['linkurl'], 1);
- else
- $link->link_url = '';
-
- if ( isset($_GET['name']) )
- $link->link_name = wp_specialchars($_GET['name'], 1);
- else
- $link->link_name = '';
-
- $link->link_visible = 'Y';
-
- return $link;
-}
-
-function add_link() {
- return edit_link();
-}
-
-function edit_link($link_id = '') {
- if (!current_user_can('manage_links'))
- die(__("Cheatin' uh ?"));
-
- $_POST['link_url'] = wp_specialchars($_POST['link_url']);
- $_POST['link_url'] = preg_match('/^(https?|ftps?|mailto|news|gopher):/is', $_POST['link_url']) ? $_POST['link_url'] : 'http://' . $_POST['link_url'];
- $_POST['link_name'] = wp_specialchars($_POST['link_name']);
- $_POST['link_image'] = wp_specialchars($_POST['link_image']);
- $_POST['link_rss'] = wp_specialchars($_POST['link_rss']);
- $_POST['link_category'] = $_POST['post_category'];
-
- if ( !empty($link_id) ) {
- $_POST['link_id'] = $link_id;
- return wp_update_link($_POST);
- } else {
- return wp_insert_link($_POST);
- }
-}
-
-function url_shorten($url) {
- $short_url = str_replace('http://', '', stripslashes($url));
- $short_url = str_replace('www.', '', $short_url);
- if ('/' == substr($short_url, -1))
- $short_url = substr($short_url, 0, -1);
- if (strlen($short_url) > 35)
- $short_url = substr($short_url, 0, 32).'...';
- return $short_url;
-}
-
-function selected($selected, $current) {
- if ($selected == $current)
- echo ' selected="selected"';
-}
-
-function checked($checked, $current) {
- if ($checked == $current)
- echo ' checked="checked"';
-}
-
-function return_categories_list($parent = 0) {
- global $wpdb;
- return $wpdb->get_col("SELECT cat_ID FROM $wpdb->categories WHERE category_parent = $parent ORDER BY category_count DESC");
-}
-
-function sort_cats($cat1, $cat2) {
- return strcasecmp($cat1['cat_name'], $cat2['cat_name']);
-}
-
-function get_nested_categories($default = 0, $parent = 0) {
- global $post_ID, $link_id, $mode, $wpdb;
-
- if ($post_ID) {
- $checked_categories = $wpdb->get_col("
- SELECT category_id
- FROM $wpdb->categories, $wpdb->post2cat
- WHERE $wpdb->post2cat.category_id = cat_ID AND $wpdb->post2cat.post_id = '$post_ID'
- ");
-
- if (count($checked_categories) == 0) {
- // No selected categories, strange
- $checked_categories[] = $default;
- }
- } else if ($link_id) {
- $checked_categories = $wpdb->get_col("
- SELECT category_id
- FROM $wpdb->categories, $wpdb->link2cat
- WHERE $wpdb->link2cat.category_id = cat_ID AND $wpdb->link2cat.link_id = '$link_id'
- ");
-
- if (count($checked_categories) == 0) {
- // No selected categories, strange
- $checked_categories[] = $default;
- }
- } else {
- $checked_categories[] = $default;
- }
-
- $cats = return_categories_list($parent);
- $result = array ();
-
- if (is_array($cats)) {
- foreach ($cats as $cat) {
- if ( $cat == 0 ) { // HACK, added 2006-05-13
- $wpdb->query("DELETE FROM $wpdb->categories WHERE cat_ID = 0");
- continue;
- }
- $result[$cat]['children'] = get_nested_categories($default, $cat);
- $result[$cat]['cat_ID'] = $cat;
- $result[$cat]['checked'] = in_array($cat, $checked_categories);
- $result[$cat]['cat_name'] = get_the_category_by_ID($cat);
- }
- }
-
- usort($result, 'sort_cats');
-
- return $result;
-}
-
-function write_nested_categories($categories) {
- foreach ($categories as $category) {
- echo '<li id="category-', $category['cat_ID'], '"><label for="in-category-', $category['cat_ID'], '" class="selectit"><input value="', $category['cat_ID'], '" type="checkbox" name="post_category[]" id="in-category-', $category['cat_ID'], '"', ($category['checked'] ? ' checked="checked"' : ""), '/> ', wp_specialchars($category['cat_name']), "</label></li>\n";
-
- if ( $category['children'] ) {
- echo "<ul>\n";
- write_nested_categories($category['children']);
- echo "</ul>\n";
- }
- }
-}
-
-function dropdown_categories($default = 0) {
- write_nested_categories(get_nested_categories($default));
-}
-
-// Dandy new recursive multiple category stuff.
-function cat_rows($parent = 0, $level = 0, $categories = 0) {
- global $wpdb, $class;
-
- if (!$categories)
- $categories = get_categories('hide_empty=0');
-
- if ($categories) {
- foreach ($categories as $category) {
- if ( $category->cat_ID == 0 ) { // HACK, added 2006-05-13
- $wpdb->query("DELETE FROM $wpdb->categories WHERE cat_ID = 0");
- continue;
- }
- if ($category->category_parent == $parent) {
- $category->cat_name = wp_specialchars($category->cat_name,'double');
- $pad = str_repeat('&#8212; ', $level);
- if ( current_user_can('manage_categories') ) {
- $edit = "<a href='categories.php?action=edit&amp;cat_ID=$category->cat_ID' class='edit'>".__('Edit')."</a></td>";
- $default_cat_id = get_option('default_category');
- $default_link_cat_id = get_option('default_link_category');
-
- if ( ($category->cat_ID != $default_cat_id) && ($category->cat_ID != $default_link_cat_id) )
- $edit .= "<td><a href='" . wp_nonce_url("categories.php?action=delete&amp;cat_ID=$category->cat_ID", 'delete-category_' . $category->cat_ID ) . "' onclick=\"return deleteSomething( 'cat', $category->cat_ID, '" . sprintf(__("You are about to delete the category &quot;%s&quot;.\\nAll of its posts will go into the default category of &quot;%s&quot;\\nAll of its bookmarks will go into the default category of &quot;%s&quot;.\\n&quot;OK&quot; to delete, &quot;Cancel&quot; to stop."), addslashes($category->cat_name), js_escape(get_catname($default_cat_id)), js_escape(get_catname($default_link_cat_id))) . "' );\" class='delete'>".__('Delete')."</a>";
- else
- $edit .= "<td style='text-align:center'>".__("Default");
- }
- else
- $edit = '';
-
- $class = ('alternate' == $class) ? '' : 'alternate';
-
- $category->category_count = number_format( $category->category_count );
- $category->link_count = number_format( $category->link_count );
- echo "<tr id='cat-$category->cat_ID' class='$class'><th scope='row'>$category->cat_ID</th><td>$pad $category->cat_name</td>
- <td>$category->category_description</td>
- <td align='center'>$category->category_count</td>
- <td align='center'>$category->link_count</td>
- <td>$edit</td>
- </tr>";
- cat_rows($category->cat_ID, $level +1, $categories);
- }
- }
- } else {
- return false;
- }
-}
-
-function page_rows($parent = 0, $level = 0, $pages = 0, $hierarchy = true) {
- global $wpdb, $class, $post;
-
- if (!$pages)
- $pages = get_pages('sort_column=menu_order');
-
- if (! $pages)
- return false;
-
- foreach ($pages as $post) {
- setup_postdata($post);
- if ( $hierarchy && ($post->post_parent != $parent) )
- continue;
-
- $post->post_title = wp_specialchars($post->post_title);
- $pad = str_repeat('&#8212; ', $level);
- $id = $post->ID;
- $class = ('alternate' == $class) ? '' : 'alternate';
-?>
- <tr id='page-<?php echo $id; ?>' class='<?php echo $class; ?>'>
- <th scope="row"><?php echo $post->ID; ?></th>
- <td>
- <?php echo $pad; ?><?php the_title() ?>
- <?php if ('private' == $post->post_status) _e(' - <strong>Private</strong>'); ?></td>
- </td>
- <td><?php the_author() ?></td>
- <td><?php echo mysql2date('Y-m-d g:i a', $post->post_modified); ?></td>
- <td><a href="<?php the_permalink(); ?>" rel="permalink" class="edit"><?php _e('View'); ?></a></td>
- <td><?php if ( current_user_can('edit_page', $id) ) { echo "<a href='page.php?action=edit&amp;post=$id' class='edit'>" . __('Edit') . "</a>"; } ?></td>
- <td><?php if ( current_user_can('edit_page', $id) ) { echo "<a href='" . wp_nonce_url("page.php?action=delete&amp;post=$id", 'delete-page_' . $id) . "' class='delete' onclick=\"return deleteSomething( 'page', " . $id . ", '" . sprintf(__("You are about to delete the &quot;%s&quot; page.\\n&quot;OK&quot; to delete, &quot;Cancel&quot; to stop."), addslashes(wp_specialchars(get_the_title(),'double')) ) . "' );\">" . __('Delete') . "</a>"; } ?></td>
- </tr>
-
-<?php
- if ( $hierarchy) page_rows($id, $level + 1, $pages);
- }
-}
-
-function user_row( $user_object, $style = '' ) {
- global $current_user;
-
- if ( !(is_object($user_object) && is_a($user_object, 'WP_User')) )
- $user_object = new WP_User( (int) $user_object );
- $email = $user_object->user_email;
- if( $current_user->ID != $user_object->ID && is_site_admin() == false )
- $email = "N/A";
- $url = $user_object->user_url;
- $short_url = str_replace('http://', '', $url);
- $short_url = str_replace('www.', '', $short_url);
- if ('/' == substr($short_url, -1))
- $short_url = substr($short_url, 0, -1);
- if (strlen($short_url) > 35)
- $short_url = substr($short_url, 0, 32).'...';
- $numposts = get_usernumposts($user_object->ID);
- $r = "<tr id='user-$user_object->ID'$style>
- <td><input type='checkbox' name='users[]' id='user_{$user_object->ID}' value='{$user_object->ID}' /> <label for='user_{$user_object->ID}'>{$user_object->ID}</label></td>
- <td><label for='user_{$user_object->ID}'><strong>$user_object->user_login</strong></label></td>
- <td><label for='user_{$user_object->ID}'>$user_object->first_name $user_object->last_name</label></td>
- <td><a href='mailto:$email' title='" . sprintf(__('e-mail: %s'), $email) . "'>$email</a></td>
- <td><a href='$url' title='website: $url'>$short_url</a></td>";
- $r .= "\n\t\t<td align='center'>";
- if ($numposts > 0) {
- $r .= "<a href='edit.php?author=$user_object->ID' title='" . __('View posts by this author') . "' class='edit'>";
- $r .= sprintf(__('View %1$s %2$s'), $numposts, __ngettext('post', 'posts', $numposts));
- }
- $r .= "</td>\n\t\t<td>";
- $edit_link = add_query_arg('wp_http_referer', wp_specialchars(urlencode(stripslashes($_SERVER['REQUEST_URI']))), "user-edit.php?user_id=$user_object->ID");
- if ( ( is_site_admin() || $current_user->ID == $user_object->ID ) && current_user_can('edit_user', $user_object->ID) )
- $r .= "<a href='$edit_link' class='edit'>".__('Edit')."</a>";
- $r .= "</td>\n\t</tr>";
- return $r;
-}
-
-function wp_dropdown_cats($currentcat = 0, $currentparent = 0, $parent = 0, $level = 0, $categories = 0) {
- global $wpdb;
- if (!$categories)
- $categories = get_categories('hide_empty=0');
-
- if ($categories) {
- foreach ($categories as $category) {
- if ($currentcat != $category->cat_ID && $parent == $category->category_parent) {
- $pad = str_repeat('&#8211; ', $level);
- $category->cat_name = wp_specialchars($category->cat_name);
- echo "\n\t<option value='$category->cat_ID'";
- if ($currentparent == $category->cat_ID)
- echo " selected='selected'";
- echo ">$pad$category->cat_name</option>";
- wp_dropdown_cats($currentcat, $currentparent, $category->cat_ID, $level +1, $categories);
- }
- }
- } else {
- return false;
- }
-}
-
-function return_link_categories_list($parent = 0) {
- global $wpdb;
- return $wpdb->get_col("SELECT cat_ID FROM $wpdb->categories WHERE category_parent = $parent ORDER BY link_count DESC");
-}
-
-function wp_create_thumbnail($file, $max_side, $effect = '') {
-
- // 1 = GIF, 2 = JPEG, 3 = PNG
-
- if (file_exists($file)) {
- $type = getimagesize($file);
-
- // if the associated function doesn't exist - then it's not
- // handle. duh. i hope.
-
- if (!function_exists('imagegif') && $type[2] == 1) {
- $error = __('Filetype not supported. Thumbnail not created.');
- }
- elseif (!function_exists('imagejpeg') && $type[2] == 2) {
- $error = __('Filetype not supported. Thumbnail not created.');
- }
- elseif (!function_exists('imagepng') && $type[2] == 3) {
- $error = __('Filetype not supported. Thumbnail not created.');
- } else {
-
- // create the initial copy from the original file
- if ($type[2] == 1) {
- $image = imagecreatefromgif($file);
- }
- elseif ($type[2] == 2) {
- $image = imagecreatefromjpeg($file);
- }
- elseif ($type[2] == 3) {
- $image = imagecreatefrompng($file);
- }
-
- if (function_exists('imageantialias'))
- imageantialias($image, TRUE);
-
- $image_attr = getimagesize($file);
-
- // figure out the longest side
-
- if ($image_attr[0] > $image_attr[1]) {
- $image_width = $image_attr[0];
- $image_height = $image_attr[1];
- $image_new_width = $max_side;
-
- $image_ratio = $image_width / $image_new_width;
- $image_new_height = $image_height / $image_ratio;
- //width is > height
- } else {
- $image_width = $image_attr[0];
- $image_height = $image_attr[1];
- $image_new_height = $max_side;
-
- $image_ratio = $image_height / $image_new_height;
- $image_new_width = $image_width / $image_ratio;
- //height > width
- }
-
- $thumbnail = imagecreatetruecolor($image_new_width, $image_new_height);
- @ imagecopyresampled($thumbnail, $image, 0, 0, 0, 0, $image_new_width, $image_new_height, $image_attr[0], $image_attr[1]);
-
- // If no filters change the filename, we'll do a default transformation.
- if ( basename($file) == $thumb = apply_filters('thumbnail_filename', basename($file)) )
- $thumb = preg_replace('!(\.[^.]+)?$!', __('.thumbnail').'$1', basename($file), 1);
-
- $thumbpath = str_replace(basename($file), $thumb, $file);
-
- // move the thumbnail to it's final destination
- if ($type[2] == 1) {
- if (!imagegif($thumbnail, $thumbpath)) {
- $error = __("Thumbnail path invalid");
- }
- }
- elseif ($type[2] == 2) {
- if (!imagejpeg($thumbnail, $thumbpath)) {
- $error = __("Thumbnail path invalid");
- }
- }
- elseif ($type[2] == 3) {
- if (!imagepng($thumbnail, $thumbpath)) {
- $error = __("Thumbnail path invalid");
- }
- }
-
- }
- } else {
- $error = __('File not found');
- }
-
- if (!empty ($error)) {
- return $error;
- } else {
- return $thumbpath;
- }
-}
-
-// Some postmeta stuff
-function has_meta($postid) {
- global $wpdb;
-
- return $wpdb->get_results("
- SELECT meta_key, meta_value, meta_id, post_id
- FROM $wpdb->postmeta
- WHERE post_id = '$postid'
- ORDER BY meta_key,meta_id", ARRAY_A);
-
-}
-
-function list_meta($meta) {
- global $post_ID;
- // Exit if no meta
- if (!$meta) {
- echo '<tbody id="the-list"></tbody>'; //TBODY needed for list-manipulation JS
- return;
- }
- $count = 0;
-?>
- <thead>
- <tr>
- <th><?php _e('Key') ?></th>
- <th><?php _e('Value') ?></th>
- <th colspan='2'><?php _e('Action') ?></th>
- </tr>
- </thead>
-<?php
- $r ="\n\t<tbody id='the-list'>";
- foreach ($meta as $entry) {
- ++ $count;
- if ($count % 2)
- $style = 'alternate';
- else
- $style = '';
- if ('_' == $entry['meta_key'] { 0 })
- $style .= ' hidden';
- $key_js = addslashes(wp_specialchars( $entry['meta_key'], 'double' ));
- $entry['meta_key'] = wp_specialchars( $entry['meta_key'], true );
- $entry['meta_value'] = wp_specialchars( $entry['meta_value'], true );
- $r .= "\n\t<tr id='meta-{$entry['meta_id']}' class='$style'>";
- $r .= "\n\t\t<td valign='top'><input name='meta[{$entry['meta_id']}][key]' tabindex='6' type='text' size='20' value='{$entry['meta_key']}' /></td>";
- $r .= "\n\t\t<td><textarea name='meta[{$entry['meta_id']}][value]' tabindex='6' rows='2' cols='30'>{$entry['meta_value']}</textarea></td>";
- $r .= "\n\t\t<td align='center'><input name='updatemeta' type='submit' class='updatemeta' tabindex='6' value='".__('Update')."' /><br />";
- $r .= "\n\t\t<input name='deletemeta[{$entry['meta_id']}]' type='submit' onclick=\"return deleteSomething( 'meta', {$entry['meta_id']}, '";
- $r .= sprintf(__("You are about to delete the &quot;%s&quot; custom field on this post.\\n&quot;OK&quot; to delete, &quot;Cancel&quot; to stop."), $key_js);
- $r .= "' );\" class='deletemeta' tabindex='6' value='".__('Delete')."' /></td>";
- $r .= "\n\t</tr>";
- }
- echo $r;
- echo "\n\t</tbody>";
-}
-
-// Get a list of previously defined keys
-function get_meta_keys() {
- global $wpdb;
-
- $keys = $wpdb->get_col("
- SELECT meta_key
- FROM $wpdb->postmeta
- GROUP BY meta_key
- ORDER BY meta_key");
-
- return $keys;
-}
-
-function meta_form() {
- global $wpdb;
- $keys = $wpdb->get_col("
- SELECT meta_key
- FROM $wpdb->postmeta
- GROUP BY meta_key
- ORDER BY meta_id DESC
- LIMIT 10");
-?>
-<h3><?php _e('Add a new custom field:') ?></h3>
-<table id="newmeta" cellspacing="3" cellpadding="3">
- <tr>
-<th colspan="2"><?php _e('Key') ?></th>
-<th><?php _e('Value') ?></th>
-</tr>
- <tr valign="top">
- <td align="right" width="18%">
-<?php if ($keys) : ?>
-<select id="metakeyselect" name="metakeyselect" tabindex="7">
-<option value="#NONE#"><?php _e('- Select -'); ?></option>
-<?php
-
- foreach ($keys as $key) {
- echo "\n\t<option value='$key'>$key</option>";
- }
-?>
-</select> <?php _e('or'); ?>
-<?php endif; ?>
-</td>
-<td><input type="text" id="metakeyinput" name="metakeyinput" tabindex="7" /></td>
- <td><textarea id="metavalue" name="metavalue" rows="3" cols="25" tabindex="8"></textarea></td>
- </tr>
-
-</table>
-<p class="submit"><input type="submit" id="updatemetasub" name="updatemeta" tabindex="9" value="<?php _e('Add Custom Field &raquo;') ?>" /></p>
-<?php
-
-}
-
-function add_meta($post_ID) {
- global $wpdb;
- $post_ID = (int) $post_ID;
-
- $metakeyselect = $wpdb->escape(stripslashes(trim($_POST['metakeyselect'])));
- $metakeyinput = $wpdb->escape(stripslashes(trim($_POST['metakeyinput'])));
- $metavalue = $wpdb->escape(stripslashes(trim($_POST['metavalue'])));
-
- if ( ('0' === $metavalue || !empty ($metavalue)) && ((('#NONE#' != $metakeyselect) && !empty ($metakeyselect)) || !empty ($metakeyinput)) ) {
- // We have a key/value pair. If both the select and the
- // input for the key have data, the input takes precedence:
-
- if ('#NONE#' != $metakeyselect)
- $metakey = $metakeyselect;
-
- if ($metakeyinput)
- $metakey = $metakeyinput; // default
-
- $result = $wpdb->query("
- INSERT INTO $wpdb->postmeta
- (post_id,meta_key,meta_value)
- VALUES ('$post_ID','$metakey','$metavalue')
- ");
- return $wpdb->insert_id;
- }
- return false;
-} // add_meta
-
-function delete_meta($mid) {
- global $wpdb;
- $mid = (int) $mid;
-
- return $wpdb->query("DELETE FROM $wpdb->postmeta WHERE meta_id = '$mid'");
-}
-
-function update_meta($mid, $mkey, $mvalue) {
- global $wpdb;
- $mid = (int) $mid;
-
- return $wpdb->query("UPDATE $wpdb->postmeta SET meta_key = '$mkey', meta_value = '$mvalue' WHERE meta_id = '$mid'");
-}
-
-function get_post_meta_by_id($mid) {
- global $wpdb;
- $mid = (int) $mid;
-
- return $wpdb->get_row("SELECT * FROM $wpdb->postmeta WHERE meta_id = '$mid'");
-}
-
-function touch_time($edit = 1, $for_post = 1) {
- global $wp_locale, $post, $comment;
-
- if ( $for_post )
- $edit = ( ('draft' == $post->post_status) && (!$post->post_date || '0000-00-00 00:00:00' == $post->post_date) ) ? false : true;
-
- echo '<fieldset><legend><input type="checkbox" class="checkbox" name="edit_date" value="1" id="timestamp" /> <label for="timestamp">'.__('Edit timestamp').'</label></legend>';
-
- $time_adj = time() + (get_settings('gmt_offset') * 3600);
- $post_date = ($for_post) ? $post->post_date : $comment->comment_date;
- $jj = ($edit) ? mysql2date('d', $post_date) : gmdate('d', $time_adj);
- $mm = ($edit) ? mysql2date('m', $post_date) : gmdate('m', $time_adj);
- $aa = ($edit) ? mysql2date('Y', $post_date) : gmdate('Y', $time_adj);
- $hh = ($edit) ? mysql2date('H', $post_date) : gmdate('H', $time_adj);
- $mn = ($edit) ? mysql2date('i', $post_date) : gmdate('i', $time_adj);
- $ss = ($edit) ? mysql2date('s', $post_date) : gmdate('s', $time_adj);
-
- echo "<select name=\"mm\" onchange=\"edit_date.checked=true\">\n";
- for ($i = 1; $i < 13; $i = $i +1) {
- echo "\t\t\t<option value=\"$i\"";
- if ($i == $mm)
- echo ' selected="selected"';
- echo '>' . $wp_locale->get_month($i) . "</option>\n";
- }
-?>
-</select>
-<input type="text" id="jj" name="jj" value="<?php echo $jj; ?>" size="2" maxlength="2" onchange="edit_date.checked=true"/>
-<input type="text" id="aa" name="aa" value="<?php echo $aa ?>" size="4" maxlength="5" onchange="edit_date.checked=true" /> @
-<input type="text" id="hh" name="hh" value="<?php echo $hh ?>" size="2" maxlength="2" onchange="edit_date.checked=true" /> :
-<input type="text" id="mn" name="mn" value="<?php echo $mn ?>" size="2" maxlength="2" onchange="edit_date.checked=true" />
-<input type="hidden" id="ss" name="ss" value="<?php echo $ss ?>" size="2" maxlength="2" onchange="edit_date.checked=true" />
-<?php
- if ( $edit ) {
- _e('Existing timestamp');
- //echo ': ' . $wp_locale->get_month($mm) . "$jj, $aa @ $hh:$mn";
- echo sprintf(__(': %1$s %2$s, %3$s @ %4$s:%5$s'), $wp_locale->get_month($mm), $jj, $aa, $hh, $mn);
- }
-?>
-</fieldset>
- <?php
-
-}
-
-// insert_with_markers: Owen Winkler, fixed by Eric Anderson
-// Inserts an array of strings into a file (.htaccess), placing it between
-// BEGIN and END markers. Replaces existing marked info. Retains surrounding
-// data. Creates file if none exists.
-// Returns true on write success, false on failure.
-function insert_with_markers($filename, $marker, $insertion) {
- if (!file_exists($filename) || is_writeable($filename)) {
- if (!file_exists($filename)) {
- $markerdata = '';
- } else {
- $markerdata = explode("\n", implode('', file($filename)));
- }
-
- $f = fopen($filename, 'w');
- $foundit = false;
- if ($markerdata) {
- $state = true;
- foreach ($markerdata as $n => $markerline) {
- if (strstr($markerline, "# BEGIN {$marker}"))
- $state = false;
- if ($state) {
- if ( $n + 1 < count($markerdata) )
- fwrite($f, "{$markerline}\n");
- else
- fwrite($f, "{$markerline}");
- }
- if (strstr($markerline, "# END {$marker}")) {
- fwrite($f, "# BEGIN {$marker}\n");
- if (is_array($insertion))
- foreach ($insertion as $insertline)
- fwrite($f, "{$insertline}\n");
- fwrite($f, "# END {$marker}\n");
- $state = true;
- $foundit = true;
- }
- }
- }
- if (!$foundit) {
- fwrite($f, "# BEGIN {$marker}\n");
- foreach ($insertion as $insertline)
- fwrite($f, "{$insertline}\n");
- fwrite($f, "# END {$marker}\n");
- }
- fclose($f);
- return true;
- } else {
- return false;
- }
-}
-
-// extract_from_markers: Owen Winkler
-// Returns an array of strings from a file (.htaccess) from between BEGIN
-// and END markers.
-function extract_from_markers($filename, $marker) {
- $result = array ();
-
- if (!file_exists($filename)) {
- return $result;
- }
-
- if ($markerdata = explode("\n", implode('', file($filename))));
- {
- $state = false;
- foreach ($markerdata as $markerline) {
- if (strstr($markerline, "# END {$marker}"))
- $state = false;
- if ($state)
- $result[] = $markerline;
- if (strstr($markerline, "# BEGIN {$marker}"))
- $state = true;
- }
- }
-
- return $result;
-}
-
-function got_mod_rewrite() {
- global $is_apache;
-
- // take 3 educated guesses as to whether or not mod_rewrite is available
- if ( !$is_apache )
- return false;
-
- if ( function_exists('apache_get_modules') ) {
- if ( !in_array('mod_rewrite', apache_get_modules()) )
- return false;
- }
-
- return true;
-}
-
-function save_mod_rewrite_rules() {
- global $is_apache, $wp_rewrite;
- $home_path = get_home_path();
-
- if (!$wp_rewrite->using_mod_rewrite_permalinks())
- return;
-
- if (!((!file_exists($home_path.'.htaccess') && is_writable($home_path)) || is_writable($home_path.'.htaccess')))
- return;
-
- if (! got_mod_rewrite())
- return;
-
- $rules = explode("\n", $wp_rewrite->mod_rewrite_rules());
- insert_with_markers($home_path.'.htaccess', 'WordPress', $rules);
-}
-
-function the_quicktags() {
- // Browser detection sucks, but until Safari supports the JS needed for this to work people just assume it's a bug in WP
- if (!strstr($_SERVER['HTTP_USER_AGENT'], 'Safari')) {
- echo '
- <div id="quicktags">
- ';
- wp_print_scripts( 'quicktags' );
- echo ' <script type="text/javascript">if ( typeof tinyMCE == "undefined" || tinyMCE.configs.length < 1 ) edToolbar();</script>
- </div>
-';
- } else echo '
-<script type="text/javascript">
-function edInsertContent(myField, myValue) {
- //IE support
- if (document.selection) {
- myField.focus();
- sel = document.selection.createRange();
- sel.text = myValue;
- myField.focus();
- }
- //MOZILLA/NETSCAPE support
- else if (myField.selectionStart || myField.selectionStart == "0") {
- var startPos = myField.selectionStart;
- var endPos = myField.selectionEnd;
- myField.value = myField.value.substring(0, startPos)
- + myValue
- + myField.value.substring(endPos, myField.value.length);
- myField.focus();
- myField.selectionStart = startPos + myValue.length;
- myField.selectionEnd = startPos + myValue.length;
- } else {
- myField.value += myValue;
- myField.focus();
- }
-}
-</script>
-';
-}
-
-function validate_current_theme() {
- $theme_loc = 'wp-content/themes';
- $theme_root = ABSPATH.$theme_loc;
-
- $template = get_settings('template');
- $stylesheet = get_settings('stylesheet');
-
- if (($template != 'default') && (!file_exists("$theme_root/$template/index.php"))) {
- update_option('template', 'default');
- update_option('stylesheet', 'default');
- do_action('switch_theme', 'Default');
- return false;
- }
-
- if (($stylesheet != 'default') && (!file_exists("$theme_root/$stylesheet/style.css"))) {
- update_option('template', 'default');
- update_option('stylesheet', 'default');
- do_action('switch_theme', 'Default');
- return false;
- }
-
- return true;
-}
-
-function get_broken_themes() {
- global $wp_broken_themes;
-
- get_themes();
- return $wp_broken_themes;
-}
-
-function get_page_templates() {
- $themes = get_themes();
- $theme = get_current_theme();
- $templates = $themes[$theme]['Template Files'];
- $page_templates = array ();
-
- if (is_array($templates)) {
- foreach ($templates as $template) {
- $template_data = implode('', file(ABSPATH.$template));
- preg_match("|Template Name:(.*)|i", $template_data, $name);
- preg_match("|Description:(.*)|i", $template_data, $description);
-
- $name = $name[1];
- $description = $description[1];
-
- if (!empty ($name)) {
- $page_templates[trim($name)] = basename($template);
- }
- }
- }
-
- return $page_templates;
-}
-
-function page_template_dropdown($default = '') {
- $templates = get_page_templates();
- foreach (array_keys($templates) as $template)
- : if ($default == $templates[$template])
- $selected = " selected='selected'";
- else
- $selected = '';
- echo "\n\t<option value='".$templates[$template]."' $selected>$template</option>";
- endforeach;
-}
-
-function parent_dropdown($default = 0, $parent = 0, $level = 0) {
- global $wpdb, $post_ID;
- $items = $wpdb->get_results("SELECT ID, post_parent, post_title FROM $wpdb->posts WHERE post_parent = $parent AND post_type = 'page' ORDER BY menu_order");
-
- if ($items) {
- foreach ($items as $item) {
- // A page cannot be it's own parent.
- if (!empty ($post_ID)) {
- if ($item->ID == $post_ID) {
- continue;
- }
- }
- $pad = str_repeat('&nbsp;', $level * 3);
- if ($item->ID == $default)
- $current = ' selected="selected"';
- else
- $current = '';
-
- echo "\n\t<option value='$item->ID'$current>$pad $item->post_title</option>";
- parent_dropdown($default, $item->ID, $level +1);
- }
- } else {
- return false;
- }
-}
-
-function user_can_access_admin_page() {
- global $pagenow;
- global $menu;
- global $submenu;
- global $menu_nopriv;
-
- $parent = get_admin_page_parent();
-
- if ( isset($menu_nopriv[$pagenow]) )
- return false;
-
- if ( empty($parent) )
- return true;
-
- if (isset ($submenu[$parent])) {
- foreach ($submenu[$parent] as $submenu_array) {
- if ($submenu_array[2] == $pagenow) {
- if (current_user_can($submenu_array[1]))
- return true;
- else
- return false;
- }
- }
- }
-
- foreach ($menu as $menu_array) {
- //echo "parent array: " . $menu_array[2];
- if ($menu_array[2] == $parent) {
- if (current_user_can($menu_array[1]))
- return true;
- else
- return false;
- }
- }
-
- return true;
-}
-
-function get_admin_page_title() {
- global $title;
- global $menu;
- global $submenu;
- global $pagenow;
- global $plugin_page;
-
- if (isset ($title) && !empty ($title)) {
- return $title;
- }
-
- $hook = get_plugin_page_hook($plugin_page, $pagenow);
-
- $parent = $parent1 = get_admin_page_parent();
- if (empty ($parent)) {
- foreach ($menu as $menu_array) {
- if (isset ($menu_array[3])) {
- if ($menu_array[2] == $pagenow) {
- $title = $menu_array[3];
- return $menu_array[3];
- } else
- if (isset ($plugin_page) && ($plugin_page == $menu_array[2]) && ($hook == $menu_array[3])) {
- $title = $menu_array[3];
- return $menu_array[3];
- }
- }
- }
- } else {
- foreach (array_keys($submenu) as $parent) {
- foreach ($submenu[$parent] as $submenu_array) {
- if (isset ($submenu_array[3])) {
- if ($submenu_array[2] == $pagenow) {
- $title = $submenu_array[3];
- return $submenu_array[3];
- } else
- if (isset ($plugin_page) && ($plugin_page == $submenu_array[2]) && (($parent == $pagenow) || ($parent == $plugin_page) || ($plugin_page == $hook) || (($pagenow == 'admin.php') && ($parent1 != $submenu_array[2])))) {
- $title = $submenu_array[3];
- return $submenu_array[3];
- }
- }
- }
- }
- }
-
- return '';
-}
-
-function get_admin_page_parent() {
- global $parent_file;
- global $menu;
- global $submenu;
- global $pagenow;
- global $plugin_page;
- global $real_parent_file;
-
- if ( !empty ($parent_file) ) {
- if ( isset($real_parent_file[$parent_file]) )
- $parent_file = $real_parent_file[$parent_file];
-
- return $parent_file;
- }
-
- if ($pagenow == 'admin.php' && isset ($plugin_page)) {
- foreach ($menu as $parent_menu) {
- if ($parent_menu[2] == $plugin_page) {
- $parent_file = $plugin_page;
- if ( isset($real_parent_file[$parent_file]) )
- $parent_file = $real_parent_file[$parent_file];
-
- return $parent_file;
- }
- }
- }
-
- foreach (array_keys($submenu) as $parent) {
- foreach ($submenu[$parent] as $submenu_array) {
- if ( isset($real_parent_file[$parent]) )
- $parent = $real_parent_file[$parent];
- if ($submenu_array[2] == $pagenow) {
- $parent_file = $parent;
- return $parent;
- } else
- if (isset ($plugin_page) && ($plugin_page == $submenu_array[2])) {
- $parent_file = $parent;
- return $parent;
- }
- }
- }
-
- $parent_file = '';
- return '';
-}
-
-function add_menu_page($page_title, $menu_title, $access_level, $file, $function = '') {
- global $menu, $admin_page_hooks;
-
- $file = plugin_basename($file);
-
- $menu[] = array ($menu_title, $access_level, $file, $page_title);
-
- $admin_page_hooks[$file] = sanitize_title($menu_title);
-
- $hookname = get_plugin_page_hookname($file, '');
- if (!empty ($function) && !empty ($hookname))
- add_action($hookname, $function);
-
- return $hookname;
-}
-
-function add_submenu_page($parent, $page_title, $menu_title, $access_level, $file, $function = '') {
- global $submenu;
- global $menu;
- global $real_parent_file;
-
- $parent = plugin_basename($parent);
- if ( isset($real_parent_file[$parent]) )
- $parent = $real_parent_file[$parent];
-
- $file = plugin_basename($file);
-
- // If the parent doesn't already have a submenu, add a link to the parent
- // as the first item in the submenu. If the submenu file is the same as the
- // parent file someone is trying to link back to the parent manually. In
- // this case, don't automatically add a link back to avoid duplication.
- if (!isset ($submenu[$parent]) && $file != $parent) {
- foreach ($menu as $parent_menu) {
- if ($parent_menu[2] == $parent) {
- $submenu[$parent][] = $parent_menu;
- }
- }
- }
-
- $submenu[$parent][] = array ($menu_title, $access_level, $file, $page_title);
-
- $hookname = get_plugin_page_hookname($file, $parent);
- if (!empty ($function) && !empty ($hookname))
- add_action($hookname, $function);
-
- return $hookname;
-}
-
-function add_options_page($page_title, $menu_title, $access_level, $file, $function = '') {
- return add_submenu_page('options-general.php', $page_title, $menu_title, $access_level, $file, $function);
-}
-
-function add_management_page($page_title, $menu_title, $access_level, $file, $function = '') {
- return add_submenu_page('edit.php', $page_title, $menu_title, $access_level, $file, $function);
-}
-
-function add_theme_page($page_title, $menu_title, $access_level, $file, $function = '') {
- return add_submenu_page('themes.php', $page_title, $menu_title, $access_level, $file, $function);
-}
-
-function validate_file($file, $allowed_files = '') {
- if (false !== strpos($file, './'))
- return 1;
-
- if (':' == substr($file, 1, 1))
- return 2;
-
- if (!empty ($allowed_files) && (!in_array($file, $allowed_files)))
- return 3;
-
- return 0;
-}
-
-function validate_file_to_edit($file, $allowed_files = '') {
- $file = stripslashes($file);
-
- $code = validate_file($file, $allowed_files);
-
- if (!$code)
- return $file;
-
- switch ($code) {
- case 1 :
- die(__('Sorry, can&#8217;t edit files with ".." in the name. If you are trying to edit a file in your WordPress home directory, you can just type the name of the file in.'));
-
- case 2 :
- die(__('Sorry, can&#8217;t call files with their real path.'));
-
- case 3 :
- die(__('Sorry, that file cannot be edited.'));
- }
-}
-
-function get_home_path() {
- $home = get_settings('home');
- if ($home != '' && $home != get_settings('siteurl')) {
- $home_path = parse_url($home);
- $home_path = $home_path['path'];
- $root = str_replace($_SERVER["PHP_SELF"], '', $_SERVER["SCRIPT_FILENAME"]);
- $home_path = trailingslashit($root.$home_path);
- } else {
- $home_path = ABSPATH;
- }
-
- return $home_path;
-}
-
-function get_real_file_to_edit($file) {
- if ('index.php' == $file || '.htaccess' == $file) {
- $real_file = get_home_path().$file;
- } else {
- $real_file = ABSPATH.$file;
- }
-
- return $real_file;
-}
-
-$wp_file_descriptions = array ('index.php' => __('Main Index Template'), 'style.css' => __('Stylesheet'), 'comments.php' => __('Comments'), 'comments-popup.php' => __('Popup Comments'), 'footer.php' => __('Footer'), 'header.php' => __('Header'), 'sidebar.php' => __('Sidebar'), 'archive.php' => __('Archives'), 'category.php' => __('Category Template'), 'page.php' => __('Page Template'), 'search.php' => __('Search Results'), 'single.php' => __('Single Post'), '404.php' => __('404 Template'), 'my-hacks.php' => __('my-hacks.php (legacy hacks support)'), '.htaccess' => __('.htaccess (for rewrite rules)'),
- // Deprecated files
- 'wp-layout.css' => __('Stylesheet'), 'wp-comments.php' => __('Comments Template'), 'wp-comments-popup.php' => __('Popup Comments Template'));
-
-function get_file_description($file) {
- global $wp_file_descriptions;
-
- if (isset ($wp_file_descriptions[basename($file)])) {
- return $wp_file_descriptions[basename($file)];
- }
- elseif ( file_exists( ABSPATH . $file ) && is_file( ABSPATH . $file ) ) {
- $template_data = implode('', file( ABSPATH . $file ));
- if (preg_match("|Template Name:(.*)|i", $template_data, $name))
- return $name[1];
- }
-
- return basename($file);
-}
-
-function update_recently_edited($file) {
- $oldfiles = (array) get_option('recently_edited');
- if ($oldfiles) {
- $oldfiles = array_reverse($oldfiles);
- $oldfiles[] = $file;
- $oldfiles = array_reverse($oldfiles);
- $oldfiles = array_unique($oldfiles);
- if (5 < count($oldfiles))
- array_pop($oldfiles);
- } else {
- $oldfiles[] = $file;
- }
- update_option('recently_edited', $oldfiles);
-}
-
-function get_plugin_data($plugin_file) {
- $plugin_data = implode('', file($plugin_file));
- preg_match("|Plugin Name:(.*)|i", $plugin_data, $plugin_name);
- preg_match("|Plugin URI:(.*)|i", $plugin_data, $plugin_uri);
- preg_match("|Description:(.*)|i", $plugin_data, $description);
- preg_match("|Author:(.*)|i", $plugin_data, $author_name);
- preg_match("|Author URI:(.*)|i", $plugin_data, $author_uri);
- if (preg_match("|Version:(.*)|i", $plugin_data, $version))
- $version = $version[1];
- else
- $version = '';
-
- $description = wptexturize($description[1]);
-
- $name = $plugin_name[1];
- $name = trim($name);
- $plugin = $name;
- if ('' != $plugin_uri[1] && '' != $name) {
- $plugin = '<a href="'.$plugin_uri[1].'" title="'.__('Visit plugin homepage').'">'.$plugin.'</a>';
- }
-
- if ('' == $author_uri[1]) {
- $author = $author_name[1];
- } else {
- $author = '<a href="'.$author_uri[1].'" title="'.__('Visit author homepage').'">'.$author_name[1].'</a>';
- }
-
- return array ('Name' => $name, 'Title' => $plugin, 'Description' => $description, 'Author' => $author, 'Version' => $version, 'Template' => $template[1]);
-}
-
-function get_plugins() {
- global $wp_plugins;
-
- if (isset ($wp_plugins)) {
- return $wp_plugins;
- }
-
- $wp_plugins = array ();
- $plugin_loc = 'wp-content/plugins';
- $plugin_root = ABSPATH.$plugin_loc;
-
- // Files in wp-content/plugins directory
- $plugins_dir = @ dir($plugin_root);
- if ($plugins_dir) {
- while (($file = $plugins_dir->read()) !== false) {
- if (preg_match('|^\.+$|', $file))
- continue;
- if (is_dir($plugin_root.'/'.$file)) {
- $plugins_subdir = @ dir($plugin_root.'/'.$file);
- if ($plugins_subdir) {
- while (($subfile = $plugins_subdir->read()) !== false) {
- if (preg_match('|^\.+$|', $subfile))
- continue;
- if (preg_match('|\.php$|', $subfile))
- $plugin_files[] = "$file/$subfile";
- }
- }
- } else {
- if (preg_match('|\.php$|', $file))
- $plugin_files[] = $file;
- }
- }
- }
-
- if (!$plugins_dir || !$plugin_files) {
- return $wp_plugins;
- }
-
- sort($plugin_files);
-
- foreach ($plugin_files as $plugin_file) {
- if ( !is_readable("$plugin_root/$plugin_file"))
- continue;
-
- $plugin_data = get_plugin_data("$plugin_root/$plugin_file");
-
- if (empty ($plugin_data['Name'])) {
- continue;
- }
-
- $wp_plugins[plugin_basename($plugin_file)] = $plugin_data;
- }
-
- return $wp_plugins;
-}
-
-function get_plugin_page_hookname($plugin_page, $parent_page) {
- global $admin_page_hooks;
-
- $parent = get_admin_page_parent();
-
- if (empty ($parent_page) || 'admin.php' == $parent_page) {
- if (isset ($admin_page_hooks[$plugin_page]))
- $page_type = 'toplevel';
- else
- if (isset ($admin_page_hooks[$parent]))
- $page_type = $admin_page_hooks[$parent];
- } else
- if (isset ($admin_page_hooks[$parent_page])) {
- $page_type = $admin_page_hooks[$parent_page];
- } else {
- $page_type = 'admin';
- }
-
- $plugin_name = preg_replace('!\.php!', '', $plugin_page);
-
- return $page_type.'_page_'.$plugin_name;
-}
-
-function get_plugin_page_hook($plugin_page, $parent_page) {
- global $wp_filter;
-
- $hook = get_plugin_page_hookname($plugin_page, $parent_page);
- if (isset ($wp_filter[$hook]))
- return $hook;
- else
- return '';
-}
-
-function browse_happy() {
- $getit = __('WordPress recommends a better browser');
- echo '
- <p id="bh" style="text-align: center;"><a href="http://browsehappy.com/" title="'.$getit.'"><img src="images/browse-happy.gif" alt="Browse Happy" /></a></p>
- ';
-}
-if (strstr($_SERVER['HTTP_USER_AGENT'], 'MSIE'))
- add_action('admin_footer', 'browse_happy');
-
-function documentation_link($for) {
- return;
-}
-
-function register_importer($id, $name, $description, $callback) {
- global $wp_importers;
-
- $wp_importers[$id] = array ($name, $description, $callback);
-}
-
-function get_importers() {
- global $wp_importers;
-
- return $wp_importers;
-}
-
-function current_theme_info() {
- $themes = get_themes();
- $current_theme = get_current_theme();
- $ct->name = $current_theme;
- $ct->title = $themes[$current_theme]['Title'];
- $ct->version = $themes[$current_theme]['Version'];
- $ct->parent_theme = $themes[$current_theme]['Parent Theme'];
- $ct->template_dir = $themes[$current_theme]['Template Dir'];
- $ct->stylesheet_dir = $themes[$current_theme]['Stylesheet Dir'];
- $ct->template = $themes[$current_theme]['Template'];
- $ct->stylesheet = $themes[$current_theme]['Stylesheet'];
- $ct->screenshot = $themes[$current_theme]['Screenshot'];
- $ct->description = $themes[$current_theme]['Description'];
- $ct->author = $themes[$current_theme]['Author'];
- return $ct;
-}
-
-
-// array wp_handle_upload ( array &file [, array overrides] )
-// file: reference to a single element of $_FILES. Call the function once for each uploaded file.
-// overrides: an associative array of names=>values to override default variables with extract($overrides, EXTR_OVERWRITE).
-// On success, returns an associative array of file attributes.
-// On failure, returns $overrides['upload_error_handler'](&$file, $message) or array('error'=>$message).
-function wp_handle_upload(&$file, $overrides = false) {
- // The default error handler.
- if (! function_exists('wp_handle_upload_error') ) {
- function wp_handle_upload_error(&$file, $message) {
- return array('error'=>$message);
- }
- }
-
- // You may define your own function and pass the name in $overrides['upload_error_handler']
- $upload_error_handler = 'wp_handle_upload_error';
-
- // $_POST['action'] must be set and its value must equal $overrides['action'] or this:
- $action = 'wp_handle_upload';
-
- // 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 was only partially uploaded."),
- __("No file was uploaded."),
- __("Missing a temporary folder."),
- __("Failed to write file to disk."));
-
- // All tests are on by default. Most can be turned off by $override[{test_name}] = false;
- $test_form = true;
- $test_size = true;
-
- // If you override this, you must provide $ext and $type!!!!
- $test_type = true;
-
- // Install user overrides. Did we mention that this voids your warranty?
- if ( is_array($overrides) )
- extract($overrides, EXTR_OVERWRITE);
-
- // A correct form post will pass this test.
- if ( $test_form && (!isset($_POST['action']) || ($_POST['action'] != $action)) )
- return $upload_error_handler($file, __('Invalid form submission.'));
-
- // A successful upload will pass this test. It makes no sense to override this one.
- if ( $file['error'] > 0 )
- return $upload_error_handler($file, $upload_error_strings[$file['error']]);
-
- // A non-empty file will pass this test.
- if ( $test_size && !($file['size'] > 0) )
- return $upload_error_handler($file, __('File is empty. Please upload something more substantial.'));
-
- // A properly uploaded file will pass this test. There should be no reason to override this one.
- if (! @ is_uploaded_file($file['tmp_name']) )
- return $upload_error_handler($file, __('Specified file failed upload test.'));
-
- // A correct MIME type will pass this test. Override $mimes or use the upload_mimes filter.
- if ( $test_type ) {
- $wp_filetype = wp_check_filetype($file['name'], $mimes);
-
- extract($wp_filetype);
-
- if ( !$type || !$ext )
- return $upload_error_handler($file, __('File type does not meet security guidelines. Try another.'));
- }
-
- // A writable uploads dir will pass this test. Again, there's no point overriding this one.
- if ( ! ( ( $uploads = wp_upload_dir() ) && false === $uploads['error'] ) )
- return $upload_error_handler($file, $uploads['error']);
-
- // Increment the file number until we have a unique file to save in $dir. Use $override['unique_filename_callback'] if supplied.
- if ( isset($unique_filename_callback) && function_exists($unique_filename_callback) ) {
- $filename = $unique_filename_callback($uploads['path'], $file['name']);
- } else {
- $number = '';
- $filename = str_replace('#', '_', $file['name']);
- $filename = str_replace(array('\\', "'"), '', $filename);
- if ( empty($ext) )
- $ext = '';
- else
- $ext = ".$ext";
- while ( file_exists($uploads['path'] . "/$filename") ) {
- if ( '' == "$number$ext" )
- $filename = $filename . ++$number . $ext;
- else
- $filename = str_replace("$number$ext", ++$number . $ext, $filename);
- }
- $filename = str_replace($ext, '', $filename);
- $filename = sanitize_title_with_dashes($filename) . $ext;
- }
-
- // Move the file to the uploads dir
- $new_file = $uploads['path'] . "/$filename";
- if ( false === @ move_uploaded_file($file['tmp_name'], $new_file) )
- die(printf(__('The uploaded file could not be moved to %s.'), $file['path']));
-
- // Set correct file permissions
- $stat = stat(dirname($new_file));
- $perms = $stat['mode'] & 0000666;
- @ chmod($new_file, $perms);
-
- // Compute the URL
- $url = $uploads['url'] . "/$filename";
-
- $return = apply_filters( 'wp_handle_upload', array('file' => $new_file, 'url' => $url, 'type' => $type) );
-
- return $return;
-}
-
-function wp_shrink_dimensions($width, $height, $wmax = 128, $hmax = 96) {
- if ( $height <= $hmax && $width <= $wmax )
- return array($width, $height);
- elseif ( $width / $height > $wmax / $hmax )
- return array($wmax, (int) ($height / $width * $wmax));
- else
- return array((int) ($width / $height * $hmax), $hmax);
-}
-
-function wp_import_cleanup($id) {
- wp_delete_attachment($id);
-}
-
-function wp_import_upload_form($action) {
-?>
-<form enctype="multipart/form-data" id="import-upload-form" method="POST" action="<?php echo $action ?>">
-<p>
-<label for="upload"><?php _e('Choose a file from your computer:'); ?></label> <input type="file" id="upload" name="import" size="25" />
-<input type="hidden" name="action" value="save" />
-</p>
-<p class="submit">
-<input type="submit" value="<?php _e('Upload file and import'); ?> &raquo;" />
-</p>
-</form>
-<?php
-}
-
-function wp_import_handle_upload() {
- $overrides = array('test_form' => false, 'test_type' => false);
- $file = wp_handle_upload($_FILES['import'], $overrides);
-
- if ( isset($file['error']) )
- return $file;
-
- $url = $file['url'];
- $file = addslashes( $file['file'] );
- $filename = basename($file);
-
- // Construct the object array
- $object = array(
- 'post_title' => $filename,
- 'post_content' => $url,
- 'post_mime_type' => 'import',
- 'guid' => $url
- );
-
- // Save the data
- $id = wp_insert_attachment($object, $file);
-
- return array('file' => $file, 'id' => $id);
-}
-
-function user_can_richedit() {
- if ( 'true' != get_user_option('rich_editing') )
- return false;
-
- if ( preg_match('!opera[ /][2-8]|konqueror|safari!i', $_SERVER['HTTP_USER_AGENT']) )
- return false;
-
- return true; // Best guess
-}
-
-function the_attachment_links($id = false) {
- $id = (int) $id;
- $post = & get_post($id);
-
- if ( $post->post_type != 'attachment' )
- return false;
-
- $icon = get_attachment_icon($post->ID);
-
-?>
-<p><?php _e('Text linked to file') ?><br />
-<textarea rows="1" cols="40" type="text" class="attachmentlinks" readonly="readonly"><a href="<?php echo $post->guid ?>" class="attachmentlink"><?php echo basename($post->guid) ?></a></textarea></p>
-<p><?php _e('Text linked to subpost') ?><br />
-<textarea rows="1" cols="40" type="text" class="attachmentlinks" readonly="readonly"><a href="<?php echo get_attachment_link($post->ID) ?>" rel="attachment" id="<?php echo $post->ID ?>"><?php echo $post->post_title ?></a></textarea></p>
-<?php if ( $icon ) : ?>
-<p><?php _e('Thumbnail linked to file') ?><br />
-<textarea rows="1" cols="40" type="text" class="attachmentlinks" readonly="readonly"><a href="<?php echo $post->guid ?>" class="attachmentlink"><?php echo $icon ?></a></textarea></p>
-<p><?php _e('Thumbnail linked to subpost') ?><br />
-<textarea rows="1" cols="40" type="text" class="attachmentlinks" readonly="readonly"><a href="<?php echo get_attachment_link($post->ID) ?>" rel="attachment" id="<?php echo $post->ID ?>"><?php echo $icon ?></a></textarea></p>
-<?php endif; ?>
-<?php
-}
-
-function get_udims($width, $height) {
- if ( $height <= 96 && $width <= 128 )
- return array($width, $height);
- elseif ( $width / $height > 4 / 3 )
- return array(128, (int) ($height / $width * 128));
- else
- return array((int) ($width / $height * 96), 96);
-}
-
-function autocomplete_css() {
- ?>
-<style type='text/css'>
- div.autocomplete {
- position:absolute;
- width:200px;
- background-color:white;
- border:1px solid #888;
- margin:0px;
- padding:0px;
- }
- div.autocomplete ul {
- list-style-type:none;
- margin:0px;
- padding:0px;
- }
- div.autocomplete ul li.selected { background-color: #ffb;}
- div.autocomplete ul li {
- list-style-type:none;
- display:block;
- margin:0;
- padding:2px;
- height:32px;
- cursor:pointer;
- }
-</style>
-<?php
-}
-function autocomplete_textbox( $url, $search_field, $results_field ) {
- ?>
-<script src="<?php echo get_option( "siteurl" ) ?>/wp-includes/js/scriptaculous/scriptaculous.js" type="text/javascript"></script>
-<script type="text/javascript">
-function load_autocompleter() {
- new Ajax.Autocompleter("<?php echo $search_field ?>", "<?php echo $results_field ?>", "<?php echo $url ?>", {paramName: "search", minChars: 3});
-}
-addLoadEvent( load_autocompleter );
-</script>
-<?php
-}
-
-?>
diff --git a/wp-inst/wp-admin/admin-header.php b/wp-inst/wp-admin/admin-header.php
deleted file mode 100644
index ee0c286..0000000
--- a/wp-inst/wp-admin/admin-header.php
+++ /dev/null
@@ -1,41 +0,0 @@
-<?php
-@header('Content-type: ' . get_option('html_type') . '; charset=' . get_option('blog_charset'));
-if (!isset($_GET["page"])) require_once('admin.php');
-if ( $editing ) {
- wp_enqueue_script( array("dbx-admin-key?pagenow=$pagenow",'admin-custom-fields') );
- if ( current_user_can('manage_categories') )
- wp_enqueue_script( 'ajaxcat' );
- if ( user_can_richedit() )
- wp_enqueue_script( 'wp_tiny_mce' );
-}
-
-get_admin_page_title();
-?>
-<!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>
-<meta http-equiv="Content-Type" content="<?php bloginfo('html_type'); ?>; charset=<?php echo get_settings('blog_charset'); ?>" />
-<title><?php bloginfo('name') ?> &rsaquo; <?php echo $title; ?> &#8212; WordPress</title>
-<link rel="stylesheet" href="<?php echo get_settings('siteurl') ?>/wp-admin/wp-admin.css?version=<?php bloginfo('version'); ?>" type="text/css" />
-<script type="text/javascript">
-//<![CDATA[
-function addLoadEvent(func) {if ( typeof wpOnload!='function'){wpOnload=func;}else{ var oldonload=wpOnload;wpOnload=function(){oldonload();func();}}}
-//]]>
-</script>
-<?php if ( ($parent_file != 'link-manager.php') && ($parent_file != 'options-general.php') ) : ?>
-<style type="text/css">* html { overflow-x: hidden; }</style>
-<?php endif; wp_print_scripts(); do_action('admin_head'); ?>
-</head>
-<body>
-<div id="wphead">
-<h1><?php echo wptexturize(get_settings(('blogname'))); ?> <span>(<a href="<?php echo get_settings('home') . '/'; ?>"><?php _e('View site &raquo;') ?></a>)</span></h1>
-</div>
-<div id="user_info"><p><?php printf(__('Howdy, <strong>%s</strong>.'), $user_identity) ?> [<a href="<?php echo get_settings('siteurl'); ?>/wp-login.php?action=logout" title="<?php _e('Log out of this account') ?>"><?php _e('Sign Out'); ?></a>, <a href="profile.php"><?php _e('My Account'); ?></a>] </p></div>
-
-<?php
-require(ABSPATH . '/wp-admin/menu-header.php');
-
-if ( $parent_file == 'options-general.php' ) {
- require(ABSPATH . '/wp-admin/options-head.php');
-}
-?>
diff --git a/wp-inst/wp-admin/admin.php b/wp-inst/wp-admin/admin.php
deleted file mode 100644
index ffec08f..0000000
--- a/wp-inst/wp-admin/admin.php
+++ /dev/null
@@ -1,120 +0,0 @@
-<?php
-if ( defined('ABSPATH') )
- require_once( ABSPATH . 'wp-config.php');
-else
- require_once('../wp-config.php');
-
-if ( get_option('db_version') != $wp_db_version ) {
- $http_fopen = ini_get("allow_url_fopen");
- if($http_fopen) {
- $out = @file( get_option( "siteurl" ) . "/wp-admin/upgrade.php?step=1" ); // upgrade the db!
- } else {
- require_once('../wp-includes/class-snoopy.php');
- $client = new Snoopy();
- @$client->fetch( get_option( "siteurl" ) . "wp-admin/upgrade.php?step=1");
- }
-}
-
-
-require_once(ABSPATH . 'wp-admin/admin-functions.php');
-require_once(ABSPATH . 'wp-admin/admin-db.php');
-require_once(ABSPATH . WPINC . '/registration.php');
-
-auth_redirect();
-
-nocache_headers();
-
-update_category_cache();
-
-wp_get_current_user();
-
-$posts_per_page = get_settings('posts_per_page');
-$what_to_show = get_settings('what_to_show');
-$date_format = get_settings('date_format');
-$time_format = get_settings('time_format');
-
-$wpvarstoreset = array('profile','redirect','redirect_url','a','popuptitle','popupurl','text', 'trackback', 'pingback');
-for ($i=0; $i<count($wpvarstoreset); $i += 1) {
- $wpvar = $wpvarstoreset[$i];
- if (!isset($$wpvar)) {
- if (empty($_POST["$wpvar"])) {
- if (empty($_GET["$wpvar"])) {
- $$wpvar = '';
- } else {
- $$wpvar = $_GET["$wpvar"];
- }
- } else {
- $$wpvar = $_POST["$wpvar"];
- }
- }
-}
-
-wp_enqueue_script( 'fat' );
-
-$editing = false;
-
-require(ABSPATH . '/wp-admin/menu.php');
-
-// Handle plugin admin pages.
-if (isset($_GET['page'])) {
- $plugin_page = stripslashes($_GET['page']);
- $plugin_page = plugin_basename($plugin_page);
- $page_hook = get_plugin_page_hook($plugin_page, $pagenow);
-
- if ( $page_hook ) {
- if (! isset($_GET['noheader']))
- require_once(ABSPATH . '/wp-admin/admin-header.php');
-
- do_action($page_hook);
- } else {
- if ( validate_file($plugin_page) ) {
- die(__('Invalid plugin page'));
- }
-
- if (! file_exists(ABSPATH . "wp-content/plugins/$plugin_page") && ! file_exists(ABSPATH . "wp-content/mu-plugins/$plugin_page"))
- die(sprintf(__('Cannot load %s.'), htmlentities($plugin_page)));
-
- if (! isset($_GET['noheader']))
- require_once(ABSPATH . '/wp-admin/admin-header.php');
-
- if ( file_exists(ABSPATH . "wp-content/mu-plugins/$plugin_page") )
- include(ABSPATH . "wp-content/mu-plugins/$plugin_page");
- else
- include(ABSPATH . "wp-content/plugins/$plugin_page");
- }
-
- include(ABSPATH . 'wp-admin/admin-footer.php');
-
- exit();
-} else if (isset($_GET['import'])) {
-
- $importer = $_GET['import'];
-
- if ( validate_file($importer) ) {
- die(__('Invalid importer.'));
- }
-
- if (! file_exists(ABSPATH . "wp-admin/import/$importer.php"))
- die(__('Cannot load importer.'));
-
- include(ABSPATH . "wp-admin/import/$importer.php");
-
- $parent_file = 'import.php';
- $title = __('Import');
-
- if (! isset($_GET['noheader']))
- require_once(ABSPATH . 'wp-admin/admin-header.php');
-
- require_once(ABSPATH . 'wp-admin/upgrade-functions.php');
-
- define('WP_IMPORTING', true);
- kses_init_filters(); // Always filter imported data with kses.
-
- call_user_func($wp_importers[$importer][2]);
-
- include(ABSPATH . 'wp-admin/admin-footer.php');
-
- exit();
-}
-
-?>
diff --git a/wp-inst/wp-admin/bookmarklet.php b/wp-inst/wp-admin/bookmarklet.php
deleted file mode 100644
index 4345340..0000000
--- a/wp-inst/wp-admin/bookmarklet.php
+++ /dev/null
@@ -1,104 +0,0 @@
-<?php
-$mode = 'bookmarklet';
-require_once('admin.php');
-
-if ( ! current_user_can('edit_posts') )
- die ("Cheatin' uh?");
-
-if ('b' == $a):
-?><!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>
-<script type="text/javascript">
-<!--
-window.close()
--->
-</script>
-</head>
-<body></body>
-</html>
-<?php
-exit;
-endif;
-
-$post = get_default_post_to_edit();
-
-$popuptitle = wp_specialchars(stripslashes($popuptitle));
-$text = wp_specialchars(stripslashes(urldecode($text)));
-
-$popuptitle = funky_javascript_fix($popuptitle);
-$text = funky_javascript_fix($text);
-
-$post_title = wp_specialchars($_REQUEST['post_title']);
-if (!empty($post_title))
- $post->post_title = stripslashes($post_title);
-else
- $post->post_title = $popuptitle;
-
-
-$content = wp_specialchars($_REQUEST['content']);
-$popupurl = wp_specialchars($_REQUEST['popupurl']);
- if ( !empty($content) ) {
- $post->post_content = wp_specialchars( stripslashes($_REQUEST['content']) );
- } else {
- $post->post_content = '<a href="'.$popupurl.'">'.$popuptitle.'</a>'."\n$text";
- }
-
- /* /big funky fixes */
-
-?><!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><?php bloginfo('name') ?> &rsaquo; Bookmarklet &#8212; WordPress</title>
-<meta http-equiv="Content-Type" content="<?php bloginfo('html_type'); ?>; charset=<?php echo get_settings('blog_charset'); ?>" />
-<link rel="stylesheet" href="wp-admin.css" type="text/css" />
-
-<style type="text/css">
-<!--
-
-#wpbookmarklet textarea,input,select {
- border-width: 1px;
- border-color: #cccccc;
- border-style: solid;
- padding: 2px;
- margin: 1px;
-}
-
-#wpbookmarklet .checkbox {
- background-color: #ffffff;
- border-width: 0px;
- padding: 0px;
- margin: 0px;
-}
-
-#wpbookmarklet textarea {
- font-family: Verdana, Geneva, Arial, Helvetica;
- font-size: 0.9em;
-}
-
-#wpbookmarklet .wrap {
- border: 0px;
-}
-
-#wpbookmarklet #postdiv {
- margin-bottom: 0.5em;
-}
-
-#wpbookmarklet #titlediv {
- margin-bottom: 1em;
-}
-
--->
-</style>
-</head>
-<body id="wpbookmarklet">
-<div id="wphead">
-<h1><?php bloginfo('name') ?></h1>
-</div>
-
-<?php require('edit-form.php'); ?>
-
-<?php do_action('admin_footer', ''); ?>
-
-</body>
-</html>
diff --git a/wp-inst/wp-admin/cat-js.php b/wp-inst/wp-admin/cat-js.php
deleted file mode 100644
index 08393b7..0000000
--- a/wp-inst/wp-admin/cat-js.php
+++ /dev/null
@@ -1,35 +0,0 @@
-<?php
-require_once('../wp-config.php');
-header('Content-type: text/javascript; charset=' . get_settings('blog_charset'), true);
-?>
-addLoadEvent(function(){catList=new listMan('categorychecklist');catList.ajaxRespEl='jaxcat';catList.topAdder=1;catList.alt=0;catList.showLink=0;});
-addLoadEvent(newCatAddIn);
-function newCatAddIn() {
- if ( !document.getElementById('jaxcat') ) return false;
- var ajaxcat = document.createElement('span');
- ajaxcat.id = 'ajaxcat';
-
- newcat = document.createElement('input');
- newcat.type = 'text';
- newcat.name = 'newcat';
- newcat.id = 'newcat';
- newcat.size = '16';
- newcat.setAttribute('autocomplete', 'off');
- newcat.onkeypress = function(e) { return killSubmit("catList.ajaxAdder('category','categorydiv');", e); };
-
- var newcatSub = document.createElement('input');
- newcatSub.type = 'button';
- newcatSub.name = 'Button';
- newcatSub.id = 'catadd';
- newcatSub.value = 'Add';
- newcatSub.onclick = function() { catList.ajaxAdder('category', 'categorydiv'); };
-
- ajaxcat.appendChild(newcat);
- ajaxcat.appendChild(newcatSub);
- document.getElementById('jaxcat').appendChild(ajaxcat);
-
- howto = document.createElement('span');
- howto.innerHTML = "<?php _e('Separate multiple categories with commas.'); ?>";
- howto.id = 'howto';
- ajaxcat.appendChild(howto);
-}
diff --git a/wp-inst/wp-admin/categories.js b/wp-inst/wp-admin/categories.js
deleted file mode 100644
index 46ae62f..0000000
--- a/wp-inst/wp-admin/categories.js
+++ /dev/null
@@ -1,5 +0,0 @@
-addLoadEvent(newCategoryAddIn);
-function newCategoryAddIn() {
- if (!theList.theList) return false;
- document.forms.addcat.submit.onclick = function(e) {return killSubmit('theList.ajaxAdder("cat", "addcat");', e); };
-}
diff --git a/wp-inst/wp-admin/categories.php b/wp-inst/wp-admin/categories.php
deleted file mode 100644
index 3e33f0c..0000000
--- a/wp-inst/wp-admin/categories.php
+++ /dev/null
@@ -1,135 +0,0 @@
-<?php
-require_once('admin.php');
-
-$title = __('Categories');
-$parent_file = 'edit.php';
-
-$wpvarstoreset = array('action','cat');
-for ($i=0; $i<count($wpvarstoreset); $i += 1) {
- $wpvar = $wpvarstoreset[$i];
- if (!isset($$wpvar)) {
- if (empty($_POST["$wpvar"])) {
- if (empty($_GET["$wpvar"])) {
- $$wpvar = '';
- } else {
- $$wpvar = $_GET["$wpvar"];
- }
- } else {
- $$wpvar = $_POST["$wpvar"];
- }
- }
-}
-
-switch($action) {
-
-case 'addcat':
-
- check_admin_referer('add-category');
-
- if ( !current_user_can('manage_categories') )
- die (__('Cheatin&#8217; uh?'));
-
- wp_insert_category($_POST);
-
- header('Location: categories.php?message=1#addcat');
-break;
-
-case 'delete':
- $cat_ID = (int) $_GET['cat_ID'];
- check_admin_referer('delete-category_' . $cat_ID);
-
- if ( !current_user_can('manage_categories') )
- die (__('Cheatin&#8217; uh?'));
-
- $cat_name = get_catname($cat_ID);
-
- // Don't delete the default cats.
- if ( $cat_ID == get_option('default_category') )
- die(sprintf(__("Can't delete the <strong>%s</strong> category: this is the default one"), $cat_name));
-
- if ( $cat_ID == get_option('default_link_category') )
- die(sprintf(__("Can't delete the <strong>%s</strong> category: this is the default one for bookmarks"), $cat_name));
-
- wp_delete_category($cat_ID);
-
- header('Location: categories.php?message=2');
-
-break;
-
-case 'edit':
-
- require_once ('admin-header.php');
- $cat_ID = (int) $_GET['cat_ID'];
- $category = get_category_to_edit($cat_ID);
- include('edit-category-form.php');
-
-break;
-
-case 'editedcat':
- $cat_ID = (int) $_POST['cat_ID'];
- check_admin_referer('update-category_' . $cat_ID);
-
- if ( !current_user_can('manage_categories') )
- die (__('Cheatin&#8217; uh?'));
-
- wp_update_category($_POST);
-
- header('Location: categories.php?message=3');
-break;
-
-default:
-
-wp_enqueue_script( 'admin-categories' );
-require_once ('admin-header.php');
-
-$messages[1] = __('Category added.');
-$messages[2] = __('Category deleted.');
-$messages[3] = __('Category updated.');
-?>
-
-<?php if (isset($_GET['message'])) : ?>
-<div id="message" class="updated fade"><p><?php echo $messages[$_GET['message']]; ?></p></div>
-<?php endif; ?>
-
-<div class="wrap">
-<?php if ( current_user_can('manage_categories') ) : ?>
- <h2><?php printf(__('Categories (<a href="%s">add new</a>)'), '#addcat') ?> </h2>
-<?php else : ?>
- <h2><?php _e('Categories') ?> </h2>
-<?php endif; ?>
-<table class="widefat">
- <thead>
- <tr>
- <th scope="col"><?php _e('ID') ?></th>
- <th scope="col" style="text-align: left"><?php _e('Name') ?></th>
- <th scope="col" style="text-align: left"><?php _e('Description') ?></th>
- <th scope="col" width="90"><?php _e('Posts') ?></th>
- <th scope="col" width="90"><?php _e('Bookmarks') ?></th>
- <th colspan="2"><?php _e('Action') ?></th>
- </tr>
- </thead>
- <tbody id="the-list">
-<?php
-cat_rows();
-?>
- </tbody>
-</table>
-
-</div>
-
-<?php if ( current_user_can('manage_categories') ) : ?>
-<div class="wrap">
-<p><?php printf(__('<strong>Note:</strong><br />Deleting a category does not delete the posts and bookmarks in that category. Instead, posts in the deleted category are set to the category <strong>%s</strong> and bookmarks are set to <strong>%s</strong>.'), get_catname(get_option('default_category')), get_catname(get_option('default_link_category'))) ?></p>
-<p><?php _e('<strong>Also Note:</strong><br />Categories will appear on your blog once you have posted something in them. Empty categories remain invisible.'); ?></p>
-</div>
-
-<?php include('edit-category-form.php'); ?>
-<?php endif; ?>
-
-<?php
-break;
-}
-
-include('admin-footer.php');
-
-?>
diff --git a/wp-inst/wp-admin/comment.php b/wp-inst/wp-admin/comment.php
deleted file mode 100644
index a8be39e..0000000
--- a/wp-inst/wp-admin/comment.php
+++ /dev/null
@@ -1,209 +0,0 @@
-<?php
-require_once('admin.php');
-
-$parent_file = 'edit.php';
-$submenu_file = 'edit-comments.php';
-$wpvarstoreset = array('action');
-
-for ($i=0; $i<count($wpvarstoreset); $i += 1) {
- $wpvar = $wpvarstoreset[$i];
- if (!isset($$wpvar)) {
- if (empty($_POST["$wpvar"])) {
- if (empty($_GET["$wpvar"])) {
- $$wpvar = '';
- } else {
- $$wpvar = $_GET["$wpvar"];
- }
- } else {
- $$wpvar = $_POST["$wpvar"];
- }
- }
-}
-
-if ( isset( $_POST['deletecomment'] ) )
- $action = 'deletecomment';
-
-switch($action) {
-case 'editcomment':
- $title = __('Edit Comment');
- if ( user_can_richedit() )
- wp_enqueue_script( 'wp_tiny_mce' );
- require_once ('admin-header.php');
-
- $comment = (int) $_GET['comment'];
-
- if ( ! $comment = get_comment($comment) )
- die(sprintf(__('Oops, no comment with this ID. <a href="%s">Go back</a>!'), 'javascript:history.go(-1)'));
-
- if ( !current_user_can('edit_post', $comment->comment_post_ID) )
- die( __('You are not allowed to edit comments on this post.') );
-
- $comment = get_comment_to_edit($comment);
-
- include('edit-form-comment.php');
-
- break;
-
-case 'confirmdeletecomment':
-case 'mailapprovecomment':
-
- require_once('./admin-header.php');
-
- $comment = (int) $_GET['comment'];
- $p = (int) $_GET['p'];
- $formaction = 'confirmdeletecomment' == $action ? 'deletecomment' : 'approvecomment';
- $nonce_action = 'confirmdeletecomment' == $action ? 'delete-comment_' : 'approve-comment_';
- $nonce_action .= $comment;
-
- if ( ! $comment = get_comment($comment) )
- die(sprintf(__('Oops, no comment with this ID. <a href="%s">Go back</a>!'), 'edit.php'));
-
- if ( !current_user_can('edit_post', $comment->comment_post_ID) )
- die( 'confirmdeletecomment' == $action ? __('You are not allowed to delete comments on this post.') : __('You are not allowed to edit comments on this post, so you cannot approve this comment.') );
-
- echo "<div class='wrap'>\n";
- if ( 'spam' == $_GET['delete_type'] )
- echo "<p>" . __('<strong>Caution:</strong> You are about to mark the following comment as spam:') . "</p>\n";
- elseif ( 'confirmdeletecomment' == $action )
- echo "<p>" . __('<strong>Caution:</strong> You are about to delete the following comment:') . "</p>\n";
- else
- echo "<p>" . __('<strong>Caution:</strong> You are about to approve the following comment:') . "</p>\n";
- echo "<table border='0'>\n";
- echo "<tr><td>" . __('Author:') . "</td><td>$comment->comment_author</td></tr>\n";
- echo "<tr><td>" . __('E-mail:') . "</td><td>$comment->comment_author_email</td></tr>\n";
- echo "<tr><td>". __('URL:') . "</td><td>$comment->comment_author_url</td></tr>\n";
- echo "<tr><td>". __('Comment:') . "</td><td>$comment->comment_content</td></tr>\n";
- echo "</table>\n";
- echo "<p>" . __('Are you sure you want to do that?') . "</p>\n";
-
- echo "<form action='".get_settings('siteurl')."/wp-admin/comment.php' method='get'>\n";
- wp_nonce_field($nonce_action);
- echo "<input type='hidden' name='action' value='$formaction' />\n";
- if ( 'spam' == $_GET['delete_type'] )
- echo "<input type='hidden' name='delete_type' value='spam' />\n";
- echo "<input type='hidden' name='p' value='$p' />\n";
- echo "<input type='hidden' name='comment' value='{$comment->comment_ID}' />\n";
- echo "<input type='hidden' name='noredir' value='1' />\n";
- echo "<input type='submit' value='" . __('Yes') . "' />";
- echo "&nbsp;&nbsp;";
- echo "<input type='button' value='" . __('No') . "' onclick=\"self.location='". get_settings('siteurl') ."/wp-admin/edit-comments.php';\" />\n";
- echo "</form>\n";
- echo "</div>\n";
-
- break;
-
-case 'deletecomment':
- $comment = (int) $_REQUEST['comment'];
- check_admin_referer('delete-comment_' . $comment);
-
- $p = (int) $_REQUEST['p'];
- if ( isset($_REQUEST['noredir']) ) {
- $noredir = true;
- } else {
- $noredir = false;
- }
-
- $postdata = get_post($p) or
- die(sprintf(__('Oops, no post with this ID. <a href="%s">Go back</a>!'), 'edit.php'));
-
- if ( ! $comment = get_comment($comment) )
- die(sprintf(__('Oops, no comment with this ID. <a href="%s">Go back</a>!'), 'edit-comments.php'));
-
- if ( !current_user_can('edit_post', $comment->comment_post_ID) )
- die( __('You are not allowed to edit comments on this post.') );
-
- if ( 'spam' == $_REQUEST['delete_type'] )
- wp_set_comment_status($comment->comment_ID, 'spam');
- else
- wp_delete_comment($comment->comment_ID);
-
- if (($_SERVER['HTTP_REFERER'] != '') && (false == $noredir)) {
- header('Location: ' . $_SERVER['HTTP_REFERER']);
- } else {
- header('Location: '. get_settings('siteurl') .'/wp-admin/edit-comments.php');
- }
- exit();
- break;
-
-case 'unapprovecomment':
- $comment = (int) $_GET['comment'];
- check_admin_referer('unapprove-comment_' . $comment);
-
- $p = (int) $_GET['p'];
- if (isset($_GET['noredir'])) {
- $noredir = true;
- } else {
- $noredir = false;
- }
-
- if ( ! $comment = get_comment($comment) )
- die(sprintf(__('Oops, no comment with this ID. <a href="%s">Go back</a>!'), 'edit.php'));
-
- if ( !current_user_can('edit_post', $comment->comment_post_ID) )
- die( __('You are not allowed to edit comments on this post, so you cannot disapprove this comment.') );
-
- wp_set_comment_status($comment->comment_ID, "hold");
-
- if (($_SERVER['HTTP_REFERER'] != "") && (false == $noredir)) {
- header('Location: ' . $_SERVER['HTTP_REFERER']);
- } else {
- header('Location: '. get_settings('siteurl') .'/wp-admin/edit.php?p='.$p.'&c=1#comments');
- }
- exit();
- break;
-
-case 'approvecomment':
- $comment = (int) $_GET['comment'];
- check_admin_referer('approve-comment_' . $comment);
-
- $p = (int) $_GET['p'];
- if (isset($_GET['noredir'])) {
- $noredir = true;
- } else {
- $noredir = false;
- }
-
- if ( ! $comment = get_comment($comment) )
- die(sprintf(__('Oops, no comment with this ID. <a href="%s">Go back</a>!'), 'edit.php'));
-
- if ( !current_user_can('edit_post', $comment->comment_post_ID) )
- die( __('You are not allowed to edit comments on this post, so you cannot approve this comment.') );
-
- wp_set_comment_status($comment->comment_ID, "approve");
- if (get_settings("comments_notify") == true) {
- wp_notify_postauthor($comment->comment_ID);
- }
-
-
- if (($_SERVER['HTTP_REFERER'] != "") && (false == $noredir)) {
- header('Location: ' . $_SERVER['HTTP_REFERER']);
- } else {
- header('Location: '. get_settings('siteurl') .'/wp-admin/edit.php?p='.$p.'&c=1#comments');
- }
- exit();
- break;
-
-case 'editedcomment':
-
- $comment_ID = (int) $_POST['comment_ID'];
- $comment_post_ID = (int) $_POST['comment_post_id'];
-
- check_admin_referer('update-comment_' . $comment_ID);
-
- edit_comment();
-
- $referredby = $_POST['referredby'];
- if (!empty($referredby)) {
- header('Location: ' . $referredby);
- } else {
- header ("Location: edit.php?p=$comment_post_ID&c=1#comments");
- }
-
- break;
-default:
- break;
-} // end switch
-
-include('admin-footer.php');
-
-?>
diff --git a/wp-inst/wp-admin/custom-fields.js b/wp-inst/wp-admin/custom-fields.js
deleted file mode 100644
index e86c87e..0000000
--- a/wp-inst/wp-admin/custom-fields.js
+++ /dev/null
@@ -1,26 +0,0 @@
-function customFieldsOnComplete() {
- var pidEl = document.getElementById('post_ID');
- pidEl.name = 'post_ID';
- pidEl.value = getNodeValue(theList.ajaxAdd.responseXML, 'postid');
- var aEl = document.getElementById('hiddenaction')
- if ( aEl.value == 'post' ) aEl.value = 'postajaxpost';
-}
-addLoadEvent(customFieldsAddIn);
-function customFieldsAddIn() {
- theList.showLink=0;
- theList.addComplete = customFieldsOnComplete;
- if (!theList.theList) return false;
- inputs = theList.theList.getElementsByTagName('input');
- for ( var i=0; i < inputs.length; i++ ) {
- if ('text' == inputs[i].type) {
- inputs[i].setAttribute('autocomplete', 'off');
- inputs[i].onkeypress = function(e) {return killSubmit('theList.ajaxUpdater("meta", "meta-' + parseInt(this.name.slice(5),10) + '");', e); };
- }
- if ('updatemeta' == inputs[i].className) {
- inputs[i].onclick = function(e) {return killSubmit('theList.ajaxUpdater("meta", "meta-' + parseInt(this.parentNode.parentNode.id.slice(5),10) + '");', e); };
- }
- }
-
- document.getElementById('metakeyinput').onkeypress = function(e) {return killSubmit('theList.inputData+="&id="+document.getElementById("post_ID").value;theList.ajaxAdder("meta", "newmeta");', e); };
- document.getElementById('updatemetasub').onclick = function(e) {return killSubmit('theList.inputData+="&id="+document.getElementById("post_ID").value;theList.ajaxAdder("meta", "newmeta");', e); };
-}
diff --git a/wp-inst/wp-admin/dbx-admin-key-js.php b/wp-inst/wp-admin/dbx-admin-key-js.php
deleted file mode 100644
index bca04ce..0000000
--- a/wp-inst/wp-admin/dbx-admin-key-js.php
+++ /dev/null
@@ -1,68 +0,0 @@
-<?php
-require_once('admin.php');
-header('Content-type: text/javascript; charset=' . get_settings('blog_charset'), true);
-
-switch ( $_GET['pagenow'] ) :
- case 'post.php' :
- case 'post-new.php' :
- $man = 'postmeta';
- break;
- case 'page.php' :
- case 'page-new.php' :
- $man = 'pagemeta';
- break;
- case 'link.php' :
- $man = 'linkmeta';
- break;
- default:
- exit;
- break;
-endswitch;
-?>
-addLoadEvent( function() {var manager = new dbxManager('<?php echo $man; ?>');} );
-
-addLoadEvent( function()
-{
- //create new docking boxes group
- var meta = new dbxGroup(
- 'grabit', // container ID [/-_a-zA-Z0-9/]
- 'vertical', // orientation ['vertical'|'horizontal']
- '10', // drag threshold ['n' pixels]
- 'no', // restrict drag movement to container axis ['yes'|'no']
- '10', // animate re-ordering [frames per transition, or '0' for no effect]
- 'yes', // include open/close toggle buttons ['yes'|'no']
- 'closed', // default state ['open'|'closed']
- 'open', // word for "open", as in "open this box"
- 'close', // word for "close", as in "close this box"
- 'click-down and drag to move this box', // sentence for "move this box" by mouse
- 'click to %toggle% this box', // pattern-match sentence for "(open|close) this box" by mouse
- 'use the arrow keys to move this box', // sentence for "move this box" by keyboard
- ', or press the enter key to %toggle% it', // pattern-match sentence-fragment for "(open|close) this box" by keyboard
- '%mytitle% [%dbxtitle%]' // pattern-match syntax for title-attribute conflicts
- );
-
- // Boxes are closed by default. Open the Category box if the cookie isn't already set.
- var catdiv = document.getElementById('categorydiv');
- if ( catdiv ) {
- var button = catdiv.getElementsByTagName('A')[0];
- if ( dbx.cookiestate == null && /dbx\-toggle\-closed/.test(button.className) )
- meta.toggleBoxState(button, true);
- }
-
- var advanced = new dbxGroup(
- 'advancedstuff', // container ID [/-_a-zA-Z0-9/]
- 'vertical', // orientation ['vertical'|'horizontal']
- '10', // drag threshold ['n' pixels]
- 'yes', // restrict drag movement to container axis ['yes'|'no']
- '10', // animate re-ordering [frames per transition, or '0' for no effect]
- 'yes', // include open/close toggle buttons ['yes'|'no']
- 'closed', // default state ['open'|'closed']
- 'open', // word for "open", as in "open this box"
- 'close', // word for "close", as in "close this box"
- 'click-down and drag to move this box', // sentence for "move this box" by mouse
- 'click to %toggle% this box', // pattern-match sentence for "(open|close) this box" by mouse
- 'use the arrow keys to move this box', // sentence for "move this box" by keyboard
- ', or press the enter key to %toggle% it', // pattern-match sentence-fragment for "(open|close) this box" by keyboard
- '%mytitle% [%dbxtitle%]' // pattern-match syntax for title-attribute conflicts
- );
-});
diff --git a/wp-inst/wp-admin/edit-category-form.php b/wp-inst/wp-admin/edit-category-form.php
deleted file mode 100644
index 9b700af..0000000
--- a/wp-inst/wp-admin/edit-category-form.php
+++ /dev/null
@@ -1,46 +0,0 @@
-<?php
-if ( ! empty($cat_ID) ) {
- $heading = __('Edit Category');
- $submit_text = __('Edit Category &raquo;');
- $form = '<form name="editcat" id="editcat" method="post" action="categories.php">';
- $action = 'editedcat';
- $nonce_action = 'update-category_' . $cat_ID;
-} else {
- $heading = __('Add Category');
- $submit_text = __('Add Category &raquo;');
- $form = '<form name="addcat" id="addcat" method="post" action="categories.php">';
- $action = 'addcat';
- $nonce_action = 'add-category';
-}
-?>
-
-<div class="wrap">
-<h2><?php echo $heading ?></h2>
-<?php echo $form ?>
-<input type="hidden" name="action" value="<?php echo $action ?>" />
-<input type="hidden" name="cat_ID" value="<?php echo $category->cat_ID ?>" />
-<?php wp_nonce_field($nonce_action); ?>
-<?php autocomplete_css(); ?>
- <table class="editform" width="100%" cellspacing="2" cellpadding="5">
- <tr>
- <th width="33%" scope="row" valign="top"><label for="cat_name"><?php _e('Category name:') ?></label></th>
- <td width="67%"><input type="text" id="cat_name" name="cat_name" value="<?php echo wp_specialchars($category->cat_name); ?>" size="40" /><div id="searchresults" class="autocomplete"></div></td>
- </tr>
- <tr>
- <th scope="row" valign="top"><label for="category_parent"><?php _e('Category parent:') ?></label></th>
- <td>
- <select name='category_parent' id='category_parent'>
- <option value='0' <?php if (!$category->category_parent) echo " selected='selected'"; ?>><?php _e('None') ?></option>
- <?php wp_dropdown_cats($category->cat_ID, $category->category_parent); ?>
- </select></td>
- </tr>
- <tr>
- <th scope="row" valign="top"><label for="category_description"><?php _e('Description: (optional)') ?></label></th>
- <td><textarea name="category_description" id="category_description" rows="5" cols="50" style="width: 97%;"><?php echo wp_specialchars($category->category_description, 1); ?></textarea></td>
- </tr>
- </table>
-<?php autocomplete_textbox( "wpmu-edit.php?action=searchcategories&search=", "cat_name", "searchresults" ); ?>
-<p class="submit"><input type="submit" name="submit" value="<?php echo $submit_text ?>" /></p>
-<div id="ajax-response"></div>
-</form>
-</div>
diff --git a/wp-inst/wp-admin/edit-comments.js b/wp-inst/wp-admin/edit-comments.js
deleted file mode 100644
index 4dfe755..0000000
--- a/wp-inst/wp-admin/edit-comments.js
+++ /dev/null
@@ -1,23 +0,0 @@
-addLoadEvent(function() {
- theCommentList = new listMan('the-comment-list');
- if ( !theCommentList )
- return false;
- theCommentList.dimComplete = function(what,id,dimClass) {
- var m = document.getElementById('awaitmod');
- if ( document.getElementById(what + '-' + id).className.match(dimClass) ) m.innerHTML = parseInt(m.innerHTML,10) + 1;
- else m.innerHTML = parseInt(m.innerHTML,10) - 1;
- }
- theCommentList.delComplete = function(what,id) {
- var m = document.getElementById('awaitmod');
- if ( document.getElementById(what + '-' + id).className.match('unapproved') ) m.innerHTML = parseInt(m.innerHTML,10) - 1;
- }
- if ( theList ) // the post list: edit.php
- theList.delComplete = function() {
- var comments = document.getElementById('comments');
- var commdel = encloseFunc(function(a){a.parentNode.removeChild(a);},comments);
- var listdel = encloseFunc(function(a){a.parentNode.removeChild(a);},theCommentList.theList);
- setTimeout(commdel,705);
- setTimeout(listdel,705);
- }
-});
-
diff --git a/wp-inst/wp-admin/edit-comments.php b/wp-inst/wp-admin/edit-comments.php
deleted file mode 100644
index db8ad12..0000000
--- a/wp-inst/wp-admin/edit-comments.php
+++ /dev/null
@@ -1,211 +0,0 @@
-<?php
-require_once('admin.php');
-
-$title = __('Edit Comments');
-$parent_file = 'edit.php';
-wp_enqueue_script( 'admin-comments' );
-
-require_once('admin-header.php');
-if (empty($_GET['mode'])) $mode = 'view';
-else $mode = wp_specialchars($_GET['mode'], 1);
-?>
-
-<script type="text/javascript">
-<!--
-function checkAll(form)
-{
- for (i = 0, n = form.elements.length; i < n; i++) {
- if(form.elements[i].type == "checkbox") {
- if(form.elements[i].checked == true)
- form.elements[i].checked = false;
- else
- form.elements[i].checked = true;
- }
- }
-}
-
-function getNumChecked(form)
-{
- var num = 0;
- for (i = 0, n = form.elements.length; i < n; i++) {
- if(form.elements[i].type == "checkbox") {
- if(form.elements[i].checked == true)
- num++;
- }
- }
- return num;
-}
-//-->
-</script>
-<div class="wrap">
-<h2><?php _e('Comments'); ?></h2>
-<form name="searchform" action="" method="get" id="editcomments">
- <fieldset>
- <legend><?php _e('Show Comments That Contain...') ?></legend>
- <input type="text" name="s" value="<?php if (isset($_GET['s'])) echo wp_specialchars($_GET['s'], 1); ?>" size="17" />
- <input type="submit" name="submit" value="<?php _e('Search') ?>" />
- <input type="hidden" name="mode" value="<?php echo $mode; ?>" />
- <?php _e('(Searches within comment text, e-mail, URI, and IP address.)') ?>
- </fieldset>
-</form>
-<p><a href="?mode=view"><?php _e('View Mode') ?></a> | <a href="?mode=edit"><?php _e('Mass Edit Mode') ?></a></p>
-<?php
-if ( !empty( $_POST['delete_comments'] ) ) :
- check_admin_referer('bulk-comments');
-
- $i = 0;
- foreach ($_POST['delete_comments'] as $comment) : // Check the permissions on each
- $comment = (int) $comment;
- $post_id = $wpdb->get_var("SELECT comment_post_ID FROM $wpdb->comments WHERE comment_ID = $comment");
- // $authordata = get_userdata( $wpdb->get_var("SELECT post_author FROM $wpdb->posts WHERE ID = $post_id") );
- if ( current_user_can('edit_post', $post_id) ) {
- if ( !empty( $_POST['spam_button'] ) )
- wp_set_comment_status($comment, 'spam');
- else
- wp_set_comment_status($comment, 'delete');
- ++$i;
- }
- endforeach;
- echo '<div style="background-color: rgb(207, 235, 247);" id="message" class="updated fade"><p>';
- if ( !empty( $_POST['spam_button'] ) )
- printf(__('%s comments marked as spam.'), $i);
- else
- printf(__('%s comments deleted.'), $i);
- echo '</p></div>';
-endif;
-
-if (isset($_GET['s'])) {
- $s = $wpdb->escape($_GET['s']);
- $comments = $wpdb->get_results("SELECT * FROM $wpdb->comments WHERE
- (comment_author LIKE '%$s%' OR
- comment_author_email LIKE '%$s%' OR
- comment_author_url LIKE ('%$s%') OR
- comment_author_IP LIKE ('%$s%') OR
- comment_content LIKE ('%$s%') ) AND
- comment_approved != 'spam'
- ORDER BY comment_date DESC");
-} else {
- if ( isset($_GET['offset']) )
- $offset = (int) $_GET['offset'] * 20;
- else
- $offset = 0;
-
- $comments = $wpdb->get_results("SELECT * FROM $wpdb->comments WHERE comment_approved = '0' OR comment_approved = '1' ORDER BY comment_date DESC LIMIT $offset,20");
-}
-if ('view' == $mode) {
- if ($comments) {
- if ($offset)
- $start = " start='$offset'";
- else
- $start = '';
-
- echo "<ol id='the-comment-list' class='commentlist' $start>";
- $i = 0;
- foreach ($comments as $comment) {
- ++$i; $class = '';
- $authordata = get_userdata($wpdb->get_var("SELECT post_author FROM $wpdb->posts WHERE ID = $comment->comment_post_ID"));
- $comment_status = wp_get_comment_status($comment->comment_ID);
- if ('unapproved' == $comment_status)
- $class .= ' unapproved';
- if ($i % 2)
- $class .= ' alternate';
- echo "<li id='comment-$comment->comment_ID' class='$class'>";
-?>
-<p><strong><?php comment_author() ?></strong> <?php if ($comment->comment_author_email) { ?>| <?php comment_author_email_link() ?> <?php } if ($comment->comment_author_url && 'http://' != $comment->comment_author_url) { ?> | <?php comment_author_url_link() ?> <?php } ?>| <?php _e('IP:') ?> <a href="http://ws.arin.net/cgi-bin/whois.pl?queryinput=<?php comment_author_IP() ?>"><?php comment_author_IP() ?></a></p>
-
-<?php comment_text() ?>
-
-<p><?php comment_date('M j, g:i A'); ?> &#8212; [
-<?php
-if ( current_user_can('edit_post', $comment->comment_post_ID) ) {
- echo " <a href='comment.php?action=editcomment&amp;comment=".$comment->comment_ID."\'>" . __('Edit') . '</a>';
- echo ' | <a href="' . wp_nonce_url('comment.php?action=deletecomment&amp;p=' . $post->ID . '&amp;comment=' . $comment->comment_ID, 'delete-comment_' . $comment->comment_ID) . '" onclick="return deleteSomething( \'comment\', ' . $comment->comment_ID . ', \'' . sprintf(__("You are about to delete this comment by &quot;%s&quot;.\\n&quot;Cancel&quot; to stop, &quot;OK&quot; to delete."), js_escape($comment->comment_author)) . "', theCommentList );\">" . __('Delete') . '</a> ';
- if ( ('none' != $comment_status) && ( current_user_can('moderate_comments') ) ) {
- echo '<span class="unapprove"> | <a href="' . wp_nonce_url('comment.php?action=unapprovecomment&amp;p=' . $post->ID . '&amp;comment=' . $comment->comment_ID, 'unapprove-comment_' . $comment->comment_ID) . '" onclick="return dimSomething( \'comment\', ' . $comment->comment_ID . ', \'unapproved\', theCommentList );">' . __('Unapprove') . '</a> </span>';
- echo '<span class="approve"> | <a href="' . wp_nonce_url('comment.php?action=approvecomment&amp;p=' . $post->ID . '&amp;comment=' . $comment->comment_ID, 'approve-comment_' . $comment->comment_ID) . '" onclick="return dimSomething( \'comment\', ' . $comment->comment_ID . ', \'unapproved\', theCommentList );">' . __('Approve') . '</a> </span>';
- }
- echo " | <a href=\"" . wp_nonce_url("comment.php?action=deletecomment&amp;delete_type=spam&amp;p=" . $comment->comment_post_ID . "&amp;comment=" . $comment->comment_ID, 'delete-comment_' . $comment->comment_ID) . "\" onclick=\"return deleteSomething( 'comment-as-spam', $comment->comment_ID, '" . sprintf(__("You are about to mark as spam this comment by &quot;%s&quot;.\\n&quot;Cancel&quot; to stop, &quot;OK&quot; to mark as spam."), js_escape( $comment->comment_author)) . "', theCommentList );\">" . __('Spam') . "</a> ";
-}
-$post = get_post($comment->comment_post_ID);
-$post_title = wp_specialchars( $post->post_title, 'double' );
-$post_title = ('' == $post_title) ? "# $comment->comment_post_ID" : $post_title;
-?>
- | <a href="<?php echo get_permalink($comment->comment_post_ID); ?>" title="<?php echo $post_title; ?>"><?php _e('View Post') ?></a> ]</p>
- </li>
-
-<?php } // end foreach($comment) ?>
-</ol>
-
-<div id="ajax-response"></div>
-
-<?php
- } else { //no comments to show
-
- ?>
- <p>
- <strong><?php _e('No comments found.') ?></strong></p>
-
- <?php
- } // end if ($comments)
-} elseif ('edit' == $mode) {
-
- if ($comments) {
- echo '<form name="deletecomments" id="deletecomments" action="" method="post"> ';
- wp_nonce_field('bulk-comments');
- echo '<table class="widefat">
-<thead>
- <tr>
- <th scope="col"><input type="checkbox" onclick="checkAll(document.getElementById(\'deletecomments\'));" /></th>
- <th scope="col" style="text-align: left">' . __('Name') . '</th>
- <th scope="col" style="text-align: left">' . __('E-mail') . '</th>
- <th scope="col" style="text-align: left">' . __('IP') . '</th>
- <th scope="col" style="text-align: left">' . __('Comment Excerpt') . '</th>
- <th scope="col" colspan="3">' . __('Actions') . '</th>
- </tr>
-</thead>';
- foreach ($comments as $comment) {
- $authordata = get_userdata($wpdb->get_var("SELECT post_author FROM $wpdb->posts WHERE ID = $comment->comment_post_ID"));
- $comment_status = wp_get_comment_status($comment->comment_ID);
- $class = ('alternate' == $class) ? '' : 'alternate';
- $class .= ('unapproved' == $comment_status) ? ' unapproved' : '';
-?>
- <tr id="comment-<?php echo $comment->comment_ID; ?>" class='<?php echo $class; ?>'>
- <td><?php if ( current_user_can('edit_post', $comment->comment_post_ID) ) { ?><input type="checkbox" name="delete_comments[]" value="<?php echo $comment->comment_ID; ?>" /><?php } ?></td>
- <td><?php comment_author_link() ?></td>
- <td><?php comment_author_email_link() ?></td>
- <td><a href="http://ws.arin.net/cgi-bin/whois.pl?queryinput=<?php comment_author_IP() ?>"><?php comment_author_IP() ?></a></td>
- <td><?php comment_excerpt(); ?></td>
- <td>
- <?php if ('unapproved' == $comment_status) { ?>
- (Unapproved)
- <?php } else { ?>
- <a href="<?php echo get_permalink($comment->comment_post_ID); ?>#comment-<?php comment_ID() ?>" class="edit"><?php _e('View') ?></a>
- <?php } ?>
- </td>
- <td><?php if ( current_user_can('edit_post', $comment->comment_post_ID) ) {
- echo "<a href='comment.php?action=editcomment&amp;comment=$comment->comment_ID' class='edit'>" . __('Edit') . "</a>"; } ?></td>
- <td><?php if ( current_user_can('edit_post', $comment->comment_post_ID) ) {
- echo "<a href=\"comment.php?action=deletecomment&amp;p=".$comment->comment_post_ID."&amp;comment=".$comment->comment_ID."\" onclick=\"return deleteSomething( 'comment', $comment->comment_ID, '" . sprintf(__("You are about to delete this comment by &quot;%s&quot;.\\n&quot;Cancel&quot; to stop, &quot;OK&quot; to delete."), js_escape( $comment->comment_author )) . "', theCommentList );\" class='delete'>" . __('Delete') . "</a> ";
- } ?></td>
- </tr>
- <?php
- } // end foreach
- ?></table>
-<p class="submit"><input type="submit" name="delete_button" value="<?php _e('Delete Checked Comments &raquo;') ?>" onclick="var numchecked = getNumChecked(document.getElementById('deletecomments')); if(numchecked < 1) { alert('<?php _e("Please select some comments to delete"); ?>'); return false } return confirm('<?php printf(__("You are about to delete %s comments permanently \\n \'Cancel\' to stop, \'OK\' to delete."), "' + numchecked + '"); ?>')" />
- <input type="submit" name="spam_button" value="<?php _e('Mark Checked Comments as Spam &raquo;') ?>" onclick="return confirm('<?php _e("You are about to mark these comments as spam \\n \'Cancel\' to stop, \'OK\' to mark as spam.") ?>')" /></p>
- </form>
-<div id="ajax-response"></div>
-<?php
- } else {
-?>
-<p>
-<strong><?php _e('No results found.') ?></strong>
-</p>
-<?php
- } // end if ($comments)
-}
- ?>
-
-</div>
-
-<?php include('admin-footer.php'); ?>
diff --git a/wp-inst/wp-admin/edit-form-advanced.php b/wp-inst/wp-admin/edit-form-advanced.php
deleted file mode 100644
index 894e239..0000000
--- a/wp-inst/wp-admin/edit-form-advanced.php
+++ /dev/null
@@ -1,237 +0,0 @@
-<?php
-$messages[1] = __('Post updated');
-$messages[2] = __('Custom field updated');
-$messages[3] = __('Custom field deleted.');
-?>
-<?php if (isset($_GET['message'])) : ?>
-<div id="message" class="updated fade"><p><?php echo $messages[$_GET['message']]; ?></p></div>
-<?php endif; ?>
-
-<form name="post" action="post.php" method="post" id="post">
-<?php if ( (isset($mode) && 'bookmarklet' == $mode) ||
- isset($_GET['popupurl']) ): ?>
-<input type="hidden" name="mode" value="bookmarklet" />
-<?php endif; ?>
-
-<div class="wrap">
-<h2 id="write-post"><?php _e('Write Post'); ?><?php if ( 0 != $post_ID ) : ?>
- <small class="quickjump"><a href="#preview-post"><?php _e('preview &darr;'); ?></a></small><?php endif; ?></h2>
-<?php
-
-if (0 == $post_ID) {
- $form_action = 'post';
- $temp_ID = -1 * time();
- $form_extra = "<input type='hidden' id='post_ID' name='temp_ID' value='$temp_ID' />";
- wp_nonce_field('add-post');
-} else {
- $form_action = 'editpost';
- $form_extra = "<input type='hidden' id='post_ID' name='post_ID' value='$post_ID' />";
- wp_nonce_field('update-post_' . $post_ID);
-}
-
-$form_pingback = '<input type="hidden" name="post_pingback" value="' . get_option('default_pingback_flag') . '" id="post_pingback" />';
-
-$form_prevstatus = '<input type="hidden" name="prev_status" value="' . $post->post_status . '" />';
-
-$form_trackback = '<input type="text" name="trackback_url" style="width: 415px" id="trackback" tabindex="7" value="'. str_replace("\n", ' ', $post->to_ping) .'" />';
-
-if ('' != $post->pinged) {
- $pings = '<p>'. __('Already pinged:') . '</p><ul>';
- $already_pinged = explode("\n", trim($post->pinged));
- foreach ($already_pinged as $pinged_url) {
- $pings .= "\n\t<li>$pinged_url</li>";
- }
- $pings .= '</ul>';
-}
-
-$saveasdraft = '<input name="save" type="submit" id="save" tabindex="3" value="' . __('Save and Continue Editing') . '" />';
-
-if (empty($post->post_status)) $post->post_status = 'draft';
-
-?>
-
-<input type="hidden" name="user_ID" value="<?php echo $user_ID ?>" />
-<input type="hidden" id="hiddenaction" name="action" value="<?php echo $form_action ?>" />
-<input type="hidden" name="post_author" value="<?php echo $post->post_author ?>" />
-<input type="hidden" name="post_type" value="post" />
-
-<?php echo $form_extra ?>
-<?php if (isset($_GET['message']) && 2 > $_GET['message']) : ?>
-<script type="text/javascript">
-function focusit() {
- // focus on first input field
- document.post.title.focus();
-}
-addLoadEvent(focusit);
-</script>
-<?php endif; ?>
-<?php autocomplete_css(); ?>
-<div id="poststuff">
-
-<div id="moremeta">
-<div id="grabit" class="dbx-group">
-
-<fieldset id="categorydiv" class="dbx-box">
-<h3 class="dbx-handle"><?php _e('Categories') ?></h3>
-<div class="dbx-content">
-<p id="jaxcat"></p>
-<?php if ( current_user_can('manage_categories') ) : ?>
-<div id="searchresults" class="autocomplete"></div>
-<?php autocomplete_textbox( "wpmu-edit.php?action=searchcategories&search=", "newcat", "searchresults" ); ?>
-<?php endif; ?>
-<ul id="categorychecklist"><?php dropdown_categories(get_settings('default_category')); ?></ul>
-</div>
-</fieldset>
-
-<fieldset id="commentstatusdiv" class="dbx-box">
-<h3 class="dbx-handle"><?php _e('Discussion') ?></h3>
-<div class="dbx-content">
-<input name="advanced_view" type="hidden" value="1" />
-<label for="comment_status" class="selectit">
-<input name="comment_status" type="checkbox" id="comment_status" value="open" <?php checked($post->comment_status, 'open'); ?> />
-<?php _e('Allow Comments') ?></label>
-<label for="ping_status" class="selectit"><input name="ping_status" type="checkbox" id="ping_status" value="open" <?php checked($post->ping_status, 'open'); ?> /> <?php _e('Allow Pings') ?></label>
-</div>
-</fieldset>
-
-<fieldset id="passworddiv" class="dbx-box">
-<h3 class="dbx-handle"><?php _e('Password-Protect Post') ?></h3>
-<div class="dbx-content"><input name="post_password" type="text" size="13" id="post_password" value="<?php echo $post->post_password ?>" /></div>
-</fieldset>
-
-<fieldset id="slugdiv" class="dbx-box">
-<h3 class="dbx-handle"><?php _e('Post slug') ?></h3>
-<div class="dbx-content"><input name="post_name" type="text" size="13" id="post_name" value="<?php echo $post->post_name ?>" /></div>
-</fieldset>
-
-<fieldset class="dbx-box">
-<h3 class="dbx-handle"><?php _e('Post Status') ?></h3>
-<div class="dbx-content"><?php if ( current_user_can('publish_posts') ) : ?>
-<label for="post_status_publish" class="selectit"><input id="post_status_publish" name="post_status" type="radio" value="publish" <?php checked($post->post_status, 'publish'); checked($post->post_status, 'future'); ?> /> <?php _e('Published') ?></label>
-<?php endif; ?>
- <label for="post_status_draft" class="selectit"><input id="post_status_draft" name="post_status" type="radio" value="draft" <?php checked($post->post_status, 'draft'); ?> /> <?php _e('Draft') ?></label>
- <label for="post_status_private" class="selectit"><input id="post_status_private" name="post_status" type="radio" value="private" <?php checked($post->post_status, 'private'); ?> /> <?php _e('Private') ?></label></div>
-</fieldset>
-
-<?php if ( current_user_can('edit_posts') ) : ?>
-<fieldset class="dbx-box">
-<h3 class="dbx-handle"><?php _e('Post Timestamp'); ?>:</h3>
-<div class="dbx-content"><?php touch_time(($action == 'edit')); ?></div>
-</fieldset>
-<?php endif; ?>
-
-<?php if ( $authors = get_editable_authors( $current_user->id ) ) : // TODO: ROLE SYSTEM ?>
-<fieldset id="authordiv" class="dbx-box">
-<h3 class="dbx-handle"><?php _e('Post author'); ?>:</h3>
-<div class="dbx-content">
-<select name="post_author_override" id="post_author_override">
-<?php
-foreach ($authors as $o) :
-$o = get_userdata( $o->ID );
-if ( $post->post_author == $o->ID || ( empty($post_ID) && $user_ID == $o->ID ) ) $selected = 'selected="selected"';
-else $selected = '';
-echo "<option value='$o->ID' $selected>$o->display_name</option>";
-endforeach;
-?>
-</select>
-</div>
-</fieldset>
-<?php endif; ?>
-
-<?php do_action('dbx_post_sidebar'); ?>
-
-</div>
-</div>
-
-<fieldset id="titlediv">
- <legend><?php _e('Title') ?></legend>
- <div><input type="text" name="post_title" size="30" tabindex="1" value="<?php echo $post->post_title; ?>" id="title" /></div>
-</fieldset>
-
-<fieldset id="<?php echo user_can_richedit() ? 'postdivrich' : 'postdiv'; ?>">
-<legend><?php _e('Post') ?></legend>
-
- <?php the_editor($post->post_content); ?>
-
-<?php echo $form_pingback ?>
-<?php echo $form_prevstatus ?>
-
-
-<p class="submit"><?php echo $saveasdraft; ?> <input type="submit" name="submit" value="<?php _e('Save') ?>" style="font-weight: bold;" tabindex="4" />
-<?php
-if ('publish' != $post->post_status || 0 == $post_ID) {
-?>
-<?php if ( current_user_can('publish_posts') ) : ?>
- <input name="publish" type="submit" id="publish" tabindex="5" accesskey="p" value="<?php _e('Publish') ?>" />
-<?php endif; ?>
-<?php
-}
-?>
-<input name="referredby" type="hidden" id="referredby" value="<?php
-if ( !empty($_REQUEST['popupurl']) )
- echo wp_specialchars($_REQUEST['popupurl']);
-else if ( url_to_postid($_SERVER['HTTP_REFERER']) == $post_ID )
- echo 'redo';
-else
- echo wp_specialchars($_SERVER['HTTP_REFERER']);
-?>" /></p>
-
-<?php do_action('edit_form_advanced'); ?>
-
-<?php
-if (current_user_can('upload_files')) {
- $uploading_iframe_ID = (0 == $post_ID ? $temp_ID : $post_ID);
- $uploading_iframe_src = wp_nonce_url("inline-uploading.php?action=view&amp;post=$uploading_iframe_ID", 'inlineuploading');
- $uploading_iframe_src = apply_filters('uploading_iframe_src', $uploading_iframe_src);
- if ( false != $uploading_iframe_src )
- echo '<iframe id="uploading" border="0" src="' . $uploading_iframe_src . '">' . __('This feature requires iframe support.') . '</iframe>';
-}
-?>
-
-<div id="advancedstuff" class="dbx-group" >
-
-<fieldset id="postexcerpt" class="dbx-box">
-<h3 class="dbx-handle"><?php _e('Optional Excerpt') ?></h3>
-<div class="dbx-content"><textarea rows="1" cols="40" name="excerpt" tabindex="6" id="excerpt"><?php echo $post->post_excerpt ?></textarea></div>
-</fieldset>
-
-<fieldset class="dbx-box">
-<h3 class="dbx-handle"><?php _e('Trackbacks') ?></h3>
-<div class="dbx-content"><?php _e('Send trackbacks to'); ?>: <?php echo $form_trackback; ?> (<?php _e('Separate multiple URIs with spaces'); ?>)
-<?php
-if ( ! empty($pings) )
- echo $pings;
-?>
-</div>
-</fieldset>
-
-<fieldset id="postcustom" class="dbx-box">
-<h3 class="dbx-handle"><?php _e('Custom Fields') ?></h3>
-<div id="postcustomstuff" class="dbx-content">
-<table cellpadding="3">
-<?php
-$metadata = has_meta($post_ID);
-list_meta($metadata);
-?>
-
-</table>
-<?php
- meta_form();
-?>
-<div id="ajax-response"></div>
-</div>
-</fieldset>
-
-<?php do_action('dbx_post_advanced'); ?>
-
-</div>
-
-<?php if ('edit' == $action) : $delete_nonce = wp_create_nonce( 'delete-post_' . $post_ID ); ?>
-<input name="deletepost" class="button" type="submit" id="deletepost" tabindex="10" value="<?php _e('Delete this post') ?>" <?php echo "onclick=\"if ( confirm('" . sprintf(__("You are about to delete this post \'%s\'\\n \'Cancel\' to stop, \'OK\' to delete."), addslashes($post->post_title) ) . "') ) { document.forms.post._wpnonce.value = '$delete_nonce'; return true;}return false;\""; ?> />
-<?php endif; ?>
-
-</div>
-
-</div>
-
-</form>
diff --git a/wp-inst/wp-admin/edit-form-ajax-cat.php b/wp-inst/wp-admin/edit-form-ajax-cat.php
deleted file mode 100644
index 4a4665c..0000000
--- a/wp-inst/wp-admin/edit-form-ajax-cat.php
+++ /dev/null
@@ -1,37 +0,0 @@
-<?php
-require_once('../wp-config.php');
-require_once('admin-functions.php');
-require_once('admin-db.php');
-
-get_currentuserinfo();
-
-if ( !current_user_can('manage_categories') )
- die('-1');
-
-function get_out_now() { exit; }
-
-add_action('shutdown', 'get_out_now', -1);
-
-$names = explode(',', rawurldecode($_GET['ajaxnewcat']) );
-$ids = array();
-
-foreach ($names as $cat_name) {
- $cat_name = trim( $cat_name );
-
- if ( !$category_nicename = sanitize_title($cat_name) )
- continue;
- if ( $already = category_exists($cat_name) ) {
- $ids[] = (string) $already;
- continue;
- }
-
- $new_cat_id = wp_create_category($cat_name);
-
- $ids[] = (string) $new_cat_id;
-}
-
-$return = join(',', $ids);
-
-die( (string) $return );
-
-?>
diff --git a/wp-inst/wp-admin/edit-form-comment.php b/wp-inst/wp-admin/edit-form-comment.php
deleted file mode 100644
index 1f23cef..0000000
--- a/wp-inst/wp-admin/edit-form-comment.php
+++ /dev/null
@@ -1,80 +0,0 @@
-<?php
-$submitbutton_text = __('Edit Comment &raquo;');
-$toprow_title = sprintf(__('Editing Comment # %s'), $comment->comment_ID);
-$form_action = 'editedcomment';
-$form_extra = "' />\n<input type='hidden' name='comment_ID' value='" . $comment->comment_ID . "' />\n<input type='hidden' name='comment_post_ID' value='".$comment->comment_post_ID;
-?>
-
-<form name="post" action="comment.php" method="post" id="post">
-<?php wp_nonce_field('update-comment_' . $comment->comment_ID) ?>
-<div class="wrap">
-<input type="hidden" name="user_ID" value="<?php echo $user_ID ?>" />
-<input type="hidden" name="action" value='<?php echo $form_action . $form_extra ?>' />
-
-<script type="text/javascript">
-function focusit() { // focus on first input field
- document.post.name.focus();
-}
-addLoadEvent(focusit);
-</script>
-<fieldset id="namediv">
- <legend><label for="name"><?php _e('Name:') ?></label></legend>
- <div>
- <input type="text" name="newcomment_author" size="25" value="<?php echo $comment->comment_author ?>" tabindex="1" id="name" />
- </div>
-</fieldset>
-<fieldset id="emaildiv">
- <legend><label for="email"><?php _e('E-mail:') ?></label></legend>
- <div>
- <input type="text" name="newcomment_author_email" size="20" value="<?php echo $comment->comment_author_email ?>" tabindex="2" id="email" />
- </div>
-</fieldset>
-<fieldset id="uridiv">
- <legend><label for="URL"><?php _e('URI:') ?></label></legend>
- <div>
- <input type="text" id="newcomment_author_url" name="newcomment_author_url" size="35" value="<?php echo $comment->comment_author_url ?>" tabindex="3" id="URL" />
- </div>
-</fieldset>
-
-<fieldset style="clear: both;">
- <legend><?php _e('Comment') ?></legend>
- <?php the_editor($comment->comment_content, 'content', 'newcomment_author_url'); ?>
-</fieldset>
-
-<p class="submit"><input type="submit" name="editcomment" id="editcomment" value="<?php echo $submitbutton_text ?>" style="font-weight: bold;" tabindex="6" />
- <input name="referredby" type="hidden" id="referredby" value="<?php echo $_SERVER['HTTP_REFERER']; ?>" />
-</p>
-
-</div>
-
-<div class="wrap">
-<h2><?php _e('Advanced'); ?></h2>
-
-<table width="100%" cellspacing="2" cellpadding="5" class="editform">
- <tr>
- <th scope="row" valign="top"><?php _e('Comment Status') ?>:</th>
- <td><label for="comment_status_approved" class="selectit"><input id="comment_status_approved" name="comment_status" type="radio" value="1" <?php checked($comment->comment_approved, '1'); ?> /> <?php _e('Approved') ?></label><br />
- <label for="comment_status_moderated" class="selectit"><input id="comment_status_moderated" name="comment_status" type="radio" value="0" <?php checked($comment->comment_approved, '0'); ?> /> <?php _e('Moderated') ?></label><br />
- <label for="comment_status_spam" class="selectit"><input id="comment_status_spam" name="comment_status" type="radio" value="spam" <?php checked($comment->comment_approved, 'spam'); ?> /> <?php _e('Spam') ?></label></td>
- </tr>
-
-<?php if ( current_user_can('edit_posts') ) : ?>
- <tr>
- <th scope="row" valign="top"><?php _e('Edit time'); ?>:</th>
- <td><?php touch_time(('editcomment' == $action), 0); ?> </td>
- </tr>
-<?php endif; ?>
-
- <tr>
- <th scope="row" valign="top"><?php _e('Delete'); ?>:</th>
- <td><input name="deletecomment" class="button" type="submit" id="deletecomment" tabindex="10" value="<?php _e('Delete this comment') ?>" <?php echo "onclick=\"return confirm('" . __("You are about to delete this comment \\n \'Cancel\' to stop, \'OK\' to delete.") . "')\""; ?> />
- <input type="hidden" name="comment" value="<?php echo $comment->comment_ID ?>" />
- <input type="hidden" name="p" value="<?php echo $comment->comment_post_ID ?>" />
- <input type="hidden" name="noredir" value="1" />
- </td>
- </tr>
-</table>
-
-</div>
-
-</form>
diff --git a/wp-inst/wp-admin/edit-form.php b/wp-inst/wp-admin/edit-form.php
deleted file mode 100644
index dd4bc75..0000000
--- a/wp-inst/wp-admin/edit-form.php
+++ /dev/null
@@ -1,75 +0,0 @@
-
-<div class="wrap">
-<h2><?php _e('Write Post'); ?></h2>
-<form name="post" action="post.php" method="post" id="simple">
-
-<?php if (isset($mode) && 'bookmarklet' == $mode) : ?>
-<input type="hidden" name="mode" value="bookmarklet" />
-<?php endif; ?>
-<input type="hidden" name="user_ID" value="<?php echo $user_ID ?>" />
-<input type="hidden" name="action" value='post' />
-
-<script type="text/javascript">
-<!--
-function focusit() { // focus on first input field
- document.getElementById('title').focus();
-}
-addLoadEvent(focusit);
-//-->
-</script>
-
-<div id="poststuff">
- <fieldset id="titlediv">
- <legend><a href="http://wordpress.org/docs/reference/post/#title" title="<?php _e('Help on titles') ?>"><?php _e('Title') ?></a></legend>
- <div><input type="text" name="post_title" size="30" tabindex="1" value="<?php echo $post->post_title; ?>" id="title" /></div>
- </fieldset>
-
- <fieldset id="categorydiv">
- <legend><a href="http://wordpress.org/docs/reference/post/#category" title="<?php _e('Help on categories') ?>"><?php _e('Categories') ?></a></legend>
- <div><?php dropdown_categories($post->post_category); ?></div>
- </fieldset>
-
-<br />
-<fieldset id="postdiv">
- <legend><a href="http://wordpress.org/docs/reference/post/#post" title="<?php _e('Help with post field') ?>"><?php _e('Post') ?></a></legend>
-<?php the_quicktags(); ?>
-<?php
- $rows = get_settings('default_post_edit_rows');
- if (($rows < 3) || ($rows > 100)) {
- $rows = 10;
- }
-?>
-<div><textarea rows="<?php echo $rows; ?>" cols="40" name="content" tabindex="4" id="content"><?php echo $post->post_content ?></textarea></div>
-</fieldset>
-
-
-<script type="text/javascript">
-<!--
-edCanvas = document.getElementById('content');
-//-->
-</script>
-
-<input type="hidden" name="post_pingback" value="<?php echo get_option('default_pingback_flag') ?>" id="post_pingback" />
-
-<p><label for="trackback"> <?php printf(__('<a href="%s" title="Help on trackbacks"><strong>TrackBack</strong> a <abbr title="Universal Resource Identifier">URI</abbr></a>:</label> (Separate multiple <abbr title="Universal Resource Identifier">URI</abbr>s with spaces.)<br />'), 'http://wordpress.org/docs/reference/post/#trackback') ?>
- <input type="text" name="trackback_url" style="width: 360px" id="trackback" tabindex="7" /></p>
-
-<p class="submit"><input name="saveasdraft" type="submit" id="saveasdraft" tabindex="9" value="<?php _e('Save as Draft') ?>" />
- <input name="saveasprivate" type="submit" id="saveasprivate" tabindex="10" value="<?php _e('Save as Private') ?>" />
-
- <?php if ( current_user_can('edit_posts') ) : ?>
- <input name="publish" type="submit" id="publish" tabindex="6" style="font-weight: bold;" value="<?php _e('Publish') ?>" />
-<?php endif; ?>
-
-<?php if ('bookmarklet' != $mode) {
- echo '<input name="advanced" type="submit" id="advancededit" tabindex="7" value="' . __('Advanced Editing &raquo;') . '" />';
- } ?>
- <input name="referredby" type="hidden" id="referredby" value="<?php if (isset($_SERVER['HTTP_REFERER'])) echo urlencode($_SERVER['HTTP_REFERER']); ?>" />
-</p>
-
-<?php do_action('simple_edit_form', ''); ?>
-
-</div>
-</form>
-
-</div>
diff --git a/wp-inst/wp-admin/edit-link-form.php b/wp-inst/wp-admin/edit-link-form.php
deleted file mode 100644
index faa4956..0000000
--- a/wp-inst/wp-admin/edit-link-form.php
+++ /dev/null
@@ -1,257 +0,0 @@
-<?php
-if ( ! empty($link_id) ) {
- $heading = __('Edit Bookmark');
- $submit_text = __('Save Changes &raquo;');
- $form = '<form name="editlink" id="editlink" method="post" action="link.php">';
- $nonce_action = 'update-bookmark_' . $link_id;
-} else {
- $heading = __('Create Bookmark');
- $submit_text = __('Add Bookmark &raquo;');
- $form = '<form name="addlink" id="addlink" method="post" action="link.php">';
- $nonce_action = 'add-bookmark';
-}
-
-function xfn_check($class, $value = '', $type = 'check') {
- global $link;
-
- $link_rel = $link->link_rel;
- $rels = preg_split('/\s+/', $link_rel);
-
- if ('' != $value && in_array($value, $rels) ) {
- echo ' checked="checked"';
- }
-
- if ('' == $value) {
- if ('family' == $class && !strstr($link_rel, 'child') && !strstr($link_rel, 'parent') && !strstr($link_rel, 'sibling') && !strstr($link_rel, 'spouse') && !strstr($link_rel, 'kin')) echo ' checked="checked"';
- if ('friendship' == $class && !strstr($link_rel, 'friend') && !strstr($link_rel, 'acquaintance') && !strstr($link_rel, 'contact') ) echo ' checked="checked"';
- if ('geographical' == $class && !strstr($link_rel, 'co-resident') && !strstr($link_rel, 'neighbor') ) echo ' checked="checked"';
- if ('identity' == $class && in_array('me', $rels) ) echo ' checked="checked"';
- }
-}
-?>
-
-<div class="wrap">
-<h2><?php echo $heading ?></h2>
-<?php echo $form ?>
-<?php wp_nonce_field($nonce_action); ?>
-
-<div id="poststuff">
-<div id="moremeta">
-<div id="grabit" class="dbx-group">
-
-<fieldset id="categorydiv" class="dbx-box">
-<h3 class="dbx-handle"><?php _e('Categories') ?></h3>
-<div class="dbx-content">
-<p id="jaxcat"></p>
-<ul id="categorychecklist"><?php dropdown_categories(get_settings('default_link_category')); ?></ul>
-</div>
-</fieldset>
-
-<fieldset class="dbx-box">
-<h3 class="dbx-handle"><?php _e('Target') ?></h3>
-<div class="dbx-content">
-<label for="link_target_blank" class="selectit">
-<input id="link_target_blank" type="radio" name="link_target" value="_blank" <?php echo(($link->link_target == '_blank') ? 'checked="checked"' : ''); ?> />
-<code>_blank</code></label>
-<label for="link_target_top" class="selectit">
-<input id="link_target_top" type="radio" name="link_target" value="_top" <?php echo(($link->link_target == '_top') ? 'checked="checked"' : ''); ?> />
-<code>_top</code></label>
-<label for="link_target_none" class="selectit">
-<input id="link_target_none" type="radio" name="link_target" value="" <?php echo(($link->link_target == '') ? 'checked="checked"' : ''); ?> />
-<?php _e('none') ?></label>
-</div>
-</fieldset>
-
-<fieldset class="dbx-box">
-<h3 class="dbx-handle"><?php _e('Visible') ?></h3>
-<div class="dbx-content">
-<label for="link_visible_yes" class="selectit">
-<input id="link_visible_yes" type="radio" name="link_visible" <?php if ($link->link_visible == 'Y') echo "checked='checked'"; ?> value="Y" />
-<?php _e('Yes') ?></label>
-<label for="link_visible_no" class="selectit">
-<input id="link_visible_no" type="radio" name="link_visible" <?php if ($link->link_visible == 'N') echo "checked='checked'"; ?> value="N" />
-<?php _e('No') ?></label>
-</div>
-</fieldset>
-
-</div>
-</div>
-
-<table class="editform" width="100%" cellspacing="2" cellpadding="5">
-<tr>
-<th width="20%" scope="row" valign="top"><label for="link_url"><?php _e('URI:') ?></label></th>
-<td width="80%"><input type="text" name="link_url" value="<?php echo $link->link_url; ?>" style="width: 95%" /></td>
-</tr>
-<tr>
-<th scope="row" valign="top"><label for="link_name"><?php _e('Name:') ?></label></th>
-<td><input type="text" name="link_name" value="<?php echo $link->link_name; ?>" style="width: 95%" /></td>
-</tr>
-<tr>
-<th scope="row" valign="top"><label for="link_description"><?php _e('Description:') ?></label></th>
-<td><input type="text" name="link_description" value="<?php echo $link->link_description; ?>" style="width: 95%" /></td>
-</tr>
-</table>
-
-<p class="submit">
-<input type="submit" name="submit" value="<?php echo $submit_text ?>" />
-</p>
-
-<div id="advancedstuff" class="dbx-group" >
-
-<fieldset id="xfn" class="dbx-box">
-<h3 class="dbx-handle"><?php _e('Link Relationship (XFN)') ?></h3>
-<div class="dbx-content">
-<table class="editform" width="100%" cellspacing="2" cellpadding="5">
- <tr>
- <th width="20%" scope="row"><?php _e('rel:') ?></th>
- <td width="80%"><input type="text" name="link_rel" id="link_rel" size="50" value="<?php echo $link->link_rel; ?>" /></td>
- </tr>
- <tr>
- <th scope="row"><?php _e('<a href="http://gmpg.org/xfn/">XFN</a> Creator:') ?></th>
- <td>
- <table cellpadding="3" cellspacing="5">
- <tr>
- <th scope="row"> <?php _e('identity') ?> </th>
- <td>
- <label for="me">
- <input type="checkbox" name="identity" value="me" id="me" <?php xfn_check('identity', 'me'); ?> />
- <?php _e('another web address of mine') ?></label>
- </td>
- </tr>
- <tr>
- <th scope="row"> <?php _e('friendship') ?> </th>
- <td>
- <label for="contact">
- <input class="valinp" type="radio" name="friendship" value="contact" id="contact" <?php xfn_check('friendship', 'contact', 'radio'); ?> /> <?php _e('contact') ?></label>
- <label for="acquaintance">
- <input class="valinp" type="radio" name="friendship" value="acquaintance" id="acquaintance" <?php xfn_check('friendship', 'acquaintance', 'radio'); ?> /> <?php _e('acquaintance') ?></label>
- <label id="friend">
- <input class="valinp" type="radio" name="friendship" value="friend" id="friend" <?php xfn_check('friendship', 'friend', 'radio'); ?> /> <?php _e('friend') ?></label>
- <label for="friendship">
- <input name="friendship" type="radio" class="valinp" value="" id="friendship" <?php xfn_check('friendship', '', 'radio'); ?> /> <?php _e('none') ?></label>
- </td>
- </tr>
- <tr>
- <th scope="row"> <?php _e('physical') ?> </th>
- <td>
- <label for="met">
- <input class="valinp" type="checkbox" name="physical" value="met" id="met" <?php xfn_check('physical', 'met'); ?> />
- <?php _e('met') ?></label>
- </td>
- </tr>
- <tr>
- <th scope="row"> <?php _e('professional') ?> </th>
- <td>
- <label for="co-worker">
- <input class="valinp" type="checkbox" name="professional" value="co-worker" id="co-worker" <?php xfn_check('professional', 'co-worker'); ?> />
- <?php _e('co-worker') ?></label>
- <label for="colleague">
- <input class="valinp" type="checkbox" name="professional" value="colleague" id="colleague" <?php xfn_check('professional', 'colleague'); ?> />
- <?php _e('colleague') ?></label>
- </td>
- </tr>
- <tr>
- <th scope="row"> <?php _e('geographical') ?> </th>
- <td>
- <label for="co-resident">
- <input class="valinp" type="radio" name="geographical" value="co-resident" id="co-resident" <?php xfn_check('geographical', 'co-resident', 'radio'); ?> />
- <?php _e('co-resident') ?></label>
- <label for="neighbor">
- <input class="valinp" type="radio" name="geographical" value="neighbor" id="neighbor" <?php xfn_check('geographical', 'neighbor', 'radio'); ?> />
- <?php _e('neighbor') ?></label>
- <label for="geographical">
- <input class="valinp" type="radio" name="geographical" value="" id="geographical" <?php xfn_check('geographical', '', 'radio'); ?> />
- <?php _e('none') ?></label>
- </td>
- </tr>
- <tr>
- <th scope="row"> <?php _e('family') ?> </th>
- <td>
- <label for="child">
- <input class="valinp" type="radio" name="family" value="child" id="child" <?php xfn_check('family', 'child', 'radio'); ?> />
- <?php _e('child') ?></label>
- <label for="kin">
- <input class="valinp" type="radio" name="family" value="kin" id="kin" <?php xfn_check('family', 'kin', 'radio'); ?> />
- <?php _e('kin') ?></label>
- <label for="parent">
- <input class="valinp" type="radio" name="family" value="parent" id="parent" <?php xfn_check('family', 'parent', 'radio'); ?> />
- <?php _e('parent') ?></label>
- <label for="sibling">
- <input class="valinp" type="radio" name="family" value="sibling" id="sibling" <?php xfn_check('family', 'sibling', 'radio'); ?> />
- <?php _e('sibling') ?></label>
- <label for="spouse">
- <input class="valinp" type="radio" name="family" value="spouse" id="spouse" <?php xfn_check('family', 'spouse', 'radio'); ?> />
- <?php _e('spouse') ?></label>
- <label for="family">
- <input class="valinp" type="radio" name="family" value="" id="family" <?php xfn_check('family', '', 'radio'); ?> />
- <?php _e('none') ?></label>
- </td>
- </tr>
- <tr>
- <th scope="row"> <?php _e('romantic') ?> </th>
- <td>
- <label for="muse">
- <input class="valinp" type="checkbox" name="romantic" value="muse" id="muse" <?php xfn_check('romantic', 'muse'); ?> />
- <?php _e('muse') ?></label>
- <label for="crush">
- <input class="valinp" type="checkbox" name="romantic" value="crush" id="crush" <?php xfn_check('romantic', 'crush'); ?> />
- <?php _e('crush') ?></label>
- <label for="date">
- <input class="valinp" type="checkbox" name="romantic" value="date" id="date" <?php xfn_check('romantic', 'date'); ?> />
- <?php _e('date') ?></label>
- <label for="romantic">
- <input class="valinp" type="checkbox" name="romantic" value="sweetheart" id="romantic" <?php xfn_check('romantic', 'sweetheart'); ?> />
- <?php _e('sweetheart') ?></label>
- </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-</div>
-</fieldset>
-
-<fieldset id="advanced" class="dbx-box">
-<h3 class="dbx-handle"><?php _e('Advanced') ?></h3>
-<div class="dbx-content">
-<table class="editform" width="100%" cellspacing="2" cellpadding="5">
- <tr>
- <th width="20%" scope="row"><?php _e('Image URI:') ?></th>
- <td width="80%"><input type="text" name="link_image" size="50" value="<?php echo $link->link_image; ?>" style="width: 95%" /></td>
- </tr>
- <tr>
- <th scope="row"><?php _e('RSS URI:') ?> </th>
- <td><input name="link_rss" type="text" id="rss_uri" value="<?php echo $link->link_rss; ?>" size="50" style="width: 95%" /></td>
- </tr>
- <tr>
- <th scope="row"><?php _e('Notes:') ?></th>
- <td><textarea name="link_notes" cols="50" rows="10" style="width: 95%"><?php echo $link->link_notes; ?></textarea></td>
- </tr>
- <tr>
- <th scope="row"><?php _e('Rating:') ?></th>
- <td><select name="link_rating" size="1">
- <?php
- for ($r = 0; $r < 10; $r++) {
- echo(' <option value="'.$r.'" ');
- if ($link->link_rating == $r)
- echo 'selected="selected"';
- echo('>'.$r.'</option>');
- }
- ?></select>&nbsp;<?php _e('(Leave at 0 for no rating.)') ?>
- </td>
- </tr>
-</table>
-</fieldset>
-</div>
-
-<?php if ( $link_id ) : ?>
-<input type="hidden" name="action" value="save" />
-<input type="hidden" name="link_id" value="<?php echo (int) $link_id; ?>" />
-<input type="hidden" name="order_by" value="<?php echo wp_specialchars($order_by, 1); ?>" />
-<input type="hidden" name="cat_id" value="<?php echo (int) $cat_id ?>" />
-<?php else: ?>
-<input type="hidden" name="action" value="add" />
-<?php endif; ?>
-</div>
-</form>
-</div>
diff --git a/wp-inst/wp-admin/edit-page-form.php b/wp-inst/wp-admin/edit-page-form.php
deleted file mode 100644
index 530f979..0000000
--- a/wp-inst/wp-admin/edit-page-form.php
+++ /dev/null
@@ -1,194 +0,0 @@
-
-<div class="wrap">
-<h2 id="write-post"><?php _e('Write Page'); ?><?php if ( 0 != $post_ID ) : ?>
-<small class="quickjump"><a href="#preview-post"><?php _e('preview &darr;'); ?></a></small><?php endif; ?></h2>
-<?php
-if (0 == $post_ID) {
- $form_action = 'post';
- $nonce_action = 'add-page';
- $temp_ID = -1 * time();
- $form_extra = "<input type='hidden' id='post_ID' name='temp_ID' value='$temp_ID' />";
-} else {
- $form_action = 'editpost';
- $nonce_action = 'update-page_' . $post_ID;
- $form_extra = "<input type='hidden' id='post_ID' name='post_ID' value='$post_ID' />";
-}
-
-$sendto = $_SERVER['HTTP_REFERER'];
-
-if ( 0 != $post_ID && $sendto == get_permalink($post_ID) )
- $sendto = 'redo';
-$sendto = wp_specialchars( $sendto );
-
-?>
-
-<form name="post" action="page.php" method="post" id="post">
-
-<?php
-wp_nonce_field($nonce_action);
-
-if (isset($mode) && 'bookmarklet' == $mode) {
- echo '<input type="hidden" name="mode" value="bookmarklet" />';
-}
-?>
-<input type="hidden" name="user_ID" value="<?php echo $user_ID ?>" />
-<input type="hidden" name="action" value='<?php echo $form_action ?>' />
-<?php echo $form_extra ?>
-<input type="hidden" name="post_type" value="page" />
-
-<script type="text/javascript">
-<!--
-function focusit() { // focus on first input field
- document.post.title.focus();
-}
-addLoadEvent(focusit);
-//-->
-</script>
-<div id="poststuff">
-
-<div id="moremeta">
-<div id="grabit" class="dbx-group">
-<fieldset id="commentstatusdiv" class="dbx-box">
-<h3 class="dbx-handle"><?php _e('Discussion') ?></h3>
-<div class="dbx-content">
-<input name="advanced_view" type="hidden" value="1" />
-<label for="comment_status" class="selectit">
-<input name="comment_status" type="checkbox" id="comment_status" value="open" <?php checked($post->comment_status, 'open'); ?> />
-<?php _e('Allow Comments') ?></label>
-<label for="ping_status" class="selectit"><input name="ping_status" type="checkbox" id="ping_status" value="open" <?php checked($post->ping_status, 'open'); ?> /> <?php _e('Allow Pings') ?></label>
-</div>
-</fieldset>
-
-<fieldset class="dbx-box">
-<h3 class="dbx-handle"><?php _e('Page Status') ?></h3>
-<div class="dbx-content"><?php if ( current_user_can('publish_pages') ) : ?>
-<label for="post_status_publish" class="selectit"><input id="post_status_publish" name="post_status" type="radio" value="publish" <?php checked($post->post_status, 'publish'); checked($post->post_status, 'future'); ?> /> <?php _e('Published') ?></label>
-<?php endif; ?>
- <label for="post_status_draft" class="selectit"><input id="post_status_draft" name="post_status" type="radio" value="draft" <?php checked($post->post_status, 'draft'); ?> /> <?php _e('Draft') ?></label>
- <label for="post_status_private" class="selectit"><input id="post_status_private" name="post_status" type="radio" value="private" <?php checked($post->post_status, 'private'); ?> /> <?php _e('Private') ?></label></div>
-</fieldset>
-
-<fieldset id="passworddiv" class="dbx-box">
-<h3 class="dbx-handle"><?php _e('Password-Protect Page') ?></h3>
-<div class="dbx-content"><input name="post_password" type="text" size="13" id="post_password" value="<?php echo $post->post_password ?>" /></div>
-</fieldset>
-
-<fieldset id="pageparent" class="dbx-box">
-<h3 class="dbx-handle"><?php _e('Page Parent') ?></h3>
-<div class="dbx-content"><p><select name="parent_id">
-<option value='0'><?php _e('Main Page (no parent)'); ?></option>
-<?php parent_dropdown($post->post_parent); ?>
-</select></p>
-</div>
-</fieldset>
-
-<?php if ( 0 != count( get_page_templates() ) ) { ?>
-<fieldset id="pageparent" class="dbx-box">
-<h3 class="dbx-handle"><?php _e('Page Template:') ?></h3>
-<div class="dbx-content"><p><select name="page_template">
- <option value='default'><?php _e('Default Template'); ?></option>
- <?php page_template_dropdown($post->page_template); ?>
- </select></p>
-</div>
-</fieldset>
-<?php } ?>
-
-<fieldset id="slugdiv" class="dbx-box">
-<h3 class="dbx-handle"><?php _e('Page slug') ?></h3>
-<div class="dbx-content"><input name="post_name" type="text" size="13" id="post_name" value="<?php echo $post->post_name ?>" /></div>
-</fieldset>
-
-<?php if ( $authors = get_editable_authors( $current_user->id ) ) : // TODO: ROLE SYSTEM ?>
-<fieldset id="authordiv" class="dbx-box">
-<h3 class="dbx-handle"><?php _e('Page author'); ?>:</h3>
-<div class="dbx-content">
-<select name="post_author_override" id="post_author_override">
-<?php
-foreach ($authors as $o) :
-$o = get_userdata( $o->ID );
-if ( $post->post_author == $o->ID || ( empty($post_ID) && $user_ID == $o->ID ) ) $selected = 'selected="selected"';
-else $selected = '';
-echo "<option value='$o->ID' $selected>$o->display_name</option>";
-endforeach;
-?>
-</select>
-</div>
-</fieldset>
-<?php endif; ?>
-
-<fieldset id="pageorder" class="dbx-box">
-<h3 class="dbx-handle"><?php _e('Page Order') ?></h3>
-<div class="dbx-content"><p><input name="menu_order" type="text" size="4" id="menu_order" value="<?php echo $post->menu_order ?>" /></p></div>
-</fieldset>
-
-<?php do_action('dbx_page_sidebar'); ?>
-
-</div>
-</div>
-
-<fieldset id="titlediv">
- <legend><?php _e('Page Title') ?></legend>
- <div><input type="text" name="post_title" size="30" tabindex="1" value="<?php echo $post->post_title; ?>" id="title" /></div>
-</fieldset>
-
-
-<fieldset id="<?php echo user_can_richedit() ? 'postdivrich' : 'postdiv'; ?>">
- <legend><?php _e('Page Content') ?></legend>
- <?php the_editor($post->post_content); ?>
-</fieldset>
-
-<p class="submit">
-<input name="save" type="submit" id="save" tabindex="3" value="<?php _e('Save and Continue Editing'); ?>" />
-<input type="submit" name="submit" value="<?php _e('Save') ?>" style="font-weight: bold;" tabindex="4" />
-<?php
-if ('publish' != $post->post_status || 0 == $post_ID):
-?>
-<?php if ( current_user_can('publish_pages') ) : ?>
- <input name="publish" type="submit" id="publish" tabindex="5" accesskey="p" value="<?php _e('Publish') ?>" />
-<?php endif; endif;?>
-<input name="referredby" type="hidden" id="referredby" value="<?php echo $sendto; ?>" />
-</p>
-
-<?php do_action('edit_page_form'); ?>
-
-<?php
-if (current_user_can('upload_files')) {
- $uploading_iframe_ID = (0 == $post_ID ? $temp_ID : $post_ID);
- $uploading_iframe_src = wp_nonce_url("inline-uploading.php?action=view&amp;post=$uploading_iframe_ID", 'inlineuploading');
- $uploading_iframe_src = apply_filters('uploading_iframe_src', $uploading_iframe_src);
- if ( false != $uploading_iframe_src )
- echo '<iframe id="uploading" border="0" src="' . $uploading_iframe_src . '">' . __('This feature requires iframe support.') . '</iframe>';
-}
-?>
-
-<div id="advancedstuff" class="dbx-group">
-
-<fieldset id="postcustom" class="dbx-box">
-<h3 class="dbx-handle"><?php _e('Custom Fields') ?></h3>
-<div id="postcustomstuff" class="dbx-content">
-<table cellpadding="3">
-<?php
-$metadata = has_meta($post_ID);
-list_meta($metadata);
-?>
-
-</table>
-<?php
- meta_form();
-?>
-</div>
-</fieldset>
-
-<?php do_action('dbx_page_advanced'); ?>
-
-</div>
-
-<?php if ('edit' == $action) :
- if ( current_user_can('delete_page', $post->ID) ) ?>
- <input name="deletepost" class="delete" type="submit" id="deletepost" tabindex="10" value="<?php _e('Delete this page') ?>" <?php echo "onclick=\"return confirm('" . sprintf(__("You are about to delete this page \'%s\'\\n \'Cancel\' to stop, \'OK\' to delete."), $wpdb->escape($post->post_title) ) . "')\""; ?> />
-<?php endif; ?>
-</form>
-
-</div>
-
-</div>
diff --git a/wp-inst/wp-admin/edit-pages.php b/wp-inst/wp-admin/edit-pages.php
deleted file mode 100644
index ce169b8..0000000
--- a/wp-inst/wp-admin/edit-pages.php
+++ /dev/null
@@ -1,62 +0,0 @@
-<?php
-require_once('admin.php');
-$title = __('Pages');
-$parent_file = 'edit.php';
-wp_enqueue_script( 'listman' );
-require_once('admin-header.php');
-?>
-
-<div class="wrap">
-<h2><?php _e('Page Management'); ?></h2>
-<p><?php _e('Pages are like posts except they live outside of the normal blog chronology and can be hierarchical. You can use pages to organize and manage any amount of content.'); ?> <a href="page-new.php"><?php _e('Create a new page &raquo;'); ?></a></p>
-
-<form name="searchform" action="" method="get">
- <fieldset>
- <legend><?php _e('Search Pages&hellip;') ?></legend>
- <input type="text" name="s" value="<?php if (isset($_GET['s'])) echo wp_specialchars($_GET['s'], 1); ?>" size="17" />
- <input type="submit" name="submit" value="<?php _e('Search') ?>" />
- </fieldset>
-</form>
-
-<?php
-wp('post_type=page&orderby=menu_order&what_to_show=posts&posts_per_page=-1&posts_per_archive_page=-1');
-
-if ( $_GET['s'] )
- $all = false;
-else
- $all = true;
-
-if ($posts) {
-?>
-<table class="widefat">
- <thead>
- <tr>
- <th scope="col"><?php _e('ID') ?></th>
- <th scope="col" style="text-align: left"><?php _e('Title') ?></th>
- <th scope="col" style="text-align: left"><?php _e('Owner') ?></th>
- <th scope="col" style="text-align: left"><?php _e('Updated') ?></th>
- <th scope="col" colspan="3"><?php _e('Action'); ?></th>
- </tr>
- </thead>
- <tbody id="the-list">
-<?php
-page_rows(0, 0, $posts, $all);
-?>
- </tbody>
-</table>
-
-<div id="ajax-response"></div>
-
-<?php
-} else {
-?>
-<p><?php _e('No pages yet.') ?></p>
-<?php
-} // end if ($posts)
-?>
-
-<h3><a href="page-new.php"><?php _e('Create New Page &raquo;'); ?></a></h3>
-
-</div>
-
-<?php include('admin-footer.php'); ?>
diff --git a/wp-inst/wp-admin/edit.php b/wp-inst/wp-admin/edit.php
deleted file mode 100644
index a39338d..0000000
--- a/wp-inst/wp-admin/edit.php
+++ /dev/null
@@ -1,296 +0,0 @@
-<?php
-require_once('admin.php');
-
-$title = __('Posts');
-$parent_file = 'edit.php';
-wp_enqueue_script( 1 == $_GET['c'] ? 'admin-comments' : 'listman' );
-require_once('admin-header.php');
-
-$_GET['m'] = (int) $_GET['m'];
-
-$drafts = get_users_drafts( $user_ID );
-$other_drafts = get_others_drafts( $user_ID);
-
-if ($drafts || $other_drafts) {
-?>
-<div class="wrap">
-<?php if ($drafts) { ?>
- <p><strong><?php _e('Your Drafts:') ?></strong>
- <?php
- $i = 0;
- foreach ($drafts as $draft) {
- if (0 != $i)
- echo ', ';
- $draft->post_title = stripslashes($draft->post_title);
- if ($draft->post_title == '')
- $draft->post_title = sprintf(__('Post #%s'), $draft->ID);
- echo "<a href='post.php?action=edit&amp;post=$draft->ID' title='" . __('Edit this draft') . "'>$draft->post_title</a>";
- ++$i;
- }
- ?>
- .</p>
-<?php } ?>
-
-<?php if ($other_drafts) { ?>
- <p><strong><?php _e('Other&#8217;s Drafts:') ?></strong>
- <?php
- $i = 0;
- foreach ($other_drafts as $draft) {
- if (0 != $i)
- echo ', ';
- $draft->post_title = stripslashes($draft->post_title);
- if ($draft->post_title == '')
- $draft->post_title = sprintf(__('Post #%s'), $draft->ID);
- echo "<a href='post.php?action=edit&amp;post=$draft->ID' title='" . __('Edit this draft') . "'>$draft->post_title</a>";
- ++$i;
- }
- ?>
- .</p>
-
-<?php } ?>
-
-</div>
-<?php } ?>
-
-<div class="wrap">
-<h2>
-<?php
-
-wp('what_to_show=posts&posts_per_page=15&posts_per_archive_page=-1');
-
-if ( is_month() ) {
- single_month_title(' ');
-} elseif ( is_search() ) {
- printf(__('Search for &#8220;%s&#8221;'), wp_specialchars($_GET['s']) );
-} else {
- if ( is_single() )
- printf(__('Comments on %s'), $post->post_title);
- elseif ( ! is_paged() || get_query_var('paged') == 1 )
- _e('Last 15 Posts');
- else
- _e('Previous Posts');
-}
-?>
-</h2>
-
-<form name="searchform" action="" method="get" style="float: left; width: 16em; margin-right: 3em;">
- <fieldset>
- <legend><?php _e('Search Posts&hellip;') ?></legend>
- <input type="text" name="s" value="<?php if (isset($s)) echo wp_specialchars($s, 1); ?>" size="17" />
- <input type="submit" name="submit" value="<?php _e('Search') ?>" />
- </fieldset>
-</form>
-
-<?php $arc_result = $wpdb->get_results("SELECT DISTINCT YEAR(post_date) AS yyear, MONTH(post_date) AS mmonth FROM $wpdb->posts WHERE post_type = 'post' ORDER BY post_date DESC");
-
-if ( count($arc_result) ) { ?>
-
-<form name="viewarc" action="" method="get" style="float: left; width: 20em; margin-bottom: 1em;">
- <fieldset>
- <legend><?php _e('Browse Month&hellip;') ?></legend>
- <select name='m'>
- <?php
- foreach ($arc_result as $arc_row) {
- if ( $arc_row->yyear == 0 )
- continue;
- $arc_row->mmonth = zeroise($arc_row->mmonth, 2);
-
- if( isset($_GET['m']) && $arc_row->yyear . $arc_row->mmonth == (int) $_GET['m'] )
- $default = 'selected="selected"';
- else
- $default = null;
-
- echo "<option $default value='$arc_row->yyear$arc_row->mmonth'>";
- echo $wp_locale->get_month($arc_row->mmonth) . " $arc_row->yyear";
- echo "</option>\n";
- }
- ?>
- </select>
- <input type="submit" name="submit" value="<?php _e('Show Month') ?>" />
- </fieldset>
-</form>
-
-<?php } ?>
-
-<br style="clear:both;" />
-
-<?php
-// define the columns to display, the syntax is 'internal name' => 'display name'
-$posts_columns = array(
- 'id' => __('ID'),
- 'date' => __('When'),
- 'title' => __('Title'),
- 'categories' => __('Categories'),
- 'comments' => __('Comments'),
- 'author' => __('Author')
-);
-$posts_columns = apply_filters('manage_posts_columns', $posts_columns);
-
-// you can not edit these at the moment
-$posts_columns['control_view'] = '';
-$posts_columns['control_edit'] = '';
-$posts_columns['control_delete'] = '';
-
-?>
-
-<table class="widefat">
- <thead>
- <tr>
-
-<?php foreach($posts_columns as $column_display_name) { ?>
- <th scope="col"><?php echo $column_display_name; ?></th>
-<?php } ?>
-
- </tr>
- </thead>
- <tbody id="the-list">
-<?php
-if ($posts) {
-$bgcolor = '';
-foreach ($posts as $post) { start_wp();
-add_filter('the_title','wp_specialchars');
-$class = ('alternate' == $class) ? '' : 'alternate';
-?>
- <tr id='post-<?php echo $id; ?>' class='<?php echo $class; ?>'>
-
-<?php
-
-foreach($posts_columns as $column_name=>$column_display_name) {
-
- switch($column_name) {
-
- case 'id':
- ?>
- <th scope="row"><?php echo $id ?></th>
- <?php
- break;
-
- case 'date':
- ?>
- <td><?php the_time('Y-m-d \<\b\r \/\> g:i:s a'); ?></td>
- <?php
- break;
- case 'title':
- ?>
- <td><?php the_title() ?>
- <?php if ('private' == $post->post_status) _e(' - <strong>Private</strong>'); ?></td>
- <?php
- break;
-
- case 'categories':
- ?>
- <td><?php the_category(','); ?></td>
- <?php
- break;
-
- case 'comments':
- ?>
- <td style="text-align: center"><a href="edit.php?p=<?php echo $id ?>&amp;c=1">
- <?php comments_number(__('0'), __('1'), __('%')) ?>
- </a></td>
- <?php
- break;
-
- case 'author':
- ?>
- <td><?php the_author() ?></td>
- <?php
- break;
-
- case 'control_view':
- ?>
- <td><a href="<?php the_permalink(); ?>" rel="permalink" class="edit"><?php _e('View'); ?></a></td>
- <?php
- break;
-
- case 'control_edit':
- ?>
- <td><?php if ( current_user_can('edit_post',$post->ID) ) { echo "<a href='post.php?action=edit&amp;post=$id' class='edit'>" . __('Edit') . "</a>"; } ?></td>
- <?php
- break;
-
- case 'control_delete':
- ?>
- <td><?php if ( current_user_can('delete_post',$post->ID) ) { echo "<a href='" . wp_nonce_url("post.php?action=delete&amp;post=$id", 'delete-post_' . $post->ID) . "' class='delete' onclick=\"return deleteSomething( 'post', " . $id . ", '" . sprintf(__("You are about to delete this post &quot;%s&quot;.\\n&quot;OK&quot; to delete, &quot;Cancel&quot; to stop."), js_escape(get_the_title()) ) . "' );\">" . __('Delete') . "</a>"; } ?></td>
- <?php
- break;
-
- default:
- ?>
- <td><?php do_action('manage_posts_custom_column', $column_name, $id); ?></td>
- <?php
- break;
- }
-}
-?>
- </tr>
-<?php
-}
-} else {
-?>
- <tr style='background-color: <?php echo $bgcolor; ?>'>
- <td colspan="8"><?php _e('No posts found.') ?></td>
- </tr>
-<?php
-} // end if ($posts)
-?>
- </tbody>
-</table>
-
-<div id="ajax-response"></div>
-
-<div class="navigation">
-<div class="alignleft"><?php next_posts_link(__('&laquo; Previous Entries')) ?></div>
-<div class="alignright"><?php previous_posts_link(__('Next Entries &raquo;')) ?></div>
-</div>
-
-<?php
-if ( 1 == count($posts) ) {
-
- $comments = $wpdb->get_results("SELECT * FROM $wpdb->comments WHERE comment_post_ID = $id AND comment_approved != 'spam' ORDER BY comment_date");
- if ($comments) {
- ?>
-<h3 id="comments"><?php _e('Comments') ?></h3>
-<ol id="the-comment-list" class="commentlist">
-<?php
-$i = 0;
-foreach ($comments as $comment) {
-
- ++$i; $class = '';
- $authordata = get_userdata($wpdb->get_var("SELECT post_author FROM $wpdb->posts WHERE ID = $comment->comment_post_ID"));
- $comment_status = wp_get_comment_status($comment->comment_ID);
- if ('unapproved' == $comment_status)
- $class .= ' unapproved';
- if ($i % 2)
- $class .= ' alternate';
- echo "<li id='comment-$comment->comment_ID' class='$class'>";
-?>
-<p><strong><?php comment_author() ?></strong> <?php if ($comment->comment_author_email) { ?>| <?php comment_author_email_link() ?> <?php } if ($comment->comment_author_url && 'http://' != $comment->comment_author_url) { ?> | <?php comment_author_url_link() ?> <?php } ?>| <?php _e('IP:') ?> <a href="http://ws.arin.net/cgi-bin/whois.pl?queryinput=<?php comment_author_IP() ?>"><?php comment_author_IP() ?></a></p>
-
-<?php comment_text() ?>
-
-<p><?php comment_date('M j, g:i A'); ?> &#8212; [
-<?php
-if ( current_user_can('edit_post', $comment->comment_post_ID) ) {
- echo " <a href='comment.php?action=editcomment&amp;comment=".$comment->comment_ID."\'>" . __('Edit') . '</a>';
- echo ' | <a href="' . wp_nonce_url('comment.php?action=deletecomment&amp;p=' . $post->ID . '&amp;comment=' . $comment->comment_ID, 'delete-comment_' . $comment->comment_ID) . '" onclick="return deleteSomething( \'comment\', ' . $comment->comment_ID . ', \'' . sprintf(__("You are about to delete this comment by &quot;%s&quot;.\\n&quot;Cancel&quot; to stop, &quot;OK&quot; to delete."), js_escape($comment->comment_author)) . "', theCommentList );\">" . __('Delete') . '</a> ';
- if ( ('none' != $comment_status) && ( current_user_can('moderate_comments') ) ) {
- echo '<span class="unapprove"> | <a href="' . wp_nonce_url('comment.php?action=unapprovecomment&amp;p=' . $post->ID . '&amp;comment=' . $comment->comment_ID, 'unapprove-comment_' . $comment->comment_ID) . '" onclick="return dimSomething( \'comment\', ' . $comment->comment_ID . ', \'unapproved\', theCommentList );">' . __('Unapprove') . '</a> </span>';
- echo '<span class="approve"> | <a href="' . wp_nonce_url('comment.php?action=approvecomment&amp;p=' . $post->ID . '&amp;comment=' . $comment->comment_ID, 'approve-comment_' . $comment->comment_ID) . '" onclick="return dimSomething( \'comment\', ' . $comment->comment_ID . ', \'unapproved\', theCommentList );">' . __('Approve') . '</a> </span>';
- }
- echo " | <a href=\"" . wp_nonce_url("comment.php?action=deletecomment&amp;delete_type=spam&amp;p=".$comment->comment_post_ID."&amp;comment=".$comment->comment_ID, 'delete-comment_' . $comment->comment_ID) . "\" onclick=\"return deleteSomething( 'comment-as-spam', $comment->comment_ID, '" . sprintf(__("You are about to mark as spam this comment by &quot;%s&quot;.\\n&quot;Cancel&quot; to stop, &quot;OK&quot; to mark as spam."), js_escape( $comment->comment_author)) . "', theCommentList );\">" . __('Spam') . "</a> ]";
-} // end if any comments to show
-?>
-</p>
- </li>
-
-<?php //end of the loop, don't delete
- } // end foreach
- echo '</ol>';
- }//end if comments
- ?>
-<?php } ?>
-</div>
-<?php
- include('admin-footer.php');
-?>
diff --git a/wp-inst/wp-admin/export.php b/wp-inst/wp-admin/export.php
deleted file mode 100644
index 8894f29..0000000
--- a/wp-inst/wp-admin/export.php
+++ /dev/null
@@ -1,106 +0,0 @@
-<?php
-require_once ('admin.php');
-$title = __('Export');
-$parent_file = 'edit.php';
-
-if ( isset( $_GET['download'] ) )
- export_wp();
-
-require_once ('admin-header.php');
-?>
-
-<div class="wrap">
-<h2><?php _e('Export'); ?></h2>
-<p><?php _e('This will allow you to download an export of your WordPress posts and comments in a XML format.'); ?></p>
-<p>We need some more text here. Maybe talking about the export file or how to save it.</p>
-<form action="" method="get">
-<p class="submit"><input type="submit" name="submit" value="<?php _e('Download Export File'); ?> &raquo;" />
-<input type="hidden" name="download" value="true" />
-</p>
-</form>
-</div>
-
-<?php
-
-function export_wp() {
- global $wpdb, $posts, $post;
- $filename = 'wordpress.' . date('Y-m-d') . '.xml';
-header('Content-Description: File Transfer');
-header('Content-Type: application/octet-stream');
-header("Content-Disposition: attachment; filename=$filename");
-header('Content-type: text/xml; charset=' . get_settings('blog_charset'), true);
-//$posts = query_posts('');
-$posts = $wpdb->get_results("SELECT * FROM $wpdb->posts ORDER BY post_date_gmt ASC");
-?>
-<!-- generator="wordpress/<?php bloginfo_rss('version') ?>" created="<?php echo date('Y-m-d H:m'); ?>"-->
-<rss version="2.0"
- xmlns:content="http://purl.org/rss/1.0/modules/content/"
- xmlns:wfw="http://wellformedweb.org/CommentAPI/"
- xmlns:dc="http://purl.org/dc/elements/1.1/"
- xmlns:wp="http://wordpress.org/export/1.0/"
->
-
-<channel>
- <title><?php bloginfo_rss('name'); ?></title>
- <link><?php bloginfo_rss('url') ?></link>
- <description><?php bloginfo_rss("description") ?></description>
- <pubDate><?php echo mysql2date('D, d M Y H:i:s +0000', get_lastpostmodified('GMT'), false); ?></pubDate>
- <generator>http://wordpress.org/?v=<?php bloginfo_rss('version'); ?></generator>
- <language><?php echo get_option('rss_language'); ?></language>
- <?php do_action('rss2_head'); ?>
- <?php if ($posts) { foreach ($posts as $post) { start_wp(); ?>
-<item>
-<title><?php the_title_rss() ?></title>
-<link><?php permalink_single_rss() ?></link>
-<pubDate><?php echo mysql2date('D, d M Y H:i:s +0000', get_post_time('Y-m-d H:i:s', true), false); ?></pubDate>
-<dc:creator><?php the_author() ?></dc:creator>
-<?php the_category_rss() ?>
-
-<guid isPermaLink="false"><?php the_guid(); ?></guid>
-<description></description>
-<content:encoded><![CDATA[<?php echo $post->post_content ?>]]></content:encoded>
-<wp:post_date><?php echo $post->post_date; ?></wp:post_date>
-<wp:post_date_gmt><?php echo $post->post_date_gmt; ?></wp:post_date_gmt>
-<wp:comment_status><?php echo $post->comment_status; ?></wp:comment_status>
-<wp:ping_status><?php echo $post->ping_status; ?></wp:ping_status>
-<wp:post_name><?php echo $post->post_name; ?></wp:post_name>
-<wp:status><?php echo $post->post_status; ?></wp:status>
-<wp:post_parent><?php echo $post->post_parent; ?></wp:post_parent>
-<wp:post_type><?php echo $post->post_type; ?></wp:post_type>
-<?php
-$postmeta = $wpdb->get_results("SELECT * FROM $wpdb->postmeta WHERE post_id = $post->ID");
-if ( $postmeta ) {
-?>
-<?php foreach( $postmeta as $meta ) { ?>
-<wp:postmeta>
-<wp:meta_key><?php echo $meta->meta_key; ?></wp:meta_key>
-<wp:meta_value><?Php echo $meta->meta_value; ?></wp:meta_value>
-</wp:postmeta>
-<?php } ?>
-<?php } ?>
-<?php
-$comments = $wpdb->get_results("SELECT * FROM $wpdb->comments WHERE comment_post_ID = $post->ID");
-if ( $comments ) { foreach ( $comments as $c ) { ?>
-<wp:comment>
-<wp:comment_author><?php echo $c->comment_author; ?></wp:comment_author>
-<wp:comment_author_email><?php echo $c->comment_author_email; ?></wp:comment_author_email>
-<wp:comment_author_url><?php echo $c->comment_author_url; ?></wp:comment_author_url>
-<wp:comment_author_IP><?php echo $c->comment_author_IP; ?></wp:comment_author_IP>
-<wp:comment_date><?php echo $c->comment_date; ?></wp:comment_date>
-<wp:comment_date_gmt><?php echo $c->comment_date_gmt; ?></wp:comment_date_gmt>
-<wp:comment_content><?php echo $c->comment_content; ?></wp:comment_content>
-<wp:comment_approved><?php echo $c->comment_approved; ?></wp:comment_approved>
-<wp:comment_type><?php echo $c->comment_type; ?></wp:comment_type>
-<wp:comment_parent><?php echo $c->comment_parent; ?></wp:comment_parent>
-</wp:comment>
-<?php } } ?>
- </item>
-<?php } } ?>
-</channel>
-</rss>
-<?php
- die();
-}
-
-include ('admin-footer.php');
-?> \ No newline at end of file
diff --git a/wp-inst/wp-admin/images/box-bg.gif b/wp-inst/wp-admin/images/box-bg.gif
deleted file mode 100644
index 2eb7f58..0000000
--- a/wp-inst/wp-admin/images/box-bg.gif
+++ /dev/null
Binary files differ
diff --git a/wp-inst/wp-admin/images/box-butt.gif b/wp-inst/wp-admin/images/box-butt.gif
deleted file mode 100644
index 514a165..0000000
--- a/wp-inst/wp-admin/images/box-butt.gif
+++ /dev/null
Binary files differ
diff --git a/wp-inst/wp-admin/images/box-head.gif b/wp-inst/wp-admin/images/box-head.gif
deleted file mode 100644
index 5c09a9a..0000000
--- a/wp-inst/wp-admin/images/box-head.gif
+++ /dev/null
Binary files differ
diff --git a/wp-inst/wp-admin/images/browse-happy.gif b/wp-inst/wp-admin/images/browse-happy.gif
deleted file mode 100644
index 09f13bc..0000000
--- a/wp-inst/wp-admin/images/browse-happy.gif
+++ /dev/null
Binary files differ
diff --git a/wp-inst/wp-admin/images/fade-butt.png b/wp-inst/wp-admin/images/fade-butt.png
deleted file mode 100644
index 42f08b7..0000000
--- a/wp-inst/wp-admin/images/fade-butt.png
+++ /dev/null
Binary files differ
diff --git a/wp-inst/wp-admin/images/notice.gif b/wp-inst/wp-admin/images/notice.gif
deleted file mode 100644
index ba6eab0..0000000
--- a/wp-inst/wp-admin/images/notice.gif
+++ /dev/null
Binary files differ
diff --git a/wp-inst/wp-admin/images/toggle.gif b/wp-inst/wp-admin/images/toggle.gif
deleted file mode 100644
index 72e8b44..0000000
--- a/wp-inst/wp-admin/images/toggle.gif
+++ /dev/null
Binary files differ
diff --git a/wp-inst/wp-admin/images/wordpress-logo.png b/wp-inst/wp-admin/images/wordpress-logo.png
deleted file mode 100644
index 7d8e672..0000000
--- a/wp-inst/wp-admin/images/wordpress-logo.png
+++ /dev/null
Binary files differ
diff --git a/wp-inst/wp-admin/import.php b/wp-inst/wp-admin/import.php
deleted file mode 100644
index cd1951a..0000000
--- a/wp-inst/wp-admin/import.php
+++ /dev/null
@@ -1,62 +0,0 @@
-<?php
-require_once ('admin.php');
-$title = __('Import');
-$parent_file = 'edit.php';
-require_once ('admin-header.php');
-?>
-
-<div class="wrap">
-<h2><?php _e('Import'); ?></h2>
-<p><?php _e('If you have posts or comments in another system WordPress can import them into your current blog. To get started, choose a system to import from below:'); ?></p>
-
-<?php
-
-// Load all importers so that they can register.
-$import_loc = 'wp-admin/import';
-$import_root = ABSPATH.$import_loc;
-$imports_dir = @ dir($import_root);
-if ($imports_dir) {
- while (($file = $imports_dir->read()) !== false) {
- if (preg_match('|^\.+$|', $file))
- continue;
- if (preg_match('|\.php$|', $file))
- require_once("$import_root/$file");
- }
-}
-
-$importers = get_importers();
-
-if (empty ($importers)) {
- echo '<p>'.__('No importers are available.').'</p>'; // TODO: make more helpful
-} else {
-?>
-<table class="widefat">
-
-<?php
- $style = '';
- foreach ($importers as $id => $data) {
- $style = ('class="alternate"' == $style || 'class="alternate active"' == $style) ? '' : 'alternate';
- $action = "<a href='admin.php?import=$id' title='{$data[1]}'>{$data[0]}</a>";
-
- if ($style != '')
- $style = 'class="'.$style.'"';
- echo "
- <tr $style>
- <td class='import-system'>$action</td>
- <td class='desc'>{$data[1]}</td>
- </tr>";
- }
-?>
-
-</table>
-<?php
-}
-?>
-
-</div>
-
-<?php
-
-include ('admin-footer.php');
-?>
-
diff --git a/wp-inst/wp-admin/import/b2.php b/wp-inst/wp-admin/import/b2.php
deleted file mode 100644
index e69de29..0000000
--- a/wp-inst/wp-admin/import/b2.php
+++ /dev/null
diff --git a/wp-inst/wp-admin/import/blogger.php b/wp-inst/wp-admin/import/blogger.php
deleted file mode 100644
index 8de766c..0000000
--- a/wp-inst/wp-admin/import/blogger.php
+++ /dev/null
@@ -1,675 +0,0 @@
-<?php
-
-class Blogger_Import {
-
- var $lump_authors = true;
- var $import = array();
-
- // Shows the welcome screen and the magic iframe.
- function greet() {
- $title = __('Import Blogger');
- $welcome = __('Howdy! This importer allows you to import posts and comments from your Blogger account into your WordPress blog.');
- $noiframes = __('This feature requires iframe support.');
- $warning = __('This will delete everything saved by the Blogger importer except your posts and comments. Are you sure you want to do this?');
- $reset = __('Reset this importer');
- $incompat = __('Your web server is not properly configured to use this importer. Please enable the CURL extension for PHP and then reload this page.');
-
- echo "<div class='wrap'><h2>$title</h2><p>$welcome</p>";
- if ( function_exists('curl_init') )
- echo "<iframe src='admin.php?import=blogger&amp;noheader=true' height='350px' width = '99%'>$noiframes</iframe><p><a href='admin.php?import=blogger&amp;restart=true&amp;noheader=true' onclick='return confirm(\"$warning\")'>$reset</a></p>";
- else
- echo "<p>$incompat</p>";
- echo "</div>\n";
- }
-
- function reencode($text) {
- return $text;
- return mb_convert_encoding($text, get_setting('blog_charset'), $this->import['blogs'][$_GET['blog']]['options']['blog-formatting']['backup']['encoding']);
- }
-
- // Deletes saved data and redirect.
- function restart() {
- delete_option('import-blogger');
- header("Location: admin.php?import=blogger");
- die();
- }
-
- // Generates a string that will make the page reload in a specified interval.
- function refresher($msec) {
- if ( $msec )
- return "<html><head><script type='text/javascript'>window.onload=setTimeout('window.location.reload()', $msec);</script>\n</head>\n<body>\n";
- else
- return "<html><head><script type='text/javascript'>window.onload=window.location.reload();</script>\n</head>\n<body>\n";
- }
-
- // Returns associative array of code, header, cookies, body. Based on code from php.net.
- function parse_response($this_response) {
- // Split response into header and body sections
- list($response_headers, $response_body) = explode("\r\n\r\n", $this_response, 2);
- $response_header_lines = explode("\r\n", $response_headers);
-
- // First line of headers is the HTTP response code
- $http_response_line = array_shift($response_header_lines);
- if(preg_match('@^HTTP/[0-9]\.[0-9] ([0-9]{3})@',$http_response_line, $matches)) { $response_code = $matches[1]; }
-
- // put the rest of the headers in an array
- $response_header_array = array();
- foreach($response_header_lines as $header_line) {
- list($header,$value) = explode(': ', $header_line, 2);
- $response_header_array[$header] .= $value."\n";
- }
-
- $cookie_array = array();
- $cookies = explode("\n", $response_header_array["Set-Cookie"]);
- foreach($cookies as $this_cookie) { array_push($cookie_array, "Cookie: ".$this_cookie); }
-
- return array("code" => $response_code, "header" => $response_header_array, "cookies" => $cookie_array, "body" => $response_body);
- }
-
- // Prints a form for the user to enter Blogger creds.
- function login_form($text='') {
- echo '<h1>' . __('Log in to Blogger') . "</h1>\n$text\n";
- echo '<form method="post" action="admin.php?import=blogger&amp;noheader=true&amp;step=0"><table><tr><td>' . __('Username') . ':</td><td><input type="text" name="user" /></td></tr><tr><td>' . __('Password') . ':</td><td><input type="password" name="pass" /></td><td><input type="submit" value="' . __('Start') . '" /></td></tr></table></form>';
- die;
- }
-
- // Sends creds to Blogger, returns the session cookies an array of headers.
- function login_blogger($user, $pass) {
- $_url = 'http://www.blogger.com/login.do';
- $params = "username=$user&password=$pass";
- $ch = curl_init();
- curl_setopt($ch, CURLOPT_POST,1);
- curl_setopt($ch, CURLOPT_POSTFIELDS,$params);
- curl_setopt($ch, CURLOPT_URL,$_url);
- curl_setopt($ch, CURLOPT_USERAGENT, 'Blogger Exporter');
- curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 0);
- curl_setopt($ch, CURLOPT_HEADER,1);
- curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
- $response = curl_exec ($ch);
-
- $response = $this->parse_response($response);
-
- sleep(1);
-
- return $response['cookies'];
- }
-
- // Requests page from Blogger, returns the response array.
- function get_blogger($url, $header = '', $user=false, $pass=false) {
- $ch = curl_init();
- if ($user && $pass) curl_setopt($ch, CURLOPT_USERPWD,"{$user}:{$pass}");
- curl_setopt($ch, CURLOPT_URL,$url);
- curl_setopt($ch, CURLOPT_TIMEOUT, 20);
- curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
- curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
- curl_setopt($ch, CURLOPT_USERAGENT, 'Blogger Exporter');
- curl_setopt($ch, CURLOPT_HEADER,1);
- if (is_array($header)) curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
- $response = curl_exec ($ch);
-
- $response = $this->parse_response($response);
- $response['url'] = $url;
-
- if (curl_errno($ch)) {
- print curl_error($ch);
- } else {
- curl_close($ch);
- }
-
- return $response;
- }
-
- // Posts data to Blogger, returns response array.
- function post_blogger($url, $header = false, $paramary = false, $parse=true) {
- $params = '';
- if ( is_array($paramary) ) {
- foreach($paramary as $key=>$value)
- if($key && $value != '')
- $params.=$key."=".urlencode(stripslashes($value))."&";
- }
- if ($user && $pass) $params .= "username=$user&password=$pass";
- $params = trim($params,'&');
- $ch = curl_init();
- curl_setopt($ch, CURLOPT_POST,1);
- curl_setopt($ch, CURLOPT_POSTFIELDS,$params);
- if ($user && $pass) curl_setopt($ch, CURLOPT_USERPWD,"{$user}:{$pass}");
- curl_setopt($ch, CURLOPT_URL,$url);
- curl_setopt($ch, CURLOPT_USERAGENT, 'Blogger Exporter');
- curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
- curl_setopt($ch, CURLOPT_HEADER,$parse);
- curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
- if ($header) curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
- $response = curl_exec ($ch);
-
- if ($parse) {
- $response = $this->parse_response($response);
- $response['url'] = $url;
- return $response;
- }
-
- return $response;
- }
-
- // Prints the list of blogs for import.
- function show_blogs() {
- global $import;
- echo '<h1>' . __('Selecting a Blog') . "</h1>\n<ul>";
- foreach ( $this->import['blogs'] as $blog ) {
- if (9 == $blog['nextstep']) $status = "100%";
- elseif (8 == $blog['nextstep']) $status = "90%";
- elseif (7 == $blog['nextstep']) $status = "82.5%";
- elseif (6 == $blog['nextstep']) $status = "75%";
- elseif (5 == $blog['nextstep']) $status = "57%";
- elseif (4 == $blog['nextstep']) $status = "28%";
- elseif (3 == $blog['nextstep']) $status = "14%";
- else $status = "0%";
- echo "\t<li><a href='admin.php?import=blogger&amp;noheader=true&amp;blog={$blog['id']}'>{$blog['title']}</a> $status</li>\n";
- }
- die("</ul>\n");
- }
-
- // Publishes.
- function publish_blogger($i, $text) {
- $head = $this->refresher(2000) . "<h1>$text</h1>\n";
- if ( ! strstr($this->import['blogs'][$_GET['blog']]['publish'][$i], 'http') ) {
- // First call. Start the publish process with a fresh set of cookies.
- $this->import['cookies'] = $this->login_blogger($this->import['user'], $this->import['pass']);
- update_option('import-blogger', $this->import);
- $paramary = array('blogID' => $_GET['blog'], 'all' => '1', 'republishAll' => 'Republish Entire Blog', 'publish' => '1', 'redirectUrl' => "/publish.do?blogID={$_GET['blog']}&inprogress=true");
-
- $response = $this->post_blogger("http://www.blogger.com/publish.do?blogID={$_GET['blog']}", $this->import['cookies'], $paramary);
- if ( $response['code'] == '302' ) {
- $url = str_replace('publish.g', 'publish-body.g', $response['header']['Location']);
- $this->import['blogs'][$_GET['blog']]['publish'][$i] = $url;
- update_option('import-blogger', $this->import);
- $response = $this->get_blogger($url, $this->import['cookies']);
- preg_match('#<p class="progressIndicator">.*</p>#U', $response['body'], $matches);
- $progress = $matches[0];
- die($head . $progress);
- } else {
- $this->import['blogs'][$_GET['blog']]['publish'][$i] = false;
- update_option('import-blogger', $this->import);
- die($head);
- }
- } else {
- // Subsequent call. Keep checking status until Blogger reports publish complete.
- $url = $this->import['blogs'][$_GET['blog']]['publish'][$i];
- $response = $this->get_blogger($url, $this->import['cookies']);
- if ( preg_match('#<p class="progressIndicator">.*</p>#U', $response['body'], $matches) ) {
- $progress = $matches[0];
- if ( strstr($progress, '100%') ) {
- $this->set_next_step($i);
- $progress .= '<p>'.__('Moving on...').'</p>';
- }
- die($head . $progress);
- } else {
- $this->import['blogs'][$_GET['blog']]['publish'][$i] = false;
- update_option('import-blogger', $this->import);
- die("$head<p>" . __('Trying again...') . '</p>');
- }
- }
- }
-
- // Sets next step, saves options
- function set_next_step($step) {
- $this->import['blogs'][$_GET['blog']]['nextstep'] = $step;
- update_option('import-blogger', $this->import);
- }
-
- // Redirects to next step
- function do_next_step() {
- header("Location: admin.php?import=blogger&noheader=true&blog={$_GET['blog']}");
- die();
- }
-
- // Step 0: Do Blogger login, get blogid/title pairs.
- function do_login() {
- if ( ( ! $this->import['user'] && ! is_array($this->import['cookies']) ) ) {
- // The user must provide a Blogger username and password.
- if ( ! ( $_POST['user'] && $_POST['pass'] ) ) {
- $this->login_form(__('The script will log into your Blogger account, change some settings so it can read your blog, and restore the original settings when it\'s done. Here\'s what you do:').'</p><ol><li>'.__('Back up your Blogger template.').'</li><li>'.__('Back up any other Blogger settings you might need later.').'</li><li>'.__('Log out of Blogger').'</li><li>'.__('Log in <em>here</em> with your Blogger username and password.').'</li><li>'.__('On the next screen, click one of your Blogger blogs.').'</li><li>'.__('Do not close this window or navigate away until the process is complete.').'</li></ol>');
- }
-
- // Try logging in. If we get an array of cookies back, we at least connected.
- $this->import['cookies'] = $this->login_blogger($_POST['user'], $_POST['pass']);
- if ( !is_array( $this->import['cookies'] ) ) {
- $this->login_form(__('Login failed. Please enter your credentials again.'));
- }
-
- // Save the password so we can log the browser in when it's time to publish.
- $this->import['pass'] = $_POST['pass'];
- $this->import['user'] = $_POST['user'];
-
- // Get the Blogger welcome page and scrape the blog numbers and names from it
- $response = $this->get_blogger('http://www.blogger.com/home', $this->import['cookies']);
- if (! stristr($response['body'], 'signed in as') ) $this->login_form(__('Login failed. Please re-enter your username and password.'));
- $blogsary = array();
- preg_match_all('#posts\.g\?blogID=(\d+)">([^<]+)</a>#U', $response['body'], $blogsary);
- if ( ! count( $blogsary[1] < 1 ) )
- die(__('No blogs found for this user.'));
- $this->import['blogs'] = array();
- $template = '<!--<MainPage><BloggerArchives><a class="wparchive" href="<$BlogArchiveURL$>"><$BlogArchiveName$></a><br /></BloggerArchives></MainPage><ArchivePage><Blogger><wordpresspost><$BlogItemDateTime$>|W|P|<$BlogItemAuthorNickname$>|W|P|<$BlogItemBody$>|W|P|<$BlogItemNumber$>|W|P|<$BlogItemTitle$>|W|P|<$BlogItemAuthorEmail$><BlogItemCommentsEnabled><BlogItemComments><wordpresscomment><$BlogCommentDateTime$>|W|P|<$BlogCommentAuthor$>|W|P|<$BlogCommentBody$></BlogItemComments></BlogItemCommentsEnabled></Blogger></ArchivePage>-->';
- foreach ( $blogsary[1] as $key => $id ) {
- // Define the required Blogger options.
- $blog_opts = array(
- 'blog-options-basic' => false,
- 'blog-options-archiving' => array('archiveFrequency' => 'm'),
- 'blog-publishing' => array('publishMode'=>'0', 'blogID' => "$id", 'subdomain' => mt_rand().mt_rand(), 'pingWeblogs' => 'false'),
- 'blog-formatting' => array('timeStampFormat' => '0', 'convertLineBreaks'=>'false', 'floatAlignment'=>'false'),
- 'blog-comments' => array('commentsTimeStampFormat' => '0'),
- 'template-edit' => array( 'templateText' => str_replace('%title%', trim($blogsary[2][$key]), $template) )
- );
-
- // Build the blog options array template
- foreach ($blog_opts as $blog_opt => $modify)
- $new_opts["$blog_opt"] = array('backup'=>false, 'modify' => $modify, 'error'=>false);
-
- $this->import['blogs']["$id"] = array(
- 'id' => $id,
- 'title' => trim($blogsary[2][$key]),
- 'options' => $new_opts,
- 'url' => false,
- 'publish_cookies' => false,
- 'published' => false,
- 'archives' => false,
- 'lump_authors' => false,
- 'newusers' => array(),
- 'nextstep' => 2
- );
- }
- update_option('import-blogger', $this->import);
- header("Location: admin.php?import=blogger&noheader=true&step=1");
- }
- die();
- }
-
- // Step 1: Select one of the blogs belonging to the user logged in.
- function select_blog() {
- if ( is_array($this->import['blogs']) ) {
- $this->show_blogs();
- die();
- } else {
- $this->restart();
- }
- }
-
- // Step 2: Backup the Blogger options pages, updating some of them.
- function backup_settings() {
- $output.= '<h1>'.__('Backing up Blogger options')."</h1>\n";
- $form = false;
- foreach ($this->import['blogs'][$_GET['blog']]['options'] as $blog_opt => $optary) {
- if ( $blog_opt == $_GET['form'] ) {
- // Save the posted form data
- $this->import['blogs'][$_GET['blog']]['options']["$blog_opt"]['backup'] = $_POST;
- update_option('import-blogger',$this->import);
-
- // Post the modified form data to Blogger
- if ( $optary['modify'] ) {
- $posturl = "http://www.blogger.com/{$blog_opt}.do";
- $headers = array_merge($this->import['blogs'][$_GET['blog']]['options']["$blog_opt"]['cookies'], $this->import['cookies']);
- if ( 'blog-publishing' == $blog_opt ) {
- if ( $_POST['publishMode'] > 0 ) {
- $response = $this->get_blogger("http://www.blogger.com/blog-publishing.g?blogID={$_GET['blog']}&publishMode=0", $headers);
- if ( $response['code'] >= 400 )
- die('<h2>'.__('Failed attempt to change publish mode from FTP to BlogSpot.').'</h2><pre>' . addslashes(print_r($headers, 1)) . addslashes(print_r($response, 1)) . '</pre>');
- $this->import['blogs'][$_GET['blog']]['url'] = 'http://' . $optary['modify']['subdomain'] . '.blogspot.com/';
- sleep(2);
- } else {
- $this->import['blogs'][$_GET['blog']]['url'] = 'http://' . $_POST['subdomain'] . '.blogspot.com/';
- update_option('import-blogger', $this->import);
- $output .= "<del><p>$blog_opt</p></del>\n";
- continue;
- }
- $paramary = $optary['modify'];
- } elseif ( 'template-edit' == $blog_opt ) {
- $optary['modify']['templateText'] = $_POST['templateText'] . $optary['modify']['templateText'];
- $paramary = array_merge($_POST, $optary['modify']);
- } else {
- $paramary = array_merge($_POST, $optary['modify']);
- }
- $response = $this->post_blogger($posturl, $headers, $paramary);
- if ( $response['code'] >= 400 || strstr($response['body'], 'There are errors on this form') )
- die('<p>'.__('Error on form submission. Retry or reset the importer.').'</p>' . addslashes(print_r($response, 1)));
- }
- $output .= "<del><p>$blog_opt</p></del>\n";
- } elseif ( is_array($this->import['blogs'][$_GET['blog']]['options']["$blog_opt"]['backup']) ) {
- // This option set has already been backed up.
- $output .= "<del><p>$blog_opt</p></del>\n";
- } elseif ( ! $form ) {
- // This option page needs to be downloaded and given to the browser for submission back to this script.
- $response = $this->get_blogger("http://www.blogger.com/{$blog_opt}.g?blogID={$_GET['blog']}", $this->import['cookies']);
- $this->import['blogs'][$_GET['blog']]['options']["$blog_opt"]['cookies'] = $response['cookies'];
- update_option('import-blogger',$this->import);
- $body = $response['body'];
- $body = preg_replace("|\<!DOCTYPE.*\<body[^>]*>|ms","",$body);
- $body = preg_replace("|/?{$blog_opt}.do|","admin.php?import=blogger&amp;noheader=true&amp;step=2&amp;blog={$_GET['blog']}&amp;form={$blog_opt}",$body);
- $body = str_replace("name='submit'","name='supermit'",$body);
- $body = str_replace('name="submit"','name="supermit"',$body);
- $body = str_replace('</body>','',str_replace('</html>','',$body));
- $form = "<div style='height:0px;width:0px;overflow:hidden;'>";
- $form.= $body;
- $form.= "</div><script type='text/javascript'>forms=document.getElementsByTagName('form');for(i=0;i<forms.length;i++){if(forms[i].action.search('{$blog_opt}')){forms[i].submit();break;}}</script>";
- $output.= '<p>'.sprintf('<strong>%s</strong> in progress, please wait...', $blog_opt)."</p>\n";
- } else {
- $output.= "<p>$blog_opt</p>\n";
- }
- }
- if ( $form )
- die($output . $form);
-
- $this->set_next_step(4);
- $this->do_next_step();
- }
-
- // Step 3: Cancelled :-)
-
- // Step 4: Publish with the new template and settings.
- function publish_blog() {
- $this->publish_blogger(5, __('Publishing with new template and options'));
- }
-
- // Step 5: Get the archive URLs from the new blog.
- function get_archive_urls() {
- $bloghtml = $this->get_blogger($this->import['blogs'][$_GET['blog']]['url']);
- if (! strstr($bloghtml['body'], '<a class="wparchive"') )
- die(__('Your Blogger blog did not take the new template or did not respond.'));
- preg_match_all('#<a class="wparchive" href="([^"]*)"#', $bloghtml['body'], $archives);
- foreach ($archives[1] as $archive) {
- $this->import['blogs'][$_GET['blog']]['archives'][$archive] = false;
- }
- $this->set_next_step(6);
- $this->do_next_step();
- }
-
- // Step 6: Get each monthly archive, import it, mark it done.
- function get_archive() {
- global $wpdb;
- $output = '<h2>'.__('Importing Blogger archives into WordPress').'</h2>';
- $did_one = false;
- $post_array = $posts = array();
- foreach ( $this->import['blogs'][$_GET['blog']]['archives'] as $url => $status ) {
- $archivename = substr(basename($url),0,7);
- if ( $status || $did_one ) {
- $foo = 'bar';
- // Do nothing.
- } else {
- // Import the selected month
- $postcount = 0;
- $skippedpostcount = 0;
- $commentcount = 0;
- $skippedcommentcount = 0;
- $status = __('in progress...');
- $this->import['blogs'][$_GET['blog']]['archives']["$url"] = $status;
- update_option('import-blogger', $import);
- $archive = $this->get_blogger($url);
- if ( $archive['code'] > 200 )
- continue;
- $posts = explode('<wordpresspost>', $archive['body']);
- for ($i = 1; $i < count($posts); $i = $i + 1) {
- $postparts = explode('<wordpresscomment>', $posts[$i]);
- $postinfo = explode('|W|P|', $postparts[0]);
- $post_date = $postinfo[0];
- $post_content = $postinfo[2];
- // Don't try to re-use the original numbers
- // because the new, longer numbers are too
- // big to handle as ints.
- //$post_number = $postinfo[3];
- $post_title = ( $postinfo[4] != '' ) ? $postinfo[4] : $postinfo[3];
- $post_author_name = $wpdb->escape(trim($postinfo[1]));
- $post_author_email = $postinfo[5] ? $postinfo[5] : 'user@wordpress.org';
-
- if ( $this->lump_authors ) {
- // Ignore Blogger authors. Use the current user_ID for all posts imported.
- $post_author = $GLOBALS['user_ID'];
- } else {
- // Add a user for each new author encountered.
- if (! username_exists($post_author_name) ) {
- $user_login = $wpdb->escape($post_author_name);
- $user_email = $wpdb->escape($post_author_email);
- $user_password = substr(md5(uniqid(microtime())), 0, 6);
- $result = wp_create_user( $user_login, $user_password, $user_email );
- $status.= sprintf('Registered user <strong>%s</strong>.', $user_login);
- $this->import['blogs'][$_GET['blog']]['newusers'][] = $user_login;
- }
- $userdata = get_userdatabylogin( $post_author_name );
- $post_author = $userdata->ID;
- }
- $post_date = explode(' ', $post_date);
- $post_date_Ymd = explode('/', $post_date[0]);
- $postyear = $post_date_Ymd[2];
- $postmonth = zeroise($post_date_Ymd[0], 2);
- $postday = zeroise($post_date_Ymd[1], 2);
- $post_date_His = explode(':', $post_date[1]);
- $posthour = zeroise($post_date_His[0], 2);
- $postminute = zeroise($post_date_His[1], 2);
- $postsecond = zeroise($post_date_His[2], 2);
-
- if (($post_date[2] == 'PM') && ($posthour != '12'))
- $posthour = $posthour + 12;
- else if (($post_date[2] == 'AM') && ($posthour == '12'))
- $posthour = '00';
-
- $post_date = "$postyear-$postmonth-$postday $posthour:$postminute:$postsecond";
-
- $post_content = addslashes($this->reencode($post_content));
- $post_content = str_replace(array('<br>','<BR>','<br/>','<BR/>','<br />','<BR />'), "\n", $post_content); // the XHTML touch... ;)
-
- $post_title = addslashes($this->reencode($post_title));
-
- $post_status = 'publish';
-
- if ( $ID = post_exists($post_title, '', $post_date) ) {
- $post_array[$i]['ID'] = $ID;
- $skippedpostcount++;
- } else {
- $post_array[$i]['post'] = compact('post_author', 'post_content', 'post_title', 'post_category', 'post_author', 'post_date', 'post_status');
- $post_array[$i]['comments'] = false;
- }
-
- // Import any comments attached to this post.
- if ($postparts[1]) :
- for ($j = 1; $j < count($postparts); $j = $j + 1) {
- $commentinfo = explode('|W|P|', $postparts[$j]);
- $comment_date = explode(' ', $commentinfo[0]);
- $comment_date_Ymd = explode('/', $comment_date[0]);
- $commentyear = $comment_date_Ymd[2];
- $commentmonth = zeroise($comment_date_Ymd[0], 2);
- $commentday = zeroise($comment_date_Ymd[1], 2);
- $comment_date_His = explode(':', $comment_date[1]);
- $commenthour = zeroise($comment_date_His[0], 2);
- $commentminute = zeroise($comment_date_His[1], 2);
- $commentsecond = '00';
- if (($comment_date[2] == 'PM') && ($commenthour != '12'))
- $commenthour = $commenthour + 12;
- else if (($comment_date[2] == 'AM') && ($commenthour == '12'))
- $commenthour = '00';
- $comment_date = "$commentyear-$commentmonth-$commentday $commenthour:$commentminute:$commentsecond";
- $comment_author = addslashes($this->reencode(strip_tags($commentinfo[1])));
- if ( strpos($commentinfo[1], 'a href') ) {
- $comment_author_parts = explode('&quot;', htmlentities($commentinfo[1]));
- $comment_author_url = $comment_author_parts[1];
- } else $comment_author_url = '';
- $comment_content = $this->reencode($commentinfo[2]);
- $comment_content = str_replace(array('<br>','<BR>','<br/>','<BR/>','<br />','<BR />'), "\n", $comment_content);
- $comment_approved = 1;
- if ( comment_exists($comment_author, $comment_date) ) {
- $skippedcommentcount++;
- } else {
- $comment = compact('comment_author', 'comment_author_url', 'comment_date', 'comment_content', 'comment_approved');
- $post_array[$i]['comments'][$j] = wp_filter_comment($comment);
- }
- $commentcount++;
- }
- endif;
- $postcount++;
- }
- if ( count($post_array) ) {
- krsort($post_array);
- foreach($post_array as $post) {
- if ( ! $comment_post_ID = $post['ID'] )
- $comment_post_ID = wp_insert_post($post['post']);
- if ( $post['comments'] ) {
- foreach ( $post['comments'] as $comment ) {
- $comment['comment_post_ID'] = $comment_post_ID;
- wp_insert_comment($comment);
- }
- }
- }
- }
- $status = sprintf(__('%s post(s) parsed, %s skipped...'), $postcount, $skippedpostcount).' '.
- sprintf(__('%s comment(s) parsed, %s skipped...'), $commentcount, $skippedcommentcount).' '.
- ' <strong>'.__('Done').'</strong>';
- $import = $this->import;
- $import['blogs'][$_GET['blog']]['archives']["$url"] = $status;
- update_option('import-blogger', $import);
- $did_one = true;
- }
- $output.= "<p>$archivename $status</p>\n";
- }
- if ( ! $did_one )
- $this->set_next_step(7);
- die( $this->refresher(1000) . $output );
- }
-
- // Step 7: Restore the backed-up settings to Blogger
- function restore_settings() {
- $output = '<h1>'.__('Restoring your Blogger options')."</h1>\n";
- $did_one = false;
- // Restore options in reverse order.
- if ( ! $this->import['reversed'] ) {
- $this->import['blogs'][$_GET['blog']]['options'] = array_reverse($this->import['blogs'][$_GET['blog']]['options'], true);
- $this->import['reversed'] = true;
- update_option('import-blogger', $this->import);
- }
- foreach ( $this->import['blogs'][$_GET['blog']]['options'] as $blog_opt => $optary ) {
- if ( $did_one ) {
- $output .= "<p>$blog_opt</p>\n";
- } elseif ( $optary['restored'] || ! $optary['modify'] ) {
- $output .= "<p><del>$blog_opt</del></p>\n";
- } else {
- $posturl = "http://www.blogger.com/{$blog_opt}.do";
- $headers = array_merge($this->import['blogs'][$_GET['blog']]['options']["$blog_opt"]['cookies'], $this->import['cookies']);
- if ( 'blog-publishing' == $blog_opt) {
- if ( $optary['backup']['publishMode'] > 0 ) {
- $response = $this->get_blogger("http://www.blogger.com/blog-publishing.g?blogID={$_GET['blog']}&publishMode={$optary['backup']['publishMode']}", $headers);
- sleep(2);
- if ( $response['code'] >= 400 )
- die('<h1>Error restoring publishMode.</h1><p>Please tell the devs.</p>' . addslashes(print_r($response, 1)) );
- }
- }
- if ( $optary['backup'] != $optary['modify'] ) {
- $response = $this->post_blogger($posturl, $headers, $optary['backup']);
- if ( $response['code'] >= 400 || strstr($response['body'], 'There are errors on this form') ) {
- $this->import['blogs'][$_GET['blog']]['options']["$blog_opt"]['error'] = true;
- update_option('import-blogger', $this->import);
- $output .= sprintf(__('%s failed. Trying again.'), "<p><strong>$blog_opt</strong> ").'</p>';
- } else {
- $this->import['blogs'][$_GET['blog']]['options']["$blog_opt"]['restored'] = true;
- update_option('import-blogger', $this->import);
- $output .= sprintf(__('%s restored.'), "<p><strong>$blog_opt</strong> ").'</p>';
- }
- }
- $did_one = true;
- }
- }
-
- if ( $did_one ) {
- die( $this->refresher(1000) . $output );
- } elseif ( $this->import['blogs'][$_GET['blog']]['options']['blog-publishing']['backup']['publishMode'] > 0 ) {
- $this->set_next_step(9);
- } else {
- $this->set_next_step(8);
- }
-
- $this->do_next_step();
- }
-
- // Step 8: Republish, all back to normal
- function republish_blog() {
- $this->publish_blogger(9, __('Publishing with original template and options'));
- }
-
- // Step 9: Congratulate the user
- function congrats() {
- echo '<h1>'.__('Congratulations!').'</h1><p>'.__('Now that you have imported your Blogger blog into WordPress, what are you going to do? Here are some suggestions:').'</p><ul><li>'.__('That was hard work! Take a break.').'</li>';
- if ( count($this->import['blogs']) > 1 )
- echo '<li>'.__('In case you haven\'t done it already, you can import the posts from your other blogs:'). $this->show_blogs() . '</li>';
- if ( $n = count($this->import['blogs'][$_GET['blog']]['newusers']) )
- echo '<li>'.sprintf(__('Go to <a href="%s" target="%s">Authors &amp; Users</a>, where you can modify the new user(s) or delete them. If you want to make all of the imported posts yours, you will be given that option when you delete the new authors.'), 'users.php', '_parent').'</li>';
- echo '<li>'.__('For security, click the link below to reset this importer. That will clear your Blogger credentials and options from the database.').'</li>';
- echo '</ul>';
- }
-
- // Figures out what to do, then does it.
- function start() {
- if ( $_GET['restart'] == 'true' ) {
- $this->restart();
- }
-
- if ( isset($_GET['noheader']) ) {
- header('Content-Type: text/html; charset=utf-8');
-
- $this->import = get_settings('import-blogger');
-
- if ( false === $this->import ) {
- $step = 0;
- } elseif ( isset($_GET['step']) ) {
- $step = (int) $_GET['step'];
- } elseif ( isset($_GET['blog']) && isset($this->import['blogs'][$_GET['blog']]['nextstep']) ) {
- $step = $this->import['blogs'][$_GET['blog']]['nextstep'];
- } elseif ( is_array($this->import['blogs']) ) {
- $step = 1;
- } else {
- $step = 0;
- }
-//echo "Step $step.";
-//die('<pre>'.print_r($this->import,1).'</pre');
- switch ($step) {
- case 0 :
- $this->do_login();
- break;
- case 1 :
- $this->select_blog();
- break;
- case 2 :
- $this->backup_settings();
- break;
- case 3 :
- $this->wait_for_blogger();
- break;
- case 4 :
- $this->publish_blog();
- break;
- case 5 :
- $this->get_archive_urls();
- break;
- case 6 :
- $this->get_archive();
- break;
- case 7 :
- $this->restore_settings();
- break;
- case 8 :
- $this->republish_blog();
- break;
- case 9 :
- $this->congrats();
- break;
- }
- die;
-
- } else {
- $this->greet();
- }
- }
-
- function Blogger_Import() {
- // This space intentionally left blank.
- }
-}
-
-$blogger_import = new Blogger_Import();
-
-register_importer('blogger', 'Blogger and Blogspot', __('Import <strong>posts and comments</strong> from your Blogger account'), array ($blogger_import, 'start'));
-
-?>
diff --git a/wp-inst/wp-admin/import/blogware.php b/wp-inst/wp-admin/import/blogware.php
deleted file mode 100644
index 35ab610..0000000
--- a/wp-inst/wp-admin/import/blogware.php
+++ /dev/null
@@ -1,192 +0,0 @@
-<?php
-
-/* By Shayne Sweeney - http://www.theshayne.com/ */
-
-class BW_Import {
-
- var $file;
-
- function header() {
- echo '<div class="wrap">';
- echo '<h2>'.__('Import Blogware').'</h2>';
- }
-
- function footer() {
- echo '</div>';
- }
-
- function unhtmlentities($string) { // From php.net for < 4.3 compat
- $trans_tbl = get_html_translation_table(HTML_ENTITIES);
- $trans_tbl = array_flip($trans_tbl);
- return strtr($string, $trans_tbl);
- }
-
- function greet() {
- echo '<p>'.__('Howdy! This importer allows you to extract posts from Blogware XML export file into your blog. Pick a Blogware file to upload and click Import.').'</p>';
- wp_import_upload_form("admin.php?import=blogware&amp;step=1");
- }
-
- function import_posts() {
- global $wpdb, $current_user;
-
- set_magic_quotes_runtime(0);
- $importdata = file($this->file); // Read the file into an array
- $importdata = implode('', $importdata); // squish it
- $importdata = str_replace(array ("\r\n", "\r"), "\n", $importdata);
-
- preg_match_all('|(<item[^>]+>(.*?)</item>)|is', $importdata, $posts);
- $posts = $posts[1];
- unset($importdata);
- echo '<ol>';
- foreach ($posts as $post) {
- flush();
- preg_match('|<item type=\"(.*?)\">|is', $post, $post_type);
- $post_type = $post_type[1];
- if($post_type == "photo") {
- preg_match('|<photoFilename>(.*?)</photoFilename>|is', $post, $post_title);
- } else {
- preg_match('|<title>(.*?)</title>|is', $post, $post_title);
- }
- $post_title = $wpdb->escape(trim($post_title[1]));
-
- preg_match('|<pubDate>(.*?)</pubDate>|is', $post, $post_date);
- $post_date = strtotime($post_date[1]);
- $post_date = gmdate('Y-m-d H:i:s', $post_date);
-
- preg_match_all('|<category>(.*?)</category>|is', $post, $categories);
- $categories = $categories[1];
-
- $cat_index = 0;
- foreach ($categories as $category) {
- $categories[$cat_index] = $wpdb->escape($this->unhtmlentities($category));
- $cat_index++;
- }
-
- if(strcasecmp($post_type, "photo") === 0) {
- preg_match('|<sizedPhotoUrl>(.*?)</sizedPhotoUrl>|is', $post, $post_content);
- $post_content = '<img src="'.trim($post_content[1]).'" />';
- $post_content = $this->unhtmlentities($post_content);
- } else {
- preg_match('|<body>(.*?)</body>|is', $post, $post_content);
- $post_content = str_replace(array ('<![CDATA[', ']]>'), '', trim($post_content[1]));
- $post_content = $this->unhtmlentities($post_content);
- }
-
- // Clean up content
- $post_content = preg_replace('|<(/?[A-Z]+)|e', "'<' . strtolower('$1')", $post_content);
- $post_content = str_replace('<br>', '<br />', $post_content);
- $post_content = str_replace('<hr>', '<hr />', $post_content);
- $post_content = $wpdb->escape($post_content);
-
- $post_author = $current_user->ID;
- preg_match('|<postStatus>(.*?)</postStatus>|is', $post, $post_status);
- $post_status = trim($post_status[1]);
-
- echo '<li>';
- if ($post_id = post_exists($post_title, $post_content, $post_date)) {
- printf(__('Post <i>%s</i> already exists.'), stripslashes($post_title));
- } else {
- printf(__('Importing post <i>%s</i>...'), stripslashes($post_title));
- $postdata = compact('post_author', 'post_date', 'post_content', 'post_title', 'post_status');
- $post_id = wp_insert_post($postdata);
- if (!$post_id) {
- _e("Couldn't get post ID");
- echo '</li>';
- break;
- }
- if(0 != count($categories))
- wp_create_categories($categories, $post_id);
- }
-
- preg_match_all('|<comment>(.*?)</comment>|is', $post, $comments);
- $comments = $comments[1];
-
- if ( $comments ) {
- $comment_post_ID = $post_id;
- $num_comments = 0;
- foreach ($comments as $comment) {
- preg_match('|<body>(.*?)</body>|is', $comment, $comment_content);
- $comment_content = str_replace(array ('<![CDATA[', ']]>'), '', trim($comment_content[1]));
- $comment_content = $this->unhtmlentities($comment_content);
-
- // Clean up content
- $comment_content = preg_replace('|<(/?[A-Z]+)|e', "'<' . strtolower('$1')", $comment_content);
- $comment_content = str_replace('<br>', '<br />', $comment_content);
- $comment_content = str_replace('<hr>', '<hr />', $comment_content);
- $comment_content = $wpdb->escape($comment_content);
-
- preg_match('|<pubDate>(.*?)</pubDate>|is', $comment, $comment_date);
- $comment_date = trim($comment_date[1]);
- $comment_date = date('Y-m-d H:i:s', strtotime($comment_date));
-
- preg_match('|<author>(.*?)</author>|is', $comment, $comment_author);
- $comment_author = $wpdb->escape(trim($comment_author[1]));
-
- $comment_author_email = NULL;
-
- $comment_approved = 1;
- // Check if it's already there
- if (!comment_exists($comment_author, $comment_date)) {
- $commentdata = compact('comment_post_ID', 'comment_author', 'comment_author_email', 'comment_date', 'comment_content', 'comment_approved');
- $commentdata = wp_filter_comment($commentdata);
- wp_insert_comment($commentdata);
- $num_comments++;
- }
- }
- }
- if ( $num_comments ) {
- echo ' ';
- printf(__('(%s comments)'), $num_comments);
- }
- echo '</li>';
- flush();
- ob_flush();
- }
- echo '</ol>';
- }
-
- function import() {
- $file = wp_import_handle_upload();
- if ( isset($file['error']) ) {
- echo $file['error'];
- return;
- }
-
- $this->file = $file['file'];
- $this->import_posts();
- wp_import_cleanup($file['id']);
-
- echo '<h3>';
- printf(__('All done. <a href="%s">Have fun!</a>'), get_option('home'));
- echo '</h3>';
- }
-
- function dispatch() {
- if (empty ($_GET['step']))
- $step = 0;
- else
- $step = (int) $_GET['step'];
-
- $this->header();
-
- switch ($step) {
- case 0 :
- $this->greet();
- break;
- case 1 :
- $this->import();
- break;
- }
-
- $this->footer();
- }
-
- function BW_Import() {
- // Nothing.
- }
-}
-
-$blogware_import = new BW_Import();
-
-register_importer('blogware', 'Blogware', __('Import posts from Blogware'), array ($blogware_import, 'dispatch'));
-?>
diff --git a/wp-inst/wp-admin/import/dotclear.php b/wp-inst/wp-admin/import/dotclear.php
deleted file mode 100644
index 9dc8a6e..0000000
--- a/wp-inst/wp-admin/import/dotclear.php
+++ /dev/null
@@ -1,747 +0,0 @@
-<?php
-/*
- * Dotclear import plugin
- * by Thomas Quinot - http://thomas.quinot.org/
- */
-
-/**
- Add These Functions to make our lives easier
-**/
-if(!function_exists('get_catbynicename'))
-{
- function get_catbynicename($category_nicename)
- {
- global $wpdb;
-
- $cat_id -= 0; // force numeric
- $name = $wpdb->get_var('SELECT cat_ID FROM '.$wpdb->categories.' WHERE category_nicename="'.$category_nicename.'"');
-
- return $name;
- }
-}
-
-if(!function_exists('get_comment_count'))
-{
- function get_comment_count($post_ID)
- {
- global $wpdb;
- return $wpdb->get_var('SELECT count(*) FROM '.$wpdb->comments.' WHERE comment_post_ID = '.$post_ID);
- }
-}
-
-if(!function_exists('link_cat_exists'))
-{
- function link_cat_exists($catname)
- {
- global $wpdb;
- return $wpdb->get_var('SELECT cat_id FROM '.$wpdb->linkcategories.' WHERE cat_name = "'.$wpdb->escape($catname).'"');
- }
-}
-
-if(!function_exists('link_exists'))
-{
- function link_exists($linkname)
- {
- global $wpdb;
- return $wpdb->get_var('SELECT link_id FROM '.$wpdb->links.' WHERE link_name = "'.$linkname.'"');
- }
-}
-
-/*
- Identify UTF-8 text
- Taken from http://www.php.net/manual/fr/function.mb-detect-encoding.php#50087
-*/
-//
-// utf8 encoding validation developed based on Wikipedia entry at:
-// http://en.wikipedia.org/wiki/UTF-8
-//
-// Implemented as a recursive descent parser based on a simple state machine
-// copyright 2005 Maarten Meijer
-//
-// This cries out for a C-implementation to be included in PHP core
-//
- function valid_1byte($char) {
- if(!is_int($char)) return false;
- return ($char & 0x80) == 0x00;
- }
-
- function valid_2byte($char) {
- if(!is_int($char)) return false;
- return ($char & 0xE0) == 0xC0;
- }
-
- function valid_3byte($char) {
- if(!is_int($char)) return false;
- return ($char & 0xF0) == 0xE0;
- }
-
- function valid_4byte($char) {
- if(!is_int($char)) return false;
- return ($char & 0xF8) == 0xF0;
- }
-
- function valid_nextbyte($char) {
- if(!is_int($char)) return false;
- return ($char & 0xC0) == 0x80;
- }
-
- function valid_utf8($string) {
- $len = strlen($string);
- $i = 0;
- while( $i < $len ) {
- $char = ord(substr($string, $i++, 1));
- if(valid_1byte($char)) { // continue
- continue;
- } else if(valid_2byte($char)) { // check 1 byte
- if(!valid_nextbyte(ord(substr($string, $i++, 1))))
- return false;
- } else if(valid_3byte($char)) { // check 2 bytes
- if(!valid_nextbyte(ord(substr($string, $i++, 1))))
- return false;
- if(!valid_nextbyte(ord(substr($string, $i++, 1))))
- return false;
- } else if(valid_4byte($char)) { // check 3 bytes
- if(!valid_nextbyte(ord(substr($string, $i++, 1))))
- return false;
- if(!valid_nextbyte(ord(substr($string, $i++, 1))))
- return false;
- if(!valid_nextbyte(ord(substr($string, $i++, 1))))
- return false;
- } // goto next char
- }
- return true; // done
- }
-
-function csc ($s) {
- if (valid_utf8 ($s)) {
- return $s;
- } else {
- return iconv(get_option ("dccharset"),"UTF-8",$s);
- }
-}
-
-function textconv ($s) {
- return csc (preg_replace ('|(?<!<br />)\s*\n|', ' ', $s));
-}
-
-/**
- The Main Importer Class
-**/
-class Dotclear_Import {
-
- function header()
- {
- echo '<div class="wrap">';
- echo '<h2>'.__('Import Dotclear').'</h2>';
- echo '<p>'.__('Steps may take a few minutes depending on the size of your database. Please be patient.').'</p>';
- }
-
- function footer()
- {
- echo '</div>';
- }
-
- function greet()
- {
- echo '<p>'.__('Howdy! This importer allows you to extract posts from a Dotclear database into your blog. Mileage may vary.').'</p>';
- echo '<p>'.__('Your Dotclear Configuration settings are as follows:').'</p>';
- echo '<form action="admin.php?import=dotclear&amp;step=1" method="post">';
- $this->db_form();
- echo '<input type="submit" name="submit" value="'.__('Import Categories').'" />';
- echo '</form>';
- }
-
- function get_dc_cats()
- {
- global $wpdb;
- // General Housekeeping
- $dcdb = new wpdb(get_option('dcuser'), get_option('dcpass'), get_option('dcname'), get_option('dchost'));
- set_magic_quotes_runtime(0);
- $dbprefix = get_option('dcdbprefix');
-
- // Get Categories
- return $dcdb->get_results('SELECT * FROM '.$dbprefix.'categorie', ARRAY_A);
- }
-
- function get_dc_users()
- {
- global $wpdb;
- // General Housekeeping
- $dcdb = new wpdb(get_option('dcuser'), get_option('dcpass'), get_option('dcname'), get_option('dchost'));
- set_magic_quotes_runtime(0);
- $dbprefix = get_option('dcdbprefix');
-
- // Get Users
-
- return $dcdb->get_results('SELECT * FROM '.$dbprefix.'user', ARRAY_A);
- }
-
- function get_dc_posts()
- {
- // General Housekeeping
- $dcdb = new wpdb(get_option('dcuser'), get_option('dcpass'), get_option('dcname'), get_option('dchost'));
- set_magic_quotes_runtime(0);
- $dbprefix = get_option('dcdbprefix');
-
- // Get Posts
- return $dcdb->get_results('SELECT '.$dbprefix.'post.*, '.$dbprefix.'categorie.cat_libelle_url AS post_cat_name
- FROM '.$dbprefix.'post INNER JOIN '.$dbprefix.'categorie
- ON '.$dbprefix.'post.cat_id = '.$dbprefix.'categorie.cat_id', ARRAY_A);
- }
-
- function get_dc_comments()
- {
- global $wpdb;
- // General Housekeeping
- $dcdb = new wpdb(get_option('dcuser'), get_option('dcpass'), get_option('dcname'), get_option('dchost'));
- set_magic_quotes_runtime(0);
- $dbprefix = get_option('dcdbprefix');
-
- // Get Comments
- return $dcdb->get_results('SELECT * FROM '.$dbprefix.'comment', ARRAY_A);
- }
-
- function get_dc_links()
- {
- //General Housekeeping
- $dcdb = new wpdb(get_option('dcuser'), get_option('dcpass'), get_option('dcname'), get_option('dchost'));
- set_magic_quotes_runtime(0);
- $dbprefix = get_option('dcdbprefix');
-
- return $dcdb->get_results('SELECT * FROM '.$dbprefix.'link ORDER BY position', ARRAY_A);
- }
-
- function cat2wp($categories='')
- {
- // General Housekeeping
- global $wpdb;
- $count = 0;
- $dccat2wpcat = array();
- // Do the Magic
- if(is_array($categories))
- {
- echo '<p>'.__('Importing Categories...').'<br /><br /></p>';
- foreach ($categories as $category)
- {
- $count++;
- extract($category);
-
- // Make Nice Variables
- $name = $wpdb->escape($cat_libelle_url);
- $title = $wpdb->escape(csc ($cat_libelle));
- $desc = $wpdb->escape(csc ($cat_desc));
-
- if($cinfo = category_exists($name))
- {
- $ret_id = wp_insert_category(array('cat_ID' => $cinfo, 'category_nicename' => $name, 'cat_name' => $title, 'category_description' => $desc));
- }
- else
- {
- $ret_id = wp_insert_category(array('category_nicename' => $name, 'cat_name' => $title, 'category_description' => $desc));
- }
- $dccat2wpcat[$id] = $ret_id;
- }
-
- // Store category translation for future use
- add_option('dccat2wpcat',$dccat2wpcat);
- echo '<p>'.sprintf(__('Done! <strong>%1$s</strong> categories imported.'), $count).'<br /><br /></p>';
- return true;
- }
- echo __('No Categories to Import!');
- return false;
- }
-
- function users2wp($users='')
- {
- // General Housekeeping
- global $wpdb;
- $count = 0;
- $dcid2wpid = array();
-
- // Midnight Mojo
- if(is_array($users))
- {
- echo '<p>'.__('Importing Users...').'<br /><br /></p>';
- foreach($users as $user)
- {
- $count++;
- extract($user);
-
- // Make Nice Variables
- $name = $wpdb->escape(csc ($name));
- $RealName = $wpdb->escape(csc ($user_pseudo));
-
- if($uinfo = get_userdatabylogin($name))
- {
-
- $ret_id = wp_insert_user(array(
- 'ID' => $uinfo->ID,
- 'user_login' => $user_id,
- 'user_nicename' => $Realname,
- 'user_email' => $user_email,
- 'user_url' => 'http://',
- 'display_name' => $Realname)
- );
- }
- else
- {
- $ret_id = wp_insert_user(array(
- 'user_login' => $user_id,
- 'user_nicename' => csc ($user_pseudo),
- 'user_email' => $user_email,
- 'user_url' => 'http://',
- 'display_name' => $Realname)
- );
- }
- $dcid2wpid[$user_id] = $ret_id;
-
- // Set Dotclear-to-WordPress permissions translation
-
- // Update Usermeta Data
- $user = new WP_User($ret_id);
- $wp_perms = $user_level + 1;
- if(10 == $wp_perms) { $user->set_role('administrator'); }
- else if(9 == $wp_perms) { $user->set_role('editor'); }
- else if(5 <= $wp_perms) { $user->set_role('editor'); }
- else if(4 <= $wp_perms) { $user->set_role('author'); }
- else if(3 <= $wp_perms) { $user->set_role('contributor'); }
- else if(2 <= $wp_perms) { $user->set_role('contributor'); }
- else { $user->set_role('subscriber'); }
-
- update_usermeta( $ret_id, 'wp_user_level', $wp_perms);
- update_usermeta( $ret_id, 'rich_editing', 'false');
- update_usermeta( $ret_id, 'first_name', csc ($user_prenom));
- update_usermeta( $ret_id, 'last_name', csc ($user_nom));
- }// End foreach($users as $user)
-
- // Store id translation array for future use
- add_option('dcid2wpid',$dcid2wpid);
-
-
- echo '<p>'.sprintf(__('Done! <strong>%1$s</strong> users imported.'), $count).'<br /><br /></p>';
- return true;
- }// End if(is_array($users)
-
- echo __('No Users to Import!');
- return false;
-
- }// End function user2wp()
-
- function posts2wp($posts='')
- {
- // General Housekeeping
- global $wpdb;
- $count = 0;
- $dcposts2wpposts = array();
- $cats = array();
-
- // Do the Magic
- if(is_array($posts))
- {
- echo '<p>'.__('Importing Posts...').'<br /><br /></p>';
- foreach($posts as $post)
- {
- $count++;
- extract($post);
-
- // Set Dotclear-to-WordPress status translation
- $stattrans = array(0 => 'draft', 1 => 'publish');
- $comment_status_map = array (0 => 'closed', 1 => 'open');
-
- //Can we do this more efficiently?
- $uinfo = ( get_userdatabylogin( $user_id ) ) ? get_userdatabylogin( $user_id ) : 1;
- $authorid = ( is_object( $uinfo ) ) ? $uinfo->ID : $uinfo ;
-
- $Title = $wpdb->escape(csc ($post_titre));
- $post_content = textconv ($post_content);
- $post_excerpt = "";
- if ($post_chapo != "") {
- $post_excerpt = textconv ($post_chapo);
- $post_content = $post_excerpt ."\n<!--more-->\n".$post_content;
- }
- $post_excerpt = $wpdb->escape ($post_excerpt);
- $post_content = $wpdb->escape ($post_content);
- $post_status = $stattrans[$post_pub];
-
- // Import Post data into WordPress
-
- if($pinfo = post_exists($Title,$post_content))
- {
- $ret_id = wp_insert_post(array(
- 'ID' => $pinfo,
- 'post_author' => $authorid,
- 'post_date' => $post_dt,
- 'post_date_gmt' => $post_dt,
- 'post_modified' => $post_upddt,
- 'post_modified_gmt' => $post_upddt,
- 'post_title' => $Title,
- 'post_content' => $post_content,
- 'post_excerpt' => $post_excerpt,
- 'post_status' => $post_status,
- 'post_name' => $post_titre_url,
- 'comment_status' => $comment_status_map[$post_open_comment],
- 'ping_status' => $comment_status_map[$post_open_tb],
- 'comment_count' => $post_nb_comment + $post_nb_trackback)
- );
- }
- else
- {
- $ret_id = wp_insert_post(array(
- 'post_author' => $authorid,
- 'post_date' => $post_dt,
- 'post_date_gmt' => $post_dt,
- 'post_modified' => $post_modified_gmt,
- 'post_modified_gmt' => $post_modified_gmt,
- 'post_title' => $Title,
- 'post_content' => $post_content,
- 'post_excerpt' => $post_excerpt,
- 'post_status' => $post_status,
- 'post_name' => $post_titre_url,
- 'comment_status' => $comment_status_map[$post_open_comment],
- 'ping_status' => $comment_status_map[$post_open_tb],
- 'comment_count' => $post_nb_comment + $post_nb_trackback)
- );
- }
- $dcposts2wpposts[$post_id] = $ret_id;
-
- // Make Post-to-Category associations
- $cats = array();
- if($cat1 = get_catbynicename($post_cat_name)) { $cats[1] = $cat1; }
-
- if(!empty($cats)) { wp_set_post_cats('', $ret_id, $cats); }
- }
- }
- // Store ID translation for later use
- add_option('dcposts2wpposts',$dcposts2wpposts);
-
- echo '<p>'.sprintf(__('Done! <strong>%1$s</strong> posts imported.'), $count).'<br /><br /></p>';
- return true;
- }
-
- function comments2wp($comments='')
- {
- // General Housekeeping
- global $wpdb;
- $count = 0;
- $dccm2wpcm = array();
- $postarr = get_option('dcposts2wpposts');
-
- // Magic Mojo
- if(is_array($comments))
- {
- echo '<p>'.__('Importing Comments...').'<br /><br /></p>';
- foreach($comments as $comment)
- {
- $count++;
- extract($comment);
-
- // WordPressify Data
- $comment_ID = ltrim($comment_id, '0');
- $comment_post_ID = $postarr[$post_id];
- $comment_approved = "$comment_pub";
- $name = $wpdb->escape(csc ($comment_auteur));
- $email = $wpdb->escape($comment_email);
- $web = "http://".$wpdb->escape($comment_site);
- $message = $wpdb->escape(textconv ($comment_content));
-
- if($cinfo = comment_exists($name, $comment_dt))
- {
- // Update comments
- $ret_id = wp_update_comment(array(
- 'comment_ID' => $cinfo,
- 'comment_post_ID' => $comment_post_ID,
- 'comment_author' => $name,
- 'comment_author_email' => $email,
- 'comment_author_url' => $web,
- 'comment_author_IP' => $comment_ip,
- 'comment_date' => $comment_dt,
- 'comment_date_gmt' => $comment_dt,
- 'comment_content' => $message,
- 'comment_approved' => $comment_approved)
- );
- }
- else
- {
- // Insert comments
- $ret_id = wp_insert_comment(array(
- 'comment_post_ID' => $comment_post_ID,
- 'comment_author' => $name,
- 'comment_author_email' => $email,
- 'comment_author_url' => $web,
- 'comment_author_IP' => $comment_ip,
- 'comment_date' => $comment_dt,
- 'comment_date_gmt' => $comment_dt,
- 'comment_content' => $message,
- 'comment_approved' => $comment_approved)
- );
- }
- $dccm2wpcm[$comment_ID] = $ret_id;
- }
- // Store Comment ID translation for future use
- add_option('dccm2wpcm', $dccm2wpcm);
-
- // Associate newly formed categories with posts
- get_comment_count($ret_id);
-
-
- echo '<p>'.sprintf(__('Done! <strong>%1$s</strong> comments imported.'), $count).'<br /><br /></p>';
- return true;
- }
- echo __('No Comments to Import!');
- return false;
- }
-
- function links2wp($links='')
- {
- // General Housekeeping
- global $wpdb;
- $count = 0;
-
- // Deal with the links
- if(is_array($links))
- {
- echo '<p>'.__('Importing Links...').'<br /><br /></p>';
- foreach($links as $link)
- {
- $count++;
- extract($link);
-
- if ($title != "") {
- if ($cinfo = link_cat_exists (csc ($title))) {
- $category = $cinfo;
- } else {
- $wpdb->query ("INSERT INTO $wpdb->linkcategories (cat_name) VALUES ('".
- $wpdb->escape (csc ($title))."')");
- $category = $wpdb->insert_id;
- }
- } else {
- $linkname = $wpdb->escape(csc ($label));
- $description = $wpdb->escape(csc ($title));
-
- if($linfo = link_exists($linkname)) {
- $ret_id = wp_insert_link(array(
- 'link_id' => $linfo,
- 'link_url' => $href,
- 'link_name' => $linkname,
- 'link_category' => $category,
- 'link_description' => $description)
- );
- } else {
- $ret_id = wp_insert_link(array(
- 'link_url' => $url,
- 'link_name' => $linkname,
- 'link_category' => $category,
- 'link_description' => $description)
- );
- }
- $dclinks2wplinks[$link_id] = $ret_id;
- }
- }
- add_option('dclinks2wplinks',$dclinks2wplinks);
- echo '<p>';
- printf(__('Done! <strong>%s</strong> links or link categories imported'), $count);
- echo '<br /><br /></p>';
- return true;
- }
- echo __('No Links to Import!');
- return false;
- }
-
- function import_categories()
- {
- // Category Import
- $cats = $this->get_dc_cats();
- $this->cat2wp($cats);
- add_option('dc_cats', $cats);
-
-
-
- echo '<form action="admin.php?import=dotclear&amp;step=2" method="post">';
- printf('<input type="submit" name="submit" value="%s" />', __('Import Users'));
- echo '</form>';
-
- }
-
- function import_users()
- {
- // User Import
- $users = $this->get_dc_users();
- $this->users2wp($users);
-
- echo '<form action="admin.php?import=dotclear&amp;step=3" method="post">';
- printf('<input type="submit" name="submit" value="%s" />', __('Import Posts'));
- echo '</form>';
- }
-
- function import_posts()
- {
- // Post Import
- $posts = $this->get_dc_posts();
- $this->posts2wp($posts);
-
- echo '<form action="admin.php?import=dotclear&amp;step=4" method="post">';
- printf('<input type="submit" name="submit" value="%s" />', __('Import Comments'));
- echo '</form>';
- }
-
- function import_comments()
- {
- // Comment Import
- $comments = $this->get_dc_comments();
- $this->comments2wp($comments);
-
- echo '<form action="admin.php?import=dotclear&amp;step=5" method="post">';
- printf('<input type="submit" name="submit" value="%s" />', __('Import Links'));
- echo '</form>';
- }
-
- function import_links()
- {
- //Link Import
- $links = $this->get_dc_links();
- $this->links2wp($links);
- add_option('dc_links', $links);
-
- echo '<form action="admin.php?import=dotclear&amp;step=6" method="post">';
- printf('<input type="submit" name="submit" value="%s" />', __('Finish'));
- echo '</form>';
- }
-
- function cleanup_dcimport()
- {
- delete_option('dcdbprefix');
- delete_option('dc_cats');
- delete_option('dcid2wpid');
- delete_option('dccat2wpcat');
- delete_option('dcposts2wpposts');
- delete_option('dccm2wpcm');
- delete_option('dclinks2wplinks');
- delete_option('dcuser');
- delete_option('dcpass');
- delete_option('dcname');
- delete_option('dchost');
- delete_option('dccharset');
- $this->tips();
- }
-
- function tips()
- {
- echo '<p>'.__('Welcome to WordPress. We hope (and expect!) that you will find this platform incredibly rewarding! As a new WordPress user coming from Dotclear, there are some things that we would like to point out. Hopefully, they will help your transition go as smoothly as possible.').'</p>';
- echo '<h3>'.__('Users').'</h3>';
- echo '<p>'.sprintf(__('You have already setup WordPress and have been assigned an administrative login and password. Forget it. You didn\'t have that login in Dotclear, why should you have it here? Instead we have taken care to import all of your users into our system. Unfortunately there is one downside. Because both WordPress and Dotclear uses a strong encryption hash with passwords, it is impossible to decrypt it and we are forced to assign temporary passwords to all your users. <strong>Every user has the same username, but their passwords are reset to password123.</strong> So <a href="%1$s">Login</a> and change it.'), '/wp-login.php').'</p>';
- echo '<h3>'.__('Preserving Authors').'</h3>';
- echo '<p>'.__('Secondly, we have attempted to preserve post authors. If you are the only author or contributor to your blog, then you are safe. In most cases, we are successful in this preservation endeavor. However, if we cannot ascertain the name of the writer due to discrepancies between database tables, we assign it to you, the administrative user.').'</p>';
- echo '<h3>'.__('Textile').'</h3>';
- echo '<p>'.__('Also, since you\'re coming from Dotclear, you probably have been using Textile to format your comments and posts. If this is the case, we recommend downloading and installing <a href="http://www.huddledmasses.org/2004/04/19/wordpress-plugin-textile-20/">Textile for WordPress</a>. Trust me... You\'ll want it.').'</p>';
- echo '<h3>'.__('WordPress Resources').'</h3>';
- echo '<p>'.__('Finally, there are numerous WordPress resources around the internet. Some of them are:').'</p>';
- echo '<ul>';
- echo '<li>'.__('<a href="http://www.wordpress.org">The official WordPress site</a>').'</li>';
- echo '<li>'.__('<a href="http://wordpress.org/support/">The WordPress support forums').'</li>';
- echo '<li>'.__('<a href="http://codex.wordpress.org">The Codex (In other words, the WordPress Bible)</a>').'</li>';
- echo '</ul>';
- echo '<p>'.sprintf(__('That\'s it! What are you waiting for? Go <a href="%1$s">login</a>!'), '/wp-login.php').'</p>';
- }
-
- function db_form()
- {
- echo '<ul>';
- printf('<li><label for="dbuser">%s</label> <input type="text" name="dbuser" /></li>', __('Dotclear Database User:'));
- printf('<li><label for="dbpass">%s</label> <input type="password" name="dbpass" /></li>', __('Dotclear Database Password:'));
- printf('<li><label for="dbname">%s</label> <input type="text" name="dbname" /></li>', __('Dotclear Database Name:'));
- printf('<li><label for="dbhost">%s</label> <input type="text" name="dbhost" value="localhost" /></li>', __('Dotclear Database Host:'));
- printf('<li><label for="dbprefix">%s</label> <input type="text" name="dbprefix" value="dc_"/></li>', __('Dotclear Table prefix:'));
- printf('<li><label for="dccharset">%s</label> <input type="text" name="dccharset" value="ISO-8859-15"/></li>', __('Originating character set:'));
- echo '</ul>';
- }
-
- function dispatch()
- {
-
- if (empty ($_GET['step']))
- $step = 0;
- else
- $step = (int) $_GET['step'];
- $this->header();
-
- if ( $step > 0 )
- {
- if($_POST['dbuser'])
- {
- if(get_option('dcuser'))
- delete_option('dcuser');
- add_option('dcuser',$_POST['dbuser']);
- }
- if($_POST['dbpass'])
- {
- if(get_option('dcpass'))
- delete_option('dcpass');
- add_option('dcpass',$_POST['dbpass']);
- }
-
- if($_POST['dbname'])
- {
- if(get_option('dcname'))
- delete_option('dcname');
- add_option('dcname',$_POST['dbname']);
- }
- if($_POST['dbhost'])
- {
- if(get_option('dchost'))
- delete_option('dchost');
- add_option('dchost',$_POST['dbhost']);
- }
- if($_POST['dccharset'])
- {
- if(get_option('dccharset'))
- delete_option('dccharset');
- add_option('dccharset',$_POST['dccharset']);
- }
- if($_POST['dbprefix'])
- {
- if(get_option('dcdbprefix'))
- delete_option('dcdbprefix');
- add_option('dcdbprefix',$_POST['dbprefix']);
- }
-
-
- }
-
- switch ($step)
- {
- default:
- case 0 :
- $this->greet();
- break;
- case 1 :
- $this->import_categories();
- break;
- case 2 :
- $this->import_users();
- break;
- case 3 :
- $this->import_posts();
- break;
- case 4 :
- $this->import_comments();
- break;
- case 5 :
- $this->import_links();
- break;
- case 6 :
- $this->cleanup_dcimport();
- break;
- }
-
- $this->footer();
- }
-
- function Dotclear_Import()
- {
- // Nothing.
- }
-}
-
-$dc_import = new Dotclear_Import();
-register_importer('dotclear', 'Dotclear', __('Import posts from a Dotclear Blog'), array ($dc_import, 'dispatch'));
-?>
diff --git a/wp-inst/wp-admin/import/greymatter.php b/wp-inst/wp-admin/import/greymatter.php
deleted file mode 100644
index f2b4e2d..0000000
--- a/wp-inst/wp-admin/import/greymatter.php
+++ /dev/null
@@ -1,312 +0,0 @@
-<?php
-
-class GM_Import {
-
- var $gmnames = array ();
-
- function header() {
- echo '<div class="wrap">';
- echo '<h2>'.__('Import Greymatter').'</h2>';
- }
-
- function footer() {
- echo '</div>';
- }
-
- function greet() {
- $this->header();
-?>
-<p>This is a basic GreyMatter to WordPress import script.</p>
-<p>What it does:</p>
-<ul>
-<li>Parses gm-authors.cgi to import (new) authors. Everyone is imported at level 1.</li>
-<li>Parses the entries cgi files to import posts, comments, and karma on posts (although karma is not used on WordPress yet).<br />If authors are found not to be in gm-authors.cgi, imports them at level 0.</li>
-<li>Detects duplicate entries or comments. If you don't import everything the first time, or this import should fail in the middle, duplicate entries will not be made when you try again.</li>
-</ul>
-<p>What it does not:</p>
-<ul>
-<li>Parse gm-counter.cgi, gm-banlist.cgi, gm-cplog.cgi (you can make a CP log hack if you really feel like it, but I question the need of a CP log).</li>
-<li>Import gm-templates.</li>
-<li>Doesn't keep entries on top.</li>
-</ul>
-<p>&nbsp;</p>
-
-<form name="stepOne" method="get">
-<input type="hidden" name="import" value="greymatter" />
-<input type="hidden" name="step" value="1" />
-<h3>Second step: GreyMatter details:</h3>
-<p><table cellpadding="0">
-<tr>
-<td>Path to GM files:</td>
-<td><input type="text" style="width:300px" name="gmpath" value="/home/my/site/cgi-bin/greymatter/" /></td>
-</tr>
-<tr>
-<td>Path to GM entries:</td>
-<td><input type="text" style="width:300px" name="archivespath" value="/home/my/site/cgi-bin/greymatter/archives/" /></td>
-</tr>
-<tr>
-<td colspan="2"><br />This importer will search for files 00000001.cgi to 000-whatever.cgi,<br />so you need to enter the number of the last GM post here.<br />(if you don't know that number, just log into your FTP and look it out<br />in the entries' folder)</td>
-</tr>
-<tr>
-<td>Last entry's number:</td>
-<td><input type="text" name="lastentry" value="00000001" /></td>
-</tr>
-</table>
-</p>
-<p>When you're ready, click OK to start importing: <input type="submit" name="submit" value="OK" class="search" /></p>
-</form>
-<p>&nbsp</p>
-<?php
- $this->footer();
- }
-
-
-
- function gm2autobr($string) { // transforms GM's |*| into b2's <br />\n
- $string = str_replace("|*|","<br />\n",$string);
- return($string);
- }
-
- function import() {
- global $wpdb;
-
- $wpvarstoreset = array('gmpath', 'archivespath', 'lastentry');
- for ($i=0; $i<count($wpvarstoreset); $i += 1) {
- $wpvar = $wpvarstoreset[$i];
- if (!isset($$wpvar)) {
- if (empty($_POST["$wpvar"])) {
- if (empty($_GET["$wpvar"])) {
- $$wpvar = '';
- } else {
- $$wpvar = $_GET["$wpvar"];
- }
- } else {
- $$wpvar = $_POST["$wpvar"];
- }
- }
- }
-
- if (!chdir($archivespath))
- die("Wrong path, $archivespath\ndoesn't exist\non the server");
-
- if (!chdir($gmpath))
- die("Wrong path, $gmpath\ndoesn't exist\non the server");
-
- $this->header();
-?>
-<p>The importer is running...</p>
-<ul>
-<li>importing users... <ul><?php
-
- chdir($gmpath);
- $userbase = file("gm-authors.cgi");
-
- foreach($userbase as $user) {
- $userdata=explode("|", $user);
-
- $user_ip="127.0.0.1";
- $user_domain="localhost";
- $user_browser="server";
-
- $s=$userdata[4];
- $user_joindate=substr($s,6,4)."-".substr($s,0,2)."-".substr($s,3,2)." 00:00:00";
-
- $user_login=$wpdb->escape($userdata[0]);
- $pass1=$wpdb->escape($userdata[1]);
- $user_nickname=$wpdb->escape($userdata[0]);
- $user_email=$wpdb->escape($userdata[2]);
- $user_url=$wpdb->escape($userdata[3]);
- $user_joindate=$wpdb->escape($user_joindate);
-
- $user_id = username_exists($user_login);
- if ($user_id) {
- echo "<li>user <i>$user_login</i>... <b>Already exists</b></li>";
- $this->gmnames[$userdata[0]] = $user_id;
- continue;
- }
-
- $user_info = array("user_login"=>"$user_login", "user_pass"=>"$pass1", "user_nickname"=>"$user_nickname", "user_email"=>"$user_email", "user_url"=>"$user_url", "user_ip"=>"$user_ip", "user_domain"=>"$user_domain", "user_browser"=>"$user_browser", "dateYMDhour"=>"$user_joindate", "user_level"=>"1", "user_idmode"=>"nickname");
- $user_id = wp_insert_user($user_info);
- $this->gmnames[$userdata[0]] = $user_id;
-
- echo "<li>user <i>$user_login</i>... <b>Done</b></li>";
-
- }
-
-?></ul><b>Done</b></li>
-<li>importing posts, comments, and karma...<br /><ul><?php
-
- chdir($archivespath);
-
- for($i = 0; $i <= $lastentry; $i = $i + 1) {
-
- $entryfile = "";
-
- if ($i<10000000) {
- $entryfile .= "0";
- if ($i<1000000) {
- $entryfile .= "0";
- if ($i<100000) {
- $entryfile .= "0";
- if ($i<10000) {
- $entryfile .= "0";
- if ($i<1000) {
- $entryfile .= "0";
- if ($i<100) {
- $entryfile .= "0";
- if ($i<10) {
- $entryfile .= "0";
- }}}}}}}
-
- $entryfile .= "$i";
-
- if (is_file($entryfile.".cgi")) {
-
- $entry=file($entryfile.".cgi");
- echo "<li>entry # $entryfile ";
- $postinfo=explode("|",$entry[0]);
- $postmaincontent=$this->gm2autobr($entry[2]);
- $postmorecontent=$this->gm2autobr($entry[3]);
-
- $post_author=trim($wpdb->escape($postinfo[1]));
-
- $post_title=$this->gm2autobr($postinfo[2]);
- echo " : $post_title : by $postinfo[1]";
- $post_title=$wpdb->escape($post_title);
-
- $postyear=$postinfo[6];
- $postmonth=zeroise($postinfo[4],2);
- $postday=zeroise($postinfo[5],2);
- $posthour=zeroise($postinfo[7],2);
- $postminute=zeroise($postinfo[8],2);
- $postsecond=zeroise($postinfo[9],2);
-
- if (($postinfo[10]=="PM") && ($posthour!="12"))
- $posthour=$posthour+12;
-
- $post_date="$postyear-$postmonth-$postday $posthour:$postminute:$postsecond";
-
- $post_content=$postmaincontent;
- if (strlen($postmorecontent)>3)
- $post_content .= "<!--more--><br /><br />".$postmorecontent;
- $post_content=$wpdb->escape($post_content);
-
- $post_karma=$postinfo[12];
-
- $post_status = 'publish'; //in greymatter, there are no drafts
- $comment_status = 'open';
- $ping_status = 'closed';
-
- if ($post_ID = post_exists($post_title, '', $post_date)) {
- echo ' (already exists)';
- } else {
- //just so that if a post already exists, new users are not created by checkauthor
- // we'll check the author is registered, or if it's a deleted author
- $user_id = username_exists($post_author);
- if (!$user_id) { // if deleted from GM, we register the author as a level 0 user
- $user_ip="127.0.0.1";
- $user_domain="localhost";
- $user_browser="server";
- $user_joindate="1979-06-06 00:41:00";
- $user_login=$wpdb->escape($post_author);
- $pass1=$wpdb->escape("password");
- $user_nickname=$wpdb->escape($post_author);
- $user_email=$wpdb->escape("user@deleted.com");
- $user_url=$wpdb->escape("");
- $user_joindate=$wpdb->escape($user_joindate);
-
- $user_info = array("user_login"=>$user_login, "user_pass"=>$pass1, "user_nickname"=>$user_nickname, "user_email"=>$user_email, "user_url"=>$user_url, "user_ip"=>$user_ip, "user_domain"=>$user_domain, "user_browser"=>$user_browser, "dateYMDhour"=>$user_joindate, "user_level"=>0, "user_idmode"=>"nickname");
- $user_id = wp_insert_user($user_info);
- $this->gmnames[$postinfo[1]] = $user_id;
-
- echo ": registered deleted user <i>$user_login</i> at level 0 ";
- }
-
- if (array_key_exists($postinfo[1], $this->gmnames)) {
- $post_author = $this->gmnames[$postinfo[1]];
- } else {
- $post_author = $user_id;
- }
-
- $postdata = compact('post_author', 'post_date', 'post_date_gmt', 'post_content', 'post_title', 'post_excerpt', 'post_status', 'comment_status', 'ping_status', 'post_modified', 'post_modified_gmt');
- $post_ID = wp_insert_post($postdata);
- }
-
- $c=count($entry);
- if ($c>4) {
- $numAddedComments = 0;
- $numComments = 0;
- for ($j=4;$j<$c;$j++) {
- $entry[$j]=$this->gm2autobr($entry[$j]);
- $commentinfo=explode("|",$entry[$j]);
- $comment_post_ID=$post_ID;
- $comment_author=$wpdb->escape($commentinfo[0]);
- $comment_author_email=$wpdb->escape($commentinfo[2]);
- $comment_author_url=$wpdb->escape($commentinfo[3]);
- $comment_author_IP=$wpdb->escape($commentinfo[1]);
-
- $commentyear=$commentinfo[7];
- $commentmonth=zeroise($commentinfo[5],2);
- $commentday=zeroise($commentinfo[6],2);
- $commenthour=zeroise($commentinfo[8],2);
- $commentminute=zeroise($commentinfo[9],2);
- $commentsecond=zeroise($commentinfo[10],2);
- if (($commentinfo[11]=="PM") && ($commenthour!="12"))
- $commenthour=$commenthour+12;
- $comment_date="$commentyear-$commentmonth-$commentday $commenthour:$commentminute:$commentsecond";
-
- $comment_content=$wpdb->escape($commentinfo[12]);
-
- if (!comment_exists($comment_author, $comment_date)) {
- $commentdata = compact('comment_post_ID', 'comment_author', 'comment_author_url', 'comment_author_email', 'comment_author_IP', 'comment_date', 'comment_content', 'comment_approved');
- $commentdata = wp_filter_comment($commentdata);
- wp_insert_comment($commentdata);
- $numAddedComments++;
- }
- $numComments++;
- }
- if ($numAddedComments > 0) {
- echo ": imported $numAddedComments comment";
- if ($numAddedComments != 1)
- echo "s";
- }
- $preExisting = $numComments - numAddedComments;
- if ($preExisting > 0)
- echo " (ignored $preExisting pre-existing comments)";
- }
- echo "... <b>Done</b></li>";
- }
- }
- ?>
-</ul><b>Done</b></li></ul>
-<p>&nbsp;</p>
-<p>Completed Greymatter import !</p>
-<?php
- $this->footer();
- }
-
- function dispatch() {
- if (empty ($_GET['step']))
- $step = 0;
- else
- $step = (int) $_GET['step'];
-
- switch ($step) {
- case 0 :
- $this->greet();
- break;
- case 1:
- $this->import();
- break;
- }
- }
-
- function GM_Import() {
- // Nothing.
- }
-}
-
-$gm_import = new GM_Import();
-
-register_importer('greymatter', 'Greymatter', __('Import posts and comments from your Greymatter blog'), array ($gm_import, 'dispatch'));
-?>
diff --git a/wp-inst/wp-admin/import/livejournal.php b/wp-inst/wp-admin/import/livejournal.php
deleted file mode 100644
index 44b92a5..0000000
--- a/wp-inst/wp-admin/import/livejournal.php
+++ /dev/null
@@ -1,168 +0,0 @@
-<?php
-
-class LJ_Import {
-
- var $file;
-
- function header() {
- echo '<div class="wrap">';
- echo '<h2>'.__('Import LiveJournal').'</h2>';
- }
-
- function footer() {
- echo '</div>';
- }
-
- function unhtmlentities($string) { // From php.net for < 4.3 compat
- $trans_tbl = get_html_translation_table(HTML_ENTITIES);
- $trans_tbl = array_flip($trans_tbl);
- return strtr($string, $trans_tbl);
- }
-
- function greet() {
- echo '<p>'.__('Howdy! This importer allows you to extract posts from LiveJournal XML export file into your blog. Pick a LiveJournal file to upload and click Import.').'</p>';
- wp_import_upload_form("admin.php?import=livejournal&amp;step=1");
- }
-
- function import_posts() {
- global $wpdb, $current_user;
-
- set_magic_quotes_runtime(0);
- $importdata = file($this->file); // Read the file into an array
- $importdata = implode('', $importdata); // squish it
- $importdata = str_replace(array ("\r\n", "\r"), "\n", $importdata);
-
- preg_match_all('|<entry>(.*?)</entry>|is', $importdata, $posts);
- $posts = $posts[1];
- unset($importdata);
- echo '<ol>';
- foreach ($posts as $post) {
- preg_match('|<subject>(.*?)</subject>|is', $post, $post_title);
- $post_title = $wpdb->escape(trim($post_title[1]));
- if ( empty($post_title) ) {
- preg_match('|<itemid>(.*?)</itemid>|is', $post, $post_title);
- $post_title = $wpdb->escape(trim($post_title[1]));
- }
-
- preg_match('|<eventtime>(.*?)</eventtime>|is', $post, $post_date);
- $post_date = strtotime($post_date[1]);
- $post_date = gmdate('Y-m-d H:i:s', $post_date);
-
- preg_match('|<event>(.*?)</event>|is', $post, $post_content);
- $post_content = str_replace(array ('<![CDATA[', ']]>'), '', trim($post_content[1]));
- $post_content = $this->unhtmlentities($post_content);
-
- // Clean up content
- $post_content = preg_replace('|<(/?[A-Z]+)|e', "'<' . strtolower('$1')", $post_content);
- $post_content = str_replace('<br>', '<br />', $post_content);
- $post_content = str_replace('<hr>', '<hr />', $post_content);
- $post_content = $wpdb->escape($post_content);
-
- $post_author = $current_user->ID;
- $post_status = 'publish';
-
- echo '<li>';
- if ($post_id = post_exists($post_title, $post_content, $post_date)) {
- printf(__('Post <i>%s</i> already exists.'), stripslashes($post_title));
- } else {
- printf(__('Importing post <i>%s</i>...'), stripslashes($post_title));
- $postdata = compact('post_author', 'post_date', 'post_content', 'post_title', 'post_status');
- $post_id = wp_insert_post($postdata);
- if (!$post_id) {
- _e("Couldn't get post ID");
- echo '</li>';
- break;
- }
- }
-
- preg_match_all('|<comment>(.*?)</comment>|is', $post, $comments);
- $comments = $comments[1];
-
- if ( $comments ) {
- $comment_post_ID = $post_id;
- $num_comments = 0;
- foreach ($comments as $comment) {
- preg_match('|<event>(.*?)</event>|is', $comment, $comment_content);
- $comment_content = str_replace(array ('<![CDATA[', ']]>'), '', trim($comment_content[1]));
- $comment_content = $this->unhtmlentities($comment_content);
-
- // Clean up content
- $comment_content = preg_replace('|<(/?[A-Z]+)|e', "'<' . strtolower('$1')", $comment_content);
- $comment_content = str_replace('<br>', '<br />', $comment_content);
- $comment_content = str_replace('<hr>', '<hr />', $comment_content);
- $comment_content = $wpdb->escape($comment_content);
-
- preg_match('|<eventtime>(.*?)</eventtime>|is', $comment, $comment_date);
- $comment_date = trim($comment_date[1]);
- $comment_date = date('Y-m-d H:i:s', strtotime($comment_date));
-
- preg_match('|<name>(.*?)</name>|is', $comment, $comment_author);
- $comment_author = $wpdb->escape(trim($comment_author[1]));
-
- preg_match('|<email>(.*?)</email>|is', $comment, $comment_author_email);
- $comment_author_email = $wpdb->escape(trim($comment_author_email[1]));
-
- $comment_approved = 1;
- // Check if it's already there
- if (!comment_exists($comment_author, $comment_date)) {
- $commentdata = compact('comment_post_ID', 'comment_author', 'comment_author_email', 'comment_date', 'comment_content', 'comment_approved');
- $commentdata = wp_filter_comment($commentdata);
- wp_insert_comment($commentdata);
- $num_comments++;
- }
- }
- }
- if ( $num_comments ) {
- echo ' ';
- printf(__('(%s comments)'), $num_comments);
- }
- echo '</li>';
- }
- echo '</ol>';
- }
-
- function import() {
- $file = wp_import_handle_upload();
- if ( isset($file['error']) ) {
- echo $file['error'];
- return;
- }
-
- $this->file = $file['file'];
- $this->import_posts();
- wp_import_cleanup($file['id']);
-
- echo '<h3>';
- printf(__('All done. <a href="%s">Have fun!</a>'), get_option('home'));
- echo '</h3>';
- }
-
- function dispatch() {
- if (empty ($_GET['step']))
- $step = 0;
- else
- $step = (int) $_GET['step'];
-
- $this->header();
-
- switch ($step) {
- case 0 :
- $this->greet();
- break;
- case 1 :
- $this->import();
- break;
- }
-
- $this->footer();
- }
-
- function LJ_Import() {
- // Nothing.
- }
-}
-
-$livejournal_import = new LJ_Import();
-
-register_importer('livejournal', 'LiveJournal', __('Import posts from LiveJournal'), array ($livejournal_import, 'dispatch'));
-?>
diff --git a/wp-inst/wp-admin/import/mt.php b/wp-inst/wp-admin/import/mt.php
deleted file mode 100644
index 59259ea..0000000
--- a/wp-inst/wp-admin/import/mt.php
+++ /dev/null
@@ -1,407 +0,0 @@
-<?php
-
-class MT_Import {
-
- var $posts = array ();
- var $file;
- var $id;
- var $mtnames = array ();
- var $newauthornames = array ();
- var $j = -1;
-
- function header() {
- echo '<div class="wrap">';
- echo '<h2>'.__('Import Movable Type and Typepad').'</h2>';
- }
-
- function footer() {
- echo '</div>';
- }
-
- function greet() {
- $this->header();
-?>
-<p><?php _e('Howdy! We&#8217;re about to begin the process to import all of your Movable Type entries into WordPress. To begin, select a file to upload and click Import.'); ?></p>
-<?php wp_import_upload_form( add_query_arg('step', 1) ); ?>
- <p><?php _e('The importer is smart enough not to import duplicates, so you can run this multiple times without worry if&#8212;for whatever reason&#8212;it doesn\'t finish. If you get an <strong>out of memory</strong> error try splitting up the import file into pieces.'); ?> </p>
-<?php
- $this->footer();
- }
-
- function users_form($n) {
- global $wpdb, $testing;
- $users = get_users_of_blog($wpdb->blogid);
-?><select name="userselect[<?php echo $n; ?>]">
- <option value="#NONE#">- Select -</option>
- <?php
-
-
- foreach ($users as $user) {
- echo '<option value="'.$user->user_login.'">'.$user->user_login.'</option>';
- }
-?>
- </select>
- <?php
-
-
- }
-
- //function to check the authorname and do the mapping
- function checkauthor($author) {
- global $wpdb;
- //mtnames is an array with the names in the mt import file
- $key = array_search($author, $this->mtnames); //find the array key for $author in the $mtnames array
- $user_id = username_exists($this->newauthornames[$key]); //use that key to get the value of the author's name from $newauthornames
-
- return $user_id;
- }
-
- function get_entries() {
- set_magic_quotes_runtime(0);
- $importdata = file($this->file); // Read the file into an array
- $importdata = implode('', $importdata); // squish it
- $importdata = preg_replace("/(\r\n|\n|\r)/", "\n", $importdata);
- $importdata = preg_replace("/\n--------\n/", "--MT-ENTRY--\n", $importdata);
- $this->posts = explode("--MT-ENTRY--", $importdata);
- }
-
- function get_mt_authors() {
- $temp = array ();
- $i = -1;
- foreach ($this->posts as $post) {
- if ('' != trim($post)) {
- ++ $i;
- preg_match("|AUTHOR:(.*)|", $post, $thematch);
- $thematch = trim($thematch[1]);
- array_push($temp, "$thematch"); //store the extracted author names in a temporary array
- }
- }
-
- //we need to find unique values of author names, while preserving the order, so this function emulates the unique_value(); php function, without the sorting.
- $authors[0] = array_shift($temp);
- $y = count($temp) + 1;
- for ($x = 1; $x < $y; $x ++) {
- $next = array_shift($temp);
- if (!(in_array($next, $authors)))
- array_push($authors, "$next");
- }
-
- return $authors;
- }
-
- function get_authors_from_post() {
- $formnames = array ();
- $selectnames = array ();
-
- foreach ($_POST['userselect'] as $user => $key) {
- $selected = trim(stripslashes($key));
- array_push($selectnames, "$selected");
- }
-
- $count = count($formnames);
- for ($i = 0; $i < $count; $i ++) {
- if ($selectnames[$i] != '#NONE#') { //if no name was selected from the select menu, use the name entered in the form
- array_push($this->newauthornames, "$selectnames[$i]");
- } else {
- array_push($this->newauthornames, "$formnames[$i]");
- }
- }
- }
-
- function mt_authors_form() {
-?>
-<div class="wrap">
-<h2><?php _e('Assign Authors'); ?></h2>
-<p><?php _e('To make it easier for you to edit and save the imported posts and drafts, you may want to change the name of the author of the posts. For example, you may want to import all the entries as <code>admin</code>s entries.'); ?></p>
-<p><?php _e('Below, you can see the names of the authors of the MovableType posts in <i>italics</i>. For each of these names, you can either pick an author in your WordPress installation from the menu, or enter a name for the author in the textbox.'); ?></p>
-<p><?php _e('If a new user is created by WordPress, the password will be set, by default, to "changeme". Quite suggestive, eh? ;)'); ?></p>
- <?php
-
-
- $authors = $this->get_mt_authors();
- echo '<ol id="authors">';
- echo '<form action="?import=mt&amp;step=2&amp;id=' . $this->id . '" method="post">';
- $j = -1;
- foreach ($authors as $author) {
- ++ $j;
- echo '<li><i>'.$author.'</i><br />'.'<input type="text" value="'.$author.'" name="'.'user[]'.'" maxlength="30">';
- $this->users_form($j);
- echo '</li>';
- }
-
- echo '<input type="submit" value="Submit">'.'<br/>';
- echo '</form>';
- echo '</ol></div>';
-
- }
-
- function select_authors() {
- $file = wp_import_handle_upload();
- if ( isset($file['error']) ) {
- echo $file['error'];
- return;
- }
- $this->file = $file['file'];
- $this->id = $file['id'];
-
- $this->get_entries();
- $this->mt_authors_form();
- }
-
- function process_posts() {
- global $wpdb;
- $i = -1;
- echo "<div class='wrap'><ol>";
- foreach ($this->posts as $post) {
- if ('' != trim($post)) {
- ++ $i;
- unset ($post_categories);
-
- // Take the pings out first
- preg_match("|(-----\n\nPING:.*)|s", $post, $pings);
- $post = preg_replace("|(-----\n\nPING:.*)|s", '', $post);
-
- // Then take the comments out
- preg_match("|(-----\nCOMMENT:.*)|s", $post, $comments);
- $post = preg_replace("|(-----\nCOMMENT:.*)|s", '', $post);
-
- // We ignore the keywords
- $post = preg_replace("|(-----\nKEYWORDS:.*)|s", '', $post);
-
- // We want the excerpt
- preg_match("|-----\nEXCERPT:(.*)|s", $post, $excerpt);
- $excerpt = $wpdb->escape(trim($excerpt[1]));
- $post = preg_replace("|(-----\nEXCERPT:.*)|s", '', $post);
-
- // We're going to put extended body into main body with a more tag
- preg_match("|-----\nEXTENDED BODY:(.*)|s", $post, $extended);
- $extended = trim($extended[1]);
- if ('' != $extended)
- $extended = "\n<!--more-->\n$extended";
- $post = preg_replace("|(-----\nEXTENDED BODY:.*)|s", '', $post);
-
- // Now for the main body
- preg_match("|-----\nBODY:(.*)|s", $post, $body);
- $body = trim($body[1]);
- $post_content = $wpdb->escape($body.$extended);
- $post = preg_replace("|(-----\nBODY:.*)|s", '', $post);
-
- // Grab the metadata from what's left
- $metadata = explode("\n", $post);
- foreach ($metadata as $line) {
- preg_match("/^(.*?):(.*)/", $line, $token);
- $key = trim($token[1]);
- $value = trim($token[2]);
- // Now we decide what it is and what to do with it
- switch ($key) {
- case '' :
- break;
- case 'AUTHOR' :
- $post_author = $value;
- break;
- case 'TITLE' :
- $post_title = $wpdb->escape($value);
- break;
- case 'STATUS' :
- // "publish" and "draft" enumeration items match up; no change required
- $post_status = $value;
- if (empty ($post_status))
- $post_status = 'publish';
- break;
- case 'ALLOW COMMENTS' :
- $post_allow_comments = $value;
- if ($post_allow_comments == 1) {
- $comment_status = 'open';
- } else {
- $comment_status = 'closed';
- }
- break;
- case 'CONVERT BREAKS' :
- $post_convert_breaks = $value;
- break;
- case 'ALLOW PINGS' :
- $ping_status = trim($meta[2][0]);
- if ($ping_status == 1) {
- $ping_status = 'open';
- } else {
- $ping_status = 'closed';
- }
- break;
- case 'PRIMARY CATEGORY' :
- if (! empty ($value) )
- $post_categories[] = $wpdb->escape($value);
- break;
- case 'CATEGORY' :
- if (! empty ($value) )
- $post_categories[] = $wpdb->escape($value);
- break;
- case 'DATE' :
- $post_modified = strtotime($value);
- $post_modified = date('Y-m-d H:i:s', $post_modified);
- $post_modified_gmt = get_gmt_from_date("$post_modified");
- $post_date = $post_modified;
- $post_date_gmt = $post_modified_gmt;
- break;
- default :
- // echo "\n$key: $value";
- break;
- } // end switch
- } // End foreach
-
- // Let's check to see if it's in already
- if ($post_id = post_exists($post_title, '', $post_date)) {
- echo '<li>';
- printf(__('Post <i>%s</i> already exists.'), stripslashes($post_title));
- } else {
- echo '<li>';
- printf(__('Importing post <i>%s</i>...'), stripslashes($post_title));
-
- $post_author = $this->checkauthor($post_author); //just so that if a post already exists, new users are not created by checkauthor
-
- $postdata = compact('post_author', 'post_date', 'post_date_gmt', 'post_content', 'post_title', 'post_excerpt', 'post_status', 'comment_status', 'ping_status', 'post_modified', 'post_modified_gmt');
- $post_id = wp_insert_post($postdata);
- // Add categories.
- if (0 != count($post_categories)) {
- wp_create_categories($post_categories, $post_id);
- }
- }
-
- $comment_post_ID = $post_id;
- $comment_approved = 1;
-
- // Now for comments
- $comments = explode("-----\nCOMMENT:", $comments[0]);
- $num_comments = 0;
- foreach ($comments as $comment) {
- if ('' != trim($comment)) {
- // Author
- preg_match("|AUTHOR:(.*)|", $comment, $comment_author);
- $comment_author = $wpdb->escape(trim($comment_author[1]));
- $comment = preg_replace('|(\n?AUTHOR:.*)|', '', $comment);
- preg_match("|EMAIL:(.*)|", $comment, $comment_author_email);
- $comment_author_email = $wpdb->escape(trim($comment_author_email[1]));
- $comment = preg_replace('|(\n?EMAIL:.*)|', '', $comment);
-
- preg_match("|IP:(.*)|", $comment, $comment_author_IP);
- $comment_author_IP = trim($comment_author_IP[1]);
- $comment = preg_replace('|(\n?IP:.*)|', '', $comment);
-
- preg_match("|URL:(.*)|", $comment, $comment_author_url);
- $comment_author_url = $wpdb->escape(trim($comment_author_url[1]));
- $comment = preg_replace('|(\n?URL:.*)|', '', $comment);
-
- preg_match("|DATE:(.*)|", $comment, $comment_date);
- $comment_date = trim($comment_date[1]);
- $comment_date = date('Y-m-d H:i:s', strtotime($comment_date));
- $comment = preg_replace('|(\n?DATE:.*)|', '', $comment);
-
- $comment_content = $wpdb->escape(trim($comment));
- $comment_content = str_replace('-----', '', $comment_content);
- // Check if it's already there
- if (!comment_exists($comment_author, $comment_date)) {
- $commentdata = compact('comment_post_ID', 'comment_author', 'comment_author_url', 'comment_author_email', 'comment_author_IP', 'comment_date', 'comment_content', 'comment_approved');
- $commentdata = wp_filter_comment($commentdata);
- wp_insert_comment($commentdata);
- $num_comments++;
- }
- }
- }
- if ( $num_comments )
- printf(__(' (%s comments)'), $num_comments);
-
- // Finally the pings
- // fix the double newline on the first one
- $pings[0] = str_replace("-----\n\n", "-----\n", $pings[0]);
- $pings = explode("-----\nPING:", $pings[0]);
- $num_pings = 0;
- foreach ($pings as $ping) {
- if ('' != trim($ping)) {
- // 'Author'
- preg_match("|BLOG NAME:(.*)|", $ping, $comment_author);
- $comment_author = $wpdb->escape(trim($comment_author[1]));
- $ping = preg_replace('|(\n?BLOG NAME:.*)|', '', $ping);
-
- preg_match("|IP:(.*)|", $ping, $comment_author_IP);
- $comment_author_IP = trim($comment_author_IP[1]);
- $ping = preg_replace('|(\n?IP:.*)|', '', $ping);
-
- preg_match("|URL:(.*)|", $ping, $comment_author_url);
- $comment_author_url = $wpdb->escape(trim($comment_author_url[1]));
- $ping = preg_replace('|(\n?URL:.*)|', '', $ping);
-
- preg_match("|DATE:(.*)|", $ping, $comment_date);
- $comment_date = trim($comment_date[1]);
- $comment_date = date('Y-m-d H:i:s', strtotime($comment_date));
- $ping = preg_replace('|(\n?DATE:.*)|', '', $ping);
-
- preg_match("|TITLE:(.*)|", $ping, $ping_title);
- $ping_title = $wpdb->escape(trim($ping_title[1]));
- $ping = preg_replace('|(\n?TITLE:.*)|', '', $ping);
-
- $comment_content = $wpdb->escape(trim($ping));
- $comment_content = str_replace('-----', '', $comment_content);
-
- $comment_content = "<strong>$ping_title</strong>\n\n$comment_content";
-
- $comment_type = 'trackback';
-
- // Check if it's already there
- if (!comment_exists($comment_author, $comment_date)) {
- $commentdata = compact('comment_post_ID', 'comment_author', 'comment_author_url', 'comment_author_email', 'comment_author_IP', 'comment_date', 'comment_content', 'comment_type', 'comment_approved');
- $commentdata = wp_filter_comment($commentdata);
- wp_insert_comment($commentdata);
- $num_pings++;
- }
- }
- }
- if ( $num_pings )
- printf(__(' (%s pings)'), $num_pings);
-
- echo "</li>";
- }
- }
-
- echo '</ol>';
-
- wp_import_cleanup($this->id);
-
- echo '<h3>'.sprintf(__('All done. <a href="%s">Have fun!</a>'), get_option('home')).'</h3></div>';
- }
-
- function import() {
- $this->id = (int) $_GET['id'];
-
- $this->file = get_attached_file($this->id);
- $this->get_authors_from_post();
- $this->get_entries();
- $this->process_posts();
- }
-
- function dispatch() {
- if (empty ($_GET['step']))
- $step = 0;
- else
- $step = (int) $_GET['step'];
-
- switch ($step) {
- case 0 :
- $this->greet();
- break;
- case 1 :
- $this->select_authors();
- break;
- case 2:
- $this->import();
- break;
- }
- }
-
- function MT_Import() {
- // Nothing.
- }
-}
-
-$mt_import = new MT_Import();
-
-register_importer('mt', 'Movable Type and Typepad', __('Imports <strong>posts and comments</strong> from your Movable Type or Typepad blog'), array ($mt_import, 'dispatch'));
-?>
diff --git a/wp-inst/wp-admin/import/rss.php b/wp-inst/wp-admin/import/rss.php
deleted file mode 100644
index 69972f3..0000000
--- a/wp-inst/wp-admin/import/rss.php
+++ /dev/null
@@ -1,171 +0,0 @@
-<?php
-
-class RSS_Import {
-
- var $posts = array ();
- var $file;
-
- function header() {
- echo '<div class="wrap">';
- echo '<h2>'.__('Import RSS').'</h2>';
- }
-
- function footer() {
- echo '</div>';
- }
-
- function unhtmlentities($string) { // From php.net for < 4.3 compat
- $trans_tbl = get_html_translation_table(HTML_ENTITIES);
- $trans_tbl = array_flip($trans_tbl);
- return strtr($string, $trans_tbl);
- }
-
- function greet() {
- echo '<p>'.__('Howdy! This importer allows you to extract posts from any RSS 2.0 file into your blog. This is useful if you want to import your posts from a system that is not handled by a custom import tool. Pick an RSS file to upload and click Import.').'</p>';
- wp_import_upload_form("admin.php?import=rss&amp;step=1");
- }
-
- function get_posts() {
- global $wpdb;
-
- set_magic_quotes_runtime(0);
- $datalines = file($this->file); // Read the file into an array
- $importdata = implode('', $datalines); // squish it
- $importdata = str_replace(array ("\r\n", "\r"), "\n", $importdata);
-
- preg_match_all('|<item>(.*?)</item>|is', $importdata, $this->posts);
- $this->posts = $this->posts[1];
- $index = 0;
- foreach ($this->posts as $post) {
- preg_match('|<title>(.*?)</title>|is', $post, $post_title);
- $post_title = $wpdb->escape(trim($post_title[1]));
-
- preg_match('|<pubdate>(.*?)</pubdate>|is', $post, $post_date);
-
- if ($post_date) {
- $post_date = strtotime($post_date[1]);
- } else {
- // if we don't already have something from pubDate
- preg_match('|<dc:date>(.*?)</dc:date>|is', $post, $post_date);
- $post_date = preg_replace('|([-+])([0-9]+):([0-9]+)$|', '\1\2\3', $post_date[1]);
- $post_date = str_replace('T', ' ', $post_date);
- $post_date = strtotime($post_date);
- }
-
- $post_date = gmdate('Y-m-d H:i:s', $post_date);
-
- preg_match_all('|<category>(.*?)</category>|is', $post, $categories);
- $categories = $categories[1];
-
- if (!$categories) {
- preg_match_all('|<dc:subject>(.*?)</dc:subject>|is', $post, $categories);
- $categories = $categories[1];
- }
-
- $cat_index = 0;
- foreach ($categories as $category) {
- $categories[$cat_index] = $wpdb->escape($this->unhtmlentities($category));
- $cat_index++;
- }
-
- preg_match('|<guid.+?>(.*?)</guid>|is', $post, $guid);
- if ($guid)
- $guid = $wpdb->escape(trim($guid[1]));
- else
- $guid = '';
-
- preg_match('|<content:encoded>(.*?)</content:encoded>|is', $post, $post_content);
- $post_content = str_replace(array ('<![CDATA[', ']]>'), '', $wpdb->escape(trim($post_content[1])));
-
- if (!$post_content) {
- // This is for feeds that put content in description
- preg_match('|<description>(.*?)</description>|is', $post, $post_content);
- $post_content = $wpdb->escape($this->unhtmlentities(trim($post_content[1])));
- }
-
- // Clean up content
- $post_content = preg_replace('|<(/?[A-Z]+)|e', "'<' . strtolower('$1')", $post_content);
- $post_content = str_replace('<br>', '<br />', $post_content);
- $post_content = str_replace('<hr>', '<hr />', $post_content);
-
- $post_author = 1;
- $post_status = 'publish';
- $this->posts[$index] = compact('post_author', 'post_date', 'post_content', 'post_title', 'post_status', 'guid', 'categories');
- $index++;
- }
- }
-
- function import_posts() {
- echo '<ol>';
-
- foreach ($this->posts as $post) {
- echo "<li>".__('Importing post...');
-
- extract($post);
-
- if ($post_id = post_exists($post_title, $post_content, $post_date)) {
- _e('Post already imported');
- } else {
- $post_id = wp_insert_post($post);
- if (!$post_id) {
- _e("Couldn't get post ID");
- return;
- }
-
- if (0 != count($categories))
- wp_create_categories($categories, $post_id);
- _e('Done !');
- }
- echo '</li>';
- }
-
- echo '</ol>';
-
- }
-
- function import() {
- $file = wp_import_handle_upload();
- if ( isset($file['error']) ) {
- echo $file['error'];
- return;
- }
-
- $this->file = $file['file'];
- $this->get_posts();
- $this->import_posts();
- wp_import_cleanup($file['id']);
-
- echo '<h3>';
- printf(__('All done. <a href="%s">Have fun!</a>'), get_option('home'));
- echo '</h3>';
- }
-
- function dispatch() {
- if (empty ($_GET['step']))
- $step = 0;
- else
- $step = (int) $_GET['step'];
-
- $this->header();
-
- switch ($step) {
- case 0 :
- $this->greet();
- break;
- case 1 :
- $this->import();
- break;
- }
-
- $this->footer();
- }
-
- function RSS_Import() {
- // Nothing.
- }
-}
-
-$rss_import = new RSS_Import();
-
-register_importer('rss', 'RSS', __('Import posts from an RSS feed'), array ($rss_import, 'dispatch'));
-?>
diff --git a/wp-inst/wp-admin/import/textpattern.php b/wp-inst/wp-admin/import/textpattern.php
deleted file mode 100644
index 17cae87..0000000
--- a/wp-inst/wp-admin/import/textpattern.php
+++ /dev/null
@@ -1,663 +0,0 @@
-<?php
-/**
- Add These Functions to make our lives easier
-**/
-if(!function_exists('get_catbynicename'))
-{
- function get_catbynicename($category_nicename)
- {
- global $wpdb;
-
- $cat_id -= 0; // force numeric
- $name = $wpdb->get_var('SELECT cat_ID FROM '.$wpdb->categories.' WHERE category_nicename="'.$category_nicename.'"');
-
- return $name;
- }
-}
-
-if(!function_exists('get_comment_count'))
-{
- function get_comment_count($post_ID)
- {
- global $wpdb;
- return $wpdb->get_var('SELECT count(*) FROM '.$wpdb->comments.' WHERE comment_post_ID = '.$post_ID);
- }
-}
-
-if(!function_exists('link_exists'))
-{
- function link_exists($linkname)
- {
- global $wpdb;
- return $wpdb->get_var('SELECT link_id FROM '.$wpdb->links.' WHERE link_name = "'.$wpdb->escape($linkname).'"');
- }
-}
-
-/**
- The Main Importer Class
-**/
-class Textpattern_Import {
-
- function header()
- {
- echo '<div class="wrap">';
- echo '<h2>'.__('Import Textpattern').'</h2>';
- echo '<p>'.__('Steps may take a few minutes depending on the size of your database. Please be patient.').'</p>';
- }
-
- function footer()
- {
- echo '</div>';
- }
-
- function greet()
- {
- echo '<p>'.__('Howdy! This importer allows you to extract posts from any Textpattern 4.0.2+ into your blog. This has not been tested on previous versions of Textpattern. Mileage may vary.').'</p>';
- echo '<p>'.__('Your Textpattern Configuration settings are as follows:').'</p>';
- echo '<form action="admin.php?import=textpattern&amp;step=1" method="post">';
- $this->db_form();
- echo '<input type="submit" name="submit" value="'.__('Import Categories').'" />';
- echo '</form>';
- }
-
- function get_txp_cats()
- {
- global $wpdb;
- // General Housekeeping
- $txpdb = new wpdb(get_option('txpuser'), get_option('txppass'), get_option('txpname'), get_option('txphost'));
- set_magic_quotes_runtime(0);
- $prefix = get_option('tpre');
-
- // Get Categories
- return $txpdb->get_results('SELECT
- id,
- name,
- title
- FROM '.$prefix.'txp_category
- WHERE type = "article"',
- ARRAY_A);
- }
-
- function get_txp_users()
- {
- global $wpdb;
- // General Housekeeping
- $txpdb = new wpdb(get_option('txpuser'), get_option('txppass'), get_option('txpname'), get_option('txphost'));
- set_magic_quotes_runtime(0);
- $prefix = get_option('tpre');
-
- // Get Users
-
- return $txpdb->get_results('SELECT
- user_id,
- name,
- RealName,
- email,
- privs
- FROM '.$prefix.'txp_users', ARRAY_A);
- }
-
- function get_txp_posts()
- {
- // General Housekeeping
- $txpdb = new wpdb(get_option('txpuser'), get_option('txppass'), get_option('txpname'), get_option('txphost'));
- set_magic_quotes_runtime(0);
- $prefix = get_option('tpre');
-
- // Get Posts
- return $txpdb->get_results('SELECT
- ID,
- Posted,
- AuthorID,
- LastMod,
- Title,
- Body,
- Excerpt,
- Category1,
- Category2,
- Status,
- Keywords,
- url_title,
- comments_count
- FROM '.$prefix.'textpattern
- ', ARRAY_A);
- }
-
- function get_txp_comments()
- {
- global $wpdb;
- // General Housekeeping
- $txpdb = new wpdb(get_option('txpuser'), get_option('txppass'), get_option('txpname'), get_option('txphost'));
- set_magic_quotes_runtime(0);
- $prefix = get_option('tpre');
-
- // Get Comments
- return $txpdb->get_results('SELECT * FROM '.$prefix.'txp_discuss', ARRAY_A);
- }
-
- function get_txp_links()
- {
- //General Housekeeping
- $txpdb = new wpdb(get_option('txpuser'), get_option('txppass'), get_option('txpname'), get_option('txphost'));
- set_magic_quotes_runtime(0);
- $prefix = get_option('tpre');
-
- return $txpdb->get_results('SELECT
- id,
- date,
- category,
- url,
- linkname,
- description
- FROM '.$prefix.'txp_link',
- ARRAY_A);
- }
-
- function cat2wp($categories='')
- {
- // General Housekeeping
- global $wpdb;
- $count = 0;
- $txpcat2wpcat = array();
- // Do the Magic
- if(is_array($categories))
- {
- echo '<p>'.__('Importing Categories...').'<br /><br /></p>';
- foreach ($categories as $category)
- {
- $count++;
- extract($category);
-
-
- // Make Nice Variables
- $name = $wpdb->escape($name);
- $title = $wpdb->escape($title);
-
- if($cinfo = category_exists($name))
- {
- $ret_id = wp_insert_category(array('cat_ID' => $cinfo, 'category_nicename' => $name, 'cat_name' => $title));
- }
- else
- {
- $ret_id = wp_insert_category(array('category_nicename' => $name, 'cat_name' => $title));
- }
- $txpcat2wpcat[$id] = $ret_id;
- }
-
- // Store category translation for future use
- add_option('txpcat2wpcat',$txpcat2wpcat);
- echo '<p>'.sprintf(__('Done! <strong>%1$s</strong> categories imported.'), $count).'<br /><br /></p>';
- return true;
- }
- echo __('No Categories to Import!');
- return false;
- }
-
- function users2wp($users='')
- {
- // General Housekeeping
- global $wpdb;
- $count = 0;
- $txpid2wpid = array();
-
- // Midnight Mojo
- if(is_array($users))
- {
- echo '<p>'.__('Importing Users...').'<br /><br /></p>';
- foreach($users as $user)
- {
- $count++;
- extract($user);
-
- // Make Nice Variables
- $name = $wpdb->escape($name);
- $RealName = $wpdb->escape($RealName);
-
- if($uinfo = get_userdatabylogin($name))
- {
-
- $ret_id = wp_insert_user(array(
- 'ID' => $uinfo->ID,
- 'user_login' => $name,
- 'user_nicename' => $RealName,
- 'user_email' => $email,
- 'user_url' => 'http://',
- 'display_name' => $name)
- );
- }
- else
- {
- $ret_id = wp_insert_user(array(
- 'user_login' => $name,
- 'user_nicename' => $RealName,
- 'user_email' => $email,
- 'user_url' => 'http://',
- 'display_name' => $name)
- );
- }
- $txpid2wpid[$user_id] = $ret_id;
-
- // Set Textpattern-to-WordPress permissions translation
- $transperms = array(1 => '10', 2 => '9', 3 => '5', 4 => '4', 5 => '3', 6 => '2', 7 => '0');
-
- // Update Usermeta Data
- $user = new WP_User($ret_id);
- if('10' == $transperms[$privs]) { $user->set_role('administrator'); }
- if('9' == $transperms[$privs]) { $user->set_role('editor'); }
- if('5' == $transperms[$privs]) { $user->set_role('editor'); }
- if('4' == $transperms[$privs]) { $user->set_role('author'); }
- if('3' == $transperms[$privs]) { $user->set_role('contributor'); }
- if('2' == $transperms[$privs]) { $user->set_role('contributor'); }
- if('0' == $transperms[$privs]) { $user->set_role('subscriber'); }
-
- update_usermeta( $ret_id, 'wp_user_level', $transperms[$privs] );
- update_usermeta( $ret_id, 'rich_editing', 'false');
- }// End foreach($users as $user)
-
- // Store id translation array for future use
- add_option('txpid2wpid',$txpid2wpid);
-
-
- echo '<p>'.sprintf(__('Done! <strong>%1$s</strong> users imported.'), $count).'<br /><br /></p>';
- return true;
- }// End if(is_array($users)
-
- echo __('No Users to Import!');
- return false;
-
- }// End function user2wp()
-
- function posts2wp($posts='')
- {
- // General Housekeeping
- global $wpdb;
- $count = 0;
- $txpposts2wpposts = array();
- $cats = array();
-
- // Do the Magic
- if(is_array($posts))
- {
- echo '<p>'.__('Importing Posts...').'<br /><br /></p>';
- foreach($posts as $post)
- {
- $count++;
- extract($post);
-
- // Set Textpattern-to-WordPress status translation
- $stattrans = array(1 => 'draft', 2 => 'private', 3 => 'draft', 4 => 'publish', 5 => 'publish');
-
- //Can we do this more efficiently?
- $uinfo = ( get_userdatabylogin( $AuthorID ) ) ? get_userdatabylogin( $AuthorID ) : 1;
- $authorid = ( is_object( $uinfo ) ) ? $uinfo->ID : $uinfo ;
-
- $Title = $wpdb->escape($Title);
- $Body = $wpdb->escape($Body);
- $Excerpt = $wpdb->escape($Excerpt);
- $post_status = $stattrans[$Status];
-
- // Import Post data into WordPress
-
- if($pinfo = post_exists($Title,$Body))
- {
- $ret_id = wp_insert_post(array(
- 'ID' => $pinfo,
- 'post_date' => $Posted,
- 'post_date_gmt' => $post_date_gmt,
- 'post_author' => $authorid,
- 'post_modified' => $LastMod,
- 'post_modified_gmt' => $post_modified_gmt,
- 'post_title' => $Title,
- 'post_content' => $Body,
- 'post_excerpt' => $Excerpt,
- 'post_status' => $post_status,
- 'post_name' => $url_title,
- 'comment_count' => $comments_count)
- );
- }
- else
- {
- $ret_id = wp_insert_post(array(
- 'post_date' => $Posted,
- 'post_date_gmt' => $post_date_gmt,
- 'post_author' => $authorid,
- 'post_modified' => $LastMod,
- 'post_modified_gmt' => $post_modified_gmt,
- 'post_title' => $Title,
- 'post_content' => $Body,
- 'post_excerpt' => $Excerpt,
- 'post_status' => $post_status,
- 'post_name' => $url_title,
- 'comment_count' => $comments_count)
- );
- }
- $txpposts2wpposts[$ID] = $ret_id;
-
- // Make Post-to-Category associations
- $cats = array();
- if($cat1 = get_catbynicename($Category1)) { $cats[1] = $cat1; }
- if($cat2 = get_catbynicename($Category2)) { $cats[2] = $cat2; }
-
- if(!empty($cats)) { wp_set_post_cats('', $ret_id, $cats); }
- }
- }
- // Store ID translation for later use
- add_option('txpposts2wpposts',$txpposts2wpposts);
-
- echo '<p>'.sprintf(__('Done! <strong>%1$s</strong> posts imported.'), $count).'<br /><br /></p>';
- return true;
- }
-
- function comments2wp($comments='')
- {
- // General Housekeeping
- global $wpdb;
- $count = 0;
- $txpcm2wpcm = array();
- $postarr = get_option('txpposts2wpposts');
-
- // Magic Mojo
- if(is_array($comments))
- {
- echo '<p>'.__('Importing Comments...').'<br /><br /></p>';
- foreach($comments as $comment)
- {
- $count++;
- extract($comment);
-
- // WordPressify Data
- $comment_ID = ltrim($discussid, '0');
- $comment_post_ID = $postarr[$parentid];
- $comment_approved = (1 == $visible) ? 1 : 0;
- $name = $wpdb->escape($name);
- $email = $wpdb->escape($email);
- $web = $wpdb->escape($web);
- $message = $wpdb->escape($message);
-
- if($cinfo = comment_exists($name, $posted))
- {
- // Update comments
- $ret_id = wp_update_comment(array(
- 'comment_ID' => $cinfo,
- 'comment_post_ID' => $comment_post_ID,
- 'comment_author' => $name,
- 'comment_author_email' => $email,
- 'comment_author_url' => $web,
- 'comment_date' => $posted,
- 'comment_content' => $message,
- 'comment_approved' => $comment_approved)
- );
- }
- else
- {
- // Insert comments
- $ret_id = wp_insert_comment(array(
- 'comment_post_ID' => $comment_post_ID,
- 'comment_author' => $name,
- 'comment_author_email' => $email,
- 'comment_author_url' => $web,
- 'comment_author_IP' => $ip,
- 'comment_date' => $posted,
- 'comment_content' => $message,
- 'comment_approved' => $comment_approved)
- );
- }
- $txpcm2wpcm[$comment_ID] = $ret_id;
- }
- // Store Comment ID translation for future use
- add_option('txpcm2wpcm', $txpcm2wpcm);
-
- // Associate newly formed categories with posts
- get_comment_count($ret_id);
-
-
- echo '<p>'.sprintf(__('Done! <strong>%1$s</strong> comments imported.'), $count).'<br /><br /></p>';
- return true;
- }
- echo __('No Comments to Import!');
- return false;
- }
-
- function links2wp($links='')
- {
- // General Housekeeping
- global $wpdb;
- $count = 0;
-
- // Deal with the links
- if(is_array($links))
- {
- echo '<p>'.__('Importing Links...').'<br /><br /></p>';
- foreach($links as $link)
- {
- $count++;
- extract($link);
-
- // Make nice vars
- $category = $wpdb->escape($category);
- $linkname = $wpdb->escape($linkname);
- $description = $wpdb->escape($description);
-
- if($linfo = link_exists($linkname))
- {
- $ret_id = wp_insert_link(array(
- 'link_id' => $linfo,
- 'link_url' => $url,
- 'link_name' => $linkname,
- 'link_category' => $category,
- 'link_description' => $description,
- 'link_updated' => $date)
- );
- }
- else
- {
- $ret_id = wp_insert_link(array(
- 'link_url' => $url,
- 'link_name' => $linkname,
- 'link_category' => $category,
- 'link_description' => $description,
- 'link_updated' => $date)
- );
- }
- $txplinks2wplinks[$link_id] = $ret_id;
- }
- add_option('txplinks2wplinks',$txplinks2wplinks);
- echo '<p>';
- printf(__('Done! <strong>%s</strong> Links imported'), $count);
- echo '<br /><br /></p>';
- return true;
- }
- echo __('No Links to Import!');
- return false;
- }
-
- function import_categories()
- {
- // Category Import
- $cats = $this->get_txp_cats();
- $this->cat2wp($cats);
- add_option('txp_cats', $cats);
-
-
-
- echo '<form action="admin.php?import=textpattern&amp;step=2" method="post">';
- printf('<input type="submit" name="submit" value="%s" />', __('Import Users'));
- echo '</form>';
-
- }
-
- function import_users()
- {
- // User Import
- $users = $this->get_txp_users();
- $this->users2wp($users);
-
- echo '<form action="admin.php?import=textpattern&amp;step=3" method="post">';
- printf('<input type="submit" name="submit" value="%s" />', __('Import Posts'));
- echo '</form>';
- }
-
- function import_posts()
- {
- // Post Import
- $posts = $this->get_txp_posts();
- $this->posts2wp($posts);
-
- echo '<form action="admin.php?import=textpattern&amp;step=4" method="post">';
- printf('<input type="submit" name="submit" value="%s" />', __('Import Comments'));
- echo '</form>';
- }
-
- function import_comments()
- {
- // Comment Import
- $comments = $this->get_txp_comments();
- $this->comments2wp($comments);
-
- echo '<form action="admin.php?import=textpattern&amp;step=5" method="post">';
- printf('<input type="submit" name="submit" value="%s" />', __('Import Links'));
- echo '</form>';
- }
-
- function import_links()
- {
- //Link Import
- $links = $this->get_txp_links();
- $this->links2wp($links);
- add_option('txp_links', $links);
-
- echo '<form action="admin.php?import=textpattern&amp;step=6" method="post">';
- printf('<input type="submit" name="submit" value="%s" />', __('Finish'));
- echo '</form>';
- }
-
- function cleanup_txpimport()
- {
- delete_option('tpre');
- delete_option('txp_cats');
- delete_option('txpid2wpid');
- delete_option('txpcat2wpcat');
- delete_option('txpposts2wpposts');
- delete_option('txpcm2wpcm');
- delete_option('txplinks2wplinks');
- delete_option('txpuser');
- delete_option('txppass');
- delete_option('txpname');
- delete_option('txphost');
- $this->tips();
- }
-
- function tips()
- {
- echo '<p>'.__('Welcome to WordPress. We hope (and expect!) that you will find this platform incredibly rewarding! As a new WordPress user coming from Textpattern, there are some things that we would like to point out. Hopefully, they will help your transition go as smoothly as possible.').'</p>';
- echo '<h3>'.__('Users').'</h3>';
- echo '<p>'.sprintf(__('You have already setup WordPress and have been assigned an administrative login and password. Forget it. You didn\'t have that login in Textpattern, why should you have it here? Instead we have taken care to import all of your users into our system. Unfortunately there is one downside. Because both WordPress and Textpattern uses a strong encryption hash with passwords, it is impossible to decrypt it and we are forced to assign temporary passwords to all your users. <strong>Every user has the same username, but their passwords are reset to password123.</strong> So <a href="%1$s">Login</a> and change it.'), '/wp-login.php').'</p>';
- echo '<h3>'.__('Preserving Authors').'</h3>';
- echo '<p>'.__('Secondly, we have attempted to preserve post authors. If you are the only author or contributor to your blog, then you are safe. In most cases, we are successful in this preservation endeavor. However, if we cannot ascertain the name of the writer due to discrepancies between database tables, we assign it to you, the administrative user.').'</p>';
- echo '<h3>'.__('Textile').'</h3>';
- echo '<p>'.__('Also, since you\'re coming from Textpattern, you probably have been using Textile to format your comments and posts. If this is the case, we recommend downloading and installing <a href="http://www.huddledmasses.org/2004/04/19/wordpress-plugin-textile-20/">Textile for WordPress</a>. Trust me... You\'ll want it.').'</p>';
- echo '<h3>'.__('WordPress Resources').'</h3>';
- echo '<p>'.__('Finally, there are numerous WordPress resources around the internet. Some of them are:').'</p>';
- echo '<ul>';
- echo '<li>'.__('<a href="http://www.wordpress.org">The official WordPress site</a>').'</li>';
- echo '<li>'.__('<a href="http://wordpress.org/support/">The WordPress support forums').'</li>';
- echo '<li>'.__('<a href="http://codex.wordpress.org">The Codex (In other words, the WordPress Bible)</a>').'</li>';
- echo '</ul>';
- echo '<p>'.sprintf(__('That\'s it! What are you waiting for? Go <a href="%1$s">login</a>!'), '/wp-login.php').'</p>';
- }
-
- function db_form()
- {
- echo '<ul>';
- printf('<li><label for="dbuser">%s</label> <input type="text" name="dbuser" /></li>', __('Textpattern Database User:'));
- printf('<li><label for="dbpass">%s</label> <input type="password" name="dbpass" /></li>', __('Textpattern Database Password:'));
- printf('<li><label for="dbname">%s</label> <input type="text" name="dbname" /></li>', __('Textpattern Database Name:'));
- printf('<li><label for="dbhost">%s</label> <input type="text" name="dbhost" value="localhost" /></li>', __('Textpattern Database Host:'));
- printf('<li><label for="dbprefix">%s</label> <input type="text" name="dbprefix" /></li>', __('Textpattern Table prefix (if any):'));
- echo '</ul>';
- }
-
- function dispatch()
- {
-
- if (empty ($_GET['step']))
- $step = 0;
- else
- $step = (int) $_GET['step'];
- $this->header();
-
- if ( $step > 0 )
- {
- if($_POST['dbuser'])
- {
- if(get_option('txpuser'))
- delete_option('txpuser');
- add_option('txpuser',$_POST['dbuser']);
- }
- if($_POST['dbpass'])
- {
- if(get_option('txppass'))
- delete_option('txppass');
- add_option('txppass',$_POST['dbpass']);
- }
-
- if($_POST['dbname'])
- {
- if(get_option('txpname'))
- delete_option('txpname');
- add_option('txpname',$_POST['dbname']);
- }
- if($_POST['dbhost'])
- {
- if(get_option('txphost'))
- delete_option('txphost');
- add_option('txphost',$_POST['dbhost']);
- }
- if($_POST['dbprefix'])
- {
- if(get_option('tpre'))
- delete_option('tpre');
- add_option('tpre',$_POST['dbprefix']);
- }
-
-
- }
-
- switch ($step)
- {
- default:
- case 0 :
- $this->greet();
- break;
- case 1 :
- $this->import_categories();
- break;
- case 2 :
- $this->import_users();
- break;
- case 3 :
- $this->import_posts();
- break;
- case 4 :
- $this->import_comments();
- break;
- case 5 :
- $this->import_links();
- break;
- case 6 :
- $this->cleanup_txpimport();
- break;
- }
-
- $this->footer();
- }
-
- function Textpattern_Import()
- {
- // Nothing.
- }
-}
-
-$txp_import = new Textpattern_Import();
-register_importer('textpattern', 'Textpattern', __('Import posts from a Textpattern Blog'), array ($txp_import, 'dispatch'));
-?>
diff --git a/wp-inst/wp-admin/import/wordpress.php b/wp-inst/wp-admin/import/wordpress.php
deleted file mode 100644
index 997628b..0000000
--- a/wp-inst/wp-admin/import/wordpress.php
+++ /dev/null
@@ -1,288 +0,0 @@
-<?php
-
-class WP_Import {
-
- var $posts = array ();
- var $file;
- var $id;
- var $mtnames = array ();
- var $newauthornames = array ();
- var $j = -1;
-
- function header() {
- echo '<div class="wrap">';
- echo '<h2>'.__('Import WordPress').'</h2>';
- }
-
- function footer() {
- echo '</div>';
- }
-
- function unhtmlentities($string) { // From php.net for < 4.3 compat
- $trans_tbl = get_html_translation_table(HTML_ENTITIES);
- $trans_tbl = array_flip($trans_tbl);
- return strtr($string, $trans_tbl);
- }
-
- function greet() {
- echo '<p>'.__('Howdy! Upload your WordPress eXtended RSS (WXR) file and we&#8217;ll import the posts and comments into this blog.').'</p>';
- wp_import_upload_form("admin.php?import=wordpress&amp;step=1");
- }
-
- function get_tag( $string, $tag ) {
- preg_match("|<$tag.*?>(.*?)</$tag>|is", $string, $return);
- $return = addslashes( trim( $return[1] ) );
- return $return;
- }
-
- function users_form($n) {
- global $wpdb, $testing;
- $users = get_users_of_blog($wpdb->blogid);
-?><select name="userselect[<?php echo $n; ?>]">
- <option value="#NONE#">- Select -</option>
- <?php
- foreach ($users as $user) {
- echo '<option value="'.$user->user_login.'">'.$user->user_login.'</option>';
- }
-?>
- </select>
- <?php
- }
-
- //function to check the authorname and do the mapping
- function checkauthor($author) {
- global $wpdb;
- //mtnames is an array with the names in the mt import file
- $pass = 'changeme';
- $key = array_search($author, $this->mtnames); //find the array key for $author in the $mtnames array
- $user_id = username_exists($this->newauthornames[$key]); //use that key to get the value of the author's name from $newauthornames
-
- return $user_id;
- }
-
- function get_entries() {
- set_magic_quotes_runtime(0);
- $importdata = file($this->file); // Read the file into an array
- $importdata = implode('', $importdata); // squish it
- $importdata = preg_replace("/(\r\n|\n|\r)/", "\n", $importdata);
- preg_match_all('|<item>(.*?)</item>|is', $importdata, $this->posts);
- $this->posts = $this->posts[1];
- }
-
- function get_wp_authors() {
- $temp = array ();
- $i = -1;
- foreach ($this->posts as $post) {
- if ('' != trim($post)) {
- ++ $i;
- $author = $this->get_tag( $post, 'dc:creator' );
- array_push($temp, "$author"); //store the extracted author names in a temporary array
- }
- }
-
- // We need to find unique values of author names, while preserving the order, so this function emulates the unique_value(); php function, without the sorting.
- $authors[0] = array_shift($temp);
- $y = count($temp) + 1;
- for ($x = 1; $x < $y; $x ++) {
- $next = array_shift($temp);
- if (!(in_array($next, $authors)))
- array_push($authors, "$next");
- }
-
- return $authors;
- }
-
- function get_authors_from_post() {
- $formnames = array ();
- $selectnames = array ();
-
- foreach ($_POST['userselect'] as $user => $key) {
- $selected = trim(stripslashes($key));
- array_push($selectnames, "$selected");
- }
-
- $count = count($formnames);
- for ($i = 0; $i < $count; $i ++) {
- if ($selectnames[$i] != '#NONE#') { //if no name was selected from the select menu, use the name entered in the form
- array_push($this->newauthornames, "$selectnames[$i]");
- } else {
- array_push($this->newauthornames, "$formnames[$i]");
- }
- }
- }
-
- function wp_authors_form() {
-?>
-<h2><?php _e('Assign Authors'); ?></h2>
-<p><?php _e('To make it easier for you to edit and save the imported posts and drafts, you may want to change the name of the author of the posts. For example, you may want to import all the entries as <code>admin</code>s entries.'); ?></p>
-<p><?php _e('If a new user is created by WordPress, the password will be set, by default, to "changeme". Quite suggestive, eh? ;)'); ?></p>
- <?php
-
-
- $authors = $this->get_wp_authors();
- echo '<ol id="authors">';
- echo '<form action="?import=wordpress&amp;step=2&amp;id=' . $this->id . '" method="post">';
- $j = -1;
- foreach ($authors as $author) {
- ++ $j;
- echo '<li>Current author: <strong>'.$author.'</strong><br />'.'Map to existing: ';
- $this->users_form($j);
- echo '</li>';
- }
-
- echo '<input type="submit" value="Submit">'.'<br/>';
- echo '</form>';
- echo '</ol>';
-
- }
-
- function select_authors() {
- $file = wp_import_handle_upload();
- if ( isset($file['error']) ) {
- $this->header();
- echo '<p>Sorry, there has been an error.</p>';
- echo '<p><strong>' . $file['error'] . '</strong></p>';
- $this->footer();
- return;
- }
- $this->file = $file['file'];
- $this->id = $file['id'];
-
- $this->get_entries();
- $this->wp_authors_form();
- }
-
- function process_posts() {
- global $wpdb;
- $i = -1;
- echo '<ol>';
- foreach ($this->posts as $post) {
-
- // There are only ever one of these
- $post_title = $this->get_tag( $post, 'title' );
- $post_date = $this->get_tag( $post, 'wp:post_date' );
- $post_date_gmt = $this->get_tag( $post, 'wp:post_date_gmt' );
- $comment_status = $this->get_tag( $post, 'wp:comment_status' );
- $ping_status = $this->get_tag( $post, 'wp:ping_status' );
- $post_status = $this->get_tag( $post, 'wp:status' );
- $post_parent = $this->get_tag( $post, 'wp:post_parent' );
- $post_type = $this->get_tag( $post, 'wp:post_type' );
- $guid = $this->get_tag( $post, 'guid' );
- $post_author = $this->get_tag( $post, 'dc:creator' );
-
- $post_content = $this->get_tag( $post, 'content:encoded' );
- $post_content = str_replace(array ('<![CDATA[', ']]>'), '', $post_content);
- $post_content = preg_replace('|<(/?[A-Z]+)|e', "'<' . strtolower('$1')", $post_content);
- $post_content = str_replace('<br>', '<br />', $post_content);
- $post_content = str_replace('<hr>', '<hr />', $post_content);
-
- preg_match_all('|<category>(.*?)</category>|is', $post, $categories);
- $categories = $categories[1];
-
- $cat_index = 0;
- foreach ($categories as $category) {
- $categories[$cat_index] = $wpdb->escape($this->unhtmlentities($category));
- $cat_index++;
- }
-
- if ($post_id = post_exists($post_title, '', $post_date)) {
- echo '<li>';
- printf(__('Post <i>%s</i> already exists.'), stripslashes($post_title));
- } else {
- echo '<li>';
- printf(__('Importing post <i>%s</i>...'), stripslashes($post_title));
-
- $post_author = $this->checkauthor($post_author); //just so that if a post already exists, new users are not created by checkauthor
-
- $postdata = compact('post_author', 'post_date', 'post_date_gmt', 'post_content', 'post_title', 'post_excerpt', 'post_status', 'comment_status', 'ping_status', 'post_modified', 'post_modified_gmt', 'guid', 'post_parent', 'post_type');
- $comment_post_ID = $post_id = wp_insert_post($postdata);
- // Add categories.
- if (0 != count($categories)) {
- wp_create_categories($categories, $post_id);
- }
- }
-
- // Now for comments
- preg_match_all('|<wp:comment>(.*?)</wp:comment>|is', $post, $comments);
- $comments = $comments[1];
- $num_comments = 0;
- if ( $comments) { foreach ($comments as $comment) {
- $comment_author = $this->get_tag( $comment, 'wp:comment_author');
- $comment_author_email = $this->get_tag( $comment, 'wp:comment_author_email');
- $comment_author_IP = $this->get_tag( $comment, 'wp:comment_author_IP');
- $comment_author_url = $this->get_tag( $comment, 'wp:comment_author_url');
- $comment_date = $this->get_tag( $comment, 'wp:comment_date');
- $comment_date_gmt = $this->get_tag( $comment, 'wp:comment_date_gmt');
- $comment_content = $this->get_tag( $comment, 'wp:comment_content');
- $comment_approved = $this->get_tag( $comment, 'wp:comment_approved');
- $comment_type = $this->get_tag( $comment, 'wp:comment_type');
- $comment_parent = $this->get_tag( $comment, 'wp:comment_parent');
-
- if ( !comment_exists($comment_author, $comment_date) ) {
- $commentdata = compact('comment_post_ID', 'comment_author', 'comment_author_url', 'comment_author_email', 'comment_author_IP', 'comment_date', 'comment_date_gmt', 'comment_content', 'comment_approved', 'comment_type', 'comment_parent');
- wp_insert_comment($commentdata);
- $num_comments++;
- }
- } }
- if ( $num_comments )
- printf(__(' (%s comments)'), $num_comments);
-
- // Now for post meta
- preg_match_all('|<wp:postmeta>(.*?)</wp:postmeta>|is', $post, $postmeta);
- $postmeta = $postmeta[1];
- if ( $postmeta) { foreach ($postmeta as $p) {
- $key = $this->get_tag( $p, 'wp:meta_key' );
- $value = $this->get_tag( $p, 'wp:meta_value' );
- add_post_meta( $post_id, $key, $value );
- } }
-
- $index++;
- }
-
- echo '</ol>';
-
- wp_import_cleanup($this->id);
-
- echo '<h3>'.sprintf(__('All done. <a href="%s">Have fun!</a>'), get_option('home')).'</h3>';
- }
-
- function import() {
- $this->id = (int) $_GET['id'];
-
- $this->file = get_attached_file($this->id);
- $this->get_authors_from_post();
- $this->get_entries();
- $this->process_posts();
- }
-
- function dispatch() {
- if (empty ($_GET['step']))
- $step = 0;
- else
- $step = (int) $_GET['step'];
-
- $this->header();
- switch ($step) {
- case 0 :
- $this->greet();
- break;
- case 1 :
- $this->select_authors();
- break;
- case 2:
- $this->import();
- break;
- }
- $this->footer();
- }
-
- function WP_Import() {
- // Nothing.
- }
-}
-
-$wp_import = new WP_Import();
-
-register_importer('wordpress', 'WordPress', __('Import posts from a WordPress export file'), array ($wp_import, 'dispatch'));
-
-?>
diff --git a/wp-inst/wp-admin/index.php b/wp-inst/wp-admin/index.php
deleted file mode 100644
index 306e0b3..0000000
--- a/wp-inst/wp-admin/index.php
+++ /dev/null
@@ -1,181 +0,0 @@
-<?php
-require_once('admin.php');
-$title = __('Dashboard');
-require_once('admin-header.php');
-require_once (ABSPATH . WPINC . '/rss.php');
-
-$today = current_time('mysql', 1);
-?>
-
-<div class="wrap">
-
-<h2><?php _e('Dashboard'); ?></h2>
-
-<div id="zeitgeist">
-<h2><?php _e('Latest Activity'); ?></h2>
-
-<?php
-$rss = @fetch_rss('http://feeds.technorati.com/cosmos/rss/?url='. trailingslashit(get_option('siteurl')) .'&partner=wordpress');
-if ( isset($rss->items) && 0 != count($rss->items) ) {
-?>
-<div id="incominglinks">
-<h3><?php _e('Incoming Links'); ?> <cite><a href="http://www.technorati.com/search/<?php echo trailingslashit(get_option('siteurl')); ?>?partner=wordpress"><?php _e('More'); ?> &raquo;</a></cite></h3>
-<ul>
-<?php
-$rss->items = array_slice($rss->items, 0, 10);
-foreach ($rss->items as $item ) {
-?>
- <li><a href="<?php echo wp_filter_kses($item['link']); ?>"><?php echo wp_specialchars($item['title']); ?></a></li>
-<?php } ?>
-</ul>
-</div>
-<?php } ?>
-
-<?php
-$comments = $wpdb->get_results("SELECT comment_author, comment_author_url, comment_ID, comment_post_ID FROM $wpdb->comments WHERE comment_approved = '1' ORDER BY comment_date_gmt DESC LIMIT 5");
-$numcomments = $wpdb->get_var("SELECT COUNT(*) FROM $wpdb->comments WHERE comment_approved = '0'");
-
-if ( $comments || $numcomments ) :
-?>
-<div>
-<h3><?php _e('Comments'); ?> <a href="edit-comments.php" title="<?php _e('More comments...'); ?>">&raquo;</a></h3>
-
-<?php if ( $numcomments ) : ?>
-<p><strong><a href="moderation.php"><?php echo sprintf(__('Comments in moderation (%s)'), number_format($numcomments) ); ?> &raquo;</a></strong></p>
-<?php endif; ?>
-</div>
-
-<ul>
-<?php
-if ( $comments ) {
-foreach ($comments as $comment) {
- echo '<li>' . sprintf(__('%1$s on %2$s'), get_comment_author_link(), '<a href="'. get_permalink($comment->comment_post_ID) . '#comment-' . $comment->comment_ID . '">' . get_the_title($comment->comment_post_ID) . '</a>');
- edit_comment_link(__("Edit"), ' <small>(', ')</small>');
- echo '</li>';
-}
-}
-?>
-</ul>
-
-<?php endif; ?>
-
-<?php
-if ( $recentposts = $wpdb->get_results("SELECT ID, post_title FROM $wpdb->posts WHERE post_type = 'post' AND post_status = 'publish' AND post_date_gmt < '$today' ORDER BY post_date DESC LIMIT 5") ) :
-?>
-<div>
-<h3><?php _e('Posts'); ?> <a href="edit.php" title="<?php _e('More posts...'); ?>">&raquo;</a></h3>
-<ul>
-<?php
-foreach ($recentposts as $post) {
- if ($post->post_title == '')
- $post->post_title = sprintf(__('Post #%s'), $post->ID);
- echo "<li><a href='post.php?action=edit&amp;post=$post->ID'>";
- the_title();
- echo '</a></li>';
-}
-?>
-</ul>
-</div>
-<?php endif; ?>
-
-<?php
-if ( $scheduled = $wpdb->get_results("SELECT ID, post_title, post_date_gmt FROM $wpdb->posts WHERE post_type = 'post' AND post_status = 'publish' AND post_date_gmt > '$today' ORDER BY post_date ASC") ) :
-?>
-<div>
-<h3><?php _e('Scheduled Entries:') ?></h3>
-<ul>
-<?php
-foreach ($scheduled as $post) {
- if ($post->post_title == '')
- $post->post_title = sprintf(__('Post #%s'), $post->ID);
- echo "<li>" . sprintf(__('%1$s in %2$s'), "<a href='post.php?action=edit&amp;post=$post->ID' title='" . __('Edit this post') . "'>$post->post_title</a>", human_time_diff( current_time('timestamp', 1), strtotime($post->post_date_gmt. ' GMT') )) . "</li>";
-}
-?>
-</ul>
-</div>
-<?php endif; ?>
-
-<div>
-<h3><?php _e('Blog Stats'); ?></h3>
-<?php
-$numposts = $wpdb->get_var("SELECT COUNT(*) FROM $wpdb->posts WHERE post_type = 'post' AND post_status = 'publish'");
-if (0 < $numposts) $numposts = number_format($numposts);
-
-$numcomms = $wpdb->get_var("SELECT COUNT(*) FROM $wpdb->comments WHERE comment_approved = '1'");
-if (0 < $numcomms) $numcomms = number_format($numcomms);
-
-$numcats = $wpdb->get_var("SELECT COUNT(*) FROM $wpdb->categories");
-if (0 < $numcats) $numcats = number_format($numcats);
-?>
-<p><?php printf(__('There are currently %1$s <a href="%2$s" title="Posts">posts</a> and %3$s <a href="%4$s" title="Comments">comments</a>, contained within %5$s <a href="%6$s" title="categories">categories</a>.'), $numposts, 'edit.php', $numcomms, 'edit-comments.php', $numcats, 'categories.php'); ?></p>
-</div>
-
-<?php do_action('activity_box_end'); ?>
-</div>
-<?php
-$rss = @fetch_rss(get_site_option( 'dashboardfeed1' ));
-$title = get_site_option( 'dashboardfeed1name' );
-if( get_site_option( 'customizefeed1' ) == 1 ) {
- if( get_option( 'dashboardfeed1' ) == 0 ) {
- $rss = @fetch_rss(get_option( 'dashboardfeed1' ));
- $title = get_option( 'dashboardfeed1name' );
- }
-}
-
-if( $rss == false ) {
- $rss = @fetch_rss('http://wordpress.org/development/feed/');
- $title = "WordPress Development Blog";
-}
-
-if ( isset($rss->items) && 0 != count($rss->items) ) {
- print "<h3>$title</h3>";
- $rss->items = array_slice($rss->items, 0, 3);
- foreach ($rss->items as $item ) {
-?>
-<h4><a href='<?php echo wp_filter_kses($item['link']); ?>'><?php echo wp_specialchars($item['title']); ?></a> &#8212; <?php printf(__('%s ago'), human_time_diff(strtotime($item['pubdate'], time() ) ) ); ?></h4>
-<p><?php echo $item['description']; ?></p>
-<?php
- }
-}
-?>
-
-
-<?php
-$rss = @fetch_rss(get_site_option( 'dashboardfeed2' ));
-$title = get_site_option( 'dashboardfeed2name' );
-if( get_site_option( 'customizefeed2' ) == 1 ) {
- if( get_option( 'dashboardfeed2' ) == 0 ) {
- $rss = @fetch_rss(get_option( 'dashboardfeed2' ));
- $title = get_option( 'dashboardfeed2name' );
- }
-}
-if( $rss == false ) {
- $rss = @fetch_rss('http://wordpress.org/development/feed/');
-}
-
-if ( isset($rss->items) && 0 != count($rss->items) ) {
-?>
-<div id="planetnews">
-<h3><?php _e( $title ); ?> &raquo;</a></h3>
-<ul>
-<?php
-$rss->items = array_slice($rss->items, 0, 20);
-foreach ($rss->items as $item ) {
-?>
-<li><a href='<?php echo wp_filter_kses($item['link']); ?>'><?php echo wp_specialchars($item['title']); ?></a></li>
-<?php
- }
-?>
-</ul>
-</div>
-<?php
-}
-?>
-<div style="clear: both">&nbsp;
-<br clear="all" />
-</div>
-</div>
-
-<?php
-require('./admin-footer.php');
-?>
diff --git a/wp-inst/wp-admin/inline-uploading.php b/wp-inst/wp-admin/inline-uploading.php
deleted file mode 100644
index 601f530..0000000
--- a/wp-inst/wp-admin/inline-uploading.php
+++ /dev/null
@@ -1,728 +0,0 @@
-<?php
-
-require_once('admin.php');
-
-header('Content-Type: text/html; charset=' . get_option('blog_charset'));
-
-if (!current_user_can('upload_files'))
- die(__('You do not have permission to upload files.'));
-
-$wpvarstoreset = array('action', 'post', 'all', 'last', 'link', 'sort', 'start', 'imgtitle', 'descr', 'attachment');
-
-for ($i=0; $i<count($wpvarstoreset); $i += 1) {
- $wpvar = $wpvarstoreset[$i];
- if (!isset($$wpvar)) {
- if (empty($_POST["$wpvar"])) {
- if (empty($_GET["$wpvar"])) {
- $$wpvar = '';
- } else {
- $$wpvar = $_GET["$wpvar"];
- }
- } else {
- $$wpvar = $_POST["$wpvar"];
- }
- }
-}
-
-$post = (int) $post;
-$images_width = 1;
-
-switch($action) {
-case 'links':
-// Do not pass GO.
-break;
-
-case 'delete':
-
-check_admin_referer('inlineuploading');
-
-if ( !current_user_can('edit_post', (int) $attachment) )
- die(__('You are not allowed to delete this attachment.').' <a href="'.basename(__FILE__)."?post=$post&amp;all=$all&amp;action=upload\">".__('Go back').'</a>');
-
-wp_delete_attachment($attachment);
-
-header("Location: " . basename(__FILE__) ."?post=$post&all=$all&action=view&start=$start");
-die;
-
-case 'save':
-
-check_admin_referer('inlineuploading');
-
-$overrides = array('action'=>'save');
-
-$file = wp_handle_upload($_FILES['image'], $overrides);
-
-if( isset( $file[ 'error' ] ) == false )
- $file[ 'error' ] = apply_filters( "check_uploaded_file", $file[ 'error' ] );
-
-if ( isset($file['error']) )
- die($file['error'] . '<br /><a href="' . basename(__FILE__) . '?action=upload&post=' . $post . '">'.__('Back to Image Uploading').'</a>');
-
-$url = $file['url'];
-$type = $file['type'];
-$file = $file['file'];
-$filename = basename($file);
-
-// Construct the attachment array
-$attachment = array(
- 'post_title' => $imgtitle ? $imgtitle : $filename,
- 'post_content' => $descr,
- 'post_type' => 'attachment',
- 'post_parent' => $post,
- 'post_mime_type' => $type,
- 'guid' => $url
- );
-
-// Save the data
-$id = wp_insert_attachment($attachment, $file, $post);
-
-if ( preg_match('!^image/!', $attachment['post_mime_type']) ) {
- // Generate the attachment's postmeta.
- $imagesize = getimagesize($file);
- $imagedata['width'] = $imagesize['0'];
- $imagedata['height'] = $imagesize['1'];
- list($uwidth, $uheight) = get_udims($imagedata['width'], $imagedata['height']);
- $imagedata['hwstring_small'] = "height='$uheight' width='$uwidth'";
- $imagedata['file'] = $file;
-
- add_post_meta($id, '_wp_attachment_metadata', $imagedata);
-
- if ( $imagedata['width'] * $imagedata['height'] < 3 * 1024 * 1024 ) {
- if ( $imagedata['width'] > 128 && $imagedata['width'] >= $imagedata['height'] * 4 / 3 )
- $thumb = wp_create_thumbnail($file, 128);
- elseif ( $imagedata['height'] > 96 )
- $thumb = wp_create_thumbnail($file, 96);
-
- if ( @file_exists($thumb) ) {
- $newdata = $imagedata;
- $newdata['thumb'] = basename($thumb);
- update_post_meta($id, '_wp_attachment_metadata', $newdata, $imagedata);
- } else {
- $error = $thumb;
- }
- }
-} else {
- add_post_meta($id, '_wp_attachment_metadata', array());
-}
-
-header("Location: " . basename(__FILE__) . "?post=$post&all=$all&action=view&start=0");
-die();
-
-case 'upload':
-
-$current_1 = ' class="current"';
-$back = $next = false;
-break;
-
-case 'view':
-
-// How many images do we show? How many do we query?
-$num = 5;
-$double = $num * 2;
-
-if ( $post && (empty($all) || $all == 'false') ) {
- $and_post = "AND post_parent = '$post'";
- $current_2 = ' class="current"';
-} else {
- $current_3 = ' class="current"';
-}
-
-if (! current_user_can('edit_others_posts') )
- $and_user = "AND post_author = " . $user_ID;
-
-if ( $last )
- $start = $wpdb->get_var("SELECT count(ID) FROM $wpdb->posts WHERE post_type = 'attachment' $and_user $and_post") - $num;
-else
- $start = (int) $start;
-
-if ( $start < 0 )
- $start = 0;
-
-if ( '' == $sort )
- $sort = "post_date_gmt DESC";
-
-$attachments = $wpdb->get_results("SELECT ID, post_date, post_title, post_mime_type, guid FROM $wpdb->posts WHERE post_type = 'attachment' $and_type $and_post $and_user ORDER BY $sort LIMIT $start, $double", ARRAY_A);
-
-if ( count($attachments) == 0 ) {
- header("Location: " . basename(__FILE__) ."?post=$post&action=upload" );
- die;
-} elseif ( count($attachments) > $num ) {
- $next = $start + count($attachments) - $num;
-} else {
- $next = false;
-}
-
-if ( $start > 0 ) {
- $back = $start - $num;
- if ( $back < 1 )
- $back = '0';
-} else {
- $back = false;
-}
-
-$uwidth_sum = 0;
-$html = '';
-$popups = '';
-$style = '';
-$script = '';
-if ( count($attachments) > 0 ) {
- $attachments = array_slice( $attachments, 0, $num );
- $__delete = __('Delete');
- $__not_linked = __('Not Linked');
- $__linked_to_page = __('Linked to Page');
- $__linked_to_image = __('Linked to Image');
- $__linked_to_file = __('Linked to File');
- $__using_thumbnail = __('Using Thumbnail');
- $__using_original = __('Using Original');
- $__using_title = __('Using Title');
- $__using_filename = __('Using Filename');
- $__using_icon = __('Using Icon');
- $__no_thumbnail = '<del>'.__('No Thumbnail').'</del>';
- $__send_to_editor = __('Send to editor');
- $__close = __('Close Options');
- $__confirmdelete = __('Delete this file from the server?');
- $__nothumb = __('There is no thumbnail associated with this photo.');
- $script .= "notlinked = '$__not_linked';
-linkedtoimage = '$__linked_to_image';
-linkedtopage = '$__linked_to_page';
-linkedtofile = '$__linked_to_file';
-usingthumbnail = '$__using_thumbnail';
-usingoriginal = '$__using_original';
-usingtitle = '$__using_title';
-usingfilename = '$__using_filename';
-usingicon = '$__using_icon';
-var aa = new Array();
-var ab = new Array();
-var imga = new Array();
-var imgb = new Array();
-var srca = new Array();
-var srcb = new Array();
-var title = new Array();
-var filename = new Array();
-var icon = new Array();
-";
- foreach ( $attachments as $key => $attachment ) {
- $ID = $attachment['ID'];
- $href = get_attachment_link($ID);
- $meta = get_post_meta($ID, '_wp_attachment_metadata', true);
- if (!is_array($meta)) {
- $meta = get_post_meta($ID, 'imagedata', true); // Try 1.6 Alpha meta key
- if (!is_array($meta)) {
- $meta = array();
- }
- add_post_meta($ID, '_wp_attachment_metadata', $meta);
- }
- $attachment = array_merge($attachment, $meta);
- $noscript = "<noscript>
- <div class='caption'><a href=\"".basename(__FILE__)."?action=links&amp;attachment={$ID}&amp;post={$post}&amp;all={$all}&amp;start={$start}\">Choose Links</a></div>
- </noscript>
-";
- $send_delete_cancel = "<a onclick=\"sendToEditor({$ID});return false;\" href=\"javascript:void()\">$__send_to_editor</a>
-<a onclick=\"return confirm('$__confirmdelete')\" href=\"" . wp_nonce_url( basename(__FILE__) . "?action=delete&amp;attachment={$ID}&amp;all=$all&amp;start=$start&amp;post=$post", inlineuploading) . "\">$__delete</a>
- <a onclick=\"popup.style.display='none';return false;\" href=\"javascript:void()\">$__close</a>
-";
- $uwidth_sum += 128;
- if ( preg_match('!^image/!', $attachment['post_mime_type'] ) ) {
- $image = & $attachment;
- if ( ($image['width'] > 128 || $image['height'] > 96) && !empty($image['thumb']) && file_exists(dirname($image['file']).'/'.$image['thumb']) ) {
- $src = str_replace(basename($image['guid']), $image['thumb'], $image['guid']);
- $script .= "srca[{$ID}] = '$src';
-srcb[{$ID}] = '{$image['guid']}';
-";
- $thumb = 'true';
- $thumbtext = $__using_thumbnail;
- } else {
- $src = $image['guid'];
- $thumb = 'false';
- $thumbtext = $__no_thumbnail;
- }
- list($image['uwidth'], $image['uheight']) = get_udims($image['width'], $image['height']);
- $height_width = 'height="'.$image['uheight'].'" width="'.$image['uwidth'].'"';
- $xpadding = (128 - $image['uwidth']) / 2;
- $ypadding = (96 - $image['uheight']) / 2;
- $style .= "#target{$ID} img { padding: {$ypadding}px {$xpadding}px; }\n";
- $title = wp_specialchars($image['post_title'], ENT_QUOTES);
- $script .= "aa[{$ID}] = '<a id=\"p{$ID}\" rel=\"attachment\" class=\"imagelink\" href=\"$href\" onclick=\"doPopup({$ID});return false;\" title=\"{$title}\">';
-ab[{$ID}] = '<a class=\"imagelink\" href=\"{$image['guid']}\" onclick=\"doPopup({$ID});return false;\" title=\"{$title}\">';
-imga[{$ID}] = '<img id=\"image{$ID}\" src=\"$src\" alt=\"{$title}\" $height_width />';
-imgb[{$ID}] = '<img id=\"image{$ID}\" src=\"{$image['guid']}\" alt=\"{$title}\" $height_width />';
-";
- $html .= "<div id='target{$ID}' class='attwrap left'>
- <div id='div{$ID}' class='imagewrap' onclick=\"doPopup({$ID});\">
- <img id=\"image{$ID}\" src=\"$src\" alt=\"{$title}\" $height_width />
- </div>
- {$noscript}
-</div>
-";
- $popups .= "<div id='popup{$ID}' class='popup'>
- <a id=\"I{$ID}\" onclick=\"if($thumb)toggleImage({$ID});else alert('$__nothumb');return false;\" href=\"javascript:void()\">$thumbtext</a>
- <a id=\"L{$ID}\" onclick=\"toggleLink({$ID});return false;\" href=\"javascript:void()\">$__not_linked</a>
- {$send_delete_cancel}
-</div>
-";
- } else {
- $title = wp_specialchars($attachment['post_title'], ENT_QUOTES);
- $filename = basename($attachment['guid']);
- $icon = get_attachment_icon($ID);
- $toggle_icon = "<a id=\"I{$ID}\" onclick=\"toggleOtherIcon({$ID});return false;\" href=\"javascript:void()\">$__using_title</a>";
- $script .= "aa[{$ID}] = '<a id=\"p{$ID}\" rel=\"attachment\" href=\"$href\" onclick=\"doPopup({$ID});return false;\" title=\"{$title}\">';
-ab[{$ID}] = '<a id=\"p{$ID}\" href=\"{$filename}\" onclick=\"doPopup({$ID});return false;\" title=\"{$title}\">';
-title[{$ID}] = '{$title}';
-filename[{$ID}] = '{$filename}';
-icon[{$ID}] = '{$icon}';
-";
- $html .= "<div id='target{$ID}' class='attwrap left'>
- <div id='div{$ID}' class='otherwrap usingtext' onmousedown=\"selectLink({$ID})\" onclick=\"doPopup({$ID});return false;\">
- <a id=\"p{$ID}\" href=\"{$attachment['guid']}\" onmousedown=\"selectLink({$ID});\" onclick=\"return false;\">{$title}</a>
- </div>
- {$noscript}
-</div>
-";
- $popups .= "<div id='popup{$ID}' class='popup'>
- <div class='filetype'>".__('File Type:').' '.str_replace('/',"/\n",$attachment['post_mime_type'])."</div>
- <a id=\"L{$ID}\" onclick=\"toggleOtherLink({$ID});return false;\" href=\"javascript:void()\">$__linked_to_file</a>
- {$toggle_icon}
- {$send_delete_cancel}
-</div>
-";
- }
- }
-}
-
-$images_width = $uwidth_sum + ( count($images) * 6 ) + 35;
-
-break;
-
-default:
-die(__('This script was not meant to be called directly.'));
-}
-
-?>
-<!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>
-<meta http-equiv="Content-Type" content="<?php bloginfo('html_type'); ?>; charset=<?php echo get_settings('blog_charset'); ?>" />
-<meta http-equiv="imagetoolbar" content="no" />
-<script type="text/javascript">
-/* Define any variables we'll need, such as alternate URLs. */
-<?php echo $script; ?>
-function htmldecode(st) {
- o = document.getElementById('htmldecode');
- if (! o) {
- o = document.createElement("A");
- o.id = "htmldecode"
- }
- o.innerHTML = st;
- r = o.innerHTML;
- return r;
-}
-function cancelUpload() {
- o = document.getElementById('uploadForm');
- o.method = 'GET';
- o.action.value = 'view';
- o.submit();
-}
-function doPopup(i) {
- if ( popup )
- popup.style.display = 'none';
- target = document.getElementById('target'+i);
- popup = document.getElementById('popup'+i);
- popup.style.left = (target.offsetLeft) + 'px';
- popup.style.top = (target.offsetTop) + 'px';
- popup.style.display = 'block';
-}
-popup = false;
-function selectLink(n) {
- o=document.getElementById('div'+n);
- if ( typeof document.body.createTextRange == 'undefined' || typeof win.tinyMCE == 'undefined' || win.tinyMCE.configs.length < 1 )
- return;
- r = document.body.createTextRange();
- if ( typeof r != 'undefined' ) {
- r.moveToElementText(o);
- r.select();
- }
-}
-function toggleLink(n) {
- ol=document.getElementById('L'+n);
- if ( ol.innerHTML == htmldecode(notlinked) ) {
- ol.innerHTML = linkedtoimage;
- } else if ( ol.innerHTML == htmldecode(linkedtoimage) ) {
- ol.innerHTML = linkedtopage;
- } else {
- ol.innerHTML = notlinked;
- }
- updateImage(n);
-}
-function toggleOtherLink(n) {
- ol=document.getElementById('L'+n);
- if ( ol.innerHTML == htmldecode(linkedtofile) ) {
- ol.innerHTML = linkedtopage;
- } else {
- ol.innerHTML = linkedtofile;
- }
- updateOtherIcon(n);
-}
-function toggleImage(n) {
- oi = document.getElementById('I'+n);
- if ( oi.innerHTML == htmldecode(usingthumbnail) ) {
- oi.innerHTML = usingoriginal;
- } else {
- oi.innerHTML = usingthumbnail;
- }
- updateImage(n);
-}
-function toggleOtherIcon(n) {
- od = document.getElementById('div'+n);
- oi = document.getElementById('I'+n);
- if ( oi.innerHTML == htmldecode(usingtitle) ) {
- oi.innerHTML = usingfilename;
- od.className = 'otherwrap usingtext';
- } else if ( oi.innerHTML == htmldecode(usingfilename) && icon[n] != '' ) {
- oi.innerHTML = usingicon;
- od.className = 'otherwrap usingicon';
- } else {
- oi.innerHTML = usingtitle;
- od.className = 'otherwrap usingtext';
- }
- updateOtherIcon(n);
-}
-function updateImage(n) {
- od=document.getElementById('div'+n);
- ol=document.getElementById('L'+n);
- oi=document.getElementById('I'+n);
- if ( oi.innerHTML == htmldecode(usingthumbnail) ) {
- img = imga[n];
- } else {
- img = imgb[n];
- }
- if ( ol.innerHTML == htmldecode(linkedtoimage) ) {
- od.innerHTML = ab[n]+img+'</a>';
- } else if ( ol.innerHTML == htmldecode(linkedtopage) ) {
- od.innerHTML = aa[n]+img+'</a>';
- } else {
- od.innerHTML = img;
- }
-}
-function updateOtherIcon(n) {
- od=document.getElementById('div'+n);
- ol=document.getElementById('L'+n);
- oi=document.getElementById('I'+n);
- if ( oi.innerHTML == htmldecode(usingfilename) ) {
- txt = filename[n];
- } else if ( oi.innerHTML == htmldecode(usingicon) ) {
- txt = icon[n];
- } else {
- txt = title[n];
- }
- if ( ol.innerHTML == htmldecode(linkedtofile) ) {
- od.innerHTML = ab[n]+txt+'</a>';
- } else if ( ol.innerHTML == htmldecode(linkedtopage) ) {
- od.innerHTML = aa[n]+txt+'</a>';
- } else {
- od.innerHTML = txt;
- }
-}
-
-var win = window.opener ? window.opener : window.dialogArguments;
-if (!win) win = top;
-tinyMCE = win.tinyMCE;
-richedit = ( typeof tinyMCE == 'object' && tinyMCE.configs.length > 0 );
-function sendToEditor(n) {
- o = document.getElementById('div'+n);
- h = o.innerHTML.replace(new RegExp('^\\s*(.*?)\\s*$', ''), '$1'); // Trim
- h = h.replace(new RegExp(' (class|title|width|height|id|onclick|onmousedown)=([^\'"][^ ]*)( |/|>)', 'g'), ' $1="$2"$3'); // Enclose attribs in quotes
- h = h.replace(new RegExp(' (width|height)=".*?"', 'g'), ''); // Drop size constraints
- h = h.replace(new RegExp(' on(click|mousedown)="[^"]*"', 'g'), ''); // Drop menu events
- h = h.replace(new RegExp('<(/?)A', 'g'), '<$1a'); // Lowercase tagnames
- h = h.replace(new RegExp('<IMG', 'g'), '<img'); // Lowercase again
- h = h.replace(new RegExp('(<img .+?")>', 'g'), '$1 />'); // XHTML
- if ( richedit )
- win.tinyMCE.execCommand('mceInsertContent', false, h);
- else
- win.edInsertContent(win.edCanvas, h);
-}
-</script>
-<style type="text/css">
-<?php if ( $action == 'links' ) : ?>
-* html { overflow-x: hidden; }
-<?php else : ?>
-* html { overflow-y: hidden; }
-<?php endif; ?>
-body {
- font: 13px "Lucida Grande", "Lucida Sans Unicode", Tahoma, Verdana;
- border: none;
- margin: 0px;
- height: 150px;
- background: #dfe8f1;
-}
-form {
- margin: 3px 2px 0px 6px;
-}
-#wrap {
- clear: both;
- padding: 0px;
- width: 100%;
-}
-#images {
- position: absolute;
- clear: both;
- margin: 0px;
- padding: 15px 15px;
- width: <?php echo $images_width; ?>px;
-}
-#images img {
- background-color: rgb(209, 226, 239);
-}
-<?php echo $style; ?>
-.attwrap, .attwrap * {
- margin: 0px;
- padding: 0px;
- border: 0px;
-}
-.imagewrap {
- margin-right: 5px;
- overflow: hidden;
- width: 128px;
-}
-.otherwrap {
- margin-right: 5px;
- overflow: hidden;
- background-color: #f9fcfe;
-}
-.otherwrap a {
- display: block;
-}
-.otherwrap a, .otherwrap a:hover, .otherwrap a:active, .otherwrap a:visited {
- color: blue;
-}
-.usingicon {
- padding: 0px;
- height: 96px;
- text-align: center;
- width: 128px;
-}
-.usingtext {
- padding: 3px;
- height: 90px;
- text-align: left;
- width: 122px;
-}
-.filetype {
- font-size: 80%;
- border-bottom: 3px double #89a
-}
-.imagewrap, .imagewrap img, .imagewrap a, .imagewrap a img, .imagewrap a:hover img, .imagewrap a:visited img, .imagewrap a:active img {
- text-decoration: none;
-}
-#upload-menu {
- background: #fff;
- margin: 0px;
- padding: 0;
- list-style: none;
- height: 2em;
- border-bottom: 1px solid #448abd;
- width: 100%;
-}
-#upload-menu li {
- float: left;
- margin: 0 0 0 .75em;
-}
-#upload-menu a {
- display: block;
- padding: 5px;
- text-decoration: none;
- color: #000;
- border-top: 3px solid #fff;
-}
-#upload-menu .current a {
- background: #dfe8f1;
- border-right: 2px solid #448abd;
-}
-#upload-menu a:hover {
- background: #dfe8f1;
- color: #000;
-}
-.tip {
- color: rgb(68, 138, 189);
- padding: 2px 1em;
-}
-.inactive {
- color: #fff;
- padding: 1px 3px;
-}
-.left {
- float: left;
-}
-.right {
- float: right;
-}
-.center {
- text-align: center;
-}
-#upload-menu li.spacer {
- margin-left: 40px;
-}
-#title, #descr {
- width: 99%;
- margin-top: 1px;
-}
-th {
- width: 4.5em;
-}
-#descr {
- height: 36px;
-}
-#buttons {
- margin-top: 2px;
- text-align: right;
-}
-.popup {
- margin: 4px 4px;
- padding: 1px;
- position: absolute;
- width: 114px;
- display: none;
- background-color: rgb(240, 240, 238);
- border-top: 2px solid #fff;
- border-right: 2px solid #ddd;
- border-bottom: 2px solid #ddd;
- border-left: 2px solid #fff;
- text-align: center;
-}
-.imagewrap .popup {
- opacity: .90;
- filter:alpha(opacity=90);
-}
-.otherwrap .popup {
- padding-top: 20px;
-}
-.popup a, .popup a:visited, .popup a:active {
- background-color: transparent;
- display: block;
- width: 100%;
- text-decoration: none;
- color: #246;
-}
-.popup a:hover {
- background-color: #fff;
- color: #000;
-}
-.caption {
- text-align: center;
-}
-#submit {
- margin: 1px;
- width: 99%;
-}
-#submit input, #submit input:focus {
- background: url( images/fade-butt.png );
- border: 3px double #999;
- border-left-color: #ccc;
- border-top-color: #ccc;
- color: #333;
- padding: 0.25em;
-}
-#submit input:active {
- background: #f4f4f4;
- border: 3px double #ccc;
- border-left-color: #999;
- border-top-color: #999;
-}
-.zerosize {
- width: 0px;
- height: 0px;
- overflow: hidden;
- position: absolute;
-}
-#links {
- margin: 3px 8px;
- line-height: 2em;
-}
-#links textarea {
- width: 95%;
- height: 4.5em;
-}
-</style>
-</head>
-<body>
-<ul id="upload-menu">
-<li<?php echo $current_1; ?>><a href="<?php echo basename(__FILE__) . "?action=upload&amp;post=$post&amp;all=$all&amp;start=$start"; ?>"><?php _e('Upload'); ?></a></li>
-<?php if ( $attachments = $wpdb->get_results("SELECT ID FROM $wpdb->posts WHERE post_parent = '$post'") ) { ?>
-<li<?php echo $current_2; ?>><a href="<?php echo basename(__FILE__) . "?action=view&amp;post=$post&amp;all=false"; ?>"><?php _e('Browse'); ?></a></li>
-<?php } ?>
-<?php if ($wpdb->get_var("SELECT count(ID) FROM $wpdb->posts WHERE post_type = 'attachment'")) { ?>
-<li<?php echo $current_3; ?>><a href="<?php echo basename(__FILE__) . "?action=view&amp;post=$post&amp;all=true"; ?>"><?php _e('Browse All'); ?></a></li>
-<?php } ?>
-<li> </li>
-<?php if ( $action == 'view' ) { ?>
-<?php if ( false !== $back ) : ?>
-<li class="spacer"><a href="<?php echo basename(__FILE__) . "?action=$action&amp;post=$post&amp;all=$all&amp;start=0"; ?>" title="<?php _e('First'); ?>">|&laquo;</a></li>
-<li><a href="<?php echo basename(__FILE__) . "?action=$action&amp;post=$post&amp;all=$all&amp;start=$back"; ?>">&laquo; <?php _e('Back'); ?></a></li>
-<?php else : ?>
-<li class="inactive spacer">|&laquo;</li>
-<li class="inactive">&laquo; <?php _e('Back'); ?></li>
-<?php endif; ?>
-<?php if ( false !== $next ) : ?>
-<li><a href="<?php echo basename(__FILE__) . "?action=$action&amp;post=$post&amp;all=$all&amp;start=$next"; ?>"><?php _e('Next &raquo;'); ?></a></li>
-<li><a href="<?php echo basename(__FILE__) . "?action=$action&amp;post=$post&amp;all=$all&amp;last=true"; ?>" title="<?php _e('Last'); ?>">&raquo;|</a></li>
-<?php else : ?>
-<li class="inactive"><?php _e('Next &raquo;'); ?></li>
-<li class="inactive">&raquo;|</li>
-<?php endif; ?>
-<?php } // endif not upload?>
-</ul>
-<?php if ( $action == 'view' ) : ?>
-<div id="wrap">
-<!--<div class="tip"><?php _e('You can drag and drop these items into your post. Click on one for more options.'); ?></div>-->
-<div id="images">
-<?php echo $html; ?>
-<?php echo $popups; ?>
-</div>
-</div>
-<?php elseif ( $action == 'upload' ) : ?>
- <?php $upload_err = apply_filters( "pre_upload_error", false );
- if( $upload_err != false ) {
- ?><div class="center tip"><?php echo $upload_err ?></div><?php
- } else { ?>
-<div class="tip"></div>
-<form enctype="multipart/form-data" id="uploadForm" method="POST" action="<?php echo basename(__FILE__); ?>">
-<table style="width:99%;">
-<tr>
-<th scope="row" align="right"><label for="upload"><?php _e('File:'); ?></label></th>
-<td><input type="file" id="upload" name="image" /></td>
-</tr>
-<tr>
-<th scope="row" align="right"><label for="title"><?php _e('Title:'); ?></label></th>
-<td><input type="text" id="title" name="imgtitle" /></td>
-</tr>
-<tr>
-<th scope="row" align="right"><label for="descr"><?php _e('Description:'); ?></label></th>
-<td><input type="textarea" name="descr" id="descr" value="" /></td>
-</tr>
-<tr id="buttons">
-<th></th>
-<td>
-<input type="hidden" name="action" value="save" />
-<input type="hidden" name="post" value="<?php echo $post; ?>" />
-<input type="hidden" name="all" value="<?php echo $all; ?>" />
-<input type="hidden" name="start" value="<?php echo $start; ?>" />
-<?php wp_nonce_field( 'inlineuploading' ); ?>
-<div id="submit">
-<input type="submit" value="<?php _e('Upload'); ?>" />
-<?php if ( !empty($all) ) : ?>
-<input type="button" value="<?php _e('Cancel'); ?>" onclick="cancelUpload()" />
-<?php endif; ?>
-</div>
-</td>
-</tr>
-</table>
-</div>
-</form>
-<?php } ?>
-<?php elseif ( $action == 'links' ) : ?>
-<div id="links">
-<?php the_attachment_links($attachment); ?>
-</div>
-<?php endif; ?>
-</body>
-</html>
diff --git a/wp-inst/wp-admin/install-helper.php b/wp-inst/wp-admin/install-helper.php
deleted file mode 100644
index 86138db..0000000
--- a/wp-inst/wp-admin/install-helper.php
+++ /dev/null
@@ -1,152 +0,0 @@
-<?php
-require_once('../wp-config.php');
-$debug = 0;
-
-/**
- ** maybe_create_table()
- ** Create db table if it doesn't exist.
- ** Returns: true if already exists or on successful completion
- ** false on error
- */
-function maybe_create_table($table_name, $create_ddl) {
- global $wpdb;
- foreach ($wpdb->get_col("SHOW TABLES",0) as $table ) {
- if ($table == $table_name) {
- return true;
- }
- }
- //didn't find it try to create it.
- $q = $wpdb->query($create_ddl);
- // we cannot directly tell that whether this succeeded!
- foreach ($wpdb->get_col("SHOW TABLES",0) as $table ) {
- if ($table == $table_name) {
- return true;
- }
- }
- return false;
-}
-
-/**
- ** maybe_add_column()
- ** Add column to db table if it doesn't exist.
- ** Returns: true if already exists or on successful completion
- ** false on error
- */
-function maybe_add_column($table_name, $column_name, $create_ddl) {
- global $wpdb, $debug;
- foreach ($wpdb->get_col("DESC $table_name",0) as $column ) {
- if ($debug) echo("checking $column == $column_name<br />");
- if ($column == $column_name) {
- return true;
- }
- }
- //didn't find it try to create it.
- $q = $wpdb->query($create_ddl);
- // we cannot directly tell that whether this succeeded!
- foreach ($wpdb->get_col("DESC $table_name",0) as $column ) {
- if ($column == $column_name) {
- return true;
- }
- }
- return false;
-}
-
-
-/**
- ** maybe_drop_column()
- ** Drop column from db table if it exists.
- ** Returns: true if it doesn't already exist or on successful drop
- ** false on error
- */
-function maybe_drop_column($table_name, $column_name, $drop_ddl) {
- global $wpdb;
- foreach ($wpdb->get_col("DESC $table_name",0) as $column ) {
- if ($column == $column_name) {
- //found it try to drop it.
- $q = $wpdb->query($drop_ddl);
- // we cannot directly tell that whether this succeeded!
- foreach ($wpdb->get_col("DESC $table_name",0) as $column ) {
- if ($column == $column_name) {
- return false;
- }
- }
- }
- }
- // else didn't find it
- return true;
-}
-
-
-/**
- ** check_column()
- ** Check column matches passed in criteria.
- ** Pass in null to skip checking that criteria
- ** Returns: true if it matches
- ** false otherwise
- ** (case sensitive) Column names returned from DESC table are:
- ** Field
- ** Type
- ** Null
- ** Key
- ** Default
- ** Extra
- */
-function check_column($table_name, $col_name, $col_type, $is_null = null, $key = null, $default = null, $extra = null) {
- global $wpdb, $debug;
- $diffs = 0;
- $results = $wpdb->get_results("DESC $table_name");
-
- foreach ($results as $row ) {
- if ($debug > 1) print_r($row);
- if ($row->Field == $col_name) {
- // got our column, check the params
- if ($debug) echo ("checking $row->Type against $col_type\n");
- if (($col_type != null) && ($row->Type != $col_type)) {
- ++$diffs;
- }
- if (($is_null != null) && ($row->Null != $is_null)) {
- ++$diffs;
- }
- if (($key != null) && ($row->Key != $key)) {
- ++$diffs;
- }
- if (($default != null) && ($row->Default != $default)) {
- ++$diffs;
- }
- if (($extra != null) && ($row->Extra != $extra)) {
- ++$diffs;
- }
- if ($diffs > 0) {
- if ($debug) echo ("diffs = $diffs returning false\n");
- return false;
- }
- return true;
- } // end if found our column
- }
- return false;
-}
-
-/*
-echo "<p>testing</p>";
-echo "<pre>";
-
-//check_column('wp_links', 'link_description', 'mediumtext');
-//if (check_column($wpdb->comments, 'comment_author', 'tinytext'))
-// echo "ok\n";
-$error_count = 0;
-$tablename = $wpdb->links;
-// check the column
-if (!check_column($wpdb->links, 'link_description', 'varchar(255)'))
-{
- $ddl = "ALTER TABLE $wpdb->links MODIFY COLUMN link_description varchar(255) NOT NULL DEFAULT '' ";
- $q = $wpdb->query($ddl);
-}
-if (check_column($wpdb->links, 'link_description', 'varchar(255)')) {
- $res .= $tablename . ' - ok <br />';
-} else {
- $res .= 'There was a problem with ' . $tablename . '<br />';
- ++$error_count;
-}
-echo "</pre>";
-*/
-?> \ No newline at end of file
diff --git a/wp-inst/wp-admin/invites.php b/wp-inst/wp-admin/invites.php
deleted file mode 100644
index d955387..0000000
--- a/wp-inst/wp-admin/invites.php
+++ /dev/null
@@ -1,196 +0,0 @@
-<?php
-require_once('admin.php');
-
-$title = __('Invites');
-$parent_file = 'edit.php';
-
-if( $_POST[ 'action' ] == 'send' ) {
- $invites_left = get_usermeta( $user_ID, 'invites_left' );
- if( $_POST[ 'email' ] != '' && is_email( $_POST[ 'email' ] ) ) {
- $email = strtolower( $_POST[ 'email' ] );
- if( $invites_left != false || is_site_admin() == true ) {
- $invites_list = get_usermeta( $current_user->data->ID, "invites_list" );
- $pos = strpos( $invites_list, substr( $email, 1 ) );
- if( $pos == true ) {
- header( "Location: ".get_settings( "siteurl" )."/wp-admin/invites.php?result=alreadysent&to=" . urlencode( $email ) );
- exit;
- }
- $invites_list .= strtolower( $email ) . " ";
- update_usermeta( $current_user->data->ID, "invites_list", $invites_list );
-
- $msg = get_site_option( "invites_default_message" );
- $subject = get_site_option( "invites_default_subject" );
- $from = $cache_userdata[ $user_ID ]->user_email;
-
- $visitor_pass = md5( $email );
- $msg = str_replace( "FIRSTNAME", $_POST[ 'fname' ], $msg );
- $msg = str_replace( "LASTNAME", $_POST[ 'lname' ], $msg );
- $msg = str_replace( "PERSONALMESSAGE", $_POST[ 'personalmessage' ], $msg );
- $msg = str_replace( "VISITORPASS", $visitor_pass, $msg );
- $msg = str_replace( "\\r\\n", "\n", stripslashes( str_replace( "REGURL", "http://" . $current_site->domain . "/invite/" . $visitor_pass, $msg ) ) );
-
- $subject = str_replace( "FIRSTNAME", $_POST[ 'fname' ], $subject );
- if( $cache_userdata[ $user_ID ]->display_name != '' ) {
- $username = $cache_userdata[ $user_ID ]->display_name;
- } elseif( $cache_userdata[ $user_ID ]->first_name != '' ) {
- $username = $cache_userdata[ $user_ID ]->first_name;
- } elseif( $cache_userdata[ $user_ID ]->nickname != '' ) {
- $username = $cache_userdata[ $user_ID ]->nickname;
- } else {
- $username = __( 'Someone' );
- }
- $msg = str_replace( "USERNAME", ucfirst( $username ), $msg );
- $subject = str_replace( "USERNAME", ucfirst( $username ), $subject );
-
- $wpdb->query( "INSERT INTO ".$wpdb->usermeta." ( `umeta_id` , `user_id` , `meta_key` , `meta_value` ) VALUES ( NULL, '0', 'invite' , '".md5( strtolower( $email ) )."')" );
- $wpdb->query( "INSERT INTO ".$wpdb->usermeta." ( `umeta_id` , `user_id` , `meta_key` , `meta_value` ) VALUES ( NULL, '0', '".md5( strtolower( $email ) )."_invited_by' , '$user_ID')" );
- $wpdb->query( "INSERT INTO ".$wpdb->usermeta." ( `umeta_id` , `user_id` , `meta_key` , `meta_value` ) VALUES ( NULL, '0', '".md5( strtolower( $email ) )."_to_email' , '{$_POST[ 'email' ]}')" );
- $wpdb->query( "INSERT INTO ".$wpdb->usermeta." ( `umeta_id` , `user_id` , `meta_key` , `meta_value` ) VALUES ( NULL, '0', '".md5( strtolower( $email ) )."_to_name' , '{$_POST[ 'fname' ]}')" );
- $wpdb->query( "INSERT INTO ".$wpdb->usermeta." ( `umeta_id` , `user_id` , `meta_key` , `meta_value` ) VALUES ( NULL, '0', '".md5( strtolower( $email ) )."_invite_timestamp' , UNIX_TIMESTAMP())" );
- if( $_POST[ 'add_blog_to_blogroll' ] == '1' ) {
- $t = array( "blogid" => $wpdb->blogid, "userid" => get_current_user_id() );
- $wpdb->query( "INSERT INTO ".$wpdb->usermeta." ( `umeta_id` , `user_id` , `meta_key` , `meta_value` ) VALUES ( NULL, '0', '".md5( strtolower( $email ) )."_add_to_blogroll' , '" . serialize( $t ) . "')" );
- }
-
- mail( $_POST[ 'email' ], $subject, $msg, "From: $from" );
- if( is_site_admin() == false ) {
- $invites_left = $invites_left - 1;
- update_usermeta( $user_ID, "invites_left", $invites_left );
- }
- header( "Location: ".get_settings( "siteurl" )."/wp-admin/invites.php?result=sent&to=" . urlencode( $email ) );
- exit;
- } else {
- header( "Location: ".get_settings( "siteurl" )."/wp-admin/invites.php?result=notsent&to=" . urlencode( $email ) );
- exit;
- }
- } else {
- header( "Location: ".get_settings( "siteurl" )."/wp-admin/invites.php?result=completeform" );
- exit;
- }
-} elseif( $_GET[ 'action' ] == 'deleteinvite' ) {
- delete_invite( md5( $_GET[ 'inviteemail' ] ) );
- header( "Location: ".get_settings( "siteurl" )."/wp-admin/invites.php?result=deletedinvite" );
- exit;
-}
-
-if( $_POST[ 'personalmessage' ] == '' ) {
- if( $current_site->site_name != '' ) {
- $site_name = $current_site->site_name;
- } else {
- $site_name = get_settings( 'blogname' );
- }
- $_POST[ 'personalmessage' ] = sprintf( __( "I've been using %s and thought you might
-like to try it out. Here's an invitation to
-create an account." ), $site_name ) ;
-}
-
-include('admin-header.php');
-if (isset($_GET['result'] ) && $_GET['result'] == 'sent' ) {
- ?><div id="sent" class="updated fade"><p><strong><?php echo sprintf( __("Invite Sent to %s."),
-$wpdb->escape( $_GET[ 'to' ] ) ) ?></strong></p></div><?php
-} elseif (isset($_GET['result'] ) && $_GET['result'] == 'notsent' ) {
- ?><div id="sent" class="updated fade"><p><strong><?php echo sprintf( __("Invite Not Sent to %s."),
-$wpdb->escape( $_GET[ 'to' ] ) ) ?></strong></p></div><?php
-} elseif (isset($_GET['result'] ) && $_GET['result'] == 'alreadysent' ) {
- ?><div id="sent" class="updated fade"><p><strong><?php echo sprintf( __("Invite Already Sent to
-%s."),
-$wpdb->escape( $_GET[ 'to' ] ) ) ?></strong></p></div><?php
-} elseif (isset($_GET['result'] ) && $_GET['result'] == 'completeform' ) {
- ?><div id="sent" class="updated fade"><p><strong><?php _e("Please complete the form.") ?></strong></p></div><?php
-} elseif (isset($_GET['result'] ) && $_GET['result'] == 'deletedinvite' ) {
- ?><div id="sent" class="updated fade"><p><strong><?php _e("Invite Deleted.") ?></strong></p></div><?php
-}
-if( $invites_left != false || is_site_admin() == true ) {
-?>
-
-<div class="wrap">
- <h2><?php _e('Invites') ?></h2>
- <form name="form1" method="post" action="invites.php">
- <input type="hidden" name="action" value="send" />
- <fieldset class="options">
- <legend><?php _e('Send Invite To') ?></legend>
- <table width="100%" cellspacing="2" cellpadding="5" class="editform">
- <tr valign="top">
- <th width="33%" scope="row"><?php _e('First Name:') ?></th>
- <td><input name="fname" type="text" id="fname" value="<?php echo stripslashes( $_POST[ 'fname' ] ) ?>" size="40" /></td>
- </tr>
- <tr valign="top">
- <th width="33%" scope="row"><?php _e('Last Name:') ?></th>
- <td><input name="lname" type="text" id="lname" value="<?php echo stripslashes( $_POST[ 'lname' ] ) ?>" size="40" /></td>
- </tr>
- <tr valign="top">
- <th width="33%" scope="row"><?php _e('Email:') ?></th>
- <td><input name="email" type="text" id="email" value="<?php echo stripslashes( $_POST[ 'email' ] ) ?>" size="40" /></td>
- </tr>
- <tr valign="top">
- <th width="33%" scope="row"><?php _e('Personal Message:') ?></th>
- <td><textarea rows="5" cols="60" name="personalmessage" tabindex="5" id="defaultmessage"><?php echo stripslashes( $_POST[ 'personalmessage' ] ) ?></textarea></td>
- </tr>
- <tr valign="top">
- <th width="33%" scope="row"></th>
- <td><label><input type='checkbox' name='add_blog_to_blogroll' value='1' /> <?php _e('Add to my blogroll after signup') ?></label></td>
- </tr>
- </table>
- </fieldset>
- <p class="submit">
- <input type="submit" name="Submit" value="<?php _e('Send Invite') ?> &raquo;" />
- </p>
- </form>
-</div>
-<?php
-} else { // check for invites/is_site_admin()
- ?>
- <div class="wrap">
- <p>Sorry, you have used all your invites!</p>
- </div>
- <?php
-}
-
-$invites_list = get_usermeta( $current_user->data->ID, "invites_list" );
-if( $invites_list != '' )
-{
- if( strlen( $invites_list ) > 3 ) {
- ?><div class="wrap">
- <h3>Already Invited</h3>
- <table><?php
- $invites = explode( " ", $invites_list );
- reset( $invites );
- while( list( $key, $val ) = each( $invites ) ) {
- if( $val != "" ) {
- $id = $wpdb->get_row( "SELECT ID FROM {$wpdb->users} WHERE user_email = '$val'" );
- if( $id ) {
- $invited_user_id = $id->ID;
- } else {
- $invited_user_id = $wpdb->get_var( "SELECT user_id FROM {$wpdb->usermeta} WHERE meta_key = 'invite_hash' AND meta_value = '" . md5( $val ) . "'" );
- }
-
- if( $invited_user_id != 0 ) {
- $invited_user_blog = $wpdb->get_var( "SELECT meta_value FROM $wpdb->usermeta WHERE user_id = '$invited_user_id' AND meta_key='source_domain'" );
- } else {
- $invited_user_blog = '';
- }
- $invited_user_login = $wpdb->get_var( "SELECT user_login FROM $wpdb->users WHERE ID = '$invited_user_id'" );
- if( $invited_user_blog != '' ) {
- print "<tr><td>$val</td><td>$invited_user_login</td><td><a href='http://{$invited_user_blog}'>http://$invited_user_blog</a></td></tr>";
- } else {
- $invited_time = $wpdb->get_var( "SELECT meta_value FROM $wpdb->usermeta WHERE meta_key = '" . md5( $val ) . "_invite_timestamp'" );
- if( $invited_time ) {
- $days_left = intval( get_site_option( "invite_time_limit" ) ) - intval( ( time() - $invited_time ) / 86400 );
- print "<tr><td>$val</td><td>$invited_user_login</td><td><em>Invite Not Used Yet</em> ($days_left days left)";
- if ( function_exists('delete_invite') )
- print " (<a href='?action=deleteinvite&inviteemail=" . urlencode( $val ) . "'>Delete</a>)";
- print "</td></tr>";
- } else {
- print "<tr><td>$val</td><td>$invited_user_login</td><td><em>Invite Not Used Yet</em>";
- if ( function_exists('delete_invite') )
- print " (<a href='?action=deleteinvite&inviteemail=" . urlencode( $val ) . "'>Delete</a>)";
- print "</td></tr>";
- }
- }
- }
- }
- ?></table></div><?php
- }
-}
-?>
-<?php include("admin-footer.php") ?>
diff --git a/wp-inst/wp-admin/link-add.php b/wp-inst/wp-admin/link-add.php
deleted file mode 100644
index 71ce294..0000000
--- a/wp-inst/wp-admin/link-add.php
+++ /dev/null
@@ -1,49 +0,0 @@
-<?php
-require_once('admin.php');
-
-$title = __('Add Bookmark');
-$this_file = 'link-manager.php';
-$parent_file = 'link-manager.php';
-
-
-$wpvarstoreset = array('action', 'cat_id', 'linkurl', 'name', 'image',
- 'description', 'visible', 'target', 'category', 'link_id',
- 'submit', 'order_by', 'links_show_cat_id', 'rating', 'rel',
- 'notes', 'linkcheck[]');
-for ($i=0; $i<count($wpvarstoreset); $i += 1) {
- $wpvar = $wpvarstoreset[$i];
- if (!isset($$wpvar)) {
- if (empty($_POST["$wpvar"])) {
- if (empty($_GET["$wpvar"])) {
- $$wpvar = '';
- } else {
- $$wpvar = $_GET["$wpvar"];
- }
- } else {
- $$wpvar = $_POST["$wpvar"];
- }
- }
-}
-
-wp_enqueue_script( array('xfn', 'dbx-admin-key?pagenow=link.php') );
-if ( current_user_can( 'manage_categories' ) )
- wp_enqueue_script( 'ajaxcat' );
-require('admin-header.php');
-?>
-
-<?php if ($_GET['added']) : ?>
-<div id="message" class="updated fade"><p><?php _e('Bookmark added.'); ?></p></div>
-<?php endif; ?>
-
-<?php
- $link = get_default_link_to_edit();
- include('edit-link-form.php');
-?>
-
-<div class="wrap">
-<?php printf(__('<p>You can drag <a href="%s" title="Bookmark add bookmarklet">Link This</a> to your toolbar and when you click it a window will pop up that will allow you to add whatever site you&#8217;re on to your bookmarks! Right now this only works on Mozilla or Netscape, but we&#8217;re working on it.</p>'), "javascript:void(linkmanpopup=window.open('" . get_settings('siteurl') . "/wp-admin/link-add.php?action=popup&amp;linkurl='+escape(location.href)+'&amp;name='+escape(document.title),'LinkManager','scrollbars=yes,width=750,height=550,left=15,top=15,status=yes,resizable=yes'));linkmanpopup.focus();window.focus();linkmanpopup.focus();") ?>
-</div>
-
-<?php
-require('admin-footer.php');
-?>
diff --git a/wp-inst/wp-admin/link-import.php b/wp-inst/wp-admin/link-import.php
deleted file mode 100644
index 352b6e7..0000000
--- a/wp-inst/wp-admin/link-import.php
+++ /dev/null
@@ -1,133 +0,0 @@
-<?php
-// Links
-// Copyright (C) 2002 Mike Little -- mike@zed1.com
-
-require_once('admin.php');
-$parent_file = 'link-manager.php';
-$title = __('Import Blogroll');
-$this_file = 'link-import.php';
-
-$step = $_POST['step'];
-if (!$step) $step = 0;
-?>
-<?php
-switch ($step) {
- case 0:
- {
- include_once('admin-header.php');
- if ( !current_user_can('manage_links') )
- die (__("Cheatin&#8217; uh?"));
-
- $opmltype = 'blogrolling'; // default.
-?>
-
-<div class="wrap">
-<h2><?php _e('Import your blogroll from another system') ?> </h2>
-<form enctype="multipart/form-data" action="link-import.php" method="post" name="blogroll">
-<?php wp_nonce_field('import-bookmarks') ?>
-
-<p><?php _e('If a program or website you use allows you to export your bookmarks or subscriptions as OPML you may import them here.'); ?>
-<div style="width: 70%; margin: auto; height: 8em;">
-<input type="hidden" name="step" value="1" />
-<input type="hidden" name="MAX_FILE_SIZE" value="30000" />
-<div style="width: 48%; float: left;">
-<h3><?php _e('Specify an OPML URL:'); ?></h3>
-<input type="text" name="opml_url" size="50" style="width: 90%;" value="http://" />
-</div>
-
-<div style="width: 48%; float: left;">
-<h3><?php _e('Or choose from your local disk:'); ?></h3>
-<input id="userfile" name="userfile" type="file" size="30" />
-</div>
-
-
-</div>
-
-<p style="clear: both; margin-top: 1em;"><?php _e('Now select a category you want to put these bookmarks in.') ?><br />
-<?php _e('Category:') ?> <select name="cat_id">
-<?php
-$categories = get_categories('hide_empty=0');
-foreach ($categories as $category) {
-?>
-<option value="<?php echo $category->cat_ID; ?>"><?php echo wp_specialchars($category->cat_name); ?></option>
-<?php
-} // end foreach
-?>
-</select></p>
-
-<p class="submit"><input type="submit" name="submit" value="<?php _e('Import OPML File &raquo;') ?>" /></p>
-</form>
-
-</div>
-<?php
- break;
- } // end case 0
-
- case 1: {
- check_admin_referer('import-bookmarks');
-
- include_once('admin-header.php');
- if ( !current_user_can('manage_links') )
- die (__("Cheatin' uh ?"));
-?>
-<div class="wrap">
-
- <h2><?php _e('Importing...') ?></h2>
-<?php
- $cat_id = $_POST['cat_id'];
- if (($cat_id == '') || ($cat_id == 0)) {
- $cat_id = 1;
- }
-
- $opml_url = $_POST['opml_url'];
- if (isset($opml_url) && $opml_url != '' && $opml_url != 'http://') {
- $blogrolling = true;
- }
- else // try to get the upload file.
- {
- $overrides = array('test_form' => false, 'test_type' => false);
- $file = wp_handle_upload($_FILES['userfile'], $overrides);
-
- if ( isset($file['error']) )
- die($file['error']);
-
- $url = $file['url'];
- $opml_url = $file['file'];
- $blogrolling = false;
- }
-
- if (isset($opml_url) && $opml_url != '') {
- $opml = wp_remote_fopen($opml_url);
- include_once('link-parse-opml.php');
-
- $link_count = count($names);
- for ($i = 0; $i < $link_count; $i++) {
- if ('Last' == substr($titles[$i], 0, 4))
- $titles[$i] = '';
- if ('http' == substr($titles[$i], 0, 4))
- $titles[$i] = '';
- $link = array( 'link_url' => $urls[$i], 'link_name' => $wpdb->escape($names[$i]), 'link_category' => array($cat_id), 'link_description' => $wpdb->escape($descriptions[$i]), 'link_owner' => $user_ID, 'link_rss' => $feeds[$i]);
- wp_insert_link($link);
- echo sprintf('<p>'.__('Inserted <strong>%s</strong>').'</p>', $names[$i]);
- }
-?>
- <p><?php printf(__('Inserted %1$d bookmarks into category %2$s. All done! Go <a href="%3$s">manage those bookmarks</a>.'), $link_count, $cat_id, 'link-manager.php') ?></p>
-<?php
- } // end if got url
- else
- {
- echo "<p>" . __("You need to supply your OPML url. Press back on your browser and try again") . "</p>\n";
- } // end else
-
- if ( ! $blogrolling )
- @unlink($opml_url);
-?>
-</div>
-<?php
- break;
- } // end case 1
-} // end switch
-
-include('admin-footer.php');
-
-?>
diff --git a/wp-inst/wp-admin/link-manager.php b/wp-inst/wp-admin/link-manager.php
deleted file mode 100644
index 7638d5f..0000000
--- a/wp-inst/wp-admin/link-manager.php
+++ /dev/null
@@ -1,209 +0,0 @@
-<?php
-
-
-// Links
-// Copyright (C) 2002, 2003 Mike Little -- mike@zed1.com
-
-require_once ('admin.php');
-
-$title = __('Manage Bookmarks');
-$this_file = $parent_file = 'link-manager.php';
-wp_enqueue_script( 'listman' );
-
-$wpvarstoreset = array ('action', 'cat_id', 'linkurl', 'name', 'image', 'description', 'visible', 'target', 'category', 'link_id', 'submit', 'order_by', 'links_show_cat_id', 'rating', 'rel', 'notes', 'linkcheck[]');
-
-for ($i = 0; $i < count($wpvarstoreset); $i += 1) {
- $wpvar = $wpvarstoreset[$i];
- if (!isset ($$wpvar)) {
- if (empty ($_POST["$wpvar"])) {
- if (empty ($_GET["$wpvar"])) {
- $$wpvar = '';
- } else {
- $$wpvar = $_GET["$wpvar"];
- }
- } else {
- $$wpvar = $_POST["$wpvar"];
- }
- }
-}
-
-if (empty ($cat_id))
- $cat_id = 'all';
-
-if (empty ($order_by))
- $order_by = 'order_name';
-
-$title = __('Manage Bookmarks');
-include_once ("./admin-header.php");
-
-if (!current_user_can('manage_links'))
- die(__("You do not have sufficient permissions to edit the bookmarks for this blog."));
-
-switch ($order_by) {
- case 'order_id' :
- $sqlorderby = 'id';
- break;
- case 'order_url' :
- $sqlorderby = 'url';
- break;
- case 'order_desc' :
- $sqlorderby = 'description';
- break;
- case 'order_owner' :
- $sqlorderby = 'owner';
- break;
- case 'order_rating' :
- $sqlorderby = 'rating';
- break;
- case 'order_name' :
- default :
- $sqlorderby = 'name';
- break;
-}
-?>
-<script type="text/javascript">
-<!--
-function checkAll(form)
-{
- for (i = 0, n = form.elements.length; i < n; i++) {
- if(form.elements[i].type == "checkbox") {
- if(form.elements[i].checked == true)
- form.elements[i].checked = false;
- else
- form.elements[i].checked = true;
- }
- }
-}
-//-->
-</script>
-
-<?php
-if ( isset($_GET['deleted']) ) {
- echo '<div style="background-color: rgb(207, 235, 247);" id="message" class="updated fade"><p>';
- $deleted = (int) $_GET['deleted'];
- printf(__('%s bookmarks deleted.'), $deleted);
- echo '</p></div>';
-}
-?>
-
-<div class="wrap">
-
-<h2><?php _e('Bookmark Management'); ?></h2>
-<p><?php _e('Here you add links to sites that you visit often and share them on your blog. When you have a list of links in your sidebar to other blogs, it&#8217;s called a &#8220;blogroll.&#8221;'); ?></p>
-<form id="cats" method="get" action="">
-<p>Currently showing
-<?php $categories = get_categories("hide_empty=1&type=link"); ?>
-<select name="cat_id">
-<option value="all" <?php echo ($cat_id == 'all') ? " selected='selected'" : ''; ?>><?php _e('All') ?></option>
-<?php foreach ($categories as $cat): ?>
-<option value="<?php echo $cat->cat_ID; ?>"<?php echo ($cat->cat_ID == $cat_id) ? " selected='selected'" : ''; ?>><?php echo wp_specialchars($cat->cat_name); ?>
-</option>
-<?php endforeach; ?>
-</select>
-bookmarks ordered by
-<select name="order_by">
-<option value="order_id" <?php if ($order_by == 'order_id') echo " selected='selected'";?>><?php _e('Bookmark ID') ?></option>
-<option value="order_name" <?php if ($order_by == 'order_name') echo " selected='selected'";?>><?php _e('Name') ?></option>
-<option value="order_url" <?php if ($order_by == 'order_url') echo " selected='selected'";?>><?php _e('URI') ?></option>
-</select>
-<input type="submit" name="action" value="<?php _e('Update &raquo;') ?>" />
-</form>
-
-<form id="links" method="post" action="link.php">
-<?php wp_nonce_field('bulk-bookmarks') ?>
-<input type="hidden" name="link_id" value="" />
-<input type="hidden" name="action" value="" />
-<input type="hidden" name="order_by" value="<?php echo wp_specialchars($order_by, 1); ?>" />
-<input type="hidden" name="cat_id" value="<?php echo (int) $cat_id ?>" />
-<table class="widefat">
- <thead>
- <tr>
- <th width="15%" style="text-align: left"><?php _e('Name') ?></th>
- <th style="text-align: left"><?php _e('URI') ?></th>
- <th style="text-align: left"><?php _e('Categories') ?></th>
- <th><?php _e('rel') ?></th>
- <th><?php _e('Visible') ?></th>
- <th colspan="2"><?php _e('Action') ?></th>
- <th><input type="checkbox" onclick="checkAll(document.getElementById('links'));" /></th>
- </tr>
- </thead>
- <tbody id="the-list">
-<?php
-if ( 'all' == $cat_id )
- $cat_id = '';
-$links = get_bookmarks("category=$cat_id&hide_invisible=0&orderby=$sqlorderby&hide_empty=0");
-if ($links)
- foreach ($links as $link) {
- $link->link_name = wp_specialchars($link->link_name);
- $link->link_description = wp_specialchars($link->link_description);
- $link->link_url = wp_specialchars($link->link_url);
- $link->link_category = wp_get_link_cats($link->link_id);
- $short_url = str_replace('http://', '', $link->link_url);
- $short_url = str_replace('www.', '', $short_url);
- if ('/' == substr($short_url, -1))
- $short_url = substr($short_url, 0, -1);
- if (strlen($short_url) > 35)
- $short_url = substr($short_url, 0, 32).'...';
-
- $visible = ($link->link_visible == 'Y') ? __('Yes') : __('No');
- ++ $i;
- $style = ($i % 2) ? '' : ' class="alternate"';
-?>
- <tr id="link-<?php echo $link->link_id; ?>" valign="middle" <?php echo $style; ?>>
- <td><strong><?php echo $link->link_name; ?></strong><br />
- <?php
-
-
- echo $link->link_description . "</td>";
- echo "<td><a href=\"$link->link_url\" title=\"".sprintf(__('Visit %s'), $link->link_name)."\">$short_url</a></td>";
- ?>
- <td>
- <?php
-
- $cat_names = array();
- foreach ($link->link_category as $category) {
- $cat_name = get_the_category_by_ID($category);
- $cat_name = wp_specialchars($cat_name);
- if ( $cat_id != $category )
- $cat_name = "<a href='link-manager.php?cat_id=$category'>$cat_name</a>";
- $cat_names[] = $cat_name;
- }
- echo implode(', ', $cat_names);
- ?>
- </td>
- <td><?php echo $link->link_rel; ?></td>
- <td align='center'><?php echo $visible; ?></td>
-<?php
-
- echo '<td><a href="link.php?link_id='.$link->link_id.'&amp;action=edit" class="edit">'.__('Edit').'</a></td>';
- echo '<td><a href="' . wp_nonce_url('link.php?link_id='.$link->link_id.'&amp;action=delete', 'delete-bookmark_' . $link->link_id ) . '"'." class='delete' onclick=\"return deleteSomething( 'link', $link->link_id , '".sprintf(__("You are about to delete the &quot;%s&quot; bookmark to %s.\\n&quot;Cancel&quot; to stop, &quot;OK&quot; to delete."), wp_specialchars($link->link_name, 1), wp_specialchars($link->link_url)).'\' );" class="delete">'.__('Delete').'</a></td>';
- echo '<td align="center"><input type="checkbox" name="linkcheck[]" value="'.$link->link_id.'" /></td>';
- echo "\n </tr>\n";
- }
-?>
- </tbody>
-</table>
-
-<div id="ajax-response"></div>
-
-<p class="submit"><input type="submit" class="button" name="deletebookmarks" id="deletebookmarks" value="<?php _e('Delete Checked Bookmarks') ?> &raquo;" onclick="return confirm('<?php _e("You are about to delete these bookmarks permanently \\n \'Cancel\' to stop, \'OK\' to delete.") ?>')" /></p>
-</div>
-</form>
-
-<?php
-if( wp_cache_get( "checked_bookmarks_table", "options" ) == false ) {
- $results = $wpdb->get_results( "SELECT link_id, category_id, count( * ) AS c FROM {$wpdb->link2cat} GROUP BY link_id, category_id" );
- if( $results != null ) {
- foreach( $results as $link ) {
- if( $link->c > 1 ) {
- $wpdb->query( "DELETE FROM {$wpdb->link2cat} WHERE link_id='{$link->link_id}' AND category_id='{$link->category_id}'" );
- $wpdb->query( "INSERT INTO {$wpdb->link2cat} VALUES ( 0, '{$link->link_id}', '{$link->category_id}' )" );
- }
- }
- }
- wp_cache_set( "checked_bookmarks_table", "1", "options" );
-}
-
-?>
-
-<?php include('admin-footer.php'); ?>
diff --git a/wp-inst/wp-admin/link-parse-opml.php b/wp-inst/wp-admin/link-parse-opml.php
deleted file mode 100644
index 196f3cb..0000000
--- a/wp-inst/wp-admin/link-parse-opml.php
+++ /dev/null
@@ -1,65 +0,0 @@
-<?php
-require_once('../wp-config.php');
-
-// columns we wish to find are: link_url, link_name, link_target, link_description
-// we need to map XML attribute names to our columns
-$opml_map = array('URL' => 'link_url',
- 'HTMLURL' => 'link_url',
- 'TEXT' => 'link_name',
- 'TITLE' => 'link_name',
- 'TARGET' => 'link_target',
- 'DESCRIPTION' => 'link_description',
- 'XMLURL' => 'link_rss'
-);
-
-$map = $opml_map;
-
-/**
- ** startElement()
- ** Callback function. Called at the start of a new xml tag.
- **/
-function startElement($parser, $tagName, $attrs) {
- global $updated_timestamp, $all_links, $map;
- global $names, $urls, $targets, $descriptions, $feeds;
-
- if ($tagName == 'OUTLINE') {
- foreach (array_keys($map) as $key) {
- if (isset($attrs[$key])) {
- $$map[$key] = $attrs[$key];
- }
- }
-
- //echo("got data: link_url = [$link_url], link_name = [$link_name], link_target = [$link_target], link_description = [$link_description]<br />\n");
-
- // save the data away.
- $names[] = $link_name;
- $urls[] = $link_url;
- $targets[] = $link_target;
- $feeds[] = $link_rss;
- $descriptions[] = $link_description;
- } // end if outline
-}
-
-/**
- ** endElement()
- ** Callback function. Called at the end of an xml tag.
- **/
-function endElement($parser, $tagName) {
- // nothing to do.
-}
-
-// Create an XML parser
-$xml_parser = xml_parser_create();
-
-// Set the functions to handle opening and closing tags
-xml_set_element_handler($xml_parser, "startElement", "endElement");
-
-if (!xml_parse($xml_parser, $opml, true)) {
- echo(sprintf(__('XML error: %1$s at line %2$s'),
- xml_error_string(xml_get_error_code($xml_parser)),
- xml_get_current_line_number($xml_parser)));
-}
-
-// Free up memory used by the XML parser
-xml_parser_free($xml_parser);
-?>
diff --git a/wp-inst/wp-admin/link.php b/wp-inst/wp-admin/link.php
deleted file mode 100644
index 6e3056d..0000000
--- a/wp-inst/wp-admin/link.php
+++ /dev/null
@@ -1,128 +0,0 @@
-<?php
-require_once ('admin.php');
-
-$wpvarstoreset = array ('action', 'cat_id', 'linkurl', 'name', 'image', 'description', 'visible', 'target', 'category', 'link_id', 'submit', 'order_by', 'links_show_cat_id', 'rating', 'rel', 'notes', 'linkcheck[]');
-
-for ($i = 0; $i < count($wpvarstoreset); $i += 1) {
- $wpvar = $wpvarstoreset[$i];
- if (!isset ($$wpvar)) {
- if (empty ($_POST["$wpvar"])) {
- if (empty ($_GET["$wpvar"])) {
- $$wpvar = '';
- } else {
- $$wpvar = $_GET["$wpvar"];
- }
- } else {
- $$wpvar = $_POST["$wpvar"];
- }
- }
-}
-
-if ('' != $_POST['deletebookmarks'])
- $action = 'deletebookmarks';
-if ('' != $_POST['move'])
- $action = 'move';
-if ('' != $_POST['linkcheck'])
- $linkcheck = $_POST[linkcheck];
-
-$this_file = 'link-manager.php';
-
-switch ($action) {
- case 'deletebookmarks' :
- check_admin_referer('bulk-bookmarks');
-
- // check the current user's level first.
- if (!current_user_can('manage_links'))
- die(__("Cheatin' uh ?"));
-
- //for each link id (in $linkcheck[]) change category to selected value
- if (count($linkcheck) == 0) {
- header('Location: '.$this_file);
- exit;
- }
-
- $deleted = 0;
- foreach ($linkcheck as $link_id) {
- $link_id = (int) $link_id;
-
- if ( wp_delete_link($link_id) )
- $deleted++;
- }
-
- header("Location: $this_file?deleted=$deleted");
- break;
-
- case 'move' :
- check_admin_referer('bulk-bookmarks');
-
- // check the current user's level first.
- if (!current_user_can('manage_links'))
- die(__("Cheatin' uh ?"));
-
- //for each link id (in $linkcheck[]) change category to selected value
- if (count($linkcheck) == 0) {
- header('Location: '.$this_file);
- exit;
- }
- $all_links = join(',', $linkcheck);
- // should now have an array of links we can change
- //$q = $wpdb->query("update $wpdb->links SET link_category='$category' WHERE link_id IN ($all_links)");
-
- header('Location: '.$this_file);
- break;
-
- case 'add' :
- check_admin_referer('add-bookmark');
-
- add_link();
-
- header('Location: '.$_SERVER['HTTP_REFERER'].'?added=true');
- break;
-
- case 'save' :
- $link_id = (int) $_POST['link_id'];
- check_admin_referer('update-bookmark_' . $link_id);
-
- edit_link($link_id);
-
- wp_redirect($this_file);
- exit;
- break;
-
- case 'delete' :
- $link_id = (int) $_GET['link_id'];
- check_admin_referer('delete-bookmark_' . $link_id);
-
- if (!current_user_can('manage_links'))
- die(__("Cheatin' uh ?"));
-
- wp_delete_link($link_id);
-
- wp_redirect($this_file);
- break;
-
- case 'edit' :
- wp_enqueue_script( array('xfn', 'dbx-admin-key?pagenow=link.php') );
- if ( current_user_can( 'manage_categories' ) )
- wp_enqueue_script( 'ajaxcat' );
- $parent_file = 'link-manager.php';
- $submenu_file = 'link-manager.php';
- $title = __('Edit Bookmark');
- include_once ('admin-header.php');
- if (!current_user_can('manage_links'))
- die(__('You do not have sufficient permissions to edit the bookmarks for this blog.'));
-
- $link_id = (int) $_GET['link_id'];
-
- if (!$link = get_link_to_edit($link_id))
- die(__('Link not found.'));
-
- include ('edit-link-form.php');
- break;
-
- default :
- break;
-}
-
-include ('admin-footer.php');
-?>
diff --git a/wp-inst/wp-admin/list-manipulation-js.php b/wp-inst/wp-admin/list-manipulation-js.php
deleted file mode 100644
index ef09467..0000000
--- a/wp-inst/wp-admin/list-manipulation-js.php
+++ /dev/null
@@ -1,163 +0,0 @@
-<?php
-require_once('admin.php');
-header('Content-type: text/javascript; charset=' . get_settings('blog_charset'), true);
-?>
-addLoadEvent(function(){theList=new listMan();});
-function deleteSomething(what,id,message,obj){if(!obj)obj=theList;if(!message)message="<?php printf(__('Are you sure you want to delete this %s?'),"'+what+'"); ?>";if(confirm(message))return obj.ajaxDelete(what,id);else return false;}
-function dimSomething(what,id,dimClass,obj){if(!obj)obj=theList;return obj.ajaxDimmer(what,id,dimClass);}
-
-function WPAjax(file, responseEl){//class WPAjax extends sack
- this.getResponseElement=function(r){var p=document.getElementById(r+'-p');if(!p){p=document.createElement('span');p.id=r+'-p';document.getElementById(r).appendChild(p);}this.myResponseElement=p; }
- this.parseAjaxResponse=function(){
- if(isNaN(this.response)){this.myResponseElement.innerHTML='<div class="error"><p>'+this.response+'</p></div>';return false;}
- this.response=parseInt(this.response,10);
- if(-1==this.response){this.myResponseElement.innerHTML="<div class='error'><p><?php _e("You don't have permission to do that."); ?></p></div>";return false;}
- else if(0==this.response){this.myResponseElement.innerHTML="<div class='error'><p><?php _e("Something odd happened. Try refreshing the page? Either that or what you tried to change never existed in the first place."); ?></p></div>";return false;}
- return true;
- }
- this.parseAjaxResponseXML=function(){
- if(this.responseXML&&typeof this.responseXML=='object')return true;
- if(isNaN(this.response)){this.myResponseElement.innerHTML='<div class="error"><p>'+this.response+'</p></div>';return false;}
- var r=parseInt(this.response,10);
- if(-1==r){this.myResponseElement.innerHTML="<div class='error'><p><?php _e("You don't have permission to do that."); ?></p></div>";}
- else if(0==r){this.myResponseElement.innerHTML="<div class='error'><p><?php _e("Invalid Entry."); ?></p></div>";}
- return false;
- }
- this.init(file,responseEl);
-} WPAjax.prototype=new sack;
- WPAjax.prototype.init=function(f,r){
- this.encVar('cookie', document.cookie);
- this.requestFile=f;this.getResponseElement(r);this.method='POST';
- this.onLoading=function(){this.myResponseElement.innerHTML="<?php _e('Sending Data...'); ?>";};
- this.onLoaded=function(){this.myResponseElement.innerHTML="<?php _e('Data Sent...'); ?>";};
- this.onInteractive=function(){this.myResponseElement.innerHTML="<?php _e('Processing Data...'); ?>";};
- }
-
-function listMan(theListId){
- this.theList=null;
- this.ajaxRespEl=null;
- this.inputData='';this.clearInputs=new Array();this.showLink=1;
- this.topAdder=0;this.alt='alternate';this.recolorPos;this.reg_color='#FFFFFF';this.alt_color='#F1F1F1';
- this.addComplete=null;this.delComplete=null;this.dimComplete=null;
- var listType;var listItems;
- self.aTrap=0;
-
- this.ajaxAdder=function(what,where,update){//for TR, server must wrap TR in TABLE TBODY. this.makeEl cleans it
- if(self.aTrap)return;self.aTrap=1;setTimeout('aTrap=0',300);
- this.ajaxAdd=new WPAjax('admin-ajax.php',this.ajaxRespEl?this.ajaxRespEl:'ajax-response');
- if(this.ajaxAdd.failed)return true;
- this.grabInputs(where);
- var tempObj=this;
- this.ajaxAdd.onCompletion=function(){
- if(!this.parseAjaxResponseXML())return;
- var newItems=this.responseXML.getElementsByTagName(what);
- if(tempObj.topAdder)tempObj.recolorPos=0;
- if(newItems){for (c=0;c<newItems.length;c++){
- var id=parseInt(getNodeValue(newItems[c],'id'),10);
- var exists=document.getElementById(what+'-'+id);
- if(exists)tempObj.replaceListItem(exists.id,getNodeValue(newItems[c],'newitem'),newItems.length,update);
- else tempObj.addListItem(getNodeValue(newItems[c],'newitem'),newItems.length);
- }}
- tempObj.inputData='';
- if(tempObj.showLink){this.myResponseElement.innerHTML='<div id="jumplink" class="updated fade"><p><a href="#'+what+'-'+id+'"><?php _e('Jump to new item'); ?></a></p></div>';}
- else this.myResponseElement.innerHTML='';
- for(var i=0;i<tempObj.clearInputs.length;i++){try{var theI=document.getElementById(tempObj.clearInputs[i]);if(theI.tagName.match(/select/i))theI.selectedIndex=0;else theI.value='';}catch(e){}}
- if(tempObj.addComplete&&typeof tempObj.addComplete=='function')tempObj.addComplete(what,where,update);
- tempObj.recolorList(tempObj.recolorPos,1000);
- }
- this.ajaxAdd.runAJAX('action='+(update?'update-':'add-')+what+this.inputData);
- return false;
- }
- this.ajaxUpdater=function(what,where){return this.ajaxAdder(what,where,true);}
- this.ajaxDelete=function(what,id){
- if(self.aTrap)return;self.aTrap=1;setTimeout('aTrap=0',300);
- this.ajaxDel=new WPAjax('admin-ajax.php',this.ajaxRespEl?this.ajaxRespEl:'ajax-response');
- if(this.ajaxDel.failed)return true;
- var tempObj=this;
- this.ajaxDel.onCompletion=function(){if(this.parseAjaxResponse()){tempObj.removeListItem(what.replace('-as-spam','')+'-'+id);this.myResponseElement.innerHTML='';if(tempObj.delComplete&&typeof tempObj.delComplete=='function')tempObj.delComplete(what,id);tempObj.recolorList(tempObj.recolorPos,1000)}};
- this.ajaxDel.runAJAX('action=delete-'+what+'&id='+id);
- return false;
- }
- this.ajaxDimmer=function(what,id,dimClass){
- if(self.aTrap)return;self.aTrap=1;setTimeout('aTrap=0',300);
- this.ajaxDim=new WPAjax('admin-ajax.php',this.ajaxRespEl?this.ajaxRespEl:'ajax-response');
- if(this.ajaxDim.failed)return true;
- var tempObj=this;
- this.ajaxDim.onCompletion=function(){if(this.parseAjaxResponse()){tempObj.dimItem(what+'-'+id,dimClass);this.myResponseElement.innerHTML='';if(tempObj.dimComplete&&typeof tempObj.dimComplete=='function')tempObj.dimComplete(what,id,dimClass);}};
- this.ajaxDim.runAJAX('action=dim-'+what+'&id='+id);
- return false;
- }
- this.makeEl=function(h){var fakeItem=document.createElement('div');fakeItem.innerHTML=h;var r=fakeItem.firstChild;while(r.tagName.match(/(table|tbody)/i)){r=r.firstChild;}return r;}
- this.addListItem=function(h,tot){
- newItem=this.makeEl(h);
- if(this.topAdder){var firstItem=this.theList.getElementsByTagName('table'==listType?'tr':'li')[0];listItems.unshift(newItem.id);this.recolorPos++}
- else{listItems.push(newItem.id);this.recolorPos=listItems.length;}
- if(this.alt&&!((tot-this.recolorPos)%2))newItem.className+=' '+this.alt;
- if(firstItem)firstItem.parentNode.insertBefore(newItem,firstItem);
- else this.theList.appendChild(newItem);
- Fat.fade_element(newItem.id);
- }
- this.removeListItem=function(id,noFade){
- if(!noFade)Fat.fade_element(id,null,700,'#FF3333');
- var theItem=document.getElementById(id);
- if(!noFade){var func=encloseFunc(function(a){a.parentNode.removeChild(a);},theItem);setTimeout(func,705);}
- else{theItem.parentNode.removeChild(theItem);}
- var pos=this.getListPos(id);
- listItems.splice(pos,1);
- }
- this.replaceListItem=function(id,h,tot,update){
- if(!update){this.removeListItem(id,true);this.addListItem(h,tot);return;}
- var newItem=this.makeEl(h);
- var oldItem=document.getElementById(id);
- var pos=this.getListPos(oldItem.id,1);if(this.alt&&!(pos%2))newItem.className+=' '+this.alt;
- oldItem.parentNode.replaceChild(newItem,oldItem);
- Fat.fade_element(newItem.id);
- }
- this.dimItem=function(id,dimClass,noFade){
- var theItem=document.getElementById(id);
- if(theItem.className.match(dimClass)){if(!noFade)Fat.fade_element(id,null,700,null);theItem.className=theItem.className.replace(dimClass,'');}
- else{if(!noFade)Fat.fade_element(id,null,700,'#FF3333');theItem.className=theItem.className+' '+dimClass;}
- }
- this.grabInputs=function(elId){//text,password,hidden,textarea,select
- var theItem=document.getElementById(elId);
- var inputs=new Array();
- inputs.push(theItem.getElementsByTagName('input'),theItem.getElementsByTagName('textarea'),theItem.getElementsByTagName('select'));
- for(var a=0;a<inputs.length;a++){
- for(var i=0;i<inputs[a].length;i++){
- if('action'==inputs[a][i].name)continue;
- if('text'==inputs[a][i].type||'password'==inputs[a][i].type||'hidden'==inputs[a][i].type||inputs[a][i].tagName.match(/textarea/i)){
- this.inputData+='&'+inputs[a][i].name+'='+encodeURIComponent(inputs[a][i].value);if('hidden'!=inputs[a][i].type)this.clearInputs.push(inputs[a][i].id);
- }else if(inputs[a][i].tagName.match(/select/i)){
- this.inputData+='&'+inputs[a][i].name+'='+encodeURIComponent(inputs[a][i].options[inputs[a][i].selectedIndex].value);this.clearInputs.push(inputs[a][i].id);
- }
- }
- }
- }
- this.getListPos=function(id,n){for(var i=0;i<listItems.length;i++){if(id==listItems[i]){var pos=i;break;}}if(!n){if(pos<this.recolorPos)this.recolorPos=pos;}return pos;}
- this.getListItems=function(){
- if(this.theList)return;
- listItems=new Array();
- if(theListId){this.theList=document.getElementById(theListId);if(!this.theList)return false;}
- else{this.theList=document.getElementById('the-list');if(this.theList)theListId='the-list';}
- if(this.theList){
- var items=this.theList.getElementsByTagName('tr');listType='table';
- if(!items[0]){items=this.theList.getElementsByTagName('li');listType='list';}
- for(var i=0;i<items.length;i++){listItems.push(items[i].id);}
- this.recolorPos=listItems.length;
- }
- }
- this.recolorList=function(pos,dur){
- if(!this.alt)return;if(!pos)pos=0;this.recolorPos=listItems.length;
- for(var i=pos;i<listItems.length;i++){var e=document.getElementById(listItems[i]);if(i%2)e.className=e.className.replace(this.alt,'fade-'+this.alt_color.slice(1));else e.className+=' '+this.alt+' fade-'+this.reg_color.slice(1);e.style.backgroundColor='';}
- Fat.fade_all(dur);
- var func=encloseFunc(function(l){for(var i=0;i<l.length;i++){var e=document.getElementById(l[i]);e.className=e.className.replace(/fade-[a-f0-9]{6}/i,'');}},listItems);
- setTimeout(func,dur+5);
- }
- this.getListItems();
-}
-//No submit unless eval(code) returns true.
-function killSubmit(code,e){if(!e){if(window.event)e=window.event;else return;}var t=e.target?e.target:e.srcElement;if(('text'==t.type&&e.keyCode==13)||('submit'==t.type&&'click'==e.type)){if(!eval(code)){e.returnValue=false;e.cancelBubble=true;return false;}}}
-//Pretty func from ALA http://www.alistapart.com/articles/gettingstartedwithajax
-function getNodeValue(tree,el){return tree.getElementsByTagName(el)[0].firstChild.nodeValue;}
-//Generic but lame JS closure
-function encloseFunc(f){var a=arguments[1];return function(){return f(a);}}
diff --git a/wp-inst/wp-admin/menu-header.php b/wp-inst/wp-admin/menu-header.php
deleted file mode 100644
index 416a229..0000000
--- a/wp-inst/wp-admin/menu-header.php
+++ /dev/null
@@ -1,61 +0,0 @@
-<ul id="adminmenu">
-<?php
-$self = preg_replace('|^.*/wp-admin/|i', '', $_SERVER['PHP_SELF']);
-$self = preg_replace('|^.*/plugins/|i', '', $self);
-
-get_admin_page_parent();
-
-foreach ($menu as $item) {
- $class = '';
-
- // 0 = name, 1 = capability, 2 = file
- if (( strcmp($self, $item[2]) == 0 && empty($parent_file)) || ($parent_file && ($item[2] == $parent_file))) $class = ' class="current"';
-
- if ( !empty($submenu[$item[2]]) || current_user_can($item[1]) ) {
- if ( file_exists(ABSPATH . "wp-content/plugins/{$item[2]}") )
- echo "\n\t<li><a href='" . get_settings('siteurl') . "/wp-admin/admin.php?page={$item[2]}'$class>{$item[0]}</a></li>";
- else
- echo "\n\t<li><a href='" . get_settings('siteurl') . "/wp-admin/{$item[2]}'$class>{$item[0]}</a></li>";
- }
-}
-
-?>
-</ul>
-
-<?php
-// Sub-menu
-if ( isset($submenu["$parent_file"]) ) :
-?>
-<ul id="submenu">
-<?php
-foreach ($submenu["$parent_file"] as $item) :
- if ( !current_user_can($item[1]) )
- continue;
-
-if ( isset($submenu_file) ) {
- if ( $submenu_file == $item[2] ) $class = ' class="current"';
- else $class = '';
-} else if ( (isset($plugin_page) && $plugin_page == $item[2]) || (!isset($plugin_page) && $self == $item[2]) ) $class = ' class="current"';
-else $class = '';
-
-$menu_hook = get_plugin_page_hook($item[2], $parent_file);
-
-if (file_exists(ABSPATH . "wp-content/plugins/{$item[2]}") || ! empty($menu_hook)) {
- if ( 'admin.php' == $pagenow )
- echo "\n\t<li><a href='" . get_settings('siteurl') . "/wp-admin/admin.php?page={$item[2]}'$class>{$item[0]}</a></li>";
- else
- echo "\n\t<li><a href='" . get_settings('siteurl') . "/wp-admin/{$parent_file}?page={$item[2]}'$class>{$item[0]}</a></li>";
- } else {
- echo "\n\t<li><a href='" . get_settings('siteurl') . "/wp-admin/{$item[2]}'$class>{$item[0]}</a></li>";
- }
-endforeach;
-?>
-
-</ul>
-<?php
-
-endif;
-
-do_action('admin_notices');
-
-?>
diff --git a/wp-inst/wp-admin/menu.php b/wp-inst/wp-admin/menu.php
deleted file mode 100644
index f363a76..0000000
--- a/wp-inst/wp-admin/menu.php
+++ /dev/null
@@ -1,141 +0,0 @@
-<?php
-// This array constructs the admin menu bar.
-//
-// Menu item name
-// The minimum level the user needs to access the item: between 0 and 10
-// The URL of the item's file
-
-$menu_perms = get_site_option( "menu_items" );
-if( is_array( $menu_perms ) == false )
- $menu_perms = array();
-
-$menu[0] = array(__('Dashboard'), 'read', 'index.php');
-$menu[5] = array(__('Write'), 'edit_posts', 'post-new.php');
-$menu[10] = array(__('Manage'), 'edit_posts', 'edit.php');
-$menu[20] = array(__('Bookmarks'), 'manage_links', 'link-manager.php');
-$menu[25] = array(__('Presentation'), 'switch_themes', 'themes.php');
-if( $menu_perms[ 'plugins' ] == 1 )
- $menu[30] = array(__('Plugins'), 'activate_plugins', 'plugins.php');
-if ( current_user_can('edit_users') )
- $menu[35] = array(__('Users'), 'edit_users', 'users.php');
-else
- $menu[35] = array(__('Profile'), 'read', 'profile.php');
-$menu[40] = array(__('Options'), 'manage_options', 'options-general.php');
-
-
-$submenu['post-new.php'][5] = array(__('Write Post'), 'edit_posts', 'post-new.php');
-$submenu['post-new.php'][10] = array(__('Write Page'), 'edit_pages', 'page-new.php');
-
-$submenu['edit.php'][5] = array(__('Posts'), 'edit_posts', 'edit.php');
-$submenu['edit.php'][10] = array(__('Pages'), 'edit_pages', 'edit-pages.php');
-$submenu['edit.php'][15] = array(__('Categories'), 'manage_categories', 'categories.php');
-$submenu['edit.php'][20] = array(__('Comments'), 'edit_posts', 'edit-comments.php');
-$awaiting_mod = $wpdb->get_var("SELECT COUNT(*) FROM $wpdb->comments WHERE comment_approved = '0'");
-$submenu['edit.php'][25] = array(sprintf(__("Awaiting Moderation (%s)"), "<span id='awaitmod'>$awaiting_mod</span>"), 'edit_posts', 'moderation.php');
-//$submenu['edit.php'][30] = array(__('Files'), 'edit_files', 'templates.php');
-$submenu['edit.php'][35] = array(__('Import'), 'import', 'import.php');
-$submenu['edit.php'][40] = array(__('Export'), 'import', 'export.php');
-//$invites_left = get_usermeta( $user_ID, 'invites_left' );
-//$submenu['edit.php'][45] = array(sprintf(__("Invites (%s)"), $invites_left ), 'edit_posts', 'invites.php'); // TODO: put somewhere else.
-
-$submenu['link-manager.php'][5] = array(__('Manage Bookmarks'), 'manage_links', 'link-manager.php');
-$submenu['link-manager.php'][10] = array(__('Add Bookmark'), 'manage_links', 'link-add.php');
-$submenu['link-manager.php'][20] = array(__('Import Bookmarks'), 'manage_links', 'link-import.php');
-
-if ( current_user_can('edit_users') ) {
- $submenu['users.php'][5] = array(__('Authors &amp; Users'), 'edit_users', 'users.php');
- $submenu['users.php'][10] = array(__('Your Profile'), 'read', 'profile.php');
-} else {
- $submenu['profile.php'][5] = array(__('Your Profile'), 'read', 'profile.php');
-}
-
-$submenu['options-general.php'][10] = array(__('General'), 'manage_options', 'options-general.php');
-$submenu['options-general.php'][15] = array(__('Writing'), 'manage_options', 'options-writing.php');
-$submenu['options-general.php'][20] = array(__('Reading'), 'manage_options', 'options-reading.php');
-$submenu['options-general.php'][25] = array(__('Discussion'), 'manage_options', 'options-discussion.php');
-//$submenu['options-general.php'][30] = array(__('Privacy'), 'manage_options', 'options-privacy.php');
-//$submenu['options-general.php'][35] = array(__('Permalinks'), 'manage_options', 'options-permalink.php');
-//$submenu['options-general.php'][40] = array(__('Miscellaneous'), 'manage_options', 'options-misc.php');
-
-//$submenu['plugins.php'][5] = array(__('Plugins'), 'activate_plugins', 'plugins.php');
-//$submenu['plugins.php'][10] = array(__('Plugin Editor'), 'edit_plugins', 'plugin-editor.php');
-
-$submenu['themes.php'][5] = array(__('Themes'), 'switch_themes', 'themes.php');
-//$submenu['themes.php'][10] = array(__('Theme Editor'), 'edit_themes', 'theme-editor.php');
-
-// Create list of page plugin hook names.
-foreach ($menu as $menu_page) {
- $admin_page_hooks[$menu_page[2]] = sanitize_title($menu_page[0]);
-}
-
-do_action('admin_menu', '');
-
-// Loop over submenus and remove pages for which the user does not have privs.
-foreach ($submenu as $parent => $sub) {
- foreach ($sub as $index => $data) {
- if ( ! current_user_can($data[1]) ) {
- $menu_nopriv[$data[2]] = true;
- unset($submenu[$parent][$index]);
- }
- }
-
- if ( empty($submenu[$parent]) )
- unset($submenu[$parent]);
-}
-
-// Loop over the top-level menu.
-// Remove menus that have no accessible submenus and require privs that the user does not have.
-// Menus for which the original parent is not acessible due to lack of privs will have the next
-// submenu in line be assigned as the new menu parent.
-foreach ( $menu as $id => $data ) {
- // If submenu is empty...
- if ( empty($submenu[$data[2]]) ) {
- // And user doesn't have privs, remove menu.
- if ( ! current_user_can($data[1]) ) {
- $menu_nopriv[$data[2]] = true;
- unset($menu[$id]);
- }
- } else {
- $subs = $submenu[$data[2]];
- $first_sub = array_shift($subs);
- $old_parent = $data[2];
- $new_parent = $first_sub[2];
- // If the first submenu is not the same as the assigned parent,
- // make the first submenu the new parent.
- if ( $new_parent != $old_parent ) {
- $real_parent_file[$old_parent] = $new_parent;
- $menu[$id][2] = $new_parent;
-
- foreach ($submenu[$old_parent] as $index => $data) {
- $submenu[$new_parent][$index] = $submenu[$old_parent][$index];
- unset($submenu[$old_parent][$index]);
- }
- unset($submenu[$old_parent]);
- }
- }
-}
-
-get_currentuserinfo();
-if( is_site_admin() ) {
- $menu[1] = array(__('Site Admin'), '10', 'wpmu-admin.php' );
- $submenu[ 'wpmu-admin.php' ][5] = array( 'Blogs', '10', 'wpmu-blogs.php' );
- $submenu[ 'wpmu-admin.php' ][10] = array( 'Users', '10', 'wpmu-users.php' );
- $submenu[ 'wpmu-admin.php' ][15] = array( 'Feeds', '10', 'wpmu-feeds.php' );
- $submenu[ 'wpmu-admin.php' ][20] = array( 'Themes', '10', 'wpmu-themes.php' );
- $submenu[ 'wpmu-admin.php' ][25] = array( 'Options', '10', 'wpmu-options.php' );
- $submenu[ 'wpmu-admin.php' ][30] = array( 'Upgrade', '10', 'wpmu-upgrade-site.php' );
-}
-ksort($menu); // make it all pretty
-
-if (! user_can_access_admin_page()) {
- global $wpdb;
- // find the blog of this user first
- $primary_blog = $wpdb->get_var( "SELECT meta_value FROM {$wpdb->usermeta} WHERE user_id = '$user_ID' AND meta_key = 'primary_blog'" );
- if( $primary_blog ) {
- header( "Location: " . get_blog_option( $primary_blog, "siteurl" ) . "/wp-admin/" );
- exit;
- }
- die( __('You do not have sufficient permissions to access this page.') );
-}
-
-?>
diff --git a/wp-inst/wp-admin/moderation.php b/wp-inst/wp-admin/moderation.php
deleted file mode 100644
index 5839e6f..0000000
--- a/wp-inst/wp-admin/moderation.php
+++ /dev/null
@@ -1,232 +0,0 @@
-<?php
-require_once('admin.php');
-
-$title = __('Moderate comments');
-$parent_file = 'edit.php';
-wp_enqueue_script( 'admin-comments' );
-
-$wpvarstoreset = array('action', 'item_ignored', 'item_deleted', 'item_approved', 'item_spam', 'feelinglucky');
-for ($i=0; $i<count($wpvarstoreset); $i += 1) {
- $wpvar = $wpvarstoreset[$i];
- if (!isset($$wpvar)) {
- if (empty($_POST["$wpvar"])) {
- if (empty($_GET["$wpvar"])) {
- $$wpvar = '';
- } else {
- $$wpvar = $_GET["$wpvar"];
- }
- } else {
- $$wpvar = $_POST["$wpvar"];
- }
- }
-}
-
-$comment = array();
-if (isset($_POST["comment"])) {
- foreach ($_POST["comment"] as $k => $v) {
- $comment[intval($k)] = $v;
- }
-}
-
-switch($action) {
-
-case 'update':
-
- check_admin_referer('moderate-comments');
-
- if ( ! current_user_can('moderate_comments') )
- die('<p>'.__('Your level is not high enough to moderate comments.').'</p>');
-
- $item_ignored = 0;
- $item_deleted = 0;
- $item_approved = 0;
- $item_spam = 0;
-
- foreach($comment as $key => $value) {
- if ($feelinglucky && 'later' == $value)
- $value = 'delete';
- switch($value) {
- case 'later':
- // do nothing with that comment
- // wp_set_comment_status($key, "hold");
- ++$item_ignored;
- break;
- case 'delete':
- wp_set_comment_status($key, 'delete');
- ++$item_deleted;
- break;
- case 'spam':
- wp_set_comment_status($key, 'spam');
- ++$item_spam;
- break;
- case 'approve':
- wp_set_comment_status($key, 'approve');
- if ( get_settings('comments_notify') == true ) {
- wp_notify_postauthor($key);
- }
- ++$item_approved;
- break;
- }
- }
-
- $file = basename(__FILE__);
- header("Location: $file?ignored=$item_ignored&deleted=$item_deleted&approved=$item_approved&spam=$item_spam");
- exit();
-
-break;
-
-default:
-
-require_once('admin-header.php');
-
-if ( isset($_GET['deleted']) || isset($_GET['approved']) || isset($_GET['ignored']) ) {
- echo "<div id='moderated' class='updated fade'>\n<p>";
- $approved = (int) $_GET['approved'];
- $deleted = (int) $_GET['deleted'];
- $ignored = (int) $_GET['ignored'];
- $spam = (int) $_GET['spam'];
- if ($approved) {
- if ('1' == $approved) {
- echo __("1 comment approved") . " <br/>\n";
- } else {
- echo sprintf(__("%s comments approved <br />"), $approved) . "\n";
- }
- }
- if ($deleted) {
- if ('1' == $deleted) {
- echo __("1 comment deleted") . " <br/>\n";
- } else {
- echo sprintf(__("%s comments deleted"), $deleted) . " <br/>\n";
- }
- }
- if ($spam) {
- if ('1' == $spam) {
- echo __("1 comment marked as spam") . " <br/>\n";
- } else {
- echo sprintf(__("%s comments marked as spam"), $spam) . " <br/>\n";
- }
- }
- if ($ignored) {
- if ('1' == $ignored) {
- echo __("1 comment unchanged") . " <br/>\n";
- } else {
- echo sprintf(__("%s comments unchanged"), $ignored) . " <br/>\n";
- }
- }
- echo "</p></div>\n";
-}
-
-?>
-
-<div class="wrap">
-
-<?php
-if ( current_user_can('moderate_comments') )
- $comments = $wpdb->get_results("SELECT * FROM $wpdb->comments WHERE comment_approved = '0'");
-else
- $comments = '';
-
-if ($comments) {
- // list all comments that are waiting for approval
- $file = basename(__FILE__);
-?>
- <h2><?php _e('Moderation Queue') ?></h2>
- <form name="approval" action="moderation.php" method="post">
- <?php wp_nonce_field('moderate-comments') ?>
- <input type="hidden" name="action" value="update" />
- <ol id="the-comment-list" class="commentlist">
-<?php
-$i = 0;
- foreach($comments as $comment) {
- ++$i;
- $comment_date = mysql2date(get_settings("date_format") . " @ " . get_settings("time_format"), $comment->comment_date);
- $post_title = $wpdb->get_var("SELECT post_title FROM $wpdb->posts WHERE ID='$comment->comment_post_ID'");
- if ($i % 2) $class = 'js-unapproved alternate';
- else $class = 'js-unapproved';
- echo "\n\t<li id='comment-$comment->comment_ID' class='$class'>";
- ?>
- <p><strong><?php comment_author() ?></strong> <?php if ($comment->comment_author_email) { ?>| <?php comment_author_email_link() ?> <?php } if ($comment->comment_author_url && 'http://' != $comment->comment_author_url) { ?> | <?php comment_author_url_link() ?> <?php } ?>| <?php _e('IP:') ?> <a href="http://ws.arin.net/cgi-bin/whois.pl?queryinput=<?php comment_author_IP() ?>"><?php comment_author_IP() ?></a></p>
-<?php comment_text() ?>
-<p><?php comment_date('M j, g:i A'); ?> &#8212; [ <?php
-echo '<a href="comment.php?action=editcomment&amp;comment='.$comment->comment_ID.'">' . __('Edit') . '</a> | ';
-echo " <a href=\"post.php?action=deletecomment&amp;p=".$comment->comment_post_ID."&amp;comment=".$comment->comment_ID."\" onclick=\"return deleteSomething( 'comment', $comment->comment_ID, '" . sprintf(__("You are about to delete this comment by &quot;%s&quot;.\\n&quot;Cancel&quot; to stop, &quot;OK&quot; to delete."), js_escape($comment->comment_author)) . "', theCommentList );\">" . __('Delete ') . "</a> | "; ?>
-<?php
-$post = get_post($comment->comment_post_ID);
-$post_title = wp_specialchars( $post->post_title, 'double' );
-$post_title = ('' == $post_title) ? "# $comment->comment_post_ID" : $post_title;
-?>
-<a href="<?php echo get_permalink($comment->comment_post_ID); ?>" title="<?php echo $post_title; ?>"><?php _e('View Post') ?></a> ] &#8212;
- <?php _e('Bulk action:') ?>
- <input type="radio" name="comment[<?php echo $comment->comment_ID; ?>]" id="comment[<?php echo $comment->comment_ID; ?>]-approve" value="approve" /> <label for="comment[<?php echo $comment->comment_ID; ?>]-approve"><?php _e('Approve') ?></label> &nbsp;
- <input type="radio" name="comment[<?php echo $comment->comment_ID; ?>]" id="comment[<?php echo $comment->comment_ID; ?>]-spam" value="spam" /> <label for="comment[<?php echo $comment->comment_ID; ?>]-spam"><?php _e('Spam') ?></label> &nbsp;
- <input type="radio" name="comment[<?php echo $comment->comment_ID; ?>]" id="comment[<?php echo $comment->comment_ID; ?>]-delete" value="delete" /> <label for="comment[<?php echo $comment->comment_ID; ?>]-delete"><?php _e('Delete') ?></label> &nbsp;
- <input type="radio" name="comment[<?php echo $comment->comment_ID; ?>]" id="comment[<?php echo $comment->comment_ID; ?>]-nothing" value="later" checked="checked" /> <label for="comment[<?php echo $comment->comment_ID; ?>]-nothing"><?php _e('Defer until later') ?></label>
- </p>
-
- </li>
-<?php
- }
-?>
- </ol>
-
-<div id="ajax-response"></div>
-
- <p class="submit"><input type="submit" name="submit" value="<?php _e('Bulk Moderate Comments &raquo;') ?>" /></p>
-<script type="text/javascript">
-// <![CDATA[
-function markAllForDelete() {
- for (var i=0; i< document.approval.length; i++) {
- if (document.approval[i].value == "delete") {
- document.approval[i].checked = true;
- }
- }
-}
-function markAllForApprove() {
- for (var i=0; i< document.approval.length; i++) {
- if (document.approval[i].value == "approve") {
- document.approval[i].checked = true;
- }
- }
-}
-function markAllForDefer() {
- for (var i=0; i< document.approval.length; i++) {
- if (document.approval[i].value == "later") {
- document.approval[i].checked = true;
- }
- }
-}
-function markAllAsSpam() {
- for (var i=0; i< document.approval.length; i++) {
- if (document.approval[i].value == "spam") {
- document.approval[i].checked = true;
- }
- }
-}
-document.write('<ul><li><a href="javascript:markAllForApprove()"><?php _e('Mark all for approval'); ?></a></li><li><a href="javascript:markAllAsSpam()"><?php _e('Mark all as spam'); ?></a></li><li><a href="javascript:markAllForDelete()"><?php _e('Mark all for deletion'); ?></a></li><li><a href="javascript:markAllForDefer()"><?php _e('Mark all for later'); ?></a></li></ul>');
-// ]]>
-</script>
-
-<noscript>
- <p>
- <input name="feelinglucky" type="checkbox" id="feelinglucky" value="true" /> <label for="feelinglucky"><?php _e('Delete every comment marked "defer." <strong>Warning: This can&#8217;t be undone.</strong>'); ?></label>
- </p>
-</noscript>
- </form>
-<?php
-} else {
- // nothing to approve
- echo '<p>'.__("Currently there are no comments for you to moderate.") . "</p>\n";
-}
-?>
-
-</div>
-
-<?php
-
-break;
-}
-
-
-include('admin-footer.php');
-
-?>
diff --git a/wp-inst/wp-admin/options-discussion.php b/wp-inst/wp-admin/options-discussion.php
deleted file mode 100644
index 247c01f..0000000
--- a/wp-inst/wp-admin/options-discussion.php
+++ /dev/null
@@ -1,101 +0,0 @@
-<?php
-require_once('admin.php');
-
-$title = __('Discussion Options');
-$parent_file = 'options-general.php';
-
-include('admin-header.php');
-
-if ($action == 'retrospam') {
- if ( $_GET['move'] == 'true' ) {
- retrospam_mgr::move_spam( $_GET[ids] );
- }
- $retrospaminator = new retrospam_mgr();
- $result = $retrospaminator->find_spam();
- echo $retrospaminator->display_edit_form( $result );
- include('./admin-footer.php');
- exit;
-}
-?>
-
-<div class="wrap">
-<h2><?php _e('Discussion Options') ?></h2>
-<form method="post" action="options.php">
-<?php wp_nonce_field('update-options') ?>
-<fieldset class="options">
-<legend><?php _e('Usual settings for an article:<br /><small><em>(These settings may be overridden for individual articles.)</em></small>') ?></legend>
-<ul>
-<li>
-<label for="default_pingback_flag">
-<input name="default_pingback_flag" type="checkbox" id="default_pingback_flag" value="1" <?php checked('1', get_settings('default_pingback_flag')); ?> />
-<?php _e('Attempt to notify any Weblogs linked to from the article (slows down posting.)') ?></label>
-</li>
-<li>
-<label for="default_ping_status">
-<input name="default_ping_status" type="checkbox" id="default_ping_status" value="open" <?php checked('open', get_settings('default_ping_status')); ?> />
-<?php _e('Allow link notifications from other Weblogs (pingbacks and trackbacks.)') ?></label>
-</li>
-<li>
-<label for="default_comment_status">
-<input name="default_comment_status" type="checkbox" id="default_comment_status" value="open" <?php checked('open', get_settings('default_comment_status')); ?> />
-<?php _e('Allow people to post comments on the article') ?></label>
-</li>
-</ul>
-</fieldset>
-<fieldset class="options">
-<legend><?php _e('E-mail me whenever:') ?></legend>
-<ul>
-<li>
-<label for="comments_notify">
-<input name="comments_notify" type="checkbox" id="comments_notify" value="1" <?php checked('1', get_settings('comments_notify')); ?> />
-<?php _e('Anyone posts a comment') ?> </label>
-</li>
-<li>
-<label for="moderation_notify">
-<input name="moderation_notify" type="checkbox" id="moderation_notify" value="1" <?php checked('1', get_settings('moderation_notify')); ?> />
-<?php _e('A comment is held for moderation') ?> </label>
-</li>
-</ul>
-</fieldset>
-<fieldset class="options">
-<legend><?php _e('Before a comment appears:') ?></legend>
-<ul>
-<li>
-<label for="comment_moderation">
-<input name="comment_moderation" type="checkbox" id="comment_moderation" value="1" <?php checked('1', get_settings('comment_moderation')); ?> />
-<?php _e('An administrator must approve the comment (regardless of any matches below)') ?> </label>
-</li>
-<li><label for="require_name_email"><input type="checkbox" name="require_name_email" id="require_name_email" value="1" <?php checked('1', get_settings('require_name_email')); ?> /> <?php _e('Comment author must fill out name and e-mail') ?></label></li>
-<li><label for="comment_whitelist"><input type="checkbox" name="comment_whitelist" id="comment_whitelist" value="1" <?php checked('1', get_settings('comment_whitelist')); ?> /> <?php _e('Comment author must have a previously approved comment') ?></label></li>
-</ul>
-</fieldset>
-<fieldset class="options">
-<legend><?php _e('Comment Moderation') ?></legend>
-<p><?php printf(__('Hold a comment in the queue if it contains more than %s links. (A common characteristic of comment spam is a large number of hyperlinks.)'), '<input name="comment_max_links" type="text" id="comment_max_links" size="3" value="' . get_settings('comment_max_links'). '" />' ) ?></p>
-
-<p><?php _e('When a comment contains any of these words in its content, name, URI, e-mail, or IP, hold it in the moderation queue: (Separate multiple words with new lines.) <a href="http://codex.wordpress.org/Spam_Words">Common spam words</a>.') ?></p>
-<p>
-<textarea name="moderation_keys" cols="60" rows="4" id="moderation_keys" style="width: 98%; font-size: 12px;" class="code"><?php form_option('moderation_keys'); ?></textarea>
-</p>
-<p>
-<a id="retrospambutton" href="options-discussion.php?action=retrospam"><?php _e('Check past comments against moderation list'); ?></a>
-</p>
-</fieldset>
-<fieldset class="options">
-<legend><?php _e('Comment Blacklist') ?></legend>
-<p><?php _e('This is a list of words that you want completely blacklisted from your blog. Be very careful what you add here, because if a comment matches something here it will be completely nuked and there will be no notification. Remember that partial words can match, so if there is any chance something here might match it would be better to put it in the moderation box above.') ?></p>
-<p>
-<textarea name="blacklist_keys" cols="60" rows="4" id="blacklist_keys" style="width: 98%; font-size: 12px;" class="code"><?php form_option('blacklist_keys'); ?></textarea>
-</p>
-<p><label for="open_proxy_check">
-<input name="open_proxy_check" type="checkbox" id="open_proxy_check" value="1" <?php checked('1', get_settings('open_proxy_check')); ?> />
-<?php _e('Blacklist comments from open and insecure proxies.') ?></label></p>
-</fieldset>
-<p class="submit">
-<input type="hidden" name="action" value="update" />
-<input type="hidden" name="page_options" value="default_pingback_flag,default_ping_status,default_comment_status,comments_notify,moderation_notify,comment_moderation,require_name_email,comment_whitelist,comment_max_links,moderation_keys,blacklist_keys,open_proxy_check" />
-<input type="submit" name="Submit" value="<?php _e('Update Options') ?>" />
-</p>
-</form>
-</div>
-<?php include('./admin-footer.php'); ?>
diff --git a/wp-inst/wp-admin/options-general.php b/wp-inst/wp-admin/options-general.php
deleted file mode 100644
index 91ac1d7..0000000
--- a/wp-inst/wp-admin/options-general.php
+++ /dev/null
@@ -1,123 +0,0 @@
-<?php
-require_once('./admin.php');
-
-$title = __('General Options');
-$parent_file = 'options-general.php';
-
-include('./admin-header.php');
-?>
-
-<div class="wrap">
-<h2><?php _e('General Options') ?></h2>
-<form method="post" action="options.php">
-<?php wp_nonce_field('update-options') ?>
-<table class="optiontable">
-<tr valign="top">
-<th scope="row"><?php _e('Weblog title:') ?></th>
-<td><input name="blogname" type="text" id="blogname" value="<?php form_option('blogname'); ?>" size="40" /></td>
-</tr>
-<tr valign="top">
-<th scope="row"><?php _e('Tagline:') ?></th>
-<td><input name="blogdescription" type="text" id="blogdescription" style="width: 95%" value="<?php form_option('blogdescription'); ?>" size="45" />
-<br />
-<?php _e('In a few words, explain what this weblog is about.') ?></td>
-</tr>
-<tr valign="top">
-<th scope="row"><?php _e('Search Engines:') ?> </th>
-<td><label><input type="checkbox" name="blog_public" value="1" <?php checked('1', $current_blog->public); ?> /> <?php _e('I would like my blog to appear in search engines like Google and Technorati, and in public listings around WordPress.com.'); ?></label> (<a href="http://wordpress.com/blog/2006/01/29/a-little-privacy/">more</a>)
-</td>
-</tr>
-
-<tr valign="top">
-<th scope="row"><?php _e('Membership:') ?></th>
-<td> <label for="comment_registration">
-<input name="comment_registration" type="checkbox" id="comment_registration" value="1" <?php checked('1', get_settings('comment_registration')); ?> />
-<?php _e('Users must be registered and logged in to comment') ?>
-</label>
-</td>
-</tr>
-<tr valign="top">
-<th scope="row"><?php _e('E-mail address:') ?> </th>
-<td><input name="new_admin_email" type="text" id="new_admin_email" value="<?php form_option('admin_email'); ?>" size="40" class="code" />
-<br />
-<p><?php _e('This address is used only for admin purposes.') ?> If you change this we will send you an email at your new address to confirm it. <strong>The new address will not become active until confirmed.</strong></p>
-</td>
-</tr>
-
-<?php
-$lang_files = glob( ABSPATH . WPINC . "/languages/*" );
-$lang = get_option( "WPLANG" );
-if( $lang == false ) {
- $lang = get_site_option( "WPLANG" );
- add_option( "WPLANG", $lang );
-}
-
-if( is_array( $lang_files ) && count($lang_files) > 1 ) {
- ?>
- <tr valign="top">
- <th width="33%" scope="row"><?php _e('Language:') ?></th>
- <td><select name="WPLANG" id="WPLANG">
- <?php
- echo "<option value=''>Default</option>";
- while( list( $key, $val ) = each( $lang_files ) ) {
- $l = basename( $val, ".mo" );
- echo "<option value='$l'";
- echo $lang == $l ? " selected" : "";
- echo "> $l</option>";
- }
- ?>
- </select></td>
- </tr>
- <?php
-} // languages
-?>
-</table>
-<fieldset class="options">
-<legend><?php _e('Date and Time') ?></legend>
-<table class="optiontable">
-<tr>
-<th scope="row"><?php _e('<abbr title="Coordinated Universal Time">UTC</abbr> time is:') ?> </th>
-<td><code><?php echo gmdate('Y-m-d g:i:s a'); ?></code></td>
-</tr>
-<tr>
-<th scope="row"><?php _e('Times in the weblog should differ by:') ?> </th>
-<td><input name="gmt_offset" type="text" id="gmt_offset" size="2" value="<?php form_option('gmt_offset'); ?>" />
-<?php _e('hours') ?> </td>
-</tr>
-<tr>
-<th scope="row"><?php _e('Default date format:') ?></th>
-<td><input name="date_format" type="text" id="date_format" size="30" value="<?php form_option('date_format'); ?>" /><br />
-<?php _e('Output:') ?> <strong><?php echo mysql2date(get_settings('date_format'), current_time('mysql')); ?></strong></td>
-</tr>
-<tr>
-<th scope="row"><?php _e('Default time format:') ?></th>
-<td><input name="time_format" type="text" id="time_format" size="30" value="<?php form_option('time_format'); ?>" /><br />
-<?php _e('Output:') ?> <strong><?php echo gmdate(get_settings('time_format'), current_time('timestamp')); ?></strong></td>
-</tr>
-<tr>
-<th scope="row">&nbsp;</th>
-<td><?php _e('<a href="http://codex.wordpress.org/Formatting_Date_and_Time">Documentation on date formatting</a>. Save option to update sample output.') ?> </td>
-</tr>
-<tr>
-<th scope="row"><?php _e('Weeks in the calendar should start on:') ?></th>
-<td><select name="start_of_week" id="start_of_week">
-<?php
-for ($day_index = 0; $day_index <= 6; $day_index++) :
- $selected = (get_settings('start_of_week') == $day_index) ? 'selected="selected"' : '';
- echo "\n\t<option value='$day_index' $selected>" . $wp_locale->get_weekday($day_index) . '</option>';
-endfor;
-?>
-</select></td>
-</tr>
-</table>
-</fieldset>
-
-<p class="submit"><input type="submit" name="Submit" value="<?php _e('Update Options &raquo;') ?>" />
-<input type="hidden" name="action" value="update" />
-<input type="hidden" name="page_options" value="blogname,blogdescription,new_admin_email,users_can_register,gmt_offset,date_format,time_format,start_of_week,comment_registration,WPLANG,language,blog_public" />
-</p>
-</form>
-
-</div>
-
-<?php include('./admin-footer.php') ?>
diff --git a/wp-inst/wp-admin/options-head.php b/wp-inst/wp-admin/options-head.php
deleted file mode 100644
index 54f426c..0000000
--- a/wp-inst/wp-admin/options-head.php
+++ /dev/null
@@ -1,24 +0,0 @@
-<?php
-
-$wpvarstoreset = array('action','standalone', 'option_group_id');
-for ($i=0; $i<count($wpvarstoreset); $i += 1) {
- $wpvar = $wpvarstoreset[$i];
- if (!isset($$wpvar)) {
- if (empty($_POST["$wpvar"])) {
- if (empty($_GET["$wpvar"])) {
- $$wpvar = '';
- } else {
- $$wpvar = $_GET["$wpvar"];
- }
- } else {
- $$wpvar = $_POST["$wpvar"];
- }
- }
-}
-?>
-
-<br clear="all" />
-
-<?php if (isset($_GET['updated'])) : ?>
-<div id="message" class="updated fade"><p><strong><?php _e('Options saved.') ?></strong></p></div>
-<?php endif; ?>
diff --git a/wp-inst/wp-admin/options-misc.php b/wp-inst/wp-admin/options-misc.php
deleted file mode 100644
index 3dd1120..0000000
--- a/wp-inst/wp-admin/options-misc.php
+++ /dev/null
@@ -1,52 +0,0 @@
-<?php
-die();
-require_once('admin.php');
-
-$title = __('Miscellaneous Options');
-$parent_file = 'options-general.php';
-
-include('admin-header.php');
-
-?>
-
-<div class="wrap">
-<h2><?php _e('Miscellaneous Options') ?></h2>
-<form method="post" action="options.php">
-<?php wp_nonce_field('update-options') ?>
-<fieldset class="options">
-<legend><?php _e('Uploading'); ?></legend>
-<table class="editform optiontable">
-<tr valign="top">
-<th scope="row"><?php _e('Store uploads in this folder'); ?>:</th>
-<td><input name="upload_path" type="text" id="upload_path" class="code" value="<?php echo str_replace(ABSPATH, '', get_settings('upload_path')); ?>" size="40" />
-<br />
-<?php _e('Default is <code>wp-content/uploads</code>'); ?>
-</td>
-</tr>
-<tr>
-<td></td>
-<td>
-<label for="uploads_use_yearmonth_folders">
-<input name="uploads_use_yearmonth_folders" type="checkbox" id="uploads_use_yearmonth_folders" value="1" <?php checked('1', get_settings('uploads_use_yearmonth_folders')); ?> />
-<?php _e('Organize my uploads into month- and year-based folders'); ?>
-</label>
-</td>
-</tr>
-</table>
-</fieldset>
-
-<p><input name="use_linksupdate" type="checkbox" id="use_linksupdate" value="1" <?php checked('1', get_settings('use_linksupdate')); ?> />
-<label for="use_linksupdate"><?php _e('Track Bookmarks&#8217; Update Times') ?></label></p>
-<p>
-<label><input type="checkbox" name="hack_file" value="1" <?php checked('1', get_settings('hack_file')); ?> /> <?php _e('Use legacy <code>my-hacks.php</code> file support') ?></label>
-</p>
-
-<p class="submit">
-<input type="hidden" name="action" value="update" />
-<input type="hidden" name="page_options" value="hack_file,use_linksupdate,uploads_use_yearmonth_folders,upload_path" />
-<input type="submit" name="Submit" value="<?php _e('Update Options &raquo;') ?>" />
-</p>
-</form>
-</div>
-
-<?php include('./admin-footer.php'); ?>
diff --git a/wp-inst/wp-admin/options-permalink.php b/wp-inst/wp-admin/options-permalink.php
deleted file mode 100644
index 73a610b..0000000
--- a/wp-inst/wp-admin/options-permalink.php
+++ /dev/null
@@ -1,180 +0,0 @@
-<?php
-die();
-require_once('admin.php');
-
-$title = __('Permalink Options');
-$parent_file = 'options-general.php';
-
-function add_js() {
-?>
-<script type="text/javascript">
-//<![CDATA[
-function GetElementsWithClassName(elementName, className) {
-var allElements = document.getElementsByTagName(elementName);
-var elemColl = new Array();
-for (i = 0; i < allElements.length; i++) {
-if (allElements[i].className == className) {
-elemColl[elemColl.length] = allElements[i];
-}
-}
-return elemColl;
-}
-
-function upit() {
-var inputColl = GetElementsWithClassName('input', 'tog');
-var structure = document.getElementById('permalink_structure');
-var inputs = '';
-for (i = 0; i < inputColl.length; i++) {
-if ( inputColl[i].checked && inputColl[i].value != '') {
-inputs += inputColl[i].value + ' ';
-}
-}
-inputs = inputs.substr(0,inputs.length - 1);
-if ( 'custom' != inputs )
-structure.value = inputs;
-}
-
-function blurry() {
-if (!document.getElementById) return;
-
-var structure = document.getElementById('permalink_structure');
-structure.onfocus = function () { document.getElementById('custom_selection').checked = 'checked'; }
-
-var aInputs = document.getElementsByTagName('input');
-
-for (var i = 0; i < aInputs.length; i++) {
-aInputs[i].onclick = aInputs[i].onkeyup = upit;
-}
-}
-
-window.onload = blurry;
-//]]>
-</script>
-<?php
-}
-add_filter('admin_head', 'add_js');
-
-include('admin-header.php');
-
-$home_path = get_home_path();
-
-if ( isset($_POST['permalink_structure']) || isset($_POST['category_base']) ) {
- check_admin_referer('update-permalink');
-
- if ( isset($_POST['permalink_structure']) ) {
- $permalink_structure = $_POST['permalink_structure'];
- if (! empty($permalink_structure) )
- $permalink_structure = preg_replace('#/+#', '/', '/' . $_POST['permalink_structure']);
- $wp_rewrite->set_permalink_structure($permalink_structure);
- }
-
- if ( isset($_POST['category_base']) ) {
- $category_base = $_POST['category_base'];
- if (! empty($category_base) )
- $category_base = preg_replace('#/+#', '/', '/' . $_POST['category_base']);
- $wp_rewrite->set_category_base($category_base);
- }
-}
-
-$permalink_structure = get_settings('permalink_structure');
-$category_base = get_settings('category_base');
-
-if ( (!file_exists($home_path.'.htaccess') && is_writable($home_path)) || is_writable($home_path.'.htaccess') )
- $writable = true;
-else
- $writable = false;
-
-if ($wp_rewrite->using_index_permalinks())
- $usingpi = true;
-else
- $usingpi = false;
-
-$wp_rewrite->flush_rules();
-?>
-
-<?php if (isset($_POST['submit'])) : ?>
-<div id="message" class="updated fade"><p><?php
-if ($writable)
- _e('Permalink structure updated.');
-else
- _e('You should update your .htaccess now.');
-?></p></div>
-<?php endif; ?>
-
-<div class="wrap">
- <h2><?php _e('Customize Permalink Structure') ?></h2>
- <p><?php _e('By default WordPress uses web URIs which have question marks and lots of numbers in them, however WordPress offers you the ability to create a custom URI structure for your permalinks and archives. This can improve the aesthetics, usability, and forward-compatibility of your links. A <a href="http://codex.wordpress.org/Using_Permalinks">number of tags are available</a>, and here are some examples to get you started.'); ?></p>
-
-<?php
-$prefix = '';
-
-if ( ! got_mod_rewrite() )
- $prefix = '/index.php';
-
-$structures = array(
- '',
- $prefix . '/%year%/%monthnum%/%day%/%postname%/',
- $prefix . '/archives/%post_id%'
- );
-?>
-<form name="form" action="options-permalink.php" method="post">
-<?php wp_nonce_field('update-permalink') ?>
-<h3><?php _e('Common options:'); ?></h3>
-<p>
- <label>
-<input name="selection" type="radio" value="" class="tog" <?php checked('', $permalink_structure); ?> />
-<?php _e('Default'); ?><br /> <span> &raquo; <code><?php echo get_settings('home'); ?>/?p=123</code></span>
- </label>
-</p>
-<p>
- <label>
-<input name="selection" type="radio" value="<?php echo $structures[1]; ?>" class="tog" <?php checked($structures[1], $permalink_structure); ?> />
-<?php _e('Date and name based'); ?><br /> <span> &raquo; <code><?php echo get_settings('home') . $prefix . '/' . date('Y') . '/' . date('m') . '/' . date('d') . '/sample-post/'; ?></code></span>
- </label>
-</p>
-<p>
- <label>
-<input name="selection" type="radio" value="<?php echo $structures[2]; ?>" class="tog" <?php checked($structures[2], $permalink_structure); ?> />
-<?php _e('Numeric'); ?><br /> <span> &raquo; <code><?php echo get_settings('home') . $prefix ; ?>/archives/123</code></span>
- </label>
-</p>
-<p>
-<label>
-<input name="selection" id="custom_selection" type="radio" value="custom" class="tog"
-<?php if ( !in_array($permalink_structure, $structures) ) { ?>
-checked="checked"
-<?php } ?>
- />
-<?php _e('Custom, specify below'); ?>
-</label>
-<br />
-</p>
-<p id="customstructure"><?php _e('Custom structure'); ?>: <input name="permalink_structure" id="permalink_structure" type="text" class="code" style="width: 60%;" value="<?php echo $permalink_structure; ?>" size="50" /></p>
-
-<h3><?php _e('Optional'); ?></h3>
-<?php if ($is_apache) : ?>
- <p><?php _e('If you like, you may enter a custom prefix for your category URIs here. For example, <code>/taxonomy/tags</code> would make your category links like <code>http://example.org/taxonomy/tags/uncategorized/</code>. If you leave this blank the default will be used.') ?></p>
-<?php else : ?>
- <p><?php _e('If you like, you may enter a custom prefix for your category URIs here. For example, <code>/index.php/taxonomy/tags</code> would make your category links like <code>http://example.org/index.php/taxonomy/tags/uncategorized/</code>. If you leave this blank the default will be used.') ?></p>
-<?php endif; ?>
- <p>
- <?php _e('Category base'); ?>: <input name="category_base" type="text" class="code" value="<?php echo $category_base; ?>" size="30" />
- </p>
- <p class="submit">
- <input type="submit" name="submit" value="<?php _e('Update Permalink Structure &raquo;') ?>" />
- </p>
- </form>
-<?php if ( $permalink_structure && !$usingpi && !$writable ) : ?>
- <p><?php _e('If your <code>.htaccess</code> file were <a href="http://codex.wordpress.org/Make_a_Directory_Writable">writable</a>, we could do this automatically, but it isn&#8217;t so these are the mod_rewrite rules you should have in your <code>.htaccess</code> file. Click in the field and press <kbd>CTRL + a</kbd> to select all.') ?></p>
-<form action="options-permalink.php" method="post">
-<?php wp_nonce_field('update-permalink') ?>
- <p>
-<textarea rows="5" style="width: 98%;" name="rules"><?php echo $wp_rewrite->mod_rewrite_rules(); ?>
-</textarea>
- </p>
-</form>
-<?php endif; ?>
-
-</div>
-
-<?php require('./admin-footer.php'); ?>
diff --git a/wp-inst/wp-admin/options-reading.php b/wp-inst/wp-admin/options-reading.php
deleted file mode 100644
index aa806c9..0000000
--- a/wp-inst/wp-admin/options-reading.php
+++ /dev/null
@@ -1,95 +0,0 @@
-<?php
-require_once('admin.php');
-
-$title = __('Reading Options');
-$parent_file = 'options-general.php';
-
-include('admin-header.php');
-?>
-
-<div class="wrap">
-<h2><?php _e('Reading Options') ?></h2>
-<form name="form1" method="post" action="options.php">
-<?php wp_nonce_field('update-options') ?>
-
-<?php if ( get_pages() ): ?>
-<fieldset class="options">
-<legend><?php _e('Front Page') ?></legend>
-<table width="100%" cellspacing="2" cellpadding="5" class="editform">
-<tr valign="top">
-<th width="33%" scope="row"><?php _e('Front page displays:')?></th>
-<td>
- <label>
- <input name="show_on_front" type="radio" value="posts" class="tog" <?php checked('posts', get_option('show_on_front')); ?> />
- <?php _e('The latest posts'); ?>
- </label>
- <br />
- <label>
- <input name="show_on_front" type="radio" value="page" class="tog" <?php checked('page', get_option('show_on_front')); ?> />
- <?php printf(__('A static <a href="%s">page</a> (select below)'), 'edit-pages.php'); ?>
- </label>
-<ul>
- <li><?php printf(__('Show this page on the front page: %s'), wp_dropdown_pages("name=page_on_front&echo=0&show_option_none=".__('- Select -')."&selected=" . get_option('page_on_front'))); ?></li>
- <li><?php printf(__('Show the latest posts on this page: %s'), wp_dropdown_pages("name=page_for_posts&echo=0&show_option_none=".__('- Select -')."&selected=" . get_option('page_for_posts'))); ?></li>
-</ul>
-<?php if ( 'page' == get_option('show_on_front') && get_option('page_for_posts') == get_option('page_on_front') ) : ?>
-<div id="front-page-warning" class="updated fade-ff0000">
- <p>
- <?php _e('<strong>Warning:</strong> these pages should not be the same!'); ?>
- </p>
-</div>
-<?php endif; ?>
-</fieldset>
-</td>
-</tr>
-</table>
-</fieldset>
-<?php endif; ?>
-
-<fieldset class="options">
-<legend><?php _e('Blog Pages') ?></legend>
-<table width="100%" cellspacing="2" cellpadding="5" class="editform">
-<tr valign="top">
-<th width="33%" scope="row"><?php _e('Show at most:') ?></th>
-<td>
-<input name="posts_per_page" type="text" id="posts_per_page" value="<?php form_option('posts_per_page'); ?>" size="3" />
-<select name="what_to_show" id="what_to_show" >
-<option value="days" <?php selected('days', get_settings('what_to_show')); ?>><?php _e('days') ?></option>
-<option value="posts" <?php selected('posts', get_settings('what_to_show')); ?>><?php _e('posts') ?></option>
-</select>
-</td>
-</tr>
-</table>
-</fieldset>
-
-<fieldset class="options">
-<legend><?php _e('Syndication Feeds') ?></legend>
-<table width="100%" cellspacing="2" cellpadding="5" class="editform">
-<tr valign="top">
-<th width="33%" scope="row"><?php _e('Show the most recent:') ?></th>
-<td><input name="posts_per_rss" type="text" id="posts_per_rss" value="<?php form_option('posts_per_rss'); ?>" size="3" /> <?php _e('posts') ?></td>
-</tr>
-<tr valign="top">
-<th scope="row"><?php _e('For each article, show:') ?> </th>
-<td>
-<label><input name="rss_use_excerpt" type="radio" value="0" <?php checked(0, get_settings('rss_use_excerpt')); ?> /> <?php _e('Full text') ?></label><br />
-<label><input name="rss_use_excerpt" type="radio" value="1" <?php checked(1, get_settings('rss_use_excerpt')); ?> /> <?php _e('Summary') ?></label>
-</td>
-</tr>
-</table>
-</fieldset>
-<table width="100%" cellspacing="2" cellpadding="5" class="editform">
-<tr valign="top">
-<th width="33%" scope="row"><?php _e('Encoding for pages and feeds:') ?></th>
-<td><input name="blog_charset" type="text" id="blog_charset" value="<?php form_option('blog_charset'); ?>" size="20" class="code" /><br />
-<?php _e('The character encoding you write your blog in (UTF-8 is <a href="http://developer.apple.com/documentation/macos8/TextIntlSvcs/TextEncodingConversionManager/TEC1.5/TEC.b0.html">recommended</a>)') ?></td>
-</tr>
-</table>
-<p class="submit">
-<input type="hidden" name="action" value="update" />
-<input type="hidden" name="page_options" value="posts_per_page,what_to_show,posts_per_rss,rss_use_excerpt,blog_charset,gzipcompression,show_on_front,page_on_front,page_for_posts" />
-<input type="submit" name="Submit" value="<?php _e('Update Options &raquo;') ?>" />
-</p>
-</form>
-</div>
-<?php include('./admin-footer.php'); ?>
diff --git a/wp-inst/wp-admin/options-writing.php b/wp-inst/wp-admin/options-writing.php
deleted file mode 100644
index 4f362d3..0000000
--- a/wp-inst/wp-admin/options-writing.php
+++ /dev/null
@@ -1,66 +0,0 @@
-<?php
-require_once('admin.php');
-
-$title = __('Writing Options');
-$parent_file = 'options-general.php';
-
-include('admin-header.php');
-?>
-
-<div class="wrap">
-<h2><?php _e('Writing Options') ?></h2>
-<form method="post" action="options.php">
-<?php wp_nonce_field('update-options') ?>
-<table width="100%" cellspacing="2" cellpadding="5" class="editform">
-<tr valign="top">
-<th width="33%" scope="row"> <?php _e('Size of the post box:') ?></th>
-<td><input name="default_post_edit_rows" type="text" id="default_post_edit_rows" value="<?php form_option('default_post_edit_rows'); ?>" size="2" style="width: 1.5em; " />
-<?php _e('lines') ?></td>
-</tr>
-<tr valign="top">
-<th scope="row"><?php _e('Formatting:') ?></th>
-<td>
-<label for="use_smilies">
-<input name="use_smilies" type="checkbox" id="use_smilies" value="1" <?php checked('1', get_settings('use_smilies')); ?> />
-<?php _e('Convert emoticons like <code>:-)</code> and <code>:-P</code> to graphics on display') ?></label><br />
-<label for="use_balanceTags"><input name="use_balanceTags" type="checkbox" id="use_balanceTags" value="1" <?php checked('1', get_settings('use_balanceTags')); ?> /> <?php _e('WordPress should correct invalidly nested XHTML automatically') ?></label>
-</td>
-</tr>
-<tr valign="top">
-<th scope="row"><?php _e('Default post category:') ?></th>
-<td><select name="default_category" id="default_category">
-<?php
-$categories = $wpdb->get_results("SELECT * FROM $wpdb->categories ORDER BY cat_name");
-foreach ($categories as $category) :
-if ($category->cat_ID == get_settings('default_category')) $selected = " selected='selected'";
-else $selected = '';
-echo "\n\t<option value='$category->cat_ID' $selected>$category->cat_name</option>";
-endforeach;
-?>
-</select></td>
-</tr>
-<tr valign="top">
-<th scope="row"><?php _e('Default bookmark category:') ?></th>
-<td><select name="default_link_category" id="default_link_category">
-<?php
-foreach ($categories as $category) :
-if ($category->cat_ID == get_settings('default_link_category')) $selected = " selected='selected'";
-else $selected = '';
-echo "\n\t<option value='$category->cat_ID' $selected>$category->cat_name</option>";
-endforeach;
-?>
-</select></td>
-</tr>
-</table>
-
-
-
-<p class="submit">
-<input type="hidden" name="action" value="update" />
-<input type="hidden" name="page_options" value="default_post_edit_rows,use_smilies,default_category,default_email_category,use_balanceTags,default_link_category" />
-<input type="submit" name="Submit" value="<?php _e('Update Options &raquo;') ?>" />
-</p>
-</form>
-</div>
-
-<?php include('./admin-footer.php') ?>
diff --git a/wp-inst/wp-admin/options.php b/wp-inst/wp-admin/options.php
deleted file mode 100644
index f2752b9..0000000
--- a/wp-inst/wp-admin/options.php
+++ /dev/null
@@ -1,163 +0,0 @@
-<?php
-require_once('admin.php');
-
-$title = __('Options');
-$this_file = 'options.php';
-$parent_file = 'options-general.php';
-
-$wpvarstoreset = array('action');
-for ($i=0; $i<count($wpvarstoreset); $i += 1) {
- $wpvar = $wpvarstoreset[$i];
- if (!isset($$wpvar)) {
- if (empty($_POST["$wpvar"])) {
- if (empty($_GET["$wpvar"])) {
- $$wpvar = '';
- } else {
- $$wpvar = $_GET["$wpvar"];
- }
- } else {
- $$wpvar = $_POST["$wpvar"];
- }
- }
-}
-
-if ( !current_user_can('manage_options') )
- die ( __('Cheatin&#8217; uh?') );
-
-if( $_GET[ 'adminhash' ] ) {
- $new_admin_details = get_option( 'new_admin_email' );
- if( is_array( $new_admin_details ) && $new_admin_details[ 'hash' ] == $_GET[ 'adminhash' ] && $new_admin_details[ 'newemail' ] != '' ) {
- update_option( "admin_email", $new_admin_details[ 'newemail' ] );
- delete_option( "new_admin_email" );
- }
- wp_redirect( get_option( "siteurl" ) . "/wp-admin/options-general.php?updated=true" );
- exit;
-}
-
-switch($action) {
-
-case 'update':
- $any_changed = 0;
-
- check_admin_referer('update-options');
-
- if (!$_POST['page_options']) {
- foreach ($_POST as $key => $value) {
- $options[] = $key;
- }
- } else {
- $options = explode(',', stripslashes($_POST['page_options']));
- }
-
- // Save for later.
- $old_siteurl = get_settings('siteurl');
- $old_home = get_settings('home');
-
- // HACK
- // Options that if not there have 0 value but need to be something like "closed"
- $nonbools = array('default_ping_status', 'default_comment_status');
- if ($options) {
- foreach ($options as $option) {
- $option = trim($option);
- $value = trim(stripslashes($_POST[$option]));
- if( in_array($option, $nonbools) && ( $value == '0' || $value == '') )
- $value = 'closed';
-
- if( $option == 'blogdescription' || $option == 'blogname' )
- $value = wp_filter_post_kses( $value );
-
- if( $option == 'posts_per_page' && $value == '' )
- $value = 10;
-
- if( $option == 'new_admin_email' && $value != get_option( 'admin_email' ) ) {
- $hash = md5( $value.time().mt_rand() );
- $newadminemail = array(
- "hash" => $hash,
- "newemail" => $value
- );
- update_option( "new_admin_email", $newadminemail );
- wp_mail( $value, "[ " . get_option( 'blogname' ) . " ] New Admin Email Address", "Dear User,
-
-You recently requested to have the administration email address on
-your blog changed.
-If this is correct, please click on the following link to change it:
-" . get_option( "siteurl" ) . "/adminemail/{$hash}/
-
-You can safely ignore and delete this email if you do not want to
-take this action.
-
-" );
- } elseif (update_option($option, $value) ) {
- $any_changed++;
- }
-
- if ( 'language' == $option ) {
- $value = (int) $value;
- update_blog_status( $wpdb->blogid, 'lang_id', $value );
- $any_changed++;
- }
- if ( 'blog_public' == $option ) {
- $value = (int) $value;
- update_blog_status( $wpdb->blogid, 'public', $value );
- $any_changed++;
- }
- }
- }
-
- if ($any_changed) {
- // If siteurl or home changed, reset cookies.
- if ( get_settings('siteurl') != $old_siteurl || get_settings('home') != $old_home ) {
- // If home changed, write rewrite rules to new location.
- $wp_rewrite->flush_rules();
- // Clear cookies for old paths.
- wp_clearcookie();
- // Set cookies for new paths.
- wp_setcookie($user_login, $user_pass_md5, true, get_settings('home'), get_settings('siteurl'));
- }
-
- //$message = sprintf(__('%d setting(s) saved... '), $any_changed);
- }
-
- $referred = remove_query_arg('updated' , $_SERVER['HTTP_REFERER']);
- $goback = add_query_arg('updated', 'true', $_SERVER['HTTP_REFERER']);
- $goback = preg_replace('|[^a-z0-9-~+_.?#=&;,/:]|i', '', $goback);
- wp_redirect($goback);
- break;
-
-default:
-if (!is_site_admin())
- die('Not admin');
-
- include('admin-header.php'); ?>
-
-<div class="wrap">
- <h2><?php _e('All options'); ?></h2>
- <form name="form" action="options.php" method="post">
- <?php wp_nonce_field('update-options') ?>
- <input type="hidden" name="action" value="update" />
- <table width="98%">
-<?php
-$options = $wpdb->get_results("SELECT * FROM $wpdb->options ORDER BY option_name");
-
-foreach ($options as $option) :
- $value = wp_specialchars($option->option_value, 'single');
- echo "
-<tr>
- <th scope='row'><label for='$option->option_name'>$option->option_name</label></th>
- <td><input type='text' name='$option->option_name' id='$option->option_name' size='30' value='" . $value . "' /></td>
- <td>$option->option_description</td>
-</tr>";
-endforeach;
-?>
- </table>
-<p class="submit"><input type="submit" name="Update" value="<?php _e('Update Settings &raquo;') ?>" /></p>
- </form>
-</div>
-
-
-<?php
-break;
-} // end switch
-
-include('admin-footer.php');
-?>
diff --git a/wp-inst/wp-admin/page-new.php b/wp-inst/wp-admin/page-new.php
deleted file mode 100644
index 4f7fb8f..0000000
--- a/wp-inst/wp-admin/page-new.php
+++ /dev/null
@@ -1,23 +0,0 @@
-<?php
-require_once('admin.php');
-$title = __('New Page');
-$parent_file = 'post-new.php';
-$editing = true;
-require_once('admin-header.php');
-?>
-
-<?php if ( isset($_GET['saved']) || isset($_GET['posted']) ) : ?>
-<div id="message" class="updated fade"><p><strong><?php _e('Page saved.') ?> <a href="edit-pages.php"><?php _e('Manage pages'); ?></a> | <a href="<?php echo get_bloginfo('home') . '/'; ?>"><?php _e('View site') ; ?> &raquo;</a></strong></p></div>
-<?php endif; ?>
-
-<?php
-if ( current_user_can('edit_pages') ) {
- $action = 'post';
- $post = get_default_post_to_edit();
- $post->post_type = 'page';
-
- include('edit-page-form.php');
-}
-?>
-
-<?php include('admin-footer.php'); ?>
diff --git a/wp-inst/wp-admin/page.php b/wp-inst/wp-admin/page.php
deleted file mode 100644
index cd4d5cc..0000000
--- a/wp-inst/wp-admin/page.php
+++ /dev/null
@@ -1,159 +0,0 @@
-<?php
-require_once('admin.php');
-
-$parent_file = 'edit.php';
-$submenu_file = 'edit-pages.php';
-
-$wp_rewrite->flush_rules();
-
-$wpvarstoreset = array('action');
-
-for ($i=0; $i<count($wpvarstoreset); $i += 1) {
- $wpvar = $wpvarstoreset[$i];
- if (!isset($$wpvar)) {
- if (empty($_POST["$wpvar"])) {
- if (empty($_GET["$wpvar"])) {
- $$wpvar = '';
- } else {
- $$wpvar = $_GET["$wpvar"];
- }
- } else {
- $$wpvar = $_POST["$wpvar"];
- }
- }
-}
-
-if (isset($_POST['deletepost'])) {
-$action = "delete";
-}
-
-switch($action) {
-case 'post':
- check_admin_referer('add-page');
- $page_ID = write_post();
-
- // Redirect.
- if (!empty($_POST['mode'])) {
- switch($_POST['mode']) {
- case 'bookmarklet':
- $location = $_POST['referredby'];
- break;
- case 'sidebar':
- $location = 'sidebar.php?a=b';
- break;
- default:
- $location = 'page-new.php';
- break;
- }
- } else {
- $location = 'page-new.php?posted=true';
- }
-
- if ( isset($_POST['save']) )
- $location = "page.php?action=edit&post=$page_ID";
-
- header("Location: $location");
- exit();
- break;
-
-case 'edit':
- $title = __('Edit');
- $editing = true;
-
- $page_ID = $post_ID = $p = (int) $_GET['post'];
- $post = get_post($page_ID);
- if( $post->post_type == 'post' ) {
- header( "Location: " . str_replace( "page.php", "post.php", $_SERVER[ 'REQUEST_URI' ] ) );
- die();
- }
- require_once('admin-header.php');
-
- if ( !current_user_can('edit_page', $page_ID) )
- die ( __('You are not allowed to edit this page.') );
-
- $post = get_post_to_edit($page_ID);
-
- include('edit-page-form.php');
- ?>
- <div id='preview' class='wrap'>
- <h2 id="preview-post"><?php _e('Page Preview (updated when page is saved)'); ?> <small class="quickjump"><a href="#write-post"><?php _e('edit &uarr;'); ?></a></small></h2>
- <iframe src="<?php echo add_query_arg('preview', 'true', get_permalink($post->ID)); ?>" width="100%" height="600" ></iframe>
- </div>
- <?php
- break;
-
-case 'editattachment':
- $page_id = $post_ID = (int) $_POST['post_ID'];
- check_admin_referer('update-attachment_' . $page_id);
-
- // Don't let these be changed
- unset($_POST['guid']);
- $_POST['post_type'] = 'attachment';
-
- // Update the thumbnail filename
- $oldmeta = $newmeta = get_post_meta($page_id, '_wp_attachment_metadata', true);
- $newmeta['thumb'] = $_POST['thumb'];
-
- if ( '' !== $oldmeta )
- update_post_meta($page_id, '_wp_attachment_metadata', $newmeta, $oldmeta);
- else
- add_post_meta($page_id, '_wp_attachment_metadata', $newmeta);
-
-case 'editpost':
- $page_ID = (int) $_POST['post_ID'];
- check_admin_referer('update-page_' . $page_ID);
-
- $page_ID = edit_post();
-
- if ($_POST['save']) {
- $location = $_SERVER['HTTP_REFERER'];
- } elseif ($_POST['updatemeta']) {
- $location = $_SERVER['HTTP_REFERER'] . '&message=2#postcustom';
- } elseif ($_POST['deletemeta']) {
- $location = $_SERVER['HTTP_REFERER'] . '&message=3#postcustom';
- } elseif (isset($_POST['referredby']) && $_POST['referredby'] != $_SERVER['HTTP_REFERER']) {
- $location = $_POST['referredby'];
- if ( $_POST['referredby'] == 'redo' )
- $location = get_permalink( $page_ID );
- } elseif ($action == 'editattachment') {
- $location = 'attachments.php';
- } else {
- $location = 'page-new.php';
- }
- header ('Location: ' . $location); // Send user on their way while we keep working
-
- exit();
- break;
-
-case 'delete':
- $page_id = (isset($_GET['post'])) ? intval($_GET['post']) : intval($_POST['post_ID']);
- check_admin_referer('delete-page_' . $page_id);
-
- $page = & get_post($page_id);
-
- if ( !current_user_can('delete_page', $page_id) )
- die( __('You are not allowed to delete this page.') );
-
- if ( $page->post_type == 'attachment' ) {
- if ( ! wp_delete_attachment($page_id) )
- die( __('Error in deleting...') );
- } else {
- if ( !wp_delete_post($page_id) )
- die( __('Error in deleting...') );
- }
-
- $sendback = $_SERVER['HTTP_REFERER'];
- if (strstr($sendback, 'page.php')) $sendback = get_settings('siteurl') .'/wp-admin/page.php';
- elseif (strstr($sendback, 'attachments.php')) $sendback = get_settings('siteurl') .'/wp-admin/attachments.php';
- $sendback = preg_replace('|[^a-z0-9-~+_.?#=&;,/:]|i', '', $sendback);
- header ('Location: ' . $sendback);
- exit();
- break;
-
-default:
- header('Location: edit-pages.php');
- exit();
- break;
-} // end switch
-include('admin-footer.php');
-?>
diff --git a/wp-inst/wp-admin/plugin-editor.php b/wp-inst/wp-admin/plugin-editor.php
deleted file mode 100644
index 56bab5a..0000000
--- a/wp-inst/wp-admin/plugin-editor.php
+++ /dev/null
@@ -1,127 +0,0 @@
-<?php
-die();
-require_once('admin.php');
-
-$title = __("Edit Plugins");
-$parent_file = 'plugins.php';
-
-$wpvarstoreset = array('action','redirect','profile','error','warning','a','file');
-for ($i=0; $i<count($wpvarstoreset); $i += 1) {
- $wpvar = $wpvarstoreset[$i];
- if (!isset($$wpvar)) {
- if (empty($_POST["$wpvar"])) {
- if (empty($_GET["$wpvar"])) {
- $$wpvar = '';
- } else {
- $$wpvar = $_GET["$wpvar"];
- }
- } else {
- $$wpvar = $_POST["$wpvar"];
- }
- }
-}
-
-$plugins = get_plugins();
-$plugin_files = array_keys($plugins);
-
-if (empty($file)) {
- $file = $plugin_files[0];
-}
-
-$file = validate_file_to_edit($file, $plugin_files);
-$real_file = get_real_file_to_edit("wp-content/plugins/$file");
-
-switch($action) {
-
-case 'update':
-
- check_admin_referer('edit-plugin_' . $file);
-
- if ( !current_user_can('edit_plugins') )
- die('<p>'.__('You have do not have sufficient permissions to edit templates for this blog.').'</p>');
-
- $newcontent = stripslashes($_POST['newcontent']);
- if (is_writeable($real_file)) {
- $f = fopen($real_file, 'w+');
- fwrite($f, $newcontent);
- fclose($f);
- header("Location: plugin-editor.php?file=$file&a=te");
- } else {
- header("Location: plugin-editor.php?file=$file");
- }
-
- exit();
-
-break;
-
-default:
-
- require_once('admin-header.php');
- if ( !current_user_can('edit_plugins') )
- die('<p>'.__('You have do not have sufficient permissions to edit plugins for this blog.').'</p>');
-
- update_recently_edited("wp-content/plugins/$file");
-
- if (!is_file($real_file))
- $error = 1;
-
- if (!$error) {
- $f = fopen($real_file, 'r');
- $content = fread($f, filesize($real_file));
- $content = htmlspecialchars($content);
- }
-
- ?>
-<?php if (isset($_GET['a'])) : ?>
- <div id="message" class="updated fade"><p><?php _e('File edited successfully.') ?></p></div>
-<?php endif; ?>
- <div class="wrap">
- <?php
- if (is_writeable($real_file)) {
- echo '<h2>' . sprintf(__('Editing <strong>%s</strong>'), $file) . '</h2>';
- } else {
- echo '<h2>' . sprintf(__('Browsing <strong>%s</strong>'), $file) . '</h2>';
- }
- ?>
- <div id="templateside">
-<h3><?php _e('Plugin files') ?></h3>
-
-<?php
-if ($plugin_files) :
-?>
- <ul>
-<?php foreach($plugin_files as $plugin_file) : ?>
- <li><a href="plugin-editor.php?file=<?php echo "$plugin_file"; ?>"><?php echo $plugins[$plugin_file]['Name']; ?></a></li>
-<?php endforeach; ?>
- </ul>
-<?php endif; ?>
-</div>
- <?php if (!$error) { ?>
- <form name="template" id="template" action="plugin-editor.php" method="post">
- <?php wp_nonce_field('edit-plugin_' . $file) ?>
- <div><textarea cols="70" rows="25" name="newcontent" id="newcontent" tabindex="1"><?php echo $content ?></textarea>
- <input type="hidden" name="action" value="update" />
- <input type="hidden" name="file" value="<?php echo $file ?>" />
- </div>
-<?php if ( is_writeable($real_file) ) : ?>
- <p class="submit">
-<?php
- echo "<input type='submit' name='submit' value=' " . __('Update File &raquo;') . "' tabindex='2' />";
-?>
-</p>
-<?php else : ?>
-<p><em><?php _e('If this file were writable you could edit it.'); ?></em></p>
-<?php endif; ?>
- </form>
- <?php
- } else {
- echo '<div class="error"><p>' . __('Oops, no such file exists! Double check the name and try again, merci.') . '</p></div>';
- }
- ?>
-<div class="clear"> &nbsp; </div>
-</div>
-<?php
-break;
-}
-
-include("admin-footer.php") ?>
diff --git a/wp-inst/wp-admin/plugins.php b/wp-inst/wp-admin/plugins.php
deleted file mode 100644
index e289e59..0000000
--- a/wp-inst/wp-admin/plugins.php
+++ /dev/null
@@ -1,142 +0,0 @@
-<?php
-require_once('admin.php');
-
-$menu_perms = get_site_option( "menu_items" );
-if( is_array( $menu_perms ) == false )
- $menu_perms = array();
-
-if( $menu_perms[ 'plugins' ] != 1 )
- return;
-
-if ( isset($_GET['action']) ) {
- if ('activate' == $_GET['action']) {
- check_admin_referer('activate-plugin_' . $_GET['plugin']);
- $current = get_settings('active_plugins');
- if (!in_array($_GET['plugin'], $current)) {
- $current[] = trim( $_GET['plugin'] );
- sort($current);
- update_option('active_plugins', $current);
- include(ABSPATH . 'wp-content/plugins/' . trim( $_GET['plugin'] ));
- do_action('activate_' . trim( $_GET['plugin'] ));
- }
- header('Location: plugins.php?activate=true');
- } else if ('deactivate' == $_GET['action']) {
- check_admin_referer('deactivate-plugin_' . $_GET['plugin']);
- $current = get_settings('active_plugins');
- array_splice($current, array_search( $_GET['plugin'], $current), 1 ); // Array-fu!
- update_option('active_plugins', $current);
- do_action('deactivate_' . trim( $_GET['plugin'] ));
- header('Location: plugins.php?deactivate=true');
- }
- exit;
-}
-
-$title = __('Manage Plugins');
-require_once('admin-header.php');
-
-// Clean up options
-// If any plugins don't exist, axe 'em
-
-$check_plugins = get_settings('active_plugins');
-
-// Sanity check. If the active plugin list is not an array, make it an
-// empty array.
-if ( !is_array($check_plugins) ) {
- $check_plugins = array();
- update_option('active_plugins', $check_plugins);
-}
-
-// If a plugin file does not exist, remove it from the list of active
-// plugins.
-foreach ($check_plugins as $check_plugin) {
- if (!file_exists(ABSPATH . 'wp-content/plugins/' . $check_plugin)) {
- $current = get_settings('active_plugins');
- $key = array_search($check_plugin, $current);
- if ( false !== $key && NULL !== $key ) {
- unset($current[$key]);
- update_option('active_plugins', $current);
- }
- }
-}
-?>
-
-<?php if (isset($_GET['activate'])) : ?>
-<div id="message" class="updated fade"><p><?php _e('Plugin <strong>activated</strong>.') ?></p>
-</div>
-<?php endif; ?>
-<?php if (isset($_GET['deactivate'])) : ?>
-<div id="message" class="updated fade"><p><?php _e('Plugin <strong>deactivated</strong>.') ?></p>
-</div>
-<?php endif; ?>
-
-<div class="wrap">
-<h2><?php _e('Plugin Management'); ?></h2>
-<p><?php _e('Plugins extend and expand the functionality of WordPress. Once a plugin is installed, you may activate it or deactivate it here.'); ?></p>
-<?php
-
-if ( get_settings('active_plugins') )
- $current_plugins = get_settings('active_plugins');
-
-$plugins = get_plugins();
-
-if (empty($plugins)) {
- echo '<p>';
- _e("Couldn't open plugins directory or there are no plugins available."); // TODO: make more helpful
- echo '</p>';
-} else {
-?>
-<table class="widefat">
- <thead>
- <tr>
- <th style="text-align: left"><?php _e('Plugin'); ?></th>
- <th><?php _e('Version'); ?></th>
- <th style="text-align: left"><?php _e('Description'); ?></th>
- <th><?php _e('Action'); ?></th>
- </tr>
- </thead>
-<?php
- $style = '';
-
- function sort_plugins($plug1, $plug2) {
- return strnatcasecmp($plug1['Name'], $plug2['Name']);
- }
-
- uksort($plugins, 'sort_plugins');
-
- foreach($plugins as $plugin_file => $plugin_data) {
- $style = ('class="alternate"' == $style|| 'class="alternate active"' == $style) ? '' : 'alternate';
-
- if (!empty($current_plugins) && in_array($plugin_file, $current_plugins)) {
- $action = "<a href='" . wp_nonce_url("plugins.php?action=deactivate&amp;plugin=$plugin_file", 'deactivate-plugin_' . $plugin_file) . "' title='".__('Deactivate this plugin')."' class='delete'>".__('Deactivate')."</a>";
- $plugin_data['Title'] = "<strong>{$plugin_data['Title']}</strong>";
- $style .= $style == 'alternate' ? ' active' : 'active';
- } else {
- $action = "<a href='" . wp_nonce_url("plugins.php?action=activate&amp;plugin=$plugin_file", 'activate-plugin_' . $plugin_file) . "' title='".__('Activate this plugin')."' class='edit'>".__('Activate')."</a>";
- }
- $plugin_data['Description'] = wp_kses($plugin_data['Description'], array('a' => array('href' => array(),'title' => array()),'abbr' => array('title' => array()),'acronym' => array('title' => array()),'code' => array(),'em' => array(),'strong' => array()) ); ;
- if ($style != '') $style = 'class="' . $style . '"';
- echo "
- <tr $style>
- <td class='name'>{$plugin_data['Title']}</td>
- <td class='vers'>{$plugin_data['Version']}</td>
- <td class='desc'>{$plugin_data['Description']} <cite>".sprintf(__('By %s'), $plugin_data['Author']).".</cite></td>
- <td class='togl'>$action</td>
- </tr>";
- }
-?>
-
-</table>
-<?php
-}
-?>
-
-<p><?php _e('If something goes wrong with a plugin and you can&#8217;t use WordPress, delete or rename that file in the <code>wp-content/plugins</code> directory and it will be automatically deactivated.'); ?></p>
-
-<h2><?php _e('Get More Plugins'); ?></h2>
-<p><?php _e('You can find additional plugins for your site in the <a href="http://wordpress.org/extend/plugins/">WordPress plugin directory</a>. To install a plugin you generally just need to upload the plugin file into your <code>wp-content/plugins</code> directory. Once a plugin is uploaded, you may activate it here.'); ?></p>
-
-</div>
-
-<?php
-include('admin-footer.php');
-?>
diff --git a/wp-inst/wp-admin/post-new.php b/wp-inst/wp-admin/post-new.php
deleted file mode 100644
index d0f9844..0000000
--- a/wp-inst/wp-admin/post-new.php
+++ /dev/null
@@ -1,94 +0,0 @@
-<?php
-require_once('admin.php');
-$title = __('Create New Post');
-$parent_file = 'post-new.php';
-$editing = true;
-require_once ('./admin-header.php');
-
-if ( ! current_user_can('edit_posts') ) { ?>
-<div class="wrap">
-<p><?php printf(__('Since you&#8217;re a newcomer, you&#8217;ll have to wait for an admin to raise your level to 1, in order to be authorized to post.<br />
-You can also <a href="mailto:%s?subject=Promotion?">e-mail the admin</a> to ask for a promotion.<br />
-When you&#8217;re promoted, just reload this page and you&#8217;ll be able to blog. :)'), get_settings('admin_email')); ?>
-</p>
-</div>
-<?php
- include('admin-footer.php');
- exit();
-}
-
-if ( isset($_GET['posted']) ) : ?>
-<div id="message" class="updated fade"><p><?php printf(__('Post saved. <a href="%s">View site &raquo;</a>'), get_bloginfo('home') . '/'); ?></p></div>
-<?php
-endif;
-
-if ( $drafts = get_users_drafts( $user_ID ) ) { ?>
-<div class="wrap">
-<p><strong><?php _e('Your Drafts:') ?></strong>
-<?php
-// Show drafts.
- $num_drafts = count($drafts);
- if ( $num_drafts > 15 ) $num_drafts = 15;
- for ( $i = 0; $i < $num_drafts; $i++ ) {
- $draft = $drafts[$i];
- if ( 0 != $i )
- echo ', ';
- if ( empty($draft->post_title) )
- $draft->post_title = sprintf(__('Post # %s'), $draft->ID);
- echo "<a href='post.php?action=edit&amp;post=$draft->ID' title='" . __('Edit this draft') . "'>$draft->post_title</a>";
- }
-
- if ( 15 < count($drafts) ) { ?>
- , <a href="edit.php"><?php echo sprintf(__('and %s more'), (count($drafts) - 15) ); ?> &raquo;</a>
- <?php } ?>
-.</p>
-</div>
-<?php
-}
-
-// Show post form.
-$post = get_default_post_to_edit();
-include('edit-form-advanced.php');
-?>
-
-<?php if ( $is_NS4 || $is_gecko || $is_winIE ) { ?>
-<div class="wrap">
-<h3><?php _e('WordPress bookmarklet'); ?></h3>
-<p><?php _e('Right click on the following link and choose "Add to favorites" to create a posting shortcut.'); ?></p>
-<p>
-
-<?php
-if ($is_NS4 || $is_gecko) {
-?>
-<a href="javascript:if(navigator.userAgent.indexOf('Safari') >= 0){Q=getSelection();}else{Q=document.selection?document.selection.createRange().text:document.getSelection();}location.href='<?php echo get_settings('siteurl') ?>/wp-admin/post-new.php?text='+encodeURIComponent(Q)+'&amp;popupurl='+encodeURIComponent(location.href)+'&amp;popuptitle='+encodeURIComponent(document.title);"><?php printf(__('Press It - %s'), wp_specialchars(get_settings('blogname'))); ?></a>
-<?php
-} else if ($is_winIE) {
-?>
-<a href="javascript:Q='';if(top.frames.length==0)Q=document.selection.createRange().text;location.href='<?php echo get_settings('siteurl') ?>/wp-admin/post-new.php?text='+encodeURIComponent(Q)+'&amp;popupurl='+encodeURIComponent(location.href)+'&amp;popuptitle='+encodeURIComponent(document.title);"><?php printf(__('Press it - %s'), get_settings('blogname')); ?></a>
-<script type="text/javascript">
-<!--
-function oneclickbookmarklet(blah) {
-window.open ("profile.php?action=IErightclick", "oneclickbookmarklet", "width=500, height=450, location=0, menubar=0, resizable=0, scrollbars=1, status=1, titlebar=0, toolbar=0, screenX=120, left=120, screenY=120, top=120");
-}
-// -->
-</script>
-<br />
-<br />
-<?php _e('One-click bookmarklet:') ?><br />
-<a href="javascript:oneclickbookmarklet(0);"><?php _e('click here') ?></a>
-<?php
-} else if ($is_opera) {
-?>
-<a href="javascript:location.href='<?php echo get_settings('siteurl'); ?>/wp-admin/post-new.php?popupurl='+escape(location.href)+'&popuptitle='+escape(document.title);"><?php printf(__('Press it - %s'), get_settings('blogname')); ?></a>
-<?php
-} else if ($is_macIE) {
-?>
-<a href="javascript:Q='';location.href='<?php echo get_settings('siteurl'); ?>/wp-admin/bookmarklet.php?text='+escape(document.getSelection())+'&popupurl='+escape(location.href)+'&popuptitle='+escape(document.title);"><?php printf(__('Press it - %s'), get_settings('blogname')); ?></a>
-<?php
-}
-?>
-</p>
-</div>
-<?php } ?>
-
-<?php include('admin-footer.php'); ?>
diff --git a/wp-inst/wp-admin/post.php b/wp-inst/wp-admin/post.php
deleted file mode 100644
index aad14e9..0000000
--- a/wp-inst/wp-admin/post.php
+++ /dev/null
@@ -1,161 +0,0 @@
-<?php
-require_once('admin.php');
-
-$parent_file = 'edit.php';
-$submenu_file = 'edit.php';
-$wpvarstoreset = array('action', 'safe_mode', 'withcomments', 'posts', 'content', 'edited_post_title', 'comment_error', 'profile', 'trackback_url', 'excerpt', 'showcomments', 'commentstart', 'commentend', 'commentorder' );
-
-for ($i=0; $i<count($wpvarstoreset); $i += 1) {
- $wpvar = $wpvarstoreset[$i];
- if (!isset($$wpvar)) {
- if (empty($_POST["$wpvar"])) {
- if (empty($_GET["$wpvar"])) {
- $$wpvar = '';
- } else {
- $$wpvar = $_GET["$wpvar"];
- }
- } else {
- $$wpvar = $_POST["$wpvar"];
- }
- }
-}
-
-if ( isset( $_POST['deletepost'] ) )
- $action = 'delete';
-
-switch($action) {
-case 'postajaxpost':
-case 'post':
- $parent_file = 'post-new.php';
- $submenu_file = 'post-new.php';
- check_admin_referer('add-post');
-
- $post_ID = 'post' == $action ? write_post() : edit_post();
-
- // Redirect.
- if (!empty($_POST['mode'])) {
- switch($_POST['mode']) {
- case 'bookmarklet':
- $location = $_POST['referredby'];
- break;
- case 'sidebar':
- $location = 'sidebar.php?a=b';
- break;
- default:
- $location = 'post-new.php';
- break;
- }
- } else {
- $location = 'post-new.php?posted=true';
- }
-
- if ( isset($_POST['save']) )
- $location = "post.php?action=edit&post=$post_ID";
-
- header("Location: $location");
- exit();
- break;
-
-case 'edit':
- $title = __('Edit');
- $editing = true;
-
- $post_ID = $p = (int) $_GET['post'];
-
- $post = get_post($post_ID);
- if( $post->post_type == 'page' ) {
- header( "Location: " . str_replace( "post.php", "page.php", $_SERVER[ 'REQUEST_URI' ] ) );
- die();
- }
- require_once('admin-header.php');
- if ( !current_user_can('edit_post', $post_ID) )
- die ( __('You are not allowed to edit this post.') );
-
- $post = get_post_to_edit($post_ID);
-
- include('edit-form-advanced.php');
-
- ?>
- <div id='preview' class='wrap'>
- <h2 id="preview-post"><?php _e('Post Preview (updated when post is saved)'); ?> <small class="quickjump"><a href="#write-post"><?php _e('edit &uarr;'); ?></a></small></h2>
- <iframe src="<?php echo add_query_arg('preview', 'true', get_permalink($post->ID)); ?>" width="100%" height="600" ></iframe>
- </div>
- <?php
- break;
-
-case 'editattachment':
- $post_id = (int) $_POST['post_ID'];
-
- check_admin_referer('update-attachment_' . $post_id);
-
- // Don't let these be changed
- unset($_POST['guid']);
- $_POST['post_type'] = 'attachment';
-
- // Update the thumbnail filename
- $oldmeta = $newmeta = get_post_meta($post_id, '_wp_attachment_metadata', true);
- $newmeta['thumb'] = $_POST['thumb'];
-
- if ( '' !== $oldmeta )
- update_post_meta($post_id, '_wp_attachment_metadata', $newmeta, $oldmeta);
- else
- add_post_meta($post_id, '_wp_attachment_metadata', $newmeta);
-
-case 'editpost':
- $post_ID = (int) $_POST['post_ID'];
- check_admin_referer('update-post_' . $post_ID);
-
- $post_ID = edit_post();
-
- if ($_POST['save']) {
- $location = $_SERVER['HTTP_REFERER'];
- } elseif ($_POST['updatemeta']) {
- $location = $_SERVER['HTTP_REFERER'] . '&message=2#postcustom';
- } elseif ($_POST['deletemeta']) {
- $location = $_SERVER['HTTP_REFERER'] . '&message=3#postcustom';
- } elseif (isset($_POST['referredby']) && $_POST['referredby'] != $_SERVER['HTTP_REFERER']) {
- $location = $_POST['referredby'];
- if ( $_POST['referredby'] == 'redo' )
- $location = get_permalink( $post_ID );
- } elseif ($action == 'editattachment') {
- $location = 'attachments.php';
- } else {
- $location = 'post-new.php';
- }
- header ('Location: ' . $location); // Send user on their way while we keep working
-
- exit();
- break;
-
-case 'delete':
- $post_id = (isset($_GET['post'])) ? intval($_GET['post']) : intval($_POST['post_ID']);
- check_admin_referer('delete-post_' . $post_id);
-
- $post = & get_post($post_id);
-
- if ( !current_user_can('delete_post', $post_id) )
- die( __('You are not allowed to delete this post.') );
-
- if ( $post->post_type == 'attachment' ) {
- if ( ! wp_delete_attachment($post_id) )
- die( __('Error in deleting...') );
- } else {
- if ( !wp_delete_post($post_id) )
- die( __('Error in deleting...') );
- }
-
- $sendback = $_SERVER['HTTP_REFERER'];
- if (strstr($sendback, 'post.php')) $sendback = get_settings('siteurl') .'/wp-admin/post-new.php';
- elseif (strstr($sendback, 'attachments.php')) $sendback = get_settings('siteurl') .'/wp-admin/attachments.php';
- $sendback = preg_replace('|[^a-z0-9-~+_.?#=&;,/:]|i', '', $sendback);
- header ('Location: ' . $sendback);
- exit();
- break;
-
-default:
- header('Location: edit.php');
- exit();
- break;
-} // end switch
-include('admin-footer.php');
-?>
diff --git a/wp-inst/wp-admin/profile-update.php b/wp-inst/wp-admin/profile-update.php
deleted file mode 100644
index 4d6595b..0000000
--- a/wp-inst/wp-admin/profile-update.php
+++ /dev/null
@@ -1,34 +0,0 @@
-<?php
-
-$parent_file = 'profile.php';
-$submenu_file = 'profile.php';
-require_once('admin.php');
-
-check_admin_referer('update-profile_' . $user_ID);
-
-if ( !$_POST )
- die( __('No post?') );
-
-$errors = edit_user($user_ID);
-
-if ( is_wp_error( $errors ) ) {
- foreach( $errors->get_error_messages() as $message )
- echo "$message<br />";
- exit;
-}
-
-if ( !isset( $_POST['rich_editing'] ) )
- $_POST['rich_editing'] = 'false';
-update_user_option( $current_user->id, 'rich_editing', $_POST['rich_editing'], true );
-
-do_action('personal_options_update');
-
-if ( 'profile' == $_POST['from'] )
- $to = 'profile.php?updated=true';
-else
- $to = 'profile.php?updated=true';
-
-wp_redirect( $to );
-exit;
-
-?>
diff --git a/wp-inst/wp-admin/profile.php b/wp-inst/wp-admin/profile.php
deleted file mode 100644
index eb66e07..0000000
--- a/wp-inst/wp-admin/profile.php
+++ /dev/null
@@ -1,148 +0,0 @@
-<?php
-require_once('admin.php');
-
-$title = __('Profile');
-
-if ( current_user_can('edit_users') )
- $parent_file = 'users.php';
-else
- $parent_file = 'profile.php';
-include_once('admin-header.php');
-$profileuser = new WP_User($user_ID);
-
-$bookmarklet_height= 440;
-?>
-
-<?php if ( isset($_GET['updated']) ) { ?>
-<div id="message" class="updated fade">
-<p><strong><?php _e('Profile updated.') ?></strong></p>
-</div>
-<?php } ?>
-
-<div class="wrap">
-<h2><?php _e('Your Profile and Personal Options'); ?></h2>
-<form name="profile" id="your-profile" action="profile-update.php" method="post">
-<?php wp_nonce_field('update-profile_' . $user_ID) ?>
-<p>
-<input type="hidden" name="from" value="profile" />
-<input type="hidden" name="checkuser_id" value="<?php echo $user_ID ?>" />
-</p>
-
-<fieldset>
-<legend><?php _e('Name'); ?></legend>
-<p><label><?php _e('Username: (no editing)'); ?><br />
-<input type="text" name="user_login" value="<?php echo $profileuser->user_login; ?>" disabled="disabled" />
-</label></p>
-
-<p><label><?php _e('First name:') ?><br />
-<input type="text" name="first_name" value="<?php echo $profileuser->first_name ?>" /></label></p>
-
-<p><label><?php _e('Last name:') ?><br />
-<input type="text" name="last_name" value="<?php echo $profileuser->last_name ?>" /></label></p>
-
-<p><label><?php _e('Nickname:') ?><br />
-<input type="text" name="nickname" value="<?php echo $profileuser->nickname ?>" /></label></p>
-
-<p><label><?php _e('Display name publicly as:') ?> <br />
-<select name="display_name">
-<option value="<?php echo $profileuser->display_name; ?>"><?php echo $profileuser->display_name; ?></option>
-<option value="<?php echo $profileuser->nickname ?>"><?php echo $profileuser->nickname ?></option>
-<option value="<?php echo $profileuser->user_login ?>"><?php echo $profileuser->user_login ?></option>
-<?php if ( !empty( $profileuser->first_name ) ) : ?>
-<option value="<?php echo $profileuser->first_name ?>"><?php echo $profileuser->first_name ?></option>
-<?php endif; ?>
-<?php if ( !empty( $profileuser->last_name ) ) : ?>
-<option value="<?php echo $profileuser->last_name ?>"><?php echo $profileuser->last_name ?></option>
-<?php endif; ?>
-<?php if ( !empty( $profileuser->first_name ) && !empty( $profileuser->last_name ) ) : ?>
-<option value="<?php echo $profileuser->first_name." ".$profileuser->last_name ?>"><?php echo $profileuser->first_name." ".$profileuser->last_name ?></option>
-<option value="<?php echo $profileuser->last_name." ".$profileuser->first_name ?>"><?php echo $profileuser->last_name." ".$profileuser->first_name ?></option>
-<?php endif; ?>
-</select></label></p>
-</fieldset>
-
-<fieldset>
-<legend><?php _e('Contact Info'); ?></legend>
-
-<p><label><?php _e('E-mail: (required)') ?><br />
-<input type="text" name="email" value="<?php echo $profileuser->user_email ?>" /></label></p>
-
-<p><label><?php _e('Website:') ?><br />
-<input type="text" name="url" value="<?php echo $profileuser->user_url ?>" />
-</label></p>
-
-<p><label><?php _e('AIM:') ?><br />
-<input type="text" name="aim" value="<?php echo $profileuser->aim ?>" />
-</label></p>
-
-<p><label><?php _e('Yahoo IM:') ?><br />
-<input type="text" name="yim" value="<?php echo $profileuser->yim ?>" />
-</label></p>
-
-<p><label><?php _e('Jabber / Google Talk:') ?>
-<input type="text" name="jabber" value="<?php echo $profileuser->jabber ?>" /></label>
-</p>
-</fieldset>
-<br clear="all" />
-<fieldset>
-<legend><?php _e('About yourself'); ?></legend>
-<p class="desc"><?php _e('Share a little biographical information to fill out your profile. This may be shown publicly.'); ?></p>
-<p><textarea name="description" rows="5" cols="30"><?php echo $profileuser->description ?></textarea></p>
-</fieldset>
-
-<?php
-$show_password_fields = apply_filters('show_password_fields', true);
-if ( $show_password_fields ) :
-?>
-<fieldset>
-<legend><?php _e('Update Your Password'); ?></legend>
-<p class="desc"><?php _e('If you would like to change your password type a new one twice below. Otherwise leave this blank.'); ?></p>
-<p><label><?php _e('New Password:'); ?><br />
-<input type="password" name="pass1" size="16" value="" />
-</label></p>
-<p><label><?php _e('Type it one more time:'); ?><br />
-<input type="password" name="pass2" size="16" value="" />
-</label></p>
-</fieldset>
-<?php endif; ?>
-
-<?php do_action('show_user_profile'); ?>
-
-<br clear="all" />
-
-<h3><?php _e('Personal Options'); ?></h3>
-
-<p><label for="rich_editing"><input name="rich_editing" type="checkbox" id="rich_editing" value="true" <?php checked('true', get_user_option('rich_editing')); ?> />
-<?php _e('Use the visual rich editor when writing') ?></label></p>
-
-<?php do_action('profile_personal_options'); ?>
-
- <table width="99%" border="0" cellspacing="2" cellpadding="3" class="editform">
- <?php
- if(count($profileuser->caps) > count($profileuser->roles)):
- ?>
- <tr>
- <th scope="row"><?php _e('Additional Capabilities:') ?></th>
- <td><?php
- $output = '';
- foreach($profileuser->caps as $cap => $value) {
- if(!$wp_roles->is_role($cap)) {
- if($output != '') $output .= ', ';
- $output .= $value ? $cap : "Denied: {$cap}";
- }
- }
- echo $output;
- ?></td>
- </tr>
- <?php
- endif;
- ?>
- </table>
-<p class="submit">
-<input type="submit" value="<?php _e('Update Profile &raquo;') ?>" name="submit" />
-</p>
-</form>
-
-</div>
-
-<?php include('admin-footer.php'); ?>
diff --git a/wp-inst/wp-admin/setup-config.php b/wp-inst/wp-admin/setup-config.php
deleted file mode 100644
index d25c58b..0000000
--- a/wp-inst/wp-admin/setup-config.php
+++ /dev/null
@@ -1,189 +0,0 @@
-<?php
-die();
-define('WP_INSTALLING', true);
-
-if (!file_exists('../wp-config-sample.php'))
- die('Sorry, I need a wp-config-sample.php file to work from. Please re-upload this file from your WordPress installation.');
-
-$configFile = file('../wp-config-sample.php');
-
-if (!is_writable('../')) die("Sorry, I can't write to the directory. You'll have to either change the permissions on your WordPress directory or create your wp-config.php manually.");
-
-
-if (isset($_GET['step']))
- $step = $_GET['step'];
-else
- $step = 0;
-header( 'Content-Type: text/html; charset=utf-8' );
-?>
-<!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>WordPress &rsaquo; Setup Configuration File</title>
-<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
-<style media="screen" type="text/css">
- <!--
- html {
- background: #eee;
- }
- body {
- background: #fff;
- color: #000;
- font-family: Georgia, "Times New Roman", Times, serif;
- margin-left: 20%;
- margin-right: 20%;
- padding: .2em 2em;
- }
-
- h1 {
- color: #006;
- font-size: 18px;
- font-weight: lighter;
- }
-
- h2 {
- font-size: 16px;
- }
-
- p, li, dt {
- line-height: 140%;
- padding-bottom: 2px;
- }
-
- ul, ol {
- padding: 5px 5px 5px 20px;
- }
- #logo {
- margin-bottom: 2em;
- }
- .step a, .step input {
- font-size: 2em;
- }
- td input {
- font-size: 1.5em;
- }
- .step, th {
- text-align: right;
- }
- #footer {
- text-align: center;
- border-top: 1px solid #ccc;
- padding-top: 1em;
- font-style: italic;
- }
- -->
- </style>
-</head>
-<body>
-<h1 id="logo"><img alt="WordPress" src="images/wordpress-logo.png" /></h1>
-<?php
-// Check if wp-config.php has been created
-if (file_exists('../wp-config.php'))
- die("<p>The file 'wp-config.php' already exists. 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></body></html>");
-
-switch($step) {
- case 0:
-?>
-
-<p>Welcome to WordPress. Before getting started, we need some information on the database. You will need to know the following items before proceeding.</p>
-<ol>
- <li>Database name</li>
- <li>Database username</li>
- <li>Database password</li>
- <li>Database host</li>
- <li>Table prefix (if you want to run more than one WordPress in a single database) </li>
-</ol>
-<p><strong>If for any reason this automatic file creation doesn't work, don't worry. All this does is fill in the database information to a configuration file. You may also simply open <code>wp-config-sample.php</code> in a text editor, fill in your information, and save it as <code>wp-config.php</code>. </strong></p>
-<p>In all likelihood, these items were supplied to you by your ISP. If you do not have this information, then you will need to contact them before you can continue. If you&#8217;re all ready, <a href="setup-config.php?step=1">let&#8217;s go</a>! </p>
-<?php
- break;
-
- case 1:
- ?>
-</p>
-<form method="post" action="setup-config.php?step=2">
- <p>Below you should enter your database connection details. If you're not sure about these, contact your host. </p>
- <table>
- <tr>
- <th scope="row">Database Name</th>
- <td><input name="dbname" type="text" size="25" value="wordpress" /></td>
- <td>The name of the database you want to run WP in. </td>
- </tr>
- <tr>
- <th scope="row">User Name</th>
- <td><input name="uname" type="text" size="25" value="username" /></td>
- <td>Your MySQL username</td>
- </tr>
- <tr>
- <th scope="row">Password</th>
- <td><input name="pwd" type="text" size="25" value="password" /></td>
- <td>...and MySQL password.</td>
- </tr>
- <tr>
- <th scope="row">Database Host</th>
- <td><input name="dbhost" type="text" size="25" value="localhost" /></td>
- <td>99% chance you won't need to change this value.</td>
- </tr>
- <tr>
- <th scope="row">Table Prefix</th>
- <td><input name="prefix" type="text" id="prefix" value="wp_" size="25" /></td>
- <td>If you want to run multiple WordPress installations in a single database, change this.</td>
- </tr>
- </table>
- <h2 class="step">
- <input name="submit" type="submit" value="Submit" />
- </h2>
-</form>
-<?php
- break;
-
- case 2:
- $dbname = trim($_POST['dbname']);
- $uname = trim($_POST['uname']);
- $passwrd = trim($_POST['pwd']);
- $dbhost = trim($_POST['dbhost']);
- $prefix = trim($_POST['prefix']);
- if (empty($prefix)) $prefix = 'wp_';
-
- // Test the db connection.
- define('DB_NAME', $dbname);
- define('DB_USER', $uname);
- define('DB_PASSWORD', $passwrd);
- define('DB_HOST', $dbhost);
-
- // We'll fail here if the values are no good.
- require_once('../wp-includes/wp-db.php');
- $handle = fopen('../wp-config.php', 'w');
-
- foreach ($configFile as $line_num => $line) {
- switch (substr($line,0,16)) {
- case "define('DB_NAME'":
- fwrite($handle, str_replace("wordpress", $dbname, $line));
- break;
- case "define('DB_USER'":
- fwrite($handle, str_replace("'username'", "'$uname'", $line));
- break;
- case "define('DB_PASSW":
- fwrite($handle, str_replace("'password'", "'$passwrd'", $line));
- break;
- case "define('DB_HOST'":
- fwrite($handle, str_replace("localhost", $dbhost, $line));
- break;
- case '$table_prefix =':
- fwrite($handle, str_replace('wp_', $prefix, $line));
- break;
- default:
- fwrite($handle, $line);
- }
- }
- fclose($handle);
- chmod('../wp-config.php', 0666);
-?>
-<p>All right sparky! You've made it through this part of the installation. WordPress can now communicate with your database. If you are ready, time now to <a href="install.php">run the install!</a></p>
-<?php
- break;
-}
-?>
-<p id="footer"><a href="http://wordpress.org/">WordPress</a>, personal publishing platform.</p>
-</body>
-</html>
diff --git a/wp-inst/wp-admin/sidebar.php b/wp-inst/wp-admin/sidebar.php
deleted file mode 100644
index 140bd36..0000000
--- a/wp-inst/wp-admin/sidebar.php
+++ /dev/null
@@ -1,80 +0,0 @@
-<?php
-$mode = 'sidebar';
-
-require_once('admin.php');
-
-if ( ! current_user_can('edit_posts') )
- die ("Cheatin' uh ?");
-
-if ('b' == $_GET['a']) {
-
-?><!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>WordPress &#8250; Posted</title>
-<meta http-equiv="Content-Type" content="<?php bloginfo('html_type'); ?>; charset=UTF-8" />
-<link rel="stylesheet" href="wp-admin.css" type="text/css" />
-</head>
-<body>
- <p>Posted !</p>
- <p><a href="sidebar.php">Click here</a> to post again.</p>
-</body>
-</html><?php
-
-} else {
-
-?><!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>WordPress &#8250; Sidebar</title>
-<meta http-equiv="Content-Type" content="<?php bloginfo('html_type'); ?>; charset=<?php bloginfo('blog_charset'); ?>" />
-<link rel="stylesheet" href="wp-admin.css" type="text/css" />
-<style type="text/css" media="screen">
-form {
- padding: 3px;
-}
-.sidebar-categories {
- display: block;
- height: 6.6em;
- overflow: auto;
- background-color: #f4f4f4;
-}
-.sidebar-categories label {
- font-size: 10px;
- display: block;
- width: 90%;
-}
-</style>
-</head>
-<body id="sidebar">
-<h1 id="wphead"><a href="http://wordpress.org/" rel="external">WordPress</a></h1>
-<form name="post" action="post.php" method="POST">
-<div><input type="hidden" name="action" value="post" />
-<input type="hidden" name="user_ID" value="<?php echo $user_ID ?>" />
-<input type="hidden" name="mode" value="sidebar" />
-<p>Title:
-<input type="text" name="post_title" size="20" tabindex="1" style="width: 100%;" />
-</p>
-<p>Categories:
-<span class="sidebar-categories">
-<?php dropdown_categories(); ?>
-</span>
-</p>
-<p>
-Post:
-<textarea rows="8" cols="12" style="width: 100%" name="content" tabindex="2"></textarea>
-</p>
-<p>
- <input name="saveasdraft" type="submit" id="saveasdraft" tabindex="9" value="Save as Draft" />
-<?php if ( current_user_can('publish_posts') ) : ?>
- <input name="publish" type="submit" id="publish" tabindex="6" style="font-weight: bold;" value="Publish" />
-<?php endif; ?>
-</p>
-</div>
-</form>
-
-</body>
-</html>
-<?php
-}
-?>
diff --git a/wp-inst/wp-admin/templates.php b/wp-inst/wp-admin/templates.php
deleted file mode 100644
index c22d56a..0000000
--- a/wp-inst/wp-admin/templates.php
+++ /dev/null
@@ -1,171 +0,0 @@
-<?php
-die();
-require_once('admin.php');
-$title = __('Template &amp; File Editing');
-$parent_file = 'edit.php';
-
-$wpvarstoreset = array('action','redirect','profile','error','warning','a','file');
-for ($i=0; $i<count($wpvarstoreset); $i += 1) {
- $wpvar = $wpvarstoreset[$i];
- if (!isset($$wpvar)) {
- if (empty($_POST["$wpvar"])) {
- if (empty($_GET["$wpvar"])) {
- $$wpvar = '';
- } else {
- $$wpvar = $_GET["$wpvar"];
- }
- } else {
- $$wpvar = $_POST["$wpvar"];
- }
- }
-}
-
-$recents = get_option('recently_edited');
-
-if (empty($file)) {
- if ($recents) {
- $file = $recents[0];
- } else {
- $file = 'index.php';
- }
-}
-
-$file = validate_file_to_edit($file);
-$real_file = get_real_file_to_edit($file);
-
-switch($action) {
-
-case 'update':
-
- check_admin_referer('edit-file_' . $file);
-
- if ( ! current_user_can('edit_files') )
- die('<p>'.__('You do not have sufficient permissions to edit templates for this blog.').'</p>');
-
- $newcontent = stripslashes($_POST['newcontent']);
- if (is_writeable($real_file)) {
- $f = @ fopen($real_file, 'w+');
- if ( $f ) {
- fwrite($f, $newcontent);
- fclose($f);
- header("Location: templates.php?file=$file&a=te");
- } else {
- header("Location: templates.php?file=$file&a=err");
- }
- } else {
- header("Location: templates.php?file=$file&a=err");
- }
-
- exit();
-
-break;
-
-default:
-
- require_once('./admin-header.php');
-
- if ( ! current_user_can('edit_files') )
- die('<p>'.__('You have do not have sufficient permissions to edit templates for this blog.').'</p>');
-
- if ( strstr( $file, 'wp-config.php' ) )
- die('<p>'.__('The config file cannot be edited or viewed through the web interface. Sorry!').'</p>');
-
- update_recently_edited($file);
-
- if (!is_file($real_file))
- $error = true;
-
- if (!$error) {
- $f = @ fopen($real_file, 'r');
- if ( $f ) {
- $content = fread($f, filesize($real_file));
- $content = htmlspecialchars($content);
- } else {
- $error = true;
- }
- }
-
- ?>
-<?php if (isset($_GET['a'])) : ?>
- <?php if ( 'err' == $_GET['a'] ) : ?>
- <div id="message" class="error"><p><?php _e('Could not save file.') ?></p></div>
- <?php else: ?>
- <div id="message" class="updated fade"><p><?php _e('File edited successfully.') ?></p></div>
- <?php endif; ?>
-<?php endif; ?>
- <div class="wrap">
-<?php
-if (is_writeable($real_file)) {
- echo '<h2>' . sprintf(__('Editing <strong>%s</strong>'), wp_specialchars($file) ) . '</h2>';
-} else {
- echo '<h2>' . sprintf(__('Browsing <strong>%s</strong>'), wp_specialchars($file) ) . '</h2>';
-}
-?>
-<div id="templateside">
-<?php
-if ( $recents ) :
-?>
-<h3><?php _e('Recent'); ?></h3>
-<?php
-echo '<ol>';
-foreach ($recents as $recent) :
- echo "<li><a href='templates.php?file=$recent'>" . get_file_description(basename($recent)) . "</a></li>";
-endforeach;
-echo '</ol>';
-endif;
-?>
-<h3><?php _e('Common'); ?></h3>
- <?php $common_files = array('index.php', '.htaccess', 'my-hacks.php');
- $old_files = array('wp-layout.css', 'wp-comments.php', 'wp-comments-popup.php');
- foreach ($old_files as $old_file) {
- if (file_exists(ABSPATH . $old_file))
- $common_files[] = $old_file;
- } ?>
- <ul>
- <?php foreach ($common_files as $common_file) : ?>
- <li><a href="templates.php?file=<?php echo $common_file?>"><?php echo get_file_description($common_file); ?></a></li>
- <?php endforeach; ?>
- </ul>
-</div>
-<?php if (!$error) { ?>
- <form name="template" id="template" action="templates.php" method="post">
- <?php wp_nonce_field('edit-file_' . $file) ?>
- <div><textarea cols="70" rows="25" name="newcontent" id='newcontent' tabindex="1"><?php echo $content ?></textarea>
- <input type="hidden" name="action" value="update" />
- <input type="hidden" name="file" value="<?php echo $file ?>" />
-</div>
-<?php if ( is_writeable($real_file) ) : ?>
- <p class="submit">
-<?php
- echo "<input type='submit' name='submit' value=' " . __('Update File &raquo;') . "' tabindex='2' />";
-?>
-</p>
-<?php else : ?>
-<p><em><?php _e('If this file were writable you could edit it.'); ?></em></p>
-<?php endif; ?>
- </form>
- <?php
- } else {
- echo '<div class="error"><p>' . __('Oops, no such file exists! Double check the name and try again, merci.') . '</p></div>';
- }
- ?>
-<div class="clear"> &nbsp; </div>
-</div>
-<div class="wrap">
-<h2><?php _e('Other Files') ?></h2>
-
- <p><?php _e('To edit a file, type its name here. You can edit any file <a href="http://codex.wordpress.org/Changing_File_Permissions" title="Read more about making files writable">writable by the server</a>, e.g. CHMOD 666.') ?></p>
- <form name="file" action="templates.php" method="get">
- <input type="text" name="file" />
- <input type="submit" name="submit" value="<?php _e('Edit file &raquo;') ?>" />
- </form>
-
- <p><?php _e('Note: of course, you can also edit the files/templates in your text editor of choice and upload them. This online editor is only meant to be used when you don&#8217;t have access to a text editor or FTP client.') ?></p>
-</div>
-<?php
-
-break;
-}
-
-include("admin-footer.php");
-?>
diff --git a/wp-inst/wp-admin/theme-editor.php b/wp-inst/wp-admin/theme-editor.php
deleted file mode 100644
index 10fb8fc..0000000
--- a/wp-inst/wp-admin/theme-editor.php
+++ /dev/null
@@ -1,162 +0,0 @@
-<?php
-die();
-require_once('admin.php');
-
-$title = __("Edit Themes");
-$parent_file = 'themes.php';
-
-$wpvarstoreset = array('action','redirect','profile','error','warning','a','file', 'theme');
-for ($i=0; $i<count($wpvarstoreset); $i += 1) {
- $wpvar = $wpvarstoreset[$i];
- if (!isset($$wpvar)) {
- if (empty($_POST["$wpvar"])) {
- if (empty($_GET["$wpvar"])) {
- $$wpvar = '';
- } else {
- $$wpvar = $_GET["$wpvar"];
- }
- } else {
- $$wpvar = $_POST["$wpvar"];
- }
- }
-}
-
-$themes = get_themes();
-
-if (empty($theme)) {
- $theme = get_current_theme();
-} else {
- $theme = stripslashes($theme);
- }
-
-
-if ( ! isset($themes[$theme]) )
- die(__('The requested theme does not exist.'));
-
-$allowed_files = array_merge($themes[$theme]['Stylesheet Files'], $themes[$theme]['Template Files']);
-
-if (empty($file)) {
- $file = $allowed_files[0];
-}
-
-$file = validate_file_to_edit($file, $allowed_files);
-$real_file = get_real_file_to_edit($file);
-
-$file_show = basename( $file );
-
-switch($action) {
-
-case 'update':
-
- check_admin_referer('edit-theme_' . $file . $theme);
-
- if ( !current_user_can('edit_themes') )
- die('<p>'.__('You have do not have sufficient permissions to edit templates for this blog.').'</p>');
-
- $newcontent = stripslashes($_POST['newcontent']);
- $theme = urlencode($theme);
- if (is_writeable($real_file)) {
- $f = fopen($real_file, 'w+');
- fwrite($f, $newcontent);
- fclose($f);
- header("Location: theme-editor.php?file=$file&theme=$theme&a=te");
- } else {
- header("Location: theme-editor.php?file=$file&theme=$theme");
- }
-
- exit();
-
-break;
-
-default:
-
- require_once('admin-header.php');
- if ( !current_user_can('edit_themes') )
- die('<p>'.__('You have do not have sufficient permissions to edit themes for this blog.').'</p>');
-
- update_recently_edited($file);
-
- if (!is_file($real_file))
- $error = 1;
-
- if (!$error && filesize($real_file) > 0) {
- $f = fopen($real_file, 'r');
- $content = fread($f, filesize($real_file));
- $content = htmlspecialchars($content);
- }
-
- ?>
-<?php if (isset($_GET['a'])) : ?>
- <div id="message" class="updated fade"><p><?php _e('File edited successfully.') ?></p></div>
-<?php endif; ?>
- <div class="wrap">
- <form name="theme" action="theme-editor.php" method="post">
- <?php _e('Select theme to edit:') ?>
- <select name="theme" id="theme">
- <?php
- foreach ($themes as $a_theme) {
- $theme_name = $a_theme['Name'];
- if ($theme_name == $theme) $selected = " selected='selected'";
- else $selected = '';
- $theme_name = wp_specialchars($theme_name, true);
- echo "\n\t<option value=\"$theme_name\" $selected>$theme_name</option>";
- }
-?>
- </select>
- <input type="submit" name="Submit" value="<?php _e('Select &raquo;') ?>" />
- </form>
- </div>
-
- <div class="wrap">
- <?php
- if ( is_writeable($real_file) ) {
- echo '<h2>' . sprintf(__('Editing <code>%s</code>'), $file_show) . '</h2>';
- } else {
- echo '<h2>' . sprintf(__('Browsing <code>%s</code>'), $file_show) . '</h2>';
- }
- ?>
- <div id="templateside">
- <h3><?php printf(__("<strong>'%s'</strong> theme files"), $theme) ?></h3>
-
-<?php
-if ($allowed_files) :
-?>
- <ul>
-<?php foreach($allowed_files as $allowed_file) : ?>
- <li><a href="theme-editor.php?file=<?php echo "$allowed_file"; ?>&amp;theme=<?php echo urlencode($theme) ?>"><?php echo get_file_description($allowed_file); ?></a></li>
-<?php endforeach; ?>
- </ul>
-<?php endif; ?>
-</div>
- <?php
- if (!$error) {
- ?>
- <form name="template" id="template" action="theme-editor.php" method="post">
- <?php wp_nonce_field('edit-theme_' . $file . $theme) ?>
- <div><textarea cols="70" rows="25" name="newcontent" id="newcontent" tabindex="1"><?php echo $content ?></textarea>
- <input type="hidden" name="action" value="update" />
- <input type="hidden" name="file" value="<?php echo $file ?>" />
- <input type="hidden" name="theme" value="<?php echo $theme ?>" />
- </div>
-<?php if ( is_writeable($real_file) ) : ?>
- <p class="submit">
-<?php
- echo "<input type='submit' name='submit' value=' " . __('Update File &raquo;') . "' tabindex='2' />";
-?>
-</p>
-<?php else : ?>
-<p><em><?php _e('If this file were writable you could edit it.'); ?></em></p>
-<?php endif; ?>
- </form>
- <?php
- } else {
- echo '<div class="error"><p>' . __('Oops, no such file exists! Double check the name and try again, merci.') . '</p></div>';
- }
- ?>
-<div class="clear"> &nbsp; </div>
-</div>
-<?php
-break;
-}
-
-include("admin-footer.php") ?>
diff --git a/wp-inst/wp-admin/themes.php b/wp-inst/wp-admin/themes.php
deleted file mode 100644
index f57bd1b..0000000
--- a/wp-inst/wp-admin/themes.php
+++ /dev/null
@@ -1,142 +0,0 @@
-<?php
-require_once('admin.php');
-
-if ( isset($_GET['action']) ) {
- check_admin_referer('switch-theme_' . $_GET['template']);
-
- if ('activate' == $_GET['action']) {
- if ( isset($_GET['template']) )
- update_option('template', $_GET['template']);
-
- if ( isset($_GET['stylesheet']) )
- update_option('stylesheet', $_GET['stylesheet']);
-
- do_action('switch_theme', get_current_theme());
-
- header('Location: themes.php?activated=true');
- exit;
- }
-}
-
-$title = __('Manage Themes');
-$parent_file = 'themes.php';
-require_once('admin-header.php');
-?>
-
-<?php if ( ! validate_current_theme() ) : ?>
-<div id="message1" class="updated fade"><p><?php _e('The active theme is broken. Reverting to the default theme.'); ?></p></div>
-<?php elseif ( isset($_GET['activated']) ) : ?>
-<div id="message2" class="updated fade"><p><?php printf(__('New theme activated. <a href="%s">View site &raquo;</a>'), get_bloginfo('home') . '/'); ?></p></div>
-<?php endif; ?>
-
-<?php
-$themes = get_themes();
-$ct = current_theme_info();
-$allowed_themes = get_site_option( "allowed_themes" );
-if( $allowed_themes == false ) {
- $allowed_themes = $themes;
-}
-$blog_allowed_themes = get_option( "allowed_themes" );
-
-if( is_array( $blog_allowed_themes ) )
- $allowed_themes = array_merge( $allowed_themes, $blog_allowed_themes );
-
-if( isset( $allowed_themes[ $ct->title ] ) == false ) {
- $allowed_themes[ $ct->title ] = true;
-}
-reset( $themes );
-while( list( $key, $val ) = each( $themes ) ) {
- if( isset( $allowed_themes[ $key ] ) == false ) {
- unset( $themes[ $key ] );
- }
-}
-reset( $themes );
-?>
-
-<div class="wrap">
-<h2><?php _e('Current Theme'); ?></h2>
-<div id="currenttheme">
-<?php if ( $ct->screenshot ) : ?>
-<img src="<?php echo get_option('siteurl') . '/' . $ct->stylesheet_dir . '/' . $ct->screenshot; ?>" alt="<?php _e('Current theme preview'); ?>" />
-<?php endif; ?>
-<h3><?php printf(__('%1$s %2$s by %3$s'), $ct->title, $ct->version, $ct->author) ; ?></h3>
-<p><?php echo $ct->description; ?></p>
-</div>
-
-<h2><?php _e('Available Themes'); ?></h2>
-<?php if ( 1 < count($themes) ) { ?>
-
-<?php
-$style = '';
-
-$theme_names = array_keys($themes);
-natcasesort($theme_names);
-
-foreach ($theme_names as $theme_name) {
- if ( $theme_name == $ct->name )
- continue;
- $template = $themes[$theme_name]['Template'];
- $stylesheet = $themes[$theme_name]['Stylesheet'];
- $title = $themes[$theme_name]['Title'];
- $version = $themes[$theme_name]['Version'];
- $description = $themes[$theme_name]['Description'];
- $author = $themes[$theme_name]['Author'];
- $screenshot = $themes[$theme_name]['Screenshot'];
- $stylesheet_dir = $themes[$theme_name]['Stylesheet Dir'];
- $activate_link = wp_nonce_url("themes.php?action=activate&amp;template=$template&amp;stylesheet=$stylesheet", 'switch-theme_' . $template);
-?>
-<div class="available-theme">
-<h3><a href="<?php echo $activate_link; ?>"><?php echo "$title $version"; ?></a></h3>
-
-<a href="<?php echo $activate_link; ?>" class="screenshot">
-<?php if ( $screenshot ) : ?>
-<img src="<?php echo get_option('siteurl') . '/' . $stylesheet_dir . '/' . $screenshot; ?>" alt="" />
-<?php endif; ?>
-</a>
-
-<p><?php echo $description; ?></p>
-</div>
-<?php } // end foreach theme_names ?>
-
-<?php } ?>
-
-<?php
-// List broken themes, if any.
-$broken_themes = get_broken_themes();
-if ( count($broken_themes) ) {
-?>
-
-<h2><?php _e('Broken Themes'); ?></h2>
-<p><?php _e('The following themes are installed but incomplete. Themes must have a stylesheet and a template.'); ?></p>
-
-<table width="100%" cellpadding="3" cellspacing="3">
- <tr>
- <th><?php _e('Name'); ?></th>
- <th><?php _e('Description'); ?></th>
- </tr>
-<?php
- $theme = '';
-
- $theme_names = array_keys($broken_themes);
- natcasesort($theme_names);
-
- foreach ($theme_names as $theme_name) {
- $title = $broken_themes[$theme_name]['Title'];
- $description = $broken_themes[$theme_name]['Description'];
-
- $theme = ('class="alternate"' == $theme) ? '' : 'class="alternate"';
- echo "
- <tr $theme>
- <td>$title</td>
- <td>$description</td>
- </tr>";
- }
-?>
-</table>
-<?php
-}
-?>
-<br clear="all" />
-</div>
-
-<?php require('admin-footer.php'); ?>
diff --git a/wp-inst/wp-admin/update-links.php b/wp-inst/wp-admin/update-links.php
deleted file mode 100644
index 46a7f5a..0000000
--- a/wp-inst/wp-admin/update-links.php
+++ /dev/null
@@ -1,44 +0,0 @@
-<?php
-require_once( dirname( dirname(__FILE__) ) . '/wp-config.php');
-require_once( ABSPATH . 'wp-includes/class-snoopy.php');
-
-if ( !get_option('use_linksupdate') )
- die(__('Feature disabled.'));
-
-$link_uris = $wpdb->get_col("SELECT link_url FROM $wpdb->links");
-
-if ( !$link_uris )
- die('No links');
-
-$link_uris = urlencode( join( $link_uris, "\n" ) );
-
-$query_string = "uris=$link_uris";
-
-$http_request = "POST /updated-batch/ HTTP/1.0\r\n";
-$http_request .= "Host: api.pingomatic.com\r\n";
-$http_request .= 'Content-Type: application/x-www-form-urlencoded; charset='.get_settings('blog_charset')."\r\n";
-$http_request .= 'Content-Length: ' . strlen($query_string) . "\r\n";
-$http_request .= 'User-Agent: WordPress/' . $wp_version . "\r\n";
-$http_request .= "\r\n";
-$http_request .= $query_string;
-
-$response = '';
-if( false !== ( $fs = fsockopen('api.pingomatic.com', 80, $errno, $errstr, 5) ) ) {
- fwrite($fs, $http_request);
- while ( !feof($fs) )
- $response .= fgets($fs, 1160); // One TCP-IP packet
- fclose($fs);
-
- $response = explode("\r\n\r\n", $response, 2);
- $body = trim( $response[1] );
- $body = str_replace(array("\r\n", "\r"), "\n", $body);
-
- $returns = explode("\n", $body);
-
- foreach ($returns as $return) :
- $time = $wpdb->escape( substr($return, 0, 19) );
- $uri = $wpdb->escape( preg_replace('/(.*?) | (.*?)/', '$2', $return) );
- $wpdb->query("UPDATE $wpdb->links SET link_updated = '$time' WHERE link_url = '$uri'");
- endforeach;
-}
-?>
diff --git a/wp-inst/wp-admin/upgrade-functions.php b/wp-inst/wp-admin/upgrade-functions.php
deleted file mode 100644
index 03c34c2..0000000
--- a/wp-inst/wp-admin/upgrade-functions.php
+++ /dev/null
@@ -1,1076 +0,0 @@
-<?php
-
-if ( file_exists(ABSPATH . 'wp-content/install.php') )
- require (ABSPATH . 'wp-content/install.php');
-require_once(ABSPATH . '/wp-admin/admin-functions.php');
-require_once(ABSPATH . '/wp-admin/admin-db.php');
-require_once(ABSPATH . '/wp-admin/upgrade-schema.php');
-require_once(ABSPATH . WPINC . '/registration.php');
-
-if ( !function_exists('wp_install') ) :
-function wp_install($blog_title, $user_name, $user_email, $public, $meta='') {
- global $wp_rewrite;
-
- wp_cache_flush();
- make_db_current_silent();
- populate_options();
- populate_roles();
-
- update_option('blogname', $blog_title);
- update_option('admin_email', $user_email);
- update_option('blog_public', $public);
- $schema = ( isset($_SERVER['HTTPS']) && strtolower($_SERVER['HTTPS']) == 'on' ) ? 'https://' : 'http://';
- $guessurl = preg_replace('|/wp-admin/.*|i', '', $schema . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI']);
- update_option('siteurl', $guessurl);
-
- // If not a public blog, don't ping.
- if ( ! $public )
- update_option('default_pingback_flag', 0);
-
- // Create default user. If the user already exists, the user tables are
- // being shared among blogs. Just set the role in that case.
- $user_id = username_exists($user_name);
- if ( !$user_id ) {
- $random_password = substr(md5(uniqid(microtime())), 0, 6);
- $user_id = wp_create_user($user_name, $random_password, $user_email);
- } else {
- $random_password = __('User already exists. Password inherited.');
- }
-
- $user = new WP_User($user_id);
- $user->set_role('administrator');
-
- wp_install_defaults($user_id);
-
- $wp_rewrite->flush_rules();
-
- wp_new_blog_notification($blog_title, $guessurl, $user_id, $random_password);
-
- wp_cache_flush();
-
- return array('url' => $guessurl, 'user_id' => $user_id, 'password' => $random_password);
-}
-endif;
-
-if ( !function_exists('wp_install_defaults') ) :
-function wp_install_defaults($user_id) {
- global $wpdb;
-
- // Default category
- $wpdb->query("INSERT INTO $wpdb->categories (cat_ID, cat_name, category_nicename, category_count, category_description) VALUES ('0', '".$wpdb->escape(__('Uncategorized'))."', '".sanitize_title(__('Uncategorized'))."', '1', '')");
-
- // Default link category
- $wpdb->query("INSERT INTO $wpdb->categories (cat_ID, cat_name, category_nicename, link_count, category_description) VALUES ('0', '".$wpdb->escape(__('Blogroll'))."', '".sanitize_title(__('Blogroll'))."', '7', '')");
-
- // Now drop in some default links
- $wpdb->query("INSERT INTO $wpdb->links (link_url, link_name, link_category, link_rss, link_notes) VALUES ('http://inphotos.org/', 'Donncha', 0, 'http://inphotos.org/feed/', '');");
- $wpdb->query( "INSERT INTO $wpdb->link2cat (`link_id`, `category_id`) VALUES (1, 2)" );
-
- $wpdb->query("INSERT INTO $wpdb->links (link_url, link_name, link_category, link_rss, link_notes) VALUES ('http://zengun.org/weblog/', 'Michel', 0, 'http://zengun.org/weblog/feed/', '');");
- $wpdb->query( "INSERT INTO $wpdb->link2cat (`link_id`, `category_id`) VALUES (2, 2)" );
-
- $wpdb->query("INSERT INTO $wpdb->links (link_url, link_name, link_category, link_rss, link_notes) VALUES ('http://boren.nu/', 'Ryan', 0, 'http://boren.nu/feed/', '');");
- $wpdb->query( "INSERT INTO $wpdb->link2cat (`link_id`, `category_id`) VALUES (3, 2)" );
-
- $wpdb->query("INSERT INTO $wpdb->links (link_url, link_name, link_category, link_rss, link_notes) VALUES ('http://photomatt.net/', 'Matt', 0, 'http://xml.photomatt.net/feed/', '');");
- $wpdb->query( "INSERT INTO $wpdb->link2cat (`link_id`, `category_id`) VALUES (4, 2)" );
-
- $wpdb->query("INSERT INTO $wpdb->links (link_url, link_name, link_category, link_rss, link_notes) VALUES ('http://zed1.com/journalized/', 'Mike', 0, 'http://zed1.com/journalized/feed/', '');");
- $wpdb->query( "INSERT INTO $wpdb->link2cat (`link_id`, `category_id`) VALUES (5, 2)" );
-
- $wpdb->query("INSERT INTO $wpdb->links (link_url, link_name, link_category, link_rss, link_notes) VALUES ('http://www.alexking.org/', 'Alex', 0, 'http://www.alexking.org/blog/wp-rss2.php', '');");
- $wpdb->query( "INSERT INTO $wpdb->link2cat (`link_id`, `category_id`) VALUES (6, 2)" );
-
- $wpdb->query("INSERT INTO $wpdb->links (link_url, link_name, link_category, link_rss, link_notes) VALUES ('http://dougal.gunters.org/', 'Dougal', 0, 'http://dougal.gunters.org/feed/', '');");
- $wpdb->query( "INSERT INTO $wpdb->link2cat (`link_id`, `category_id`) VALUES (7, 2)" );
-
- // First post
- $now = date('Y-m-d H:i:s');
- $now_gmt = gmdate('Y-m-d H:i:s');
- $wpdb->query("INSERT INTO $wpdb->posts (post_author, post_date, post_date_gmt, post_content, post_excerpt, post_title, post_category, post_name, post_modified, post_modified_gmt, comment_count, to_ping, pinged, post_content_filtered) VALUES ($user_id, '$now', '$now_gmt', '".$wpdb->escape(__('Welcome to WordPress. This is your first post. Edit or delete it, then start blogging!'))."', '', '".$wpdb->escape(__('Hello world!'))."', '0', '".$wpdb->escape(__('hello-world'))."', '$now', '$now_gmt', '1', '', '', '')");
-
- $wpdb->query( "INSERT INTO $wpdb->post2cat (`rel_id`, `post_id`, `category_id`) VALUES (1, 1, 1)" );
-
- // Default comment
- $wpdb->query("INSERT INTO $wpdb->comments (comment_post_ID, comment_author, comment_author_email, comment_author_url, comment_date, comment_date_gmt, comment_content) VALUES ('1', '".$wpdb->escape(__('Mr WordPress'))."', '', 'http://wordpress.org/', '$now', '$now_gmt', '".$wpdb->escape(__('Hi, this is a comment.<br />To delete a comment, just log in, and view the posts\' comments, there you will have the option to edit or delete them.'))."')");
-
- // First Page
-
- $wpdb->query("INSERT INTO $wpdb->posts (post_author, post_date, post_date_gmt, post_content, post_excerpt, post_title, post_category, post_name, post_modified, post_modified_gmt, post_status, post_type, to_ping, pinged, post_content_filtered) VALUES ($user_id, '$now', '$now_gmt', '".$wpdb->escape(__('This is an example of a WordPress page, you could edit this to put information about yourself or your site so readers know where you are coming from. You can create as many pages like this one or sub-pages as you like and manage all of your content inside of WordPress.'))."', '', '".$wpdb->escape(__('About'))."', '0', '".$wpdb->escape(__('about'))."', '$now', '$now_gmt', 'publish', 'page', '', '', '')");
-}
-endif;
-
-if ( !function_exists('wp_new_blog_notification') ) :
-function wp_new_blog_notification($blog_title, $blog_url, $user_id, $password) {
- $user = new WP_User($user_id);
- $email = $user->user_email;
- $name = $user->user_login;
- $message_headers = 'From: ' . $blog_title . ' <wordpress@' . $_SERVER['SERVER_NAME'] . '>';
- $message = sprintf(__("Your new WordPress blog has been successfully set up at:
-
-%1\$s
-
-You can log in to the administrator account with the following information:
-
-Username: %2\$s
-Password: %3\$s
-
-We hope you enjoy your new weblog. Thanks!
-
---The WordPress Team
-http://wordpress.org/
-"), $blog_url, $name, $password);
-
- @wp_mail($email, __('New WordPress Blog'), $message, $message_headers);
-}
-endif;
-
-if ( !function_exists('wp_upgrade') ) :
-function wp_upgrade() {
- global $wp_current_db_version, $wp_db_version;
-
- $wp_current_db_version = __get_option('db_version');
-
- // We are up-to-date. Nothing to do.
- if ( $wp_db_version == $wp_current_db_version )
- return;
-
- wp_cache_flush();
- make_db_current_silent();
- upgrade_all();
- wp_cache_flush();
-}
-endif;
-
-// Functions to be called in install and upgrade scripts
-function upgrade_all() {
- global $wp_current_db_version, $wp_db_version, $wp_rewrite;
- $wp_current_db_version = __get_option('db_version');
-
- // We are up-to-date. Nothing to do.
- if ( $wp_db_version == $wp_current_db_version )
- return;
-
- // If the version is not set in the DB, try to guess the version.
- if ( empty($wp_current_db_version) ) {
- $wp_current_db_version = 0;
-
- // If the template option exists, we have 1.5.
- $template = __get_option('template');
- if ( !empty($template) )
- $wp_current_db_version = 2541;
- }
-
- populate_options();
-
- if ( $wp_current_db_version < 2541 ) {
- upgrade_100();
- upgrade_101();
- upgrade_110();
- upgrade_130();
- }
-
- if ( $wp_current_db_version < 3308 )
- upgrade_160();
-
- if ( $wp_current_db_version < 3845 )
- upgrade_210();
-
- $wp_rewrite->flush_rules();
-
- update_option('db_version', $wp_db_version);
-}
-
-function upgrade_100() {
- global $wpdb;
-
- // Get the title and ID of every post, post_name to check if it already has a value
- $posts = $wpdb->get_results("SELECT ID, post_title, post_name FROM $wpdb->posts WHERE post_name = ''");
- if ($posts) {
- foreach($posts as $post) {
- if ('' == $post->post_name) {
- $newtitle = sanitize_title($post->post_title);
- $wpdb->query("UPDATE $wpdb->posts SET post_name = '$newtitle' WHERE ID = '$post->ID'");
- }
- }
- }
-
- $categories = $wpdb->get_results("SELECT cat_ID, cat_name, category_nicename FROM $wpdb->categories");
- foreach ($categories as $category) {
- if ('' == $category->category_nicename) {
- $newtitle = sanitize_title($category->cat_name);
- $wpdb->query("UPDATE $wpdb->categories SET category_nicename = '$newtitle' WHERE cat_ID = '$category->cat_ID'");
- }
- }
-
-
- $wpdb->query("UPDATE $wpdb->options SET option_value = REPLACE(option_value, 'wp-links/links-images/', 'wp-images/links/')
- WHERE option_name LIKE 'links_rating_image%'
- AND option_value LIKE 'wp-links/links-images/%'");
-
- $done_ids = $wpdb->get_results("SELECT DISTINCT post_id FROM $wpdb->post2cat");
- if ($done_ids) :
- foreach ($done_ids as $done_id) :
- $done_posts[] = $done_id->post_id;
- endforeach;
- $catwhere = ' AND ID NOT IN (' . implode(',', $done_posts) . ')';
- else:
- $catwhere = '';
- endif;
-
- $allposts = $wpdb->get_results("SELECT ID, post_category FROM $wpdb->posts WHERE post_category != '0' $catwhere");
- if ($allposts) :
- foreach ($allposts as $post) {
- // Check to see if it's already been imported
- $cat = $wpdb->get_row("SELECT * FROM $wpdb->post2cat WHERE post_id = $post->ID AND category_id = $post->post_category");
- if (!$cat && 0 != $post->post_category) { // If there's no result
- $wpdb->query("
- INSERT INTO $wpdb->post2cat
- (post_id, category_id)
- VALUES
- ('$post->ID', '$post->post_category')
- ");
- }
- }
- endif;
-}
-
-function upgrade_101() {
- global $wpdb;
-
- // Clean up indices, add a few
- add_clean_index($wpdb->posts, 'post_name');
- add_clean_index($wpdb->posts, 'post_status');
- add_clean_index($wpdb->categories, 'category_nicename');
- add_clean_index($wpdb->comments, 'comment_approved');
- add_clean_index($wpdb->comments, 'comment_post_ID');
- add_clean_index($wpdb->links , 'link_category');
- add_clean_index($wpdb->links , 'link_visible');
-}
-
-
-function upgrade_110() {
- global $wpdb;
-
- // Set user_nicename.
- $users = $wpdb->get_results("SELECT ID, user_nickname, user_nicename FROM $wpdb->users");
- foreach ($users as $user) {
- if ('' == $user->user_nicename) {
- $newname = sanitize_title($user->user_nickname);
- $wpdb->query("UPDATE $wpdb->users SET user_nicename = '$newname' WHERE ID = '$user->ID'");
- }
- }
-
- $users = $wpdb->get_results("SELECT ID, user_pass from $wpdb->users");
- foreach ($users as $row) {
- if (!preg_match('/^[A-Fa-f0-9]{32}$/', $row->user_pass)) {
- $wpdb->query('UPDATE '.$wpdb->users.' SET user_pass = MD5(\''.$row->user_pass.'\') WHERE ID = \''.$row->ID.'\'');
- }
- }
-
-
- // Get the GMT offset, we'll use that later on
- $all_options = get_alloptions_110();
-
- $time_difference = $all_options->time_difference;
-
- $server_time = time()+date('Z');
- $weblogger_time = $server_time + $time_difference*3600;
- $gmt_time = time();
-
- $diff_gmt_server = ($gmt_time - $server_time) / 3600;
- $diff_weblogger_server = ($weblogger_time - $server_time) / 3600;
- $diff_gmt_weblogger = $diff_gmt_server - $diff_weblogger_server;
- $gmt_offset = -$diff_gmt_weblogger;
-
- // Add a gmt_offset option, with value $gmt_offset
- add_option('gmt_offset', $gmt_offset);
-
- // Check if we already set the GMT fields (if we did, then
- // MAX(post_date_gmt) can't be '0000-00-00 00:00:00'
- // <michel_v> I just slapped myself silly for not thinking about it earlier
- $got_gmt_fields = ($wpdb->get_var("SELECT MAX(post_date_gmt) FROM $wpdb->posts") == '0000-00-00 00:00:00') ? false : true;
-
- if (!$got_gmt_fields) {
-
- // Add or substract time to all dates, to get GMT dates
- $add_hours = intval($diff_gmt_weblogger);
- $add_minutes = intval(60 * ($diff_gmt_weblogger - $add_hours));
- $wpdb->query("UPDATE $wpdb->posts SET post_date_gmt = DATE_ADD(post_date, INTERVAL '$add_hours:$add_minutes' HOUR_MINUTE)");
- $wpdb->query("UPDATE $wpdb->posts SET post_modified = post_date");
- $wpdb->query("UPDATE $wpdb->posts SET post_modified_gmt = DATE_ADD(post_modified, INTERVAL '$add_hours:$add_minutes' HOUR_MINUTE) WHERE post_modified != '0000-00-00 00:00:00'");
- $wpdb->query("UPDATE $wpdb->comments SET comment_date_gmt = DATE_ADD(comment_date, INTERVAL '$add_hours:$add_minutes' HOUR_MINUTE)");
- $wpdb->query("UPDATE $wpdb->users SET user_registered = DATE_ADD(user_registered, INTERVAL '$add_hours:$add_minutes' HOUR_MINUTE)");
- }
-
-}
-
-function upgrade_130() {
- global $wpdb;
-
- // Remove extraneous backslashes.
- $posts = $wpdb->get_results("SELECT ID, post_title, post_content, post_excerpt, guid, post_date, post_name, post_status, post_author FROM $wpdb->posts");
- if ($posts) {
- foreach($posts as $post) {
- $post_content = addslashes(deslash($post->post_content));
- $post_title = addslashes(deslash($post->post_title));
- $post_excerpt = addslashes(deslash($post->post_excerpt));
- if ( empty($post->guid) )
- $guid = get_permalink($post->ID);
- else
- $guid = $post->guid;
-
- $wpdb->query("UPDATE $wpdb->posts SET post_title = '$post_title', post_content = '$post_content', post_excerpt = '$post_excerpt', guid = '$guid' WHERE ID = '$post->ID'");
- }
- }
-
- // Remove extraneous backslashes.
- $comments = $wpdb->get_results("SELECT comment_ID, comment_author, comment_content FROM $wpdb->comments");
- if ($comments) {
- foreach($comments as $comment) {
- $comment_content = addslashes(deslash($comment->comment_content));
- $comment_author = addslashes(deslash($comment->comment_author));
- $wpdb->query("UPDATE $wpdb->comments SET comment_content = '$comment_content', comment_author = '$comment_author' WHERE comment_ID = '$comment->comment_ID'");
- }
- }
-
- // Remove extraneous backslashes.
- $links = $wpdb->get_results("SELECT link_id, link_name, link_description FROM $wpdb->links");
- if ($links) {
- foreach($links as $link) {
- $link_name = addslashes(deslash($link->link_name));
- $link_description = addslashes(deslash($link->link_description));
- $wpdb->query("UPDATE $wpdb->links SET link_name = '$link_name', link_description = '$link_description' WHERE link_id = '$link->link_id'");
- }
- }
-
- // The "paged" option for what_to_show is no more.
- if ($wpdb->get_var("SELECT option_value FROM $wpdb->options WHERE option_name = 'what_to_show'") == 'paged') {
- $wpdb->query("UPDATE $wpdb->options SET option_value = 'posts' WHERE option_name = 'what_to_show'");
- }
-
- $active_plugins = __get_option('active_plugins');
-
- // If plugins are not stored in an array, they're stored in the old
- // newline separated format. Convert to new format.
- if ( !is_array( $active_plugins ) ) {
- $active_plugins = explode("\n", trim($active_plugins));
- update_option('active_plugins', $active_plugins);
- }
-
- // Obsolete tables
- $wpdb->query('DROP TABLE IF EXISTS ' . $wpdb->prefix . 'optionvalues');
- $wpdb->query('DROP TABLE IF EXISTS ' . $wpdb->prefix . 'optiontypes');
- $wpdb->query('DROP TABLE IF EXISTS ' . $wpdb->prefix . 'optiongroups');
- $wpdb->query('DROP TABLE IF EXISTS ' . $wpdb->prefix . 'optiongroup_options');
-
- // Update comments table to use comment_type
- $wpdb->query("UPDATE $wpdb->comments SET comment_type='trackback', comment_content = REPLACE(comment_content, '<trackback />', '') WHERE comment_content LIKE '<trackback />%'");
- $wpdb->query("UPDATE $wpdb->comments SET comment_type='pingback', comment_content = REPLACE(comment_content, '<pingback />', '') WHERE comment_content LIKE '<pingback />%'");
-
- // Some versions have multiple duplicate option_name rows with the same values
- $options = $wpdb->get_results("SELECT option_name, COUNT(option_name) AS dupes FROM `$wpdb->options` GROUP BY option_name");
- foreach ( $options as $option ) {
- if ( 1 != $option->dupes ) { // Could this be done in the query?
- $limit = $option->dupes - 1;
- $dupe_ids = $wpdb->get_col("SELECT option_id FROM $wpdb->options WHERE option_name = '$option->option_name' LIMIT $limit");
- $dupe_ids = join($dupe_ids, ',');
- $wpdb->query("DELETE FROM $wpdb->options WHERE option_id IN ($dupe_ids)");
- }
- }
-
- make_site_theme();
-}
-
-function upgrade_160_helper( $users ) {
- global $wpdb;
-
- populate_roles_160();
-
- foreach ( $users as $user_details ) :
- $user = $wpdb->get_results("SELECT * FROM $wpdb->users WHERE ID = '" . $user_details[ 'user_id' ] . "'");
- if ( !empty( $user->user_firstname ) )
- update_usermeta( $user->ID, 'first_name', $wpdb->escape($user->user_firstname) );
- if ( !empty( $user->user_lastname ) )
- update_usermeta( $user->ID, 'last_name', $wpdb->escape($user->user_lastname) );
- if ( !empty( $user->user_nickname ) )
- update_usermeta( $user->ID, 'nickname', $wpdb->escape($user->user_nickname) );
- if ( !empty( $user->user_level ) )
- update_usermeta( $user->ID, $wpdb->prefix . 'user_level', $user->user_level );
- if ( !empty( $user->user_icq ) )
- update_usermeta( $user->ID, 'icq', $wpdb->escape($user->user_icq) );
- if ( !empty( $user->user_aim ) )
- update_usermeta( $user->ID, 'aim', $wpdb->escape($user->user_aim) );
- if ( !empty( $user->user_msn ) )
- update_usermeta( $user->ID, 'msn', $wpdb->escape($user->user_msn) );
- if ( !empty( $user->user_yim ) )
- update_usermeta( $user->ID, 'yim', $wpdb->escape($user->user_icq) );
- if ( !empty( $user->user_description ) )
- update_usermeta( $user->ID, 'description', $wpdb->escape($user->user_description) );
-
- if ( isset( $user->user_idmode ) ):
- $idmode = $user->user_idmode;
- if ($idmode == 'nickname') $id = $user->user_nickname;
- if ($idmode == 'login') $id = $user->user_login;
- if ($idmode == 'firstname') $id = $user->user_firstname;
- if ($idmode == 'lastname') $id = $user->user_lastname;
- if ($idmode == 'namefl') $id = $user->user_firstname.' '.$user->user_lastname;
- if ($idmode == 'namelf') $id = $user->user_lastname.' '.$user->user_firstname;
- if (!$idmode) $id = $user->user_nickname;
- $id = $wpdb->escape( $id );
- $wpdb->query("UPDATE $wpdb->users SET display_name = '$id' WHERE ID = '$user->ID'");
- endif;
-
- // FIXME: RESET_CAPS is temporary code to reset roles and caps if flag is set.
- $caps = get_usermeta( $user->ID, $wpdb->prefix . 'capabilities');
- if ( empty($caps) || defined('RESET_CAPS') ) {
- $level = get_usermeta($user->ID, $wpdb->prefix . 'user_level');
- $role = translate_level_to_role($level);
- update_usermeta( $user->ID, $wpdb->prefix . 'capabilities', array($role => true) );
- }
-
- endforeach;
-}
-
-function upgrade_160() {
- global $wpdb, $table_prefix, $wp_current_db_version;
- $users = $wpdb->get_results("SELECT user_id FROM $wpdb->usermeta WHERE meta_key = '{$table_prefix}capabilities'", ARRAY_A);
- upgrade_160_helper( $users );
- $users = $wpdb->get_results("SELECT user_id FROM $wpdb->usermeta WHERE meta_key = '{$table_prefix}user_level'", ARRAY_A);
- upgrade_160_helper( $users );
- $old_user_fields = array( 'user_firstname', 'user_lastname', 'user_icq', 'user_aim', 'user_msn', 'user_yim', 'user_idmode', 'user_ip', 'user_domain', 'user_browser', 'user_description', 'user_nickname', 'user_level' );
- $wpdb->hide_errors();
- foreach ( $old_user_fields as $old )
- $wpdb->query("ALTER TABLE $wpdb->users DROP $old");
- $wpdb->show_errors();
-
- if ( 0 == $wpdb->get_var("SELECT SUM(category_count) FROM $wpdb->categories") ) { // Create counts
- $categories = $wpdb->get_col("SELECT cat_ID FROM $wpdb->categories");
- foreach ( $categories as $cat_id ) {
- $count = $wpdb->get_var("SELECT COUNT(*) FROM $wpdb->post2cat, $wpdb->posts WHERE $wpdb->posts.ID=$wpdb->post2cat.post_id AND post_type='post' AND post_status='publish' AND category_id = '$cat_id'");
- $wpdb->query("UPDATE $wpdb->categories SET category_count = '$count' WHERE cat_ID = '$cat_id'");
- }
- }
- add_option( "gmt_offset", 0 );
-
- // populate comment_count field of posts table
- $comments = $wpdb->get_results( "SELECT comment_post_ID, COUNT(*) as c FROM $wpdb->comments WHERE comment_approved = '1' GROUP BY comment_post_ID" );
- if( is_array( $comments ) ) {
- foreach ($comments as $comment) {
- $wpdb->query( "UPDATE $wpdb->posts SET comment_count = $comment->c WHERE ID = '$comment->comment_post_ID'" );
- }
- }
-
- // Some alpha versions used a post status of object instead of attachment and put
- // the mime type in post_type instead of post_mime_type.
- if ( $wp_current_db_version > 2541 && $wp_current_db_version <= 3091 ) {
- $objects = $wpdb->get_results("SELECT ID, post_type FROM $wpdb->posts WHERE post_status = 'object'");
- foreach ($objects as $object) {
- $wpdb->query("UPDATE $wpdb->posts SET post_status = 'attachment',
- post_mime_type = '$object->post_type',
- post_type = ''
- WHERE ID = $object->ID");
-
- $meta = get_post_meta($object->ID, 'imagedata', true);
- if ( ! empty($meta['file']) )
- add_post_meta($object->ID, '_wp_attached_file', $meta['file']);
- }
- }
-}
-
-function upgrade_210() {
- global $wpdb, $wp_current_db_version;
-
- if ( $wp_current_db_version < 3506 ) {
- // Update status and type.
- $posts = $wpdb->get_results("SELECT ID, post_status FROM $wpdb->posts");
-
- if ( ! empty($posts) ) foreach ($posts as $post) {
- $status = $post->post_status;
- $type = 'post';
-
- if ( 'static' == $status ) {
- $status = 'publish';
- $type = 'page';
- } else if ( 'attachment' == $status ) {
- $status = 'inherit';
- $type = 'attachment';
- }
-
- $wpdb->query("UPDATE $wpdb->posts SET post_status = '$status', post_type = '$type' WHERE ID = '$post->ID'");
- }
- }
-
- if ( $wp_current_db_version < 3845 ) {
- populate_roles_210();
- }
-
- if ( $wp_current_db_version < 3531 ) {
- // Give future posts a post_status of future.
- $now = gmdate('Y-m-d H:i:59');
- $wpdb->query ("UPDATE $wpdb->posts SET post_status = 'future' WHERE post_status = 'publish' AND post_date_gmt > '$now'");
-
- $posts = $wpdb->get_results("SELECT ID, post_date FROM $wpdb->posts WHERE post_status ='future'");
- if ( !empty($posts) )
- foreach ( $posts as $post )
- wp_schedule_single_event(mysql2date('U', $post->post_date), 'publish_future_post', $post->ID);
- }
- if ( $wp_current_db_version < 3570 ) {
- // Create categories for link categories if a category with the same
- // name doesn't exist. Create a map of link cat IDs to cat IDs.
- $link_cats = $wpdb->get_results("SELECT cat_id, cat_name FROM $wpdb->linkcategories");
- foreach ( $link_cats as $link_cat) {
- if ( $cat_id = category_exists($link_cat->cat_name) ) {
- $link_cat_id_map[$link_cat->cat_id] = $cat_id;
- $default_link_cat = $cat_id;
- } else {
- $link_cat_id_map[$link_cat->cat_id] = wp_create_category($link_cat->cat_name);
- $default_link_cat = $link_cat_id_map[$link_cat->cat_id];
- }
- }
-
- // Associate links to cats.
- $links = $wpdb->get_results("SELECT link_id, link_category FROM $wpdb->links");
- if ( !empty($links) ) foreach ( $links as $link ) {
- $link_cat = $link_cat_id_map[$link->link_category];
- $cat = $wpdb->get_row("SELECT * FROM $wpdb->link2cat WHERE link_id = '$link->link_id' AND category_id = '$link_cat'");
- if (!$cat && 0 != $link->link_category) {
- $wpdb->query("INSERT INTO $wpdb->link2cat (link_id, category_id)
- VALUES ('$link->link_id', '$link_cat')");
- }
- }
-
- // Set default to the last category we grabbed during the upgrade loop.
- update_option('default_link_category', $default_link_cat);
-
- // Count links per category.
- if ( 0 == $wpdb->get_var("SELECT SUM(link_count) FROM $wpdb->categories") ) {
- $categories = $wpdb->get_col("SELECT cat_ID FROM $wpdb->categories");
- foreach ( $categories as $cat_id ) {
- $count = $wpdb->get_var("SELECT COUNT(*) FROM $wpdb->link2cat, $wpdb->links WHERE $wpdb->links.link_id = $wpdb->link2cat.link_id AND category_id = '$cat_id'");
- $wpdb->query("UPDATE $wpdb->categories SET link_count = '$count' WHERE cat_ID = '$cat_id'");
- }
- }
- }
-}
-
-// The functions we use to actually do stuff
-
-// General
-function maybe_create_table($table_name, $create_ddl) {
- global $wpdb;
- foreach ($wpdb->get_col("SHOW TABLES",0) as $table ) {
- if ($table == $table_name) {
- return true;
- }
- }
- //didn't find it try to create it.
- $q = $wpdb->query($create_ddl);
- // we cannot directly tell that whether this succeeded!
- foreach ($wpdb->get_col("SHOW TABLES",0) as $table ) {
- if ($table == $table_name) {
- return true;
- }
- }
- return false;
-}
-
-function drop_index($table, $index) {
- global $wpdb;
- $wpdb->hide_errors();
- $wpdb->query("ALTER TABLE `$table` DROP INDEX `$index`");
- // Now we need to take out all the extra ones we may have created
- for ($i = 0; $i < 25; $i++) {
- $wpdb->query("ALTER TABLE `$table` DROP INDEX `{$index}_$i`");
- }
- $wpdb->show_errors();
- return true;
-}
-
-function add_clean_index($table, $index) {
- global $wpdb;
- drop_index($table, $index);
- $wpdb->query("ALTER TABLE `$table` ADD INDEX ( `$index` )");
- return true;
-}
-
-/**
- ** maybe_add_column()
- ** Add column to db table if it doesn't exist.
- ** Returns: true if already exists or on successful completion
- ** false on error
- */
-function maybe_add_column($table_name, $column_name, $create_ddl) {
- global $wpdb, $debug;
- foreach ($wpdb->get_col("DESC $table_name", 0) as $column ) {
- if ($debug) echo("checking $column == $column_name<br />");
- if ($column == $column_name) {
- return true;
- }
- }
- //didn't find it try to create it.
- $q = $wpdb->query($create_ddl);
- // we cannot directly tell that whether this succeeded!
- foreach ($wpdb->get_col("DESC $table_name", 0) as $column ) {
- if ($column == $column_name) {
- return true;
- }
- }
- return false;
-}
-
-
-// get_alloptions as it was for 1.2.
-function get_alloptions_110() {
- global $wpdb;
- if ($options = $wpdb->get_results("SELECT option_name, option_value FROM $wpdb->options")) {
- foreach ($options as $option) {
- // "When trying to design a foolproof system,
- // never underestimate the ingenuity of the fools :)" -- Dougal
- if ('siteurl' == $option->option_name) $option->option_value = preg_replace('|/+$|', '', $option->option_value);
- if ('home' == $option->option_name) $option->option_value = preg_replace('|/+$|', '', $option->option_value);
- if ('category_base' == $option->option_name) $option->option_value = preg_replace('|/+$|', '', $option->option_value);
- $all_options->{$option->option_name} = stripslashes($option->option_value);
- }
- }
- return $all_options;
-}
-
-// Version of get_option that is private to install/upgrade.
-function __get_option($setting) {
- global $wpdb;
-
- $option = $wpdb->get_var("SELECT option_value FROM $wpdb->options WHERE option_name = '$setting'");
-
- if ( 'home' == $setting && '' == $option )
- return __get_option('siteurl');
-
- if ( 'siteurl' == $setting || 'home' == $setting || 'category_base' == $setting )
- $option = preg_replace('|/+$|', '', $option);
-
- @ $kellogs = unserialize($option);
- if ($kellogs !== FALSE)
- return $kellogs;
- else
- return $option;
-}
-
-function deslash($content) {
- // Note: \\\ inside a regex denotes a single backslash.
-
- // Replace one or more backslashes followed by a single quote with
- // a single quote.
- $content = preg_replace("/\\\+'/", "'", $content);
-
- // Replace one or more backslashes followed by a double quote with
- // a double quote.
- $content = preg_replace('/\\\+"/', '"', $content);
-
- // Replace one or more backslashes with one backslash.
- $content = preg_replace("/\\\+/", "\\", $content);
-
- return $content;
-}
-
-function dbDelta($queries, $execute = true) {
- global $wpdb;
-
- // Seperate individual queries into an array
- if( !is_array($queries) ) {
- $queries = explode( ';', $queries );
- if('' == $queries[count($queries) - 1]) array_pop($queries);
- }
-
- $cqueries = array(); // Creation Queries
- $iqueries = array(); // Insertion Queries
- $for_update = array();
-
- // Create a tablename index for an array ($cqueries) of queries
- foreach($queries as $qry) {
- if(preg_match("|CREATE TABLE ([^ ]*)|", $qry, $matches)) {
- $cqueries[strtolower($matches[1])] = $qry;
- $for_update[$matches[1]] = 'Created table '.$matches[1];
- }
- else if(preg_match("|CREATE DATABASE ([^ ]*)|", $qry, $matches)) {
- array_unshift($cqueries, $qry);
- }
- else if(preg_match("|INSERT INTO ([^ ]*)|", $qry, $matches)) {
- $iqueries[] = $qry;
- }
- else if(preg_match("|UPDATE ([^ ]*)|", $qry, $matches)) {
- $iqueries[] = $qry;
- }
- else {
- // Unrecognized query type
- }
- }
-
- // Check to see which tables and fields exist
- if($tables = $wpdb->get_col('SHOW TABLES;')) {
- // For every table in the database
- foreach($tables as $table) {
- // If a table query exists for the database table...
- if( array_key_exists(strtolower($table), $cqueries) ) {
- // Clear the field and index arrays
- unset($cfields);
- unset($indices);
- // Get all of the field names in the query from between the parens
- preg_match("|\((.*)\)|ms", $cqueries[strtolower($table)], $match2);
- $qryline = trim($match2[1]);
-
- // Separate field lines into an array
- $flds = explode("\n", $qryline);
-
- //echo "<hr/><pre>\n".print_r(strtolower($table), true).":\n".print_r($cqueries, true)."</pre><hr/>";
-
- // For every field line specified in the query
- foreach($flds as $fld) {
- // Extract the field name
- preg_match("|^([^ ]*)|", trim($fld), $fvals);
- $fieldname = $fvals[1];
-
- // Verify the found field name
- $validfield = true;
- switch(strtolower($fieldname))
- {
- case '':
- case 'primary':
- case 'index':
- case 'fulltext':
- case 'unique':
- case 'key':
- $validfield = false;
- $indices[] = trim(trim($fld), ", \n");
- break;
- }
- $fld = trim($fld);
-
- // If it's a valid field, add it to the field array
- if($validfield) {
- $cfields[strtolower($fieldname)] = trim($fld, ", \n");
- }
- }
-
- // Fetch the table column structure from the database
- $tablefields = $wpdb->get_results("DESCRIBE {$table};");
-
- // For every field in the table
- foreach($tablefields as $tablefield) {
- // If the table field exists in the field array...
- if(array_key_exists(strtolower($tablefield->Field), $cfields)) {
- // Get the field type from the query
- preg_match("|".$tablefield->Field." ([^ ]*( unsigned)?)|i", $cfields[strtolower($tablefield->Field)], $matches);
- $fieldtype = $matches[1];
-
- // Is actual field type different from the field type in query?
- if($tablefield->Type != $fieldtype) {
- // Add a query to change the column type
- $cqueries[] = "ALTER TABLE {$table} CHANGE COLUMN {$tablefield->Field} " . $cfields[strtolower($tablefield->Field)];
- $for_update[$table.'.'.$tablefield->Field] = "Changed type of {$table}.{$tablefield->Field} from {$tablefield->Type} to {$fieldtype}";
- }
-
- // Get the default value from the array
- //echo "{$cfields[strtolower($tablefield->Field)]}<br>";
- if(preg_match("| DEFAULT '(.*)'|i", $cfields[strtolower($tablefield->Field)], $matches)) {
- $default_value = $matches[1];
- if($tablefield->Default != $default_value)
- {
- // Add a query to change the column's default value
- $cqueries[] = "ALTER TABLE {$table} ALTER COLUMN {$tablefield->Field} SET DEFAULT '{$default_value}'";
- $for_update[$table.'.'.$tablefield->Field] = "Changed default value of {$table}.{$tablefield->Field} from {$tablefield->Default} to {$default_value}";
- }
- }
-
- // Remove the field from the array (so it's not added)
- unset($cfields[strtolower($tablefield->Field)]);
- }
- else {
- // This field exists in the table, but not in the creation queries?
- }
- }
-
- // For every remaining field specified for the table
- foreach($cfields as $fieldname => $fielddef) {
- // Push a query line into $cqueries that adds the field to that table
- $cqueries[] = "ALTER TABLE {$table} ADD COLUMN $fielddef";
- $for_update[$table.'.'.$fieldname] = 'Added column '.$table.'.'.$fieldname;
- }
-
- // Index stuff goes here
- // Fetch the table index structure from the database
- $tableindices = $wpdb->get_results("SHOW INDEX FROM {$table};");
-
- if($tableindices) {
- // Clear the index array
- unset($index_ary);
-
- // For every index in the table
- foreach($tableindices as $tableindex) {
- // Add the index to the index data array
- $keyname = $tableindex->Key_name;
- $index_ary[$keyname]['columns'][] = array('fieldname' => $tableindex->Column_name, 'subpart' => $tableindex->Sub_part);
- $index_ary[$keyname]['unique'] = ($tableindex->Non_unique == 0)?true:false;
- }
-
- // For each actual index in the index array
- foreach($index_ary as $index_name => $index_data) {
- // Build a create string to compare to the query
- $index_string = '';
- if($index_name == 'PRIMARY') {
- $index_string .= 'PRIMARY ';
- }
- else if($index_data['unique']) {
- $index_string .= 'UNIQUE ';
- }
- $index_string .= 'KEY ';
- if($index_name != 'PRIMARY') {
- $index_string .= $index_name;
- }
- $index_columns = '';
- // For each column in the index
- foreach($index_data['columns'] as $column_data) {
- if($index_columns != '') $index_columns .= ',';
- // Add the field to the column list string
- $index_columns .= $column_data['fieldname'];
- if($column_data['subpart'] != '') {
- $index_columns .= '('.$column_data['subpart'].')';
- }
- }
- // Add the column list to the index create string
- $index_string .= ' ('.$index_columns.')';
-
- if(!(($aindex = array_search($index_string, $indices)) === false)) {
- unset($indices[$aindex]);
- //echo "<pre style=\"border:1px solid #ccc;margin-top:5px;\">{$table}:<br/>Found index:".$index_string."</pre>\n";
- }
- //else echo "<pre style=\"border:1px solid #ccc;margin-top:5px;\">{$table}:<br/><b>Did not find index:</b>".$index_string."<br/>".print_r($indices, true)."</pre>\n";
- }
- }
-
- // For every remaining index specified for the table
- foreach($indices as $index) {
- // Push a query line into $cqueries that adds the index to that table
- $cqueries[] = "ALTER TABLE {$table} ADD $index";
- $for_update[$table.'.'.$fieldname] = 'Added index '.$table.' '.$index;
- }
-
- // Remove the original table creation query from processing
- unset($cqueries[strtolower($table)]);
- unset($for_update[strtolower($table)]);
- } else {
- // This table exists in the database, but not in the creation queries?
- }
- }
- }
-
- $allqueries = array_merge($cqueries, $iqueries);
- if($execute) {
- foreach($allqueries as $query) {
- //echo "<pre style=\"border:1px solid #ccc;margin-top:5px;\">".print_r($query, true)."</pre>\n";
- $wpdb->query($query);
- }
- }
-
- return $for_update;
-}
-
-function make_db_current() {
- global $wp_queries;
-
- $alterations = dbDelta($wp_queries);
- echo "<ol>\n";
- foreach($alterations as $alteration) echo "<li>$alteration</li>\n";
- echo "</ol>\n";
-}
-
-function make_db_current_silent() {
- global $wp_queries;
-
- $alterations = dbDelta($wp_queries);
-}
-
-function make_site_theme_from_oldschool($theme_name, $template) {
- $home_path = get_home_path();
- $site_dir = ABSPATH . "wp-content/themes/$template";
-
- if (! file_exists("$home_path/index.php"))
- return false;
-
- // Copy files from the old locations to the site theme.
- // TODO: This does not copy arbitarary include dependencies. Only the
- // standard WP files are copied.
- $files = array('index.php' => 'index.php', 'wp-layout.css' => 'style.css', 'wp-comments.php' => 'comments.php', 'wp-comments-popup.php' => 'comments-popup.php');
-
- foreach ($files as $oldfile => $newfile) {
- if ($oldfile == 'index.php')
- $oldpath = $home_path;
- else
- $oldpath = ABSPATH;
-
- if ($oldfile == 'index.php') { // Check to make sure it's not a new index
- $index = implode('', file("$oldpath/$oldfile"));
- if ( strstr( $index, 'WP_USE_THEMES' ) ) {
- if (! @copy(ABSPATH . 'wp-content/themes/default/index.php', "$site_dir/$newfile"))
- return false;
- continue; // Don't copy anything
- }
- }
-
- if (! @copy("$oldpath/$oldfile", "$site_dir/$newfile"))
- return false;
-
- chmod("$site_dir/$newfile", 0777);
-
- // Update the blog header include in each file.
- $lines = explode("\n", implode('', file("$site_dir/$newfile")));
- if ($lines) {
- $f = fopen("$site_dir/$newfile", 'w');
-
- foreach ($lines as $line) {
- if (preg_match('/require.*wp-blog-header/', $line))
- $line = '//' . $line;
-
- // Update stylesheet references.
- $line = str_replace("<?php echo __get_option('siteurl'); ?>/wp-layout.css", "<?php bloginfo('stylesheet_url'); ?>", $line);
-
- // Update comments template inclusion.
- $line = str_replace("<?php include(ABSPATH . 'wp-comments.php'); ?>", "<?php comments_template(); ?>", $line);
-
- fwrite($f, "{$line}\n");
- }
- fclose($f);
- }
- }
-
- // Add a theme header.
- $header = "/*\nTheme Name: $theme_name\nTheme URI: " . __get_option('siteurl') . "\nDescription: A theme automatically created by the upgrade.\nVersion: 1.0\nAuthor: Moi\n*/\n";
-
- $stylelines = file_get_contents("$site_dir/style.css");
- if ($stylelines) {
- $f = fopen("$site_dir/style.css", 'w');
-
- fwrite($f, $header);
- fwrite($f, $stylelines);
- fclose($f);
- }
-
- return true;
-}
-
-function make_site_theme_from_default($theme_name, $template) {
- $site_dir = ABSPATH . "wp-content/themes/$template";
- $default_dir = ABSPATH . 'wp-content/themes/default';
-
- // Copy files from the default theme to the site theme.
- //$files = array('index.php', 'comments.php', 'comments-popup.php', 'footer.php', 'header.php', 'sidebar.php', 'style.css');
-
- $theme_dir = @ dir("$default_dir");
- if ($theme_dir) {
- while(($theme_file = $theme_dir->read()) !== false) {
- if (is_dir("$default_dir/$theme_file"))
- continue;
- if (! @copy("$default_dir/$theme_file", "$site_dir/$theme_file"))
- return;
- chmod("$site_dir/$theme_file", 0777);
- }
- }
-
- // Rewrite the theme header.
- $stylelines = explode("\n", implode('', file("$site_dir/style.css")));
- if ($stylelines) {
- $f = fopen("$site_dir/style.css", 'w');
-
- foreach ($stylelines as $line) {
- if (strstr($line, "Theme Name:")) $line = "Theme Name: $theme_name";
- elseif (strstr($line, "Theme URI:")) $line = "Theme URI: " . __get_option('siteurl');
- elseif (strstr($line, "Description:")) $line = "Description: Your theme";
- elseif (strstr($line, "Version:")) $line = "Version: 1";
- elseif (strstr($line, "Author:")) $line = "Author: You";
- fwrite($f, "{$line}\n");
- }
- fclose($f);
- }
-
- // Copy the images.
- umask(0);
- if (! mkdir("$site_dir/images", 0777)) {
- return false;
- }
-
- $images_dir = @ dir("$default_dir/images");
- if ($images_dir) {
- while(($image = $images_dir->read()) !== false) {
- if (is_dir("$default_dir/images/$image"))
- continue;
- if (! @copy("$default_dir/images/$image", "$site_dir/images/$image"))
- return;
- chmod("$site_dir/images/$image", 0777);
- }
- }
-}
-
-// Create a site theme from the default theme.
-function make_site_theme() {
- return true;
- // Name the theme after the blog.
- $theme_name = __get_option('blogname');
- $template = sanitize_title($theme_name);
- $site_dir = ABSPATH . "wp-content/themes/$template";
-
- // If the theme already exists, nothing to do.
- if ( is_dir($site_dir)) {
- return false;
- }
-
- // We must be able to write to the themes dir.
- if (! is_writable(ABSPATH . "wp-content/themes")) {
- return false;
- }
-
- umask(0);
- if (! mkdir($site_dir, 0777)) {
- return false;
- }
-
- if (file_exists(ABSPATH . 'wp-layout.css')) {
- if (! make_site_theme_from_oldschool($theme_name, $template)) {
- // TODO: rm -rf the site theme directory.
- return false;
- }
- } else {
- if (! make_site_theme_from_default($theme_name, $template))
- // TODO: rm -rf the site theme directory.
- return false;
- }
-
- // Make the new site theme active.
- $current_template = __get_option('template');
- if ($current_template == 'default') {
- update_option('template', $template);
- update_option('stylesheet', $template);
- }
- return $template;
-}
-
-function translate_level_to_role($level) {
- switch ($level) {
- case 10:
- case 9:
- case 8:
- return 'administrator';
- case 7:
- case 6:
- case 5:
- return 'editor';
- case 4:
- case 3:
- case 2:
- return 'author';
- case 1:
- return 'contributor';
- case 0:
- return 'subscriber';
- }
-}
-
-?>
diff --git a/wp-inst/wp-admin/upgrade-schema.php b/wp-inst/wp-admin/upgrade-schema.php
deleted file mode 100644
index 702fe4c..0000000
--- a/wp-inst/wp-admin/upgrade-schema.php
+++ /dev/null
@@ -1,467 +0,0 @@
-<?php
-// Here we keep the DB structure and option values
-
-global $wp_queries;
-
-$wp_queries="CREATE TABLE $wpdb->categories (
- cat_ID bigint(20) NOT NULL auto_increment,
- cat_name varchar(55) NOT NULL default '',
- category_nicename varchar(200) NOT NULL default '',
- category_description longtext NOT NULL,
- category_parent bigint(20) NOT NULL default '0',
- category_count bigint(20) NOT NULL default '0',
- link_count bigint(20) NOT NULL default '0',
- posts_private tinyint(1) NOT NULL default '0',
- links_private tinyint(1) NOT NULL default '0',
- PRIMARY KEY (cat_ID),
- KEY category_nicename (category_nicename)
-) TYPE=MyISAM;
-CREATE TABLE $wpdb->comments (
- comment_ID bigint(20) unsigned NOT NULL auto_increment,
- comment_post_ID int(11) NOT NULL default '0',
- comment_author tinytext NOT NULL,
- comment_author_email varchar(100) NOT NULL default '',
- comment_author_url varchar(200) NOT NULL default '',
- comment_author_IP varchar(100) NOT NULL default '',
- comment_date datetime NOT NULL default '0000-00-00 00:00:00',
- comment_date_gmt datetime NOT NULL default '0000-00-00 00:00:00',
- comment_content text NOT NULL,
- comment_karma int(11) NOT NULL default '0',
- comment_approved enum('0','1','spam') NOT NULL default '1',
- comment_agent varchar(255) NOT NULL default '',
- comment_type varchar(20) NOT NULL default '',
- comment_parent bigint(20) NOT NULL default '0',
- user_id bigint(20) NOT NULL default '0',
- PRIMARY KEY (comment_ID),
- KEY comment_approved (comment_approved),
- KEY comment_post_ID (comment_post_ID)
-) TYPE=MyISAM;
-CREATE TABLE $wpdb->link2cat (
- rel_id bigint(20) NOT NULL auto_increment,
- link_id bigint(20) NOT NULL default '0',
- category_id bigint(20) NOT NULL default '0',
- PRIMARY KEY (rel_id),
- KEY link_id (link_id,category_id)
-) TYPE=MyISAM;
-CREATE TABLE $wpdb->links (
- link_id bigint(20) NOT NULL auto_increment,
- link_url varchar(255) NOT NULL default '',
- link_name varchar(255) NOT NULL default '',
- link_image varchar(255) NOT NULL default '',
- link_target varchar(25) NOT NULL default '',
- link_category bigint(20) NOT NULL default '0',
- link_description varchar(255) NOT NULL default '',
- link_visible enum('Y','N') NOT NULL default 'Y',
- link_owner int(11) NOT NULL default '1',
- link_rating int(11) NOT NULL default '0',
- link_updated datetime NOT NULL default '0000-00-00 00:00:00',
- link_rel varchar(255) NOT NULL default '',
- link_notes mediumtext NOT NULL,
- link_rss varchar(255) NOT NULL default '',
- PRIMARY KEY (link_id),
- KEY link_category (link_category),
- KEY link_visible (link_visible)
-) TYPE=MyISAM;
-CREATE TABLE $wpdb->options (
- option_id bigint(20) NOT NULL auto_increment,
- blog_id int(11) NOT NULL default '0',
- option_name varchar(64) NOT NULL default '',
- option_can_override enum('Y','N') NOT NULL default 'Y',
- option_type int(11) NOT NULL default '1',
- option_value longtext NOT NULL,
- option_width int(11) NOT NULL default '20',
- option_height int(11) NOT NULL default '8',
- option_description tinytext NOT NULL,
- option_admin_level int(11) NOT NULL default '1',
- autoload enum('yes','no') NOT NULL default 'yes',
- PRIMARY KEY (option_id,blog_id,option_name),
- KEY option_name (option_name)
-) TYPE=MyISAM;
-CREATE TABLE $wpdb->post2cat (
- rel_id bigint(20) NOT NULL auto_increment,
- post_id bigint(20) NOT NULL default '0',
- category_id bigint(20) NOT NULL default '0',
- PRIMARY KEY (rel_id),
- KEY post_id (post_id,category_id)
-) TYPE=MyISAM;
-CREATE TABLE $wpdb->postmeta (
- meta_id bigint(20) NOT NULL auto_increment,
- post_id bigint(20) NOT NULL default '0',
- meta_key varchar(255) default NULL,
- meta_value longtext,
- PRIMARY KEY (meta_id),
- KEY post_id (post_id),
- KEY meta_key (meta_key)
-) TYPE=MyISAM;
-CREATE TABLE $wpdb->posts (
- ID bigint(20) unsigned NOT NULL auto_increment,
- post_author bigint(20) NOT NULL default '0',
- post_date datetime NOT NULL default '0000-00-00 00:00:00',
- post_date_gmt datetime NOT NULL default '0000-00-00 00:00:00',
- post_content longtext NOT NULL,
- post_title text NOT NULL,
- post_category int(4) NOT NULL default '0',
- post_excerpt text NOT NULL,
- post_status enum('publish','draft','private','static','object','attachment','inherit','future') NOT NULL default 'publish',
- comment_status enum('open','closed','registered_only') NOT NULL default 'open',
- ping_status enum('open','closed') NOT NULL default 'open',
- post_password varchar(20) NOT NULL default '',
- post_name varchar(200) NOT NULL default '',
- to_ping text NOT NULL,
- pinged text NOT NULL,
- post_modified datetime NOT NULL default '0000-00-00 00:00:00',
- post_modified_gmt datetime NOT NULL default '0000-00-00 00:00:00',
- post_content_filtered text NOT NULL,
- post_parent bigint(20) NOT NULL default '0',
- guid varchar(255) NOT NULL default '',
- menu_order int(11) NOT NULL default '0',
- post_type varchar(20) NOT NULL default 'post',
- post_mime_type varchar(100) NOT NULL default '',
- comment_count bigint(20) NOT NULL default '0',
- PRIMARY KEY (ID),
- KEY post_name (post_name),
- KEY type_status_date (post_type, post_status, post_date, ID)
-) TYPE=MyISAM;
-CREATE TABLE $wpdb->users (
- ID bigint(20) unsigned NOT NULL auto_increment,
- user_login varchar(60) NOT NULL default '',
- user_pass varchar(64) NOT NULL default '',
- user_nicename varchar(50) NOT NULL default '',
- user_email varchar(100) NOT NULL default '',
- user_url varchar(100) NOT NULL default '',
- user_registered datetime NOT NULL default '0000-00-00 00:00:00',
- user_activation_key varchar(60) NOT NULL default '',
- user_status int(11) NOT NULL default '0',
- display_name varchar(250) NOT NULL default '',
- spam tinyint(2) NOT NULL default '0',
- deleted tinyint(2) NOT NULL default '0',
- PRIMARY KEY (ID),
- KEY user_login_key (user_login)
-);
-CREATE TABLE $wpdb->usermeta (
- umeta_id bigint(20) NOT NULL auto_increment,
- user_id bigint(20) NOT NULL default '0',
- meta_key varchar(255) default NULL,
- meta_value longtext,
- PRIMARY KEY (umeta_id),
- KEY user_id (user_id),
- KEY meta_key (meta_key)
-);
-CREATE TABLE $wpdb->blogs (
- blog_id bigint(20) NOT NULL auto_increment,
- site_id bigint(20) NOT NULL default '0',
- domain varchar(200) NOT NULL default '',
- path varchar(100) NOT NULL default '',
- registered datetime NOT NULL default '0000-00-00 00:00:00',
- last_updated datetime NOT NULL default '0000-00-00 00:00:00',
- public tinyint(2) NOT NULL default '1',
- archived enum('0','1') NOT NULL default '0',
- mature tinyint(2) NOT NULL default '0',
- spam tinyint(2) NOT NULL default '0',
- deleted tinyint(2) NOT NULL default '0',
- lang_id int(11) NOT NULL default '0',
- PRIMARY KEY (blog_id),
- KEY domain (domain(50),path(5)),
- KEY lang_id (lang_id)
-);
-CREATE TABLE wp_blog_versions (
- blog_id bigint(20) NOT NULL default '0',
- db_version varchar(20) NOT NULL default '',
- last_updated datetime NOT NULL default '0000-00-00 00:00:00',
- PRIMARY KEY (blog_id),
- KEY db_version (db_version)
-);
-CREATE TABLE wp_registration_log (
- ID bigint(20) NOT NULL auto_increment,
- email varchar(255) NOT NULL default '',
- IP varchar(30) NOT NULL default '',
- blog_id bigint(20) NOT NULL default '0',
- t timestamp NOT NULL,
- PRIMARY KEY (ID),
- KEY IP (IP)
-);
-CREATE TABLE $wpdb->site (
- id bigint(20) NOT NULL auto_increment,
- domain varchar(200) NOT NULL default '',
- path varchar(100) NOT NULL default '',
- PRIMARY KEY (id),
- KEY domain (domain,path)
-);
-CREATE TABLE $wpdb->sitemeta (
- meta_id bigint(20) NOT NULL auto_increment,
- site_id bigint(20) NOT NULL default '0',
- meta_key varchar(255) default NULL,
- meta_value longtext,
- PRIMARY KEY (meta_id),
- KEY meta_key (meta_key),
- KEY site_id (site_id)
-);
-CREATE TABLE $wpdb->sitecategories (
- cat_ID bigint(20) NOT NULL auto_increment,
- cat_name varchar(55) NOT NULL default '',
- category_nicename varchar(200) NOT NULL default '',
- last_updated timestamp NOT NULL,
- PRIMARY KEY (cat_ID),
- KEY category_nicename (category_nicename),
- KEY last_updated (last_updated)
-);
-CREATE TABLE $wpdb->signups (
- domain varchar(200) NOT NULL default '',
- path varchar(100) NOT NULL default '',
- title longtext NOT NULL,
- user_login varchar(60) NOT NULL default '',
- user_email varchar(100) NOT NULL default '',
- registered datetime NOT NULL default '0000-00-00 00:00:00',
- activated datetime NOT NULL default '0000-00-00 00:00:00',
- active tinyint(1) NOT NULL default '0',
- activation_key varchar(50) NOT NULL default '',
- meta longtext,
- KEY activation_key (activation_key),
- KEY domain (domain)
-);
-";
-
-function populate_options() {
- global $wpdb, $wp_db_version, $wpblog, $current_site;
-
- $schema = ( isset($_SERVER['HTTPS']) && strtolower($_SERVER['HTTPS']) == 'on' ) ? 'https://' : 'http://';
- $guessurl = preg_replace('|/wp-admin/.*|i', '', $schema . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI']);
- add_option('siteurl', $guessurl, __('WordPress web address'));
- add_option('blogname', __('My Weblog'), __('Blog title'));
- add_option('blogdescription', __('Just another ' . $current_site->site_name . ' weblog'), __('Short tagline'));
- add_option('new_users_can_blog', 0);
- add_option('users_can_register', 0);
- add_option('admin_email', 'you@example.com');
- add_option('start_of_week', 1);
- add_option('use_balanceTags', 0);
- add_option('use_smilies', 1);
- add_option('require_name_email', 1);
- add_option('comments_notify', 1);
- add_option('posts_per_rss', 10);
- add_option('rss_excerpt_length', 50);
- add_option('rss_use_excerpt', 0);
- add_option('mailserver_url', 'mail.example.com');
- add_option('mailserver_login', 'login@example.com');
- add_option('mailserver_pass', 'password');
- add_option('mailserver_port', 110);
- add_option('default_category', 1);
- add_option('default_comment_status', 'open');
- add_option('default_ping_status', 'open');
- add_option('default_pingback_flag', 1);
- add_option('default_post_edit_rows', 10);
- add_option('posts_per_page', 10);
- add_option('what_to_show', 'posts');
- add_option('date_format', __('F j, Y'));
- add_option('time_format', __('g:i a'));
- add_option('links_updated_date_format', __('F j, Y g:i a'));
- add_option('links_recently_updated_prepend', '<em>');
- add_option('links_recently_updated_append', '</em>');
- add_option('links_recently_updated_time', 120);
- add_option('comment_moderation', 0);
- add_option('moderation_notify', 1);
- add_option('permalink_structure', '/%year%/%monthnum%/%day%/%postname%/');
- add_option('gzipcompression', 0);
- add_option('hack_file', 0);
- add_option('blog_charset', 'UTF-8');
- add_option('moderation_keys');
- add_option('active_plugins');
- add_option('home', $guessurl);
- // in case it is set, but blank, update "home"
- if ( !__get_option('home') ) update_option('home', $guessurl);
- add_option('category_base');
- add_option('ping_sites', 'http://rpc.pingomatic.com/');
- add_option('advanced_edit', 0);
- add_option('comment_max_links', 2);
- add_option('gmt_offset', date('Z') / 3600);
- // 1.5
- add_option('default_email_category', 1, __('Posts by email go to this category'));
- add_option('recently_edited');
- add_option('use_linksupdate', 0);
- add_option('template', 'default');
- add_option('stylesheet', 'default');
- add_option('comment_whitelist', 0);
- add_option('page_uris');
- add_option('blacklist_keys');
- add_option('comment_registration', 0);
- add_option('open_proxy_check', 1);
- add_option('rss_language', 'en');
- add_option('html_type', 'text/html');
- // 1.5.1
- add_option('use_trackback', 0);
- // 2.0
- add_option('default_role', 'subscriber');
- add_option('rich_editing', 'true');
- add_option('db_version', $wp_db_version);
- // 2.0.1
- if ( ini_get('safe_mode') ) {
- // Safe mode screws up mkdir(), so we must use a flat structure.
- add_option('uploads_use_yearmonth_folders', 0);
- add_option('upload_path', 'wp-content');
- } else {
- add_option('uploads_use_yearmonth_folders', 1);
- add_option('upload_path', 'wp-content/uploads');
- }
-
- // 2.0.3
- add_option('secret', md5(uniqid(microtime())));
-
- // 2.1
- add_option('blog_public', '1');
- add_option('default_link_category', 2);
- add_option('show_on_front', 'posts');
-
- add_site_option( 'customizefeed1', '0' );
- add_site_option( 'customizefeed2', '0' );
- add_site_option( 'dashboardfeed1', 'http://wordpress.org/development/feed/' );
- add_site_option( 'dashboardfeed2', 'http://planet.wordpress.org/feed/' );
- add_site_option( 'dashboardfeed1name', 'WordPress Development Blog' );
- add_site_option( 'dashboardfeed2name', 'Other WordPress News' );
-
- // Delete unused options
- $unusedoptions = array ('blodotgsping_url', 'bodyterminator', 'emailtestonly', 'phoneemail_separator', 'smilies_directory', 'subjectprefix', 'use_bbcode', 'use_blodotgsping', 'use_phoneemail', 'use_quicktags', 'use_weblogsping', 'weblogs_cache_file', 'use_preview', 'use_htmltrans', 'smilies_directory', 'fileupload_allowedusers', 'use_phoneemail', 'default_post_status', 'default_post_category', 'archive_mode', 'time_difference', 'links_minadminlevel', 'links_use_adminlevels', 'links_rating_type', 'links_rating_char', 'links_rating_ignore_zero', 'links_rating_single_image', 'links_rating_image0', 'links_rating_image1', 'links_rating_image2', 'links_rating_image3', 'links_rating_image4', 'links_rating_image5', 'links_rating_image6', 'links_rating_image7', 'links_rating_image8', 'links_rating_image9', 'weblogs_cacheminutes', 'comment_allowed_tags', 'search_engine_friendly_urls', 'default_geourl_lat', 'default_geourl_lon', 'use_default_geourl', 'weblogs_xml_url', 'new_users_can_blog');
- foreach ($unusedoptions as $option) :
- delete_option($option);
- endforeach;
-
- // Set up a few options not to load by default
- $fatoptions = array( 'moderation_keys', 'recently_edited', 'blacklist_keys' );
- foreach ($fatoptions as $fatoption) :
- $wpdb->query("UPDATE $wpdb->options SET `autoload` = 'no' WHERE option_name = '$fatoption'");
- endforeach;
-}
-
-function populate_roles() {
- populate_roles_160();
- populate_roles_210();
-}
-
-function populate_roles_160() {
- global $wp_roles;
-
- // Add roles
- add_role('administrator', __('Administrator'));
- add_role('editor', __('Editor'));
- add_role('author', __('Author'));
- add_role('contributor', __('Contributor'));
- add_role('subscriber', __('Subscriber'));
-
- // Add caps for Administrator role
- $role = get_role('administrator');
- $role->add_cap('switch_themes');
- $role->add_cap('edit_themes');
- $role->add_cap('activate_plugins');
- $role->add_cap('edit_plugins');
- $role->add_cap('edit_users');
- $role->add_cap('edit_files');
- $role->add_cap('manage_options');
- $role->add_cap('moderate_comments');
- $role->add_cap('manage_categories');
- $role->add_cap('manage_links');
- $role->add_cap('upload_files');
- $role->add_cap('import');
- $role->add_cap('edit_posts');
- $role->add_cap('edit_others_posts');
- $role->add_cap('edit_published_posts');
- $role->add_cap('publish_posts');
- $role->add_cap('edit_pages');
- $role->add_cap('read');
- $role->add_cap('level_10');
- $role->add_cap('level_9');
- $role->add_cap('level_8');
- $role->add_cap('level_7');
- $role->add_cap('level_6');
- $role->add_cap('level_5');
- $role->add_cap('level_4');
- $role->add_cap('level_3');
- $role->add_cap('level_2');
- $role->add_cap('level_1');
- $role->add_cap('level_0');
-
- // Add caps for Editor role
- $role = get_role('editor');
- $role->add_cap('moderate_comments');
- $role->add_cap('manage_categories');
- $role->add_cap('manage_links');
- $role->add_cap('upload_files');
- $role->add_cap('edit_posts');
- $role->add_cap('edit_others_posts');
- $role->add_cap('edit_published_posts');
- $role->add_cap('publish_posts');
- $role->add_cap('edit_pages');
- $role->add_cap('read');
- $role->add_cap('level_7');
- $role->add_cap('level_6');
- $role->add_cap('level_5');
- $role->add_cap('level_4');
- $role->add_cap('level_3');
- $role->add_cap('level_2');
- $role->add_cap('level_1');
- $role->add_cap('level_0');
-
- // Add caps for Author role
- $role = get_role('author');
- $role->add_cap('upload_files');
- $role->add_cap('edit_posts');
- $role->add_cap('edit_published_posts');
- $role->add_cap('publish_posts');
- $role->add_cap('read');
- $role->add_cap('level_2');
- $role->add_cap('level_1');
- $role->add_cap('level_0');
-
- // Add caps for Contributor role
- $role = get_role('contributor');
- $role->add_cap('edit_posts');
- $role->add_cap('read');
- $role->add_cap('level_1');
- $role->add_cap('level_0');
-
- // Add caps for Subscriber role
- $role = get_role('subscriber');
- $role->add_cap('read');
- $role->add_cap('level_0');
-}
-
-function populate_roles_210() {
- $roles = array('administrator', 'editor');
- foreach ($roles as $role) {
- $role = get_role($role);
- if ( empty($role) )
- continue;
-
- $role->add_cap('edit_others_pages');
- $role->add_cap('edit_published_pages');
- $role->add_cap('publish_pages');
- $role->add_cap('delete_pages');
- $role->add_cap('delete_others_pages');
- $role->add_cap('delete_published_pages');
- $role->add_cap('delete_posts');
- $role->add_cap('delete_others_posts');
- $role->add_cap('delete_published_posts');
- $role->add_cap('delete_private_posts');
- $role->add_cap('edit_private_posts');
- $role->add_cap('read_private_posts');
- $role->add_cap('delete_private_pages');
- $role->add_cap('edit_private_pages');
- $role->add_cap('read_private_pages');
- }
-
- $role = get_role('administrator');
- if ( ! empty($role) ) {
- $role->add_cap('delete_users');
- $role->add_cap('create_users');
- }
-
- $role = get_role('author');
- if ( ! empty($role) ) {
- $role->add_cap('delete_posts');
- $role->add_cap('delete_published_posts');
- }
-
- $role = get_role('contributor');
- if ( ! empty($role) ) {
- $role->add_cap('delete_posts');
- }
-}
-
-?>
diff --git a/wp-inst/wp-admin/upgrade.php b/wp-inst/wp-admin/upgrade.php
deleted file mode 100644
index 66f3fec..0000000
--- a/wp-inst/wp-admin/upgrade.php
+++ /dev/null
@@ -1,106 +0,0 @@
-<?php
-define('WP_INSTALLING', true);
-if (!file_exists('../wp-config.php')) die("There doesn't seem to be a wp-config.php file. Double check that you updated wp-config-sample.php with the proper database connection information and renamed it to wp-config.php.");
-require('../wp-config.php');
-timer_start();
-require_once(ABSPATH . '/wp-admin/upgrade-functions.php');
-
-$step = $_GET['step'];
-if (!$step) $step = 0;
-header( 'Content-Type: text/html; charset=utf-8' );
-?>
-<!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>WordPress &rsaquo; Upgrade</title>
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <style media="screen" type="text/css">
- <!--
- html {
- background: #eee;
- }
- body {
- background: #fff;
- color: #000;
- font-family: Georgia, "Times New Roman", Times, serif;
- margin-left: 20%;
- margin-right: 20%;
- padding: .2em 2em;
- }
-
- h1 {
- color: #006;
- font-size: 18px;
- font-weight: lighter;
- }
-
- h2 {
- font-size: 16px;
- }
-
- p, li, dt {
- line-height: 140%;
- padding-bottom: 2px;
- }
-
- ul, ol {
- padding: 5px 5px 5px 20px;
- }
- #logo {
- margin-bottom: 2em;
- }
-.step a, .step input {
- font-size: 2em;
-}
-.step, th {
- text-align: right;
-}
-#footer {
-text-align: center; border-top: 1px solid #ccc; padding-top: 1em; font-style: italic;
-}
- -->
- </style>
-</head>
-<body>
-<h1 id="logo"><img alt="WordPress" src="images/wordpress-logo.png" /></h1>
-<?php
-switch($step) {
-
- case 0:
- $goback = wp_specialchars($_SERVER['HTTP_REFERER'], 1);
-?>
-<p><?php _e('This file upgrades you from any previous version of WordPress to the latest. It may take a while though, so be patient.'); ?></p>
- <h2 class="step"><a href="upgrade.php?step=1&amp;backto=<?php echo $goback; ?>"><?php _e('Upgrade WordPress &raquo;'); ?></a></h2>
-<?php
- break;
-
- case 1:
- wp_upgrade();
- if( $wpdb->get_row( "SELECT blog_id FROM wp_blog_versions WHERE blog_id = '{$wpdb->blogid}'" ) ) {
- $wpdb->query( "UPDATE wp_blog_versions SET db_version = '{$wp_db_version}' WHERE blog_id = '{$wpdb->blogid}'" );
- } else {
- $wpdb->query( "INSERT INTO wp_blog_versions ( `blog_id` , `db_version` , `last_updated` ) VALUES ( '{$wpdb->blogid}', '{$wp_db_version}', NOW());" );
- }
-
- if ( empty( $_GET['backto'] ) )
- $backto = __get_option('home');
- else
- $backto = wp_specialchars( $_GET['backto'] , 1 );
-?>
-<h2><?php _e('Step 1'); ?></h2>
- <p><?php printf(__("There's actually only one step. So if you see this, you're done. <a href='%s'>Have fun</a>!"), $backto); ?></p>
-
-<!--
-<pre>
-<?php printf(__('%s queries'), $wpdb->num_queries); ?>
-
-<?php printf(__('%s seconds'), timer_stop(0)); ?>
-</pre>
--->
-
-<?php
- break;
-}
-?>
-</body>
-</html>
diff --git a/wp-inst/wp-admin/user-edit.php b/wp-inst/wp-admin/user-edit.php
deleted file mode 100644
index 0aff941..0000000
--- a/wp-inst/wp-admin/user-edit.php
+++ /dev/null
@@ -1,280 +0,0 @@
-<?php
-require_once('admin.php');
-
-$title = __('Edit User');
-if ( current_user_can('edit_users') )
- $parent_file = 'users.php';
-else
- $parent_file = 'profile.php';
-$submenu_file = 'users.php';
-
-$wpvarstoreset = array('action', 'redirect', 'profile', 'user_id', 'wp_http_referer');
-for ($i=0; $i<count($wpvarstoreset); $i += 1) {
- $wpvar = $wpvarstoreset[$i];
- if (!isset($$wpvar)) {
- if (empty($_POST["$wpvar"])) {
- if (empty($_GET["$wpvar"])) {
- $$wpvar = '';
- } else {
- $$wpvar = $_GET["$wpvar"];
- }
- } else {
- $$wpvar = $_POST["$wpvar"];
- }
- }
-}
-
-$wp_http_referer = remove_query_arg(array('update', 'delete_count'), stripslashes($wp_http_referer));
-$errors = array();
-
-// Only allow site admins to edit every user.
-if( is_site_admin() == false )
- if( $user_id != $current_user->ID ) $errors = new WP_Error('head', __('You do not have permission to edit this user.'));
-
-switch ($action) {
-case 'switchposts':
-
-check_admin_referer();
-
-/* TODO: Switch all posts from one user to another user */
-
-break;
-
-case 'update':
-
-check_admin_referer('update-user_' . $user_id);
-
-if ( !current_user_can('edit_user', $user_id) )
- $errors = new WP_Error('head', __('You do not have permission to edit this user.'));
-else
- if( isset( $errors ) == false ) $errors = edit_user($user_id);
-
-if( !is_wp_error( $errors ) ) {
- if( is_site_admin() )
- update_usermeta( $user_id, 'invites_left', intval( $_POST[ 'invites_left' ] ) );
- $redirect = "user-edit.php?user_id=$user_id&updated=true";
- $redirect = add_query_arg('wp_http_referer', urlencode($wp_http_referer), $redirect);
- header("Location: $redirect");
- exit;
-}
-
-default:
-include ('admin-header.php');
-
-$profileuser = new WP_User($user_id);
-
-if ( !current_user_can('edit_user', $user_id) )
- if ( !is_wp_error( $errors ) )
- $errors = new WP_Error('head', __('You do not have permission to edit this user.'));
-?>
-
-<?php if ( isset($_GET['updated']) ) : ?>
-<div id="message" class="updated fade">
- <p><strong><?php _e('User updated.') ?></strong></p>
- <?php if ( $wp_http_referer ) : ?>
- <p><a href="<?php echo wp_specialchars($wp_http_referer); ?>"><?php _e('&laquo; Back to Authors and Users'); ?></a></p>
- <?php endif; ?>
-</div>
-<?php endif; ?>
-<?php if ( is_wp_error( $errors ) ) { ?>
-<div class="error">
- <ul>
- <?php
- foreach( $errors->get_error_messages() as $message )
- echo "<li>$message</li>";
- ?>
- </ul>
-</div>
-<?php } else { ?>
-
-<div class="wrap">
-<h2><?php _e('Edit User'); ?></h2>
-
-<form name="profile" id="your-profile" action="user-edit.php" method="post">
-<?php wp_nonce_field('update-user_' . $user_id) ?>
-<?php if ( $wp_http_referer ) : ?>
- <input type="hidden" name="wp_http_referer" value="<?php echo wp_specialchars($wp_http_referer); ?>" />
-<?php endif; ?>
-<p>
-<input type="hidden" name="from" value="profile" />
-<input type="hidden" name="checkuser_id" value="<?php echo $user_ID ?>" />
-</p>
-
-<fieldset>
-<legend><?php _e('Name'); ?></legend>
-<p><label><?php _e('Username: (no editing)'); ?><br />
-<input type="text" name="user_login" value="<?php echo $profileuser->user_login; ?>" disabled="disabled" />
-</label></p>
-<?php if( is_site_admin() ) {?>
- <p><label><?php _e('Invites Left:') ?><br />
- <input type="text" name="invites_left" id="invites_left" value="<?php echo get_usermeta( $user_id, 'invites_left' ) ?>" /></label></p>
- <?php
-} // is_site_admin
-?>
-
-<p><label><?php _e('Role:') ?><br />
-<?php
-// print_r($profileuser);
-echo '<select name="role">';
-$role_list = '';
-$user_has_role = false;
-foreach($wp_roles->role_names as $role => $name) {
- if ( $profileuser->has_cap($role) ) {
- $selected = ' selected="selected"';
- $user_has_role = true;
- } else {
- $selected = '';
- }
- $role_list .= "<option value=\"{$role}\"{$selected}>{$name}</option>";
-}
-if ( $user_has_role )
- $role_list .= '<option value="">' . __('&mdash; No role for this blog &mdash;') . '</option>';
-else
- $role_list .= '<option value="" selected="selected">' . __('&mdash; No role for this blog &mdash;') . '</option>';
-echo $role_list . '</select>';
-?></label></p>
-
-<p><label><?php _e('First name:') ?><br />
-<input type="text" name="first_name" value="<?php echo $profileuser->first_name ?>" /></label></p>
-
-<p><label><?php _e('Last name:') ?><br />
-<input type="text" name="last_name" value="<?php echo $profileuser->last_name ?>" /></label></p>
-
-<p><label><?php _e('Nickname:') ?><br />
-<input type="text" name="nickname" value="<?php echo $profileuser->nickname ?>" /></label></p>
-
-</p><label><?php _e('Display name publicly as:') ?> <br />
-<select name="display_name">
-<option value="<?php echo $profileuser->display_name; ?>"><?php echo $profileuser->display_name; ?></option>
-<option value="<?php echo $profileuser->nickname ?>"><?php echo $profileuser->nickname ?></option>
-<option value="<?php echo $profileuser->user_login ?>"><?php echo $profileuser->user_login ?></option>
-<?php if ( !empty( $profileuser->first_name ) ) : ?>
-<option value="<?php echo $profileuser->first_name ?>"><?php echo $profileuser->first_name ?></option>
-<?php endif; ?>
-<?php if ( !empty( $profileuser->last_name ) ) : ?>
-<option value="<?php echo $profileuser->last_name ?>"><?php echo $profileuser->last_name ?></option>
-<?php endif; ?>
-<?php if ( !empty( $profileuser->first_name ) && !empty( $profileuser->last_name ) ) : ?>
-<option value="<?php echo $profileuser->first_name." ".$profileuser->last_name ?>"><?php echo $profileuser->first_name." ".$profileuser->last_name ?></option>
-<option value="<?php echo $profileuser->last_name." ".$profileuser->first_name ?>"><?php echo $profileuser->last_name." ".$profileuser->first_name ?></option>
-<?php endif; ?>
-</select></label></p>
-</fieldset>
-
-<fieldset>
-<legend><?php _e('Contact Info'); ?></legend>
-
-<p><label><?php _e('E-mail: (required)') ?><br />
-<input type="text" name="email" value="<?php echo $profileuser->user_email ?>" /></label></p>
-
-<p><label><?php _e('Website:') ?><br />
-<input type="text" name="url" value="<?php echo $profileuser->user_url ?>" />
-</label></p>
-
-<p><label><?php _e('AIM:') ?><br />
-<input type="text" name="aim" value="<?php echo $profileuser->aim ?>" />
-</label></p>
-
-<p><label><?php _e('Yahoo IM:') ?><br />
-<input type="text" name="yim" value="<?php echo $profileuser->yim ?>" />
-</label></p>
-
-<p><label><?php _e('Jabber / Google Talk:') ?>
-<input type="text" name="jabber" value="<?php echo $profileuser->jabber ?>" /></label>
-</p>
-</fieldset>
-<br clear="all" />
-<fieldset>
-<legend><?php _e('About the user'); ?></legend>
-<p class="desc"><?php _e('Share a little biographical information to fill out your profile. This may be shown publicly.'); ?></p>
-<p><textarea name="description" rows="5" cols="30"><?php echo $profileuser->description ?></textarea></p>
-</fieldset>
-
-<?php
-$show_password_fields = apply_filters('show_password_fields', true);
-if ( $show_password_fields ) :
-?>
-<fieldset>
-<legend><?php _e("Update User's Password"); ?></legend>
-<p class="desc"><?php _e("If you would like to change the user's password type a new one twice below. Otherwise leave this blank."); ?></p>
-<p><label><?php _e('New Password:'); ?><br />
-<input type="password" name="pass1" size="16" value="" />
-</label></p>
-<p><label><?php _e('Type it one more time:'); ?><br />
-<input type="password" name="pass2" size="16" value="" />
-</label></p>
-</fieldset>
-<?php endif; ?>
-
-<?php do_action('edit_user_profile'); ?>
-
-<br clear="all" />
- <table width="99%" border="0" cellspacing="2" cellpadding="3" class="editform">
- <?php
- if(count($profileuser->caps) > count($profileuser->roles)):
- ?>
- <tr>
- <th scope="row"><?php _e('Additional Capabilities:') ?></th>
- <td><?php
- $output = '';
- foreach($profileuser->caps as $cap => $value) {
- if(!$wp_roles->is_role($cap)) {
- if($output != '') $output .= ', ';
- $output .= $value ? $cap : "Denied: {$cap}";
- }
- }
- echo $output;
- ?></td>
- </tr>
- <?php
- endif;
- ?>
- </table>
-<p class="submit">
- <input type="hidden" name="action" value="update" />
- <input type="hidden" name="user_id" id="user_id" value="<?php echo $user_id; ?>" />
- <input type="submit" value="<?php _e('Update User &raquo;') ?>" name="submit" />
- </p>
-</form>
-</div>
-<?php
-$invites_list = get_usermeta( intval( $_GET[ 'user_id' ] ), "invites_list" );
-if( $invites_list != '' )
-{
- if( strlen( $invites_list ) > 3 ) {
- ?><div class="wrap">
- <h3>Invited Users</h3>
- <table><?php
- $invites = explode( " ", $invites_list );
- reset( $invites );
- while( list( $key, $val ) = each( $invites ) ) {
- if( $val != "" ) {
- $id = $wpdb->get_row( "SELECT ID FROM {$wpdb->users} WHERE user_email = '$val'" );
- if( $id ) {
- $invited_user_id = $id->ID;
- } else {
- $invited_user_id = $wpdb->get_var( "SELECT user_id FROM {$wpdb->usermeta} WHERE meta_key = 'invite_hash' AND meta_value = '" . md5( $val ) . "'" );
- }
-
- if( $invited_user_id != 0 ) {
- $invited_user_blog = $wpdb->get_var( "SELECT meta_value FROM $wpdb->usermeta WHERE user_id = '$invited_user_id' AND meta_key='source_domain'" );
- } else {
- $invited_user_blog = '';
- }
- $invited_user_login = $wpdb->get_var( "SELECT user_login FROM $wpdb->users WHERE ID = '$invited_user_id'" );
- if( $invited_user_blog != '' ) {
- print "<tr><td>$val</td><td>$invited_user_login</td><td><a href='http://{$invited_user_blog}'>http://$invited_user_blog</a></td></tr>";
- } else {
- print "<tr><td>$val</td><td>$invited_user_login</td><td><em>Invite Not Used Yet</em></td></tr>";
- }
- }
- }
- ?></table></div><?php
- }
-}
-}
-break;
-}
-
-include('admin-footer.php');
-?>
diff --git a/wp-inst/wp-admin/users.js b/wp-inst/wp-admin/users.js
deleted file mode 100644
index 5e40418..0000000
--- a/wp-inst/wp-admin/users.js
+++ /dev/null
@@ -1,20 +0,0 @@
-addLoadEvent(function() {
- theListEls = document.getElementsByTagName('tbody');
- theUserLists = new Array();
- for ( var l = 0; l < theListEls.length; l++ ) {
- theUserLists[theListEls[l].id] = new listMan(theListEls[l].id);
- }
- addUserInputs = document.getElementById('adduser').getElementsByTagName('input');
- for ( var i = 0; i < addUserInputs.length; i++ ) {
- addUserInputs[i].onkeypress = function(e) { return killSubmit('addUserSubmit();', e); }
- }
- document.getElementById('addusersub').onclick = function(e) { return killSubmit('addUserSubmit();', e); }
-}
-);
-
-function addUserSubmit() {
- var roleEl = document.getElementById('role');
- var role = roleEl.options[roleEl.selectedIndex].value;
- if ( !theUserLists['role-' + role] ) return true;
- return theUserLists['role-' + role].ajaxAdder('user', 'adduser');
-}
diff --git a/wp-inst/wp-admin/users.php b/wp-inst/wp-admin/users.php
deleted file mode 100644
index 2ed85bf..0000000
--- a/wp-inst/wp-admin/users.php
+++ /dev/null
@@ -1,597 +0,0 @@
-<?php
-require_once('admin.php');
-require_once( ABSPATH . WPINC . '/registration.php');
-
-$title = __('Users');
-if ( current_user_can('edit_users') )
- $parent_file = 'users.php';
-else
- $parent_file = 'profile.php';
-
-$action = $_REQUEST['action'];
-$update = '';
-
-if ( empty($_POST) ) {
- $referer = '<input type="hidden" name="wp_http_referer" value="'. wp_specialchars(stripslashes($_SERVER['REQUEST_URI'])) . '" />';
-} elseif ( isset($_POST['wp_http_referer']) ) {
- $redirect = remove_query_arg(array('wp_http_referer', 'updated', 'delete_count'), urlencode(stripslashes($_POST['wp_http_referer'])));
- $referer = '<input type="hidden" name="wp_http_referer" value="' . wp_specialchars($redirect) . '" />';
-} else {
- $redirect = 'users.php';
-}
-
-
-// WP_User_Search class
-// by Mark Jaquith
-
-
-class WP_User_Search {
- var $results;
- var $search_term;
- var $page;
- var $raw_page;
- var $users_per_page = 50;
- var $first_user;
- var $last_user;
- var $query_limit;
- var $query_from_where;
- var $total_users_for_query = 0;
- var $too_many_total_users = false;
- var $search_errors;
-
- function WP_User_Search ($search_term = '', $page = '') { // constructor
- $this->search_term = $search_term;
- $this->raw_page = ( '' == $page ) ? false : (int) $page;
- $this->page = (int) ( '' == $page ) ? 1 : $page;
-
- $this->prepare_query();
- $this->query();
- $this->prepare_vars_for_template_usage();
- $this->do_paging();
- }
-
- function prepare_query() {
- global $wpdb;
- $this->first_user = ($this->page - 1) * $this->users_per_page;
- $this->query_limit = 'LIMIT ' . $this->first_user . ',' . $this->users_per_page;
- if ( $this->search_term ) {
- $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%'";
- $search_sql .= implode(' OR ', $searches);
- $search_sql .= ')';
- }
- $this->query_from_where = "FROM $wpdb->users, $wpdb->usermeta WHERE $wpdb->users.ID = $wpdb->usermeta.user_id AND meta_key = '".$wpdb->prefix."capabilities' $search_sql";
-
- if ( !$_GET['update'] && !$this->search_term && !$this->raw_page && $wpdb->get_var("SELECT COUNT(ID) FROM $wpdb->users, $wpdb->usermeta WHERE $wpdb->users.ID = $wpdb->usermeta.user_id AND meta_key = '".$wpdb->prefix."capabilities'") > $this->users_per_page )
- $this->too_many_total_users = sprintf(__('Because this blog has more than %s users, they cannot all be shown on one page. Use the paging or search functionality in order to find the user you want to edit.'), $this->users_per_page);
- }
-
- function query() {
- global $wpdb;
- $this->results = $wpdb->get_col('SELECT ID ' . $this->query_from_where . $this->query_limit);
-
- if ( $this->results )
- $this->total_users_for_query = $wpdb->get_var('SELECT COUNT(ID) ' . $this->query_from_where); // no limit
- else
- $this->search_errors = new WP_Error('no_matching_users_found', __('No matching users were found!'));
- }
-
- function prepare_vars_for_template_usage() {
- $this->search_term = stripslashes($this->search_term); // done with DB, from now on we want slashes gone
- }
-
- function do_paging() {
- if ( $this->total_users_for_query > $this->users_per_page ) { // have to page the results
- $prev_page = ( $this->page > 1) ? true : false;
- $next_page = ( ($this->page * $this->users_per_page) < $this->total_users_for_query ) ? true : false;
- $this->paging_text = '';
- if ( $prev_page )
- $this->paging_text .= '<p class="alignleft"><a href="' . add_query_arg(array('usersearch' => $this->search_term, 'userspage' => $this->page - 1), 'users.php?') . '">&laquo; Previous Page</a></p>';
- if ( $next_page )
- $this->paging_text .= '<p class="alignright"><a href="' . add_query_arg(array('usersearch' => $this->search_term, 'userspage' => $this->page + 1), 'users.php?') . '">Next Page &raquo;</a></p>';
- if ( $prev_page || $next_page )
- $this->paging_text .= '<br style="clear:both" />';
- }
- }
-
- function get_results() {
- return $this->results;
- }
-
- function page_links() {
- echo $this->paging_text;
- }
-
- function results_are_paged() {
- if ( $this->paging_text )
- return true;
- return false;
- }
-
- function is_search() {
- if ( $this->search_term )
- return true;
- return false;
- }
-}
-
-
-switch ($action) {
-
-case 'promote':
- check_admin_referer('bulk-users');
-
- if (empty($_POST['users'])) {
- header('Location: ' . $redirect);
- }
-
- if ( !current_user_can('edit_users') )
- die(__('You can&#8217;t edit users.'));
-
- $userids = $_POST['users'];
- $update = 'promote';
- foreach($userids as $id) {
- if ( ! current_user_can('edit_user', $id) )
- die(__('You can&#8217;t edit that user.'));
- // The new role of the current user must also have edit_users caps
- if($id == $current_user->id && !$wp_roles->role_objects[$_POST['new_role']]->has_cap('edit_users')) {
- $update = 'err_admin_role';
- continue;
- }
-
- $user = new WP_User($id);
- $user->set_role($_POST['new_role']);
- }
-
- header('Location: ' . add_query_arg('update', $update, $redirect));
-
-break;
-
-case 'dodelete':
- die( "This function is disabled." );
- check_admin_referer('delete-users');
-
- if ( empty($_POST['users']) ) {
- header('Location: ' . $redirect);
- }
-
- if ( !current_user_can('delete_users') )
- die(__('You can&#8217;t delete users.'));
-
- $userids = $_POST['users'];
- $update = 'del';
- $delete_count = 0;
-
- foreach ( (array) $userids as $id) {
- if ( ! current_user_can('delete_user', $id) )
- die(__('You can&#8217;t delete that user.'));
-
- if($id == $current_user->id) {
- $update = 'err_admin_del';
- continue;
- }
- switch($_POST['delete_option']) {
- case 'delete':
- wp_delete_user($id);
- break;
- case 'reassign':
- wp_delete_user($id, $_POST['reassign_user']);
- break;
- }
- ++$delete_count;
- }
-
- $redirect = add_query_arg('delete_count', $delete_count, $redirect);
-
- header('Location: ' . add_query_arg('update', $update, $redirect));
-
-break;
-
-case 'delete':
- die( "This function is disabled." );
- check_admin_referer('bulk-users');
-
- if ( empty($_POST['users']) )
- header('Location: ' . $redirect);
-
- if ( !current_user_can('delete_users') )
- $errors = new WP_Error('edit_users', __('You can&#8217;t delete users.'));
-
- $userids = $_POST['users'];
-
- include ('admin-header.php');
-?>
-<form action="" method="post" name="updateusers" id="updateusers">
-<?php wp_nonce_field('delete-users') ?>
-<?php echo $referer; ?>
-<div class="wrap">
-<h2><?php _e('Delete Users'); ?></h2>
-<p><?php _e('You have specified these users for deletion:'); ?></p>
-<ul>
-<?php
- $go_delete = false;
- foreach ( (array) $userids as $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=\"{$id}\" />" . sprintf(__('ID #%1s: %2s'), $id, $user->user_login) . "</li>\n";
- $go_delete = true;
- }
- }
- $all_logins = $wpdb->get_results("SELECT ID, user_login FROM $wpdb->users, $wpdb->usermeta WHERE $wpdb->users.ID = $wpdb->usermeta.user_id AND meta_key = '".$wpdb->prefix."capabilities'");
- $user_dropdown = '<select name="reassign_user">';
- foreach ( (array) $all_logins as $login )
- if ( $login->ID == $current_user->id || !in_array($login->ID, $userids) )
- $user_dropdown .= "<option value=\"{$login->ID}\">{$login->user_login}</option>";
- $user_dropdown .= '</select>';
- ?>
- </ul>
-<?php if ( $go_delete ) : ?>
- <p><?php _e('What should be done with posts and links owned by this user?'); ?></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>
- <li><input type="radio" id="delete_option1" name="delete_option" value="reassign" />
- <?php echo '<label for="delete_option1">'.__('Attribute all posts and links to:')."</label> $user_dropdown"; ?></li>
- </ul>
- <input type="hidden" name="action" value="dodelete" />
- <p class="submit"><input type="submit" name="submit" value="<?php _e('Confirm Deletion'); ?>" /></p>
-<?php else : ?>
- <p><?php _e('There are no valid users selected for deletion.'); ?></p>
-<?php endif; ?>
-</div>
-</form>
-<?php
-
-break;
-
-case 'doremove':
- check_admin_referer('remove-users');
-
- if ( empty($_POST['users']) ) {
- header('Location: users.php');
- }
-
- if ( !current_user_can('edit_users') )
- die(__('You can&#8217;t remove users.'));
-
- $userids = $_POST['users'];
-
- $update = 'remove';
- foreach ($userids as $id) {
- if ($id == $current_user->id) {
- $update = 'err_admin_remove';
- continue;
- }
- remove_user_from_blog($id);
- }
-
- header('Location: users.php?update=' . $update);
-
-break;
-
-case 'removeuser':
-
- check_admin_referer('bulk-users');
-
- if (empty($_POST['users'])) {
- header('Location: users.php');
- }
-
- if ( !current_user_can('edit_users') )
- $error = new WP_Error('edit_users', __('You can&#8217;t remove users.'));
-
- $userids = $_POST['users'];
-
- include ('admin-header.php');
-?>
-<form action="" method="post" name="updateusers" id="updateusers">
-<?php wp_nonce_field('remove-users') ?>
-<div class="wrap">
-<h2><?php _e('Remove Users from Blog'); ?></h2>
-<p><?php _e('You have specified these users for removal:'); ?></p>
-<ul>
-<?php
- $go_remove = false;
- foreach ($userids as $id) {
- $user = new WP_User($id);
- if ($id == $current_user->id) {
- echo "<li>" . sprintf(__('ID #%1s: %2s <strong>The current user will not be removed.</strong>'), $id, $user->user_login) . "</li>\n";
- } else {
- echo "<li><input type=\"hidden\" name=\"users[]\" value=\"{$id}\" />" . sprintf(__('ID #%1s: %2s'), $id, $user->user_login) . "</li>\n";
- $go_remove = true;
- }
- }
- ?>
-<?php if($go_remove) : ?>
- <input type="hidden" name="action" value="doremove" />
- <p class="submit"><input type="submit" name="submit" value="<?php _e('Confirm Removal'); ?>" /></p>
-<?php else : ?>
- <p><?php _e('There are no valid users selected for removal.'); ?></p>
-<?php endif; ?>
-</div>
-</form>
-<?php
-
-break;
-
-case 'adduser':
- die( "This function is disabled. Add a user from your community." );
- check_admin_referer('add-user');
-
- if ( ! current_user_can('create_users') )
- die(__('You can&#8217;t create users.'));
-
- $user_id = add_user();
- $update = 'add';
- if ( is_wp_error( $user_id ) )
- $add_user_errors = $user_id;
- else {
- $new_user_login = apply_filters('pre_user_login', sanitize_user(stripslashes($_POST['user_login']), true));
- $redirect = add_query_arg('usersearch', $new_user_login, $redirect);
- header('Location: ' . add_query_arg('update', $update, $redirect) . '#user-' . $user_id);
- die();
- }
-
-case 'addexistinguser':
- check_admin_referer('add-user');
- if ( !current_user_can('edit_users') )
- die(__('You can&#8217;t edit users.'));
-
- $new_user_email = wp_specialchars(trim($_POST['newuser']));
- /* checking that username has been typed */
- if ( !empty($new_user_email) ) {
- if ( $user_id = email_exists( $new_user_email ) ) {
- if ( array_key_exists($blog_id, get_blogs_of_user($user_id)) ) {
- $location = 'users.php?update=add_existing';
- } else {
- add_user_to_blog('', $user_id, $_POST[ 'new_role' ]);
- do_action( "added_existing_user", $user_id );
- $location = 'users.php?update=add';
- }
- header("Location: $location");
- die();
- }
- }
- header('Location: users.php');
- die();
-break;
-default:
- wp_enqueue_script('admin-users');
-
- include('admin-header.php');
-
- // Query the users
- $wp_user_search = new WP_User_Search($_GET['usersearch'], $_GET['userspage']);
-
- // Make the user objects
- foreach ( $wp_user_search->get_results() as $userid ) {
- $tmp_user = new WP_User($userid);
- $roles = $tmp_user->roles;
- $role = array_shift($roles);
- $roleclasses[$role][$tmp_user->user_login] = $tmp_user;
- }
-
- if ( isset($_GET['update']) ) :
- switch($_GET['update']) {
- case 'del':
- case 'del_many':
- ?>
- <?php $delete_count = (int) $_GET['delete_count']; ?>
- <div id="message" class="updated fade"><p><?php printf(__('%1$s %2$s deleted.'), $delete_count, __ngettext('user', 'users', $delete_count) ); ?></p></div>
- <?php
- break;
- case 'remove':
- ?>
- <div id="message" class="updated fade"><p><?php _e('User removed from this blog.'); ?></p></div>
- <?php
- break;
- case 'add':
- ?>
- <div id="message" class="updated fade"><p><?php _e('New user created.'); ?></p></div>
- <?php
- break;
- case 'promote':
- ?>
- <div id="message" class="updated fade"><p><?php _e('Changed roles.'); ?></p></div>
- <?php
- break;
- case 'err_admin_role':
- ?>
- <div id="message" class="error"><p><?php _e("The current user's role must have user editing capabilities."); ?></p></div>
- <div id="message" class="updated fade"><p><?php _e('Other user roles have been changed.'); ?></p></div>
- <?php
- break;
- case 'err_admin_del':
- ?>
- <div id="message" class="error"><p><?php _e("You can't delete the current user."); ?></p></div>
- <div id="message" class="updated fade"><p><?php _e('Other users have been deleted.'); ?></p></div>
- <?php
- break;
- case 'err_admin_remove':
- ?>
- <div id="message" class="error"><p><?php _e("You can't remove the current user."); ?></p></div>
- <div id="message" class="updated fade"><p><?php _e('Other users have been removed.'); ?></p></div>
- <?php
- break;
- case 'notactive':
- ?>
- <div id="message" class="updated fade"><p><?php _e('User not added. User is deleted or not active.'); ?></p></div>
- <?php
- break;
- case 'add_existing':
- ?>
- <div id="message" class="updated fade"><p><?php _e('User not added. User is already registered.'); ?></p></div>
- <?php
- break;
- }
- endif; ?>
-
-<?php if ( is_wp_error( $errors ) ) : ?>
- <div class="error">
- <ul>
- <?php
- foreach ( $errors->get_error_messages() as $message )
- echo "<li>$message</li>";
- ?>
- </ul>
- </div>
-<?php endif; ?>
-
-<?php if ( $wp_user_search->too_many_total_users ) : ?>
- <div id="message" class="updated">
- <p><?php echo $wp_user_search->too_many_total_users; ?></p>
- </div>
-<?php endif; ?>
-
-<div class="wrap">
-
- <?php if ( $wp_user_search->is_search() ) : ?>
- <h2><?php printf(__('Users Matching "%s" by Role'), $wp_user_search->search_term); ?></h2>
- <?php else : ?>
- <h2><?php _e('User List by Role'); ?></h2>
- <?php endif; ?>
-
- <form action="" method="get" name="search" id="search">
- <p><input type="text" name="usersearch" id="usersearch" value="<?php echo wp_specialchars($wp_user_search->search_term); ?>" /> <input type="submit" value="<?php _e('Search for users &raquo;'); ?>" /></p>
- </form>
-
- <?php if ( is_wp_error( $wp_user_search->search_errors ) ) : ?>
- <div class="error">
- <ul>
- <?php
- foreach ( $wp_user_search->search_errors->get_error_messages() as $message )
- echo "<li>$message</li>";
- ?>
- </ul>
- </div>
- <?php endif; ?>
-
-
-<?php if ( $wp_user_search->get_results() ) : ?>
-
- <?php if ( $wp_user_search->is_search() ) : ?>
- <p><a href="users.php"><?php _e('&laquo; Back to All Users'); ?></a></p>
- <?php endif; ?>
-
- <h3><?php printf(__('Results %1$s - %2$s of %3$s shown below'), $wp_user_search->first_user + 1, min($wp_user_search->first_user + $wp_user_search->users_per_page, $wp_user_search->total_users_for_query), $wp_user_search->total_users_for_query); ?></h3>
-
- <?php if ( $wp_user_search->results_are_paged() ) : ?>
- <div class="user-paging-text"><?php $wp_user_search->page_links(); ?></p></div>
- <?php endif; ?>
-
-<form action="" method="post" name="updateusers" id="updateusers">
-<?php wp_nonce_field('bulk-users') ?>
-<table class="widefat">
-<?php
-foreach($roleclasses as $role => $roleclass) {
- ksort($roleclass);
-?>
-
-<tr>
-<?php if ( !empty($role) ) : ?>
- <th colspan="7" align="left"><h3><?php echo $wp_roles->role_names[$role]; ?></h3></th>
-<?php else : ?>
- <th colspan="7" align="left"><h3><em><?php _e('No role for this blog'); ?></h3></th>
-<?php endif; ?>
-</tr>
-<tr class="thead">
- <th style="text-align: left"><?php _e('ID') ?></th>
- <th style="text-align: left"><?php _e('Username') ?></th>
- <th style="text-align: left"><?php _e('Name') ?></th>
- <th style="text-align: left"><?php _e('E-mail') ?></th>
- <th style="text-align: left"><?php _e('Website') ?></th>
- <th colspan="2"><?php _e('Actions') ?></th>
-</tr>
-</thead>
-<tbody id="role-<?php echo $role; ?>"><?php
-$style = '';
-foreach ( (array) $roleclass as $user_object ) {
- $style = ( ' class="alternate"' == $style ) ? '' : ' class="alternate"';
- echo "\n\t" . user_row($user_object, $style);
-}
-?>
-
-</tbody>
-<?php } ?>
-</table>
-
-<?php if ( $wp_user_search->results_are_paged() ) : ?>
- <div class="user-paging-text"><?php $wp_user_search->page_links(); ?></div>
-<?php endif; ?>
-
- <h2><?php _e('Update Users'); ?></h2>
- <ul style="list-style:none;">
- <li><input type="radio" name="action" id="action0" value="removeuser" /> <label for="action0"><?php _e('Remove checked users.'); ?></label></li>
- <li>
- <input type="radio" name="action" id="action1" value="promote" /> <label for="action1"><?php _e('Set the Role of checked users to:'); ?></label>
- <select name="new_role"><?php wp_dropdown_roles(); ?></select>
- </li>
- </ul>
- <p class="submit">
- <?php echo $referer; ?>
- <input type="submit" value="<?php _e('Update &raquo;'); ?>" />
- </p>
-</form>
-<?php endif; ?>
-</div>
-
-<?php
- if ( is_wp_error($add_user_errors) ) {
- 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 = wp_specialchars(stripslashes($_POST[$formpost]));
- }
- unset($name);
- }
-?>
-
-<div class="wrap">
-<h2><?php _e('Add User From Community') ?></h2>
-<form action="" method="post" name="adduser" id="adduser">
- <?php wp_nonce_field('add-user') ?>
-<input type='hidden' name='action' value='addexistinguser'>
-<p>Type the e-mail address of another user to add them to your blog.</p>
-<table>
-<tr><th scope="row">User&nbsp;E-Mail: </th><td><input type="text" name="newuser" id="newuser"></td></tr>
- <tr>
- <th scope="row"><?php _e('Role:') ?></th>
- <td><select name="new_role" id="new_role"><?php
- foreach($wp_roles->role_names as $role => $name) {
- $selected = '';
- if( $role == 'subscriber' )
- $selected = 'selected="selected"';
- echo "<option {$selected} value=\"{$role}\">{$name}</option>";
- }
- ?></select></td>
- </tr>
-</table>
-<p class="submit">
- <?php echo $referer; ?>
- <input name="adduser" type="submit" id="addusersub" value="<?php _e('Add User &raquo;') ?>" />
-</p>
-</form>
-
-<?php if ( is_wp_error( $add_user_errors ) ) : ?>
- <div class="error">
- <ul>
- <?php
- foreach ( $add_user_errors->get_error_messages() as $message )
- echo "$message<br />";
- ?>
- </ul>
- </div>
-<?php endif; ?>
-<div id="ajax-response"></div>
-</div>
-
-<?php
-break;
-
-} // end of the $action switch
-
-include('admin-footer.php');
-?>
diff --git a/wp-inst/wp-admin/wp-admin.css b/wp-inst/wp-admin/wp-admin.css
deleted file mode 100644
index eb7052d..0000000
--- a/wp-inst/wp-admin/wp-admin.css
+++ /dev/null
@@ -1,1009 +0,0 @@
-* html #poststuff {
- height: 100%; /* kill peekaboo bug in IE */
-}
-
-/* This is the Holly Hack \*/
-* html .wrap { height: 1% }
-/* For Win IE's eyes only */
-
-body {
- border: none;
-}
-a {
- border-bottom: 1px solid #69c;
- color: #00019b;
- text-decoration: none;
-}
-
-a.delete:hover {
- background: #c00;
- color: #fff;
-}
-
-#planetnews ul {
- list-style: none;
- margin: 0;
- padding: 0;
-}
-
-#planetnews li {
- width: 17%;
- margin: 1%;
- float: left;
-}
-
-#planetnews li a {
- display: block;
- padding: .5em;
- background: #ddd;
- height: 6em;
- overflow: hidden;
-}
-
-.widefat {
- width: 100%;
-}
-
-.widefat td, .widefat th {
- padding: 5px 6px;
-}
-
-.import-system {
- font-size: 16px;
-}
-
-thead, .thead {
- background: #dfdfdf
-}
-
-#import-upload-form {
- width: 300px;
- margin: auto;
- text-align: center;
-}
-
-a.edit, a.delete, a.edit:hover, a.delete:hover {
- border-bottom: none;
- display: block;
- padding: 5px 0;
- text-align: center;
-}
-
-a.edit:hover {
- background: #ccc;
- color: #036;
-}
-
-a:visited {
- color: #006;
-}
-
-a:hover {
-/* border-bottom: 1px solid #3a75ae;*/
- color: #069;
-}
-
-body {
- background: #f9fcfe;
- color: #000;
- margin: 0;
- padding: 0;
-}
-
-body, td {
- font: 13px "Lucida Grande", "Lucida Sans Unicode", Tahoma, Verdana;
-}
-
-fieldset {
- border: none;
- padding: 3px;
-}
-
-fieldset label.selectit {
- display: block;
- font-size: 11px;
- padding: 0 2px;
-}
-
-fieldset label.selectit:hover {
- background: #e9e9e9;
-}
-
-fieldset legend {
- padding: .1em .3em;
-}
-
-fieldset.options {
- padding: 1em;
-}
-
-fieldset.options legend {
- font-size: 16px;
-}
-
-form, label input {
- margin: 0;
- padding: 0;
-}
-
-h2 {
- border-bottom: .5em solid #f0f8ff;
- color: #333;
- font: normal 30px/5px serif;
- margin: 5px 10px;
-}
-
-h2 small.quickjump {
- display: block;
- text-align: right;
-}
-
-h2 small.quickjump a {
- text-decoration: none;
- border-bottom: 0;
- font-size: 15px;
- background: #f0f8ff;
- padding: 5px 10px;
-}
-
-img, #footer a {
- border: 0;
-}
-
-input:focus, textarea:focus, label:focus {
- background: #fff;
- border: 1px solid #686868;
-}
-
-label {
- cursor: pointer;
-}
-
-li, dd {
- margin-bottom: 6px;
-}
-
-p, li, dl, dd, dt {
- line-height: 130%;
-}
-
-textarea, input, select {
- background: #f4f4f4;
- border: 1px solid #b2b2b2;
- color: #000;
- font: 13px Verdana, Arial, Helvetica, sans-serif;
- margin: 1px;
- padding: 3px;
-}
-
-#uploading {
- border-style: none;
- padding: 0px;
- margin-bottom: 16px;
- height: 15em;
- width: 100%;
-/* overflow-y: hidden;*/
-}
-
-form#upload th {
- text-align: right;
-}
-
-form#upload #post_content, form#upload #post_title {
- width: 250px;
-}
-
-form#upload #post_content {
- height: 50px;
-}
-
-.attpreview {
- width: 1px; /* hug */
- text-align: center;
-}
-
-.alignleft {
- float: left
-}
-
-.alignright {
- float: right;
-}
-
-.alternate {
- background: #f1f1f1;
-}
-
-.anchors {
- margin: 10px 20px 10px 20px;
-}
-
-.available-theme {
- width: 30%;
- margin: 0 1em;
- float: left;
- text-align: center;
- height: 28em;
- overflow: hidden;
-}
-
-.available-theme a.screenshot {
- width: 250px;
- height: 200px;
- display: block;
- margin: auto;
- background: #f1f1f1;
- border: 1px solid #ccc;
- margin-bottom: 10px;
- overflow: hidden;
-}
-
-.available-theme a.screenshot:hover {
-/* border: 1px solid #666;*/
-}
-
-.available-theme img {
- width: 100%;
-}
-
-.checkbox {
- background: #fff;
- border: none;
- margin: 0;
- padding: 0;
-}
-
-.code {
- font-family: "Courier New", Courier, monospace;
-}
-
-.commentlist li {
- border-bottom: 1px solid #ccc;
- padding: 1em 1em .2em;
- margin: 0;
-}
-
-.commentlist p {
- padding: 0;
- margin: 0 0 .8em;
-}
-
-.clear {
- clear: both;
- height: 2px;
-}
-
-.hidden {
- display: none;
-}
-
-.navigation {
- display: block;
- text-align: center;
- margin-top: 10px;
- margin-bottom: 30px;
-}
-
-.post-categories {
- display: inline;
- margin: 0;
- padding: 0;
-}
-
-.post-categories li, #ed_toolbar {
- display: inline;
-}
-
-.quicktags, .search {
- background: #ccc;
- color: #000;
- font: 12px Georgia, "Times New Roman", Times, serif;
-}
-
-.submit input, .submit input:focus, .button {
- background: url( images/fade-butt.png );
- border: 3px double #999;
- border-left-color: #ccc;
- border-top-color: #ccc;
- color: #333;
- padding: 0.25em;
-}
-
-.submit input:active, .button:active {
- background: #f4f4f4;
- border: 3px double #ccc;
- border-left-color: #999;
- border-top-color: #999;
-}
-
-.submit, .editform th, #postcustomsubmit {
- text-align: right;
-}
-
-.optiontable {
- width: 100%;
-}
-
-.optiontable td, .optiontable th {
- padding: .5em;
-}
-
-.optiontable th {
- width: 33%;
- text-align: right;
-}
-
-.unapproved {
- color: #888;
-}
-
-.unapproved a:link {
- color: #b9bcff;
-}
-
-.unapproved a:visited {
- color: #696dff;
-}
-
-.unapproved a:hover {
- color: #009ef0;
-}
-
-.approve {
- display: none;
-}
-
-.unapproved .approve {
- display: inline;
-}
-
-.unapproved .unapprove {
- display: none;
-}
-
-.updated, .confirm {
- background: #CFEBF7 url(images/notice.gif) no-repeat 1em ;
- border: 1px solid #2580B2;
- margin: 1em 5% 10px;
- padding: 0 1em 0 3em;
-}
-
-.error {
- background: #FFEFF7;
- border: 1px solid #c69;
- margin: 1em 5% 10px;
- padding: 0 1em 0 1em;
-}
-
-.wrap {
- background: #fff;
- border: 1px solid #ccc;
- clear: both;
- margin: 15px 5%;
- padding: .5em 1em;
-}
-
-.wrap h2 {
- margin: .8em 0 .5em;
- clear: both;
-}
-
-table .vers {
- text-align: center;
-}
-
-#adminmenu {
- background: #6da6d1;
- border-top: 3px solid #448abd;
- margin: 0;
- padding: .2em .2em .2em 2em;
-}
-
-#adminmenu .current, #submenu .current {
- font-weight: bold;
-}
-
-#adminmenu a {
- color: #000;
- font-size: 14px;
- font-weight: normal;
- margin: 0;
- padding: 3px 5px;
- text-decoration: none;
-}
-
-#adminmenu a:hover, .current {
- background: #ddeaf4;
- color: #333;
-}
-
-#adminmenu li, #submenu li {
- display: inline;
- line-height: 200%;
- list-style: none;
- text-align: center;
-}
-
-#submenu {
- background: #0d324f;
- border-bottom: none;
- margin: 0;
- padding: 3px 2em 0 3em;
-}
-
-#submenu .current {
- background: #f9fcfe;
- border-top: 1px solid #045290;
- border-right: 2px solid #045290;
- color: #000;
-}
-
-#submenu a {
- border: none;
- color: #fff;
- font-size: 12px;
- padding: .3em .4em .33em;
-}
-
-#submenu a:hover {
- background: #ddeaf4;
- color: #393939;
-}
-
-#submenu li {
- line-height: 170%;
-}
-
-
-#categorydiv input, #poststatusdiv input, #commentstatusdiv input, #pingstatusdiv input {
- border: none;
-}
-
-#titlediv, #guiddiv {
- margin: 0 8px 0 0;
- padding: 0px;
-}
-
-#postdiv {
- margin: 0 8px 0 0;
- padding: 0px;
-}
-
-#postdivrich {
- margin: 0px;
- padding: 0px;
-}
-
-#content {
- margin: 0 0 0 0;
- width: 100%;
-}
-
-#titlediv input, #guiddiv input {
- margin: 0px;
- width: 100%;
-}
-
-#quicktags {
- margin-left: -1px;
-}
-
-#currenttheme img {
- float: left;
- border: 1px solid #666;
- margin-right: 1em;
- margin-bottom: 1.5em;
- width: 300px;
-}
-
-#deletepost:hover, #deletecomment:hover {
- background: #ce0000;
- color: #fff;
-}
-
-#deletebookmarks:hover {
- background: #ce0000;
- color: #fff;
-}
-
-#quicktags #ed_strong {
- font-weight: bold;
-}
-
-#quicktags #ed_link {
- color: blue;
- text-decoration: underline;
-}
-
-#quicktags #ed_del {
- text-decoration: line-through;
-}
-
-#quicktags #ed_em {
- font-style: italic;
-}
-
-#quicktags #ed_code {
- font-family: "Courier New", Courier, mono;
-}
-
-#title {
- font-size: 1.5em;
-}
-
-#postexcerpt div, #attachmentlinks div {
- margin-right: 8px;
-}
-
-#attachmentlinks textarea {
- width: 100%;
- height: 2.5em;
- margin-bottom: 6px;
-}
-
-* html #postexcerpt .dbx-toggle-open, * html #postexcerpt .dbx-toggle-open {
- padding-right: 8px;
-}
-
-#excerpt, .attachmentlinks {
- margin: 0px;
- height: 4em;
- width: 100%;
-}
-
-#footer {
- clear: both;
- text-align: center;
-}
-
-#login {
- background: #fff;
- border: 1px solid #a2a2a2;
- margin: 5em auto;
- padding: 1.5em;
- width: 25em;
-}
-
-#login #login_error {
- background: #c00;
- border: 1px solid #a40000;
- color: #fff;
- font-size: 16px;
- font-weight: bold;
- padding: .5em;
- text-align: center;
-}
-
-#login h1 {
- background: url(images/wordpress-logo.png) no-repeat top left;
- margin-top: 0;
-}
-
-#login h1 a {
- display: block;
- text-indent: -1000px;
- height: 66px;
- border-bottom: none;
-}
-
-#login input {
- padding: 3px;
-}
-
-#login ul {
- list-style: none;
- margin: 0;
- padding: 0;
-}
-
-#login ul li {
- display: inline;
- margin-left: 1.4em;
- text-align: center;
-}
-
-#login #log, #pwd {
- font-size: 1.7em;
- width: 80%;
-}
-
-#login #submit {
- font-size: 1.7em;
-}
-
-#postcustom .updatemeta, #postcustom .deletemeta {
- margin: auto;
-}
-
-#postcustom table {
- border: 1px solid #ccc;
- margin: 0px;
- width: 100%;
-}
-
-#postcustom table input, #postcustom table textarea {
- width: 95%;
-}
-
-#poststuff {
- margin-right: 16em;
-}
-
-#save {
- width: 15em;
-}
-
-#template div {
- margin-right: 190px;
-}
-
-* html #template div {
- margin-right: 0px;
-}
-
-#template, #template div, #editcat, #addcat {
- zoom: 1;
-}
-
-#template textarea {
- font: small 'Courier New', Courier, monospace;
- width: 97%;
-}
-
-#templateside {
- float: right;
- width: 170px;
-}
-
-#templateside h3, #postcustom p.submit {
- margin: 0;
-}
-
-#templateside ol, #templateside ul {
- list-style: none;
- margin: .5em;
- padding: 0;
-}
-
-#user_info {
- position: absolute;
- right: 1em;
- top: 0;
- color: #fff;
- font-size: .9em;
-}
-
-#user_info a {
- color: #fff;
-}
-
-#wphead {
- background: #14568a;
- padding: .8em 19em .8em 2em;
- color: #c3def1;
-}
-
-#wphead a {
- color: #fff;
-}
-
-#wphead h1 {
- font-size: 2.5em;
- font-weight: normal;
- letter-spacing: -.05em;
- margin: 0;
- font-family: Georgia, "Times New Roman", Times, serif
-}
-
-#wphead h1 span {
- font-size: .4em;
- letter-spacing: 0;
-}
-
-#zeitgeist {
- background: #eee;
- border: 1px solid #69c;
- float: right;
- font-size: 90%;
- margin-bottom: .5em;
- margin-left: 1em;
- margin-top: .5em;
- padding: 1em;
- width: 40%;
-}
-
-#zeitgeist h2, fieldset legend a {
- border-bottom: none;
-}
-
-#zeitgeist h2 {
- margin-top: .4em;
-}
-
-#zeitgeist h3 {
- border-bottom: 1px solid #ccc;
- font-size: 16px;
- margin: 1em 0 0;
-}
-
-#zeitgeist h3 cite {
- font-size: 12px;
- font-style: normal;
-}
-
-#zeitgeist li, #zeitgeist p {
- margin: .2em 0;
-}
-
-#zeitgeist ul {
- margin: 0 0 .3em .6em;
- padding: 0 0 0 .6em;
-}
-
-.active td {
- background: #BEB;
-}
-.active .name {
- background: #9C9;
-}
-.alternate.active td {
- background: #ADA;
-}
-.alternate.active .name {
- background: #8B8;
-}
-
-#namediv, #emaildiv, #uridiv {
- float: left;
-}
-
-#ajax-response {
- padding: .5em;
-}
-
-/* A handy div class for hiding controls.
- Some browsers will disable them when you
- set display:none; */
-.zerosize {
- height: 0px;
- width: 0px;
- margin: 0px;
- border: 0px;
- padding: 0px;
- overflow: hidden;
- position: absolute;
-}
-
-/* Box stuff */
-.dbx-clone {
- position:absolute;
- visibility:hidden;
-}
-.dbx-clone, .dbx-clone .dbx-handle-cursor {
- cursor:move !important;
-}
-.dbx-dummy {
- display:block;
- width:0;
- height:0;
- overflow:hidden;
-}
-.dbx-group, .dbx-box, .dbx-handle {
- position:relative;
- display:block;
-}
-
-#grabit {
- width: 188px;
-}
-
-* html #themeselect {
- padding: 0px 3px;
- height: 22px;
-}
-
-/****************************************************************
- avoid padding, margins or borders on dbx-box,
- to reduce visual discrepancies between it and the clone.
- overall, dbx-box is best left as visually unstyled as possible
-*****************************************************************/
-.dbx-box {
- margin:0;
- padding:0;
- border:none;
-}
-
-/* Can change this */
-#moremeta fieldset, #advancedstuff fieldset {
- margin-bottom: 1em;
-}
-#moremeta fieldset div {
- margin: 2px 0 0 0px;
- padding: 7px;
-}
-#moremeta {
- line-height: 130%;
- margin-right: 15px;
- position: absolute;
- right: 5%;
- width: 14.5em;
-}
-#moremeta select {
- width: 96%;
-}
-
-#slugdiv input, #passworddiv input, #authordiv select, #thumbdiv input, #parentdiv input {
- margin-top: .5em;
- width: 90%;
-}
-
-#moremeta h3, #advancedstuff h3 {
- padding: 3px;
- font-weight: normal;
- font-size: 13px;
-}
-
-#advancedstuff div {
- margin-top: .5em;
-}
-
-#categorydiv ul {
- list-style: none;
- padding: 0;
- margin-left:10px;
-}
-#categorychecklist {
- height: 12em;
- overflow: auto;
- margin-top: 8px;
-}
-#categorychecklist li {
- margin: 0;
- padding: 0;
-}
-#ajaxcat input {
- border: 1px solid #ccc;
-}
-
-#your-profile fieldset {
- border: 1px solid #ccc;
- float: left;
- width: 40%;
- padding: .5em 2em;
- margin: 1em;
-}
-
-#your-profile fieldset input {
- width: 100%;
- font-size: 20px;
- padding: 2px;
-}
-
-#your-profile fieldset textarea {
- width: 100%;
- padding: 2px;
-}
-
-#your-profile legend {
- font-family: Georgia, "Times New Roman", Times, serif;
- font-size: 22px;
-}
-
-/* default box styles */
-
-/* toggle state of inner content area */
-.dbx-box-open .dbx-content {
- display: block;
-}
-.dbx-box-closed .dbx-content {
- display: none;
-}
-
-#moremeta .dbx-content {
- background: url(images/box-butt.gif) no-repeat bottom right;
- padding-bottom: 15px;
- padding-right: 2px;
-}
-
-/* handles */
-
-.dbx-handle {
- background: #2685af;
- padding: 6px 1em 2px;
- font-size: 12px;
- margin: 0;
- color: #E3EFF5;
-}
-
-#moremeta .dbx-handle {
- padding: 6px 1em 2px;
- font-size: 12px;
- background: #2685af url(images/box-head.gif) no-repeat right;
-}
-
-#moremeta .dbx-box {
- background: url(images/box-bg.gif) repeat-y right;
-}
-
-/* handle cursors */
-.dbx-handle-cursor {
- cursor: move;
-}
-
-/* toggle images */
-a.dbx-toggle, a.dbx-toggle:visited {
- display:block;
- overflow: hidden;
- background-image: url( images/toggle.gif );
- position: absolute;
- top: 0px;
- right: 0px;
- background-repeat: no-repeat;
- border: 0px;
- margin: 0px;
- padding: 0px;
-}
-
-#moremeta a.dbx-toggle, #moremeta a.dbx-toggle-open:visited {
- height: 25px;
- width: 27px;
- background-position: 0 0px;
-}
-
-#moremeta a.dbx-toggle-open, #moremeta a.dbx-toggle-open:visited {
- height: 25px;
- width: 27px;
- background-position: 0 -25px;
-}
-
-#advancedstuff a.dbx-toggle, #advancedstuff a.dbx-toggle-open:visited {
- height: 22px;
- width: 22px;
- background-position: 0 -3px;
-}
-
-#advancedstuff a.dbx-toggle-open, #advancedstuff a.dbx-toggle-open:visited {
- height: 22px;
- width: 22px;
- background-position: 0 -28px;
-}
-
-#categorychecklist {
- margin-right: 6px;
-}
-
-/* additional clone styles */
-.dbx-clone {
- opacity: 0.8;
- -moz-opacity: 0.8;
- -khtml-opacity: 0.8;
- filter: alpha(opacity=80);
-}
-
-#newcat { width: 120px; margin-right: 5px; }
-input#catadd { background: #a4a4a4;
- border-bottom: 1px solid #898989;
- border-left: 1px solid #bcbcbc;
- border-right: 1px solid #898989;
- border-top: 1px solid #bcbcbc;
- color: #fff;
- font-size: 10px;
- padding: 0;
- margin: 0;
- font-weight: bold;
- height: 20px;
- margin-bottom: 2px;
- text-align: center;
- width: 37px; }
-#howto {
- font-size: 11px;
- margin: 0 5px;
- display: block;
-}
-#jaxcat {
- margin: 0;
- padding: 0;
-}
-#ajax-response.alignleft {
- margin-left: 2em;
-}
diff --git a/wp-inst/wp-admin/wpmu-admin.php b/wp-inst/wp-admin/wpmu-admin.php
deleted file mode 100644
index d943761..0000000
--- a/wp-inst/wp-admin/wpmu-admin.php
+++ /dev/null
@@ -1,52 +0,0 @@
-<?php
-require_once('admin.php');
-
-$title = __('WPMU Admin');
-$parent_file = 'wpmu-admin.php';
-require_once('admin-header.php');
-if( is_site_admin() == false ) {
- die( __('<p>You do not have permission to access this page.</p>') );
-}
-if (isset($_GET['updated'])) {
- ?><div id="message" class="updated fade"><p><?php _e('Options saved.') ?></p></div><?php
-}
-?>
-<div class="wrap">
-<?php
-
-do_action( "wpmuadminresult", "" );
-
-switch( $_GET[ 'action' ] ) {
- default:
- /*
- // print some global stats.
- $stats = get_sitestats();
- print "<h2>Site Stats</h2>
- There are currently ".$stats[ 'blogs' ]." <a href='wpmu-blogs.php'>blogs</a> running on this server and ".$stats[ 'users' ]." <a href='wpmu-users.php'>users</a>.</p><br /><br />
- ";
-
- print "<table>";
- #$blogs = get_blog_list();
- #print "<br>blogs: <br>";
- #print_r( $blogs );
-
- $most_active = get_most_active_blogs( 10, false );
- if( is_array( $most_active ) ) {
- print "<caption>Most Active Blogs</caption>";
- print "<tr><th scope='col'>ID</th><th scope='col'>Address</th><th scope='col'>Posts</th></tr>";
- while( list( $key, $details ) = each( $most_active ) ) {
- $class = ('alternate' == $class) ? '' : 'alternate';
- $url = "http://" . $details[ 'domain' ] . $details[ 'path' ];
- print "<tr class='$class'><td>" . $details[ 'blog_id' ] . "</td><td><a href='$url'>$url</a></td><td>" . $details[ 'postcount' ] . "</td></tr>";
- }
- }
- print "</table>";
-
- do_action( "wpmuadmindefaultpage", "" );
- */
- break;
-}
-
-?>
-</div>
-<?php include('admin-footer.php'); ?>
diff --git a/wp-inst/wp-admin/wpmu-blogs.php b/wp-inst/wp-admin/wpmu-blogs.php
deleted file mode 100644
index 599e4a0..0000000
--- a/wp-inst/wp-admin/wpmu-blogs.php
+++ /dev/null
@@ -1,527 +0,0 @@
-<?php
-require_once('admin.php');
-
-$title = __('WPMU Admin');
-$parent_file = 'wpmu-admin.php';
-require_once('admin-header.php');
-if( is_site_admin() == false ) {
- die( __('<p>You do not have permission to access this page.</p>') );
-}
-if (isset($_GET['updated'])) {
- ?><div id="message" class="updated fade"><p><?php _e('Options saved.') ?></p></div><?php
-}
-print '<div class="wrap">';
-switch( $_GET[ 'action' ] ) {
- case "editblog":
- $options_table_name = $wpmuBaseTablePrefix . $_GET[ 'id' ] ."_options";
- $query = "SELECT *
- FROM ".$options_table_name."
- WHERE option_name NOT LIKE 'rss%'
- AND option_name NOT LIKE '%user_roles'";
- $options = $wpdb->get_results( $query, ARRAY_A );
- $query = "SELECT *
- FROM ".$wpdb->blogs."
- WHERE blog_id = '".$_GET[ 'id' ]."'";
- $details = $wpdb->get_row( $query, ARRAY_A );
-
- print "<h2>Edit Blog</h2>";
- print "<a href='http://{$details[ 'domain' ]}/'>{$details[ 'domain' ]}</a>";
- ?>
- <form name="form1" method="post" action="wpmu-edit.php?action=updateblog">
- <input type="hidden" name="id" value="<?php echo $_GET[ 'id' ] ?>" />
- <table><td valign='top'>
- <div class="wrap">
- <table width="100%" border='0' cellspacing="2" cellpadding="5" class="editform">
- <tr valign="top">
- <th scope="row">URL</th>
- <td>http://<input name="blog[domain]" type="text" id="domain" value="<?php echo $details[ 'domain' ] ?>" size="33" /></td>
- </tr>
- <tr valign="top">
- <th scope="row">Path</th>
- <td><input name="blog[path]" type="text" id="path" value="<?php echo $details[ 'path' ] ?>" size="40" /></td>
- </tr>
- <tr valign="top">
- <th scope="row">Registered</th>
- <td><input name="blog[registered]" type="text" id="blog_registered" value="<?php echo $details[ 'registered' ] ?>" size="40" /></td>
- </tr>
- <tr valign="top">
- <th scope="row">Last Updated</th>
- <td><input name="blog[last_updated]" type="text" id="blog_last_updated" value="<?php echo $details[ 'last_updated' ] ?>" size="40" /></td>
- </tr>
- <tr valign="top">
- <th scope="row">Public</th>
- <td><input type='radio' name='blog[public]' value='1' <?php if( $details[ 'public' ] == '1' ) echo " checked"?>> Yes&nbsp;&nbsp;
- <input type='radio' name='blog[public]' value='0' <?php if( $details[ 'public' ] == '0' ) echo " checked"?>> No &nbsp;&nbsp;
- </td>
- </tr>
- <tr valign="top">
- <th scope="row">Archived</th>
- <td><input type='radio' name='blog[archived]' value='1' <?php if( $details[ 'archived' ] == '1' ) echo " checked"?>> Yes&nbsp;&nbsp;
- <input type='radio' name='blog[archived]' value='0' <?php if( $details[ 'archived' ] == '0' ) echo " checked"?>> No &nbsp;&nbsp;
- </td>
- </tr>
- <tr valign="top">
- <th scope="row">Mature</th>
- <td><input type='radio' name='blog[mature]' value='1' <?php if( $details[ 'mature' ] == '1' ) echo " checked"?>> Yes&nbsp;&nbsp;
- <input type='radio' name='blog[mature]' value='0' <?php if( $details[ 'mature' ] == '0' ) echo " checked"?>> No &nbsp;&nbsp;
- </td>
- </tr>
- <tr valign="top">
- <th scope="row">Spam</th>
- <td><input type='radio' name='blog[spam]' value='1' <?php if( $details[ 'spam' ] == '1' ) echo " checked"?>> Yes&nbsp;&nbsp;
- <input type='radio' name='blog[spam]' value='0' <?php if( $details[ 'spam' ] == '0' ) echo " checked"?>> No &nbsp;&nbsp;
- </td>
- </tr>
- <tr valign="top">
- <th scope="row">Deleted</th>
- <td><input type='radio' name='blog[deleted]' value='1' <?php if( $details[ 'deleted' ] == '1' ) echo " checked"?>> Yes&nbsp;&nbsp;
- <input type='radio' name='blog[deleted]' value='0' <?php if( $details[ 'deleted' ] == '0' ) echo " checked"?>> No &nbsp;&nbsp;
- </td>
- </tr>
- <tr><td colspan='2'>
- <br />
- <br />
- </td></tr>
- <?php
- while( list( $key, $val ) = each( $options ) ) {
- $kellog = @unserialize( $val[ 'option_value' ] );
- if( is_array( $kellog ) ) {
- print '<tr valign="top">
- <th scope="row">' . ucwords( str_replace( "_", " ", $val[ 'option_name' ] ) ) . '</th>
- <td>';
- print '<textarea rows="5" cols="40" disabled>';
- reset( $kellog );
- while( list( $key, $val ) = each( $kellog ) )
- {
- if( is_array( $val ) ) {
- print "$key:\n";
- while( list( $k, $v ) = each( $val ) ) {
- if( is_array( $v ) ) {
- print " $k:\n";
- while( list( $k1, $v1 ) = each( $v ) ) {
- print " $k1 -> $v1\n";
- }
- } else {
- if( $v1 != '' )
- print " $k1 -> $v1\n";
- }
- }
- } else {
- if( $val != '' )
- print "$key -> $val\n";
- }
- }
- print '</textarea></td></tr>';
- } else {
- ?>
- <tr valign="top">
- <th scope="row"><?php echo ucwords( str_replace( "_", " ", $val[ 'option_name' ] ) ) ?></th>
- <td><input name="option[<?php echo $val[ 'option_name' ] ?>]" type="text" id="<?php echo $val[ 'option_name' ] ?>" value="<?php echo stripslashes( $val[ 'option_value' ] ) ?>" size="40" /></td>
- </tr>
- <?php
- }
- }
- ?>
- </table>
- <p class="submit">
- <input type="submit" name="Submit" value="<?php _e('Update Options') ?> &raquo;" />
- </p>
- </div>
- </td>
- <td valign='top'>
- <?php
- $themes = get_themes();
- $query = "SELECT option_value
- FROM ".$options_table_name."
- WHERE option_name = 'allowed_themes'";
- $blog_allowed_themes = $wpdb->get_var( $query );
- if( $blog_allowed_themes != false )
- $blog_allowed_themes = unserialize( $blog_allowed_themes );
- $allowed_themes = get_site_option( "allowed_themes" );
- if( $allowed_themes == false ) {
- $allowed_themes = array_keys( $themes );
- }
- $out = '';
- while( list( $key, $val ) = each( $themes ) ) {
- if( isset( $allowed_themes[ $key ] ) == false ) {
- if( isset( $blog_allowed_themes[ $key ] ) == true ) {
- $checked = 'checked ';
- } else {
- $checked = '';
- }
-
- $out .= '
- <tr valign="top">
- <th title="' . htmlspecialchars( $val[ "Description" ] ) . '" scope="row">'.$key.'</th>
- <td><input name="theme['.$key.']" type="checkbox" id="'.$key.'" value="on" '.$checked.'/></td>
- </tr> ';
- }
- }
- if( $out != '' ) {
- print "<div class='wrap'><h3>Blog Themes</h3>";
- print '<table width="100%" border="0" cellspacing="2" cellpadding="5" class="editform">';
- print '<tr><th>Theme</th><th>Enable</th></tr>';
- print $out;
- print "</table></div>";
- }
- $blogusers = get_users_of_blog( $_GET[ 'id' ] );
- print "<div class='wrap'><h3>Blog Users</h3>";
- if( is_array( $blogusers ) ) {
- print "<table width='100%'><caption>Current Users</caption>";
- print "<tr><th>User</th><th>Role</th><th>Remove</th><th></th></tr>";
- reset( $blogusers );
- while( list( $key, $val ) = each( $blogusers ) )
- {
- $t = @unserialize( $val->meta_value );
- if( is_array( $t ) ) {
- reset( $t );
- $existing_role = key( $t );
- }
- print "<tr><td>" . $val->user_login . "</td>";
- if( $val->user_id != $current_user->data->ID ) {
- ?>
- <td><select name="role[<?php echo $val->user_id ?>]" id="new_role"><?php
- foreach($wp_roles->role_names as $role => $name) {
- $selected = '';
- if( $role == $existing_role )
- $selected = 'selected="selected"';
- echo "<option {$selected} value=\"{$role}\">{$name}</option>";
- }
- ?></select></td> <?php
- print "<td><input title='Click to remove user' type='checkbox' name='blogusers[" . $val->user_id . "]'></td>";
- } else {
- print "<td><b>N/A</b></td><td><b>N/A</b></td>";
- }
- print "<td><a href='user-edit.php?user_id=" . $val->user_id . "'>Edit</td></tr>";
- }
- print "</table>";
- }
- print "<h3>Add a new user</h3>";
- ?>
-<?php autocomplete_css(); ?>
-<p>As you type WordPress will offer you a choice of usernames.<br /> Click them to select and hit <em>Update Options</em> to add the user.</p>
-<table>
-<tr><th scope="row">User&nbsp;Login: </th><td><input type="text" name="newuser" id="newuser"></td></tr>
-<tr><td></td><td><div id="searchresults" class="autocomplete"></div></td> </tr>
- <tr>
- <th scope="row"><?php _e('Role:') ?></th>
- <td><select name="new_role" id="new_role"><?php
- foreach($wp_roles->role_names as $role => $name) {
- $selected = '';
- if( $role == 'subscriber' )
- $selected = 'selected="selected"';
- echo "<option {$selected} value=\"{$role}\">{$name}</option>";
- }
- ?></select></td>
- </tr>
-</table>
-</div>
-<div class='wrap'><strong>Misc Blog Actions</strong>
-<p><?php do_action( "wpmueditblogaction", $_GET[ 'id' ] ); ?></p>
-</div>
-<p class="submit">
-<input type="submit" name="Submit" value="<?php _e('Update Options') ?> &raquo;" />
-</p>
-<?php autocomplete_textbox( "wpmu-edit.php?action=searchusers&search=", "newuser", "searchresults" ); ?>
-
- </td>
- </table>
- <?php
- break;
- default:
- if( isset( $_GET[ 'start' ] ) == false ) {
- $start = 0;
- } else {
- $start = intval( $_GET[ 'start' ] );
- }
- if( isset( $_GET[ 'num' ] ) == false ) {
- $num = 60;
- } else {
- $num = intval( $_GET[ 'num' ] );
- }
-
- $query = "SELECT *
- FROM ".$wpdb->blogs."
- WHERE site_id = '".$wpdb->siteid."' ";
- if( $_GET[ 's' ] != '' ) {
- $query = "SELECT blog_id, {$wpdb->blogs}.domain, registered, last_updated
- FROM $wpdb->blogs, $wpdb->site
- WHERE site_id = '$wpdb->siteid'
- AND {$wpdb->blogs}.site_id = {$wpdb->site}.id
- AND {$wpdb->blogs}.domain like '%". $_GET[ 's' ]."%'";
- } elseif( $_GET[ 'blog_id' ] != '' ) {
- $query = "SELECT *
- FROM $wpdb->blogs
- WHERE site_id = '$wpdb->siteid'
- AND blog_id = '".intval($_GET[ 'blog_id' ])."'";
- } elseif( $_GET[ 'ip_address' ] != '' ) {
- $query = "SELECT *
- FROM $wpdb->blogs, wp_registration_log
- WHERE site_id = '$wpdb->siteid'
- AND {$wpdb->blogs}.blog_id = wp_registration_log.blog_id
- AND wp_registration_log.IP LIKE ('%".$_GET[ 'ip_address' ]."%')";
- }
- if( isset( $_GET[ 'sortby' ] ) == false ) {
- $_GET[ 'sortby' ] = 'ID';
- }
- if( $_GET[ 'sortby' ] == 'Registered' ) {
- $query .= ' ORDER BY registered ';
- } elseif( $_GET[ 'sortby' ] == 'ID' ) {
- $query .= ' ORDER BY ' . $wpdb->blogs . '.blog_id ';
- } elseif( $_GET[ 'sortby' ] == 'Last Updated' ) {
- $query .= ' ORDER BY last_updated ';
- } elseif( $_GET[ 'sortby' ] == 'Blog Name' ) {
- $query .= ' ORDER BY domain ';
- }
- if( $_GET[ 'order' ] == 'DESC' ) {
- $query .= "DESC";
- } else {
- $query .= "ASC";
- }
-
- if ( $_GET[ 'ip_address' ] == '' )
- $query .= " LIMIT " . intval( $start ) . ", " . intval( $num );
- $blog_list = $wpdb->get_results( $query, ARRAY_A );
- if( count( $blog_list ) < $num ) {
- $next = false;
- } else {
- $next = true;
- }
-?>
-<script language="javascript">
-<!--
-var checkflag = "false";
-function check_all_rows() {
- field = document.formlist;
- if (checkflag == "false") {
- for (i = 0; i < field.length; i++) {
- if( field[i].name == 'allblogs[]' )
- field[i].checked = true;}
- checkflag = "true";
- return "Uncheck All";
- } else {
- for (i = 0; i < field.length; i++) {
- if( field[i].name == 'allblogs[]' )
- field[i].checked = false; }
- checkflag = "false";
- return "Check All";
- }
-}
-// -->
-</script>
-
-<h2>Blogs</h2>
-<form name="searchform" action="wpmu-blogs.php" method="get" style="float: left; width: 16em; margin-right: 3em;">
- <table><td>
- <fieldset>
- <legend><?php _e('Search Blogs&hellip;') ?></legend>
- <input type='hidden' name='action' value='blogs'>
- Name:&nbsp;<input type="text" name="s" value="<?php if (isset($_GET[ 's' ])) echo wp_specialchars($_GET[ 's' ], 1); ?>" size="17" /><br />
- Blog&nbsp;ID:&nbsp;<input type="text" name="blog_id" value="<?php if (isset($_GET[ 'blog_id' ])) echo wp_specialchars($_GET[ 'blog_id' ], 1); ?>" size="10" /><br />
- IP Address: <input type="text" name="ip_address" value="<?php if (isset($_GET[ 'ip_address' ])) echo wp_specialchars($_GET[ 'ip_address' ], 1); ?>" size="10" /><br />
- <input type="submit" name="submit" value="<?php _e('Search') ?>" />
- </fieldset>
- <?php
- if( isset($_GET[ 's' ]) && $_GET[ 's' ] != '' ) {
- ?><a href="/wp-admin/wpmu-users.php?action=users&s=<?php echo wp_specialchars($_GET[ 's' ], 1) ?>">Search Users: <?php echo wp_specialchars($_GET[ 's' ], 1) ?></a><?php
- }
- ?>
- </td><td>
- <fieldset>
- <legend><?php _e('Blog Navigation') ?></legend>
- <?php
-
- $url2 = "order=" . $_GET[ 'order' ] . "&sortby=" . $_GET[ 'sortby' ] . "&s=" . $_GET[ 's' ] . "&ip_address=" . $_GET[ 'ip_address' ];
-
- if( $start == 0 ) {
- echo 'Previous&nbsp;Blogs';
- } elseif( $start <= 30 ) {
- echo '<a href="wpmu-blogs.php?start=0&' . $url2 . ' ">Previous&nbsp;Blogs</a>';
- } else {
- echo '<a href="wpmu-blogs.php?start=' . ( $start - $num ) . '&' . $url2 . '">Previous&nbsp;Blogs</a>';
- }
- if ( $next ) {
- echo '&nbsp;||&nbsp;<a href="wpmu-blogs.php?start=' . ( $start + $num ) . '&' . $url2 . '">Next&nbsp;Blogs</a>';
- } else {
- echo '&nbsp;||&nbsp;Next&nbsp;Blogs';
- }
- ?>
- </fieldset>
- </td></table>
-</form>
-
-<br style="clear:both;" />
-
-<?php
-
-// define the columns to display, the syntax is 'internal name' => 'display name'
-$posts_columns = array(
- 'id' => __('ID'),
- 'blogname' => __('Blog Name'),
- 'last_updated' => __('Last Updated'),
- 'registered' => __('Registered'),
- 'users' => __('Users'),
- 'plugins' => __('Actions')
-);
-$posts_columns = apply_filters('manage_posts_columns', $posts_columns);
-
-// you can not edit these at the moment
-$posts_columns['control_view'] = '';
-$posts_columns['control_edit'] = '';
-$posts_columns['control_backend'] = '';
-$posts_columns['control_deactivate'] = '';
-$posts_columns['control_spam'] = '';
-$posts_columns['control_delete'] = '';
-
-?>
-
-<form name='formlist' action='wpmu-edit.php?action=allblogs' method='POST'>
-<input type=button value="Check All" onClick="this.value=check_all_rows()">
-<table width="100%" cellpadding="3" cellspacing="3">
- <tr>
-
-<?php foreach($posts_columns as $column_display_name) { ?>
- <th scope="col"><a href="wpmu-blogs.php?sortby=<?php echo urlencode( $column_display_name ) ?>&<?php if( $_GET[ 'sortby' ] == $column_display_name ) { if( $_GET[ 'order' ] == 'DESC' ) { echo "order=ASC&" ; } else { echo "order=DESC&"; } } ?>start=<?php echo $start ?>"><?php echo $column_display_name; ?></a></th>
-<?php } ?>
-
- </tr>
-<?php
-if ($blog_list) {
- $bgcolor = '';
- $status_list = array( "archived" => "#fee", "spam" => "#faa", "deleted" => "#f55" );
- foreach ($blog_list as $blog) {
- $class = ('alternate' == $class) ? '' : 'alternate';
- reset( $status_list );
- $bgcolour = "";
- while( list( $status, $col ) = each( $status_list ) ) {
- if( get_blog_status( $blog[ 'blog_id' ], $status ) == 1 ) {
- $bgcolour = "style='background: $col'";
- }
- }
- print "<tr $bgcolour class='$class'>";
-
-foreach($posts_columns as $column_name=>$column_display_name) {
-
- switch($column_name) {
-
- case 'id':
- ?>
- <th scope="row"><input type='checkbox' id='<?php echo $blog[ 'blog_id' ] ?>' name='allblogs[]' value='<?php echo $blog[ 'blog_id' ] ?>'> <label for='<?php echo $blog[ 'blog_id' ] ?>'><?php echo $blog[ 'blog_id' ] ?></label></th>
- <?php
- break;
-
- case 'blogname':
- ?>
- <td valign='top'><label for='<?php echo $blog[ 'blog_id' ] ?>'><?php echo str_replace( '.' . $current_site->domain, '', $blog[ 'domain' ] ) ?></label>
- </td>
- <?php
- break;
-
- case 'last_updated':
- ?>
- <td valign='top'><?php echo $blog[ 'last_updated' ] == '0000-00-00 00:00:00' ? "Never" : $blog[ 'last_updated' ] ?></td>
- <?php
- break;
-
- case 'registered':
- ?>
- <td valign='top'><?php echo $blog[ 'registered' ] ?></td>
- <?php
- break;
-
- case 'users':
- ?>
- <td valign='top'><?php $blogusers = get_users_of_blog( $blog[ 'blog_id' ] ); if( is_array( $blogusers ) ) while( list( $key, $val ) = each( $blogusers ) ) { print '<a href="user-edit.php?user_id=' . $val->user_id . '">' . $val->user_login . '</a> ('.$val->user_email.')<BR>'; } ?></td>
- <?php
- break;
-
- case 'control_view':
- ?>
- <td valign='top'><a href="http://<?php echo $blog[ 'domain' ]; ?>" rel="permalink" class="edit"><?php _e('View'); ?></a></td>
- <?php
- break;
-
- case 'control_edit':
- ?>
- <td valign='top'><?php echo "<a href='wpmu-blogs.php?action=editblog&amp;id=".$blog[ 'blog_id' ]."' class='edit'>" . __('Edit') . "</a>"; ?></td>
- <?php
- break;
-
- case 'control_backend':
- ?>
- <td valign='top'><?php echo "<a href='http://" . $blog[ 'domain' ] . $current_site->path . "wp-admin/' class='edit'>" . __('Backend') . "</a>"; ?></td>
- <?php
- break;
-
- case 'control_spam':
- if( get_blog_status( $blog[ 'blog_id' ], "spam" ) == '1' ) {
- ?>
- <td valign='top'><?php echo "<a href='wpmu-edit.php?action=unspamblog&amp;id=".$blog[ 'blog_id' ]."' class='edit' onclick=\"return confirm('" . sprintf(__("You are about to mark this blog as not spam?\\n \'OK\' to activate, \'Cancel\' to stop.") ) . "')\">" . __('Not Spam') . "</a>"; ?></td>
- <?php
- } else {
- ?>
- <td valign='top'><?php echo "<a href='wpmu-edit.php?action=spamblog&amp;id=".$blog[ 'blog_id' ]."' class='delete' onclick=\"return confirm('" . sprintf(__("You are about to mark this blog as spam?\\n \'OK\' to continue, \'Cancel\' to stop.") ) . "')\">" . __('Spam') . "</a>"; ?></td>
- <?php
- }
- break;
-
- case 'control_deactivate':
- if( is_archived( $blog[ 'blog_id' ] ) == '1' ) {
- ?>
- <td valign='top'><?php echo "<a href='wpmu-edit.php?action=activateblog&amp;id=".$blog[ 'blog_id' ]."' class='edit' onclick=\"return confirm('" . sprintf(__("You are about to activate this blog?\\n \'OK\' to activate, \'Cancel\' to stop.") ) . "')\">" . __('Activate') . "</a>"; ?></td>
- <?php
- } else {
- ?>
- <td valign='top'><?php echo "<a href='wpmu-edit.php?action=deactivateblog&amp;id=".$blog[ 'blog_id' ]."' class='delete' onclick=\"return confirm('" . sprintf(__("You are about to deactivate this blog?\\n \'OK\' to deactivate, \'Cancel\' to stop.") ) . "')\">" . __('Deactivate') . "</a>"; ?></td>
- <?php
- }
- break;
-
- case 'control_delete':
- ?>
- <td valign='top'><?php echo "<a href='wpmu-edit.php?action=deleteblog&amp;id=".$blog[ 'blog_id' ]."&amp;redirect=".wpmu_admin_redirect_url()."' class='delete' onclick=\"return confirm('" . sprintf(__("You are about to delete this blog?\\n \'OK\' to delete, \'Cancel\' to stop.") ) . "')\">" . __('Delete') . "</a>"; ?></td>
- <?php
- break;
-
- case 'plugins':
- ?>
- <td valign='top'><?php do_action( "wpmublogsaction", $blog[ 'blog_id' ] ); ?></td>
- <?php
- break;
-
- default:
- ?>
- <td valign='top'><?php do_action('manage_posts_custom_column', $column_name, $id); ?></td>
- <?php
- break;
- }
-}
-?>
- </tr>
-<?php
-}
-} else {
-?>
- <tr style='background-color: <?php echo $bgcolor; ?>'>
- <td colspan="8"><?php _e('No blogs found.') ?></td>
- </tr>
-<?php
-} // end if ($blogs)
-?>
-</table>
-<input type=button value="Check All" onClick="this.value=check_all_rows()">
-<p>Selected Blogs:<ul>
-<li><input type='radio' name='blogfunction' id='delete' value='delete'> <label for='delete'>Delete</label></li>
-<li><input type='radio' name='blogfunction' id='spam' value='spam'> <label for='spam'>Mark as Spam</label></li>
-</ul>
-<input type='hidden' name='redirect' value='<?php echo $_SERVER[ 'REQUEST_URI' ] ?>'>
-<input type='submit' value='Apply Changes'></p>
-</form>
-<?php
-
-break;
-} // end switch( $action )
-?>
-
-</div>
-<?php include('admin-footer.php'); ?>
diff --git a/wp-inst/wp-admin/wpmu-edit.php b/wp-inst/wp-admin/wpmu-edit.php
deleted file mode 100644
index ee9913c..0000000
--- a/wp-inst/wp-admin/wpmu-edit.php
+++ /dev/null
@@ -1,263 +0,0 @@
-<?php
-require_once('admin.php');
-
-do_action( "wpmuadminedit", "" );
-
-$_POST[ 'id' ] = intval( $_POST[ 'id' ] );
-$_GET[ 'id' ] = intval( $_GET[ 'id' ] );
-$id = $_POST[ 'id' ];
-
-switch( $_GET[ 'action' ] ) {
- case "siteoptions":
- if( is_site_admin() == false ) {
- die( __('<p>You do not have permission to access this page.</p>') );
- }
-
- update_site_option( "WPLANG", $_POST[ 'WPLANG' ] );
- update_site_option( "illegal_names", split( ' ', $_POST[ 'illegal_names' ] ) );
- if( $_POST[ 'limited_email_domains' ] != '' ) {
- update_site_option( "limited_email_domains", split( ' ', $_POST[ 'limited_email_domains' ] ) );
- } else {
- update_site_option( "limited_email_domains", '' );
- }
- update_site_option( "menu_items", $_POST[ 'menu_items' ] );
- update_site_option( "blog_upload_space", $_POST[ 'blog_upload_space' ] );
- update_site_option( "upload_filetypes", $_POST[ 'upload_filetypes' ] );
- update_site_option( "site_name", $_POST[ 'site_name' ] );
- update_site_option( "first_post", $_POST[ 'first_post' ] );
- update_site_option( "welcome_email", $_POST[ 'welcome_email' ] );
- update_site_option( "fileupload_maxk", $_POST[ 'fileupload_maxk' ] );
- $site_admins = explode( ' ', $_POST['site_admins'] );
- if ( is_array( $site_admins ) )
- update_site_option( 'site_admins' , $site_admins );
- header( "Location: wpmu-options.php?updated=true" );
- exit;
- break;
- case "searchcategories":
- $search = wp_specialchars( $_POST[ 'search' ] );
- $query = "SELECT cat_name FROM " . $wpdb->sitecategories . " WHERE cat_name LIKE '%" . $search . "%' limit 0,10";
- $cats = $wpdb->get_results( $query );
- if( is_array( $cats ) ) {
- print "<ul>";
- while( list( $key, $val ) = each( $cats ) )
- {
- print "<li>{$val->cat_name}</li>";
- }
- print "</ul>";
- }
- exit;
- break;
- case "searchusers":
- $search = wp_specialchars( $_POST[ 'search' ] );
- $query = "SELECT " . $wpdb->users . ".ID, " . $wpdb->users . ".user_login FROM " . $wpdb->users . " WHERE user_login LIKE '" . $search . "%' limit 0,10";
- $users = $wpdb->get_results( $query );
- if( is_array( $users ) ) {
- print "<ul>";
- while( list( $key, $val ) = each( $users ) )
- {
- print "<li>{$val->user_login}</li>";
- }
- print "</ul>";
- } else {
- print "No Users Found";
- }
- exit;
- break;
- case "updatefeeds":
- if( is_site_admin() == false ) {
- die( __('<p>You do not have permission to access this page.</p>') );
- }
-
- update_site_option( "customizefeed1", $_POST[ 'customizefeed1' ] );
- update_site_option( "customizefeed2", $_POST[ 'customizefeed2' ] );
- update_site_option( "dashboardfeed1", $_POST[ 'dashboardfeed1' ] );
- update_site_option( "dashboardfeed2", $_POST[ 'dashboardfeed2' ] );
- update_site_option( "dashboardfeed1name", $_POST[ 'dashboardfeed1name' ] );
- update_site_option( "dashboardfeed2name", $_POST[ 'dashboardfeed2name' ] );
- header( "Location: wpmu-feeds.php?updated=true" );
- break;
- case "updateblog":
- if( is_site_admin() == false ) {
- die( __('<p>You do not have permission to access this page.</p>') );
- }
- $options_table_name = $wpmuBaseTablePrefix . $id ."_options";
-
- // themes
- if( is_array( $_POST[ 'theme' ] ) ) {
- $allowed_themes = $_POST[ 'theme' ];
- $_POST[ 'option' ][ 'allowed_themes' ] = $_POST[ 'theme' ];
- } else {
- $_POST[ 'option' ][ 'allowed_themes' ] = '';
- }
- if( is_array( $_POST[ 'option' ] ) ) {
- while( list( $key, $val ) = each( $_POST[ 'option' ] ) ) {
- update_blog_option( $id, $key, $val );
- }
- }
- // update blogs table
- $query = "UPDATE $wpdb->blogs
- SET domain = '".$_POST[ 'blog' ][ 'domain' ]."',
- path = '".$_POST[ 'blog' ][ 'path' ]."',
- registered = '".$_POST[ 'blog' ][ 'registered' ]."',
- public = '".$_POST[ 'blog' ][ 'public' ]."',
- archived = '".$_POST[ 'blog' ][ 'archived' ]."',
- mature = '".$_POST[ 'blog' ][ 'mature' ]."',
- deleted = '".$_POST[ 'blog' ][ 'deleted' ]."',
- spam = '".$_POST[ 'blog' ][ 'spam' ]."'
- WHERE blog_id = '$id'";
- $result = $wpdb->query( $query );
- update_blog_status( $id, 'spam', $_POST[ 'blog' ][ 'spam' ] );
- // user roles
- if( is_array( $_POST[ 'role' ] ) == true ) {
- $newroles = $_POST[ 'role' ];
- reset( $newroles );
- while( list( $userid, $role ) = each( $newroles ) ) {
- $role_len = strlen( $role );
- $existing_role = $wpdb->get_var( "SELECT meta_value FROM $wpdb->usermeta WHERE user_id = '$userid' AND meta_key = '" . $wpmuBaseTablePrefix . $id . "_capabilities'" );
- if( false == $existing_role ) {
- $wpdb->query( "INSERT INTO " . $wpdb->usermeta . "( `umeta_id` , `user_id` , `meta_key` , `meta_value` ) VALUES ( NULL, '$userid', '" . $wpmuBaseTablePrefix . $id . "_capabilities', 'a:1:{s:" . strlen( $role ) . ":\"" . $role . "\";b:1;}')" );
- } elseif( $existing_role != "a:1:{s:" . strlen( $role ) . ":\"" . $role . "\";b:1;}" ) {
- $wpdb->query( "UPDATE $wpdb->usermeta SET meta_value = 'a:1:{s:" . strlen( $role ) . ":\"" . $role . "\";b:1;}' WHERE user_id = '$userid' AND meta_key = '" . $wpmuBaseTablePrefix . $id . "_capabilities'" );
- }
-
- }
- }
-
- // remove user
- if( is_array( $_POST[ 'blogusers' ] ) ) {
- reset( $_POST[ 'blogusers' ] );
- while( list( $key, $val ) = each( $_POST[ 'blogusers' ] ) ) {
- $wpdb->query( "DELETE FROM " . $wpdb->usermeta . " WHERE meta_key = '" . $wpmuBaseTablePrefix . $id . "_capabilities' AND user_id = '" . $key . "'" );
- }
- }
-
-
- // add user?
- if( $_POST[ 'newuser' ] != '' ) {
- $newuser = $_POST[ 'newuser' ];
- $userid = $wpdb->get_var( "SELECT ID FROM " . $wpdb->users . " WHERE user_login = '$newuser'" );
- if( $userid ) {
- $user = $wpdb->get_var( "SELECT user_id FROM " . $wpdb->usermeta . " WHERE user_id='$userid' AND meta_key='wp_" . $id . "_capabilities'" );
- if( $user == false )
- $wpdb->query( "INSERT INTO " . $wpdb->usermeta . "( `umeta_id` , `user_id` , `meta_key` , `meta_value` ) VALUES ( NULL, '$userid', '" . $wpmuBaseTablePrefix . $id . "_capabilities', 'a:1:{s:" . strlen( $_POST[ 'new_role' ] ) . ":\"" . $_POST[ 'new_role' ] . "\";b:1;}')" );
- }
- }
- header( "Location: wpmu-blogs.php?action=editblog&id=".$id."&updated=true" );
- break;
- case "deleteblog":
- if( is_site_admin() == false ) {
- die( __('<p>You do not have permission to access this page.</p>') );
- }
- $id = $_GET[ 'id' ];
- if( $id != '0' && $id != '1' )
- wpmu_delete_blog( $id, true );
- wpmu_admin_do_redirect( "wpmu-blogs.php" );
- break;
- case "allblogs":
- if( is_site_admin() == false ) {
- die( __('<p>You do not have permission to access this page.</p>') );
- }
- if( is_array( $_POST[ 'allblogs' ] ) ) {
- while( list( $key, $val ) = each( $_POST[ 'allblogs' ] ) ) {
- if( $val != '0' && $val != '1' ) {
- if( $_POST[ 'blogfunction' ] == 'delete' ) {
- wpmu_delete_blog( $val, true );
- } elseif( $_POST[ 'blogfunction' ] == 'spam' ) {
- update_blog_status( $val, "spam", '1' );
- }
- }
- }
- }
-
- if( isset( $_POST[ 'redirect' ] ) ) {
- wpmu_admin_do_redirect( $_POST[ 'redirect' ] );
- } else {
- header( "Location: wpmu-blogs.php?updated=true" );
- }
- break;
- case "activateblog":
- if( is_site_admin() == false ) {
- die( __('<p>You do not have permission to access this page.</p>') );
- }
- update_archived( $_GET[ 'id' ], '0' );
- header( "Location: wpmu-blogs.php?updated=true" );
- break;
- case "deactivateblog":
- if( is_site_admin() == false ) {
- die( __('<p>You do not have permission to access this page.</p>') );
- }
- do_action( "deactivate_blog", $_GET[ 'id' ] );
- update_archived( $_GET[ 'id' ], '1' );
- header( "Location: wpmu-blogs.php?updated=true" );
- break;
- case "unspamblog":
- if( is_site_admin() == false ) {
- die( __('<p>You do not have permission to access this page.</p>') );
- }
- update_blog_status( $_GET[ 'id' ], "spam", '0' );
- header( "Location: wpmu-blogs.php?updated=true" );
- break;
- case "spamblog":
- if( is_site_admin() == false ) {
- die( __('<p>You do not have permission to access this page.</p>') );
- }
- do_action( "make_spam_blog", $_GET[ 'id' ] );
- update_blog_status( $_GET[ 'id' ], "spam", '1' );
- header( "Location: wpmu-blogs.php?updated=true" );
- break;
- case "mature":
- update_blog_status( $_GET[ 'id' ], 'mature', '1' );
- do_action( 'mature_blog', $_GET[ 'id' ] );
- header( "Location: wpmu-blogs.php?updated=true" );
- break;
- case "unmature":
- update_blog_status( $_GET[ 'id' ], 'mature', '0' );
- do_action( 'unmature_blog', $_GET[ 'id' ] );
- header( "Location: wpmu-blogs.php?updated=true" );
- break;
- case "updateuser":
- if( is_site_admin() == false ) {
- die( __('<p>You do not have permission to access this page.</p>') );
- }
- unset( $_POST[ 'option' ][ 'ID' ] );
- if( is_array( $_POST[ 'option' ] ) ) {
- while( list( $key, $val ) = each( $_POST[ 'option' ] ) ) {
- $query = "UPDATE ".$wpdb->users." SET ".$key." = '".$val."' WHERE ID = '".$id."'";
- $wpdb->query( $query );
- }
- }
- if( is_array( $_POST[ 'meta' ] ) ) {
- while( list( $key, $val ) = each( $_POST[ 'meta' ] ) ) {
- $query = "UPDATE ".$wpdb->usermeta." SET meta_key = '".$_POST[ 'metaname' ][ $key ]."', meta_value = '".$val."' WHERE umeta_id = '".$key."'";
- $wpdb->query( $query );
- }
- }
- if( is_array( $_POST[ 'metadelete' ] ) ) {
- while( list( $key, $val ) = each( $_POST[ 'metadelete' ] ) ) {
- $query = "DELETE FROM ".$wpdb->usermeta." WHERE umeta_id = '".$key."'";
- $wpdb->query( $query );
- }
- }
- header( "Location: wpmu-users.php?action=edit&id=".$id."&updated=true" );
- break;
- case "updatethemes":
- if( is_site_admin() == false ) {
- die( __('<p>You do not have permission to access this page.</p>') );
- }
- if( is_array( $_POST[ 'theme' ] ) ) {
- $themes = array_flip( array_keys( get_themes() ) );
- reset( $themes );
- while( list( $key, $val ) = each( $themes ) )
- {
- if( $_POST[ 'theme' ][ addslashes( $key ) ] == 'enabled' )
- $allowed_themes[ $key ] = true;
- }
- update_site_option( 'allowed_themes', $allowed_themes );
- }
- header( "Location: wpmu-themes.php?updated=true" );
- break;
- default:
- header( "Location: wpmu-admin.php" );
- break;
-}
-?>
diff --git a/wp-inst/wp-admin/wpmu-feedback.php b/wp-inst/wp-admin/wpmu-feedback.php
deleted file mode 100644
index ff8c2bb..0000000
--- a/wp-inst/wp-admin/wpmu-feedback.php
+++ /dev/null
@@ -1,10 +0,0 @@
-<?php
-require_once('admin.php');
-/*
-function wpmufeedback() {
- // do something with: $_GET[ 'user_login' ], $_GET[ 'host' ], $_GET[ 'browser' ], $_GET[ 'req' ], $_GET[ 'feedback' ]
-}
-*/
-wpmufeedback();
-echo srand( 5 );
-?>
diff --git a/wp-inst/wp-admin/wpmu-feeds.php b/wp-inst/wp-admin/wpmu-feeds.php
deleted file mode 100644
index 98fd213..0000000
--- a/wp-inst/wp-admin/wpmu-feeds.php
+++ /dev/null
@@ -1,43 +0,0 @@
-<?php
-require_once('admin.php');
-
-$title = __('WPMU Admin');
-$parent_file = 'wpmu-admin.php';
-require_once('admin-header.php');
-if( is_site_admin() == false ) {
- die( __('<p>You do not have permission to access this page.</p>') );
-}
-if (isset($_GET['updated'])) {
- ?><div id="message" class="updated fade"><p><?php _e('Options saved.') ?></p></div><?php
-}
-print '<div class="wrap">';
-switch( $_GET[ 'action' ] ) {
- default:
- break;
-}
-
-$customizefeed1 = get_site_option( 'customizefeed1' );
-$customizefeed2 = get_site_option( 'customizefeed2' );
-$dashboardfeed1 = get_site_option( 'dashboardfeed1' );
-$dashboardfeed2 = get_site_option( 'dashboardfeed2' );
-$dashboardfeed1name = get_site_option( 'dashboardfeed1name' );
-$dashboardfeed2name = get_site_option( 'dashboardfeed2name' );
-
-?>
-<h2>Dashboard Feeds</h2>
-<p>The dashboard displays two feeds. You can allow your users to customize those feeds to set them to a feed of your own.</p>
-<form action='wpmu-edit.php?action=updatefeeds' method='POST'>
-<table>
-<tr><td valign='top'>Feed 1</td><td><ul><li> User customizable: <input type='radio' name='customizefeed1' value='1'<?php echo $customizefeed1 == 1 ? ' checked' : ''?>> Yes <input type='radio' name='customizefeed1' value='0'<?php echo $customizefeed1 == 0 ? ' checked' : ''?>> No</li>
- <li> Title: <input type='text' name='dashboardfeed1name' size='40' value='<?php echo $dashboardfeed1name ?>'></li>
- <li> Default Feed URL: <input type='text' name='dashboardfeed1' size='40' value='<?php echo $dashboardfeed1 ?>'></li></ul></td></tr>
-<tr><td valign='top'>Feed 2</td><td><ul><li> User customizable: <input type='radio' name='customizefeed2' value='1'<?php echo $customizefeed2 == 1 ? ' checked' : ''?>> Yes <input type='radio' name='customizefeed2' value='0'<?php echo $customizefeed2 == 0 ? ' checked' : ''?>> No</li>
- <li> Title: <input type='text' name='dashboardfeed2name' size='40' value='<?php echo $dashboardfeed2name ?>'></li>
- <li> Default Feed URL: <input type='text' name='dashboardfeed2' size='40' value='<?php echo $dashboardfeed2 ?>'></li></ul></td></tr>
-
-</table>
-<input type='submit' value='Update Feeds'>
-</form>
-
-</div>
-<?php include('admin-footer.php'); ?>
diff --git a/wp-inst/wp-admin/wpmu-options.php b/wp-inst/wp-admin/wpmu-options.php
deleted file mode 100644
index bded6ea..0000000
--- a/wp-inst/wp-admin/wpmu-options.php
+++ /dev/null
@@ -1,131 +0,0 @@
-<?php
-require_once('admin.php');
-$title = __('Site Options');
-$parent_file = 'wpmu-admin.php';
-
-include('admin-header.php');
-
-if( is_site_admin() == false ) {
- die( __('<p>You do not have permission to access this page.</p>') );
-}
-
-if (isset($_GET['updated'])) {
- ?><div id="message" class="updated fade"><p><?php _e('Options saved.') ?></p></div><?php
-}
-
-?>
-<div class="wrap">
- <h2><?php _e('Site Options') ?></h2>
- <form name="form1" method="post" action="wpmu-edit.php?action=siteoptions">
- <fieldset class="options">
- <legend><?php _e('Operational Settings <em>(These settings cannot be modified by blog owners)</em>') ?></legend>
- <table width="100%" cellspacing="2" cellpadding="5" class="editform">
- <tr valign="top">
- <th scope="row"><?php _e('Site Name:') ?></th>
- <td><input name="site_name" type="text" id="site_name" style="width: 95%" value="<?php echo $current_site->site_name ?>" size="45" />
- <br />
- <?php _e('What you would like to call this website.') ?></td>
- </tr>
- <tr valign="top">
- <th scope="row"><?php _e('Welcome Email:') ?></th>
- <td><textarea name="welcome_email" id="welcome_email" rows='5' cols='45' style="width: 95%"><?php echo stripslashes( get_site_option('welcome_email') ) ?></textarea>
- <br />
- <?php _e('The welcome email sent to new blog owners.') ?></td>
- </tr>
- <tr valign="top">
- <th scope="row"><?php _e('First Post:') ?></th>
- <td><textarea name="first_post" id="first_post" rows='5' cols='45' style="width: 95%"><?php echo stripslashes( get_site_option('first_post') ) ?></textarea>
- <br />
- <?php _e('First post on a new blog.') ?></td>
- </tr>
- <tr valign="top">
- <th scope="row"><?php _e('Banned Names:') ?></th>
- <td><input name="illegal_names" type="text" id="illegal_names" style="width: 95%" value="<?php echo implode( " ", get_site_option('illegal_names') ); ?>" size="45" />
- <br />
- <?php _e('Users are not allowed to register these blogs. Separate names by spaces.') ?></td>
- </tr>
- <tr valign="top">
- <th scope="row"><?php _e('Limited Email Registrations:') ?></th>
- <td><input name="limited_email_domains" type="text" id="limited_email_domains" style="width: 95%" value="<?php echo get_site_option('limited_email_domains') == '' ? '' : @implode( " ", get_site_option('limited_email_domains') ); ?>" size="45" />
- <br />
- <?php _e('If you want to limit blog registrations to certain domains. Separate domains by spaces.') ?></td>
- </tr>
- <tr valign="top">
- <th scope="row"><?php _e('Blog upload space:') ?></th>
- <td><input name="blog_upload_space" type="text" id="blog_upload_space" value="<?php echo get_site_option('blog_upload_space', 10) ?>" size="3" /> MB
- </tr>
- <tr valign="top">
- <th scope="row"><?php _e('Upload File Types:') ?></th>
- <td><input name="upload_filetypes" type="text" id="upload_filetypes" value="<?php echo get_site_option('upload_filetypes', 'jpg jpeg png gif') ?>" size="45" />
- </tr>
- <tr valign="top">
- <th scope="row"><?php _e('Max upload file size:') ?></th>
- <td><input name="fileupload_maxk" type="text" id="fileupload_maxk" value="<?php echo get_site_option('fileupload_maxk', 300) ?>" size="5" /> KB
- </tr>
- </table>
- </fieldset>
- <fieldset class="options">
- <legend><?php _e('Administration Settings') ?></legend>
- <table width="100%" cellspacing="2" cellpadding="5" class="editform">
- <tr valign="top">
- <th scope="row"><?php _e('Site Admins:') ?></th>
- <td><input name="site_admins" type="text" id="site_admins" style="width: 95%" value="<?php echo implode( " ", get_site_option( 'site_admins', array( 'admin' ) ) ) ?>" size="45" />
- <br />
- <?php _e('These users may login to the main blog and administer the site.') ?></td>
- </tr>
- </table>
- </fieldset>
- <fieldset class="options">
- <legend><?php _e('Site Wide Settings <em>(These settings may be overridden by blog owners)</em>') ?></legend>
- <table width="100%" cellspacing="2" cellpadding="5" class="editform">
- <?php
- $lang_files = glob( ABSPATH . WPINC . "/languages/*" );
- $lang = get_site_option( "WPLANG" );
- if( is_array( $lang_files ) ) {
- ?>
- <tr valign="top">
- <th width="33%" scope="row"><?php _e('Default Language:') ?></th>
- <td><select name="WPLANG" id="WPLANG">
- <?php
- echo "<option value=''>Default</option>";
- while( list( $key, $val ) = each( $lang_files ) ) {
- $l = basename( $val, ".mo" );
- echo "<option value='$l'";
- echo $lang == $l ? " selected" : "";
- echo "> $l</option>";
- }
- ?>
- </select></td>
- </tr>
- <?php
- } // languages
- ?>
- </table>
- </fieldset>
- <fieldset class="options">
- <legend><?php _e('Menus <em>(Enable or disable WP Backend Menus)</em>') ?></legend>
- <table cellspacing="2" cellpadding="5" class="editform">
- <tr><th scope='row'>Menu</th><th scope='row'>Enabled</th></tr>
- <?php
- $menu_perms = get_site_option( "menu_items" );
- $menu_items = array( "plugins" );
- while( list( $key, $val ) = each( $menu_items ) )
- {
- if( $menu_perms[ $val ] == '1' ) {
- $checked = ' checked';
- } else {
- $checked = '';
- }
- print "<tr><th scope='row'>" . ucfirst( $val ) . "</th><td><input type='checkbox' name='menu_items[" . $val . "]' value='1'" . $checked . "></tr>";
- }
- ?>
- </table>
- </fieldset>
- <fieldset class="options">
- </fieldset>
- <p class="submit">
- <input type="submit" name="Submit" value="<?php _e('Update Options') ?>" />
- </p>
- </form>
-</div>
-<?php include('./admin-footer.php'); ?>
diff --git a/wp-inst/wp-admin/wpmu-themes.php b/wp-inst/wp-admin/wpmu-themes.php
deleted file mode 100644
index a8e679c..0000000
--- a/wp-inst/wp-admin/wpmu-themes.php
+++ /dev/null
@@ -1,57 +0,0 @@
-<?php
-require_once('admin.php');
-
-$title = __('WPMU Admin');
-$parent_file = 'wpmu-admin.php';
-require_once('admin-header.php');
-if( is_site_admin() == false ) {
- die( __('<p>You do not have permission to access this page.</p>') );
-}
-if (isset($_GET['updated'])) {
- ?><div id="message" class="updated fade"><p><?php _e('Options saved.') ?></p></div><?php
-}
-print '<div class="wrap">';
-$themes = get_themes();
-$allowed_themes = get_site_option( "allowed_themes" );
-if( $allowed_themes == false ) {
- $allowed_themes = array_keys( $themes );
-}
-?>
-
-<form action='wpmu-edit.php?action=updatethemes' method='POST'>
-<h3>Site Themes</h3>
-<table border="0" cellspacing="5" cellpadding="5">
-<caption>Disable themes site-wide. You can enable themes on a blog by blog basis.</caption>
-<tr><th width="100">Disabled</th><th>Theme</th><th>Description</th></tr>
-<?php
-while( list( $key, $val ) = each( $themes ) ) {
- $i++;
- $enabled = '';
- $disabled = '';
- if( isset( $allowed_themes[ $key ] ) == true ) {
- $enabled = 'checked ';
- } else {
- $disabled = 'checked ';
- }
-?>
-
-<tr valign="top" style="<?php if ($i%2) echo 'background: #eee'; ?>">
-<td>
-<label><input name="theme[<?php echo $key ?>]" type="radio" id="<?php echo $key ?>" value="disabled" <?php echo $disabled ?>/> Yes</label>
-&nbsp;&nbsp;&nbsp;
-<label><input name="theme[<?php echo $key ?>]" type="radio" id="<?php echo $key ?>" value="enabled" <?php echo $enabled ?>/> No</label>
-</td>
-<th scope="row" align="left"><?php echo $key ?></th>
-<td><?php echo $val[ 'Description' ] ?></td>
-</tr>
-<?php
-}
-?>
-</table>
-<p class="submit">
-<input type='submit' value='Update Themes &raquo;' />
-</p>
-</form>
-
-</div>
-<?php include('admin-footer.php'); ?>
diff --git a/wp-inst/wp-admin/wpmu-upgrade-site.php b/wp-inst/wp-admin/wpmu-upgrade-site.php
deleted file mode 100644
index 284b9ca..0000000
--- a/wp-inst/wp-admin/wpmu-upgrade-site.php
+++ /dev/null
@@ -1,73 +0,0 @@
-<?php
-require_once('admin.php');
-
-$http_fopen = ini_get("allow_url_fopen");
-if(!$http_fopen) require_once('../wp-includes/class-snoopy.php');
-
-$title = __('WPMU Admin');
-$parent_file = 'wpmu-admin.php';
-require_once('admin-header.php');
-if( is_site_admin() == false ) {
- die( __('<p>You do not have permission to access this page.</p>') );
-}
-if (isset($_GET['updated'])) {
- ?><div id="message" class="updated fade"><p><?php _e('Options saved.') ?></p></div><?php
-}
-print '<div class="wrap">';
-switch( $_GET[ 'action' ] ) {
- case "upgrade":
- if( isset( $_GET[ 'n' ] ) == false ) {
- $n = 0;
- } else {
- $n = $_GET[ 'n' ];
- }
- $blogs = $wpdb->get_results( "SELECT * FROM $wpdb->blogs WHERE site_id = '$wpdb->siteid' AND spam = '0' AND deleted = '0' AND archived = '0' ORDER BY registered DESC LIMIT $n, 5", ARRAY_A );
- if( is_array( $blogs ) ) {
- print "<ul>";
- foreach( $blogs as $details ) {
- if( $details[ 'spam' ] == 0 && $details[ 'deleted' ] == 0 && $details[ 'archived' ] == 0 ) {
- $siteurl = $wpdb->get_var( "SELECT option_value from {$wpmuBaseTablePrefix}{$details[ 'blog_id' ]}_options WHERE option_name = 'siteurl'" );
- print "<li>$siteurl</li>";
- if($http_fopen) {
- $fp = fopen( $siteurl . "wp-admin/upgrade.php?step=1", "r" );
- if( $fp ) {
- while( feof( $fp ) == false ) {
- fgets($fp, 4096);
- }
- fclose( $fp );
- }
- } else {
- $client = new Snoopy();
- @$client->fetch($siteurl . "wp-admin/upgrade.php?step=1");
- }
- }
- }
- print "</ul>";
- ?>
- <p>If your browser doesn't start loading the next page automatically click this link: <a href="?action=upgrade&n=<?php echo ($n + 5) ?>">Next Blogs</a> </p>
- <script language='javascript'>
- <!--
-
- function nextpage() {
- location.href="wpmu-upgrade-site.php?action=upgrade&n=<?php echo ($n + 5) ?>";
- }
- setTimeout( "nextpage()", 250 );
-
- //-->
- </script>
- <?php
- } else {
- print "All Done!";
- }
- break;
- default:
- ?>
- <p>You can upgrade all the blogs on your site through this page. It works by calling the upgrade script of each blog automatically. Hit the link below to upgrade.</p>
- <p><a href="wpmu-upgrade-site.php?action=upgrade">Upgrade Site</a></p>
- <?php
- break;
-
-}
-?>
-</div>
-<?php include('admin-footer.php'); ?>
diff --git a/wp-inst/wp-admin/wpmu-users.php b/wp-inst/wp-admin/wpmu-users.php
deleted file mode 100644
index fdcf55e..0000000
--- a/wp-inst/wp-admin/wpmu-users.php
+++ /dev/null
@@ -1,339 +0,0 @@
-<?php
-require_once('admin.php');
-
-switch( $_GET[ 'action' ] ) {
- case "delete":
- $id = intval( $_GET[ 'id' ] );
- if( $id != '0' && $id != '1' )
- wpmu_delete_user($id);
- wpmu_admin_do_redirect( "wpmu-users.php" );
- die();
- break;
-}
-
-$title = __('WPMU Admin');
-$parent_file = 'wpmu-admin.php';
-require_once('admin-header.php');
-if( is_site_admin() == false ) {
- die( __('<p>You do not have permission to access this page.</p>') );
-}
-if (isset($_GET['updated'])) {
- ?><div id="message" class="updated fade"><p><?php _e('Options saved.') ?></p></div><?php
-}
-
-print '<div class="wrap">';
-switch( $_GET[ 'action' ] ) {
- case "edit":
- print "<h2>Edit User</h2>";
- $options_table_name = $wpmuBaseTablePrefix . $_GET[ 'id' ] ."_options";
- $query = "SELECT *
- FROM ".$wpdb->users."
- WHERE ID = '".$_GET[ 'id' ]."'";
- $userdetails = $wpdb->get_results( $query, ARRAY_A );
- $query = "SELECT *
- FROM ".$wpdb->usermeta."
- WHERE user_id = '".$_GET[ 'id' ]."'";
- $usermetadetails= $wpdb->get_results( $query, ARRAY_A );
- ?>
- <table><td valign='top'>
- <form name="form1" method="post" action="wpmu-edit.php?action=updateuser">
- <input type="hidden" name="id" value="<?php echo $_GET[ 'id' ] ?>" />
- <table width="100%" cellspacing="2" cellpadding="5" class="editform">
- <?php
- unset( $userdetails[0][ 'ID' ] );
- while( list( $key, $val ) = each( $userdetails[0] ) ) {
- ?>
- <tr valign="top">
- <th width="33%" scope="row"><?php echo ucwords( str_replace( "_", " ", $key ) ) ?></th>
- <td><input name="option[<?php echo $key ?>]" type="text" id="<?php echo $val ?>" value="<?php echo $val ?>" size="40" /></td>
- </tr>
- <?php
- }
- ?>
- </table>
- </td><td valign='top'>
- <table width="100%" cellspacing="2" cellpadding="5" class="editform">
- <tr><th style='text-align: left'>Name</th><th style='text-align: left'>Value</th><th style='text-align: left'>Delete</th></tr>
- <?php
- while( list( $key, $val ) = each( $usermetadetails ) ) {
- if( substr( $val[ 'meta_key' ], -12 ) == 'capabilities' )
- return;
- ?>
- <tr valign="top">
- <th width="33%" scope="row"><input name="metaname[<?php echo $val[ 'umeta_id' ] ?>]" type="text" id="<?php echo $val[ 'meta_key' ] ?>" value="<?php echo $val[ 'meta_key' ] ?>"></th>
- <td><input name="meta[<?php echo $val[ 'umeta_id' ] ?>]" type="text" id="<?php echo $val[ 'meta_value' ] ?>" value="<?php echo addslashes( $val[ 'meta_value' ] ) ?>" size="40" /></td>
- <td><input type='checkbox' name='metadelete[<?php echo $val[ 'umeta_id' ] ?>]'></td>
- </tr>
- <?php
- }
- ?>
- </table>
- </td></table>
-
- <p class="submit">
- <input type="submit" name="Submit" value="<?php _e('Update User') ?> &raquo;" />
- </p>
- <?php
- break;
- case "allusers":
- if( is_site_admin() == false ) {
- die( __('<p>You do not have permission to access this page.</p>') );
- }
- if( is_array( $_POST[ 'allusers' ] ) ) {
- while( list( $key, $val ) = each( $_POST[ 'allusers' ] ) ) {
- if( $val != '' && $val != '0' && $val != '1' ) {
- $user_details = get_userdata( $val );
- if( $_POST[ 'userfunction' ] == 'delete' ) {
- wpmu_delete_user($val);
- } elseif( $_POST[ 'userfunction' ] == 'spam' ) {
- $blogs = get_blogs_of_user( $val );
- if( is_array( $blogs ) ) {
- while( list( $key, $details ) = each( $blogs ) ) {
- update_blog_status( $details->userblog_id, "spam", '1' );
- do_action( "make_spam_blog", $details->userblog_id );
- }
- }
- }
- }
- }
- }
- header( "Location: wpmu-users.php?updated=true" );
- break;
- default:
- if( isset( $_GET[ 'start' ] ) == false ) {
- $start = 0;
- } else {
- $start = intval( $_GET[ 'start' ] );
- }
- if( isset( $_GET[ 'num' ] ) == false ) {
- $num = 30;
- } else {
- $num = intval( $_GET[ 'num' ] );
- }
-
- $query = "SELECT *
- FROM ".$wpdb->users;
- if( $_GET[ 's' ] != '' ) {
- $search = '%' . addslashes( $_GET['s'] ) . '%';
- $query .= " WHERE user_login LIKE '$search' OR user_email LIKE '$search'";
- }
- if( isset( $_GET[ 'sortby' ] ) == false ) {
- $_GET[ 'sortby' ] = 'ID';
- }
- if( $_GET[ 'sortby' ] == 'Email' ) {
- $query .= ' ORDER BY user_email ';
- } elseif( $_GET[ 'sortby' ] == 'ID' ) {
- $query .= ' ORDER BY ID ';
- } elseif( $_GET[ 'sortby' ] == 'Login' ) {
- $query .= ' ORDER BY user_login ';
- } elseif( $_GET[ 'sortby' ] == 'Name' ) {
- $query .= ' ORDER BY display_name ';
- } elseif( $_GET[ 'sortby' ] == 'Registered' ) {
- $query .= ' ORDER BY registered ';
- }
- if( $_GET[ 'order' ] == 'DESC' ) {
- $query .= "DESC";
- } else {
- $query .= "ASC";
- }
- $query .= " LIMIT " . intval( $start ) . ", " . intval( $num );
- $user_list = $wpdb->get_results( $query, ARRAY_A );
- if( count( $user_list ) < $num ) {
- $next = false;
- } else {
- $next = true;
- }
-?>
-<h2>Users</h2>
-<form name="searchform" action="wpmu-users.php" method="get" style="float: left; width: 16em; margin-right: 3em;">
- <table><td>
- <fieldset>
- <legend><?php _e('Search Users&hellip;') ?></legend>
- <input type='hidden' name='action' value='users'>
- <input type="text" name="s" value="<?php if (isset($_GET[ 's' ])) echo wp_specialchars($_GET[ 's' ], 1); ?>" size="17" />
- <input type="submit" name="submit" value="<?php _e('Search') ?>" />
- </fieldset>
- <?php
- if( isset($_GET[ 's' ]) && $_GET[ 's' ] != '' ) {
- ?><a href="/wp-admin/wpmu-blogs.php?action=blogs&s=<?php echo wp_specialchars($_GET[ 's' ], 1) ?>">Search Blogs: <?php echo wp_specialchars($_GET[ 's' ], 1) ?></a><?php
- }
- ?>
- </td><td>
- <fieldset>
- <legend><?php _e('User Navigation') ?></legend>
- <?php
-
- $url2 = "order=" . $_GET[ 'order' ] . "&sortby=" . $_GET[ 'sortby' ] . "&s=" .$_GET[ 's' ];
-
- if( $start == 0 ) {
- echo 'Previous&nbsp;Users';
- } elseif( $start <= 30 ) {
- echo '<a href="wpmu-users.php?start=0' . $url2 . '">Previous&nbsp;Users</a>';
- } else {
- echo '<a href="wpmu-users.php?start=' . ( $start - $num ) . '&' . $url2 . '">Previous&nbsp;Users</a>';
- }
- if ( $next ) {
- echo '&nbsp;||&nbsp;<a href="wpmu-users.php?start=' . ( $start + $num ) . '&' . $url2 . '">Next&nbsp;Users</a>';
- } else {
- echo '&nbsp;||&nbsp;Next&nbsp;Users';
- }
- ?>
- </fieldset>
- </td></table>
-</form>
-
-<br style="clear:both;" />
-
-<?php
-
-// define the columns to display, the syntax is 'internal name' => 'display name'
-$posts_columns = array(
- 'ID' => __('ID'),
- 'user_login' => __('Login'),
- 'user_email' => __('Email'),
- 'display_name' => __('Name'),
- 'user_registered' => __('Registered'),
- 'blogs' => __('Blogs')
-);
-$posts_columns = apply_filters('manage_posts_columns', $posts_columns);
-
-// you can not edit these at the moment
-$posts_columns['control_edit'] = '';
-$posts_columns['control_delete'] = '';
-
-?>
-<script language="javascript">
-<!--
-var checkflag = "false";
-function check_all_rows() {
- field = document.formlist;
- if (checkflag == "false") {
- for (i = 0; i < field.length; i++) {
- if( field[i].name == 'allusers[]' )
- field[i].checked = true;}
- checkflag = "true";
- return "Uncheck All";
- } else {
- for (i = 0; i < field.length; i++) {
- if( field[i].name == 'allusers[]' )
- field[i].checked = false; }
- checkflag = "false";
- return "Check All";
- }
-}
-// -->
-</script>
-
-<form name='formlist' action='wpmu-users.php?action=allusers' method='POST'>
-<input type=button value="Check All" onClick="this.value=check_all_rows()">
-<table width="100%" cellpadding="3" cellspacing="3">
- <tr>
-
-<?php foreach($posts_columns as $column_display_name) { ?>
- <th scope="col"><?php if( $column_display_name == 'Blogs' ) { echo "Blogs"; } else { ?><a href="wpmu-users.php?sortby=<?php echo urlencode( $column_display_name ) ?>&<?php if( $_GET[ 'sortby' ] == $column_display_name ) { if( $_GET[ 'order' ] == 'DESC' ) { echo "order=ASC&" ; } else { echo "order=DESC&"; } } ?>start=<?php echo $start ?>"><?php echo $column_display_name; ?></a></th><?php } ?>
-<?php } ?>
-
- </tr>
-<?php
-if ($user_list) {
-$bgcolor = '';
-foreach ($user_list as $user) {
-$class = ('alternate' == $class) ? '' : 'alternate';
-?>
- <tr class='<?php echo $class; ?>'>
-
-<?php
-
-foreach($posts_columns as $column_name=>$column_display_name) {
-
- switch($column_name) {
-
- case 'ID':
- ?>
- <th scope="row"><input type='checkbox' id='<?php echo $user[ 'ID' ] ?>' name='allusers[]' value='<?php echo $user[ 'ID' ] ?>'> <label for='<?php echo $user[ 'ID' ] ?>'><?php echo $user[ 'ID' ] ?></label></th>
- <?php
- break;
-
- case 'user_login':
- ?>
- <td><label for='<?php echo $user[ 'ID' ] ?>'><?php echo $user[ 'user_login' ] ?></label>
- </td>
- <?php
- break;
-
- case 'display_name':
- ?>
- <td><?php echo $user[ 'display_name' ] ?></td>
- <?php
- break;
-
- case 'user_email':
- ?>
- <td><?php echo $user[ 'user_email' ] ?></td>
- <?php
- break;
-
- case 'user_registered':
- ?>
- <td><?php echo $user[ 'user_registered' ] ?></td>
- <?php
- break;
-
- case 'blogs':
- $blogs = get_blogs_of_user( $user[ 'ID' ] );
- ?>
- <td><?php if( is_array( $blogs ) )
- while( list( $key, $val ) = each( $blogs ) ) {
- print '<a href="wpmu-blogs.php?action=editblog&id=' . $val->userblog_id . '">' . str_replace( '.' . $current_site->domain, '', $val->domain ) . '</a> (<a ';
- if( get_blog_status( $val->userblog_id, 'spam' ) == 1 )
- print 'style="background-color: #f66" ';
- print 'target="_new" href="http://'.$val->domain . $val->path.'">View</a>)<BR>';
- } ?></td>
- <?php
- break;
-
- case 'control_edit':
- ?>
- <td><?php echo "<a href='user-edit.php?user_id=".$user[ 'ID' ]."' class='edit'>" . __('Edit') . "</a>"; ?></td>
- <?php
- break;
-
- case 'control_delete':
- ?>
- <td><?php echo "<a href='wpmu-users.php?action=delete&amp;id=".$user[ 'ID' ]."&amp;redirect=".wpmu_admin_redirect_url()."' class='delete' onclick=\"return confirm('" . sprintf(__("You are about to delete this user?\\n \'OK\' to delete, \'Cancel\' to stop.") ) . "')\">" . __('Delete') . "</a>"; ?></td>
- <?php
- break;
-
- default:
- ?>
- <td><?php do_action('manage_posts_custom_column', $column_name, $id); ?></td>
- <?php
- break;
- }
-}
-?>
- </tr>
-<?php
-}
-} else {
-?>
- <tr style='background-color: <?php echo $bgcolor; ?>'>
- <td colspan="8"><?php _e('No users found.') ?></td>
- </tr>
-<?php
-} // end if ($users)
-?>
-</table>
-<p>Selected Users:<ul>
-<li><input type='radio' name='userfunction' id='delete' value='delete'> <label for='delete'>Delete</label></li>
-<li><input type='radio' name='userfunction' id='spam' value='spam'> <label for='spam'>Mark as Spammers</label></li>
-</ul>
-<input type='submit' value='Apply Changes'></p>
-</form>
-
-<?php
-}
-
-?>
-</div>
-<?php include('admin-footer.php'); ?>
diff --git a/wp-inst/wp-admin/xfn.js b/wp-inst/wp-admin/xfn.js
deleted file mode 100644
index 3cdf608..0000000
--- a/wp-inst/wp-admin/xfn.js
+++ /dev/null
@@ -1,46 +0,0 @@
-function GetElementsWithClassName(elementName, className) {
- var allElements = document.getElementsByTagName(elementName);
- var elemColl = new Array();
- for (i = 0; i < allElements.length; i++) {
- if (allElements[i].className == className) {
- elemColl[elemColl.length] = allElements[i];
- }
- }
- return elemColl;
-}
-
-function meChecked() {
- var undefined;
- var eMe = document.getElementById('me');
- if (eMe == undefined) return false;
- else return eMe.checked;
-}
-
-function upit() {
- var isMe = meChecked(); //document.getElementById('me').checked;
- var inputColl = GetElementsWithClassName('input', 'valinp');
- var results = document.getElementById('link_rel');
- var linkText, linkUrl, inputs = '';
- for (i = 0; i < inputColl.length; i++) {
- inputColl[i].disabled = isMe;
- inputColl[i].parentNode.className = isMe ? 'disabled' : '';
- if (!isMe && inputColl[i].checked && inputColl[i].value != '') {
- inputs += inputColl[i].value + ' ';
- }
- }
- inputs = inputs.substr(0,inputs.length - 1);
- if (isMe) inputs='me';
- results.value = inputs;
- }
-
-function blurry() {
- if (!document.getElementById) return;
-
- var aInputs = document.getElementsByTagName('input');
-
- for (var i = 0; i < aInputs.length; i++) {
- aInputs[i].onclick = aInputs[i].onkeyup = upit;
- }
-}
-
-addLoadEvent(blurry);
diff --git a/wp-inst/wp-atom.php b/wp-inst/wp-atom.php
deleted file mode 100644
index feb2845..0000000
--- a/wp-inst/wp-atom.php
+++ /dev/null
@@ -1,45 +0,0 @@
-<?php
-
-if (empty($wp)) {
- require_once('wp-config.php');
- wp('feed=atom');
-}
-
-header('Content-type: application/atom+xml; charset=' . get_settings('blog_charset'), true);
-$more = 1;
-
-?>
-<?php echo '<?xml version="1.0" encoding="'.get_settings('blog_charset').'"?'.'>'; ?>
-<feed version="0.3"
- xmlns="http://purl.org/atom/ns#"
- xmlns:dc="http://purl.org/dc/elements/1.1/"
- xml:lang="<?php echo get_option('rss_language'); ?>"
- <?php do_action('atom_ns'); ?>
- >
- <title><?php bloginfo_rss('name') ?></title>
- <link rel="alternate" type="text/html" href="<?php bloginfo_rss('home') ?>" />
- <tagline><?php bloginfo_rss("description") ?></tagline>
- <modified><?php echo mysql2date('Y-m-d\TH:i:s\Z', get_lastpostmodified('GMT'), false); ?></modified>
- <copyright>Copyright <?php echo mysql2date('Y', get_lastpostdate('blog'), 0); ?></copyright>
- <generator url="http://wordpress.org/" version="<?php bloginfo_rss('version'); ?>">WordPress</generator>
- <?php do_action('atom_head'); ?>
- <?php $items_count = 0; if ($posts) { foreach ($posts as $post) { start_wp(); ?>
- <entry>
- <author>
- <name><?php the_author() ?></name>
- </author>
- <title type="text/html" mode="escaped"><![CDATA[<?php the_title_rss() ?>]]></title>
- <link rel="alternate" type="text/html" href="<?php permalink_single_rss() ?>" />
- <id><?php the_guid(); ?></id>
- <modified><?php echo get_post_time('Y-m-d\TH:i:s\Z', true); ?></modified>
- <issued><?php echo get_post_time('Y-m-d\TH:i:s\Z', true); ?></issued>
- <?php the_category_rss('rdf') ?>
- <summary type="text/plain" mode="escaped"><![CDATA[<?php the_excerpt_rss(); ?>]]></summary>
-<?php if ( !get_settings('rss_use_excerpt') ) : ?>
- <content type="<?php bloginfo('html_type'); ?>" mode="escaped" xml:base="<?php permalink_single_rss() ?>"><![CDATA[<?php the_content('', 0, '') ?>]]></content>
-<?php endif; ?>
-<?php rss_enclosure(); ?>
-<?php do_action('atom_entry'); ?>
- </entry>
- <?php $items_count++; if (($items_count == get_settings('posts_per_rss')) && empty($m)) { break; } } } ?>
-</feed>
diff --git a/wp-inst/wp-blog-header.php b/wp-inst/wp-blog-header.php
deleted file mode 100644
index c087324..0000000
--- a/wp-inst/wp-blog-header.php
+++ /dev/null
@@ -1,21 +0,0 @@
-<?php
-
-if (! isset($wp_did_header)):
-if ( !file_exists( dirname(__FILE__) . '/wp-config.php') ) {
- if ( strstr( $_SERVER['PHP_SELF'], 'wp-admin') ) $path = '';
- else $path = 'wp-admin/';
- die("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://wordpress.org/docs/faq/#wp-config'>We got it</a>. You can <a href='{$path}setup-config.php'>create a <code>wp-config.php</code> file through a web interface</a>, but this doesn't work for all server setups. The safest way is to manually create the file.");
-}
-
-$wp_did_header = true;
-
-require_once( dirname(__FILE__) . '/wp-config.php');
-
-wp();
-gzip_compression();
-
-require_once(ABSPATH . WPINC . '/template-loader.php');
-
-endif;
-
-?> \ No newline at end of file
diff --git a/wp-inst/wp-comments-post.php b/wp-inst/wp-comments-post.php
deleted file mode 100644
index 2e561b2..0000000
--- a/wp-inst/wp-comments-post.php
+++ /dev/null
@@ -1,64 +0,0 @@
-<?php
-require( dirname(__FILE__) . '/wp-config.php' );
-
-nocache_headers();
-
-$comment_post_ID = (int) $_POST['comment_post_ID'];
-
-$status = $wpdb->get_row("SELECT post_status, comment_status FROM $wpdb->posts WHERE ID = '$comment_post_ID'");
-
-if ( empty($status->comment_status) ) {
- do_action('comment_id_not_found', $comment_post_ID);
- exit;
-} elseif ( 'closed' == $status->comment_status ) {
- do_action('comment_closed', $comment_post_ID);
- die( __('Sorry, comments are closed for this item.') );
-} elseif ( 'draft' == $status->post_status ) {
- do_action('comment_on_draft', $comment_post_ID);
- exit;
-}
-
-$comment_author = trim($_POST['author']);
-$comment_author_email = trim($_POST['email']);
-$comment_author_url = trim($_POST['url']);
-$comment_content = trim($_POST['comment']);
-
-// If the user is logged in
-$user = wp_get_current_user();
-if ( $user->ID ) :
- $comment_author = $wpdb->escape($user->display_name);
- $comment_author_email = $wpdb->escape($user->user_email);
- $comment_author_url = $wpdb->escape($user->user_url);
-else :
- if ( get_option('comment_registration') )
- die( __('Sorry, you must be logged in to post a comment.') );
-endif;
-
-$comment_type = '';
-
-if ( get_settings('require_name_email') && !$user->ID ) {
- if ( 6 > strlen($comment_author_email) || '' == $comment_author )
- die( __('Error: please fill the required fields (name, email).') );
- elseif ( !is_email($comment_author_email))
- die( __('Error: please enter a valid email address.') );
-}
-
-if ( '' == $comment_content )
- die( __('Error: please type a comment.') );
-
-$commentdata = compact('comment_post_ID', 'comment_author', 'comment_author_email', 'comment_author_url', 'comment_content', 'comment_type', 'user_ID');
-
-$comment_id = wp_new_comment( $commentdata );
-
-$comment = get_comment($comment_id);
-if ( !$user->ID ) :
- setcookie('comment_author_' . COOKIEHASH, $comment->comment_author, time() + 30000000, COOKIEPATH, COOKIE_DOMAIN);
- setcookie('comment_author_email_' . COOKIEHASH, $comment->comment_author_email, time() + 30000000, COOKIEPATH, COOKIE_DOMAIN);
- setcookie('comment_author_url_' . COOKIEHASH, clean_url($comment->comment_author_url), time() + 30000000, COOKIEPATH, COOKIE_DOMAIN);
-endif;
-
-$location = ( empty( $_POST['redirect_to'] ) ) ? get_permalink( $comment_post_ID ) : $_POST['redirect_to'];
-
-wp_redirect( $location );
-
-?>
diff --git a/wp-inst/wp-commentsrss2.php b/wp-inst/wp-commentsrss2.php
deleted file mode 100644
index e62e7dc..0000000
--- a/wp-inst/wp-commentsrss2.php
+++ /dev/null
@@ -1,87 +0,0 @@
-<?php
-
-if (empty($wp)) {
- require_once('wp-config.php');
- wp('feed=rss2&withcomments=1');
-}
-
-header('Content-type: text/xml;charset=' . get_settings('blog_charset'), true);
-
-echo '<?xml version="1.0" encoding="'.get_settings('blog_charset').'"?'.'>';
-?>
-<!-- generator="wordpress/<?php echo $wp_version ?>" -->
-<rss version="2.0"
- xmlns:content="http://purl.org/rss/1.0/modules/content/">
-<channel>
-<?php
-$i = 0;
-if (have_posts()) :
- while (have_posts()) : the_post();
- if ($i < 1) {
- $i++;
-?>
- <title><?php if (is_single() || is_page() ) { printf(__('Comments on: %s'), get_the_title_rss()); } else { printf(__('Comments for %s'), get_bloginfo_rss("name")); } ?></title>
- <link><?php (is_single()) ? permalink_single_rss() : bloginfo_rss("url") ?></link>
- <description><?php bloginfo_rss("description") ?></description>
- <pubDate><?php echo gmdate('r'); ?></pubDate>
- <generator>http://wordpress.org/?v=<?php echo $wp_version ?></generator>
-
-<?php
- if (is_single() || is_page()) {
- $comments = $wpdb->get_results("SELECT comment_ID, comment_author, comment_author_email,
- comment_author_url, comment_date, comment_date_gmt, comment_content, comment_post_ID,
- $wpdb->posts.ID, $wpdb->posts.post_password FROM $wpdb->comments
- LEFT JOIN $wpdb->posts ON comment_post_id = id WHERE comment_post_ID = '" . get_the_ID() . "'
- AND $wpdb->comments.comment_approved = '1' AND $wpdb->posts.post_status = 'publish'
- AND post_date_gmt < '" . gmdate("Y-m-d H:i:59") . "'
- ORDER BY comment_date_gmt DESC LIMIT " . get_settings('posts_per_rss') );
- } else { // if no post id passed in, we'll just ue the last 10 comments.
- $comments = $wpdb->get_results("SELECT comment_ID, comment_author, comment_author_email,
- comment_author_url, comment_date, comment_date_gmt, comment_content, comment_post_ID,
- $wpdb->posts.ID, $wpdb->posts.post_password FROM $wpdb->comments
- LEFT JOIN $wpdb->posts ON comment_post_id = id WHERE $wpdb->posts.post_status = 'publish'
- AND $wpdb->comments.comment_approved = '1' AND post_date_gmt < '" . gmdate("Y-m-d H:i:s") . "'
- ORDER BY comment_date_gmt DESC LIMIT " . get_settings('posts_per_rss') );
- }
- // this line is WordPress' motor, do not delete it.
- if ($comments) {
- foreach ($comments as $comment) {
- $GLOBALS['comment'] =& $comment;
- // Some plugins may need to know the metadata
- // associated with this comment's post:
- get_post_custom($comment->comment_post_ID);
-?>
- <item>
- <title><?php if ( ! (is_single() || is_page()) ) {
- $title = get_the_title($comment->comment_post_ID);
- $title = apply_filters('the_title', $title);
- $title = apply_filters('the_title_rss', $title);
- printf(__('Comment on %1$s by %2$s'), $title, get_comment_author_rss());
- } else {
- printf(__('by: %s'), get_comment_author_rss());
- } ?></title>
- <link><?php comment_link() ?></link>
- <pubDate><?php echo mysql2date('D, d M Y H:i:s +0000', get_comment_time('Y-m-d H:i:s', true), false); ?></pubDate>
- <guid><?php comment_link() ?></guid>
- <?php
- if (!empty($comment->post_password) && $_COOKIE['wp-postpass'] != $comment->post_password) {
- ?>
- <description><?php _e('Protected Comments: Please enter your password to view comments.'); ?></description>
- <content:encoded><![CDATA[<?php echo get_the_password_form() ?>]]></content:encoded>
- <?php
- } else {
- ?>
- <description><?php comment_text_rss() ?></description>
- <content:encoded><![CDATA[<?php comment_text() ?>]]></content:encoded>
- <?php
- } // close check for password
- ?>
- </item>
-<?php
- }
- }
- }
-endwhile; endif;
-?>
-</channel>
-</rss>
diff --git a/wp-inst/wp-config-sample.php b/wp-inst/wp-config-sample.php
deleted file mode 100644
index 086d722..0000000
--- a/wp-inst/wp-config-sample.php
+++ /dev/null
@@ -1,88 +0,0 @@
-<?php
-// ** MySQL settings ** //
-define('DB_NAME', 'wordpress'); // The name of the database
-define('DB_USER', 'username'); // Your MySQL username
-define('DB_PASSWORD', 'password'); // ...and password
-define('DB_HOST', 'localhost'); // 99% chance you won't need to change this value
-define('VHOST', 'VHOSTSETTING');
-$base = 'BASE';
-
-// Change the prefix if you want to have multiple blogs in a single database.
-$table_prefix = 'wp_'; // example: 'wp_' or 'b2' or 'mylogin_'
-
-// Change this to localize WordPress. A corresponding MO file for the
-// chosen language must be installed to wp-includes/languages.
-// For example, install de.mo to wp-includes/languages and set WPLANG to 'de'
-// to enable German language support.
-define ('WPLANG', '');
-
-define( "WP_USE_MULTIPLE_DB", false );
-/*
- All databases must use different usernames and passwords!
-*/
-$db_list = array(
- "write" => array(
- array( "db_name" => "WRITE_DB_NAME1",
- "db_user" => "WRITE_DB_USER1",
- "db_password" => "WRITE_DB_PASS1",
- "db_host" => "WRITE_DB_HOST1"
- )
- ),
- "read" => array(
- array( "db_name" => "READ_DB_NAME1",
- "db_user" => "READ_DB_USER1",
- "db_password" => "READ_DB_PASS1",
- "db_host" => "READ_DB_HOST1"
- ),
- array( "db_name" => "READ_DB_NAME2",
- "db_user" => "READ_DB_USER2",
- "db_password" => "READ_DB_PASS2",
- "db_host" => "READ_DB_HOST2"
- ),
- array( "db_name" => "READ_DB_NAME3",
- "db_user" => "READ_DB_USER3",
- "db_password" => "READ_DB_PASS3",
- "db_host" => "READ_DB_HOST3"
- ),
- array( "db_name" => "READ_DB_NAME4",
- "db_user" => "READ_DB_USER4",
- "db_password" => "READ_DB_PASS4",
- "db_host" => "READ_DB_HOST4"
- ),
- array( "db_name" => "READ_DB_NAME5",
- "db_user" => "READ_DB_USER5",
- "db_password" => "READ_DB_PASS5",
- "db_host" => "READ_DB_HOST5"
- ),
- array( "db_name" => "READ_DB_NAME6",
- "db_user" => "READ_DB_USER6",
- "db_password" => "READ_DB_PASS6",
- "db_host" => "READ_DB_HOST6"
- )
- )
- );
-
-$global_db_list = array(
- array( "db_name" => "GLOBAL_DB_NAME1",
- "db_user" => "GLOBAL_DB_USER1",
- "db_password" => "GLOBAL_DB_PASS1",
- "db_host" => "GLOBAL_DB_HOST1"
- ),
- array( "db_name" => "GLOBAL_DB_NAME2",
- "db_user" => "GLOBAL_DB_USER2",
- "db_password" => "GLOBAL_DB_PASS2",
- "db_host" => "GLOBAL_DB_HOST2"
- ),
- array( "db_name" => "GLOBAL_DB_NAME3",
- "db_user" => "GLOBAL_DB_USER3",
- "db_password" => "GLOBAL_DB_PASS3",
- "db_host" => "GLOBAL_DB_HOST3"
- )
- );
-
-
-/* Stop editing */
-
-define('ABSPATH', dirname(__FILE__).'/');
-require_once(ABSPATH.'wp-settings.php');
-?>
diff --git a/wp-inst/wp-content/blogs.php b/wp-inst/wp-content/blogs.php
deleted file mode 100644
index b2fd603..0000000
--- a/wp-inst/wp-content/blogs.php
+++ /dev/null
@@ -1,50 +0,0 @@
-<?php
-define( "BLOGDEFINITION", true );
-require_once( "../wp-config.php" );
-
-// Referrer protection
-if( $_SERVER["HTTP_REFERER"] ) {
- if( strpos( $_SERVER["HTTP_REFERER"], $current_blog->domain ) == false ) {
- // do something against hot linking sites!
- }
-}
-$file = $_GET[ 'file' ];
-$file = ABSPATH . "wp-content/blogs.dir/" . $blog_id . '/files/' . $file;
-
-if( is_file( $file ) ) {
- $etag = md5( $file . filemtime( $file ) );
- $lastModified = date( "D, j M Y H:i:s ", filemtime( $file ) ) . "GMT";
- #$headers = apache_request_headers();
- // get mime type
- $ext = substr( $_SERVER[ 'REQUEST_URI' ], strrpos( $_SERVER[ 'REQUEST_URI' ], '.' ) + 1 );
- $ext_list = array( "jpg" => "image/jpeg", "mp3" => "audio/mpeg", "mov" => "video/quicktime" );
- if( $ext_list[ $ext ] ) {
- $mimetype = $ext_list[ $ext ];
- } else {
- $mimetype = "image/$ext";
- }
-
- // from http://blog.rd2inc.com/archives/2005/03/24/making-dynamic-php-pages-cacheable/
- if( $_SERVER[ 'HTTP_IF_NONE_MATCH' ] == '"' . $etag . '"' || $lastModified == $_SERVER['HTTP_IF_MODIFIED_SINCE']) {
- // They already have an up to date copy so tell them
- header('HTTP/1.1 304 Not Modified');
- header('Cache-Control: private');
- header('Content-Type: $mimetype');
- header('ETag: "'.$etag.'"');
- } else {
- header("Content-type: $mimetype" );
- header( "Last-Modified: " . $lastModified );
- header( 'Accept-Ranges: bytes' );
- header( "Content-Length: " . filesize( $file ) );
- header( 'ETag: "' . $etag . '"' );
- readfile( $file );
- }
-} else {
- // 404
- header("HTTP/1.1 404 Not Found");
- print "<html><head><title>Error 404! File Not Found!</title></head>";
- print "<body>";
- print "<h1>File Not Found!</h1>";
- print "</body></html>";
-}
-?>
diff --git a/wp-inst/wp-content/index.php b/wp-inst/wp-content/index.php
deleted file mode 100644
index 3d5acf0..0000000
--- a/wp-inst/wp-content/index.php
+++ /dev/null
@@ -1,3 +0,0 @@
-<?php
-// Silence is golden.
-?> \ No newline at end of file
diff --git a/wp-inst/wp-content/mu-plugins/global-categories.php b/wp-inst/wp-content/mu-plugins/global-categories.php
deleted file mode 100644
index d8c7c8c..0000000
--- a/wp-inst/wp-content/mu-plugins/global-categories.php
+++ /dev/null
@@ -1,31 +0,0 @@
-<?php
-
-function global_categories( $cat_ID ) {
- global $wpdb;
-
- $cat_ID = intval( $cat_ID );
- $c = $wpdb->get_row( "SELECT * FROM $wpdb->categories WHERE cat_ID = '$cat_ID'" );
-
- $global_category = $wpdb->get_row( "SELECT * FROM $wpdb->sitecategories WHERE category_nicename = '" . $wpdb->escape( $c->category_nicename ) . "'" );
-
- if ( $global_category ) {
- $global_id = $global_category->cat_ID;
- } else {
- $wpdb->query( "INSERT INTO $wpdb->sitecategories ( cat_name, category_nicename ) VALUES ( '" . $wpdb->escape( $c->cat_name ) . "', '" . $wpdb->escape( $c->category_nicename ) . "' )" );
- $global_id = $wpdb->insert_id;
- }
- $wpdb->query( "UPDATE $wpdb->categories SET cat_ID = '$global_id' WHERE cat_id = '$cat_ID'" );
- $wpdb->query( "UPDATE $wpdb->categories SET category_parent = '$global_id' WHERE category_parent = '$cat_ID'" );
- $wpdb->query( "UPDATE $wpdb->post2cat SET category_id = '$global_id' WHERE category_id = '$cat_ID'" );
- $wpdb->query( "UPDATE $wpdb->link2cat SET category_id = '$global_id' WHERE category_id = '$cat_ID'" );
- wp_cache_delete($cat_ID, 'category');
- wp_cache_delete($global_id, 'category');
- wp_cache_delete('all_category_ids', 'category');
-
- do_action('update_cat_id', $global_id, $cat_ID);
-
- return $global_id;
-}
-
-add_filter( 'cat_id_filter', 'global_categories' );
-?>
diff --git a/wp-inst/wp-content/mu-plugins/misc.php b/wp-inst/wp-content/mu-plugins/misc.php
deleted file mode 100644
index e02818d..0000000
--- a/wp-inst/wp-content/mu-plugins/misc.php
+++ /dev/null
@@ -1,124 +0,0 @@
-<?php
-
-function graceful_fail( $message ) {
- die('
-<!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 profile="http://gmpg.org/xfn/11">
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
-<title>Error!</title>
-<style type="text/css">
-img {
- border: 0;
-}
-body {
-line-height: 1.6em; font-family: Georgia, serif; width: 390px; margin: auto;
-text-align: center;
-}
-.message {
- font-size: 22px;
- width: 350px;
- margin: auto;
-}
-</style>
-</head>
-<body>
-<p class="message">' . $message . '</p>
-</body>
-</html>
- ');
-}
-
-function fix_upload_details( $uploads ) {
-
- $uploads[ 'url' ] = str_replace( UPLOADS, "files", $uploads[ 'url' ] );
- return $uploads;
-}
-add_filter( "upload_dir", "fix_upload_details" );
-
-function get_dirsize($directory) {
- $size = 0;
- if(substr($directory,-1) == '/') $directory = substr($directory,0,-1);
- if(!file_exists($directory) || !is_dir($directory) || !is_readable($directory)) return false;
- if($handle = opendir($directory)) {
- while(($file = readdir($handle)) !== false) {
- $path = $directory.'/'.$file;
- if($file != '.' && $file != '..') {
- if(is_file($path)) {
- $size += filesize($path);
- } elseif(is_dir($path)) {
- $handlesize = get_dirsize($path);
- if($handlesize >= 0) {
- $size += $handlesize;
- } else {
- return false;
- }
- }
- }
- }
- closedir($handle);
- }
- return $size;
-}
-
-function upload_is_user_over_quota( $ret ) {
- global $wpdb;
-
- // Default space allowed is 10 MB
- $spaceAllowed = get_site_option("blog_upload_space");
- if(empty($spaceAllowed) || !is_numeric($spaceAllowed)) $spaceAllowed = 10;
-
- $dirName = ABSPATH."wp-content/blogs.dir/" . $wpdb->blogid . "/files/";
- $size = get_dirsize($dirName) / 1024 / 1024;
-
- if( ($spaceAllowed-$size) < 0 ) {
- return "Sorry, you have used your space allocation. Please delete some files to upload more files."; //No space left
- } else {
- return false;
- }
-}
-add_filter( "pre_upload_error", "upload_is_user_over_quota" );
-
-function upload_is_file_too_big( $ret ) {
- if( $_FILES[ 'image' ][ 'size' ] > ( 1024 * get_site_option( 'fileupload_maxk', 1500 ) ) )
- $ret = "This file is too big. Files must be less than " . get_site_option( 'fileupload_maxk', 1500 ) . "Kb in size.<br />";
-
- return $ret;
-}
-add_filter( "check_uploaded_file", "upload_is_file_too_big" );
-
-function check_upload_mimes($mimes) {
- $site_exts = explode( " ", get_site_option( "upload_filetypes" ) );
- foreach ( $site_exts as $ext )
- foreach ( $mimes as $ext_pattern => $mime )
- if ( preg_match("/$ext_pattern/", $ext) )
- $site_mimes[$ext_pattern] = $mime;
- return $site_mimes;
-}
-add_filter('upload_mimes', 'check_upload_mimes');
-
-add_filter('the_title', 'wp_filter_kses');
-function update_posts_count( $post_id ) {
- global $wpdb;
- $post_id = intval( $post_id );
- $c = $wpdb->get_var( "SELECT count(*) FROM {$wpdb->posts} WHERE post_status = 'publish' and post_type='post'" );
- update_option( "post_count", $c );
-}
-add_action( "publish_post", "update_posts_count" );
-
-function update_pages_last_updated( $post_id ) {
- global $wpdb;
- $post_id = intval( $post_id );
- if( $wpdb->get_var( "SELECT post_type FROM {$wpdb->posts} WHERE post_status = 'publish' and ID = '$post_id'" ) == 'page' )
- update_option( "pages_last_updated", time() );
-}
-add_action( "save_post", "update_pages_last_updated" );
-add_action( "comment_post", "update_pages_last_updated" );
-add_action( "publish_post", "update_pages_last_updated" );
-add_action('delete_post', 'update_pages_last_updated');
-add_action('delete_comment', 'update_pages_last_updated');
-add_action('private_to_published', 'update_pages_last_updated');
-add_action('trackback_post', 'update_pages_last_updated');
-add_action('wp_set_comment_status', 'update_pages_last_updated');
-
-
-?>
diff --git a/wp-inst/wp-content/mu-plugins/pluggable.php b/wp-inst/wp-content/mu-plugins/pluggable.php
deleted file mode 100644
index d6429dc..0000000
--- a/wp-inst/wp-content/mu-plugins/pluggable.php
+++ /dev/null
@@ -1,160 +0,0 @@
-<?php
-
-function wp_login($username, $password, $already_md5 = false) {
- global $wpdb, $error, $current_user;
-
- if ( !$username )
- return false;
-
- if ( !$password ) {
- $error = __('<strong>Error</strong>: The password field is empty.');
- return false;
- }
-
- if ($current_user->data->user_login == $username)
- return true;
-
- $login = get_userdatabylogin($username);
- //$login = $wpdb->get_row("SELECT ID, user_login, user_pass FROM $wpdb->users WHERE user_login = '$username'");
-
- if (!$login) {
- if( is_site_admin( $username ) ) {
- unset( $login );
- $userdetails = get_userdatabylogin( $username );
- $login->user_login = $username;
- $login->user_pass = $userdetails->user_pass;
- } else {
- $admins = get_admin_users_for_domain();
- reset( $admins );
- while( list( $key, $val ) = each( $admins ) )
- {
- if( $val[ 'user_login' ] == $username ) {
- unset( $login );
- $login->user_login = $username;
- $login->user_pass = $val[ 'user_pass' ];
- }
- }
- }
- }
- if (!$login) {
- $error = __('<strong>Error</strong>: Wrong username.');
- return false;
- } else {
- $primary_blog = get_usermeta( $login->ID, "primary_blog" );
- if( $primary_blog ) {
- $details = get_blog_details( $primary_blog );
- if( is_object( $details ) ) {
- if( $details->archived == 1 || $details->spam == 1 || $details->deleted == 1 ) {
- $error = __('<strong>Error</strong>: Blog suspended.');
- return false;
- }
- }
- }
- // If the password is already_md5, it has been double hashed.
- // Otherwise, it is plain text.
- if ( ($already_md5 && $login->user_login == $username && md5($login->user_pass) == $password) || ($login->user_login == $username && $login->user_pass == md5($password)) ) {
- return true;
- } else {
- $error = __('<strong>Error</strong>: Incorrect password.');
- $pwd = '';
- return false;
- }
- }
-}
-
-function get_userdata( $user_id ) {
- global $wpdb, $cache_userdata, $wpmuBaseTablePrefix;
- $user_id = (int) $user_id;
- if ( $user_id == 0 )
- return false;
-
- $user = wp_cache_get($user_id, 'users');
- $user_level = $wpmuBaseTablePrefix . $wpdb->blogid . '_user_level';
- if( $user->$user_level != '' || $user->user_level != '' ) {
- if( $user && is_site_admin( $user->user_login ) == true ) {
- $user->$user_level = 10;
- $user->user_level = 10;
- $cap_key = $wpdb->prefix . 'capabilities';
- $user->{$cap_key} = array( 'administrator' => '1' );
- return $user;
- } elseif ( $user )
- return $user;
- }
-
- if ( !$user = $wpdb->get_row("SELECT * FROM $wpdb->users WHERE ID = '$user_id'") )
- return false;
-
- $metavalues = $wpdb->get_results("SELECT meta_key, meta_value FROM $wpdb->usermeta WHERE user_id = '$user_id' /* pluggable get_userdata */");
-
- if ($metavalues) {
- foreach ( $metavalues as $meta ) {
- @ $value = unserialize($meta->meta_value);
- if ($value === FALSE)
- $value = $meta->meta_value;
- $user->{$meta->meta_key} = $value;
-
- // We need to set user_level from meta, not row
- if ( $wpdb->prefix . 'user_level' == $meta->meta_key )
- $user->user_level = $meta->meta_value;
- } // end foreach
- } //end if
-
- if( is_site_admin( $user->user_login ) == true ) {
- $user->user_level = 10;
- $cap_key = $wpdb->prefix . 'capabilities';
- $user->{$cap_key} = array( 'administrator' => '1' );
- }
-
- wp_cache_add($user_id, $user, 'users');
- wp_cache_add($user->user_login, $user, 'userlogins');
-
- return $user;
-}
-
-function get_userdatabylogin($user_login) {
- global $wpdb;
- $user_login = sanitize_user( $user_login );
-
- if ( empty( $user_login ) )
- return false;
-
- $userdata = wp_cache_get($user_login, 'userlogins');
- if( $userdata && is_site_admin( $user_login ) == true ) {
- $userdata->user_level = 10;
- $cap_key = $wpdb->prefix . 'capabilities';
- $userdata->{$cap_key} = array( 'administrator' => '1' );
- return $userdata;
- } elseif( $userdata )
- return $userdata;
-
- if ( !$user = $wpdb->get_row("SELECT * FROM $wpdb->users WHERE user_login = '$user_login'") )
- return false;
-
- $metavalues = $wpdb->get_results("SELECT meta_key, meta_value FROM $wpdb->usermeta WHERE user_id = '$user->ID'");
-
- if ($metavalues) {
- foreach ( $metavalues as $meta ) {
- @ $value = unserialize($meta->meta_value);
- if ($value === FALSE)
- $value = $meta->meta_value;
- $user->{$meta->meta_key} = $value;
-
- // We need to set user_level from meta, not row
- if ( $wpdb->prefix . 'user_level' == $meta->meta_key )
- $user->user_level = $meta->meta_value;
- }
- }
- if( is_site_admin( $user_login ) == true ) {
- $user->user_level = 10;
- $cap_key = $wpdb->prefix . 'capabilities';
- $user->{$cap_key} = array( 'administrator' => '1' );
- }
-
- wp_cache_add($user->ID, $user, 'users');
- wp_cache_add($user->user_login, $user, 'userlogins');
-
- return $user;
-
-}
-
-?>
diff --git a/wp-inst/wp-content/themes/classic/comments-popup.php b/wp-inst/wp-content/themes/classic/comments-popup.php
deleted file mode 100644
index 7a209a2..0000000
--- a/wp-inst/wp-content/themes/classic/comments-popup.php
+++ /dev/null
@@ -1,113 +0,0 @@
-<?php
-/* Don't remove these lines. */
-add_filter('comment_text', 'popuplinks');
-foreach ($posts as $post) { start_wp();
-?>
-<!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><?php echo get_settings('blogname'); ?> - <?php echo sprintf(__("Comments on %s"), the_title('','',false)); ?></title>
-
- <meta http-equiv="Content-Type" content="<?php bloginfo('html_type'); ?>; charset=<?php echo get_settings('blog_charset'); ?>" />
- <style type="text/css" media="screen">
- @import url( <?php bloginfo('stylesheet_url'); ?> );
- body { margin: 3px; }
- </style>
-
-</head>
-<body id="commentspopup">
-
-<h1 id="header"><a href="" title="<?php echo get_settings('blogname'); ?>"><?php echo get_settings('blogname'); ?></a></h1>
-
-<h2 id="comments"><?php _e("Comments"); ?></h2>
-
-<p><a href="<?php echo get_settings('siteurl'); ?>/wp-commentsrss2.php?p=<?php echo $post->ID; ?>"><?php _e("<abbr title=\"Really Simple Syndication\">RSS</abbr> feed for comments on this post."); ?></a></p>
-
-<?php if ('open' == $post->ping_status) { ?>
-<p><?php _e("The <acronym title=\"Uniform Resource Identifier\">URI</acronym> to TrackBack this entry is:"); ?> <em><?php trackback_url() ?></em></p>
-<?php } ?>
-
-<?php
-// this line is WordPress' motor, do not delete it.
-$comment_author = (isset($_COOKIE['comment_author_' . COOKIEHASH])) ? trim($_COOKIE['comment_author_'. COOKIEHASH]) : '';
-$comment_author_email = (isset($_COOKIE['comment_author_email_'. COOKIEHASH])) ? trim($_COOKIE['comment_author_email_'. COOKIEHASH]) : '';
-$comment_author_url = (isset($_COOKIE['comment_author_url_'. COOKIEHASH])) ? trim($_COOKIE['comment_author_url_'. COOKIEHASH]) : '';
-$comments = get_approved_comments($id);
-$commentstatus = get_post($id);
-if (!empty($commentstatus->post_password) && $_COOKIE['wp-postpass_'. COOKIEHASH] != $commentstatus->post_password) { // and it doesn't match the cookie
- echo(get_the_password_form());
-} else { ?>
-
-<?php if ($comments) { ?>
-<ol id="commentlist">
-<?php foreach ($comments as $comment) { ?>
- <li id="comment-<?php comment_ID() ?>">
- <?php comment_text() ?>
- <p><cite><?php comment_type(__('Comment'), __('Trackback'), __('Pingback')); ?> <?php _e("by"); ?> <?php comment_author_link() ?> &#8212; <?php comment_date() ?> @ <a href="#comment-<?php comment_ID() ?>"><?php comment_time() ?></a></cite></p>
- </li>
-
-<?php } // end for each comment ?>
-</ol>
-<?php } else { // this is displayed if there are no comments so far ?>
- <p><?php _e("No comments yet."); ?></p>
-<?php } ?>
-
-<?php if ('open' == $commentstatus->comment_status) { ?>
-<h2><?php _e("Leave a comment"); ?></h2>
-<p><?php _e("Line and paragraph breaks automatic, e-mail address never displayed, <acronym title=\"Hypertext Markup Language\">HTML</acronym> allowed:"); ?> <code><?php echo allowed_tags(); ?></code></p>
-
-<form action="<?php echo get_settings('siteurl'); ?>/wp-comments-post.php" method="post" id="commentform">
- <p>
- <input type="text" name="author" id="author" class="textarea" value="<?php echo $comment_author; ?>" size="28" tabindex="1" />
- <label for="author"><?php _e("Name"); ?></label>
- <input type="hidden" name="comment_post_ID" value="<?php echo $id; ?>" />
- <input type="hidden" name="redirect_to" value="<?php echo wp_specialchars($_SERVER["REQUEST_URI"]); ?>" />
- </p>
-
- <p>
- <input type="text" name="email" id="email" value="<?php echo $comment_author_email; ?>" size="28" tabindex="2" />
- <label for="email"><?php _e("E-mail"); ?></label>
- </p>
-
- <p>
- <input type="text" name="url" id="url" value="<?php echo $comment_author_url; ?>" size="28" tabindex="3" />
- <label for="url"><?php _e("<acronym title=\"Uniform Resource Identifier\">URI</acronym>"); ?></label>
- </p>
-
- <p>
- <label for="comment"><?php _e("Your Comment"); ?></label>
- <br />
- <textarea name="comment" id="comment" cols="70" rows="4" tabindex="4"></textarea>
- </p>
-
- <p>
- <input name="submit" type="submit" tabindex="5" value="<?php _e("Say It!"); ?>" />
- </p>
- <?php do_action('comment_form', $post->ID); ?>
-</form>
-<?php } else { // comments are closed ?>
-<p><?php _e("Sorry, the comment form is closed at this time."); ?></p>
-<?php }
-} // end password check
-?>
-
-<div><strong><a href="javascript:window.close()"><?php _e("Close this window."); ?></a></strong></div>
-
-<?php // if you delete this the sky will fall on your head
-}
-?>
-
-<!-- // this is just the end of the motor - don't touch that line either :) -->
-<?php //} ?>
-<p class="credit"><?php timer_stop(1); ?> <?php echo sprintf(__("<cite>Powered by <a href=\"http://wordpress.org\" title=\"%s\"><strong>Wordpress</strong></a></cite>"),__("Powered by WordPress, state-of-the-art semantic personal publishing platform.")); ?></p>
-<?php // Seen at http://www.mijnkopthee.nl/log2/archive/2003/05/28/esc(18) ?>
-<script type="text/javascript">
-<!--
-document.onkeypress = function esc(e) {
- if(typeof(e) == "undefined") { e=event; }
- if (e.keyCode == 27) { self.close(); }
-}
-// -->
-</script>
-</body>
-</html>
diff --git a/wp-inst/wp-content/themes/classic/comments.php b/wp-inst/wp-content/themes/classic/comments.php
deleted file mode 100644
index 6222f1a..0000000
--- a/wp-inst/wp-content/themes/classic/comments.php
+++ /dev/null
@@ -1,75 +0,0 @@
-<?php if ( !empty($post->post_password) && $_COOKIE['wp-postpass_' . COOKIEHASH] != $post->post_password) : ?>
-<p><?php _e('Enter your password to view comments.'); ?></p>
-<?php return; endif; ?>
-
-<h2 id="comments"><?php comments_number(__('No Comments'), __('1 Comment'), __('% Comments')); ?>
-<?php if ( comments_open() ) : ?>
- <a href="#postcomment" title="<?php _e("Leave a comment"); ?>">&raquo;</a>
-<?php endif; ?>
-</h2>
-
-<?php if ( $comments ) : ?>
-<ol id="commentlist">
-
-<?php foreach ($comments as $comment) : ?>
- <li id="comment-<?php comment_ID() ?>">
- <?php comment_text() ?>
- <p><cite><?php comment_type(__('Comment'), __('Trackback'), __('Pingback')); ?> <?php _e('by'); ?> <?php comment_author_link() ?> &#8212; <?php comment_date() ?> @ <a href="#comment-<?php comment_ID() ?>"><?php comment_time() ?></a></cite> <?php edit_comment_link(__("Edit This"), ' |'); ?></p>
- </li>
-
-<?php endforeach; ?>
-
-</ol>
-
-<?php else : // If there are no comments yet ?>
- <p><?php _e('No comments yet.'); ?></p>
-<?php endif; ?>
-
-<p><?php comments_rss_link(__('<abbr title="Really Simple Syndication">RSS</abbr> feed for comments on this post.')); ?>
-<?php if ( pings_open() ) : ?>
- <a href="<?php trackback_url() ?>" rel="trackback"><?php _e('TrackBack <abbr title="Uniform Resource Identifier">URI</abbr>'); ?></a>
-<?php endif; ?>
-</p>
-
-<?php if ( comments_open() ) : ?>
-<h2 id="postcomment"><?php _e('Leave a comment'); ?></h2>
-
-<?php if ( get_option('comment_registration') && !$user_ID ) : ?>
-<p>You must be <a href="<?php echo get_option('siteurl'); ?>/wp-login.php?redirect_to=<?php the_permalink(); ?>">logged in</a> to post a comment.</p>
-<?php else : ?>
-
-<form action="<?php echo get_option('siteurl'); ?>/wp-comments-post.php" method="post" id="commentform">
-
-<?php if ( $user_ID ) : ?>
-
-<p>Logged in as <a href="<?php echo get_option('siteurl'); ?>/wp-admin/profile.php"><?php echo $user_identity; ?></a>. <a href="<?php echo get_option('siteurl'); ?>/wp-login.php?action=logout" title="<?php _e('Log out of this account') ?>">Logout &raquo;</a></p>
-
-<?php else : ?>
-
-<p><input type="text" name="author" id="author" value="<?php echo $comment_author; ?>" size="22" tabindex="1" />
-<label for="author"><small>Name <?php if ($req) _e('(required)'); ?></small></label></p>
-
-<p><input type="text" name="email" id="email" value="<?php echo $comment_author_email; ?>" size="22" tabindex="2" />
-<label for="email"><small>Mail (will not be published) <?php if ($req) _e('(required)'); ?></small></label></p>
-
-<p><input type="text" name="url" id="url" value="<?php echo $comment_author_url; ?>" size="22" tabindex="3" />
-<label for="url"><small>Website</small></label></p>
-
-<?php endif; ?>
-
-<!--<p><small><strong>XHTML:</strong> You can use these tags: <?php echo allowed_tags(); ?></small></p>-->
-
-<p><textarea name="comment" id="comment" cols="100%" rows="10" tabindex="4"></textarea></p>
-
-<p><input name="submit" type="submit" id="submit" tabindex="5" value="Submit Comment" />
-<input type="hidden" name="comment_post_ID" value="<?php echo $id; ?>" />
-</p>
-<?php do_action('comment_form', $post->ID); ?>
-
-</form>
-
-<?php endif; // If registration required and not logged in ?>
-
-<?php else : // Comments are closed ?>
-<p><?php _e('Sorry, the comment form is closed at this time.'); ?></p>
-<?php endif; ?>
diff --git a/wp-inst/wp-content/themes/classic/footer.php b/wp-inst/wp-content/themes/classic/footer.php
deleted file mode 100644
index 53ab958..0000000
--- a/wp-inst/wp-content/themes/classic/footer.php
+++ /dev/null
@@ -1,12 +0,0 @@
-<!-- begin footer -->
-</div>
-
-<?php get_sidebar(); ?>
-
-<p class="credit"><!--<?php echo get_num_queries(); ?> queries. <?php timer_stop(1); ?> seconds. --> <cite><?php echo sprintf(__("Powered by <a href='http://wordpress.org/' title='%s'><strong>WordPress</strong></a>"), __("Powered by WordPress, state-of-the-art semantic personal publishing platform.")); ?></cite></p>
-
-</div>
-
-<?php wp_footer(); ?>
-</body>
-</html>
diff --git a/wp-inst/wp-content/themes/classic/header.php b/wp-inst/wp-content/themes/classic/header.php
deleted file mode 100644
index 7052ae7..0000000
--- a/wp-inst/wp-content/themes/classic/header.php
+++ /dev/null
@@ -1,30 +0,0 @@
-<!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 profile="http://gmpg.org/xfn/11">
- <meta http-equiv="Content-Type" content="<?php bloginfo('html_type'); ?>; charset=<?php bloginfo('charset'); ?>" />
-
- <title><?php bloginfo('name'); ?><?php wp_title(); ?></title>
-
- <meta name="generator" content="WordPress <?php bloginfo('version'); ?>" /> <!-- leave this for stats please -->
-
- <style type="text/css" media="screen">
- @import url( <?php bloginfo('stylesheet_url'); ?> );
- </style>
-
- <link rel="alternate" type="application/rss+xml" title="RSS 2.0" href="<?php bloginfo('rss2_url'); ?>" />
- <link rel="alternate" type="text/xml" title="RSS .92" href="<?php bloginfo('rss_url'); ?>" />
- <link rel="alternate" type="application/atom+xml" title="Atom 0.3" href="<?php bloginfo('atom_url'); ?>" />
-
- <link rel="pingback" href="<?php bloginfo('pingback_url'); ?>" />
- <?php wp_get_archives('type=monthly&format=link'); ?>
- <?php //comments_popup_script(); // off by default ?>
- <?php wp_head(); ?>
-</head>
-
-<body>
-<div id="rap">
-<h1 id="header"><a href="<?php bloginfo('url'); ?>/"><?php bloginfo('name'); ?></a></h1>
-
-<div id="content">
-<!-- end header -->
diff --git a/wp-inst/wp-content/themes/classic/index.php b/wp-inst/wp-content/themes/classic/index.php
deleted file mode 100644
index 2760bff..0000000
--- a/wp-inst/wp-content/themes/classic/index.php
+++ /dev/null
@@ -1,32 +0,0 @@
-<?php
-get_header();
-?>
-
-<?php if (have_posts()) : while (have_posts()) : the_post(); ?>
-
-<?php the_date('','<h2>','</h2>'); ?>
-
-<div class="post" id="post-<?php the_ID(); ?>">
- <h3 class="storytitle"><a href="<?php the_permalink() ?>" rel="bookmark"><?php the_title(); ?></a></h3>
- <div class="meta"><?php _e("Filed under:"); ?> <?php the_category(',') ?> &#8212; <?php the_author() ?> @ <?php the_time() ?> <?php edit_post_link(__('Edit This')); ?></div>
-
- <div class="storycontent">
- <?php the_content(__('(more...)')); ?>
- </div>
-
- <div class="feedback">
- <?php wp_link_pages(); ?>
- <?php comments_popup_link(__('Comments (0)'), __('Comments (1)'), __('Comments (%)')); ?>
- </div>
-
-</div>
-
-<?php comments_template(); // Get wp-comments.php template ?>
-
-<?php endwhile; else: ?>
-<p><?php _e('Sorry, no posts matched your criteria.'); ?></p>
-<?php endif; ?>
-
-<?php posts_nav_link(' &#8212; ', __('&laquo; Previous Page'), __('Next Page &raquo;')); ?>
-
-<?php get_footer(); ?>
diff --git a/wp-inst/wp-content/themes/classic/screenshot.png b/wp-inst/wp-content/themes/classic/screenshot.png
deleted file mode 100644
index 6692130..0000000
--- a/wp-inst/wp-content/themes/classic/screenshot.png
+++ /dev/null
Binary files differ
diff --git a/wp-inst/wp-content/themes/classic/sidebar.php b/wp-inst/wp-content/themes/classic/sidebar.php
deleted file mode 100644
index 24a1cdd..0000000
--- a/wp-inst/wp-content/themes/classic/sidebar.php
+++ /dev/null
@@ -1,43 +0,0 @@
-
-<!-- begin sidebar -->
-<div id="menu">
-
-<ul>
- <?php wp_list_pages(); ?>
- <?php get_links_list(); ?>
- <li id="categories"><?php _e('Categories:'); ?>
- <ul>
- <?php wp_list_cats(); ?>
- </ul>
- </li>
- <li id="search">
- <label for="s"><?php _e('Search:'); ?></label>
- <form id="searchform" method="get" action="<?php echo $_SERVER['PHP_SELF']; ?>">
- <div>
- <input type="text" name="s" id="s" size="15" /><br />
- <input type="submit" value="<?php _e('Search'); ?>" />
- </div>
- </form>
- </li>
- <li id="archives"><?php _e('Archives:'); ?>
- <ul>
- <?php wp_get_archives('type=monthly'); ?>
- </ul>
- </li>
- <li id="meta"><?php _e('Meta:'); ?>
- <ul>
- <?php wp_register(); ?>
- <li><?php wp_loginout(); ?></li>
- <li><a href="feed:<?php bloginfo('rss2_url'); ?>" title="<?php _e('Syndicate this site using RSS'); ?>"><?php _e('<abbr title="Really Simple Syndication">RSS</abbr>'); ?></a></li>
- <li><a href="feed:<?php bloginfo('comments_rss2_url'); ?>" title="<?php _e('The latest comments to all posts in RSS'); ?>"><?php _e('Comments <abbr title="Really Simple Syndication">RSS</abbr>'); ?></a></li>
- <li><a href="http://validator.w3.org/check/referer" title="<?php _e('This page validates as XHTML 1.0 Transitional'); ?>"><?php _e('Valid <abbr title="eXtensible HyperText Markup Language">XHTML</abbr>'); ?></a></li>
- <li><a href="http://gmpg.org/xfn/"><abbr title="XHTML Friends Network">XFN</abbr></a></li>
- <li><a href="http://wordpress.org/" title="<?php _e('Powered by WordPress, state-of-the-art semantic personal publishing platform.'); ?>"><abbr title="WordPress">WP</abbr></a></li>
- <?php wp_meta(); ?>
- </ul>
- </li>
-
-</ul>
-
-</div>
-<!-- end sidebar -->
diff --git a/wp-inst/wp-content/themes/classic/style.css b/wp-inst/wp-content/themes/classic/style.css
deleted file mode 100644
index e09122d..0000000
--- a/wp-inst/wp-content/themes/classic/style.css
+++ /dev/null
@@ -1,313 +0,0 @@
-/*
-Theme Name: WordPress Classic
-Theme URI: http://wordpress.org/
-Description: The original WordPress theme that graced versions 1.2.x and prior.
-Version: 1.5
-Author: Dave Shea
-
-Default WordPress by Dave Shea || http://mezzoblue.com
-Modifications by Matthew Mullenweg || http://photomatt.net
-This is just a basic layout, with only the bare minimum defined.
-Please tweak this and make it your own. :)
-*/
-
-a {
- color: #675;
-}
-
-a img {
- border: none;
-}
-
-a:visited {
- color: #342;
-}
-
-a:hover {
- color: #9a8;
-}
-
-acronym, abbr {
- border-bottom: 1px dashed #333;
-}
-
-acronym, abbr, span.caps {
- font-size: 90%;
- letter-spacing: .07em;
-}
-
-acronym, abbr {
- cursor: help;
-}
-
-blockquote {
- border-left: 5px solid #ccc;
- margin-left: 1.5em;
- padding-left: 5px;
-}
-
-body {
- background: #fff;
- border: solid 2px #565;
- border-bottom: solid 1px #565;
- border-top: solid 3px #565;
- color: #000;
- font-family: 'Lucida Grande', 'Lucida Sans Unicode', Verdana, sans-serif;
- margin: 0;
- padding: 0;
-}
-
-cite {
- font-size: 90%;
- font-style: normal;
-}
-
-h2 {
- border-bottom: 1px dotted #ccc;
- font: 95% "Times New Roman", Times, serif;
- letter-spacing: 0.2em;
- margin: 15px 0 2px 0;
- padding-bottom: 2px;
-}
-
-h3 {
- border-bottom: dotted 1px #eee;
- font-family: "Times New Roman", Times, serif;
- margin-top: 0;
-}
-
-ol#comments li p {
- font-size: 100%;
-}
-
-p, li, .feedback {
- font: 90%/175% 'Lucida Grande', 'Lucida Sans Unicode', Verdana, sans-serif;
- letter-spacing: -1px;
-}
-
-/* classes used by the_meta() */
-ul.post-meta {
- list-style: none;
-}
-
-ul.post-meta span.post-meta-key {
- font-weight: bold;
-}
-
-.credit {
- background: #90a090;
- border-top: double 3px #aba;
- color: #fff;
- font-size: 11px;
- margin: 10px 0 0 0;
- padding: 3px;
- text-align: center;
-}
-
-.credit a:link, .credit a:hover {
- color: #fff;
-}
-
-.feedback {
- color: #ccc;
- text-align: right;
- clear: both;
-}
-
-.meta {
- font-size: .75em;
-}
-
-.meta li, ul.post-meta li {
- display: inline;
-}
-
-.meta ul {
- display: inline;
- list-style: none;
- margin: 0;
- padding: 0;
-}
-
-.meta, .meta a {
- color: #808080;
- font-weight: normal;
- letter-spacing: 0;
-}
-
-.storytitle {
- margin: 0;
-}
-
-.storytitle a {
- text-decoration: none;
-}
-
-#commentform #author, #commentform #email, #commentform #url, #commentform textarea {
- background: #fff;
- border: 1px solid #333;
- padding: .2em;
-}
-
-#commentform textarea {
- width: 100%;
-}
-
-#commentlist li ul {
- border-left: 1px solid #ddd;
- font-size: 110%;
- list-style-type: none;
-}
-
-#content {
- margin: 30px 13em 0 3em;
- padding-right: 60px;
-}
-
-#header {
- background: #90a090;
- border-bottom: double 3px #aba;
- border-left: solid 1px #9a9;
- border-right: solid 1px #565;
- border-top: solid 1px #9a9;
- font: italic normal 230% 'Times New Roman', Times, serif;
- letter-spacing: 0.2em;
- margin: 0;
- padding: 15px 10px 15px 60px;
-}
-
-#header a {
- color: #fff;
- text-decoration: none;
-}
-
-#header a:hover {
- text-decoration: underline;
-}
-
-#menu {
- background: #fff;
- border-left: 1px dotted #ccc;
- border-top: solid 3px #e0e6e0;
- padding: 20px 0 10px 30px;
- position: absolute;
- right: 2px;
- top: 0;
- width: 11em;
-}
-
-#menu form {
- margin: 0 0 0 13px;
-}
-
-#menu input#s {
- width: 80%;
- background: #eee;
- border: 1px solid #999;
- color: #000;
-}
-
-#menu ul {
- color: #ccc;
- font-weight: bold;
- list-style-type: none;
- margin: 0;
- padding-left: 3px;
- text-transform: lowercase;
-}
-
-#menu ul li {
- font: italic normal 110% 'Times New Roman', Times, serif;
- letter-spacing: 0.1em;
- margin-top: 10px;
- padding-bottom: 2px; /*border-bottom: dotted 1px #ccc;*/
-}
-
-#menu ul ul {
- font-variant: normal;
- font-weight: normal;
- line-height: 100%;
- list-style-type: none;
- margin: 0;
- padding: 0;
- text-align: left;
-}
-
-#menu ul ul li {
- border: 0;
- font: normal normal 12px/115% 'Lucida Grande', 'Lucida Sans Unicode', Verdana, sans-serif;
- letter-spacing: 0;
- margin-top: 0;
- padding: 0;
- padding-left: 12px;
-}
-
-#menu ul ul li a {
- color: #000;
- text-decoration: none;
-}
-
-#menu ul ul li a:hover {
- border-bottom: 1px solid #809080;
-}
-
-#menu ul ul ul.children {
- font-size: 142%;
- padding-left: 4px;
-}
-
-#wp-calendar {
- border: 1px solid #ddd;
- empty-cells: show;
- font-size: 14px;
- margin: 0;
- width: 90%;
-}
-
-#wp-calendar #next a {
- padding-right: 10px;
- text-align: right;
-}
-
-#wp-calendar #prev a {
- padding-left: 10px;
- text-align: left;
-}
-
-#wp-calendar a {
- display: block;
- text-decoration: none;
-}
-
-#wp-calendar a:hover {
- background: #e0e6e0;
- color: #333;
-}
-
-#wp-calendar caption {
- color: #999;
- font-size: 16px;
- text-align: left;
-}
-
-#wp-calendar td {
- color: #ccc;
- font: normal 12px 'Lucida Grande', 'Lucida Sans Unicode', Verdana, sans-serif;
- letter-spacing: normal;
- padding: 2px 0;
- text-align: center;
-}
-
-#wp-calendar td.pad:hover {
- background: #fff;
-}
-
-#wp-calendar td:hover, #wp-calendar #today {
- background: #eee;
- color: #bbb;
-}
-
-#wp-calendar th {
- font-style: normal;
- text-transform: capitalize;
-}
diff --git a/wp-inst/wp-content/themes/default/404.php b/wp-inst/wp-content/themes/default/404.php
deleted file mode 100644
index 01a8e8a..0000000
--- a/wp-inst/wp-content/themes/default/404.php
+++ /dev/null
@@ -1,11 +0,0 @@
-<?php get_header(); ?>
-
- <div id="content" class="narrowcolumn">
-
- <h2 class="center">Error 404 - Not Found</h2>
-
- </div>
-
-<?php get_sidebar(); ?>
-
-<?php get_footer(); ?> \ No newline at end of file
diff --git a/wp-inst/wp-content/themes/default/archive.php b/wp-inst/wp-content/themes/default/archive.php
deleted file mode 100644
index c648abd..0000000
--- a/wp-inst/wp-content/themes/default/archive.php
+++ /dev/null
@@ -1,68 +0,0 @@
-<?php get_header(); ?>
-
- <div id="content" class="narrowcolumn">
-
- <?php if (have_posts()) : ?>
-
- <?php $post = $posts[0]; // Hack. Set $post so that the_date() works. ?>
-<?php /* If this is a category archive */ if (is_category()) { ?>
- <h2 class="pagetitle">Archive for the '<?php echo single_cat_title(); ?>' Category</h2>
-
- <?php /* If this is a daily archive */ } elseif (is_day()) { ?>
- <h2 class="pagetitle">Archive for <?php the_time('F jS, Y'); ?></h2>
-
- <?php /* If this is a monthly archive */ } elseif (is_month()) { ?>
- <h2 class="pagetitle">Archive for <?php the_time('F, Y'); ?></h2>
-
- <?php /* If this is a yearly archive */ } elseif (is_year()) { ?>
- <h2 class="pagetitle">Archive for <?php the_time('Y'); ?></h2>
-
- <?php /* If this is a search */ } elseif (is_search()) { ?>
- <h2 class="pagetitle">Search Results</h2>
-
- <?php /* If this is an author archive */ } elseif (is_author()) { ?>
- <h2 class="pagetitle">Author Archive</h2>
-
- <?php /* If this is a paged archive */ } elseif (isset($_GET['paged']) && !empty($_GET['paged'])) { ?>
- <h2 class="pagetitle">Blog Archives</h2>
-
- <?php } ?>
-
-
- <div class="navigation">
- <div class="alignleft"><?php next_posts_link('&laquo; Previous Entries') ?></div>
- <div class="alignright"><?php previous_posts_link('Next Entries &raquo;') ?></div>
- </div>
-
- <?php while (have_posts()) : the_post(); ?>
- <div class="post">
- <h3 id="post-<?php the_ID(); ?>"><a href="<?php the_permalink() ?>" rel="bookmark" title="Permanent Link to <?php the_title(); ?>"><?php the_title(); ?></a></h3>
- <small><?php the_time('l, F jS, Y') ?></small>
-
- <div class="entry">
- <?php the_content() ?>
- </div>
-
- <p class="postmetadata">Posted in <?php the_category(', ') ?> | <?php edit_post_link('Edit', '', ' | '); ?> <?php comments_popup_link('No Comments &#187;', '1 Comment &#187;', '% Comments &#187;'); ?></p>
-
- </div>
-
- <?php endwhile; ?>
-
- <div class="navigation">
- <div class="alignleft"><?php next_posts_link('&laquo; Previous Entries') ?></div>
- <div class="alignright"><?php previous_posts_link('Next Entries &raquo;') ?></div>
- </div>
-
- <?php else : ?>
-
- <h2 class="center">Not Found</h2>
- <?php include (TEMPLATEPATH . '/searchform.php'); ?>
-
- <?php endif; ?>
-
- </div>
-
-<?php get_sidebar(); ?>
-
-<?php get_footer(); ?>
diff --git a/wp-inst/wp-content/themes/default/archives.php b/wp-inst/wp-content/themes/default/archives.php
deleted file mode 100644
index de6c07c..0000000
--- a/wp-inst/wp-content/themes/default/archives.php
+++ /dev/null
@@ -1,25 +0,0 @@
-<?php
-/*
-Template Name: Archives
-*/
-?>
-
-<?php get_header(); ?>
-
-<div id="content" class="widecolumn">
-
-<?php include (TEMPLATEPATH . '/searchform.php'); ?>
-
-<h2>Archives by Month:</h2>
- <ul>
- <?php wp_get_archives('type=monthly'); ?>
- </ul>
-
-<h2>Archives by Subject:</h2>
- <ul>
- <?php wp_list_categories(); ?>
- </ul>
-
-</div>
-
-<?php get_footer(); ?>
diff --git a/wp-inst/wp-content/themes/default/attachment.php b/wp-inst/wp-content/themes/default/attachment.php
deleted file mode 100644
index ad7c60d..0000000
--- a/wp-inst/wp-content/themes/default/attachment.php
+++ /dev/null
@@ -1,67 +0,0 @@
-<?php get_header(); ?>
-
- <div id="content" class="widecolumn">
-
- <?php if (have_posts()) : while (have_posts()) : the_post(); ?>
-
- <div class="navigation">
- <div class="alignleft">&nbsp;</div>
- <div class="alignright">&nbsp;</div>
- </div>
-<?php $attachment_link = get_the_attachment_link($post->ID, true, array(450, 800)); // This also populates the iconsize for the next line ?>
-<?php $_post = &get_post($post->ID); $classname = ($_post->iconsize[0] <= 128 ? 'small' : '') . 'attachment'; // This lets us style narrow icons specially ?>
- <div class="post" id="post-<?php the_ID(); ?>">
- <h2><a href="<?php echo get_permalink($post->post_parent); ?>" rev="attachment"><?php echo get_the_title($post->post_parent); ?></a> &raquo; <a href="<?php echo get_permalink() ?>" rel="bookmark" title="Permanent Link: <?php the_title(); ?>"><?php the_title(); ?></a></h2>
- <div class="entrytext">
- <p class="<?php echo $classname; ?>"><?php echo $attachment_link; ?><br /><?php echo basename($post->guid); ?></p>
-
- <?php the_content('<p class="serif">Read the rest of this entry &raquo;</p>'); ?>
-
- <?php link_pages('<p><strong>Pages:</strong> ', '</p>', 'number'); ?>
-
- <p class="postmetadata alt">
- <small>
- This entry was posted
- <?php /* This is commented, because it requires a little adjusting sometimes.
- You'll need to download this plugin, and follow the instructions:
- http://binarybonsai.com/archives/2004/08/17/time-since-plugin/ */
- /* $entry_datetime = abs(strtotime($post->post_date) - (60*120)); echo time_since($entry_datetime); echo ' ago'; */ ?>
- on <?php the_time('l, F jS, Y') ?> at <?php the_time() ?>
- and is filed under <?php the_category(', ') ?>.
- You can follow any responses to this entry through the <?php comments_rss_link('RSS 2.0'); ?> feed.
-
- <?php if (('open' == $post-> comment_status) && ('open' == $post->ping_status)) {
- // Both Comments and Pings are open ?>
- You can <a href="#respond">leave a response</a>, or <a href="<?php trackback_url(true); ?>" rel="trackback">trackback</a> from your own site.
-
- <?php } elseif (!('open' == $post-> comment_status) && ('open' == $post->ping_status)) {
- // Only Pings are Open ?>
- Responses are currently closed, but you can <a href="<?php trackback_url(true); ?> " rel="trackback">trackback</a> from your own site.
-
- <?php } elseif (('open' == $post-> comment_status) && !('open' == $post->ping_status)) {
- // Comments are open, Pings are not ?>
- You can skip to the end and leave a response. Pinging is currently not allowed.
-
- <?php } elseif (!('open' == $post-> comment_status) && !('open' == $post->ping_status)) {
- // Neither Comments, nor Pings are open ?>
- Both comments and pings are currently closed.
-
- <?php } edit_post_link('Edit this entry.','',''); ?>
-
- </small>
- </p>
-
- </div>
- </div>
-
- <?php comments_template(); ?>
-
- <?php endwhile; else: ?>
-
- <p>Sorry, no attachments matched your criteria.</p>
-
-<?php endif; ?>
-
- </div>
-
-<?php get_footer(); ?>
diff --git a/wp-inst/wp-content/themes/default/comments-popup.php b/wp-inst/wp-content/themes/default/comments-popup.php
deleted file mode 100644
index f22b861..0000000
--- a/wp-inst/wp-content/themes/default/comments-popup.php
+++ /dev/null
@@ -1,113 +0,0 @@
-<?php
-/* Don't remove these lines. */
-add_filter('comment_text', 'popuplinks');
-foreach ($posts as $post) { start_wp();
-?>
-<!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><?php echo get_settings('blogname'); ?> - Comments on <?php the_title(); ?></title>
-
- <meta http-equiv="Content-Type" content="<?php bloginfo('html_type'); ?>; charset=<?php echo get_settings('blog_charset'); ?>" />
- <style type="text/css" media="screen">
- @import url( <?php bloginfo('stylesheet_url'); ?> );
- body { margin: 3px; }
- </style>
-
-</head>
-<body id="commentspopup">
-
-<h1 id="header"><a href="" title="<?php echo get_settings('blogname'); ?>"><?php echo get_settings('blogname'); ?></a></h1>
-
-<h2 id="comments">Comments</h2>
-
-<p><a href="<?php echo get_settings('siteurl'); ?>/wp-commentsrss2.php?p=<?php echo $post->ID; ?>"><abbr title="Really Simple Syndication">RSS</abbr> feed for comments on this post.</a></p>
-
-<?php if ('open' == $post->ping_status) { ?>
-<p>The <acronym title="Uniform Resource Identifier">URI</acronym> to TrackBack this entry is: <em><?php trackback_url() ?></em></p>
-<?php } ?>
-
-<?php
-// this line is WordPress' motor, do not delete it.
-$comment_author = (isset($_COOKIE['comment_author_' . COOKIEHASH])) ? trim($_COOKIE['comment_author_'. COOKIEHASH]) : '';
-$comment_author_email = (isset($_COOKIE['comment_author_email_'. COOKIEHASH])) ? trim($_COOKIE['comment_author_email_'. COOKIEHASH]) : '';
-$comment_author_url = (isset($_COOKIE['comment_author_url_'. COOKIEHASH])) ? trim($_COOKIE['comment_author_url_'. COOKIEHASH]) : '';
-$comments = get_approved_comments($id);
-$post = get_post($id);
-if (!empty($post->post_password) && $_COOKIE['wp-postpass_'. COOKIEHASH] != $post->post_password) { // and it doesn't match the cookie
- echo(get_the_password_form());
-} else { ?>
-
-<?php if ($comments) { ?>
-<ol id="commentlist">
-<?php foreach ($comments as $comment) { ?>
- <li id="comment-<?php comment_ID() ?>">
- <?php comment_text() ?>
- <p><cite><?php comment_type('Comment', 'Trackback', 'Pingback'); ?> by <?php comment_author_link() ?> &#8212; <?php comment_date() ?> @ <a href="#comment-<?php comment_ID() ?>"><?php comment_time() ?></a></cite></p>
- </li>
-
-<?php } // end for each comment ?>
-</ol>
-<?php } else { // this is displayed if there are no comments so far ?>
- <p>No comments yet.</p>
-<?php } ?>
-
-<?php if ('open' == $post->comment_status) { ?>
-<h2>Leave a comment</h2>
-<p>Line and paragraph breaks automatic, e-mail address never displayed, <acronym title="Hypertext Markup Language">HTML</acronym> allowed: <code><?php echo allowed_tags(); ?></code></p>
-
-<form action="<?php echo get_settings('siteurl'); ?>/wp-comments-post.php" method="post" id="commentform">
- <p>
- <input type="text" name="author" id="author" class="textarea" value="<?php echo $comment_author; ?>" size="28" tabindex="1" />
- <label for="author">Name</label>
- <input type="hidden" name="comment_post_ID" value="<?php echo $id; ?>" />
- <input type="hidden" name="redirect_to" value="<?php echo wp_specialchars($_SERVER["REQUEST_URI"]); ?>" />
- </p>
-
- <p>
- <input type="text" name="email" id="email" value="<?php echo $comment_author_email; ?>" size="28" tabindex="2" />
- <label for="email">E-mail</label>
- </p>
-
- <p>
- <input type="text" name="url" id="url" value="<?php echo $comment_author_url; ?>" size="28" tabindex="3" />
- <label for="url"><acronym title="Uniform Resource Identifier">URI</acronym></label>
- </p>
-
- <p>
- <label for="comment">Your Comment</label>
- <br />
- <textarea name="comment" id="comment" cols="70" rows="4" tabindex="4"></textarea>
- </p>
-
- <p>
- <input name="submit" type="submit" tabindex="5" value="Say It!" />
- </p>
- <?php do_action('comment_form', $post->ID); ?>
-</form>
-<?php } else { // comments are closed ?>
-<p>Sorry, the comment form is closed at this time.</p>
-<?php }
-} // end password check
-?>
-
-<div><strong><a href="javascript:window.close()">Close this window.</a></strong></div>
-
-<?php // if you delete this the sky will fall on your head
-}
-?>
-
-<!-- // this is just the end of the motor - don't touch that line either :) -->
-<?php //} ?>
-<p class="credit"><?php timer_stop(1); ?> <cite>Powered by <a href="http://wordpress.org/" title="Powered by WordPress, state-of-the-art semantic personal publishing platform"><strong>Wordpress</strong></a></cite></p>
-<?php // Seen at http://www.mijnkopthee.nl/log2/archive/2003/05/28/esc(18) ?>
-<script type="text/javascript">
-<!--
-document.onkeypress = function esc(e) {
- if(typeof(e) == "undefined") { e=event; }
- if (e.keyCode == 27) { self.close(); }
-}
-// -->
-</script>
-</body>
-</html>
diff --git a/wp-inst/wp-content/themes/default/comments.php b/wp-inst/wp-content/themes/default/comments.php
deleted file mode 100644
index ecf0b34..0000000
--- a/wp-inst/wp-content/themes/default/comments.php
+++ /dev/null
@@ -1,104 +0,0 @@
-<?php // Do not delete these lines
- if ('comments.php' == basename($_SERVER['SCRIPT_FILENAME']))
- die ('Please do not load this page directly. Thanks!');
-
- if (!empty($post->post_password)) { // if there's a password
- if ($_COOKIE['wp-postpass_' . COOKIEHASH] != $post->post_password) { // and it doesn't match the cookie
- ?>
-
- <p class="nocomments">This post is password protected. Enter the password to view comments.<p>
-
- <?php
- return;
- }
- }
-
- /* This variable is for alternating comment background */
- $oddcomment = 'alt';
-?>
-
-<!-- You can start editing here. -->
-
-<?php if ($comments) : ?>
- <h3 id="comments"><?php comments_number('No Responses', 'One Response', '% Responses' );?> to &#8220;<?php the_title(); ?>&#8221;</h3>
-
- <ol class="commentlist">
-
- <?php foreach ($comments as $comment) : ?>
-
- <li class="<?php echo $oddcomment; ?>" id="comment-<?php comment_ID() ?>">
- <cite><?php comment_author_link() ?></cite> Says:
- <?php if ($comment->comment_approved == '0') : ?>
- <em>Your comment is awaiting moderation.</em>
- <?php endif; ?>
- <br />
-
- <small class="commentmetadata"><a href="#comment-<?php comment_ID() ?>" title=""><?php comment_date('F jS, Y') ?> at <?php comment_time() ?></a> <?php edit_comment_link('e','',''); ?></small>
-
- <?php comment_text() ?>
-
- </li>
-
- <?php /* Changes every other comment to a different class */
- if ('alt' == $oddcomment) $oddcomment = '';
- else $oddcomment = 'alt';
- ?>
-
- <?php endforeach; /* end for each comment */ ?>
-
- </ol>
-
- <?php else : // this is displayed if there are no comments so far ?>
-
- <?php if ('open' == $post->comment_status) : ?>
- <!-- If comments are open, but there are no comments. -->
-
- <?php else : // comments are closed ?>
- <!-- If comments are closed. -->
- <p class="nocomments">Comments are closed.</p>
-
- <?php endif; ?>
-<?php endif; ?>
-
-
-<?php if ('open' == $post->comment_status) : ?>
-
-<h3 id="respond">Leave a Reply</h3>
-
-<?php if ( get_option('comment_registration') && !$user_ID ) : ?>
-<p>You must be <a href="<?php echo get_option('siteurl'); ?>/wp-login.php?redirect_to=<?php the_permalink(); ?>">logged in</a> to post a comment.</p>
-<?php else : ?>
-
-<form action="<?php echo get_option('siteurl'); ?>/wp-comments-post.php" method="post" id="commentform">
-
-<?php if ( $user_ID ) : ?>
-
-<p>Logged in as <a href="<?php echo get_option('siteurl'); ?>/wp-admin/profile.php"><?php echo $user_identity; ?></a>. <a href="<?php echo get_option('siteurl'); ?>/wp-login.php?action=logout" title="Log out of this account">Logout &raquo;</a></p>
-
-<?php else : ?>
-
-<p><input type="text" name="author" id="author" value="<?php echo $comment_author; ?>" size="22" tabindex="1" />
-<label for="author"><small>Name <?php if ($req) echo "(required)"; ?></small></label></p>
-
-<p><input type="text" name="email" id="email" value="<?php echo $comment_author_email; ?>" size="22" tabindex="2" />
-<label for="email"><small>Mail (will not be published) <?php if ($req) echo "(required)"; ?></small></label></p>
-
-<p><input type="text" name="url" id="url" value="<?php echo $comment_author_url; ?>" size="22" tabindex="3" />
-<label for="url"><small>Website</small></label></p>
-
-<?php endif; ?>
-
-<!--<p><small><strong>XHTML:</strong> You can use these tags: <?php echo allowed_tags(); ?></small></p>-->
-
-<p><textarea name="comment" id="comment" cols="100%" rows="10" tabindex="4"></textarea></p>
-
-<p><input name="submit" type="submit" id="submit" tabindex="5" value="Submit Comment" />
-<input type="hidden" name="comment_post_ID" value="<?php echo $id; ?>" />
-</p>
-<?php do_action('comment_form', $post->ID); ?>
-
-</form>
-
-<?php endif; // If registration required and not logged in ?>
-
-<?php endif; // if you delete this the sky will fall on your head ?>
diff --git a/wp-inst/wp-content/themes/default/footer.php b/wp-inst/wp-content/themes/default/footer.php
deleted file mode 100644
index a6cfd87..0000000
--- a/wp-inst/wp-content/themes/default/footer.php
+++ /dev/null
@@ -1,19 +0,0 @@
-
-<hr />
-<div id="footer">
- <p>
- <?php bloginfo('name'); ?> is proudly powered by
- <a href="http://wordpress.org/">WordPress</a>
- <br /><a href="feed:<?php bloginfo('rss2_url'); ?>">Entries (RSS)</a>
- and <a href="feed:<?php bloginfo('comments_rss2_url'); ?>">Comments (RSS)</a>.
- <!-- <?php echo get_num_queries(); ?> queries. <?php timer_stop(1); ?> seconds. -->
- </p>
-</div>
-</div>
-
-<!-- Gorgeous design by Michael Heilemann - http://binarybonsai.com/kubrick/ -->
-<?php /* "Just what do you think you're doing Dave?" */ ?>
-
- <?php wp_footer(); ?>
-</body>
-</html>
diff --git a/wp-inst/wp-content/themes/default/functions.php b/wp-inst/wp-content/themes/default/functions.php
deleted file mode 100644
index 5f825ff..0000000
--- a/wp-inst/wp-content/themes/default/functions.php
+++ /dev/null
@@ -1,395 +0,0 @@
-<?php
-
-function kubrick_head() {
- $head = "<style type='text/css'>\n<!--";
- $output = '';
- if ( kubrick_header_image() ) {
- $url = strip_tags( kubrick_header_image_url() );
- $output .= "#header { background: url('$url') no-repeat bottom center; }\n";
- }
- if ( false !== ( $color = strip_tags( kubrick_header_color() ) ) ) {
- $output .= "#headerimg h1 a, #headerimg h1 a:visited, #headerimg .description { color: $color; }\n";
- }
- if ( false !== ( $display = strip_tags( kubrick_header_display() ) ) ) {
- $output .= "#headerimg { display: $display }\n";
- }
- $foot = "--></style>\n";
- if ( '' != $output )
- echo $head . $output . $foot;
-}
-
-add_action('wp_head', 'kubrick_head');
-
-function kubrick_header_image() {
- return apply_filters('kubrick_header_image', get_settings('kubrick_header_image'));
-}
-
-function kubrick_upper_color() {
- if ( strstr( $url = kubrick_header_image_url(), 'header-img.php?' ) ) {
- parse_str(substr($url, strpos($url, '?') + 1), $q);
- return $q['upper'];
- } else
- return '69aee7';
-}
-
-function kubrick_lower_color() {
- if ( strstr( $url = kubrick_header_image_url(), 'header-img.php?' ) ) {
- parse_str(substr($url, strpos($url, '?') + 1), $q);
- return $q['lower'];
- } else
- return '4180b6';
-}
-
-function kubrick_header_image_url() {
- if ( $image = kubrick_header_image() )
- $url = get_template_directory_uri() . '/images/' . $image;
- else
- $url = get_template_directory_uri() . '/images/kubrickheader.jpg';
-
- return $url;
-}
-
-function kubrick_header_color() {
- return apply_filters('kubrick_header_color', get_settings('kubrick_header_color'));
-}
-
-function kubrick_header_color_string() {
- $color = kubrick_header_color();
- if ( false === $color )
- return 'white';
-
- return $color;
-}
-
-function kubrick_header_display() {
- return apply_filters('kubrick_header_display', get_settings('kubrick_header_display'));
-}
-
-function kubrick_header_display_string() {
- $display = kubrick_header_display();
- return $display ? $display : 'inline';
-}
-
-add_action('admin_menu', 'kubrick_add_theme_page');
-
-function kubrick_add_theme_page() {
- if ( $_GET['page'] == basename(__FILE__) ) {
- if ( 'save' == $_REQUEST['action'] ) {
- if ( isset($_REQUEST['njform']) ) {
- if ( isset($_REQUEST['defaults']) ) {
- delete_option('kubrick_header_image');
- delete_option('kubrick_header_color');
- delete_option('kubrick_header_display');
- } else {
- if ( '' == $_REQUEST['njfontcolor'] )
- delete_option('kubrick_header_color');
- else
- update_option('kubrick_header_color', $_REQUEST['njfontcolor']);
-
- if ( preg_match('/[0-9A-F]{6}|[0-9A-F]{3}/i', $_REQUEST['njuppercolor'], $uc) && preg_match('/[0-9A-F]{6}|[0-9A-F]{3}/i', $_REQUEST['njlowercolor'], $lc) ) {
- $uc = ( strlen($uc[0]) == 3 ) ? $uc[0]{0}.$uc[0]{0}.$uc[0]{1}.$uc[0]{1}.$uc[0]{2}.$uc[0]{2} : $uc[0];
- $lc = ( strlen($lc[0]) == 3 ) ? $lc[0]{0}.$lc[0]{0}.$lc[0]{1}.$lc[0]{1}.$lc[0]{2}.$lc[0]{2} : $lc[0];
- update_option('kubrick_header_image', "header-img.php?upper=$uc&amp;lower=$lc");
- }
-
- if ( isset($_REQUEST['toggledisplay']) ) {
- if ( false === get_settings('kubrick_header_display') )
- update_option('kubrick_header_display', 'none');
- else
- delete_option('kubrick_header_display');
- }
- }
- } else {
-
- if ( isset($_REQUEST['headerimage']) ) {
- if ( '' == $_REQUEST['headerimage'] )
- delete_option('kubrick_header_image');
- else
- update_option('kubrick_header_image', $_REQUEST['headerimage']);
- }
-
- if ( isset($_REQUEST['fontcolor']) ) {
- if ( '' == $_REQUEST['fontcolor'] )
- delete_option('kubrick_header_color');
- else
- update_option('kubrick_header_color', $_REQUEST['fontcolor']);
- }
-
- if ( isset($_REQUEST['fontdisplay']) ) {
- if ( '' == $_REQUEST['fontdisplay'] || 'inline' == $_REQUEST['fontdisplay'] )
- delete_option('kubrick_header_display');
- else
- update_option('kubrick_header_display', 'none');
- }
- }
- //print_r($_REQUEST);
- header("Location: themes.php?page=functions.php&saved=true");
- die;
- }
- add_action('admin_head', 'kubrick_theme_page_head');
- }
- add_theme_page('Customize Header', 'Header Image and Color', 'edit_themes', basename(__FILE__), 'kubrick_theme_page');
-}
-
-function kubrick_theme_page_head() {
-?>
-<script type="text/javascript" src="../wp-includes/js/colorpicker.js"></script>
-<script type='text/javascript'>
- function pickColor(color) {
- ColorPicker_targetInput.value = color;
- kUpdate(ColorPicker_targetInput.id);
- }
- function PopupWindow_populate(contents) {
- contents += '<br /><p style="text-align:center;margin-top:0px;"><input type="button" value="Close Color Picker" onclick="cp.hidePopup(\'prettyplease\')"></input></p>';
- this.contents = contents;
- this.populated = false;
- }
- function PopupWindow_hidePopup(magicword) {
- if ( magicword != 'prettyplease' )
- return false;
- if (this.divName != null) {
- if (this.use_gebi) {
- document.getElementById(this.divName).style.visibility = "hidden";
- }
- else if (this.use_css) {
- document.all[this.divName].style.visibility = "hidden";
- }
- else if (this.use_layers) {
- document.layers[this.divName].visibility = "hidden";
- }
- }
- else {
- if (this.popupWindow && !this.popupWindow.closed) {
- this.popupWindow.close();
- this.popupWindow = null;
- }
- }
- return false;
- }
- function colorSelect(t,p) {
- if ( cp.p == p && document.getElementById(cp.divName).style.visibility != "hidden" )
- cp.hidePopup('prettyplease');
- else {
- cp.p = p;
- cp.select(t,p);
- }
- }
- function PopupWindow_setSize(width,height) {
- this.width = 162;
- this.height = 210;
- }
-
- var cp = new ColorPicker();
- function advUpdate(val, obj) {
- document.getElementById(obj).value = val;
- kUpdate(obj);
- }
- function kUpdate(oid) {
- if ( 'uppercolor' == oid || 'lowercolor' == oid ) {
- uc = document.getElementById('uppercolor').value.replace('#', '');
- lc = document.getElementById('lowercolor').value.replace('#', '');
- hi = document.getElementById('headerimage');
- hi.value = 'header-img.php?upper='+uc+'&lower='+lc;
- document.getElementById('header').style.background = 'url("<?php echo get_template_directory_uri(); ?>/images/'+hi.value+'") center no-repeat';
- document.getElementById('advuppercolor').value = '#'+uc;
- document.getElementById('advlowercolor').value = '#'+lc;
- }
- if ( 'fontcolor' == oid ) {
- document.getElementById('header').style.color = document.getElementById('fontcolor').value;
- document.getElementById('advfontcolor').value = document.getElementById('fontcolor').value;
- }
- if ( 'fontdisplay' == oid ) {
- document.getElementById('headerimg').style.display = document.getElementById('fontdisplay').value;
- }
- }
- function toggleDisplay() {
- td = document.getElementById('fontdisplay');
- td.value = ( td.value == 'none' ) ? 'inline' : 'none';
- kUpdate('fontdisplay');
- }
- function toggleAdvanced() {
- a = document.getElementById('jsAdvanced');
- if ( a.style.display == 'none' )
- a.style.display = 'block';
- else
- a.style.display = 'none';
- }
- function kDefaults() {
- document.getElementById('headerimage').value = '';
- document.getElementById('advuppercolor').value = document.getElementById('uppercolor').value = '#69aee7';
- document.getElementById('advlowercolor').value = document.getElementById('lowercolor').value = '#4180b6';
- document.getElementById('header').style.background = 'url("<?php echo get_template_directory_uri(); ?>/images/kubrickheader.jpg") center no-repeat';
- document.getElementById('header').style.color = '#FFFFFF';
- document.getElementById('advfontcolor').value = document.getElementById('fontcolor').value = '';
- document.getElementById('fontdisplay').value = 'inline';
- document.getElementById('headerimg').style.display = document.getElementById('fontdisplay').value;
- }
- function kRevert() {
- document.getElementById('headerimage').value = '<?php echo kubrick_header_image(); ?>';
- document.getElementById('advuppercolor').value = document.getElementById('uppercolor').value = '#<?php echo kubrick_upper_color(); ?>';
- document.getElementById('advlowercolor').value = document.getElementById('lowercolor').value = '#<?php echo kubrick_lower_color(); ?>';
- document.getElementById('header').style.background = 'url("<?php echo kubrick_header_image_url(); ?>") center no-repeat';
- document.getElementById('header').style.color = '';
- document.getElementById('advfontcolor').value = document.getElementById('fontcolor').value = '<?php echo kubrick_header_color_string(); ?>';
- document.getElementById('fontdisplay').value = '<?php echo kubrick_header_display_string(); ?>';
- document.getElementById('headerimg').style.display = document.getElementById('fontdisplay').value;
- }
- function kInit() {
- document.getElementById('jsForm').style.display = 'block';
- document.getElementById('nonJsForm').style.display = 'none';
- }
- addLoadEvent(kInit);
-</script>
-<style type='text/css'>
- #headwrap {
- text-align: center;
- }
- #kubrick-header {
- font-size: 80%;
- }
- #kubrick-header .hibrowser {
- width: 780px;
- height: 260px;
- overflow: scroll;
- }
- #kubrick-header #hitarget {
- display: none;
- }
- #kubrick-header #header h1 {
- font-family: 'Trebuchet MS', 'Lucida Grande', Verdana, Arial, Sans-Serif;
- font-weight: bold;
- font-size: 4em;
- text-align: center;
- padding-top: 70px;
- margin: 0;
- }
-
- #kubrick-header #header .description {
- font-family: 'Lucida Grande', Verdana, Arial, Sans-Serif;
- font-size: 1.2em;
- text-align: center;
- }
- #kubrick-header #header {
- text-decoration: none;
- color: <?php echo kubrick_header_color_string(); ?>;
- padding: 0;
- margin: 0;
- height: 200px;
- text-align: center;
- background: url('<?php echo kubrick_header_image_url(); ?>') center no-repeat;
- }
- #kubrick-header #headerimg {
- margin: 0;
- height: 200px;
- width: 100%;
- display: <?php echo kubrick_header_display_string(); ?>;
- }
- #jsForm {
- display: none;
- text-align: center;
- }
- #jsForm input.submit, #jsForm input.button, #jsAdvanced input.button {
- padding: 0px;
- margin: 0px;
- }
- #advanced {
- text-align: center;
- width: 620px;
- }
- html>body #advanced {
- text-align: center;
- position: relative;
- left: 50%;
- margin-left: -380px;
- }
- #jsAdvanced {
- text-align: right;
- }
- #nonJsForm {
- position: relative;
- text-align: left;
- margin-left: -370px;
- left: 50%;
- }
- #nonJsForm label {
- padding-top: 6px;
- padding-right: 5px;
- float: left;
- width: 100px;
- text-align: right;
- }
- .defbutton {
- font-weight: bold;
- }
- .zerosize {
- width: 0px;
- height: 0px;
- overflow: hidden;
- }
- #colorPickerDiv a, #colorPickerDiv a:hover {
- padding: 1px;
- text-decoration: none;
- border-bottom: 0px;
- }
-</style>
-<?php
-}
-
-function kubrick_theme_page() {
- if ( $_REQUEST['saved'] ) echo '<div id="message" class="updated fade"><p><strong>Options saved.</strong></p></div>';
-?>
-<div class='wrap'>
- <div id="kubrick-header">
- <h2>Header Image and Color</h2>
- <div id="headwrap">
- <div id="header">
- <div id="headerimg">
- <h1><?php bloginfo('name'); ?></h1>
- <div class="description"><?php bloginfo('description'); ?></div>
- </div>
- </div>
- </div>
- <br />
- <div id="nonJsForm">
- <form method="POST">
- <div class="zerosize"><input type="submit" name="defaultsubmit" value="Save" /></div>
- <label for="njfontcolor">Font Color:</label><input type="text" name="njfontcolor" id="njfontcolor" value="<?php echo kubrick_header_color(); ?>" /> Any CSS color (<code>red</code> or <code>#FF0000</code> or <code>rgb(255, 0, 0)</code>)<br />
- <label for="njuppercolor">Upper Color:</label><input type="text" name="njuppercolor" id="njuppercolor" value="#<?php echo kubrick_upper_color(); ?>" /> HEX only (<code>#FF0000</code> or <code>#F00</code>)<br />
- <label for="njlowercolor">Lower Color:</label><input type="text" name="njlowercolor" id="njlowercolor" value="#<?php echo kubrick_lower_color(); ?>" /> HEX only (<code>#FF0000</code> or <code>#F00</code>)<br />
- <input type="hidden" name="hi" id="hi" value="<?php echo kubrick_header_image(); ?>" />
- <label> </label><input type="submit" name="toggledisplay" id="toggledisplay" value="Toggle Text" />
- <input type="submit" name="defaults" value="Use Defaults" />
- <input type="submit" class="defbutton" name="submitform" value="&nbsp;&nbsp;Save&nbsp;&nbsp;" />
- <input type="hidden" name="action" value="save" />
- <input type="hidden" name="njform" value="true" />
- </form>
- </div>
- <div id="jsForm">
- <form style="display:inline;" method="post" name="hicolor" id="hicolor" action="<?php echo $_SERVER['REQUEST_URI']; ?>">
- <input type="button" onclick="tgt=document.getElementById('fontcolor');colorSelect(tgt,'pick1');return false;" name="pick1" id="pick1" value="Font Color"></input>
- <input type="button" onclick="tgt=document.getElementById('uppercolor');colorSelect(tgt,'pick2');return false;" name="pick2" id="pick2" value="Upper Color"></input>
- <input type="button" onclick="tgt=document.getElementById('lowercolor');colorSelect(tgt,'pick3');return false;" name="pick3" id="pick3" value="Lower Color"></input>
- <input type="button" name="revert" value="Revert" onclick="kRevert()" />
- <input type="button" value="Advanced" onclick="toggleAdvanced()" />
- <input type="submit" name="submitform" class="defbutton" value="Save" onclick="cp.hidePopup('prettyplease')" />
- <input type="hidden" name="action" value="save" />
- <input type="hidden" name="fontdisplay" id="fontdisplay" value="<?php echo kubrick_header_display(); ?>" />
- <input type="hidden" name="fontcolor" id="fontcolor" value="<?php echo kubrick_header_color(); ?>" />
- <input type="hidden" name="uppercolor" id="uppercolor" value="<?php echo kubrick_upper_color(); ?>" />
- <input type="hidden" name="lowercolor" id="lowercolor" value="<?php echo kubrick_lower_color(); ?>" />
- <input type="hidden" name="headerimage" id="headerimage" value="<?php echo kubrick_header_image(); ?>" />
- </form>
- <div id="colorPickerDiv" style="z-index: 100;background:#eee;border:1px solid #ccc;position:absolute;visibility:hidden;"> </div>
- <div id="advanced">
- <form id="jsAdvanced" style="display:none;">
- <label for="advfontcolor">Font Color (CSS): </label><input type="text" id="advfontcolor" onchange="advUpdate(this.value, 'fontcolor')" value="<?php echo kubrick_header_color(); ?>" /><br />
- <label for="advuppercolor">Upper Color (HEX): </label><input type="text" id="advuppercolor" onchange="advUpdate(this.value, 'uppercolor')" value="#<?php echo kubrick_upper_color(); ?>" /><br />
- <label for="advlowercolor">Lower Color (HEX): </label><input type="text" id="advlowercolor" onchange="advUpdate(this.value, 'lowercolor')" value="#<?php echo kubrick_lower_color(); ?>" /><br />
- <input type="button" name="default" value="Select Default Colors" onclick="kDefaults()" /><br />
- <input type="button" onclick="toggleDisplay();return false;" name="pick" id="pick" value="Toggle Text Display"></input><br />
- </form>
- </div>
- </div>
- </div>
-</div>
-<?php } ?>
diff --git a/wp-inst/wp-content/themes/default/header.php b/wp-inst/wp-content/themes/default/header.php
deleted file mode 100644
index 434adcb..0000000
--- a/wp-inst/wp-content/themes/default/header.php
+++ /dev/null
@@ -1,56 +0,0 @@
-<!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 profile="http://gmpg.org/xfn/11">
-<meta http-equiv="Content-Type" content="<?php bloginfo('html_type'); ?>; charset=<?php bloginfo('charset'); ?>" />
-
-<title><?php bloginfo('name'); ?> <?php if ( is_single() ) { ?> &raquo; Blog Archive <?php } ?> <?php wp_title(); ?></title>
-
-<meta name="generator" content="WordPress <?php bloginfo('version'); ?>" /> <!-- leave this for stats -->
-
-<link rel="stylesheet" href="<?php bloginfo('stylesheet_url'); ?>" type="text/css" media="screen" />
-<link rel="alternate" type="application/rss+xml" title="<?php bloginfo('name'); ?> RSS Feed" href="<?php bloginfo('rss2_url'); ?>" />
-<link rel="pingback" href="<?php bloginfo('pingback_url'); ?>" />
-
-<style type="text/css" media="screen">
-/* To accomodate differing install paths of WordPress, images are referred only here,
- and not in the wp-layout.css file. If you prefer to use only CSS for colors and what
- not, then go right ahead and delete the following lines, and the image files. */
-
- body { background: url("<?php bloginfo('stylesheet_directory'); ?>/images/kubrickbgcolor.jpg"); }
-<?php /* Checks to see whether it needs a sidebar or not */ if ((! $withcomments) && (! is_single())) { ?>
- #page { background: url("<?php bloginfo('stylesheet_directory'); ?>/images/kubrickbg.jpg") repeat-y top; border: none; }
-<?php } else { // No sidebar ?>
- #page { background: url("<?php bloginfo('stylesheet_directory'); ?>/images/kubrickbgwide.jpg") repeat-y top; border: none; }
-<?php } ?>
- #header { background: url("<?php bloginfo('stylesheet_directory'); ?>/images/kubrickheader.jpg") no-repeat bottom center; }
- #footer { background: url("<?php bloginfo('stylesheet_directory'); ?>/images/kubrickfooter.jpg") no-repeat bottom; border: none;}
-
-/* Because the template is slightly different, size-wise, with images, this needs to be set here
- If you don't want to use the template's images, you can also delete the following two lines. */
-
- #header { margin: 0 !important; margin: 0 0 0 1px; padding: 1px; height: 198px; width: 758px; }
- #headerimg { margin: 7px 9px 0; height: 192px; width: 740px; }
-
-/* To ease the insertion of a personal header image, I have done it in such a way,
- that you simply drop in an image called 'personalheader.jpg' into your /images/
- directory. Dimensions should be at least 760px x 200px. Anything above that will
- get cropped off of the image. */
- /*
- #headerimg { background: url('<?php bloginfo('stylesheet_directory'); ?>/images/personalheader.jpg') no-repeat top;}
- */
-</style>
-
-<?php wp_head(); ?>
-</head>
-<body>
-<div id="page">
-
-
-<div id="header">
- <div id="headerimg">
- <h1><a href="<?php echo get_settings('home'); ?>/"><?php bloginfo('name'); ?></a></h1>
- <div class="description"><?php bloginfo('description'); ?></div>
- </div>
-</div>
-<hr />
diff --git a/wp-inst/wp-content/themes/default/images/audio.jpg b/wp-inst/wp-content/themes/default/images/audio.jpg
deleted file mode 100644
index b02e1c8..0000000
--- a/wp-inst/wp-content/themes/default/images/audio.jpg
+++ /dev/null
Binary files differ
diff --git a/wp-inst/wp-content/themes/default/images/header-img.php b/wp-inst/wp-content/themes/default/images/header-img.php
deleted file mode 100644
index 65a9e87..0000000
--- a/wp-inst/wp-content/themes/default/images/header-img.php
+++ /dev/null
@@ -1,77 +0,0 @@
-<?php
-
-$img = 'kubrickheader.jpg';
-
-// If we don't have image processing support, redirect.
-if ( ! function_exists('imagecreatefromjpeg') )
- die(header("Location: kubrickheader.jpg"));
-
-// Assign and validate the color values
-$default = false;
-$vars = array('upper'=>array('r1', 'g1', 'b1'), 'lower'=>array('r2', 'g2', 'b2'));
-foreach ( $vars as $var => $subvars ) {
- if ( isset($_GET[$var]) ) {
- foreach ( $subvars as $index => $subvar ) {
- $length = strlen($_GET[$var]) / 3;
- $v = substr($_GET[$var], $index * $length, $length);
- if ( $length == 1 ) $v = '' . $v . $v;
- $$subvar = hexdec( $v );
- if ( $$subvar < 0 || $$subvar > 255 )
- $default = true;
- }
- } else {
- $default = true;
- }
-}
-
-if ( $default )
- list ( $r1, $g1, $b1, $r2, $g2, $b2 ) = array ( 105, 174, 231, 65, 128, 182 );
-
-// Create the image
-$im = imagecreatefromjpeg($img);
-
-// Get the background color, define the rectangle height
-$white = imagecolorat( $im, 15, 15 );
-$h = 182;
-
-// Define the boundaries of the rounded edges ( y => array ( x1, x2 ) )
-$corners = array(
- 0 => array ( 25, 734 ),
- 1 => array ( 23, 736 ),
- 2 => array ( 22, 737 ),
- 3 => array ( 21, 738 ),
- 4 => array ( 21, 738 ),
- 177 => array ( 21, 738 ),
- 178 => array ( 21, 738 ),
- 179 => array ( 22, 737 ),
- 180 => array ( 23, 736 ),
- 181 => array ( 25, 734 ),
- );
-
-// Blank out the blue thing
-for ( $i = 0; $i < $h; $i++ ) {
- $x1 = 19;
- $x2 = 740;
- imageline( $im, $x1, 18 + $i, $x2, 18 + $i, $white );
-}
-
-// Draw a new color thing
-for ( $i = 0; $i < $h; $i++ ) {
- $x1 = 20;
- $x2 = 739;
- $r = ( $r2 - $r1 != 0 ) ? $r1 + ( $r2 - $r1 ) * ( $i / $h ) : $r1;
- $g = ( $g2 - $g1 != 0 ) ? $g1 + ( $g2 - $g1 ) * ( $i / $h ) : $g1;
- $b = ( $b2 - $b1 != 0 ) ? $b1 + ( $b2 - $b1 ) * ( $i / $h ) : $b1;
- $color = imagecolorallocate( $im, $r, $g, $b );
- if ( array_key_exists($i, $corners) ) {
- imageline( $im, $x1, 18 + $i, $x2, 18 + $i, $white );
- list ( $x1, $x2 ) = $corners[$i];
- }
- imageline( $im, $x1, 18 + $i, $x2, 18 + $i, $color );
-}
-
-//die;
-header("Content-Type: image/jpeg");
-imagejpeg($im, '', 92);
-imagedestroy($im);
-?>
diff --git a/wp-inst/wp-content/themes/default/images/kubrickbg.jpg b/wp-inst/wp-content/themes/default/images/kubrickbg.jpg
deleted file mode 100644
index dc74fb8..0000000
--- a/wp-inst/wp-content/themes/default/images/kubrickbg.jpg
+++ /dev/null
Binary files differ
diff --git a/wp-inst/wp-content/themes/default/images/kubrickbgcolor.jpg b/wp-inst/wp-content/themes/default/images/kubrickbgcolor.jpg
deleted file mode 100644
index 4653b68..0000000
--- a/wp-inst/wp-content/themes/default/images/kubrickbgcolor.jpg
+++ /dev/null
Binary files differ
diff --git a/wp-inst/wp-content/themes/default/images/kubrickbgwide.jpg b/wp-inst/wp-content/themes/default/images/kubrickbgwide.jpg
deleted file mode 100644
index 77096f2..0000000
--- a/wp-inst/wp-content/themes/default/images/kubrickbgwide.jpg
+++ /dev/null
Binary files differ
diff --git a/wp-inst/wp-content/themes/default/images/kubrickfooter.jpg b/wp-inst/wp-content/themes/default/images/kubrickfooter.jpg
deleted file mode 100644
index d7a4c65..0000000
--- a/wp-inst/wp-content/themes/default/images/kubrickfooter.jpg
+++ /dev/null
Binary files differ
diff --git a/wp-inst/wp-content/themes/default/images/kubrickheader.jpg b/wp-inst/wp-content/themes/default/images/kubrickheader.jpg
deleted file mode 100644
index 69441ee..0000000
--- a/wp-inst/wp-content/themes/default/images/kubrickheader.jpg
+++ /dev/null
Binary files differ
diff --git a/wp-inst/wp-content/themes/default/index.php b/wp-inst/wp-content/themes/default/index.php
deleted file mode 100644
index 9aa2c16..0000000
--- a/wp-inst/wp-content/themes/default/index.php
+++ /dev/null
@@ -1,39 +0,0 @@
-<?php get_header(); ?>
-
- <div id="content" class="narrowcolumn">
-
- <?php if (have_posts()) : ?>
-
- <?php while (have_posts()) : the_post(); ?>
-
- <div class="post" id="post-<?php the_ID(); ?>">
- <h2><a href="<?php the_permalink() ?>" rel="bookmark" title="Permanent Link to <?php the_title(); ?>"><?php the_title(); ?></a></h2>
- <small><?php the_time('F jS, Y') ?> by <?php the_author() ?></small>
-
- <div class="entry">
- <?php the_content('Read the rest of this entry &raquo;'); ?>
- </div>
-
- <p class="postmetadata">Posted in <?php the_category(', ') ?> | <?php edit_post_link('Edit', '', ' | '); ?> <?php comments_popup_link('No Comments &#187;', '1 Comment &#187;', '% Comments &#187;'); ?></p>
- </div>
-
- <?php endwhile; ?>
-
- <div class="navigation">
- <div class="alignleft"><?php next_posts_link('&laquo; Previous Entries') ?></div>
- <div class="alignright"><?php previous_posts_link('Next Entries &raquo;') ?></div>
- </div>
-
- <?php else : ?>
-
- <h2 class="center">Not Found</h2>
- <p class="center">Sorry, but you are looking for something that isn't here.</p>
- <?php include (TEMPLATEPATH . "/searchform.php"); ?>
-
- <?php endif; ?>
-
- </div>
-
-<?php get_sidebar(); ?>
-
-<?php get_footer(); ?>
diff --git a/wp-inst/wp-content/themes/default/links.php b/wp-inst/wp-content/themes/default/links.php
deleted file mode 100644
index 3b2ad81..0000000
--- a/wp-inst/wp-content/themes/default/links.php
+++ /dev/null
@@ -1,18 +0,0 @@
-<?php
-/*
-Template Name: Links
-*/
-?>
-
-<?php get_header(); ?>
-
-<div id="content" class="widecolumn">
-
-<h2>Links:</h2>
-<ul>
-<?php get_links_list(); ?>
-</ul>
-
-</div>
-
-<?php get_footer(); ?>
diff --git a/wp-inst/wp-content/themes/default/page.php b/wp-inst/wp-content/themes/default/page.php
deleted file mode 100644
index c35a4dd..0000000
--- a/wp-inst/wp-content/themes/default/page.php
+++ /dev/null
@@ -1,21 +0,0 @@
-<?php get_header(); ?>
-
- <div id="content" class="narrowcolumn">
-
- <?php if (have_posts()) : while (have_posts()) : the_post(); ?>
- <div class="post" id="post-<?php the_ID(); ?>">
- <h2><?php the_title(); ?></h2>
- <div class="entrytext">
- <?php the_content('<p class="serif">Read the rest of this page &raquo;</p>'); ?>
-
- <?php link_pages('<p><strong>Pages:</strong> ', '</p>', 'number'); ?>
-
- </div>
- </div>
- <?php endwhile; endif; ?>
- <?php edit_post_link('Edit this entry.', '<p>', '</p>'); ?>
- </div>
-
-<?php get_sidebar(); ?>
-
-<?php get_footer(); ?>
diff --git a/wp-inst/wp-content/themes/default/screenshot.png b/wp-inst/wp-content/themes/default/screenshot.png
deleted file mode 100644
index e0b1d48..0000000
--- a/wp-inst/wp-content/themes/default/screenshot.png
+++ /dev/null
Binary files differ
diff --git a/wp-inst/wp-content/themes/default/search.php b/wp-inst/wp-content/themes/default/search.php
deleted file mode 100644
index 3fafd0a..0000000
--- a/wp-inst/wp-content/themes/default/search.php
+++ /dev/null
@@ -1,42 +0,0 @@
-<?php get_header(); ?>
-
- <div id="content" class="narrowcolumn">
-
- <?php if (have_posts()) : ?>
-
- <h2 class="pagetitle">Search Results</h2>
-
- <div class="navigation">
- <div class="alignleft"><?php next_posts_link('&laquo; Previous Entries') ?></div>
- <div class="alignright"><?php previous_posts_link('Next Entries &raquo;') ?></div>
- </div>
-
-
- <?php while (have_posts()) : the_post(); ?>
-
- <div class="post">
- <h3 id="post-<?php the_ID(); ?>"><a href="<?php the_permalink() ?>" rel="bookmark" title="Permanent Link to <?php the_title(); ?>"><?php the_title(); ?></a></h3>
- <small><?php the_time('l, F jS, Y') ?></small>
-
- <p class="postmetadata">Posted in <?php the_category(', ') ?> | <?php edit_post_link('Edit', '', ' | '); ?> <?php comments_popup_link('No Comments &#187;', '1 Comment &#187;', '% Comments &#187;'); ?></p>
- </div>
-
- <?php endwhile; ?>
-
- <div class="navigation">
- <div class="alignleft"><?php next_posts_link('&laquo; Previous Entries') ?></div>
- <div class="alignright"><?php previous_posts_link('Next Entries &raquo;') ?></div>
- </div>
-
- <?php else : ?>
-
- <h2 class="center">No posts found. Try a different search?</h2>
- <?php include (TEMPLATEPATH . '/searchform.php'); ?>
-
- <?php endif; ?>
-
- </div>
-
-<?php get_sidebar(); ?>
-
-<?php get_footer(); ?>
diff --git a/wp-inst/wp-content/themes/default/searchform.php b/wp-inst/wp-content/themes/default/searchform.php
deleted file mode 100644
index c7c73f1..0000000
--- a/wp-inst/wp-content/themes/default/searchform.php
+++ /dev/null
@@ -1,5 +0,0 @@
-<form method="get" id="searchform" action="<?php bloginfo('home'); ?>/">
-<div><input type="text" value="<?php echo wp_specialchars($s, 1); ?>" name="s" id="s" />
-<input type="submit" id="searchsubmit" value="Search" />
-</div>
-</form>
diff --git a/wp-inst/wp-content/themes/default/sidebar.php b/wp-inst/wp-content/themes/default/sidebar.php
deleted file mode 100644
index 7ed8c11..0000000
--- a/wp-inst/wp-content/themes/default/sidebar.php
+++ /dev/null
@@ -1,68 +0,0 @@
- <div id="sidebar">
- <ul>
-
- <li>
- <?php include (TEMPLATEPATH . '/searchform.php'); ?>
- </li>
-
- <!-- Author information is disabled per default. Uncomment and fill in your details if you want to use it.
- <li><h2>Author</h2>
- <p>A little something about you, the author. Nothing lengthy, just an overview.</p>
- </li>
- -->
-
- <li>
- <?php /* If this is a 404 page */ if (is_404()) { ?>
- <?php /* If this is a category archive */ } elseif (is_category()) { ?>
- <p>You are currently browsing the archives for the <?php single_cat_title(''); ?> category.</p>
-
- <?php /* If this is a yearly archive */ } elseif (is_day()) { ?>
- <p>You are currently browsing the <a href="<?php bloginfo('home'); ?>/"><?php echo bloginfo('name'); ?></a> weblog archives
- for the day <?php the_time('l, F jS, Y'); ?>.</p>
-
- <?php /* If this is a monthly archive */ } elseif (is_month()) { ?>
- <p>You are currently browsing the <a href="<?php bloginfo('home'); ?>/"><?php echo bloginfo('name'); ?></a> weblog archives
- for <?php the_time('F, Y'); ?>.</p>
-
- <?php /* If this is a yearly archive */ } elseif (is_year()) { ?>
- <p>You are currently browsing the <a href="<?php bloginfo('home'); ?>/"><?php echo bloginfo('name'); ?></a> weblog archives
- for the year <?php the_time('Y'); ?>.</p>
-
- <?php /* If this is a monthly archive */ } elseif (is_search()) { ?>
- <p>You have searched the <a href="<?php echo bloginfo('home'); ?>/"><?php echo bloginfo('name'); ?></a> weblog archives
- for <strong>'<?php echo wp_specialchars($s); ?>'</strong>. If you are unable to find anything in these search results, you can try one of these links.</p>
-
- <?php /* If this is a monthly archive */ } elseif (isset($_GET['paged']) && !empty($_GET['paged'])) { ?>
- <p>You are currently browsing the <a href="<?php echo bloginfo('home'); ?>/"><?php echo bloginfo('name'); ?></a> weblog archives.</p>
-
- <?php } ?>
- </li>
-
- <?php wp_list_pages('title_li=<h2>Pages</h2>' ); ?>
-
- <li><h2>Archives</h2>
- <ul>
- <?php wp_get_archives('type=monthly'); ?>
- </ul>
- </li>
-
- <?php wp_list_categories('sort_column=name&optioncount=1&hierarchical=0&title_li=<h2>Categories</h2>'); ?>
-
- <?php /* If this is the frontpage */ if ( is_home() || is_page() ) { ?>
- <?php wp_list_bookmarks(); ?>
-
- <li><h2>Meta</h2>
- <ul>
- <?php wp_register(); ?>
- <li><?php wp_loginout(); ?></li>
- <li><a href="http://validator.w3.org/check/referer" title="This page validates as XHTML 1.0 Transitional">Valid <abbr title="eXtensible HyperText Markup Language">XHTML</abbr></a></li>
- <li><a href="http://gmpg.org/xfn/"><abbr title="XHTML Friends Network">XFN</abbr></a></li>
- <li><a href="http://wordpress.org/" title="Powered by WordPress, state-of-the-art semantic personal publishing platform.">WordPress</a></li>
- <?php wp_meta(); ?>
- </ul>
- </li>
- <?php } ?>
-
- </ul>
- </div>
-
diff --git a/wp-inst/wp-content/themes/default/single.php b/wp-inst/wp-content/themes/default/single.php
deleted file mode 100644
index 05cc554..0000000
--- a/wp-inst/wp-content/themes/default/single.php
+++ /dev/null
@@ -1,65 +0,0 @@
-<?php get_header(); ?>
-
- <div id="content" class="widecolumn">
-
- <?php if (have_posts()) : while (have_posts()) : the_post(); ?>
-
- <div class="navigation">
- <div class="alignleft"><?php previous_post_link('&laquo; %link') ?></div>
- <div class="alignright"><?php next_post_link('%link &raquo;') ?></div>
- </div>
-
- <div class="post" id="post-<?php the_ID(); ?>">
- <h2><a href="<?php echo get_permalink() ?>" rel="bookmark" title="Permanent Link: <?php the_title(); ?>"><?php the_title(); ?></a></h2>
-
- <div class="entrytext">
- <?php the_content('<p class="serif">Read the rest of this entry &raquo;</p>'); ?>
-
- <?php link_pages('<p><strong>Pages:</strong> ', '</p>', 'number'); ?>
-
- <p class="postmetadata alt">
- <small>
- This entry was posted
- <?php /* This is commented, because it requires a little adjusting sometimes.
- You'll need to download this plugin, and follow the instructions:
- http://binarybonsai.com/archives/2004/08/17/time-since-plugin/ */
- /* $entry_datetime = abs(strtotime($post->post_date) - (60*120)); echo time_since($entry_datetime); echo ' ago'; */ ?>
- on <?php the_time('l, F jS, Y') ?> at <?php the_time() ?>
- and is filed under <?php the_category(', ') ?>.
- You can follow any responses to this entry through the <?php comments_rss_link('RSS 2.0'); ?> feed.
-
- <?php if (('open' == $post-> comment_status) && ('open' == $post->ping_status)) {
- // Both Comments and Pings are open ?>
- You can <a href="#respond">leave a response</a>, or <a href="<?php trackback_url(true); ?>" rel="trackback">trackback</a> from your own site.
-
- <?php } elseif (!('open' == $post-> comment_status) && ('open' == $post->ping_status)) {
- // Only Pings are Open ?>
- Responses are currently closed, but you can <a href="<?php trackback_url(true); ?> " rel="trackback">trackback</a> from your own site.
-
- <?php } elseif (('open' == $post-> comment_status) && !('open' == $post->ping_status)) {
- // Comments are open, Pings are not ?>
- You can skip to the end and leave a response. Pinging is currently not allowed.
-
- <?php } elseif (!('open' == $post-> comment_status) && !('open' == $post->ping_status)) {
- // Neither Comments, nor Pings are open ?>
- Both comments and pings are currently closed.
-
- <?php } edit_post_link('Edit this entry.','',''); ?>
-
- </small>
- </p>
-
- </div>
- </div>
-
- <?php comments_template(); ?>
-
- <?php endwhile; else: ?>
-
- <p>Sorry, no posts matched your criteria.</p>
-
-<?php endif; ?>
-
- </div>
-
-<?php get_footer(); ?>
diff --git a/wp-inst/wp-content/themes/default/style.css b/wp-inst/wp-content/themes/default/style.css
deleted file mode 100644
index 665e719..0000000
--- a/wp-inst/wp-content/themes/default/style.css
+++ /dev/null
@@ -1,622 +0,0 @@
-/*
-Theme Name: WordPress Default
-Theme URI: http://wordpress.org/
-Description: The default WordPress theme based on the famous <a href="http://binarybonsai.com/kubrick/">Kubrick</a>.
-Version: 1.5
-Author: Michael Heilemann
-Author URI: http://binarybonsai.com/
-
- Kubrick v1.5
- http://binarybonsai.com/kubrick/
-
- This theme was designed and built by Michael Heilemann,
- whose blog you will find at http://binarybonsai.com/
-
- The CSS, XHTML and design is released under GPL:
- http://www.opensource.org/licenses/gpl-license.php
-
-
- *** REGARDING IMAGES ***
- All CSS that involves the use of images, can be found in the 'index.php' file.
- This is to ease installation inside subdirectories of a server.
-
- Have fun, and don't be afraid to contact me if you have questions.
-*/
-
-
-
-/* Begin Typography & Colors */
-body {
- font-size: 62.5%; /* Resets 1em to 10px */
- font-family: 'Lucida Grande', Verdana, Arial, Sans-Serif;
- background-color: #d5d6d7;
- color: #333;
- text-align: center;
- }
-
-#page {
- background-color: white;
- border: 1px solid #959596;
- text-align: left;
- }
-
-#header {
- background-color: #73a0c5;
- }
-
-#content {
- font-size: 1.2em
- }
-
-.widecolumn .entry p {
- font-size: 1.05em;
- }
-
-.narrowcolumn .entry, .widecolumn .entry {
- line-height: 1.4em;
- }
-
-.widecolumn {
- line-height: 1.6em;
- }
-
-.narrowcolumn .postmetadata {
- text-align: center;
- }
-
-.alt {
- background-color: #f8f8f8;
- border-top: 1px solid #ddd;
- border-bottom: 1px solid #ddd;
- }
-
-#footer {
- background-color: #eee;
- }
-
-small {
- font-family: Arial, Helvetica, Sans-Serif;
- font-size: 0.9em;
- line-height: 1.5em;
- }
-
-h1, h2, h3 {
- font-family: 'Trebuchet MS', 'Lucida Grande', Verdana, Arial, Sans-Serif;
- font-weight: bold;
- }
-
-h1 {
- font-size: 4em;
- text-align: center;
- }
-
-#headerimg .description {
- font-size: 1.2em;
- text-align: center;
- }
-
-h2 {
- font-size: 1.6em;
- }
-
-h2.pagetitle {
- font-size: 1.6em;
- }
-
-#sidebar h2 {
- font-family: 'Lucida Grande', Verdana, Sans-Serif;
- font-size: 1.2em;
- }
-
-h3 {
- font-size: 1.3em;
- }
-
-h1, h1 a, h1 a:hover, h1 a:visited, #headerimg .description {
- text-decoration: none;
- color: white;
- }
-
-h2, h2 a, h2 a:visited, h3, h3 a, h3 a:visited {
- color: #333;
- }
-
-h2, h2 a, h2 a:hover, h2 a:visited, h3, h3 a, h3 a:hover, h3 a:visited, #sidebar h2, #wp-calendar caption, cite {
- text-decoration: none;
- }
-
-.entry p a:visited {
- color: #b85b5a;
- }
-
-.commentlist li, #commentform input, #commentform textarea {
- font: 0.9em 'Lucida Grande', Verdana, Arial, Sans-Serif;
- }
-
-.commentlist li {
- font-weight: bold;
- }
-
-.commentlist cite, .commentlist cite a {
- font-weight: bold;
- font-style: normal;
- font-size: 1.1em;
- }
-
-.commentlist p {
- font-weight: normal;
- line-height: 1.5em;
- text-transform: none;
- }
-
-#commentform p {
- font-family: 'Lucida Grande', Verdana, Arial, Sans-Serif;
- }
-
-.commentmetadata {
- font-weight: normal;
- }
-
-#sidebar {
- font: 1em 'Lucida Grande', Verdana, Arial, Sans-Serif;
- }
-
-small, #sidebar ul ul li, #sidebar ul ol li, .nocomments, .postmetadata, blockquote, strike {
- color: #777;
- }
-
-code {
- font: 1.1em 'Courier New', Courier, Fixed;
- }
-
-acronym, abbr, span.caps
-{
- font-size: 0.9em;
- letter-spacing: .07em;
- }
-
-a, h2 a:hover, h3 a:hover {
- color: #06c;
- text-decoration: none;
- }
-
-a:hover {
- color: #147;
- text-decoration: underline;
- }
-
-#wp-calendar #prev a {
- font-size: 9pt;
- }
-
-#wp-calendar a {
- text-decoration: none;
- }
-
-#wp-calendar caption {
- font: bold 1.3em 'Lucida Grande', Verdana, Arial, Sans-Serif;
- text-align: center;
- }
-
-#wp-calendar th {
- font-style: normal;
- text-transform: capitalize;
- }
-/* End Typography & Colors */
-
-
-
-/* Begin Structure */
-body {
- margin: 0;
- padding: 0;
- }
-
-#page {
- background-color: white;
- margin: 20px auto;
- padding: 0;
- width: 760px;
- border: 1px solid #959596;
- }
-
-#header {
- padding: 0;
- margin: 0 auto;
- height: 200px;
- width: 100%;
- background-color: #73a0c5;
- }
-
-#headerimg {
- margin: 0;
- height: 200px;
- width: 100%;
- }
-
-.narrowcolumn {
- float: left;
- padding: 0 0 20px 45px;
- margin: 0px 0 0;
- width: 450px;
- }
-
-.widecolumn {
- padding: 10px 0 20px 0;
- margin: 5px 0 0 150px;
- width: 450px;
- }
-
-.post {
- margin: 0 0 40px;
- text-align: justify;
- }
-
-.widecolumn .post {
- margin: 0;
- }
-
-.narrowcolumn .postmetadata {
- padding-top: 5px;
- }
-
-.widecolumn .postmetadata {
- margin: 30px 0;
- }
-
-.widecolumn .smallattachment {
- text-align: center;
- float: left;
- width: 128px;
- margin: 5px 5px 5px 0px;
-}
-
-.widecolumn .attachment {
- text-align: center;
- margin: 5px 0px;
-}
-
-.postmetadata {
- clear: left;
-}
-
-#footer {
- padding: 0 0 0 1px;
- margin: 0 auto;
- width: 760px;
- clear: both;
- }
-
-#footer p {
- margin: 0;
- padding: 20px 0;
- text-align: center;
- }
-/* End Structure */
-
-
-
-/* Begin Headers */
-h1 {
- padding-top: 70px;
- margin: 0;
- }
-
-h2 {
- margin: 30px 0 0;
- }
-
-h2.pagetitle {
- margin-top: 30px;
- text-align: center;
-}
-
-#sidebar h2 {
- margin: 5px 0 0;
- padding: 0;
- }
-
-h3 {
- padding: 0;
- margin: 30px 0 0;
- }
-
-h3.comments {
- padding: 0;
- margin: 40px auto 20px ;
- }
-/* End Headers */
-
-
-
-/* Begin Images */
-p img {
- padding: 0;
- max-width: 100%;
- }
-
-/* Using 'class="alignright"' on an image will (who would've
- thought?!) align the image to the right. And using 'class="centered',
- will of course center the image. This is much better than using
- align="center", being much more futureproof (and valid) */
-
-img.centered {
- display: block;
- margin-left: auto;
- margin-right: auto;
- }
-
-img.alignright {
- padding: 4px;
- margin: 0 0 2px 7px;
- display: inline;
- }
-
-img.alignleft {
- padding: 4px;
- margin: 0 7px 2px 0;
- display: inline;
- }
-
-.alignright {
- float: right;
- }
-
-.alignleft {
- float: left
- }
-/* End Images */
-
-
-
-/* Begin Lists
-
- Special stylized non-IE bullets
- Do not work in Internet Explorer, which merely default to normal bullets. */
-
-html>body .entry ul {
- margin-left: 0px;
- padding: 0 0 0 30px;
- list-style: none;
- padding-left: 10px;
- text-indent: -10px;
- }
-
-html>body .entry li {
- margin: 7px 0 8px 10px;
- }
-
-.entry ul li:before, #sidebar ul ul li:before {
- content: "\00BB \0020";
- }
-
-.entry ol {
- padding: 0 0 0 35px;
- margin: 0;
- }
-
-.entry ol li {
- margin: 0;
- padding: 0;
- }
-
-.postmetadata ul, .postmetadata li {
- display: inline;
- list-style-type: none;
- list-style-image: none;
- }
-
-#sidebar ul, #sidebar ul ol {
- margin: 0;
- padding: 0;
- }
-
-#sidebar ul li {
- list-style-type: none;
- list-style-image: none;
- margin-bottom: 15px;
- }
-
-#sidebar ul p, #sidebar ul select {
- margin: 5px 0 8px;
- }
-
-#sidebar ul ul, #sidebar ul ol {
- margin: 5px 0 0 10px;
- }
-
-#sidebar ul ul ul, #sidebar ul ol {
- margin: 0 0 0 10px;
- }
-
-ol li, #sidebar ul ol li {
- list-style: decimal outside;
- }
-
-#sidebar ul ul li, #sidebar ul ol li {
- margin: 3px 0 0;
- padding: 0;
- }
-/* End Entry Lists */
-
-
-
-/* Begin Form Elements */
-#searchform {
- margin: 10px auto;
- padding: 5px 3px;
- text-align: center;
- }
-
-#sidebar #searchform #s {
- width: 115px;
- padding: 2px;
- }
-
-#sidebar #searchsubmit {
- padding: 1px;
- }
-
-.entry form { /* This is mainly for password protected posts, makes them look better. */
- text-align:center;
- }
-
-select {
- width: 130px;
- }
-
-#commentform input {
- width: 170px;
- padding: 2px;
- margin: 5px 5px 1px 0;
- }
-
-#commentform textarea {
- width: 100%;
- padding: 2px;
- }
-
-#commentform #submit {
- margin: 0;
- float: right;
- }
-/* End Form Elements */
-
-
-
-/* Begin Comments*/
-.alt {
- margin: 0;
- padding: 10px;
- }
-
-.commentlist {
- padding: 0;
- text-align: justify;
- }
-
-.commentlist li {
- margin: 15px 0 3px;
- padding: 5px 10px 3px;
- list-style: none;
- }
-
-.commentlist p {
- margin: 10px 5px 10px 0;
- }
-
-#commentform p {
- margin: 5px 0;
- }
-
-.nocomments {
- text-align: center;
- margin: 0;
- padding: 0;
- }
-
-.commentmetadata {
- margin: 0;
- display: block;
- }
-/* End Comments */
-
-
-
-/* Begin Sidebar */
-#sidebar
-{
- padding: 20px 0 10px 0;
- margin-left: 545px;
- width: 190px;
- }
-
-#sidebar form {
- margin: 0;
- }
-/* End Sidebar */
-
-
-
-/* Begin Calendar */
-#wp-calendar {
- empty-cells: show;
- margin: 10px auto 0;
- width: 155px;
- }
-
-#wp-calendar #next a {
- padding-right: 10px;
- text-align: right;
- }
-
-#wp-calendar #prev a {
- padding-left: 10px;
- text-align: left;
- }
-
-#wp-calendar a {
- display: block;
- }
-
-#wp-calendar caption {
- text-align: center;
- width: 100%;
- }
-
-#wp-calendar td {
- padding: 3px 0;
- text-align: center;
- }
-
-#wp-calendar td.pad:hover { /* Doesn't work in IE */
- background-color: #fff; }
-/* End Calendar */
-
-
-
-/* Begin Various Tags & Classes */
-acronym, abbr, span.caps {
- cursor: help;
- }
-
-acronym, abbr {
- border-bottom: 1px dashed #999;
- }
-
-blockquote {
- margin: 15px 30px 0 10px;
- padding-left: 20px;
- border-left: 5px solid #ddd;
- }
-
-blockquote cite {
- margin: 5px 0 0;
- display: block;
- }
-
-.center {
- text-align: center;
- }
-
-hr {
- display: none;
- }
-
-a img {
- border: none;
- }
-
-.navigation {
- display: block;
- text-align: center;
- margin-top: 10px;
- margin-bottom: 60px;
- }
-/* End Various Tags & Classes*/
-
-
-
-/* "Daisy, Daisy, give me your answer do. I'm half crazy all for the love of you.
- It won't be a stylish marriage, I can't afford a carriage.
- But you'll look sweet upon the seat of a bicycle built for two." */
diff --git a/wp-inst/wp-content/themes/home/404.php b/wp-inst/wp-content/themes/home/404.php
deleted file mode 100644
index 01a8e8a..0000000
--- a/wp-inst/wp-content/themes/home/404.php
+++ /dev/null
@@ -1,11 +0,0 @@
-<?php get_header(); ?>
-
- <div id="content" class="narrowcolumn">
-
- <h2 class="center">Error 404 - Not Found</h2>
-
- </div>
-
-<?php get_sidebar(); ?>
-
-<?php get_footer(); ?> \ No newline at end of file
diff --git a/wp-inst/wp-content/themes/home/archive.php b/wp-inst/wp-content/themes/home/archive.php
deleted file mode 100644
index b6f42d2..0000000
--- a/wp-inst/wp-content/themes/home/archive.php
+++ /dev/null
@@ -1,68 +0,0 @@
-<?php get_header(); ?>
-
- <div id="content" class="narrowcolumn">
-
- <?php if (have_posts()) : ?>
-
- <?php $post = $posts[0]; // Hack. Set $post so that the_date() works. ?>
-<?php /* If this is a category archive */ if (is_category()) { ?>
- <h2 class="pagetitle">Archive for the '<?php echo single_cat_title(); ?>' Category</h2>
-
- <?php /* If this is a daily archive */ } elseif (is_day()) { ?>
- <h2 class="pagetitle">Archive for <?php the_time('F jS, Y'); ?></h2>
-
- <?php /* If this is a monthly archive */ } elseif (is_month()) { ?>
- <h2 class="pagetitle">Archive for <?php the_time('F, Y'); ?></h2>
-
- <?php /* If this is a yearly archive */ } elseif (is_year()) { ?>
- <h2 class="pagetitle">Archive for <?php the_time('Y'); ?></h2>
-
- <?php /* If this is a search */ } elseif (is_search()) { ?>
- <h2 class="pagetitle">Search Results</h2>
-
- <?php /* If this is an author archive */ } elseif (is_author()) { ?>
- <h2 class="pagetitle">Author Archive</h2>
-
- <?php /* If this is a paged archive */ } elseif (isset($_GET['paged']) && !empty($_GET['paged'])) { ?>
- <h2 class="pagetitle">Blog Archives</h2>
-
- <?php } ?>
-
-
- <div class="navigation">
- <div class="alignleft"><?php previous_posts_link('&laquo; Previous Entries') ?></div>
- <div class="alignright"><?php next_posts_link('Next Entries &raquo;') ?></div>
- </div>
-
- <?php while (have_posts()) : the_post(); ?>
- <div class="post">
- <h3 id="post-<?php the_ID(); ?>"><a href="<?php the_permalink() ?>" rel="bookmark" title="Permanent Link to <?php the_title(); ?>"><?php the_title(); ?></a></h3>
- <small><?php the_time('l, F jS, Y') ?></small>
-
- <div class="entry">
- <?php the_excerpt() ?>
- </div>
-
- <p class="postmetadata">Posted in <?php the_category(', ') ?> <strong>|</strong> <?php edit_post_link('Edit','','<strong>|</strong>'); ?> <?php comments_popup_link('No Comments &#187;', '1 Comment &#187;', '% Comments &#187;'); ?></p>
-
- </div>
-
- <?php endwhile; ?>
-
- <div class="navigation">
- <div class="alignleft"><?php previous_posts_link('&laquo; Previous Entries') ?></div>
- <div class="alignright"><?php next_posts_link('Next Entries &raquo;') ?></div>
- </div>
-
- <?php else : ?>
-
- <h2 class="center">Not Found</h2>
- <?php include (TEMPLATEPATH . '/searchform.php'); ?>
-
- <?php endif; ?>
-
- </div>
-
-<?php get_sidebar(); ?>
-
-<?php get_footer(); ?>
diff --git a/wp-inst/wp-content/themes/home/archives.php b/wp-inst/wp-content/themes/home/archives.php
deleted file mode 100644
index ae9d8dd..0000000
--- a/wp-inst/wp-content/themes/home/archives.php
+++ /dev/null
@@ -1,25 +0,0 @@
-<?php
-/*
-Template Name: Archives
-*/
-?>
-
-<?php get_header(); ?>
-
-<div id="content" class="widecolumn">
-
-<?php include (TEMPLATEPATH . '/searchform.php'); ?>
-
-<h2>Archives by Month:</h2>
- <ul>
- <?php wp_get_archives('type=monthly'); ?>
- </ul>
-
-<h2>Archives by Subject:</h2>
- <ul>
- <?php wp_list_cats(); ?>
- </ul>
-
-</div>
-
-<?php get_footer(); ?>
diff --git a/wp-inst/wp-content/themes/home/comments-popup.php b/wp-inst/wp-content/themes/home/comments-popup.php
deleted file mode 100644
index f01e3eb..0000000
--- a/wp-inst/wp-content/themes/home/comments-popup.php
+++ /dev/null
@@ -1,113 +0,0 @@
-<?php
-/* Don't remove these lines. */
-add_filter('comment_text', 'popuplinks');
-foreach ($posts as $post) { start_wp();
-?>
-<!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><?php echo get_settings('blogname'); ?> - Comments on <?php the_title(); ?></title>
-
- <meta http-equiv="Content-Type" content="<?php bloginfo('html_type'); ?>; charset=<?php echo get_settings('blog_charset'); ?>" />
- <style type="text/css" media="screen">
- @import url( <?php bloginfo('stylesheet_url'); ?> );
- body { margin: 3px; }
- </style>
-
-</head>
-<body id="commentspopup">
-
-<h1 id="header"><a href="" title="<?php echo get_settings('blogname'); ?>"><?php echo get_settings('blogname'); ?></a></h1>
-
-<h2 id="comments">Comments</h2>
-
-<p><a href="<?php echo get_settings('siteurl'); ?>/wp-commentsrss2.php?p=<?php echo $post->ID; ?>"><abbr title="Really Simple Syndication">RSS</abbr> feed for comments on this post.</a></p>
-
-<?php if ('open' == $post->ping_status) { ?>
-<p>The <acronym title="Uniform Resource Identifier">URI</acronym> to TrackBack this entry is: <em><?php trackback_url() ?></em></p>
-<?php } ?>
-
-<?php
-// this line is WordPress' motor, do not delete it.
-$comment_author = (isset($_COOKIE['comment_author_' . COOKIEHASH])) ? trim($_COOKIE['comment_author_'. COOKIEHASH]) : '';
-$comment_author_email = (isset($_COOKIE['comment_author_email_'. COOKIEHASH])) ? trim($_COOKIE['comment_author_email_'. COOKIEHASH]) : '';
-$comment_author_url = (isset($_COOKIE['comment_author_url_'. COOKIEHASH])) ? trim($_COOKIE['comment_author_url_'. COOKIEHASH]) : '';
-$comments = $wpdb->get_results("SELECT * FROM $wpdb->comments WHERE comment_post_ID = $id AND comment_approved = '1' ORDER BY comment_date");
-$commentstatus = $wpdb->get_row("SELECT comment_status, post_password FROM $wpdb->posts WHERE ID = $id");
-if (!empty($commentstatus->post_password) && $_COOKIE['wp-postpass_'. COOKIEHASH] != $commentstatus->post_password) { // and it doesn't match the cookie
- echo(get_the_password_form());
-} else { ?>
-
-<?php if ($comments) { ?>
-<ol id="commentlist">
-<?php foreach ($comments as $comment) { ?>
- <li id="comment-<?php comment_ID() ?>">
- <?php comment_text() ?>
- <p><cite><?php comment_type('Comment', 'Trackback', 'Pingback'); ?> by <?php comment_author_link() ?> &#8212; <?php comment_date() ?> @ <a href="#comment-<?php comment_ID() ?>"><?php comment_time() ?></a></cite></p>
- </li>
-
-<?php } // end for each comment ?>
-</ol>
-<?php } else { // this is displayed if there are no comments so far ?>
- <p>No comments yet.</p>
-<?php } ?>
-
-<?php if ('open' == $commentstatus->comment_status) { ?>
-<h2>Leave a comment</h2>
-<p>Line and paragraph breaks automatic, e-mail address never displayed, <acronym title="Hypertext Markup Language">HTML</acronym> allowed: <code><?php echo allowed_tags(); ?></code></p>
-
-<form action="<?php echo get_settings('siteurl'); ?>/wp-comments-post.php" method="post" id="commentform">
- <p>
- <input type="text" name="author" id="author" class="textarea" value="<?php echo $comment_author; ?>" size="28" tabindex="1" />
- <label for="author">Name</label>
- <input type="hidden" name="comment_post_ID" value="<?php echo $id; ?>" />
- <input type="hidden" name="redirect_to" value="<?php echo wp_specialchars($_SERVER["REQUEST_URI"]); ?>" />
- </p>
-
- <p>
- <input type="text" name="email" id="email" value="<?php echo $comment_author_email; ?>" size="28" tabindex="2" />
- <label for="email">E-mail</label>
- </p>
-
- <p>
- <input type="text" name="url" id="url" value="<?php echo $comment_author_url; ?>" size="28" tabindex="3" />
- <label for="url"><acronym title="Uniform Resource Identifier">URI</acronym></label>
- </p>
-
- <p>
- <label for="comment">Your Comment</label>
- <br />
- <textarea name="comment" id="comment" cols="70" rows="4" tabindex="4"></textarea>
- </p>
-
- <p>
- <input name="submit" type="submit" tabindex="5" value="Say It!" />
- </p>
- <?php do_action('comment_form', $post->ID); ?>
-</form>
-<?php } else { // comments are closed ?>
-<p>Sorry, the comment form is closed at this time.</p>
-<?php }
-} // end password check
-?>
-
-<div><strong><a href="javascript:window.close()">Close this window.</a></strong></div>
-
-<?php // if you delete this the sky will fall on your head
-}
-?>
-
-<!-- // this is just the end of the motor - don't touch that line either :) -->
-<?php //} ?>
-<p class="credit"><?php timer_stop(1); ?> <cite>Powered by <a href="http://wordpress.org" title="Powered by WordPress, state-of-the-art semantic personal publishing platform"><strong>Wordpress</strong></a></cite></p>
-<?php // Seen at http://www.mijnkopthee.nl/log2/archive/2003/05/28/esc(18) ?>
-<script type="text/javascript">
-<!--
-document.onkeypress = function esc(e) {
- if(typeof(e) == "undefined") { e=event; }
- if (e.keyCode == 27) { self.close(); }
-}
-// -->
-</script>
-</body>
-</html>
diff --git a/wp-inst/wp-content/themes/home/comments.php b/wp-inst/wp-content/themes/home/comments.php
deleted file mode 100644
index dff40d8..0000000
--- a/wp-inst/wp-content/themes/home/comments.php
+++ /dev/null
@@ -1,104 +0,0 @@
-<?php // Do not delete these lines
- if ('comments.php' == basename($_SERVER['SCRIPT_FILENAME']))
- die ('Please do not load this page directly. Thanks!');
-
- if (!empty($post->post_password)) { // if there's a password
- if ($_COOKIE['wp-postpass_' . COOKIEHASH] != $post->post_password) { // and it doesn't match the cookie
- ?>
-
- <p class="nocomments">This post is password protected. Enter the password to view comments.<p>
-
- <?php
- return;
- }
- }
-
- /* This variable is for alternating comment background */
- $oddcomment = 'alt';
-?>
-
-<!-- You can start editing here. -->
-
-<?php if ($comments) : ?>
- <h3 id="comments"><?php comments_number('No Responses', 'One Response', '% Responses' );?> to &#8220;<?php the_title(); ?>&#8221;</h3>
-
- <ol class="commentlist">
-
- <?php foreach ($comments as $comment) : ?>
-
- <li class="<?php echo $oddcomment; ?>" id="comment-<?php comment_ID() ?>">
- <cite><?php comment_author_link() ?></cite> Says:
- <?php if ($comment->comment_approved == '0') : ?>
- <em>Your comment is awaiting moderation.</em>
- <?php endif; ?>
- <br />
-
- <small class="commentmetadata"><a href="#comment-<?php comment_ID() ?>" title=""><?php comment_date('F jS, Y') ?> at <?php comment_time() ?></a> <?php edit_comment_link('e','',''); ?></small>
-
- <?php comment_text() ?>
-
- </li>
-
- <?php /* Changes every other comment to a different class */
- if ('alt' == $oddcomment) $oddcomment = '';
- else $oddcomment = 'alt';
- ?>
-
- <?php endforeach; /* end for each comment */ ?>
-
- </ol>
-
- <?php else : // this is displayed if there are no comments so far ?>
-
- <?php if ('open' == $post->comment_status) : ?>
- <!-- If comments are open, but there are no comments. -->
-
- <?php else : // comments are closed ?>
- <!-- If comments are closed. -->
- <p class="nocomments">Comments are closed.</p>
-
- <?php endif; ?>
-<?php endif; ?>
-
-
-<?php if ('open' == $post->comment_status) : ?>
-
-<h3 id="respond">Leave a Reply</h3>
-
-<?php if ( get_option('comment_registration') && !$user_ID ) : ?>
-<p>You must be <a href="<?php echo get_option('siteurl'); ?>/wp-login.php?redirect_to=<?php the_permalink(); ?>">logged in</a> to post a comment.</p>
-<?php else : ?>
-
-<form action="<?php echo get_option('siteurl'); ?>/wp-comments-post.php" method="post" id="commentform">
-
-<?php if ( $user_ID ) : ?>
-
-<p>Logged in as <a href="<?php echo get_option('siteurl'); ?>/wp-admin/profile.php"><?php echo $user_identity; ?></a>. <a href="<?php echo get_option('siteurl'); ?>/wp-login.php?action=logout" title="Log out of this account">Logout &raquo;</a></p>
-
-<?php else : ?>
-
-<p><input type="text" name="author" id="author" value="<?php echo $comment_author; ?>" size="22" tabindex="1" />
-<label for="author"><small>Name <?php if ($req) echo "(required)"; ?></small></label></p>
-
-<p><input type="text" name="email" id="email" value="<?php echo $comment_author_email; ?>" size="22" tabindex="2" />
-<label for="email"><small>Mail (will not be published) <?php if ($req) echo "(required)"; ?></small></label></p>
-
-<p><input type="text" name="url" id="url" value="<?php echo $comment_author_url; ?>" size="22" tabindex="3" />
-<label for="url"><small>Website</small></label></p>
-
-<?php endif; ?>
-
-<!--<p><small><strong>XHTML:</strong> You can use these tags: <?php echo allowed_tags(); ?></small></p>-->
-
-<p><textarea name="comment" id="comment" cols="100%" rows="10" tabindex="4"></textarea></p>
-
-<p><input name="submit" type="submit" id="submit" tabindex="5" value="Submit Comment" />
-<input type="hidden" name="comment_post_ID" value="<?php echo $id; ?>" />
-</p>
-<?php do_action('comment_form', $post->ID); ?>
-
-</form>
-
-<?php endif; // If registration required and not logged in ?>
-
-<?php endif; // if you delete this the sky will fall on your head ?>
diff --git a/wp-inst/wp-content/themes/home/footer.php b/wp-inst/wp-content/themes/home/footer.php
deleted file mode 100644
index 9ee08e2..0000000
--- a/wp-inst/wp-content/themes/home/footer.php
+++ /dev/null
@@ -1,20 +0,0 @@
-
-<hr />
-<div id="footer">
- <p>
- <?php bloginfo('name'); ?> is proudly powered by
- <a href="http://wordpress.org">WordPress</a>
- <br /><a href="feed:<?php bloginfo('rss2_url'); ?>">Entries (RSS)</a>
- and <a href="feed:<?php bloginfo('comments_rss2_url'); ?>">Comments (RSS)</a>.
- <!-- <?php echo $wpdb->num_queries; ?> queries. <?php timer_stop(1); ?> seconds. -->
- </p>
-</div>
-</div>
-
-<!-- Gorgeous design by Michael Heilemann - http://binarybonsai.com/kubrick/ -->
-<?php /* "Just what do you think you're doing Dave?" */ ?>
-
- <?php wp_footer(); ?>
-
-</body>
-</html> \ No newline at end of file
diff --git a/wp-inst/wp-content/themes/home/header.php b/wp-inst/wp-content/themes/home/header.php
deleted file mode 100644
index 37a0326..0000000
--- a/wp-inst/wp-content/themes/home/header.php
+++ /dev/null
@@ -1,61 +0,0 @@
-<!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 profile="http://gmpg.org/xfn/11">
-<meta http-equiv="Content-Type" content="<?php bloginfo('html_type'); ?>; charset=<?php bloginfo('charset'); ?>" />
-
-<title><?php bloginfo('name'); ?> <?php if ( is_single() ) { ?> &raquo; Blog Archive <?php } ?> <?php wp_title(); ?></title>
-
-<meta name="generator" content="WordPress <?php bloginfo('version'); ?>" /> <!-- leave this for stats -->
-
-<link rel="stylesheet" href="<?php bloginfo('stylesheet_url'); ?>" type="text/css" media="screen" />
-<link rel="alternate" type="application/rss+xml" title="RSS 2.0" href="<?php bloginfo('rss2_url'); ?>" />
-<link rel="alternate" type="text/xml" title="RSS .92" href="<?php bloginfo('rss_url'); ?>" />
-<link rel="alternate" type="application/atom+xml" title="Atom 0.3" href="<?php bloginfo('atom_url'); ?>" />
-<link rel="pingback" href="<?php bloginfo('pingback_url'); ?>" />
-
-<style type="text/css" media="screen">
-/* To accomodate differing install paths of WordPress, images are referred only here,
- and not in the wp-layout.css file. If you prefer to use only CSS for colors and what
- not, then go right ahead and delete the following lines, and the image files. */
-
- body { background: url("<?php bloginfo('stylesheet_directory'); ?>/images/kubrickbgcolor.jpg"); }
-<?php /* Checks to see whether it needs a sidebar or not */ if ( !$withcomments && !is_single() && !is_home() ) { ?>
- #page { background: url("<?php bloginfo('stylesheet_directory'); ?>/images/kubrickbg.jpg") repeat-y top; border: none; }
-<?php } else { // No sidebar ?>
- #page { background: url("<?php bloginfo('stylesheet_directory'); ?>/images/kubrickbgwide.jpg") repeat-y top; border: none; }
-<?php } ?>
- #header { background: url("<?php bloginfo('stylesheet_directory'); ?>/images/kubrickheader.jpg") no-repeat bottom center; }
- #footer { background: url("<?php bloginfo('stylesheet_directory'); ?>/images/kubrickfooter.jpg") no-repeat bottom; border: none;}
-
-/* Because the template is slightly different, size-wise, with images, this needs to be set here
- If you don't want to use the template's images, you can also delete the following two lines. */
-
- #header { margin: 0 !important; margin: 0 0 0 1px; padding: 1px; height: 198px; width: 758px; }
- #headerimg { margin: 7px 9px 0; height: 192px; width: 740px; }
-
-/* To ease the insertion of a personal header image, I have done it in such a way,
- that you simply drop in an image called 'personalheader.jpg' into your /images/
- directory. Dimensions should be at least 760px x 200px. Anything above that will
- get cropped off of the image. */
- /*
- #headerimg { background: url('<?php bloginfo('stylesheet_directory'); ?>/images/personalheader.jpg') no-repeat top;}
- */
-</style>
-
-<?php wp_get_archives('type=monthly&format=link'); ?>
-
-<?php wp_head(); ?>
-</head>
-<body>
-
-<div id="page">
-
-
-<div id="header">
- <div id="headerimg">
- <h1><a href="<?php echo get_settings('home'); ?>"><?php bloginfo('name'); ?></a></h1>
- <div class="description"><?php bloginfo('description'); ?></div>
- </div>
-</div>
-<hr />
diff --git a/wp-inst/wp-content/themes/home/home.php b/wp-inst/wp-content/themes/home/home.php
deleted file mode 100644
index 358f4a1..0000000
--- a/wp-inst/wp-content/themes/home/home.php
+++ /dev/null
@@ -1,20 +0,0 @@
-<?php get_header(); ?>
-
- <div id="content" class="widecolumn">
-
- <h2>WordPress &micro;</h2>
- <p>This is a <a href="http://mu.wordpress.org/">WordPress Mu</a> powered site.</p>
- <p>You can: <ul><li> <a href="wp-login.php">Login</a> </li><li> <a href="wp-signup.php">Create a new blog</a></li><li> Edit this file at <code>wp-content/themes/home/home.php</code> with your favourite text editor and customize this screen.</li></ul></p>
-<h3>News Blog</h3>
-
-<ul>
-<?php
-query_posts('showposts=7');
-if (have_posts()) : ?><?php while (have_posts()) : the_post(); ?>
-<li><a href="<?php the_permalink() ?>" rel="bookmark" title="Permanent Link to <?php the_title(); ?>"><?php the_title();?> </a></li>
-<?php endwhile; ?><?php endif; ?>
-</ul>
-
-</div>
-
-<?php get_footer(); ?>
diff --git a/wp-inst/wp-content/themes/home/images/kubrickbg.jpg b/wp-inst/wp-content/themes/home/images/kubrickbg.jpg
deleted file mode 100644
index dc74fb8..0000000
--- a/wp-inst/wp-content/themes/home/images/kubrickbg.jpg
+++ /dev/null
Binary files differ
diff --git a/wp-inst/wp-content/themes/home/images/kubrickbgcolor.jpg b/wp-inst/wp-content/themes/home/images/kubrickbgcolor.jpg
deleted file mode 100644
index 4653b68..0000000
--- a/wp-inst/wp-content/themes/home/images/kubrickbgcolor.jpg
+++ /dev/null
Binary files differ
diff --git a/wp-inst/wp-content/themes/home/images/kubrickbgwide.jpg b/wp-inst/wp-content/themes/home/images/kubrickbgwide.jpg
deleted file mode 100644
index 77096f2..0000000
--- a/wp-inst/wp-content/themes/home/images/kubrickbgwide.jpg
+++ /dev/null
Binary files differ
diff --git a/wp-inst/wp-content/themes/home/images/kubrickfooter.jpg b/wp-inst/wp-content/themes/home/images/kubrickfooter.jpg
deleted file mode 100644
index d7a4c65..0000000
--- a/wp-inst/wp-content/themes/home/images/kubrickfooter.jpg
+++ /dev/null
Binary files differ
diff --git a/wp-inst/wp-content/themes/home/images/kubrickheader.jpg b/wp-inst/wp-content/themes/home/images/kubrickheader.jpg
deleted file mode 100644
index 69441ee..0000000
--- a/wp-inst/wp-content/themes/home/images/kubrickheader.jpg
+++ /dev/null
Binary files differ
diff --git a/wp-inst/wp-content/themes/home/index.php b/wp-inst/wp-content/themes/home/index.php
deleted file mode 100644
index 0e76687..0000000
--- a/wp-inst/wp-content/themes/home/index.php
+++ /dev/null
@@ -1,39 +0,0 @@
-<?php get_header(); ?>
-
- <div id="content" class="narrowcolumn">
-
- <?php if (have_posts()) : ?>
-
- <?php while (have_posts()) : the_post(); ?>
-
- <div class="post" id="post-<?php the_ID(); ?>">
- <h2><a href="<?php the_permalink() ?>" rel="bookmark" title="Permanent Link to <?php the_title(); ?>"><?php the_title(); ?></a></h2>
- <small><?php the_time('F jS, Y') ?> <!-- by <?php the_author() ?> --></small>
-
- <div class="entry">
- <?php the_content('Read the rest of this entry &raquo;'); ?>
- </div>
-
- <p class="postmetadata">Posted in <?php the_category(', ') ?> <strong>|</strong> <?php edit_post_link('Edit','','<strong>|</strong>'); ?> <?php comments_popup_link('No Comments &#187;', '1 Comment &#187;', '% Comments &#187;'); ?></p>
- </div>
-
- <?php endwhile; ?>
-
- <div class="navigation">
- <div class="alignleft"><?php next_posts_link('&laquo; Previous Entries') ?></div>
- <div class="alignright"><?php previous_posts_link('Next Entries &raquo;') ?></div>
- </div>
-
- <?php else : ?>
-
- <h2 class="center">Not Found</h2>
- <p class="center">Sorry, but you are looking for something that isn't here.</p>
- <?php include (TEMPLATEPATH . "/searchform.php"); ?>
-
- <?php endif; ?>
-
- </div>
-
-<?php get_sidebar(); ?>
-
-<?php get_footer(); ?>
diff --git a/wp-inst/wp-content/themes/home/links.php b/wp-inst/wp-content/themes/home/links.php
deleted file mode 100644
index 2970897..0000000
--- a/wp-inst/wp-content/themes/home/links.php
+++ /dev/null
@@ -1,18 +0,0 @@
-<?php
-/*
-Template Name: Links
-*/
-?>
-
-<?php get_header(); ?>
-
-<div id="content" class="widecolumn">
-
-<h2>Links:</h2>
-<ul>
-<?php get_links_list(); ?>
-</ul>
-
-</div>
-
-<?php get_footer(); ?>
diff --git a/wp-inst/wp-content/themes/home/page.php b/wp-inst/wp-content/themes/home/page.php
deleted file mode 100644
index 5f914c1..0000000
--- a/wp-inst/wp-content/themes/home/page.php
+++ /dev/null
@@ -1,21 +0,0 @@
-<?php get_header(); ?>
-
- <div id="content" class="narrowcolumn">
-
- <?php if (have_posts()) : while (have_posts()) : the_post(); ?>
- <div class="post" id="post-<?php the_ID(); ?>">
- <h2><?php the_title(); ?></h2>
- <div class="entrytext">
- <?php the_content('<p class="serif">Read the rest of this page &raquo;</p>'); ?>
-
- <?php link_pages('<p><strong>Pages:</strong> ', '</p>', 'number'); ?>
-
- </div>
- </div>
- <?php endwhile; endif; ?>
- <?php edit_post_link('Edit this entry.', '<p>', '</p>'); ?>
- </div>
-
-<?php get_sidebar(); ?>
-
-<?php get_footer(); ?> \ No newline at end of file
diff --git a/wp-inst/wp-content/themes/home/screenshot.png b/wp-inst/wp-content/themes/home/screenshot.png
deleted file mode 100644
index e0b1d48..0000000
--- a/wp-inst/wp-content/themes/home/screenshot.png
+++ /dev/null
Binary files differ
diff --git a/wp-inst/wp-content/themes/home/search.php b/wp-inst/wp-content/themes/home/search.php
deleted file mode 100644
index 602a19d..0000000
--- a/wp-inst/wp-content/themes/home/search.php
+++ /dev/null
@@ -1,46 +0,0 @@
-<?php get_header(); ?>
-
- <div id="content" class="narrowcolumn">
-
- <?php if (have_posts()) : ?>
-
- <h2 class="pagetitle">Search Results</h2>
-
- <div class="navigation">
- <div class="alignleft"><?php next_posts_link('&laquo; Previous Entries') ?></div>
- <div class="alignright"><?php previous_posts_link('Next Entries &raquo;') ?></div>
- </div>
-
-
- <?php while (have_posts()) : the_post(); ?>
-
- <div class="post">
- <h3 id="post-<?php the_ID(); ?>"><a href="<?php the_permalink() ?>" rel="bookmark" title="Permanent Link to <?php the_title(); ?>"><?php the_title(); ?></a></h3>
- <small><?php the_time('l, F jS, Y') ?></small>
-
- <div class="entry">
- <?php the_excerpt() ?>
- </div>
-
- <p class="postmetadata">Posted in <?php the_category(', ') ?> <strong>|</strong> <?php edit_post_link('Edit','','<strong>|</strong>'); ?> <?php comments_popup_link('No Comments &#187;', '1 Comment &#187;', '% Comments &#187;'); ?></p>
- </div>
-
- <?php endwhile; ?>
-
- <div class="navigation">
- <div class="alignleft"><?php next_posts_link('&laquo; Previous Entries') ?></div>
- <div class="alignright"><?php previous_posts_link('Next Entries &raquo;') ?></div>
- </div>
-
- <?php else : ?>
-
- <h2 class="center">Not Found</h2>
- <?php include (TEMPLATEPATH . '/searchform.php'); ?>
-
- <?php endif; ?>
-
- </div>
-
-<?php get_sidebar(); ?>
-
-<?php get_footer(); ?> \ No newline at end of file
diff --git a/wp-inst/wp-content/themes/home/searchform.php b/wp-inst/wp-content/themes/home/searchform.php
deleted file mode 100644
index 340a34b..0000000
--- a/wp-inst/wp-content/themes/home/searchform.php
+++ /dev/null
@@ -1,5 +0,0 @@
-<form method="get" id="searchform" action="<?php echo $_SERVER['PHP_SELF']; ?>">
-<div><input type="text" value="<?php echo wp_specialchars($s, 1); ?>" name="s" id="s" />
-<input type="submit" id="searchsubmit" value="Search" />
-</div>
-</form> \ No newline at end of file
diff --git a/wp-inst/wp-content/themes/home/sidebar.php b/wp-inst/wp-content/themes/home/sidebar.php
deleted file mode 100644
index e74ecf7..0000000
--- a/wp-inst/wp-content/themes/home/sidebar.php
+++ /dev/null
@@ -1,72 +0,0 @@
- <div id="sidebar">
- <ul>
-
- <li>
- <?php include (TEMPLATEPATH . '/searchform.php'); ?>
- </li>
-
- <!-- Author information is disabled per default. Uncomment and fill in your details if you want to use it.
- <li><h2>Author</h2>
- <p>A little something about you, the author. Nothing lengthy, just an overview.</p>
- </li>
- -->
-
- <li>
- <?php /* If this is a 404 page */ if (is_404()) { ?>
- <?php /* If this is a category archive */ } elseif (is_category()) { ?>
- <p>You are currently browsing the archives for the <?php single_cat_title(''); ?> category.</p>
-
- <?php /* If this is a yearly archive */ } elseif (is_day()) { ?>
- <p>You are currently browsing the <a href="<?php echo get_settings('siteurl'); ?>"><?php echo bloginfo('name'); ?></a> weblog archives
- for the day <?php the_time('l, F jS, Y'); ?>.</p>
-
- <?php /* If this is a monthly archive */ } elseif (is_month()) { ?>
- <p>You are currently browsing the <a href="<?php echo get_settings('siteurl'); ?>"><?php echo bloginfo('name'); ?></a> weblog archives
- for <?php the_time('F, Y'); ?>.</p>
-
- <?php /* If this is a yearly archive */ } elseif (is_year()) { ?>
- <p>You are currently browsing the <a href="<?php echo get_settings('siteurl'); ?>"><?php echo bloginfo('name'); ?></a> weblog archives
- for the year <?php the_time('Y'); ?>.</p>
-
- <?php /* If this is a monthly archive */ } elseif (is_search()) { ?>
- <p>You have searched the <a href="<?php echo get_settings('siteurl'); ?>"><?php echo bloginfo('name'); ?></a> weblog archives
- for <strong>'<?php echo wp_specialchars($s); ?>'</strong>. If you are unable to find anything in these search results, you can try one of these links.</p>
-
- <?php /* If this is a monthly archive */ } elseif (isset($_GET['paged']) && !empty($_GET['paged'])) { ?>
- <p>You are currently browsing the <a href="<?php echo get_settings('siteurl'); ?>"><?php echo bloginfo('name'); ?></a> weblog archives.</p>
-
- <?php } ?>
- </li>
-
- <?php wp_list_pages('title_li=<h2>Pages</h2>' ); ?>
-
- <li><h2>Archives</h2>
- <ul>
- <?php wp_get_archives('type=monthly'); ?>
- </ul>
- </li>
-
- <li><h2>Categories</h2>
- <ul>
- <?php wp_list_cats('sort_column=name&optioncount=1&hierarchical=0'); ?>
- </ul>
- </li>
-
- <?php /* If this is the frontpage */ if ( is_home() || is_page() ) { ?>
- <?php get_links_list(); ?>
-
- <li><h2>Meta</h2>
- <ul>
- <?php wp_register(); ?>
- <li><?php wp_loginout(); ?></li>
- <li><a href="http://validator.w3.org/check/referer" title="This page validates as XHTML 1.0 Transitional">Valid <abbr title="eXtensible HyperText Markup Language">XHTML</abbr></a></li>
- <li><a href="http://gmpg.org/xfn/"><abbr title="XHTML Friends Network">XFN</abbr></a></li>
- <li><a href="http://wordpress.org/" title="Powered by WordPress, state-of-the-art semantic personal publishing platform.">WordPress</a></li>
- <?php wp_meta(); ?>
- </ul>
- </li>
- <?php } ?>
-
- </ul>
- </div>
-
diff --git a/wp-inst/wp-content/themes/home/single.php b/wp-inst/wp-content/themes/home/single.php
deleted file mode 100644
index 1130d2f..0000000
--- a/wp-inst/wp-content/themes/home/single.php
+++ /dev/null
@@ -1,65 +0,0 @@
-<?php get_header(); ?>
-
- <div id="content" class="widecolumn">
-
- <?php if (have_posts()) : while (have_posts()) : the_post(); ?>
-
- <div class="navigation">
- <div class="alignleft"><?php previous_post_link('&laquo; %link') ?></div>
- <div class="alignright"><?php next_post_link('%link &raquo;') ?></div>
- </div>
-
- <div class="post" id="post-<?php the_ID(); ?>">
- <h2><a href="<?php echo get_permalink() ?>" rel="bookmark" title="Permanent Link: <?php the_title(); ?>"><?php the_title(); ?></a></h2>
-
- <div class="entrytext">
- <?php the_content('<p class="serif">Read the rest of this entry &raquo;</p>'); ?>
-
- <?php link_pages('<p><strong>Pages:</strong> ', '</p>', 'number'); ?>
-
- <p class="postmetadata alt">
- <small>
- This entry was posted
- <?php /* This is commented, because it requires a little adjusting sometimes.
- You'll need to download this plugin, and follow the instructions:
- http://binarybonsai.com/archives/2004/08/17/time-since-plugin/ */
- /* $entry_datetime = abs(strtotime($post->post_date) - (60*120)); echo time_since($entry_datetime); echo ' ago'; */ ?>
- on <?php the_time('l, F jS, Y') ?> at <?php the_time() ?>
- and is filed under <?php the_category(', ') ?>.
- You can follow any responses to this entry through the <?php comments_rss_link('RSS 2.0'); ?> feed.
-
- <?php if (('open' == $post-> comment_status) && ('open' == $post->ping_status)) {
- // Both Comments and Pings are open ?>
- You can <a href="#respond">leave a response</a>, or <a href="<?php trackback_url(true); ?>" rel="trackback">trackback</a> from your own site.
-
- <?php } elseif (!('open' == $post-> comment_status) && ('open' == $post->ping_status)) {
- // Only Pings are Open ?>
- Responses are currently closed, but you can <a href="<?php trackback_url(true); ?> " rel="trackback">trackback</a> from your own site.
-
- <?php } elseif (('open' == $post-> comment_status) && !('open' == $post->ping_status)) {
- // Comments are open, Pings are not ?>
- You can skip to the end and leave a response. Pinging is currently not allowed.
-
- <?php } elseif (!('open' == $post-> comment_status) && !('open' == $post->ping_status)) {
- // Neither Comments, nor Pings are open ?>
- Both comments and pings are currently closed.
-
- <?php } edit_post_link('Edit this entry.','',''); ?>
-
- </small>
- </p>
-
- </div>
- </div>
-
- <?php comments_template(); ?>
-
- <?php endwhile; else: ?>
-
- <p>Sorry, no posts matched your criteria.</p>
-
-<?php endif; ?>
-
- </div>
-
-<?php get_footer(); ?>
diff --git a/wp-inst/wp-content/themes/home/style.css b/wp-inst/wp-content/themes/home/style.css
deleted file mode 100644
index 7da50b4..0000000
--- a/wp-inst/wp-content/themes/home/style.css
+++ /dev/null
@@ -1,610 +0,0 @@
-/*
-Theme Name: WordPress MU Home Default
-Theme URI: http://wordpress.org/
-Description: The default WordPress theme based on the famous <a href="http://binarybonsai.com/kubrick/">Kubrick</a>.
-Version: 1.5
-Author: Michael Heilemann
-Author URI: http://binarybonsai.com/
-
- Kubrick v1.5
- http://binarybonsai.com/kubrick/
-
- This theme was designed and built by Michael Heilemann,
- whose blog you will find at http://binarybonsai.com/
-
- The CSS, XHTML and design is released under GPL:
- http://www.opensource.org/licenses/gpl-license.php
-
-
- *** REGARDING IMAGES ***
- All CSS that involves the use of images, can be found in the 'index.php' file.
- This is to ease installation inside subdirectories of a server.
-
- Have fun, and don't be afraid to contact me if you have questions.
-*/
-
-
-
-/* Begin Typography & Colors */
-body {
- font-size: 62.5%; /* Resets 1em to 10px */
- font-family: 'Lucida Grande', Verdana, Arial, Sans-Serif;
- background-color: #d5d6d7;
- color: #333;
- text-align: center;
- }
-
-#page {
- background-color: white;
- border: 1px solid #959596;
- text-align: left;
- }
-
-#header {
- background-color: #73a0c5;
- }
-
-#content {
- font-size: 1.2em
- }
-
-.widecolumn .entry p {
- font-size: 1.05em;
- }
-
-.narrowcolumn .entry, .widecolumn .entry {
- line-height: 1.4em;
- }
-
-.widecolumn {
- line-height: 1.6em;
- }
-
-.narrowcolumn .postmetadata {
- text-align: center;
- }
-
-.alt {
- background-color: #f8f8f8;
- border-top: 1px solid #ddd;
- border-bottom: 1px solid #ddd;
- }
-
-#footer {
- background-color: #eee;
- }
-
-small {
- font-family: Arial, Helvetica, Sans-Serif;
- font-size: 0.9em;
- line-height: 1.5em;
- }
-
-h1, h2, h3 {
- font-family: 'Trebuchet MS', 'Lucida Grande', Verdana, Arial, Sans-Serif;
- font-weight: bold;
- }
-
-h1 {
- font-size: 4em;
- text-align: center;
- }
-
-.description {
- font-size: 1.2em;
- text-align: center;
- }
-
-h2 {
- font-size: 1.6em;
- }
-
-h2.pagetitle {
- font-size: 1.6em;
- }
-
-#sidebar h2 {
- font-family: 'Lucida Grande', Verdana, Sans-Serif;
- font-size: 1.2em;
- }
-
-h3 {
- font-size: 1.3em;
- }
-
-h1, h1 a, h1 a:hover, h1 a:visited, .description {
- text-decoration: none;
- color: white;
- }
-
-h2, h2 a, h2 a:visited, h3, h3 a, h3 a:visited {
- color: #333;
- }
-
-h2, h2 a, h2 a:hover, h2 a:visited, h3, h3 a, h3 a:hover, h3 a:visited, #sidebar h2, #wp-calendar caption, cite {
- text-decoration: none;
- }
-
-.entry p a:visited {
- color: #b85b5a;
- }
-
-.commentlist li, #commentform input, #commentform textarea {
- font: 0.9em 'Lucida Grande', Verdana, Arial, Sans-Serif;
- }
-
-.commentlist li {
- font-weight: bold;
- }
-
-.commentlist cite, .commentlist cite a {
- font-weight: bold;
- font-style: normal;
- font-size: 1.1em;
- }
-
-.commentlist p {
- font-weight: normal;
- line-height: 1.5em;
- text-transform: none;
- }
-
-#commentform p {
- font-family: 'Lucida Grande', Verdana, Arial, Sans-Serif;
- }
-
-.commentmetadata {
- font-weight: normal;
- }
-
-#sidebar {
- font: 1em 'Lucida Grande', Verdana, Arial, Sans-Serif;
- }
-
-small, #sidebar ul ul li, #sidebar ul ol li, .nocomments, .postmetadata, blockquote, strike {
- color: #777;
- }
-
-code {
- font: 1.1em 'Courier New', Courier, Fixed;
- }
-
-acronym, abbr, span.caps
-{
- font-size: 0.9em;
- letter-spacing: .07em;
- }
-
-a, h2 a:hover, h3 a:hover {
- color: #06c;
- text-decoration: none;
- }
-
-a:hover {
- color: #147;
- text-decoration: underline;
- }
-
-#wp-calendar #prev a {
- font-size: 9pt;
- }
-
-#wp-calendar a {
- text-decoration: none;
- }
-
-#wp-calendar caption {
- font: bold 1.3em 'Lucida Grande', Verdana, Arial, Sans-Serif;
- text-align: center;
- }
-
-#wp-calendar th {
- font-style: normal;
- text-transform: capitalize;
- }
-/* End Typography & Colors */
-
-
-
-/* Begin Structure */
-body {
- margin: 0;
- padding: 0;
- }
-
-#page {
- background-color: white;
- margin: 20px auto;
- padding: 0;
- width: 760px;
- border: 1px solid #959596;
- }
-
-#header {
- padding: 0;
- margin: 0 auto;
- height: 200px;
- width: 100%;
- background-color: #73a0c5;
- }
-
-#headerimg {
- margin: 0;
- height: 200px;
- width: 100%;
- }
-
-.narrowcolumn {
- float: left;
- padding: 0 0 20px 45px;
- margin: 0px 0 0;
- width: 450px;
- }
-
-.widecolumn {
- padding: 10px 0 20px 0;
- margin: 5px 0 0 150px;
- width: 450px;
- }
-
-.post {
- margin: 0 0 40px;
- text-align: justify;
- }
-
-.widecolumn .post {
- margin: 0;
- }
-
-.narrowcolumn .postmetadata {
- padding-top: 5px;
- }
-
-.widecolumn .postmetadata {
- margin: 30px 0;
- }
-
-#footer {
- padding: 0 0 0 1px;
- margin: 0 auto;
- width: 760px;
- clear: both;
- }
-
-#footer p {
- margin: 0;
- padding: 20px 0;
- text-align: center;
- }
-/* End Structure */
-
-
-
-/* Begin Headers */
-h1 {
- padding-top: 70px;
- margin: 0;
- }
-
-.description {
- text-align: center;
- }
-
-h2 {
- margin: 30px 0 0;
- }
-
-h2.pagetitle {
- margin-top: 30px;
- text-align: center;
-}
-
-#sidebar h2 {
- margin: 5px 0 0;
- padding: 0;
- }
-
-h3 {
- padding: 0;
- margin: 30px 0 0;
- }
-
-h3.comments {
- padding: 0;
- margin: 40px auto 20px ;
- }
-/* End Headers */
-
-
-
-/* Begin Images */
-p img {
- padding: 0;
- max-width: 100%;
- }
-
-/* Using 'class="alignright"' on an image will (who would've
- thought?!) align the image to the right. And using 'class="centered',
- will of course center the image. This is much better than using
- align="center", being much more futureproof (and valid) */
-
-img.centered {
- display: block;
- margin-left: auto;
- margin-right: auto;
- }
-
-img.alignright {
- padding: 4px;
- margin: 0 0 2px 7px;
- display: inline;
- }
-
-img.alignleft {
- padding: 4px;
- margin: 0 7px 2px 0;
- display: inline;
- }
-
-.alignright {
- float: right;
- }
-
-.alignleft {
- float: left
- }
-/* End Images */
-
-
-
-/* Begin Lists
-
- Special stylized non-IE bullets
- Do not work in Internet Explorer, which merely default to normal bullets. */
-
-html>body .entry ul {
- margin-left: 0px;
- padding: 0 0 0 30px;
- list-style: none;
- padding-left: 10px;
- text-indent: -10px;
- }
-
-html>body .entry li {
- margin: 7px 0 8px 10px;
- }
-
-.entry ul li:before, #sidebar ul ul li:before {
- content: "\00BB \0020";
- }
-
-.entry ol {
- padding: 0 0 0 35px;
- margin: 0;
- }
-
-.entry ol li {
- margin: 0;
- padding: 0;
- }
-
-.postmetadata ul, .postmetadata li {
- display: inline;
- list-style-type: none;
- list-style-image: none;
- }
-
-#sidebar ul, #sidebar ul ol {
- margin: 0;
- padding: 0;
- }
-
-#sidebar ul li {
- list-style-type: none;
- list-style-image: none;
- margin-bottom: 15px;
- }
-
-#sidebar ul p, #sidebar ul select {
- margin: 5px 0 8px;
- }
-
-#sidebar ul ul, #sidebar ul ol {
- margin: 5px 0 0 10px;
- }
-
-#sidebar ul ul ul, #sidebar ul ol {
- margin: 0 0 0 10px;
- }
-
-ol li, #sidebar ul ol li {
- list-style: decimal outside;
- }
-
-#sidebar ul ul li, #sidebar ul ol li {
- margin: 3px 0 0;
- padding: 0;
- }
-/* End Entry Lists */
-
-
-
-/* Begin Form Elements */
-#searchform {
- margin: 10px auto;
- padding: 5px 3px;
- text-align: center;
- }
-
-#sidebar #searchform #s {
- width: 115px;
- padding: 2px;
- }
-
-#sidebar #searchsubmit {
- padding: 1px;
- }
-
-.entry form { /* This is mainly for password protected posts, makes them look better. */
- text-align:center;
- }
-
-select {
- width: 130px;
- }
-
-#commentform input {
- width: 170px;
- padding: 2px;
- margin: 5px 5px 1px 0;
- }
-
-#commentform textarea {
- width: 100%;
- padding: 2px;
- }
-
-#commentform #submit {
- margin: 0;
- float: right;
- }
-/* End Form Elements */
-
-
-
-/* Begin Comments*/
-.alt {
- margin: 0;
- padding: 10px;
- }
-
-.commentlist {
- padding: 0;
- text-align: justify;
- }
-
-.commentlist li {
- margin: 15px 0 3px;
- padding: 5px 10px 3px;
- list-style: none;
- }
-
-.commentlist p {
- margin: 10px 5px 10px 0;
- }
-
-#commentform p {
- margin: 5px 0;
- }
-
-.nocomments {
- text-align: center;
- margin: 0;
- padding: 0;
- }
-
-.commentmetadata {
- margin: 0;
- display: block;
- }
-/* End Comments */
-
-
-
-/* Begin Sidebar */
-#sidebar
-{
- padding: 20px 0 10px 0;
- margin-left: 545px;
- width: 190px;
- }
-
-#sidebar form {
- margin: 0;
- }
-/* End Sidebar */
-
-
-
-/* Begin Calendar */
-#wp-calendar {
- empty-cells: show;
- margin: 10px auto 0;
- width: 155px;
- }
-
-#wp-calendar #next a {
- padding-right: 10px;
- text-align: right;
- }
-
-#wp-calendar #prev a {
- padding-left: 10px;
- text-align: left;
- }
-
-#wp-calendar a {
- display: block;
- }
-
-#wp-calendar caption {
- text-align: center;
- width: 100%;
- }
-
-#wp-calendar td {
- padding: 3px 0;
- text-align: center;
- }
-
-#wp-calendar td.pad:hover { /* Doesn't work in IE */
- background-color: #fff; }
-/* End Calendar */
-
-
-
-/* Begin Various Tags & Classes */
-acronym, abbr, span.caps {
- cursor: help;
- }
-
-acronym, abbr {
- border-bottom: 1px dashed #999;
- }
-
-blockquote {
- margin: 15px 30px 0 10px;
- padding-left: 20px;
- border-left: 5px solid #ddd;
- }
-
-blockquote cite {
- margin: 5px 0 0;
- display: block;
- }
-
-.center {
- text-align: center;
- }
-
-hr {
- display: none;
- }
-
-a img {
- border: none;
- }
-
-.navigation {
- display: block;
- text-align: center;
- margin-top: 10px;
- margin-bottom: 60px;
- }
-/* End Various Tags & Classes*/
-
-
-
-/* "Daisy, Daisy, give me your answer do. I'm half crazy all for the love of you.
- It won't be a stylish marriage, I can't afford a carriage.
- But you'll look sweet upon the seat of a bicycle built for two." */
diff --git a/wp-inst/wp-cron.php b/wp-inst/wp-cron.php
deleted file mode 100644
index c0e9de7..0000000
--- a/wp-inst/wp-cron.php
+++ /dev/null
@@ -1,24 +0,0 @@
-<?php
-ignore_user_abort(true);
-define('DOING_CRON', TRUE);
-require_once('wp-config.php');
-
-if ( $_GET['check'] != md5(DB_PASS . '187425') )
- exit;
-
-$crons = get_option('cron');
-if (!is_array($crons) || array_shift(array_keys($crons)) > time())
- return;
-foreach ($crons as $timestamp => $cronhooks) {
- if ($timestamp > time()) break;
- foreach($cronhooks as $hook => $args) {
- wp_unschedule_event($timestamp, $hook);
- do_action($hook, $args['args']);
- $schedule = $args['schedule'];
- if($schedule != false) {
- $args = array_merge( array($timestamp, $schedule, $hook), $args['args']);
- call_user_func_array('wp_reschedule_event', $args);
- }
- }
-}
-?>
diff --git a/wp-inst/wp-feed.php b/wp-inst/wp-feed.php
deleted file mode 100644
index a27fa33..0000000
--- a/wp-inst/wp-feed.php
+++ /dev/null
@@ -1,10 +0,0 @@
-<?php
-
-if (empty($doing_rss)) {
- $doing_rss = 1;
- require(dirname(__FILE__) . '/wp-blog-header.php');
-}
-
-do_feed();
-
-?>
diff --git a/wp-inst/wp-includes/author-template.php b/wp-inst/wp-includes/author-template.php
deleted file mode 100644
index f265b3b..0000000
--- a/wp-inst/wp-includes/author-template.php
+++ /dev/null
@@ -1,233 +0,0 @@
-<?php
-
-function get_the_author($idmode = '') {
- global $authordata;
- return apply_filters('the_author', $authordata->display_name);
-}
-
-function the_author($idmode = '', $echo = true) {
- if ( $echo )
- echo get_the_author($idmode);
- return get_the_author($idmode);
-}
-
-function get_the_author_description() {
- global $authordata;
- return $authordata->description;
-}
-function the_author_description() {
- echo get_the_author_description();
-}
-
-function get_the_author_login() {
- global $authordata;
- return $authordata->user_login;
-}
-
-function the_author_login() {
- echo get_the_author_login();
-}
-
-function get_the_author_firstname() {
- global $authordata;
- return $authordata->first_name;
-}
-function the_author_firstname() {
- echo get_the_author_firstname();
-}
-
-function get_the_author_lastname() {
- global $authordata;
- return $authordata->last_name;
-}
-
-function the_author_lastname() {
- echo get_the_author_lastname();
-}
-
-function get_the_author_nickname() {
- global $authordata;
- return $authordata->nickname;
-}
-
-function the_author_nickname() {
- echo get_the_author_nickname();
-}
-
-function get_the_author_ID() {
- global $authordata;
- return $authordata->ID;
-}
-function the_author_ID() {
- echo get_the_author_id();
-}
-
-function get_the_author_email() {
- global $authordata;
- return $authordata->user_email;
-}
-
-function the_author_email() {
- echo apply_filters('the_author_email', get_the_author_email() );
-}
-
-function get_the_author_url() {
- global $authordata;
- return $authordata->user_url;
-}
-
-function the_author_url() {
- echo get_the_author_url();
-}
-
-function get_the_author_icq() {
- global $authordata;
- return $authordata->icq;
-}
-
-function the_author_icq() {
- echo get_the_author_icq();
-}
-
-function get_the_author_aim() {
- global $authordata;
- return str_replace(' ', '+', $authordata->aim);
-}
-
-function the_author_aim() {
- echo get_the_author_aim();
-}
-
-function get_the_author_yim() {
- global $authordata;
- return $authordata->yim;
-}
-
-function the_author_yim() {
- echo get_the_author_yim();
-}
-
-function get_the_author_msn() {
- global $authordata;
- return $authordata->msn;
-}
-
-function the_author_msn() {
- echo get_the_author_msn();
-}
-
-function get_the_author_posts() {
- global $post;
- $posts = get_usernumposts($post->post_author);
- return $posts;
-}
-
-function the_author_posts() {
- echo get_the_author_posts();
-}
-
-/* the_author_posts_link() requires no get_, use get_author_link() */
-function the_author_posts_link($idmode='') {
- global $authordata;
-
- echo '<a href="' . get_author_link(0, $authordata->ID, $authordata->user_nicename) . '" title="' . sprintf(__("Posts by %s"), wp_specialchars(the_author($idmode, false))) . '">' . the_author($idmode, false) . '</a>';
-}
-
-function get_author_link($echo = false, $author_id, $author_nicename) {
- global $wpdb, $wp_rewrite, $post, $cache_userdata;
- $auth_ID = $author_id;
- $link = $wp_rewrite->get_author_permastruct();
-
- if ( empty($link) ) {
- $file = get_settings('home') . '/';
- $link = $file . '?author=' . $auth_ID;
- } else {
- if ( '' == $author_nicename )
- $author_nicename = $cache_userdata[$author_id]->user_nicename;
- $link = str_replace('%author%', $author_nicename, $link);
- $link = get_settings('home') . trailingslashit($link);
- }
-
- $link = apply_filters('author_link', $link, $author_id, $author_nicename);
-
- if ( $echo )
- echo $link;
- return $link;
-}
-
-// Get author's preferred display name
-function get_author_name( $auth_id ) {
- $authordata = get_userdata( $auth_id );
-
- return $authordata->display_name;
-}
-
-function wp_list_authors($args = '') {
- if ( is_array($args) )
- $r = &$args;
- else
- parse_str($args, $r);
-
- $defaults = array('optioncount' => false, 'exclude_admin' => true, 'show_fullname' => false, 'hide_empty' => true,
- 'feed' => '', 'feed_image' => '');
- $r = array_merge($defaults, $r);
- extract($r);
-
- global $wpdb;
- // TODO: Move select to get_authors().
- $query = "SELECT ID, user_nicename from $wpdb->users " . ($exclude_admin ? "WHERE user_login <> 'admin' " : '') . "ORDER BY display_name";
- $authors = $wpdb->get_results($query);
-
- foreach ( $authors as $author ) {
- $author = get_userdata( $author->ID );
- $posts = get_usernumposts($author->ID);
- $name = $author->nickname;
-
- if ( $show_fullname && ($author->first_name != '' && $author->last_name != '') )
- $name = "$author->first_name $author->last_name";
-
- if ( !($posts == 0 && $hide_empty) )
- echo "<li>";
- if ( $posts == 0 ) {
- if ( !$hide_empty )
- $link = $name;
- } else {
- $link = '<a href="' . get_author_link(0, $author->ID, $author->user_nicename) . '" title="' . sprintf(__("Posts by %s"), wp_specialchars($author->display_name)) . '">' . $name . '</a>';
-
- if ( (! empty($feed_image)) || (! empty($feed)) ) {
- $link .= ' ';
- if (empty($feed_image))
- $link .= '(';
- $link .= '<a href="' . get_author_rss_link(0, $author->ID, $author->user_nicename) . '"';
-
- if ( !empty($feed) ) {
- $title = ' title="' . $feed . '"';
- $alt = ' alt="' . $feed . '"';
- $name = $feed;
- $link .= $title;
- }
-
- $link .= '>';
-
- if ( !empty($feed_image) )
- $link .= "<img src=\"$feed_image\" border=\"0\"$alt$title" . ' />';
- else
- $link .= $name;
-
- $link .= '</a>';
-
- if ( empty($feed_image) )
- $link .= ')';
- }
-
- if ( $optioncount )
- $link .= ' ('. $posts . ')';
-
- }
-
- if ( !($posts == 0 && $hide_empty) )
- echo "$link</li>";
- }
-}
-
-?> \ No newline at end of file
diff --git a/wp-inst/wp-includes/bookmark-template.php b/wp-inst/wp-includes/bookmark-template.php
deleted file mode 100644
index 1e762e0..0000000
--- a/wp-inst/wp-includes/bookmark-template.php
+++ /dev/null
@@ -1,378 +0,0 @@
-<?php
-
-/** function wp_get_links()
- ** Gets the links associated with category n.
- ** Parameters:
- ** category (no default) - The category to use.
- ** or:
- ** a query string
- **/
-function wp_get_links($args = '') {
- global $wpdb;
-
- if ( empty($args) )
- return;
-
- if ( false === strpos($args, '=') ) {
- $cat_id = $args;
- $args = add_query_arg('category', $cat_id, $args);
- }
-
- parse_str($args);
-
- if (! isset($category)) $category = -1;
- if (! isset($before)) $before = '';
- if (! isset($after)) $after = '<br />';
- if (! isset($between)) $between = ' ';
- if (! isset($show_images)) $show_images = true;
- if (! isset($orderby)) $orderby = 'name';
- if (! isset($show_description)) $show_description = true;
- if (! isset($show_rating)) $show_rating = false;
- if (! isset($limit)) $limit = -1;
- if (! isset($show_updated)) $show_updated = 1;
- if (! isset($echo)) $echo = true;
-
- return get_links($category, $before, $after, $between, $show_images, $orderby, $show_description, $show_rating, $limit, $show_updated, $echo);
-} // end wp_get_links
-
-/** function get_links()
- ** Gets the links associated with category n.
- ** Parameters:
- ** category (default -1) - The category to use. If no category supplied
- ** uses all
- ** before (default '') - the html to output before the link
- ** after (default '<br />') - the html to output after the link
- ** between (default ' ') - the html to output between the link/image
- ** and its description. Not used if no image or show_images == true
- ** show_images (default true) - whether to show images (if defined).
- ** orderby (default 'id') - the order to output the links. E.g. 'id', 'name',
- ** 'url', 'description', or 'rating'. Or maybe owner. If you start the
- ** name with an underscore the order will be reversed.
- ** You can also specify 'rand' as the order which will return links in a
- ** random order.
- ** show_description (default true) - whether to show the description if
- ** show_images=false/not defined .
- ** show_rating (default false) - show rating stars/chars
- ** limit (default -1) - Limit to X entries. If not specified, all entries
- ** are shown.
- ** show_updated (default 0) - whether to show last updated timestamp
- ** echo (default true) - whether to echo the results, or return them instead
- */
-function get_links($category = -1,
- $before = '',
- $after = '<br />',
- $between = ' ',
- $show_images = true,
- $orderby = 'name',
- $show_description = true,
- $show_rating = false,
- $limit = -1,
- $show_updated = 1,
- $echo = true) {
-
- global $wpdb;
-
- $order = 'ASC';
- if (substr($orderby, 0, 1) == '_') {
- $order = 'DESC';
- $orderby = substr($orderby, 1);
- }
-
- if ($category == -1) { //get_bookmarks uses '' to signify all categories
- $category = '';
- }
-
- $results = get_bookmarks("category=$category&orderby=$orderby&order=$order&show_updated=$show_updated&limit=$limit");
-
- if (!$results) {
- return;
- }
-
-
- $output = '';
-
- foreach ($results as $row) {
- if (!isset($row->recently_updated)) $row->recently_updated = false;
- $output .= $before;
- if ($show_updated && $row->recently_updated) {
- $output .= get_settings('links_recently_updated_prepend');
- }
-
- $the_link = '#';
- if (!empty($row->link_url))
- $the_link = wp_specialchars($row->link_url);
-
- $rel = $row->link_rel;
- if ($rel != '') {
- $rel = ' rel="' . $rel . '"';
- }
-
- $desc = wp_specialchars($row->link_description, ENT_QUOTES);
- $name = wp_specialchars($row->link_name, ENT_QUOTES);
- $title = $desc;
-
- if ($show_updated) {
- if (substr($row->link_updated_f, 0, 2) != '00') {
- $title .= ' (Last updated ' . date(get_settings('links_updated_date_format'), $row->link_updated_f + (get_settings('gmt_offset') * 3600)) . ')';
- }
- }
-
- if ('' != $title) {
- $title = ' title="' . $title . '"';
- }
-
- $alt = ' alt="' . $name . '"';
-
- $target = $row->link_target;
- if ('' != $target) {
- $target = ' target="' . $target . '"';
- }
-
- $output .= '<a href="' . $the_link . '"' . $rel . $title . $target. '>';
-
- if (($row->link_image != null) && $show_images) {
- if (strstr($row->link_image, 'http'))
- $output .= "<img src=\"$row->link_image\" $alt $title />";
- else // If it's a relative path
- $output .= "<img src=\"" . get_settings('siteurl') . "$row->link_image\" $alt $title />";
- } else {
- $output .= $name;
- }
-
- $output .= '</a>';
-
- if ($show_updated && $row->recently_updated) {
- $output .= get_settings('links_recently_updated_append');
- }
-
- if ($show_description && ($desc != '')) {
- $output .= $between . $desc;
- }
- $output .= "$after\n";
- } // end while
-
- if ($echo) {
- echo $output;
- } else {
- return $output;
- }
-}
-
-function get_linkrating($link) {
- return apply_filters('link_rating', $link->link_rating);
-}
-
-/** function get_linkcatname()
- ** Gets the name of category n.
- ** Parameters: id (default 0) - The category to get. If no category supplied
- ** uses 0
- */
-function get_linkcatname($id = 0) {
- $id = (int) $id;
-
- if ( empty($id) )
- return '';
-
- $cats = wp_get_link_cats($id);
-
- if ( empty($cats) || ! is_array($cats) )
- return '';
-
- $cat_id = $cats[0]; // Take the first cat.
-
- $cat = get_category($cat_id);
- return $cat->cat_name;
-}
-
-/** function links_popup_script()
- ** This function contributed by Fullo -- http://sprite.csr.unibo.it/fullo/
- ** Show the link to the links popup and the number of links
- ** Parameters:
- ** text (default Links) - the text of the link
- ** width (default 400) - the width of the popup window
- ** height (default 400) - the height of the popup window
- ** file (default linkspopup.php) - the page to open in the popup window
- ** count (default true) - the number of links in the db
- */
-function links_popup_script($text = 'Links', $width=400, $height=400,
- $file='links.all.php', $count = true) {
- if ($count == true) {
- $counts = $wpdb->get_var("SELECT count(*) FROM $wpdb->links");
- }
-
- $javascript = "<a href=\"#\" " .
- " onclick=\"javascript:window.open('$file?popup=1', '_blank', " .
- "'width=$width,height=$height,scrollbars=yes,status=no'); " .
- " return false\">";
- $javascript .= $text;
-
- if ($count == true) {
- $javascript .= " ($counts)";
- }
-
- $javascript .="</a>\n\n";
- echo $javascript;
-}
-
-
-/*
- * function get_links_list()
- *
- * added by Dougal
- *
- * Output a list of all links, listed by category, using the
- * settings in $wpdb->linkcategories and output it as a nested
- * HTML unordered list.
- *
- * Parameters:
- * order (default 'name') - Sort link categories by 'name' or 'id'
- * hide_if_empty (default true) - Supress listing empty link categories
- */
-function get_links_list($order = 'name', $hide_if_empty = 'obsolete') {
- $order = strtolower($order);
-
- // Handle link category sorting
- $direction = 'ASC';
- if (substr($order,0,1) == '_') {
- $direction = 'DESC';
- $order = substr($order,1);
- }
-
- if (!isset($direction)) $direction = '';
-
- $cats = get_categories("type=link&orderby=$order&order=$direction&hierarchical=0");
-
- // Display each category
- if ($cats) {
- foreach ($cats as $cat) {
- // Handle each category.
-
- // Display the category name
- echo ' <li id="linkcat-' . $cat->cat_ID . '"><h2>' . $cat->cat_name . "</h2>\n\t<ul>\n";
- // Call get_links() with all the appropriate params
- get_links($cat->cat_ID,
- '<li>',"</li>","\n", true, 'name', false);
-
- // Close the last category
- echo "\n\t</ul>\n</li>\n";
- }
- }
-}
-
-function _walk_bookmarks($bookmarks, $args = '' ) {
- if ( is_array($args) )
- $r = &$args;
- else
- parse_str($args, $r);
-
- $defaults = array('show_updated' => 0, 'show_description' => 0, 'show_images' => 0, 'before' => '<li>',
- 'after' => '</li>', 'between' => "\n");
- $r = array_merge($defaults, $r);
- extract($r);
-
- foreach ( (array) $bookmarks as $bookmark ) {
- if (!isset($bookmark->recently_updated)) $bookmark->recently_updated = false;
- $output .= $before;
- if ($show_updated && $bookmark->recently_updated) {
- $output .= get_settings('links_recently_updated_prepend');
- }
-
- $the_link = '#';
- if (!empty($bookmark->link_url))
- $the_link = wp_specialchars($bookmark->link_url);
-
- $rel = $bookmark->link_rel;
- if ($rel != '') {
- $rel = ' rel="' . $rel . '"';
- }
-
- $desc = wp_specialchars($bookmark->link_description, ENT_QUOTES);
- $name = wp_specialchars($bookmark->link_name, ENT_QUOTES);
- $title = $desc;
-
- if ($show_updated) {
- if (substr($bookmark->link_updated_f, 0, 2) != '00') {
- $title .= ' (Last updated ' . date(get_settings('links_updated_date_format'), $bookmark->link_updated_f + (get_settings('gmt_offset') * 3600)) . ')';
- }
- }
-
- if ('' != $title) {
- $title = ' title="' . $title . '"';
- }
-
- $alt = ' alt="' . $name . '"';
-
- $target = $bookmark->link_target;
- if ('' != $target) {
- $target = ' target="' . $target . '"';
- }
-
- $output .= '<a href="' . $the_link . '"' . $rel . $title . $target. '>';
-
- if (($bookmark->link_image != null) && $show_images) {
- if (strstr($bookmark->link_image, 'http'))
- $output .= "<img src=\"$bookmark->link_image\" $alt $title />";
- else // If it's a relative path
- $output .= "<img src=\"" . get_settings('siteurl') . "$bookmark->link_image\" $alt $title />";
- } else {
- $output .= $name;
- }
-
- $output .= '</a>';
-
- if ($show_updated && $bookmark->recently_updated) {
- $output .= get_settings('links_recently_updated_append');
- }
-
- if ($show_description && ($desc != '')) {
- $output .= $between . $desc;
- }
- $output .= "$after\n";
- } // end while
-
- return $output;
-}
-
-function wp_list_bookmarks($args = '') {
- if ( is_array($args) )
- $r = &$args;
- else
- parse_str($args, $r);
-
- $defaults = array('orderby' => 'name', 'order' => 'ASC', 'limit' => -1, 'category' => 0,
- 'category_name' => '', 'hide_invisible' => 1, 'show_updated' => 0, 'echo' => 1,
- 'categorize' => 1, 'title_li' => __('Bookmarks'), 'title_before' => '<h2>', 'title_after' => '</h2>',
- 'category_orderby' => 'name', 'category_order' => 'ASC');
- $r = array_merge($defaults, $r);
- extract($r);
-
- // TODO: The rest of it.
- // If $categorize, group links by category with the category name being the
- // title of each li, otherwise just list them with title_li as the li title.
- // If $categorize and $category or $category_name, list links for the given category
- // with the category name as the title li. If not $categorize, use title_li.
- // When using each category's name as a title li, use before and after args for specifying
- // any markup. We don't want to hardcode h2.
-
- $output = '';
-
- if ( $categorize ) {
- $cats = get_categories("type=link&orderby=$category_orderby&order=$category_order&hierarchical=0");
- foreach ( (array) $cats as $cat ) {
- $r['category'] = $cat->cat_ID;
- $bookmarks = get_bookmarks($r);
- if ( empty($bookmarks) )
- continue;
- $output .= "<li id=\"linkcat-$cat->cat_ID\">$title_before$cat->cat_name$title_after\n\t<ul>\n";
- $output .= _walk_bookmarks($bookmarks, $r);
- $output .= "\n\t</ul>\n</li>\n";
- }
- }
-
- if ($echo)
- echo $output;
-
- return $output;
-}
-
-?>
diff --git a/wp-inst/wp-includes/bookmark.php b/wp-inst/wp-includes/bookmark.php
deleted file mode 100644
index 350d91e..0000000
--- a/wp-inst/wp-includes/bookmark.php
+++ /dev/null
@@ -1,134 +0,0 @@
-<?php
-
-function get_bookmark($bookmark_id, $output = OBJECT) {
- global $wpdb;
-
- $link = $wpdb->get_row("SELECT * FROM $wpdb->links WHERE link_id = '$bookmark_id'");
- $link->link_category = wp_get_link_cats($bookmark_id);
-
- if ( $output == OBJECT ) {
- return $link;
- } elseif ( $output == ARRAY_A ) {
- return get_object_vars($link);
- } elseif ( $output == ARRAY_N ) {
- return array_values(get_object_vars($link));
- } else {
- return $link;
- }
-}
-
-// Deprecate
-function get_link($bookmark_id, $output = OBJECT) {
- return get_bookmark($bookmark_id, $output);
-}
-
-function get_bookmarks($args = '') {
- global $wpdb;
-
- if ( is_array($args) )
- $r = &$args;
- else
- parse_str($args, $r);
-
- $defaults = array('orderby' => 'name', 'order' => 'ASC', 'limit' => -1, 'category' => '',
- 'category_name' => '', 'hide_invisible' => 1, 'show_updated' => 0, 'include' => '', 'exclude' => '');
- $r = array_merge($defaults, $r);
- extract($r);
-
- $inclusions = '';
- if ( !empty($include) ) {
- $exclude = ''; //ignore exclude, category, and category_name params if using include
- $category = '';
- $category_name = '';
- $inclinks = preg_split('/[\s,]+/',$include);
- if ( count($inclinks) ) {
- foreach ( $inclinks as $inclink ) {
- if (empty($inclusions))
- $inclusions = ' AND ( link_id = ' . intval($inclink) . ' ';
- else
- $inclusions .= ' OR link_id = ' . intval($inclink) . ' ';
- }
- }
- }
- if (!empty($inclusions))
- $inclusions .= ')';
-
- $exclusions = '';
- if ( !empty($exclude) ) {
- $exlinks = preg_split('/[\s,]+/',$exclude);
- if ( count($exlinks) ) {
- foreach ( $exlinks as $exlink ) {
- if (empty($exclusions))
- $exclusions = ' AND ( link_id <> ' . intval($exlink) . ' ';
- else
- $exclusions .= ' AND link_id <> ' . intval($exlink) . ' ';
- }
- }
- }
- if (!empty($exclusions))
- $exclusions .= ')';
-
- if ( ! empty($category_name) ) {
- if ( $cat_id = $wpdb->get_var("SELECT cat_ID FROM $wpdb->categories WHERE cat_name='$category_name' LIMIT 1") )
- $category = $cat_id;
- }
-
- $category_query = '';
- $join = '';
- if ( !empty($category) ) {
- $incategories = preg_split('/[\s,]+/',$category);
- if ( count($incategories) ) {
- foreach ( $incategories as $incat ) {
- if (empty($category_query))
- $category_query = ' AND ( category_id = ' . intval($incat) . ' ';
- else
- $category_query .= ' OR category_id = ' . intval($incat) . ' ';
- }
- }
- }
- if (!empty($category_query)) {
- $category_query .= ')';
- $join = " LEFT JOIN $wpdb->link2cat ON ($wpdb->links.link_id = $wpdb->link2cat.link_id) ";
- }
-
- if (get_settings('links_recently_updated_time')) {
- $recently_updated_test = ", IF (DATE_ADD(link_updated, INTERVAL " . get_settings('links_recently_updated_time') . " MINUTE) >= NOW(), 1,0) as recently_updated ";
- } else {
- $recently_updated_test = '';
- }
-
- if ($show_updated) {
- $get_updated = ", UNIX_TIMESTAMP(link_updated) AS link_updated_f ";
- }
-
- $orderby = strtolower($orderby);
- $length = '';
- switch ($orderby) {
- case 'length':
- $length = ", CHAR_LENGTH(link_name) AS length";
- break;
- case 'rand':
- $orderby = 'rand()';
- break;
- default:
- $orderby = "link_" . $orderby;
- }
-
- if ( 'link_id' == $orderby )
- $orderby = "$wpdb->links.link_id";
-
- $visible = '';
- if ( $hide_invisible )
- $visible = "AND link_visible = 'Y'";
-
- $query = "SELECT * $length $recently_updated_test $get_updated FROM $wpdb->links $join WHERE 1=1 $visible $category_query";
- $query .= " $exclusions $inclusions";
- $query .= " ORDER BY $orderby $order";
- if ($limit != -1)
- $query .= " LIMIT $limit";
-
- $results = $wpdb->get_results($query);
- return apply_filters('get_bookmarks', $results, $r);
-}
-
-?> \ No newline at end of file
diff --git a/wp-inst/wp-includes/cache.php b/wp-inst/wp-includes/cache.php
deleted file mode 100644
index 976a0b3..0000000
--- a/wp-inst/wp-includes/cache.php
+++ /dev/null
@@ -1,434 +0,0 @@
-<?php
-function wp_cache_add($key, $data, $flag = '', $expire = 0) {
- global $wp_object_cache;
-
- return $wp_object_cache->add($key, $data, $flag, $expire);
-}
-
-function wp_cache_close() {
- global $wp_object_cache;
-
- return $wp_object_cache->save();
-}
-
-function wp_cache_delete($id, $flag = '') {
- global $wp_object_cache;
-
- return $wp_object_cache->delete($id, $flag);
-}
-
-function wp_cache_flush() {
- global $wp_object_cache;
-
- return $wp_object_cache->flush();
-}
-
-function wp_cache_get($id, $flag = '') {
- global $wp_object_cache;
-
- return $wp_object_cache->get($id, $flag);
-}
-
-function wp_cache_init() {
- global $wp_object_cache;
-
- $wp_object_cache = new WP_Object_Cache();
-}
-
-function wp_cache_replace($key, $data, $flag = '', $expire = 0) {
- global $wp_object_cache;
-
- return $wp_object_cache->replace($key, $data, $flag, $expire);
-}
-
-function wp_cache_set($key, $data, $flag = '', $expire = 0) {
- global $wp_object_cache;
-
- return $wp_object_cache->set($key, $data, $flag, $expire);
-}
-
-define('CACHE_SERIAL_HEADER', "<?php\n/*");
-define('CACHE_SERIAL_FOOTER', "*/\n?".">");
-
-class WP_Object_Cache {
- var $cache_dir;
- var $cache_enabled = false;
- var $expiration_time = 900;
- var $flock_filename = 'wp_object_cache.lock';
- var $mutex;
- var $cache = array ();
- var $dirty_objects = array ();
- var $non_existant_objects = array ();
- var $global_groups = array ('users', 'userlogins', 'usermeta', 'site-options', 'site-lookup', 'blog-lookup', 'blog-details');
- var $blog_id;
- var $cold_cache_hits = 0;
- var $warm_cache_hits = 0;
- var $cache_misses = 0;
- var $secret = '';
-
- function acquire_lock() {
- // Acquire a write lock.
- $this->mutex = @fopen($this->cache_dir.$this->flock_filename, 'w');
- if ( false == $this->mutex)
- return false;
- flock($this->mutex, LOCK_EX);
- return true;
- }
-
- function add($id, $data, $group = 'default', $expire = '') {
- if (empty ($group))
- $group = 'default';
-
- if (false !== $this->get($id, $group, false))
- return false;
-
- return $this->set($id, $data, $group, $expire);
- }
-
- function delete($id, $group = 'default', $force = false) {
- if (empty ($group))
- $group = 'default';
-
- if (!$force && false === $this->get($id, $group, false))
- return false;
-
- unset ($this->cache[$group][$id]);
- $this->non_existant_objects[$group][$id] = true;
- $this->dirty_objects[$group][] = $id;
- return true;
- }
-
- function flush() {
- if ( !$this->cache_enabled )
- return true;
-
- if ( ! $this->acquire_lock() )
- return false;
-
- $this->rm_cache_dir();
- $this->cache = array ();
- $this->dirty_objects = array ();
- $this->non_existant_objects = array ();
-
- $this->release_lock();
-
- return true;
- }
-
- function get($id, $group = 'default', $count_hits = true) {
- if (empty ($group))
- $group = 'default';
-
- if (isset ($this->cache[$group][$id])) {
- if ($count_hits)
- $this->warm_cache_hits += 1;
- return $this->cache[$group][$id];
- }
-
- if (isset ($this->non_existant_objects[$group][$id]))
- return false;
-
- // If caching is not enabled, we have to fall back to pulling from the DB.
- if (!$this->cache_enabled) {
- if (!isset ($this->cache[$group]))
- $this->load_group_from_db($group);
-
- if (isset ($this->cache[$group][$id])) {
- $this->cold_cache_hits += 1;
- return $this->cache[$group][$id];
- }
-
- $this->non_existant_objects[$group][$id] = true;
- $this->cache_misses += 1;
- return false;
- }
-
- $cache_file = $this->cache_dir.$this->get_group_dir($group)."/".$this->hash($id).'.php';
- if (!file_exists($cache_file)) {
- $this->non_existant_objects[$group][$id] = true;
- $this->cache_misses += 1;
- return false;
- }
-
- // If the object has expired, remove it from the cache and return false to force
- // a refresh.
- $now = time();
- if ((filemtime($cache_file) + $this->expiration_time) <= $now) {
- $this->cache_misses += 1;
- $this->delete($id, $group, true);
- return false;
- }
-
- $this->cache[$group][$id] = unserialize(base64_decode(substr(@ file_get_contents($cache_file), strlen(CACHE_SERIAL_HEADER), -strlen(CACHE_SERIAL_FOOTER))));
- if (false === $this->cache[$group][$id])
- $this->cache[$group][$id] = '';
-
- $this->cold_cache_hits += 1;
- return $this->cache[$group][$id];
- }
-
- function get_group_dir($group) {
- if (false !== array_search($group, $this->global_groups))
- return $group;
-
- return "{$this->blog_id}/$group";
- }
-
- function hash($data) {
- if ( function_exists('hash_hmac') ) {
- return hash_hmac('md5', $data, $this->secret);
- } else {
- return md5($data . $this->secret);
- }
- }
-
- function load_group_from_db($group) {
- global $wpdb;
-
- if ('category' == $group) {
- $this->cache['category'] = array ();
- if ($dogs = $wpdb->get_results("SELECT * FROM $wpdb->categories")) {
- foreach ($dogs as $catt)
- $this->cache['category'][$catt->cat_ID] = $catt;
- }
- } else
- if ('options' == $group) {
- $wpdb->hide_errors();
- if (!$options = $wpdb->get_results("SELECT option_name, option_value FROM $wpdb->options WHERE autoload = 'yes'")) {
- $options = $wpdb->get_results("SELECT option_name, option_value FROM $wpdb->options");
- }
- $wpdb->show_errors();
-
- if ( ! $options )
- return;
-
- foreach ($options as $option) {
- $this->cache['options'][$option->option_name] = $option->option_value;
- }
- }
- }
-
- function make_group_dir($group, $perms) {
- $group_dir = $this->get_group_dir($group);
- $make_dir = '';
- foreach (split('/', $group_dir) as $subdir) {
- $make_dir .= "$subdir/";
- if (!file_exists($this->cache_dir.$make_dir)) {
- if (! @ mkdir($this->cache_dir.$make_dir))
- break;
- @ chmod($this->cache_dir.$make_dir, $perms);
- }
-
- if (!file_exists($this->cache_dir.$make_dir."index.php")) {
- $file_perms = $perms & 0000666;
- @ touch($this->cache_dir.$make_dir."index.php");
- @ chmod($this->cache_dir.$make_dir."index.php", $file_perms);
- }
- }
-
- return $this->cache_dir."$group_dir/";
- }
-
- function rm_cache_dir() {
- $dir = $this->cache_dir;
- $dir = rtrim($dir, DIRECTORY_SEPARATOR);
- $top_dir = $dir;
- $stack = array($dir);
- $index = 0;
-
- while ($index < count($stack)) {
- # Get indexed directory from stack
- $dir = $stack[$index];
-
- $dh = @ opendir($dir);
- if (!$dh)
- return false;
-
- while (($file = @ readdir($dh)) !== false) {
- if ($file == '.' or $file == '..')
- continue;
-
- if (@ is_dir($dir . DIRECTORY_SEPARATOR . $file))
- $stack[] = $dir . DIRECTORY_SEPARATOR . $file;
- else if (@ is_file($dir . DIRECTORY_SEPARATOR . $file))
- @ unlink($dir . DIRECTORY_SEPARATOR . $file);
- }
-
- $index++;
- }
-
- $stack = array_reverse($stack); // Last added dirs are deepest
- foreach($stack as $dir) {
- if ( $dir != $top_dir)
- @ rmdir($dir);
- }
-
- }
-
- function release_lock() {
- // Release write lock.
- flock($this->mutex, LOCK_UN);
- fclose($this->mutex);
- }
-
- function replace($id, $data, $group = 'default', $expire = '') {
- if (empty ($group))
- $group = 'default';
-
- if (false === $this->get($id, $group, false))
- return false;
-
- return $this->set($id, $data, $group, $expire);
- }
-
- function set($id, $data, $group = 'default', $expire = '') {
- if (empty ($group))
- $group = 'default';
-
- if (NULL == $data)
- $data = '';
-
- $this->cache[$group][$id] = $data;
- unset ($this->non_existant_objects[$group][$id]);
- $this->dirty_objects[$group][] = $id;
-
- return true;
- }
-
- function save() {
- //$this->stats();
-
- if (!$this->cache_enabled)
- return true;
-
- if (empty ($this->dirty_objects))
- return true;
-
- // Give the new dirs the same perms as wp-content.
- $stat = stat(ABSPATH.'wp-content');
- $dir_perms = $stat['mode'] & 0007777; // Get the permission bits.
- $file_perms = $dir_perms & 0000666; // Remove execute bits for files.
-
- // Make the base cache dir.
- if (!file_exists($this->cache_dir)) {
- if (! @ mkdir($this->cache_dir))
- return false;
- @ chmod($this->cache_dir, $dir_perms);
- }
-
- if (!file_exists($this->cache_dir."index.php")) {
- @ touch($this->cache_dir."index.php");
- @ chmod($this->cache_dir."index.php", $file_perms);
- }
-
- if ( ! $this->acquire_lock() )
- return false;
-
- // Loop over dirty objects and save them.
- $errors = 0;
- foreach ($this->dirty_objects as $group => $ids) {
- $group_dir = $this->make_group_dir($group, $dir_perms);
-
- $ids = array_unique($ids);
- foreach ($ids as $id) {
- $cache_file = $group_dir.$this->hash($id).'.php';
-
- // Remove the cache file if the key is not set.
- if (!isset ($this->cache[$group][$id])) {
- if (file_exists($cache_file))
- @ unlink($cache_file);
- continue;
- }
-
- $temp_file = tempnam($group_dir, 'tmp');
- $serial = CACHE_SERIAL_HEADER.base64_encode(serialize($this->cache[$group][$id])).CACHE_SERIAL_FOOTER;
- $fd = @fopen($temp_file, 'w');
- if ( false === $fd ) {
- $errors++;
- continue;
- }
- fputs($fd, $serial);
- fclose($fd);
- if (!@ rename($temp_file, $cache_file)) {
- if (@ copy($temp_file, $cache_file))
- @ unlink($temp_file);
- else
- $errors++;
- }
- @ chmod($cache_file, $file_perms);
- }
- }
-
- $this->dirty_objects = array();
-
- $this->release_lock();
-
- if ( $errors )
- return false;
-
- return true;
- }
-
- function stats() {
- echo "<p>";
- echo "<strong>Cold Cache Hits:</strong> {$this->cold_cache_hits}<br/>";
- echo "<strong>Warm Cache Hits:</strong> {$this->warm_cache_hits}<br/>";
- echo "<strong>Cache Misses:</strong> {$this->cache_misses}<br/>";
- echo "</p>";
-
- foreach ($this->cache as $group => $cache) {
- echo "<p>";
- echo "<strong>Group:</strong> $group<br/>";
- echo "<strong>Cache:</strong>";
- echo "<pre>";
- print_r($cache);
- echo "</pre>";
- if (isset ($this->dirty_objects[$group])) {
- echo "<strong>Dirty Objects:</strong>";
- echo "<pre>";
- print_r(array_unique($this->dirty_objects[$group]));
- echo "</pre>";
- echo "</p>";
- }
- }
- }
-
- function WP_Object_Cache() {
- global $blog_id;
-
- if (defined('DISABLE_CACHE'))
- return;
-
- if ( ! defined('ENABLE_CACHE') )
- return;
-
- // Disable the persistent cache if safe_mode is on.
- if ( ini_get('safe_mode') && ! defined('ENABLE_CACHE') )
- return;
-
- if (defined('CACHE_PATH'))
- $this->cache_dir = CACHE_PATH;
- else
- // Using the correct separator eliminates some cache flush errors on Windows
- $this->cache_dir = ABSPATH.'wp-content'.DIRECTORY_SEPARATOR.'cache'.DIRECTORY_SEPARATOR;
-
- if (is_writable($this->cache_dir) && is_dir($this->cache_dir)) {
- $this->cache_enabled = true;
- } else {
- if (is_writable(ABSPATH.'wp-content')) {
- $this->cache_enabled = true;
- }
- }
-
- if (defined('CACHE_EXPIRATION_TIME'))
- $this->expiration_time = CACHE_EXPIRATION_TIME;
-
- if ( defined('WP_SECRET') )
- $this->secret = WP_SECRET;
- else
- $this->secret = DB_PASSWORD . DB_USER . DB_NAME . DB_HOST . ABSPATH;
-
- $this->blog_id = $this->hash($blog_id);
- }
-}
-?>
diff --git a/wp-inst/wp-includes/capabilities.php b/wp-inst/wp-includes/capabilities.php
deleted file mode 100644
index 3e85e4f..0000000
--- a/wp-inst/wp-includes/capabilities.php
+++ /dev/null
@@ -1,474 +0,0 @@
-<?php
-
-class WP_Roles {
- var $roles;
-
- var $role_objects = array();
- var $role_names = array();
- var $role_key;
-
- function WP_Roles() {
- $this->_init();
- }
-
- function _init () {
- global $wpdb;
- $this->role_key = $wpdb->prefix . 'user_roles';
-
- $this->roles = get_option($this->role_key);
-
- if ( empty($this->roles) )
- return;
-
- $this->role_objects = array();
- $this->role_names = array();
- foreach ($this->roles as $role => $data) {
- $this->role_objects[$role] = new WP_Role($role, $this->roles[$role]['capabilities']);
- $this->role_names[$role] = $this->roles[$role]['name'];
- }
- }
-
- function add_role($role, $display_name, $capabilities = '') {
- if ( isset($this->roles[$role]) )
- return;
-
- $this->roles[$role] = array(
- 'name' => $display_name,
- 'capabilities' => $capabilities);
- update_option($this->role_key, $this->roles);
- $this->role_objects[$role] = new WP_Role($role, $capabilities);
- $this->role_names[$role] = $display_name;
- return $this->role_objects[$role];
- }
-
- function remove_role($role) {
- if ( ! isset($this->role_objects[$role]) )
- return;
-
- unset($this->role_objects[$role]);
- unset($this->role_names[$role]);
- unset($this->roles[$role]);
-
- update_option($this->role_key, $this->roles);
- }
-
- function add_cap($role, $cap, $grant = true) {
- $this->roles[$role]['capabilities'][$cap] = $grant;
- update_option($this->role_key, $this->roles);
- }
-
- function remove_cap($role, $cap) {
- unset($this->roles[$role]['capabilities'][$cap]);
- update_option($this->role_key, $this->roles);
- }
-
- function &get_role($role) {
- if ( isset($this->role_objects[$role]) )
- return $this->role_objects[$role];
- else
- return null;
- }
-
- function get_names() {
- return $this->role_names;
- }
-
- function is_role($role)
- {
- return isset($this->role_names[$role]);
- }
-}
-
-class WP_Role {
- var $name;
- var $capabilities;
-
- function WP_Role($role, $capabilities) {
- $this->name = $role;
- $this->capabilities = $capabilities;
- }
-
- function add_cap($cap, $grant = true) {
- global $wp_roles;
-
- if ( ! isset($wp_roles) )
- $wp_roles = new WP_Roles();
-
- $this->capabilities[$cap] = $grant;
- $wp_roles->add_cap($this->name, $cap, $grant);
- }
-
- function remove_cap($cap) {
- global $wp_roles;
-
- if ( ! isset($wp_roles) )
- $wp_roles = new WP_Roles();
-
- unset($this->capabilities[$cap]);
- $wp_roles->remove_cap($this->name, $cap);
- }
-
- function has_cap($cap) {
- $capabilities = apply_filters('role_has_cap', $this->capabilities, $cap, $this->name);
- if ( !empty($capabilities[$cap]) )
- return $capabilities[$cap];
- else
- return false;
- }
-
-}
-
-class WP_User {
- var $data;
- var $id = 0;
- var $caps = array();
- var $cap_key;
- var $roles = array();
- var $allcaps = array();
-
- function WP_User($id, $name = '') {
- global $wpdb;
-
- if ( empty($id) && empty($name) )
- return;
-
- if ( ! is_numeric($id) ) {
- $name = $id;
- $id = 0;
- }
-
- if ( ! empty($id) )
- $this->data = get_userdata($id);
- else
- $this->data = get_userdatabylogin($name);
-
- if ( empty($this->data->ID) )
- return;
-
- foreach (get_object_vars($this->data) as $key => $value) {
- $this->{$key} = $value;
- }
-
- $this->id = $this->ID;
- $this->_init_caps();
- }
-
- function _init_caps() {
- global $wpdb;
- $this->cap_key = $wpdb->prefix . 'capabilities';
- $this->caps = &$this->{$this->cap_key};
- if ( ! is_array($this->caps) )
- $this->caps = array();
- $this->get_role_caps();
- }
-
- function get_role_caps() {
- global $wp_roles;
-
- if ( ! isset($wp_roles) )
- $wp_roles = new WP_Roles();
-
- //Filter out caps that are not role names and assign to $this->roles
- if(is_array($this->caps))
- $this->roles = array_filter(array_keys($this->caps), array(&$wp_roles, 'is_role'));
-
- //Build $allcaps from role caps, overlay user's $caps
- $this->allcaps = array();
- foreach( (array) $this->roles as $role) {
- $role = $wp_roles->get_role($role);
- $this->allcaps = array_merge($this->allcaps, $role->capabilities);
- }
- $this->allcaps = array_merge($this->allcaps, $this->caps);
- }
-
- function add_role($role) {
- $this->caps[$role] = true;
- update_usermeta($this->id, $this->cap_key, $this->caps);
- $this->get_role_caps();
- $this->update_user_level_from_caps();
- }
-
- function remove_role($role) {
- if ( empty($this->roles[$role]) || (count($this->roles) <= 1) )
- return;
- unset($this->caps[$role]);
- update_usermeta($this->id, $this->cap_key, $this->caps);
- $this->get_role_caps();
- }
-
- function set_role($role) {
- foreach($this->roles as $oldrole)
- unset($this->caps[$oldrole]);
- if ( !empty($role) ) {
- $this->caps[$role] = true;
- $this->roles = array($role => true);
- } else {
- $this->roles = false;
- }
- update_usermeta($this->id, $this->cap_key, $this->caps);
- $this->get_role_caps();
- $this->update_user_level_from_caps();
- }
-
- function level_reduction($max, $item) {
- if(preg_match('/^level_(10|[0-9])$/i', $item, $matches)) {
- $level = intval($matches[1]);
- return max($max, $level);
- } else {
- return $max;
- }
- }
-
- function update_user_level_from_caps() {
- global $wpdb;
- $this->user_level = array_reduce(array_keys($this->allcaps), array(&$this, 'level_reduction'), 0);
- update_usermeta($this->id, $wpdb->prefix.'user_level', $this->user_level);
- }
-
- function add_cap($cap, $grant = true) {
- $this->caps[$cap] = $grant;
- update_usermeta($this->id, $this->cap_key, $this->caps);
- }
-
- function remove_cap($cap) {
- if ( empty($this->caps[$cap]) ) return;
- unset($this->caps[$cap]);
- update_usermeta($this->id, $this->cap_key, $this->caps);
- }
-
- function remove_all_caps() {
- global $wpdb;
- $this->caps = array();
- update_usermeta($this->id, $this->cap_key, '');
- update_usermeta($this->id, $wpdb->prefix.'user_level', '');
- $this->get_role_caps();
- }
-
- //has_cap(capability_or_role_name) or
- //has_cap('edit_post', post_id)
- function has_cap($cap) {
- if ( is_numeric($cap) )
- $cap = $this->translate_level_to_cap($cap);
-
- $args = array_slice(func_get_args(), 1);
- $args = array_merge(array($cap, $this->id), $args);
- $caps = call_user_func_array('map_meta_cap', $args);
- // Must have ALL requested caps
- $capabilities = apply_filters('user_has_cap', $this->allcaps, $caps, $args);
- foreach ($caps as $cap) {
- //echo "Checking cap $cap<br/>";
- if(empty($capabilities[$cap]) || !$capabilities[$cap])
- return false;
- }
-
- return true;
- }
-
- function translate_level_to_cap($level) {
- return 'level_' . $level;
- }
-
-}
-
-// Map meta capabilities to primitive capabilities.
-function map_meta_cap($cap, $user_id) {
- $args = array_slice(func_get_args(), 2);
- $caps = array();
-
- switch ($cap) {
- case 'delete_user':
- $caps[] = 'delete_users';
- break;
- case 'edit_user':
- $caps[] = 'edit_users';
- break;
- case 'delete_post':
- $author_data = get_userdata($user_id);
- //echo "post ID: {$args[0]}<br/>";
- $post = get_post($args[0]);
- if ( 'page' == $post->post_type ) {
- $args = array_merge(array('delete_page', $user_id), $args);
- return call_user_func_array('map_meta_cap', $args);
- }
- $post_author_data = get_userdata($post->post_author);
- //echo "current user id : $user_id, post author id: " . $post_author_data->ID . "<br/>";
- // If the user is the author...
- if ($user_id == $post_author_data->ID) {
- // If the post is published...
- if ($post->post_status == 'publish')
- $caps[] = 'delete_published_posts';
- else
- // If the post is draft...
- $caps[] = 'delete_posts';
- } else {
- // The user is trying to edit someone else's post.
- $caps[] = 'delete_others_posts';
- // The post is published, extra cap required.
- if ($post->post_status == 'publish')
- $caps[] = 'delete_published_posts';
- else if ($post->post_status == 'private')
- $caps[] = 'delete_private_posts';
- }
- break;
- case 'delete_page':
- $author_data = get_userdata($user_id);
- //echo "post ID: {$args[0]}<br/>";
- $page = get_page($args[0]);
- $page_author_data = get_userdata($post->post_author);
- //echo "current user id : $user_id, page author id: " . $page_author_data->ID . "<br/>";
- // If the user is the author...
- if ($user_id == $page_author_data->ID) {
- // If the page is published...
- if ($page->post_status == 'publish')
- $caps[] = 'delete_published_pages';
- else
- // If the page is draft...
- $caps[] = 'delete_pages';
- } else {
- // The user is trying to edit someone else's page.
- $caps[] = 'delete_others_pages';
- // The page is published, extra cap required.
- if ($page->post_status == 'publish')
- $caps[] = 'delete_published_pages';
- else if ($page->post_status == 'private')
- $caps[] = 'delete_private_pages';
- }
- break;
- // edit_post breaks down to edit_posts, edit_published_posts, or
- // edit_others_posts
- case 'edit_post':
- $author_data = get_userdata($user_id);
- //echo "post ID: {$args[0]}<br/>";
- $post = get_post($args[0]);
- if ( 'page' == $post->post_type ) {
- $args = array_merge(array('edit_page', $user_id), $args);
- return call_user_func_array('map_meta_cap', $args);
- }
- $post_author_data = get_userdata($post->post_author);
- //echo "current user id : $user_id, post author id: " . $post_author_data->ID . "<br/>";
- // If the user is the author...
- if ($user_id == $post_author_data->ID) {
- // If the post is published...
- if ($post->post_status == 'publish')
- $caps[] = 'edit_published_posts';
- else
- // If the post is draft...
- $caps[] = 'edit_posts';
- } else {
- // The user is trying to edit someone else's post.
- $caps[] = 'edit_others_posts';
- // The post is published, extra cap required.
- if ($post->post_status == 'publish')
- $caps[] = 'edit_published_posts';
- else if ($post->post_status == 'private')
- $caps[] = 'edit_private_posts';
- }
- break;
- case 'edit_page':
- $author_data = get_userdata($user_id);
- //echo "post ID: {$args[0]}<br/>";
- $page = get_page($args[0]);
- $page_author_data = get_userdata($post->post_author);
- //echo "current user id : $user_id, page author id: " . $page_author_data->ID . "<br/>";
- // If the user is the author...
- if ($user_id == $page_author_data->ID) {
- // If the page is published...
- if ($page->post_status == 'publish')
- $caps[] = 'edit_published_pages';
- else
- // If the page is draft...
- $caps[] = 'edit_pages';
- } else {
- // The user is trying to edit someone else's page.
- $caps[] = 'edit_others_pages';
- // The page is published, extra cap required.
- if ($page->post_status == 'publish')
- $caps[] = 'edit_published_pages';
- else if ($page->post_status == 'private')
- $caps[] = 'edit_private_pages';
- }
- break;
- case 'read_post':
- $post = get_post($args[0]);
- if ( 'page' == $post->post_type ) {
- $args = array_merge(array('read_page', $user_id), $args);
- return call_user_func_array('map_meta_cap', $args);
- }
-
- if ( 'private' != $post->post_status ) {
- $caps[] = 'read';
- break;
- }
-
- $author_data = get_userdata($user_id);
- $post_author_data = get_userdata($post->post_author);
- if ($user_id == $post_author_data->ID)
- $caps[] = 'read';
- else
- $caps[] = 'read_private_posts';
- break;
- case 'read_page':
- $page = get_page($args[0]);
-
- if ( 'private' != $page->post_status ) {
- $caps[] = 'read';
- break;
- }
-
- $author_data = get_userdata($user_id);
- $page_author_data = get_userdata($post->post_author);
- if ($user_id == $page_author_data->ID)
- $caps[] = 'read';
- else
- $caps[] = 'read_private_pages';
- break;
- default:
- // If no meta caps match, return the original cap.
- $caps[] = $cap;
- }
-
- return $caps;
-}
-
-// Capability checking wrapper around the global $current_user object.
-function current_user_can($capability) {
- $current_user = wp_get_current_user();
-
- $args = array_slice(func_get_args(), 1);
- $args = array_merge(array($capability), $args);
-
- if ( empty($current_user) )
- return false;
-
- return call_user_func_array(array(&$current_user, 'has_cap'), $args);
-}
-
-// Convenience wrappers around $wp_roles.
-function get_role($role) {
- global $wp_roles;
-
- if ( ! isset($wp_roles) )
- $wp_roles = new WP_Roles();
-
- return $wp_roles->get_role($role);
-}
-
-function add_role($role, $display_name, $capabilities = '') {
- global $wp_roles;
-
- if ( ! isset($wp_roles) )
- $wp_roles = new WP_Roles();
-
- return $wp_roles->add_role($role, $display_name, $capabilities);
-}
-
-function remove_role($role) {
- global $wp_roles;
-
- if ( ! isset($wp_roles) )
- $wp_roles = new WP_Roles();
-
- return $wp_roles->remove_role($role);
-}
-
-?>
diff --git a/wp-inst/wp-includes/category-template.php b/wp-inst/wp-includes/category-template.php
deleted file mode 100644
index 0ca0e62..0000000
--- a/wp-inst/wp-includes/category-template.php
+++ /dev/null
@@ -1,268 +0,0 @@
-<?php
-
-function get_category_children($id, $before = '/', $after = '') {
- if ( 0 == $id )
- return '';
-
- $cat_ids = get_all_category_ids();
- foreach ( $cat_ids as $cat_id ) {
- if ( $cat_id == $id)
- continue;
-
- $category = get_category($cat_id);
- if ( $category->category_parent == $id ) {
- $chain .= $before.$category->cat_ID.$after;
- $chain .= get_category_children($category->cat_ID, $before, $after);
- }
- }
- return $chain;
-}
-
-function get_category_link($category_id) {
- global $wp_rewrite;
- $catlink = $wp_rewrite->get_category_permastruct();
-
- if ( empty($catlink) ) {
- $file = get_settings('home') . '/';
- $catlink = $file . '?cat=' . $category_id;
- } else {
- $category = &get_category($category_id);
- $category_nicename = $category->category_nicename;
-
- if ( $parent = $category->category_parent )
- $category_nicename = get_category_parents($parent, false, '/', true) . $category_nicename . '/';
-
- $catlink = str_replace('%category%', $category_nicename, $catlink);
- $catlink = get_settings('home') . trailingslashit($catlink);
- }
- return apply_filters('category_link', $catlink, $category_id);
-}
-
-function get_category_parents($id, $link = FALSE, $separator = '/', $nicename = FALSE){
- $chain = '';
- $parent = &get_category($id);
-
- if ( $nicename )
- $name = $parent->category_nicename;
- else
- $name = $parent->cat_name;
-
- if ( $parent->category_parent )
- $chain .= get_category_parents($parent->category_parent, $link, $separator, $nicename);
-
- if ( $link )
- $chain .= '<a href="' . get_category_link($parent->cat_ID) . '" title="' . sprintf(__("View all posts in %s"), $parent->cat_name) . '">'.$name.'</a>' . $separator;
- else
- $chain .= $name.$separator;
- return $chain;
-}
-
-function get_the_category($id = false) {
-global $post, $category_cache;
-
- if ( !$id )
- $id = $post->ID;
-
- if ( !isset($category_cache[$id]) )
- update_post_category_cache($id);
-
- $categories = $category_cache[$id];
-
- if ( !empty($categories) )
- sort($categories);
- else
- $categories = array();
-
- return $categories;
-}
-
-function get_the_category_by_ID($cat_ID) {
- $cat_ID = (int) $cat_ID;
- $category = &get_category($cat_ID);
- return $category->cat_name;
-}
-
-function get_the_category_list($separator = '', $parents='') {
- $categories = get_the_category();
- if (empty($categories))
- return apply_filters('the_category', __('Uncategorized'), $separator, $parents);
-
- $thelist = '';
- if ( '' == $separator ) {
- $thelist .= '<ul class="post-categories">';
- foreach ( $categories as $category ) {
- $thelist .= "\n\t<li>";
- switch ( strtolower($parents) ) {
- case 'multiple':
- if ($category->category_parent)
- $thelist .= get_category_parents($category->category_parent, TRUE);
- $thelist .= '<a href="' . get_category_link($category->cat_ID) . '" title="' . sprintf(__("View all posts in %s"), $category->cat_name) . '" rel="category tag">'.$category->cat_name.'</a></li>';
- break;
- case 'single':
- $thelist .= '<a href="' . get_category_link($category->cat_ID) . '" title="' . sprintf(__("View all posts in %s"), $category->cat_name) . ' rel="category tag">';
- if ($category->category_parent)
- $thelist .= get_category_parents($category->category_parent, FALSE);
- $thelist .= $category->cat_name.'</a></li>';
- break;
- case '':
- default:
- $thelist .= '<a href="' . get_category_link($category->cat_ID) . '" title="' . sprintf(__("View all posts in %s"), $category->cat_name) . '" rel="category tag">'.$category->cat_name.'</a></li>';
- }
- }
- $thelist .= '</ul>';
- } else {
- $i = 0;
- foreach ( $categories as $category ) {
- if ( 0 < $i )
- $thelist .= $separator . ' ';
- switch ( strtolower($parents) ) {
- case 'multiple':
- if ( $category->category_parent )
- $thelist .= get_category_parents($category->category_parent, TRUE);
- $thelist .= '<a href="' . get_category_link($category->cat_ID) . '" title="' . sprintf(__("View all posts in %s"), $category->cat_name) . '" rel="category tag">'.$category->cat_name.'</a>';
- break;
- case 'single':
- $thelist .= '<a href="' . get_category_link($category->cat_ID) . '" title="' . sprintf(__("View all posts in %s"), $category->cat_name) . '" rel="category tag">';
- if ( $category->category_parent )
- $thelist .= get_category_parents($category->category_parent, FALSE);
- $thelist .= "$category->cat_name</a>";
- break;
- case '':
- default:
- $thelist .= '<a href="' . get_category_link($category->cat_ID) . '" title="' . sprintf(__("View all posts in %s"), $category->cat_name) . '" rel="category tag">'.$category->cat_name.'</a>';
- }
- ++$i;
- }
- }
- return apply_filters('the_category', $thelist, $separator, $parents);
-}
-
-function in_category($category) { // Check if the current post is in the given category
- global $category_cache, $post;
-
- if ( isset( $category_cache[$post->ID][$category] ) )
- return true;
- else
- return false;
-}
-
-function the_category($separator = '', $parents='') {
- echo get_the_category_list($separator, $parents);
-}
-
-function category_description($category = 0) {
- global $cat;
- if ( !$category )
- $category = $cat;
- $category = & get_category($category);
- return apply_filters('category_description', $category->category_description, $category->cat_ID);
-}
-
-function wp_dropdown_categories($args = '') {
- if ( is_array($args) )
- $r = &$args;
- else
- parse_str($args, $r);
-
- $defaults = array('show_option_all' => '', 'show_option_none' => '', 'orderby' => 'ID',
- 'order' => 'ASC', 'show_last_update' => 0, 'show_count' => 0,
- 'hide_empty' => 1, 'child_of' => 0, 'exclude' => '', 'echo' => 1,
- 'selected' => 0, 'hierarchical' => 0, 'name' => 'cat',
- 'class' => 'postform');
- $r = array_merge($defaults, $r);
- $r['include_last_update_time'] = $r['show_last_update'];
- extract($r);
-
- $categories = get_categories($r);
-
- $output = '';
- if ( ! empty($categories) ) {
- $output = "<select name='$name' class='$class'>\n";
-
- if ( $show_option_all ) {
- $show_option_all = apply_filters('list_cats', $show_option_all);
- $output .= "\t<option value='0'>$show_option_all</option>\n";
- }
-
- if ( $show_option_none) {
- $show_option_none = apply_filters('list_cats', $show_option_none);
- $output .= "\t<option value='-1'>$show_option_none</option>\n";
- }
-
- if ( $hierarchical )
- $depth = 0; // Walk the full depth.
- else
- $depth = -1; // Flat.
-
- $output .= walk_category_dropdown_tree($categories, $depth, $r);
- $output .= "</select>\n";
- }
-
- $output = apply_filters('wp_dropdown_cats', $output);
-
- if ( $echo )
- echo $output;
-
- return $output;
-}
-
-function wp_list_categories($args = '') {
- if ( is_array($args) )
- $r = &$args;
- else
- parse_str($args, $r);
-
- $defaults = array('show_option_all' => '', 'orderby' => 'name',
- 'order' => 'ASC', 'show_last_update' => 0, 'style' => 'list',
- 'show_count' => 0, 'hide_empty' => 1, 'use_desc_for_title' => 1,
- 'child_of' => 0, 'feed' => '', 'feed_image' => '', 'exclude' => '',
- 'hierarchical' => true, 'title_li' => __('Categories'));
- $r = array_merge($defaults, $r);
- $r['include_last_update_time'] = $r['show_date'];
- extract($r);
-
- $categories = get_categories($r);
-
- $output = '';
- if ( $title_li && 'list' == $style )
- $output = '<li class="categories">' . $r['title_li'] . '<ul>';
-
- if ( empty($categories) ) {
- if ( $list)
- $output .= '<li>' . __("No categories") . '</li>';
- else
- $output .= __("No categories");
- } else {
- global $wp_query;
- $r['current_category'] = $wp_query->get_queried_object_id();
- if ( $hierarchical )
- $depth = 0; // Walk the full depth.
- else
- $depth = -1; // Flat.
-
- $output .= walk_category_tree($categories, $depth, $r);
- }
-
- if ( $title_li && 'list' == $style )
- $output .= '</ul></li>';
-
- echo apply_filters('list_cats', $output);
-}
-
-//
-// Helper functions
-//
-
-function walk_category_tree() {
- $walker = new Walker_Category;
- $args = func_get_args();
- return call_user_func_array(array(&$walker, 'walk'), $args);
-}
-
-function walk_category_dropdown_tree() {
- $walker = new Walker_CategoryDropdown;
- $args = func_get_args();
- return call_user_func_array(array(&$walker, 'walk'), $args);
-}
-
-?>
diff --git a/wp-inst/wp-includes/category.php b/wp-inst/wp-includes/category.php
deleted file mode 100644
index fb0ec87..0000000
--- a/wp-inst/wp-includes/category.php
+++ /dev/null
@@ -1,205 +0,0 @@
-<?php
-
-function get_all_category_ids() {
- global $wpdb;
-
- if ( ! $cat_ids = wp_cache_get('all_category_ids', 'category') ) {
- $cat_ids = $wpdb->get_col("SELECT cat_ID FROM $wpdb->categories");
- wp_cache_add('all_category_ids', $cat_ids, 'category');
- }
-
- return $cat_ids;
-}
-
-function &get_categories($args = '') {
- global $wpdb, $category_links;
-
- if ( is_array($args) )
- $r = &$args;
- else
- parse_str($args, $r);
-
- $defaults = array('type' => 'post', 'child_of' => 0, 'orderby' => 'name', 'order' => 'ASC',
- 'hide_empty' => true, 'include_last_update_time' => false, 'hierarchical' => 1, $exclude => '', $include => '');
- $r = array_merge($defaults, $r);
- $r['orderby'] = "cat_" . $r['orderby']; // restricts order by to cat_ID and cat_name fields
- extract($r);
-
- $where = 'cat_ID > 0';
- $inclusions = '';
- if ( !empty($include) ) {
- $child_of = 0; //ignore child_of and exclude params if using include
- $exclude = '';
- $incategories = preg_split('/[\s,]+/',$include);
- if ( count($incategories) ) {
- foreach ( $incategories as $incat ) {
- if (empty($inclusions))
- $inclusions = ' AND ( cat_ID = ' . intval($incat) . ' ';
- else
- $inclusions .= ' OR cat_ID = ' . intval($incat) . ' ';
- }
- }
- }
- if (!empty($inclusions))
- $inclusions .= ')';
- $where .= $inclusions;
-
- $exclusions = '';
- if ( !empty($exclude) ) {
- $excategories = preg_split('/[\s,]+/',$exclude);
- if ( count($excategories) ) {
- foreach ( $excategories as $excat ) {
- if (empty($exclusions))
- $exclusions = ' AND ( cat_ID <> ' . intval($excat) . ' ';
- else
- $exclusions .= ' AND cat_ID <> ' . intval($excat) . ' ';
- // TODO: Exclude children of excluded cats? Note: children are getting excluded
- }
- }
- }
- if (!empty($exclusions))
- $exclusions .= ')';
- $exclusions = apply_filters('list_cats_exclusions', $exclusions );
- $where .= $exclusions;
-
- $having = '';
- if ( $hide_empty ) {
- if ( 'link' == $type )
- $having = 'HAVING link_count > 0';
- else
- $having = 'HAVING category_count > 0';
- }
-
- $categories = $wpdb->get_results("SELECT * FROM $wpdb->categories WHERE $where $having ORDER BY $orderby $order");
-
- if ( empty($categories) )
- return array();
-
- // TODO: Integrate this into the main query.
- if ( $include_last_update_time ) {
- $stamps = $wpdb->get_results("SELECT category_id, UNIX_TIMESTAMP( MAX(post_date) ) AS ts FROM $wpdb->posts, $wpdb->post2cat, $wpdb->categories
- WHERE post_status = 'publish' AND post_id = ID AND $where GROUP BY category_id");
- global $cat_stamps;
- foreach ($stamps as $stamp)
- $cat_stamps[$stamp->category_id] = $stamp->ts;
- function stamp_cat($cat) {
- global $cat_stamps;
- $cat->last_update_timestamp = $cat_stamps[$cat->cat_ID];
- return $cat;
- }
- $categories = array_map('stamp_cat', $categories);
- unset($cat_stamps);
- }
-
- if ( $child_of || $hierarchical )
- $categories = & _get_cat_children($child_of, $categories);
-
- return apply_filters('get_categories', $categories);
-}
-
-// Retrieves category data given a category ID or category object.
-// Handles category caching.
-function &get_category(&$category, $output = OBJECT) {
- global $wpdb;
-
- if ( empty($category) )
- return null;
-
- if ( is_object($category) ) {
- wp_cache_add($category->cat_ID, $category, 'category');
- $_category = $category;
- } else {
- if ( ! $_category = wp_cache_get($category, 'category') ) {
- $_category = $wpdb->get_row("SELECT * FROM $wpdb->categories WHERE cat_ID = '$category' LIMIT 1");
- wp_cache_add($category, $_category, 'category');
- }
- }
-
- if ( $output == OBJECT ) {
- return $_category;
- } elseif ( $output == ARRAY_A ) {
- return get_object_vars($_category);
- } elseif ( $output == ARRAY_N ) {
- return array_values(get_object_vars($_category));
- } else {
- return $_category;
- }
-}
-
-function get_category_by_path($category_path, $full_match = true, $output = OBJECT) {
- global $wpdb;
- $category_path = rawurlencode(urldecode($category_path));
- $category_path = str_replace('%2F', '/', $category_path);
- $category_path = str_replace('%20', ' ', $category_path);
- $category_paths = '/' . trim($category_path, '/');
- $leaf_path = sanitize_title(basename($category_paths));
- $category_paths = explode('/', $category_paths);
- foreach($category_paths as $pathdir)
- $full_path .= ($pathdir!=''?'/':'') . sanitize_title($pathdir);
-
- $categories = $wpdb->get_results("SELECT cat_ID, category_nicename, category_parent FROM $wpdb->categories WHERE category_nicename = '$leaf_path'");
-
- if ( empty($categories) )
- return NULL;
-
- foreach ($categories as $category) {
- $path = '/' . $leaf_path;
- $curcategory = $category;
- while ($curcategory->category_parent != 0) {
- $curcategory = $wpdb->get_row("SELECT cat_ID, category_nicename, category_parent FROM $wpdb->categories WHERE cat_ID = '$curcategory->category_parent'");
- $path = '/' . $curcategory->category_nicename . $path;
- }
-
- if ( $path == $full_path )
- return get_category($category->cat_ID, $output);
- }
-
- // If full matching is not required, return the first cat that matches the leaf.
- if ( ! $full_match )
- return get_category($categories[0]->cat_ID, $output);
-
- return NULL;
-}
-
-// Get the ID of a category from its name
-function get_cat_ID($cat_name='General') {
- global $wpdb;
-
- $cid = $wpdb->get_var("SELECT cat_ID FROM $wpdb->categories WHERE cat_name='$cat_name'");
-
- return $cid?$cid:1; // default to cat 1
-}
-
-// Deprecate
-function get_catname($cat_ID) {
- return get_cat_name($cat_ID);
-}
-
-// Get the name of a category from its ID
-function get_cat_name($cat_id) {
- $cat_id = (int) $cat_id;
- $category = &get_category($cat_id);
- return $category->cat_name;
-}
-
-//
-// Private
-//
-
-function &_get_cat_children($category_id, $categories) {
- if ( empty($categories) )
- return array();
-
- $category_list = array();
- foreach ( $categories as $category ) {
- if ( $category->category_parent == $category_id ) {
- $category_list[] = $category;
- if ( $children = _get_cat_children($category->cat_ID, $categories) )
- $category_list = array_merge($category_list, $children);
- }
- }
-
- return $category_list;
-}
-
-?>
diff --git a/wp-inst/wp-includes/class-IXR.php b/wp-inst/wp-includes/class-IXR.php
deleted file mode 100644
index a77f6c9..0000000
--- a/wp-inst/wp-includes/class-IXR.php
+++ /dev/null
@@ -1,815 +0,0 @@
-<?php
-/*
- IXR - The Inutio XML-RPC Library - (c) Incutio Ltd 2002-2005
- Version 1.7 (beta) - Simon Willison, 23rd May 2005
- Site: http://scripts.incutio.com/xmlrpc/
- Manual: http://scripts.incutio.com/xmlrpc/manual.php
- Made available under the BSD License: http://www.opensource.org/licenses/bsd-license.php
-*/
-
-class IXR_Value {
- var $data;
- var $type;
- function IXR_Value ($data, $type = false) {
- $this->data = $data;
- if (!$type) {
- $type = $this->calculateType();
- }
- $this->type = $type;
- if ($type == 'struct') {
- /* Turn all the values in the array in to new IXR_Value objects */
- foreach ($this->data as $key => $value) {
- $this->data[$key] = new IXR_Value($value);
- }
- }
- if ($type == 'array') {
- for ($i = 0, $j = count($this->data); $i < $j; $i++) {
- $this->data[$i] = new IXR_Value($this->data[$i]);
- }
- }
- }
- function calculateType() {
- if ($this->data === true || $this->data === false) {
- return 'boolean';
- }
- if (is_integer($this->data)) {
- return 'int';
- }
- if (is_double($this->data)) {
- return 'double';
- }
- // Deal with IXR object types base64 and date
- if (is_object($this->data) && is_a($this->data, 'IXR_Date')) {
- return 'date';
- }
- if (is_object($this->data) && is_a($this->data, 'IXR_Base64')) {
- return 'base64';
- }
- // If it is a normal PHP object convert it in to a struct
- if (is_object($this->data)) {
-
- $this->data = get_object_vars($this->data);
- return 'struct';
- }
- if (!is_array($this->data)) {
- return 'string';
- }
- /* We have an array - is it an array or a struct ? */
- if ($this->isStruct($this->data)) {
- return 'struct';
- } else {
- return 'array';
- }
- }
- function getXml() {
- /* Return XML for this value */
- switch ($this->type) {
- case 'boolean':
- return '<boolean>'.(($this->data) ? '1' : '0').'</boolean>';
- break;
- case 'int':
- return '<int>'.$this->data.'</int>';
- break;
- case 'double':
- return '<double>'.$this->data.'</double>';
- break;
- case 'string':
- return '<string>'.htmlspecialchars($this->data).'</string>';
- break;
- case 'array':
- $return = '<array><data>'."\n";
- foreach ($this->data as $item) {
- $return .= ' <value>'.$item->getXml()."</value>\n";
- }
- $return .= '</data></array>';
- return $return;
- break;
- case 'struct':
- $return = '<struct>'."\n";
- foreach ($this->data as $name => $value) {
- $name = htmlspecialchars($name);
- $return .= " <member><name>$name</name><value>";
- $return .= $value->getXml()."</value></member>\n";
- }
- $return .= '</struct>';
- return $return;
- break;
- case 'date':
- case 'base64':
- return $this->data->getXml();
- break;
- }
- return false;
- }
- function isStruct($array) {
- /* Nasty function to check if an array is a struct or not */
- $expected = 0;
- foreach ($array as $key => $value) {
- if ((string)$key != (string)$expected) {
- return true;
- }
- $expected++;
- }
- return false;
- }
-}
-
-
-class IXR_Message {
- var $message;
- var $messageType; // methodCall / methodResponse / fault
- var $faultCode;
- var $faultString;
- var $methodName;
- var $params;
- // Current variable stacks
- var $_arraystructs = array(); // The stack used to keep track of the current array/struct
- var $_arraystructstypes = array(); // Stack keeping track of if things are structs or array
- var $_currentStructName = array(); // A stack as well
- var $_param;
- var $_value;
- var $_currentTag;
- var $_currentTagContents;
- // The XML parser
- var $_parser;
- function IXR_Message ($message) {
- $this->message = $message;
- }
- function parse() {
- // first remove the XML declaration
- $this->message = preg_replace('/<\?xml(.*)?\?'.'>/', '', $this->message);
- if (trim($this->message) == '') {
- return false;
- }
- $this->_parser = xml_parser_create();
- // Set XML parser to take the case of tags in to account
- xml_parser_set_option($this->_parser, XML_OPTION_CASE_FOLDING, false);
- // Set XML parser callback functions
- xml_set_object($this->_parser, $this);
- xml_set_element_handler($this->_parser, 'tag_open', 'tag_close');
- xml_set_character_data_handler($this->_parser, 'cdata');
- if (!xml_parse($this->_parser, $this->message)) {
- /* die(sprintf('XML error: %s at line %d',
- xml_error_string(xml_get_error_code($this->_parser)),
- xml_get_current_line_number($this->_parser))); */
- return false;
- }
- xml_parser_free($this->_parser);
- // Grab the error messages, if any
- if ($this->messageType == 'fault') {
- $this->faultCode = $this->params[0]['faultCode'];
- $this->faultString = $this->params[0]['faultString'];
- }
- return true;
- }
- function tag_open($parser, $tag, $attr) {
- $this->_currentTagContents = '';
- $this->currentTag = $tag;
- switch($tag) {
- case 'methodCall':
- case 'methodResponse':
- case 'fault':
- $this->messageType = $tag;
- break;
- /* Deal with stacks of arrays and structs */
- case 'data': // data is to all intents and puposes more interesting than array
- $this->_arraystructstypes[] = 'array';
- $this->_arraystructs[] = array();
- break;
- case 'struct':
- $this->_arraystructstypes[] = 'struct';
- $this->_arraystructs[] = array();
- break;
- }
- }
- function cdata($parser, $cdata) {
- $this->_currentTagContents .= $cdata;
- }
- function tag_close($parser, $tag) {
- $valueFlag = false;
- switch($tag) {
- case 'int':
- case 'i4':
- $value = (int) trim($this->_currentTagContents);
- $valueFlag = true;
- break;
- case 'double':
- $value = (double) trim($this->_currentTagContents);
- $valueFlag = true;
- break;
- case 'string':
- $value = $this->_currentTagContents;
- $valueFlag = true;
- break;
- case 'dateTime.iso8601':
- $value = new IXR_Date(trim($this->_currentTagContents));
- // $value = $iso->getTimestamp();
- $valueFlag = true;
- break;
- case 'value':
- // "If no type is indicated, the type is string."
- if (trim($this->_currentTagContents) != '') {
- $value = (string)$this->_currentTagContents;
- $valueFlag = true;
- }
- break;
- case 'boolean':
- $value = (boolean) trim($this->_currentTagContents);
- $valueFlag = true;
- break;
- case 'base64':
- $value = base64_decode( trim( $this->_currentTagContents ) );
- $valueFlag = true;
- break;
- /* Deal with stacks of arrays and structs */
- case 'data':
- case 'struct':
- $value = array_pop($this->_arraystructs);
- array_pop($this->_arraystructstypes);
- $valueFlag = true;
- break;
- case 'member':
- array_pop($this->_currentStructName);
- break;
- case 'name':
- $this->_currentStructName[] = trim($this->_currentTagContents);
- break;
- case 'methodName':
- $this->methodName = trim($this->_currentTagContents);
- break;
- }
- if ($valueFlag) {
- if (count($this->_arraystructs) > 0) {
- // Add value to struct or array
- if ($this->_arraystructstypes[count($this->_arraystructstypes)-1] == 'struct') {
- // Add to struct
- $this->_arraystructs[count($this->_arraystructs)-1][$this->_currentStructName[count($this->_currentStructName)-1]] = $value;
- } else {
- // Add to array
- $this->_arraystructs[count($this->_arraystructs)-1][] = $value;
- }
- } else {
- // Just add as a paramater
- $this->params[] = $value;
- }
- }
- $this->_currentTagContents = '';
- }
-}
-
-
-class IXR_Server {
- var $data;
- var $callbacks = array();
- var $message;
- var $capabilities;
- function IXR_Server($callbacks = false, $data = false) {
- $this->setCapabilities();
- if ($callbacks) {
- $this->callbacks = $callbacks;
- }
- $this->setCallbacks();
- $this->serve($data);
- }
- function serve($data = false) {
- if (!$data) {
- global $HTTP_RAW_POST_DATA;
- if (!$HTTP_RAW_POST_DATA) {
- die('XML-RPC server accepts POST requests only.');
- }
- $data = $HTTP_RAW_POST_DATA;
- }
- $this->message = new IXR_Message($data);
- if (!$this->message->parse()) {
- $this->error(-32700, 'parse error. not well formed');
- }
- if ($this->message->messageType != 'methodCall') {
- $this->error(-32600, 'server error. invalid xml-rpc. not conforming to spec. Request must be a methodCall');
- }
- $result = $this->call($this->message->methodName, $this->message->params);
- // Is the result an error?
- if (is_a($result, 'IXR_Error')) {
- $this->error($result);
- }
- // Encode the result
- $r = new IXR_Value($result);
- $resultxml = $r->getXml();
- // Create the XML
- $xml = <<<EOD
-<methodResponse>
- <params>
- <param>
- <value>
- $resultxml
- </value>
- </param>
- </params>
-</methodResponse>
-
-EOD;
- // Send it
- $this->output($xml);
- }
- function call($methodname, $args) {
- if (!$this->hasMethod($methodname)) {
- return new IXR_Error(-32601, 'server error. requested method '.$methodname.' does not exist.');
- }
- $method = $this->callbacks[$methodname];
- // Perform the callback and send the response
- if (count($args) == 1) {
- // If only one paramater just send that instead of the whole array
- $args = $args[0];
- }
- // Are we dealing with a function or a method?
- if (substr($method, 0, 5) == 'this:') {
- // It's a class method - check it exists
- $method = substr($method, 5);
- if (!method_exists($this, $method)) {
- return new IXR_Error(-32601, 'server error. requested class method "'.$method.'" does not exist.');
- }
- // Call the method
- $result = $this->$method($args);
- } else {
- // It's a function - does it exist?
- if (is_array($method)) {
- if (!method_exists($method[0], $method[1])) {
- return new IXR_Error(-32601, 'server error. requested object method "'.$method[1].'" does not exist.');
- }
- } else if (!function_exists($method)) {
- return new IXR_Error(-32601, 'server error. requested function "'.$method.'" does not exist.');
- }
- // Call the function
- $result = call_user_func($method, $args);
- }
- return $result;
- }
-
- function error($error, $message = false) {
- // Accepts either an error object or an error code and message
- if ($message && !is_object($error)) {
- $error = new IXR_Error($error, $message);
- }
- $this->output($error->getXml());
- }
- function output($xml) {
- $xml = '<?xml version="1.0"?>'."\n".$xml;
- $length = strlen($xml);
- header('Connection: close');
- header('Content-Length: '.$length);
- header('Content-Type: text/xml');
- header('Date: '.date('r'));
- echo $xml;
- exit;
- }
- function hasMethod($method) {
- return in_array($method, array_keys($this->callbacks));
- }
- function setCapabilities() {
- // Initialises capabilities array
- $this->capabilities = array(
- 'xmlrpc' => array(
- 'specUrl' => 'http://www.xmlrpc.com/spec',
- 'specVersion' => 1
- ),
- 'faults_interop' => array(
- 'specUrl' => 'http://xmlrpc-epi.sourceforge.net/specs/rfc.fault_codes.php',
- 'specVersion' => 20010516
- ),
- 'system.multicall' => array(
- 'specUrl' => 'http://www.xmlrpc.com/discuss/msgReader$1208',
- 'specVersion' => 1
- ),
- );
- }
- function getCapabilities($args) {
- return $this->capabilities;
- }
- function setCallbacks() {
- $this->callbacks['system.getCapabilities'] = 'this:getCapabilities';
- $this->callbacks['system.listMethods'] = 'this:listMethods';
- $this->callbacks['system.multicall'] = 'this:multiCall';
- }
- function listMethods($args) {
- // Returns a list of methods - uses array_reverse to ensure user defined
- // methods are listed before server defined methods
- return array_reverse(array_keys($this->callbacks));
- }
- function multiCall($methodcalls) {
- // See http://www.xmlrpc.com/discuss/msgReader$1208
- $return = array();
- foreach ($methodcalls as $call) {
- $method = $call['methodName'];
- $params = $call['params'];
- if ($method == 'system.multicall') {
- $result = new IXR_Error(-32600, 'Recursive calls to system.multicall are forbidden');
- } else {
- $result = $this->call($method, $params);
- }
- if (is_a($result, 'IXR_Error')) {
- $return[] = array(
- 'faultCode' => $result->code,
- 'faultString' => $result->message
- );
- } else {
- $return[] = array($result);
- }
- }
- return $return;
- }
-}
-
-class IXR_Request {
- var $method;
- var $args;
- var $xml;
- function IXR_Request($method, $args) {
- $this->method = $method;
- $this->args = $args;
- $this->xml = <<<EOD
-<?xml version="1.0"?>
-<methodCall>
-<methodName>{$this->method}</methodName>
-<params>
-
-EOD;
- foreach ($this->args as $arg) {
- $this->xml .= '<param><value>';
- $v = new IXR_Value($arg);
- $this->xml .= $v->getXml();
- $this->xml .= "</value></param>\n";
- }
- $this->xml .= '</params></methodCall>';
- }
- function getLength() {
- return strlen($this->xml);
- }
- function getXml() {
- return $this->xml;
- }
-}
-
-
-class IXR_Client {
- var $server;
- var $port;
- var $path;
- var $useragent;
- var $response;
- var $message = false;
- var $debug = false;
- var $timeout;
- // Storage place for an error message
- var $error = false;
- function IXR_Client($server, $path = false, $port = 80, $timeout = false) {
- if (!$path) {
- // Assume we have been given a URL instead
- $bits = parse_url($server);
- $this->server = $bits['host'];
- $this->port = isset($bits['port']) ? $bits['port'] : 80;
- $this->path = isset($bits['path']) ? $bits['path'] : '/';
- // Make absolutely sure we have a path
- if (!$this->path) {
- $this->path = '/';
- }
- } else {
- $this->server = $server;
- $this->path = $path;
- $this->port = $port;
- }
- $this->useragent = 'Incutio XML-RPC';
- $this->timeout = $timeout;
- }
- function query() {
- $args = func_get_args();
- $method = array_shift($args);
- $request = new IXR_Request($method, $args);
- $length = $request->getLength();
- $xml = $request->getXml();
- $r = "\r\n";
- $request = "POST {$this->path} HTTP/1.0$r";
- $request .= "Host: {$this->server}$r";
- $request .= "Content-Type: text/xml$r";
- $request .= "User-Agent: {$this->useragent}$r";
- $request .= "Content-length: {$length}$r$r";
- $request .= $xml;
- // Now send the request
- if ($this->debug) {
- echo '<pre>'.htmlspecialchars($request)."\n</pre>\n\n";
- }
- if ($this->timeout) {
- $fp = @fsockopen($this->server, $this->port, $errno, $errstr, $this->timeout);
- } else {
- $fp = @fsockopen($this->server, $this->port, $errno, $errstr);
- }
- if (!$fp) {
- $this->error = new IXR_Error(-32300, "transport error - could not open socket: $errno $errstr");
- return false;
- }
- fputs($fp, $request);
- $contents = '';
- $gotFirstLine = false;
- $gettingHeaders = true;
- while (!feof($fp)) {
- $line = fgets($fp, 4096);
- if (!$gotFirstLine) {
- // Check line for '200'
- if (strstr($line, '200') === false) {
- $this->error = new IXR_Error(-32300, 'transport error - HTTP status code was not 200');
- return false;
- }
- $gotFirstLine = true;
- }
- if (trim($line) == '') {
- $gettingHeaders = false;
- }
- if (!$gettingHeaders) {
- $contents .= trim($line)."\n";
- }
- }
- if ($this->debug) {
- echo '<pre>'.htmlspecialchars($contents)."\n</pre>\n\n";
- }
- // Now parse what we've got back
- $this->message = new IXR_Message($contents);
- if (!$this->message->parse()) {
- // XML error
- $this->error = new IXR_Error(-32700, 'parse error. not well formed');
- return false;
- }
- // Is the message a fault?
- if ($this->message->messageType == 'fault') {
- $this->error = new IXR_Error($this->message->faultCode, $this->message->faultString);
- return false;
- }
- // Message must be OK
- return true;
- }
- function getResponse() {
- // methodResponses can only have one param - return that
- return $this->message->params[0];
- }
- function isError() {
- return (is_object($this->error));
- }
- function getErrorCode() {
- return $this->error->code;
- }
- function getErrorMessage() {
- return $this->error->message;
- }
-}
-
-
-class IXR_Error {
- var $code;
- var $message;
- function IXR_Error($code, $message) {
- $this->code = $code;
- $this->message = $message;
- }
- function getXml() {
- $xml = <<<EOD
-<methodResponse>
- <fault>
- <value>
- <struct>
- <member>
- <name>faultCode</name>
- <value><int>{$this->code}</int></value>
- </member>
- <member>
- <name>faultString</name>
- <value><string>{$this->message}</string></value>
- </member>
- </struct>
- </value>
- </fault>
-</methodResponse>
-
-EOD;
- return $xml;
- }
-}
-
-
-class IXR_Date {
- var $year;
- var $month;
- var $day;
- var $hour;
- var $minute;
- var $second;
- function IXR_Date($time) {
- // $time can be a PHP timestamp or an ISO one
- if (is_numeric($time)) {
- $this->parseTimestamp($time);
- } else {
- $this->parseIso($time);
- }
- }
- function parseTimestamp($timestamp) {
- $this->year = date('Y', $timestamp);
- $this->month = date('m', $timestamp);
- $this->day = date('d', $timestamp);
- $this->hour = date('H', $timestamp);
- $this->minute = date('i', $timestamp);
- $this->second = date('s', $timestamp);
- }
- function parseIso($iso) {
- $this->year = substr($iso, 0, 4);
- $this->month = substr($iso, 4, 2);
- $this->day = substr($iso, 6, 2);
- $this->hour = substr($iso, 9, 2);
- $this->minute = substr($iso, 12, 2);
- $this->second = substr($iso, 15, 2);
- $this->timezone = substr($iso, 17);
- }
- function getIso() {
- return $this->year.$this->month.$this->day.'T'.$this->hour.':'.$this->minute.':'.$this->second.$this->timezone;
- }
- function getXml() {
- return '<dateTime.iso8601>'.$this->getIso().'</dateTime.iso8601>';
- }
- function getTimestamp() {
- return mktime($this->hour, $this->minute, $this->second, $this->month, $this->day, $this->year);
- }
-}
-
-
-class IXR_Base64 {
- var $data;
- function IXR_Base64($data) {
- $this->data = $data;
- }
- function getXml() {
- return '<base64>'.base64_encode($this->data).'</base64>';
- }
-}
-
-
-class IXR_IntrospectionServer extends IXR_Server {
- var $signatures;
- var $help;
- function IXR_IntrospectionServer() {
- $this->setCallbacks();
- $this->setCapabilities();
- $this->capabilities['introspection'] = array(
- 'specUrl' => 'http://xmlrpc.usefulinc.com/doc/reserved.html',
- 'specVersion' => 1
- );
- $this->addCallback(
- 'system.methodSignature',
- 'this:methodSignature',
- array('array', 'string'),
- 'Returns an array describing the return type and required parameters of a method'
- );
- $this->addCallback(
- 'system.getCapabilities',
- 'this:getCapabilities',
- array('struct'),
- 'Returns a struct describing the XML-RPC specifications supported by this server'
- );
- $this->addCallback(
- 'system.listMethods',
- 'this:listMethods',
- array('array'),
- 'Returns an array of available methods on this server'
- );
- $this->addCallback(
- 'system.methodHelp',
- 'this:methodHelp',
- array('string', 'string'),
- 'Returns a documentation string for the specified method'
- );
- }
- function addCallback($method, $callback, $args, $help) {
- $this->callbacks[$method] = $callback;
- $this->signatures[$method] = $args;
- $this->help[$method] = $help;
- }
- function call($methodname, $args) {
- // Make sure it's in an array
- if ($args && !is_array($args)) {
- $args = array($args);
- }
- // Over-rides default call method, adds signature check
- if (!$this->hasMethod($methodname)) {
- return new IXR_Error(-32601, 'server error. requested method "'.$this->message->methodName.'" not specified.');
- }
- $method = $this->callbacks[$methodname];
- $signature = $this->signatures[$methodname];
- $returnType = array_shift($signature);
- // Check the number of arguments
- if (count($args) != count($signature)) {
- return new IXR_Error(-32602, 'server error. wrong number of method parameters');
- }
- // Check the argument types
- $ok = true;
- $argsbackup = $args;
- for ($i = 0, $j = count($args); $i < $j; $i++) {
- $arg = array_shift($args);
- $type = array_shift($signature);
- switch ($type) {
- case 'int':
- case 'i4':
- if (is_array($arg) || !is_int($arg)) {
- $ok = false;
- }
- break;
- case 'base64':
- case 'string':
- if (!is_string($arg)) {
- $ok = false;
- }
- break;
- case 'boolean':
- if ($arg !== false && $arg !== true) {
- $ok = false;
- }
- break;
- case 'float':
- case 'double':
- if (!is_float($arg)) {
- $ok = false;
- }
- break;
- case 'date':
- case 'dateTime.iso8601':
- if (!is_a($arg, 'IXR_Date')) {
- $ok = false;
- }
- break;
- }
- if (!$ok) {
- return new IXR_Error(-32602, 'server error. invalid method parameters');
- }
- }
- // It passed the test - run the "real" method call
- return parent::call($methodname, $argsbackup);
- }
- function methodSignature($method) {
- if (!$this->hasMethod($method)) {
- return new IXR_Error(-32601, 'server error. requested method "'.$method.'" not specified.');
- }
- // We should be returning an array of types
- $types = $this->signatures[$method];
- $return = array();
- foreach ($types as $type) {
- switch ($type) {
- case 'string':
- $return[] = 'string';
- break;
- case 'int':
- case 'i4':
- $return[] = 42;
- break;
- case 'double':
- $return[] = 3.1415;
- break;
- case 'dateTime.iso8601':
- $return[] = new IXR_Date(time());
- break;
- case 'boolean':
- $return[] = true;
- break;
- case 'base64':
- $return[] = new IXR_Base64('base64');
- break;
- case 'array':
- $return[] = array('array');
- break;
- case 'struct':
- $return[] = array('struct' => 'struct');
- break;
- }
- }
- return $return;
- }
- function methodHelp($method) {
- return $this->help[$method];
- }
-}
-
-
-class IXR_ClientMulticall extends IXR_Client {
- var $calls = array();
- function IXR_ClientMulticall($server, $path = false, $port = 80) {
- parent::IXR_Client($server, $path, $port);
- $this->useragent = 'The Incutio XML-RPC PHP Library (multicall client)';
- }
- function addCall() {
- $args = func_get_args();
- $methodName = array_shift($args);
- $struct = array(
- 'methodName' => $methodName,
- 'params' => $args
- );
- $this->calls[] = $struct;
- }
- function query() {
- // Prepare multicall, then call the parent::query() method
- return parent::query('system.multicall', $this->calls);
- }
-}
-
-?>
diff --git a/wp-inst/wp-includes/class-pop3.php b/wp-inst/wp-includes/class-pop3.php
deleted file mode 100644
index 468ca8b..0000000
--- a/wp-inst/wp-includes/class-pop3.php
+++ /dev/null
@@ -1,680 +0,0 @@
-<?php
-
- /**
- * mail_fetch/setup.php
- *
- * Copyright (c) 1999-2002 The SquirrelMail Project Team
- *
- * Copyright (c) 1999 CDI (cdi@thewebmasters.net) All Rights Reserved
- * Modified by Philippe Mingo 2001 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.
- *
- * pop3 class
- *
- * $Id: class-pop3.php 2066 2005-01-07 01:29:49Z saxmatt $
- */
-
-class POP3 {
- var $ERROR = ''; // Error string.
-
- var $TIMEOUT = 60; // Default timeout before giving up on a
- // network operation.
-
- var $COUNT = -1; // Mailbox msg count
-
- var $BUFFER = 512; // Socket buffer for socket fgets() calls.
- // Per RFC 1939 the returned line a POP3
- // server can send is 512 bytes.
-
- var $FP = ''; // The connection to the server's
- // file descriptor
-
- var $MAILSERVER = ''; // Set this to hard code the server name
-
- var $DEBUG = FALSE; // set to true to echo pop3
- // commands and responses to error_log
- // this WILL log passwords!
-
- var $BANNER = ''; // Holds the banner returned by the
- // pop server - used for apop()
-
- var $RFC1939 = TRUE; // Set by noop(). See rfc1939.txt
- //
-
- var $ALLOWAPOP = FALSE; // Allow or disallow apop()
- // This must be set to true
- // manually
-
- function POP3 ( $server = '', $timeout = '' ) {
- settype($this->BUFFER,"integer");
- if( !empty($server) ) {
- // Do not allow programs to alter MAILSERVER
- // if it is already specified. They can get around
- // this if they -really- want to, so don't count on it.
- if(empty($this->MAILSERVER))
- $this->MAILSERVER = $server;
- }
- if(!empty($timeout)) {
- settype($timeout,"integer");
- $this->TIMEOUT = $timeout;
- set_time_limit($timeout);
- }
- return true;
- }
-
- function update_timer () {
- set_time_limit($this->TIMEOUT);
- return true;
- }
-
- function connect ($server, $port = 110) {
- // Opens a socket to the specified server. Unless overridden,
- // port defaults to 110. Returns true on success, false on fail
-
- // If MAILSERVER is set, override $server with it's value
-
- if(!empty($this->MAILSERVER))
- $server = $this->MAILSERVER;
-
- if(empty($server)){
- $this->ERROR = _("POP3 connect:") . ' ' . _("No server specified");
- unset($this->FP);
- return false;
- }
-
- $fp = fsockopen("$server", $port, $errno, $errstr);
-
- if(!$fp) {
- $this->ERROR = _("POP3 connect:") . ' ' . _("Error ") . "[$errno] [$errstr]";
- unset($this->FP);
- return false;
- }
-
- socket_set_blocking($fp,-1);
- $this->update_timer();
- $reply = fgets($fp,$this->BUFFER);
- $reply = $this->strip_clf($reply);
- if($this->DEBUG)
- error_log("POP3 SEND [connect: $server] GOT [$reply]",0);
- if(!$this->is_ok($reply)) {
- $this->ERROR = _("POP3 connect:") . ' ' . _("Error ") . "[$reply]";
- unset($this->FP);
- return false;
- }
- $this->FP = $fp;
- $this->BANNER = $this->parse_banner($reply);
- $this->RFC1939 = $this->noop();
- if($this->RFC1939) {
- $this->ERROR = _("POP3: premature NOOP OK, NOT an RFC 1939 Compliant server");
- $this->quit();
- return false;
- } else
- return true;
- }
-
- function noop () {
-
- if(!isset($this->FP)) {
- $this->ERROR = _("POP3 noop:") . ' ' . _("No connection to server");
- return false;
- } else {
- $cmd = "NOOP";
- $reply = $this->send_cmd( $cmd );
- return( $this->is_ok( $reply ) );
- }
- }
-
- function user ($user = "") {
- // Sends the USER command, returns true or false
-
- if( empty($user) ) {
- $this->ERROR = _("POP3 user:") . ' ' . _("no login ID submitted");
- return false;
- } elseif(!isset($this->FP)) {
- $this->ERROR = _("POP3 user:") . ' ' . _("connection not established");
- return false;
- } else {
- $reply = $this->send_cmd("USER $user");
- if(!$this->is_ok($reply)) {
- $this->ERROR = _("POP3 user:") . ' ' . _("Error ") . "[$reply]";
- return false;
- } else
- return true;
- }
- }
-
- function pass ($pass = "") {
- // Sends the PASS command, returns # of msgs in mailbox,
- // returns false (undef) on Auth failure
-
- if(empty($pass)) {
- $this->ERROR = _("POP3 pass:") . ' ' . _("No password submitted");
- return false;
- } elseif(!isset($this->FP)) {
- $this->ERROR = _("POP3 pass:") . ' ' . _("connection not established");
- return false;
- } else {
- $reply = $this->send_cmd("PASS $pass");
- if(!$this->is_ok($reply)) {
- $this->ERROR = _("POP3 pass:") . ' ' . _("authentication failed ") . "[$reply]";
- $this->quit();
- return false;
- } else {
- // Auth successful.
- $count = $this->last("count");
- $this->COUNT = $count;
- $this->RFC1939 = $this->noop();
- if(!$this->RFC1939) {
- $this->ERROR = _("POP3 pass:") . ' ' . _("NOOP failed. Server not RFC 1939 compliant");
- $this->quit();
- return false;
- } else
- return $count;
- }
- }
- }
-
- function apop ($login,$pass) {
- // Attempts an APOP login. If this fails, it'll
- // try a standard login. YOUR SERVER MUST SUPPORT
- // THE USE OF THE APOP COMMAND!
- // (apop is optional per rfc1939)
-
- if(!isset($this->FP)) {
- $this->ERROR = _("POP3 apop:") . ' ' . _("No connection to server");
- return false;
- } elseif(!$this->ALLOWAPOP) {
- $retVal = $this->login($login,$pass);
- return $retVal;
- } elseif(empty($login)) {
- $this->ERROR = _("POP3 apop:") . ' ' . _("No login ID submitted");
- return false;
- } elseif(empty($pass)) {
- $this->ERROR = _("POP3 apop:") . ' ' . _("No password submitted");
- return false;
- } else {
- $banner = $this->BANNER;
- if( (!$banner) or (empty($banner)) ) {
- $this->ERROR = _("POP3 apop:") . ' ' . _("No server banner") . ' - ' . _("abort");
- $retVal = $this->login($login,$pass);
- return $retVal;
- } else {
- $AuthString = $banner;
- $AuthString .= $pass;
- $APOPString = md5($AuthString);
- $cmd = "APOP $login $APOPString";
- $reply = $this->send_cmd($cmd);
- if(!$this->is_ok($reply)) {
- $this->ERROR = _("POP3 apop:") . ' ' . _("apop authentication failed") . ' - ' . _("abort");
- $retVal = $this->login($login,$pass);
- return $retVal;
- } else {
- // Auth successful.
- $count = $this->last("count");
- $this->COUNT = $count;
- $this->RFC1939 = $this->noop();
- if(!$this->RFC1939) {
- $this->ERROR = _("POP3 apop:") . ' ' . _("NOOP failed. Server not RFC 1939 compliant");
- $this->quit();
- return false;
- } else
- return $count;
- }
- }
- }
- }
-
- function login ($login = "", $pass = "") {
- // Sends both user and pass. Returns # of msgs in mailbox or
- // false on failure (or -1, if the error occurs while getting
- // the number of messages.)
-
- if( !isset($this->FP) ) {
- $this->ERROR = _("POP3 login:") . ' ' . _("No connection to server");
- return false;
- } else {
- $fp = $this->FP;
- if( !$this->user( $login ) ) {
- // Preserve the error generated by user()
- return false;
- } else {
- $count = $this->pass($pass);
- if( (!$count) || ($count == -1) ) {
- // Preserve the error generated by last() and pass()
- return false;
- } else
- return $count;
- }
- }
- }
-
- function top ($msgNum, $numLines = "0") {
- // Gets the header and first $numLines of the msg body
- // returns data in an array with each returned line being
- // an array element. If $numLines is empty, returns
- // only the header information, and none of the body.
-
- if(!isset($this->FP)) {
- $this->ERROR = _("POP3 top:") . ' ' . _("No connection to server");
- return false;
- }
- $this->update_timer();
-
- $fp = $this->FP;
- $buffer = $this->BUFFER;
- $cmd = "TOP $msgNum $numLines";
- fwrite($fp, "TOP $msgNum $numLines\r\n");
- $reply = fgets($fp, $buffer);
- $reply = $this->strip_clf($reply);
- if($this->DEBUG) {
- @error_log("POP3 SEND [$cmd] GOT [$reply]",0);
- }
- if(!$this->is_ok($reply))
- {
- $this->ERROR = _("POP3 top:") . ' ' . _("Error ") . "[$reply]";
- return false;
- }
-
- $count = 0;
- $MsgArray = array();
-
- $line = fgets($fp,$buffer);
- while ( !ereg("^\.\r\n",$line))
- {
- $MsgArray[$count] = $line;
- $count++;
- $line = fgets($fp,$buffer);
- if(empty($line)) { break; }
- }
-
- return $MsgArray;
- }
-
- function pop_list ($msgNum = "") {
- // If called with an argument, returns that msgs' size in octets
- // No argument returns an associative array of undeleted
- // msg numbers and their sizes in octets
-
- if(!isset($this->FP))
- {
- $this->ERROR = _("POP3 pop_list:") . ' ' . _("No connection to server");
- return false;
- }
- $fp = $this->FP;
- $Total = $this->COUNT;
- if( (!$Total) or ($Total == -1) )
- {
- return false;
- }
- if($Total == 0)
- {
- return array("0","0");
- // return -1; // mailbox empty
- }
-
- $this->update_timer();
-
- if(!empty($msgNum))
- {
- $cmd = "LIST $msgNum";
- fwrite($fp,"$cmd\r\n");
- $reply = fgets($fp,$this->BUFFER);
- $reply = $this->strip_clf($reply);
- if($this->DEBUG) {
- @error_log("POP3 SEND [$cmd] GOT [$reply]",0);
- }
- if(!$this->is_ok($reply))
- {
- $this->ERROR = _("POP3 pop_list:") . ' ' . _("Error ") . "[$reply]";
- return false;
- }
- list($junk,$num,$size) = explode(" ",$reply);
- return $size;
- }
- $cmd = "LIST";
- $reply = $this->send_cmd($cmd);
- if(!$this->is_ok($reply))
- {
- $reply = $this->strip_clf($reply);
- $this->ERROR = _("POP3 pop_list:") . ' ' . _("Error ") . "[$reply]";
- return false;
- }
- $MsgArray = array();
- $MsgArray[0] = $Total;
- for($msgC=1;$msgC <= $Total; $msgC++)
- {
- if($msgC > $Total) { break; }
- $line = fgets($fp,$this->BUFFER);
- $line = $this->strip_clf($line);
- if(ereg("^\.",$line))
- {
- $this->ERROR = _("POP3 pop_list:") . ' ' . _("Premature end of list");
- return false;
- }
- list($thisMsg,$msgSize) = explode(" ",$line);
- settype($thisMsg,"integer");
- if($thisMsg != $msgC)
- {
- $MsgArray[$msgC] = "deleted";
- }
- else
- {
- $MsgArray[$msgC] = $msgSize;
- }
- }
- return $MsgArray;
- }
-
- function get ($msgNum) {
- // Retrieve the specified msg number. Returns an array
- // where each line of the msg is an array element.
-
- if(!isset($this->FP))
- {
- $this->ERROR = _("POP3 get:") . ' ' . _("No connection to server");
- return false;
- }
-
- $this->update_timer();
-
- $fp = $this->FP;
- $buffer = $this->BUFFER;
- $cmd = "RETR $msgNum";
- $reply = $this->send_cmd($cmd);
-
- if(!$this->is_ok($reply))
- {
- $this->ERROR = _("POP3 get:") . ' ' . _("Error ") . "[$reply]";
- return false;
- }
-
- $count = 0;
- $MsgArray = array();
-
- $line = fgets($fp,$buffer);
- while ( !ereg("^\.\r\n",$line))
- {
- $MsgArray[$count] = $line;
- $count++;
- $line = fgets($fp,$buffer);
- if(empty($line)) { break; }
- }
- return $MsgArray;
- }
-
- function last ( $type = "count" ) {
- // Returns the highest msg number in the mailbox.
- // returns -1 on error, 0+ on success, if type != count
- // results in a popstat() call (2 element array returned)
-
- $last = -1;
- if(!isset($this->FP))
- {
- $this->ERROR = _("POP3 last:") . ' ' . _("No connection to server");
- return $last;
- }
-
- $reply = $this->send_cmd("STAT");
- if(!$this->is_ok($reply))
- {
- $this->ERROR = _("POP3 last:") . ' ' . _("Error ") . "[$reply]";
- return $last;
- }
-
- $Vars = explode(" ",$reply);
- $count = $Vars[1];
- $size = $Vars[2];
- settype($count,"integer");
- settype($size,"integer");
- if($type != "count")
- {
- return array($count,$size);
- }
- return $count;
- }
-
- function reset () {
- // Resets the status of the remote server. This includes
- // resetting the status of ALL msgs to not be deleted.
- // This method automatically closes the connection to the server.
-
- if(!isset($this->FP))
- {
- $this->ERROR = _("POP3 reset:") . ' ' . _("No connection to server");
- return false;
- }
- $reply = $this->send_cmd("RSET");
- if(!$this->is_ok($reply))
- {
- // The POP3 RSET command -never- gives a -ERR
- // response - if it ever does, something truely
- // wild is going on.
-
- $this->ERROR = _("POP3 reset:") . ' ' . _("Error ") . "[$reply]";
- @error_log("POP3 reset: ERROR [$reply]",0);
- }
- $this->quit();
- return true;
- }
-
- function send_cmd ( $cmd = "" )
- {
- // Sends a user defined command string to the
- // POP server and returns the results. Useful for
- // non-compliant or custom POP servers.
- // Do NOT includ the \r\n as part of your command
- // string - it will be appended automatically.
-
- // The return value is a standard fgets() call, which
- // will read up to $this->BUFFER bytes of data, until it
- // encounters a new line, or EOF, whichever happens first.
-
- // This method works best if $cmd responds with only
- // one line of data.
-
- if(!isset($this->FP))
- {
- $this->ERROR = _("POP3 send_cmd:") . ' ' . _("No connection to server");
- return false;
- }
-
- if(empty($cmd))
- {
- $this->ERROR = _("POP3 send_cmd:") . ' ' . _("Empty command string");
- return "";
- }
-
- $fp = $this->FP;
- $buffer = $this->BUFFER;
- $this->update_timer();
- fwrite($fp,"$cmd\r\n");
- $reply = fgets($fp,$buffer);
- $reply = $this->strip_clf($reply);
- if($this->DEBUG) { @error_log("POP3 SEND [$cmd] GOT [$reply]",0); }
- return $reply;
- }
-
- function quit() {
- // Closes the connection to the POP3 server, deleting
- // any msgs marked as deleted.
-
- if(!isset($this->FP))
- {
- $this->ERROR = _("POP3 quit:") . ' ' . _("connection does not exist");
- return false;
- }
- $fp = $this->FP;
- $cmd = "QUIT";
- fwrite($fp,"$cmd\r\n");
- $reply = fgets($fp,$this->BUFFER);
- $reply = $this->strip_clf($reply);
- if($this->DEBUG) { @error_log("POP3 SEND [$cmd] GOT [$reply]",0); }
- fclose($fp);
- unset($this->FP);
- return true;
- }
-
- function popstat () {
- // Returns an array of 2 elements. The number of undeleted
- // msgs in the mailbox, and the size of the mbox in octets.
-
- $PopArray = $this->last("array");
-
- if($PopArray == -1) { return false; }
-
- if( (!$PopArray) or (empty($PopArray)) )
- {
- return false;
- }
- return $PopArray;
- }
-
- function uidl ($msgNum = "")
- {
- // Returns the UIDL of the msg specified. If called with
- // no arguments, returns an associative array where each
- // undeleted msg num is a key, and the msg's uidl is the element
- // Array element 0 will contain the total number of msgs
-
- if(!isset($this->FP)) {
- $this->ERROR = _("POP3 uidl:") . ' ' . _("No connection to server");
- return false;
- }
-
- $fp = $this->FP;
- $buffer = $this->BUFFER;
-
- if(!empty($msgNum)) {
- $cmd = "UIDL $msgNum";
- $reply = $this->send_cmd($cmd);
- if(!$this->is_ok($reply))
- {
- $this->ERROR = _("POP3 uidl:") . ' ' . _("Error ") . "[$reply]";
- return false;
- }
- list ($ok,$num,$myUidl) = explode(" ",$reply);
- return $myUidl;
- } else {
- $this->update_timer();
-
- $UIDLArray = array();
- $Total = $this->COUNT;
- $UIDLArray[0] = $Total;
-
- if ($Total < 1)
- {
- return $UIDLArray;
- }
- $cmd = "UIDL";
- fwrite($fp, "UIDL\r\n");
- $reply = fgets($fp, $buffer);
- $reply = $this->strip_clf($reply);
- if($this->DEBUG) { @error_log("POP3 SEND [$cmd] GOT [$reply]",0); }
- if(!$this->is_ok($reply))
- {
- $this->ERROR = _("POP3 uidl:") . ' ' . _("Error ") . "[$reply]";
- return false;
- }
-
- $line = "";
- $count = 1;
- $line = fgets($fp,$buffer);
- while ( !ereg("^\.\r\n",$line)) {
- if(ereg("^\.\r\n",$line)) {
- break;
- }
- list ($msg,$msgUidl) = explode(" ",$line);
- $msgUidl = $this->strip_clf($msgUidl);
- if($count == $msg) {
- $UIDLArray[$msg] = $msgUidl;
- }
- else
- {
- $UIDLArray[$count] = 'deleted';
- }
- $count++;
- $line = fgets($fp,$buffer);
- }
- }
- return $UIDLArray;
- }
-
- function delete ($msgNum = "") {
- // Flags a specified msg as deleted. The msg will not
- // be deleted until a quit() method is called.
-
- if(!isset($this->FP))
- {
- $this->ERROR = _("POP3 delete:") . ' ' . _("No connection to server");
- return false;
- }
- if(empty($msgNum))
- {
- $this->ERROR = _("POP3 delete:") . ' ' . _("No msg number submitted");
- return false;
- }
- $reply = $this->send_cmd("DELE $msgNum");
- if(!$this->is_ok($reply))
- {
- $this->ERROR = _("POP3 delete:") . ' ' . _("Command failed ") . "[$reply]";
- return false;
- }
- return true;
- }
-
- // *********************************************************
-
- // The following methods are internal to the class.
-
- function is_ok ($cmd = "") {
- // Return true or false on +OK or -ERR
-
- if( empty($cmd) )
- return false;
- else
- return( ereg ("^\+OK", $cmd ) );
- }
-
- function strip_clf ($text = "") {
- // Strips \r\n from server responses
-
- if(empty($text))
- return $text;
- else {
- $stripped = str_replace("\r",'',$text);
- $stripped = str_replace("\n",'',$stripped);
- return $stripped;
- }
- }
-
- function parse_banner ( $server_text ) {
- $outside = true;
- $banner = "";
- $length = strlen($server_text);
- for($count =0; $count < $length; $count++)
- {
- $digit = substr($server_text, $count, 1);
- if ( false !== $digit ) {
- if( (!$outside) && ($digit != '<') && ($digit != '>') )
- {
- $banner .= $digit;
- }
- if ($digit == '<')
- {
- $outside = false;
- }
- if($digit == '>')
- {
- $outside = true;
- }
- }
- }
- $banner = $this->strip_clf($banner); // Just in case
- return "<$banner>";
- }
-
-} // End class
-
-?>
diff --git a/wp-inst/wp-includes/class-snoopy.php b/wp-inst/wp-includes/class-snoopy.php
deleted file mode 100644
index 0149582..0000000
--- a/wp-inst/wp-includes/class-snoopy.php
+++ /dev/null
@@ -1,1259 +0,0 @@
-<?php
-
-/*************************************************
-
-Snoopy - the PHP net client
-Author: Monte Ohrt <monte@ispi.net>
-Copyright (c): 1999-2000 ispi, all rights reserved
-Version: 1.01
-
- * 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-
-You may contact the author of Snoopy by e-mail at:
-monte@ispi.net
-
-Or, write to:
-Monte Ohrt
-CTO, ispi
-237 S. 70th suite 220
-Lincoln, NE 68510
-
-The latest version of Snoopy can be obtained from:
-http://snoopy.sourceforge.net/
-
-*************************************************/
-
-if ( !in_array('Snoopy', get_declared_classes() ) ) :
-class Snoopy
-{
- /**** Public variables ****/
-
- /* user definable vars */
-
- var $host = "www.php.net"; // host name we are connecting to
- var $port = 80; // port we are connecting to
- var $proxy_host = ""; // proxy host to use
- var $proxy_port = ""; // proxy port to use
- var $proxy_user = ""; // proxy user to use
- var $proxy_pass = ""; // proxy password to use
-
- var $agent = "Snoopy v1.2.3"; // agent we masquerade as
- var $referer = ""; // referer info to pass
- var $cookies = array(); // array of cookies to pass
- // $cookies["username"]="joe";
- var $rawheaders = array(); // array of raw headers to send
- // $rawheaders["Content-type"]="text/html";
-
- var $maxredirs = 5; // http redirection depth maximum. 0 = disallow
- var $lastredirectaddr = ""; // contains address of last redirected address
- var $offsiteok = true; // allows redirection off-site
- var $maxframes = 0; // frame content depth maximum. 0 = disallow
- var $expandlinks = true; // expand links to fully qualified URLs.
- // this only applies to fetchlinks()
- // submitlinks(), and submittext()
- var $passcookies = true; // pass set cookies back through redirects
- // NOTE: this currently does not respect
- // dates, domains or paths.
-
- var $user = ""; // user for http authentication
- var $pass = ""; // password for http authentication
-
- // http accept types
- var $accept = "image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, */*";
-
- var $results = ""; // where the content is put
-
- var $error = ""; // error messages sent here
- var $response_code = ""; // response code returned from server
- var $headers = array(); // headers returned from server sent here
- var $maxlength = 500000; // max return data length (body)
- var $read_timeout = 0; // timeout on read operations, in seconds
- // supported only since PHP 4 Beta 4
- // set to 0 to disallow timeouts
- var $timed_out = false; // if a read operation timed out
- var $status = 0; // http request status
-
- var $temp_dir = "/tmp"; // temporary directory that the webserver
- // has permission to write to.
- // under Windows, this should be C:\temp
-
- var $curl_path = "/usr/local/bin/curl";
- // Snoopy will use cURL for fetching
- // SSL content if a full system path to
- // the cURL binary is supplied here.
- // set to false if you do not have
- // cURL installed. See http://curl.haxx.se
- // for details on installing cURL.
- // Snoopy does *not* use the cURL
- // library functions built into php,
- // as these functions are not stable
- // as of this Snoopy release.
-
- /**** Private variables ****/
-
- var $_maxlinelen = 4096; // max line length (headers)
-
- var $_httpmethod = "GET"; // default http request method
- var $_httpversion = "HTTP/1.0"; // default http request version
- var $_submit_method = "POST"; // default submit method
- var $_submit_type = "application/x-www-form-urlencoded"; // default submit type
- var $_mime_boundary = ""; // MIME boundary for multipart/form-data submit type
- var $_redirectaddr = false; // will be set if page fetched is a redirect
- var $_redirectdepth = 0; // increments on an http redirect
- var $_frameurls = array(); // frame src urls
- var $_framedepth = 0; // increments on frame depth
-
- var $_isproxy = false; // set if using a proxy server
- var $_fp_timeout = 30; // timeout for socket connection
-
-/*======================================================================*\
- Function: fetch
- Purpose: fetch the contents of a web page
- (and possibly other protocols in the
- future like ftp, nntp, gopher, etc.)
- Input: $URI the location of the page to fetch
- Output: $this->results the output text from the fetch
-\*======================================================================*/
-
- function fetch($URI)
- {
-
- //preg_match("|^([^:]+)://([^:/]+)(:[\d]+)*(.*)|",$URI,$URI_PARTS);
- $URI_PARTS = parse_url($URI);
- if (!empty($URI_PARTS["user"]))
- $this->user = $URI_PARTS["user"];
- if (!empty($URI_PARTS["pass"]))
- $this->pass = $URI_PARTS["pass"];
- if (empty($URI_PARTS["query"]))
- $URI_PARTS["query"] = '';
- if (empty($URI_PARTS["path"]))
- $URI_PARTS["path"] = '';
-
- switch(strtolower($URI_PARTS["scheme"]))
- {
- case "http":
- $this->host = $URI_PARTS["host"];
- if(!empty($URI_PARTS["port"]))
- $this->port = $URI_PARTS["port"];
- if($this->_connect($fp))
- {
- if($this->_isproxy)
- {
- // using proxy, send entire URI
- $this->_httprequest($URI,$fp,$URI,$this->_httpmethod);
- }
- else
- {
- $path = $URI_PARTS["path"].($URI_PARTS["query"] ? "?".$URI_PARTS["query"] : "");
- // no proxy, send only the path
- $this->_httprequest($path, $fp, $URI, $this->_httpmethod);
- }
-
- $this->_disconnect($fp);
-
- if($this->_redirectaddr)
- {
- /* url was redirected, check if we've hit the max depth */
- if($this->maxredirs > $this->_redirectdepth)
- {
- // only follow redirect if it's on this site, or offsiteok is true
- if(preg_match("|^http://".preg_quote($this->host)."|i",$this->_redirectaddr) || $this->offsiteok)
- {
- /* follow the redirect */
- $this->_redirectdepth++;
- $this->lastredirectaddr=$this->_redirectaddr;
- $this->fetch($this->_redirectaddr);
- }
- }
- }
-
- if($this->_framedepth < $this->maxframes && count($this->_frameurls) > 0)
- {
- $frameurls = $this->_frameurls;
- $this->_frameurls = array();
-
- while(list(,$frameurl) = each($frameurls))
- {
- if($this->_framedepth < $this->maxframes)
- {
- $this->fetch($frameurl);
- $this->_framedepth++;
- }
- else
- break;
- }
- }
- }
- else
- {
- return false;
- }
- return true;
- break;
- case "https":
- if(!$this->curl_path)
- return false;
- if(function_exists("is_executable"))
- if (!is_executable($this->curl_path))
- return false;
- $this->host = $URI_PARTS["host"];
- if(!empty($URI_PARTS["port"]))
- $this->port = $URI_PARTS["port"];
- if($this->_isproxy)
- {
- // using proxy, send entire URI
- $this->_httpsrequest($URI,$URI,$this->_httpmethod);
- }
- else
- {
- $path = $URI_PARTS["path"].($URI_PARTS["query"] ? "?".$URI_PARTS["query"] : "");
- // no proxy, send only the path
- $this->_httpsrequest($path, $URI, $this->_httpmethod);
- }
-
- if($this->_redirectaddr)
- {
- /* url was redirected, check if we've hit the max depth */
- if($this->maxredirs > $this->_redirectdepth)
- {
- // only follow redirect if it's on this site, or offsiteok is true
- if(preg_match("|^http://".preg_quote($this->host)."|i",$this->_redirectaddr) || $this->offsiteok)
- {
- /* follow the redirect */
- $this->_redirectdepth++;
- $this->lastredirectaddr=$this->_redirectaddr;
- $this->fetch($this->_redirectaddr);
- }
- }
- }
-
- if($this->_framedepth < $this->maxframes && count($this->_frameurls) > 0)
- {
- $frameurls = $this->_frameurls;
- $this->_frameurls = array();
-
- while(list(,$frameurl) = each($frameurls))
- {
- if($this->_framedepth < $this->maxframes)
- {
- $this->fetch($frameurl);
- $this->_framedepth++;
- }
- else
- break;
- }
- }
- return true;
- break;
- default:
- // not a valid protocol
- $this->error = 'Invalid protocol "'.$URI_PARTS["scheme"].'"\n';
- return false;
- break;
- }
- return true;
- }
-
-/*======================================================================*\
- Function: submit
- Purpose: submit an http form
- Input: $URI the location to post the data
- $formvars the formvars to use.
- format: $formvars["var"] = "val";
- $formfiles an array of files to submit
- format: $formfiles["var"] = "/dir/filename.ext";
- Output: $this->results the text output from the post
-\*======================================================================*/
-
- function submit($URI, $formvars="", $formfiles="")
- {
- unset($postdata);
-
- $postdata = $this->_prepare_post_body($formvars, $formfiles);
-
- $URI_PARTS = parse_url($URI);
- if (!empty($URI_PARTS["user"]))
- $this->user = $URI_PARTS["user"];
- if (!empty($URI_PARTS["pass"]))
- $this->pass = $URI_PARTS["pass"];
- if (empty($URI_PARTS["query"]))
- $URI_PARTS["query"] = '';
- if (empty($URI_PARTS["path"]))
- $URI_PARTS["path"] = '';
-
- switch(strtolower($URI_PARTS["scheme"]))
- {
- case "http":
- $this->host = $URI_PARTS["host"];
- if(!empty($URI_PARTS["port"]))
- $this->port = $URI_PARTS["port"];
- if($this->_connect($fp))
- {
- if($this->_isproxy)
- {
- // using proxy, send entire URI
- $this->_httprequest($URI,$fp,$URI,$this->_submit_method,$this->_submit_type,$postdata);
- }
- else
- {
- $path = $URI_PARTS["path"].($URI_PARTS["query"] ? "?".$URI_PARTS["query"] : "");
- // no proxy, send only the path
- $this->_httprequest($path, $fp, $URI, $this->_submit_method, $this->_submit_type, $postdata);
- }
-
- $this->_disconnect($fp);
-
- if($this->_redirectaddr)
- {
- /* url was redirected, check if we've hit the max depth */
- if($this->maxredirs > $this->_redirectdepth)
- {
- if(!preg_match("|^".$URI_PARTS["scheme"]."://|", $this->_redirectaddr))
- $this->_redirectaddr = $this->_expandlinks($this->_redirectaddr,$URI_PARTS["scheme"]."://".$URI_PARTS["host"]);
-
- // only follow redirect if it's on this site, or offsiteok is true
- if(preg_match("|^http://".preg_quote($this->host)."|i",$this->_redirectaddr) || $this->offsiteok)
- {
- /* follow the redirect */
- $this->_redirectdepth++;
- $this->lastredirectaddr=$this->_redirectaddr;
- if( strpos( $this->_redirectaddr, "?" ) > 0 )
- $this->fetch($this->_redirectaddr); // the redirect has changed the request method from post to get
- else
- $this->submit($this->_redirectaddr,$formvars, $formfiles);
- }
- }
- }
-
- if($this->_framedepth < $this->maxframes && count($this->_frameurls) > 0)
- {
- $frameurls = $this->_frameurls;
- $this->_frameurls = array();
-
- while(list(,$frameurl) = each($frameurls))
- {
- if($this->_framedepth < $this->maxframes)
- {
- $this->fetch($frameurl);
- $this->_framedepth++;
- }
- else
- break;
- }
- }
-
- }
- else
- {
- return false;
- }
- return true;
- break;
- case "https":
- if(!$this->curl_path)
- return false;
- if(function_exists("is_executable"))
- if (!is_executable($this->curl_path))
- return false;
- $this->host = $URI_PARTS["host"];
- if(!empty($URI_PARTS["port"]))
- $this->port = $URI_PARTS["port"];
- if($this->_isproxy)
- {
- // using proxy, send entire URI
- $this->_httpsrequest($URI, $URI, $this->_submit_method, $this->_submit_type, $postdata);
- }
- else
- {
- $path = $URI_PARTS["path"].($URI_PARTS["query"] ? "?".$URI_PARTS["query"] : "");
- // no proxy, send only the path
- $this->_httpsrequest($path, $URI, $this->_submit_method, $this->_submit_type, $postdata);
- }
-
- if($this->_redirectaddr)
- {
- /* url was redirected, check if we've hit the max depth */
- if($this->maxredirs > $this->_redirectdepth)
- {
- if(!preg_match("|^".$URI_PARTS["scheme"]."://|", $this->_redirectaddr))
- $this->_redirectaddr = $this->_expandlinks($this->_redirectaddr,$URI_PARTS["scheme"]."://".$URI_PARTS["host"]);
-
- // only follow redirect if it's on this site, or offsiteok is true
- if(preg_match("|^http://".preg_quote($this->host)."|i",$this->_redirectaddr) || $this->offsiteok)
- {
- /* follow the redirect */
- $this->_redirectdepth++;
- $this->lastredirectaddr=$this->_redirectaddr;
- if( strpos( $this->_redirectaddr, "?" ) > 0 )
- $this->fetch($this->_redirectaddr); // the redirect has changed the request method from post to get
- else
- $this->submit($this->_redirectaddr,$formvars, $formfiles);
- }
- }
- }
-
- if($this->_framedepth < $this->maxframes && count($this->_frameurls) > 0)
- {
- $frameurls = $this->_frameurls;
- $this->_frameurls = array();
-
- while(list(,$frameurl) = each($frameurls))
- {
- if($this->_framedepth < $this->maxframes)
- {
- $this->fetch($frameurl);
- $this->_framedepth++;
- }
- else
- break;
- }
- }
- return true;
- break;
-
- default:
- // not a valid protocol
- $this->error = 'Invalid protocol "'.$URI_PARTS["scheme"].'"\n';
- return false;
- break;
- }
- return true;
- }
-
-/*======================================================================*\
- Function: fetchlinks
- Purpose: fetch the links from a web page
- Input: $URI where you are fetching from
- Output: $this->results an array of the URLs
-\*======================================================================*/
-
- function fetchlinks($URI)
- {
- if ($this->fetch($URI))
- {
- if($this->lastredirectaddr)
- $URI = $this->lastredirectaddr;
- if(is_array($this->results))
- {
- for($x=0;$x<count($this->results);$x++)
- $this->results[$x] = $this->_striplinks($this->results[$x]);
- }
- else
- $this->results = $this->_striplinks($this->results);
-
- if($this->expandlinks)
- $this->results = $this->_expandlinks($this->results, $URI);
- return true;
- }
- else
- return false;
- }
-
-/*======================================================================*\
- Function: fetchform
- Purpose: fetch the form elements from a web page
- Input: $URI where you are fetching from
- Output: $this->results the resulting html form
-\*======================================================================*/
-
- function fetchform($URI)
- {
-
- if ($this->fetch($URI))
- {
-
- if(is_array($this->results))
- {
- for($x=0;$x<count($this->results);$x++)
- $this->results[$x] = $this->_stripform($this->results[$x]);
- }
- else
- $this->results = $this->_stripform($this->results);
-
- return true;
- }
- else
- return false;
- }
-
-
-/*======================================================================*\
- Function: fetchtext
- Purpose: fetch the text from a web page, stripping the links
- Input: $URI where you are fetching from
- Output: $this->results the text from the web page
-\*======================================================================*/
-
- function fetchtext($URI)
- {
- if($this->fetch($URI))
- {
- if(is_array($this->results))
- {
- for($x=0;$x<count($this->results);$x++)
- $this->results[$x] = $this->_striptext($this->results[$x]);
- }
- else
- $this->results = $this->_striptext($this->results);
- return true;
- }
- else
- return false;
- }
-
-/*======================================================================*\
- Function: submitlinks
- Purpose: grab links from a form submission
- Input: $URI where you are submitting from
- Output: $this->results an array of the links from the post
-\*======================================================================*/
-
- function submitlinks($URI, $formvars="", $formfiles="")
- {
- if($this->submit($URI,$formvars, $formfiles))
- {
- if($this->lastredirectaddr)
- $URI = $this->lastredirectaddr;
- if(is_array($this->results))
- {
- for($x=0;$x<count($this->results);$x++)
- {
- $this->results[$x] = $this->_striplinks($this->results[$x]);
- if($this->expandlinks)
- $this->results[$x] = $this->_expandlinks($this->results[$x],$URI);
- }
- }
- else
- {
- $this->results = $this->_striplinks($this->results);
- if($this->expandlinks)
- $this->results = $this->_expandlinks($this->results,$URI);
- }
- return true;
- }
- else
- return false;
- }
-
-/*======================================================================*\
- Function: submittext
- Purpose: grab text from a form submission
- Input: $URI where you are submitting from
- Output: $this->results the text from the web page
-\*======================================================================*/
-
- function submittext($URI, $formvars = "", $formfiles = "")
- {
- if($this->submit($URI,$formvars, $formfiles))
- {
- if($this->lastredirectaddr)
- $URI = $this->lastredirectaddr;
- if(is_array($this->results))
- {
- for($x=0;$x<count($this->results);$x++)
- {
- $this->results[$x] = $this->_striptext($this->results[$x]);
- if($this->expandlinks)
- $this->results[$x] = $this->_expandlinks($this->results[$x],$URI);
- }
- }
- else
- {
- $this->results = $this->_striptext($this->results);
- if($this->expandlinks)
- $this->results = $this->_expandlinks($this->results,$URI);
- }
- return true;
- }
- else
- return false;
- }
-
-
-
-/*======================================================================*\
- Function: set_submit_multipart
- Purpose: Set the form submission content type to
- multipart/form-data
-\*======================================================================*/
- function set_submit_multipart()
- {
- $this->_submit_type = "multipart/form-data";
- }
-
-
-/*======================================================================*\
- Function: set_submit_normal
- Purpose: Set the form submission content type to
- application/x-www-form-urlencoded
-\*======================================================================*/
- function set_submit_normal()
- {
- $this->_submit_type = "application/x-www-form-urlencoded";
- }
-
-
-
-
-/*======================================================================*\
- Private functions
-\*======================================================================*/
-
-
-/*======================================================================*\
- Function: _striplinks
- Purpose: strip the hyperlinks from an html document
- Input: $document document to strip.
- Output: $match an array of the links
-\*======================================================================*/
-
- function _striplinks($document)
- {
- preg_match_all("'<\s*a\s.*?href\s*=\s* # find <a href=
- ([\"\'])? # find single or double quote
- (?(1) (.*?)\\1 | ([^\s\>]+)) # if quote found, match up to next matching
- # quote, otherwise match up to next space
- 'isx",$document,$links);
-
-
- // catenate the non-empty matches from the conditional subpattern
-
- while(list($key,$val) = each($links[2]))
- {
- if(!empty($val))
- $match[] = $val;
- }
-
- while(list($key,$val) = each($links[3]))
- {
- if(!empty($val))
- $match[] = $val;
- }
-
- // return the links
- return $match;
- }
-
-/*======================================================================*\
- Function: _stripform
- Purpose: strip the form elements from an html document
- Input: $document document to strip.
- Output: $match an array of the links
-\*======================================================================*/
-
- function _stripform($document)
- {
- preg_match_all("'<\/?(FORM|INPUT|SELECT|TEXTAREA|(OPTION))[^<>]*>(?(2)(.*(?=<\/?(option|select)[^<>]*>[\r\n]*)|(?=[\r\n]*))|(?=[\r\n]*))'Usi",$document,$elements);
-
- // catenate the matches
- $match = implode("\r\n",$elements[0]);
-
- // return the links
- return $match;
- }
-
-
-
-/*======================================================================*\
- Function: _striptext
- Purpose: strip the text from an html document
- Input: $document document to strip.
- Output: $text the resulting text
-\*======================================================================*/
-
- function _striptext($document)
- {
-
- // I didn't use preg eval (//e) since that is only available in PHP 4.0.
- // so, list your entities one by one here. I included some of the
- // more common ones.
-
- $search = array("'<script[^>]*?>.*?</script>'si", // strip out javascript
- "'<[\/\!]*?[^<>]*?>'si", // strip out html tags
- "'([\r\n])[\s]+'", // strip out white space
- "'&(quot|#34|#034|#x22);'i", // replace html entities
- "'&(amp|#38|#038|#x26);'i", // added hexadecimal values
- "'&(lt|#60|#060|#x3c);'i",
- "'&(gt|#62|#062|#x3e);'i",
- "'&(nbsp|#160|#xa0);'i",
- "'&(iexcl|#161);'i",
- "'&(cent|#162);'i",
- "'&(pound|#163);'i",
- "'&(copy|#169);'i",
- "'&(reg|#174);'i",
- "'&(deg|#176);'i",
- "'&(#39|#039|#x27);'",
- "'&(euro|#8364);'i", // europe
- "'&a(uml|UML);'", // german
- "'&o(uml|UML);'",
- "'&u(uml|UML);'",
- "'&A(uml|UML);'",
- "'&O(uml|UML);'",
- "'&U(uml|UML);'",
- "'&szlig;'i",
- );
- $replace = array( "",
- "",
- "\\1",
- "\"",
- "&",
- "<",
- ">",
- " ",
- chr(161),
- chr(162),
- chr(163),
- chr(169),
- chr(174),
- chr(176),
- chr(39),
- chr(128),
- "ä",
- "ö",
- "ü",
- "Ä",
- "Ö",
- "Ü",
- "ß",
- );
-
- $text = preg_replace($search,$replace,$document);
-
- return $text;
- }
-
-/*======================================================================*\
- Function: _expandlinks
- Purpose: expand each link into a fully qualified URL
- Input: $links the links to qualify
- $URI the full URI to get the base from
- Output: $expandedLinks the expanded links
-\*======================================================================*/
-
- function _expandlinks($links,$URI)
- {
-
- preg_match("/^[^\?]+/",$URI,$match);
-
- $match = preg_replace("|/[^\/\.]+\.[^\/\.]+$|","",$match[0]);
- $match = preg_replace("|/$|","",$match);
- $match_part = parse_url($match);
- $match_root =
- $match_part["scheme"]."://".$match_part["host"];
-
- $search = array( "|^http://".preg_quote($this->host)."|i",
- "|^(\/)|i",
- "|^(?!http://)(?!mailto:)|i",
- "|/\./|",
- "|/[^\/]+/\.\./|"
- );
-
- $replace = array( "",
- $match_root."/",
- $match."/",
- "/",
- "/"
- );
-
- $expandedLinks = preg_replace($search,$replace,$links);
-
- return $expandedLinks;
- }
-
-/*======================================================================*\
- Function: _httprequest
- Purpose: go get the http data from the server
- Input: $url the url to fetch
- $fp the current open file pointer
- $URI the full URI
- $body body contents to send if any (POST)
- Output:
-\*======================================================================*/
-
- function _httprequest($url,$fp,$URI,$http_method,$content_type="",$body="")
- {
- $cookie_headers = '';
- if($this->passcookies && $this->_redirectaddr)
- $this->setcookies();
-
- $URI_PARTS = parse_url($URI);
- if(empty($url))
- $url = "/";
- $headers = $http_method." ".$url." ".$this->_httpversion."\r\n";
- if(!empty($this->agent))
- $headers .= "User-Agent: ".$this->agent."\r\n";
- if(!empty($this->host) && !isset($this->rawheaders['Host'])) {
- $headers .= "Host: ".$this->host;
- if(!empty($this->port))
- $headers .= ":".$this->port;
- $headers .= "\r\n";
- }
- if(!empty($this->accept))
- $headers .= "Accept: ".$this->accept."\r\n";
- if(!empty($this->referer))
- $headers .= "Referer: ".$this->referer."\r\n";
- if(!empty($this->cookies))
- {
- if(!is_array($this->cookies))
- $this->cookies = (array)$this->cookies;
-
- reset($this->cookies);
- if ( count($this->cookies) > 0 ) {
- $cookie_headers .= 'Cookie: ';
- foreach ( $this->cookies as $cookieKey => $cookieVal ) {
- $cookie_headers .= $cookieKey."=".urlencode($cookieVal)."; ";
- }
- $headers .= substr($cookie_headers,0,-2) . "\r\n";
- }
- }
- if(!empty($this->rawheaders))
- {
- if(!is_array($this->rawheaders))
- $this->rawheaders = (array)$this->rawheaders;
- while(list($headerKey,$headerVal) = each($this->rawheaders))
- $headers .= $headerKey.": ".$headerVal."\r\n";
- }
- if(!empty($content_type)) {
- $headers .= "Content-type: $content_type";
- if ($content_type == "multipart/form-data")
- $headers .= "; boundary=".$this->_mime_boundary;
- $headers .= "\r\n";
- }
- if(!empty($body))
- $headers .= "Content-length: ".strlen($body)."\r\n";
- if(!empty($this->user) || !empty($this->pass))
- $headers .= "Authorization: Basic ".base64_encode($this->user.":".$this->pass)."\r\n";
-
- //add proxy auth headers
- if(!empty($this->proxy_user))
- $headers .= 'Proxy-Authorization: ' . 'Basic ' . base64_encode($this->proxy_user . ':' . $this->proxy_pass)."\r\n";
-
-
- $headers .= "\r\n";
-
- // set the read timeout if needed
- if ($this->read_timeout > 0)
- socket_set_timeout($fp, $this->read_timeout);
- $this->timed_out = false;
-
- fwrite($fp,$headers.$body,strlen($headers.$body));
-
- $this->_redirectaddr = false;
- unset($this->headers);
-
- while($currentHeader = fgets($fp,$this->_maxlinelen))
- {
- if ($this->read_timeout > 0 && $this->_check_timeout($fp))
- {
- $this->status=-100;
- return false;
- }
-
- if($currentHeader == "\r\n")
- break;
-
- // if a header begins with Location: or URI:, set the redirect
- if(preg_match("/^(Location:|URI:)/i",$currentHeader))
- {
- // get URL portion of the redirect
- preg_match("/^(Location:|URI:)[ ]+(.*)/i",chop($currentHeader),$matches);
- // look for :// in the Location header to see if hostname is included
- if(!preg_match("|\:\/\/|",$matches[2]))
- {
- // no host in the path, so prepend
- $this->_redirectaddr = $URI_PARTS["scheme"]."://".$this->host.":".$this->port;
- // eliminate double slash
- if(!preg_match("|^/|",$matches[2]))
- $this->_redirectaddr .= "/".$matches[2];
- else
- $this->_redirectaddr .= $matches[2];
- }
- else
- $this->_redirectaddr = $matches[2];
- }
-
- if(preg_match("|^HTTP/|",$currentHeader))
- {
- if(preg_match("|^HTTP/[^\s]*\s(.*?)\s|",$currentHeader, $status))
- {
- $this->status= $status[1];
- }
- $this->response_code = $currentHeader;
- }
-
- $this->headers[] = $currentHeader;
- }
-
- $results = '';
- do {
- $_data = fread($fp, $this->maxlength);
- if (strlen($_data) == 0) {
- break;
- }
- $results .= $_data;
- } while(true);
-
- if ($this->read_timeout > 0 && $this->_check_timeout($fp))
- {
- $this->status=-100;
- return false;
- }
-
- // check if there is a a redirect meta tag
-
- if(preg_match("'<meta[\s]*http-equiv[^>]*?content[\s]*=[\s]*[\"\']?\d+;[\s]*URL[\s]*=[\s]*([^\"\']*?)[\"\']?>'i",$results,$match))
-
- {
- $this->_redirectaddr = $this->_expandlinks($match[1],$URI);
- }
-
- // have we hit our frame depth and is there frame src to fetch?
- if(($this->_framedepth < $this->maxframes) && preg_match_all("'<frame\s+.*src[\s]*=[\'\"]?([^\'\"\>]+)'i",$results,$match))
- {
- $this->results[] = $results;
- for($x=0; $x<count($match[1]); $x++)
- $this->_frameurls[] = $this->_expandlinks($match[1][$x],$URI_PARTS["scheme"]."://".$this->host);
- }
- // have we already fetched framed content?
- elseif(is_array($this->results))
- $this->results[] = $results;
- // no framed content
- else
- $this->results = $results;
-
- return true;
- }
-
-/*======================================================================*\
- Function: _httpsrequest
- Purpose: go get the https data from the server using curl
- Input: $url the url to fetch
- $URI the full URI
- $body body contents to send if any (POST)
- Output:
-\*======================================================================*/
-
- function _httpsrequest($url,$URI,$http_method,$content_type="",$body="")
- {
- if($this->passcookies && $this->_redirectaddr)
- $this->setcookies();
-
- $headers = array();
-
- $URI_PARTS = parse_url($URI);
- if(empty($url))
- $url = "/";
- // GET ... header not needed for curl
- //$headers[] = $http_method." ".$url." ".$this->_httpversion;
- if(!empty($this->agent))
- $headers[] = "User-Agent: ".$this->agent;
- if(!empty($this->host))
- if(!empty($this->port))
- $headers[] = "Host: ".$this->host.":".$this->port;
- else
- $headers[] = "Host: ".$this->host;
- if(!empty($this->accept))
- $headers[] = "Accept: ".$this->accept;
- if(!empty($this->referer))
- $headers[] = "Referer: ".$this->referer;
- if(!empty($this->cookies))
- {
- if(!is_array($this->cookies))
- $this->cookies = (array)$this->cookies;
-
- reset($this->cookies);
- if ( count($this->cookies) > 0 ) {
- $cookie_str = 'Cookie: ';
- foreach ( $this->cookies as $cookieKey => $cookieVal ) {
- $cookie_str .= $cookieKey."=".urlencode($cookieVal)."; ";
- }
- $headers[] = substr($cookie_str,0,-2);
- }
- }
- if(!empty($this->rawheaders))
- {
- if(!is_array($this->rawheaders))
- $this->rawheaders = (array)$this->rawheaders;
- while(list($headerKey,$headerVal) = each($this->rawheaders))
- $headers[] = $headerKey.": ".$headerVal;
- }
- if(!empty($content_type)) {
- if ($content_type == "multipart/form-data")
- $headers[] = "Content-type: $content_type; boundary=".$this->_mime_boundary;
- else
- $headers[] = "Content-type: $content_type";
- }
- if(!empty($body))
- $headers[] = "Content-length: ".strlen($body);
- if(!empty($this->user) || !empty($this->pass))
- $headers[] = "Authorization: BASIC ".base64_encode($this->user.":".$this->pass);
-
- for($curr_header = 0; $curr_header < count($headers); $curr_header++) {
- $safer_header = strtr( $headers[$curr_header], "\"", " " );
- $cmdline_params .= " -H \"".$safer_header."\"";
- }
-
- if(!empty($body))
- $cmdline_params .= " -d \"$body\"";
-
- if($this->read_timeout > 0)
- $cmdline_params .= " -m ".$this->read_timeout;
-
- $headerfile = tempnam($temp_dir, "sno");
-
- $safer_URI = strtr( $URI, "\"", " " ); // strip quotes from the URI to avoid shell access
- exec(escapeshellcmd($this->curl_path." -D \"$headerfile\"".$cmdline_params." \"".$safer_URI."\""),$results,$return);
-
- if($return)
- {
- $this->error = "Error: cURL could not retrieve the document, error $return.";
- return false;
- }
-
-
- $results = implode("\r\n",$results);
-
- $result_headers = file("$headerfile");
-
- $this->_redirectaddr = false;
- unset($this->headers);
-
- for($currentHeader = 0; $currentHeader < count($result_headers); $currentHeader++)
- {
-
- // if a header begins with Location: or URI:, set the redirect
- if(preg_match("/^(Location: |URI: )/i",$result_headers[$currentHeader]))
- {
- // get URL portion of the redirect
- preg_match("/^(Location: |URI:)\s+(.*)/",chop($result_headers[$currentHeader]),$matches);
- // look for :// in the Location header to see if hostname is included
- if(!preg_match("|\:\/\/|",$matches[2]))
- {
- // no host in the path, so prepend
- $this->_redirectaddr = $URI_PARTS["scheme"]."://".$this->host.":".$this->port;
- // eliminate double slash
- if(!preg_match("|^/|",$matches[2]))
- $this->_redirectaddr .= "/".$matches[2];
- else
- $this->_redirectaddr .= $matches[2];
- }
- else
- $this->_redirectaddr = $matches[2];
- }
-
- if(preg_match("|^HTTP/|",$result_headers[$currentHeader]))
- $this->response_code = $result_headers[$currentHeader];
-
- $this->headers[] = $result_headers[$currentHeader];
- }
-
- // check if there is a a redirect meta tag
-
- if(preg_match("'<meta[\s]*http-equiv[^>]*?content[\s]*=[\s]*[\"\']?\d+;[\s]*URL[\s]*=[\s]*([^\"\']*?)[\"\']?>'i",$results,$match))
- {
- $this->_redirectaddr = $this->_expandlinks($match[1],$URI);
- }
-
- // have we hit our frame depth and is there frame src to fetch?
- if(($this->_framedepth < $this->maxframes) && preg_match_all("'<frame\s+.*src[\s]*=[\'\"]?([^\'\"\>]+)'i",$results,$match))
- {
- $this->results[] = $results;
- for($x=0; $x<count($match[1]); $x++)
- $this->_frameurls[] = $this->_expandlinks($match[1][$x],$URI_PARTS["scheme"]."://".$this->host);
- }
- // have we already fetched framed content?
- elseif(is_array($this->results))
- $this->results[] = $results;
- // no framed content
- else
- $this->results = $results;
-
- unlink("$headerfile");
-
- return true;
- }
-
-/*======================================================================*\
- Function: setcookies()
- Purpose: set cookies for a redirection
-\*======================================================================*/
-
- function setcookies()
- {
- for($x=0; $x<count($this->headers); $x++)
- {
- if(preg_match('/^set-cookie:[\s]+([^=]+)=([^;]+)/i', $this->headers[$x],$match))
- $this->cookies[$match[1]] = urldecode($match[2]);
- }
- }
-
-
-/*======================================================================*\
- Function: _check_timeout
- Purpose: checks whether timeout has occurred
- Input: $fp file pointer
-\*======================================================================*/
-
- function _check_timeout($fp)
- {
- if ($this->read_timeout > 0) {
- $fp_status = socket_get_status($fp);
- if ($fp_status["timed_out"]) {
- $this->timed_out = true;
- return true;
- }
- }
- return false;
- }
-
-/*======================================================================*\
- Function: _connect
- Purpose: make a socket connection
- Input: $fp file pointer
-\*======================================================================*/
-
- function _connect(&$fp)
- {
- if(!empty($this->proxy_host) && !empty($this->proxy_port))
- {
- $this->_isproxy = true;
-
- $host = $this->proxy_host;
- $port = $this->proxy_port;
- }
- else
- {
- $host = $this->host;
- $port = $this->port;
- }
-
- $this->status = 0;
-
- if($fp = fsockopen(
- $host,
- $port,
- $errno,
- $errstr,
- $this->_fp_timeout
- ))
- {
- // socket connection succeeded
-
- return true;
- }
- else
- {
- // socket connection failed
- $this->status = $errno;
- switch($errno)
- {
- case -3:
- $this->error="socket creation failed (-3)";
- case -4:
- $this->error="dns lookup failure (-4)";
- case -5:
- $this->error="connection refused or timed out (-5)";
- default:
- $this->error="connection failed (".$errno.")";
- }
- return false;
- }
- }
-/*======================================================================*\
- Function: _disconnect
- Purpose: disconnect a socket connection
- Input: $fp file pointer
-\*======================================================================*/
-
- function _disconnect($fp)
- {
- return(fclose($fp));
- }
-
-
-/*======================================================================*\
- Function: _prepare_post_body
- Purpose: Prepare post body according to encoding type
- Input: $formvars - form variables
- $formfiles - form upload files
- Output: post body
-\*======================================================================*/
-
- function _prepare_post_body($formvars, $formfiles)
- {
- settype($formvars, "array");
- settype($formfiles, "array");
- $postdata = '';
-
- if (count($formvars) == 0 && count($formfiles) == 0)
- return;
-
- switch ($this->_submit_type) {
- case "application/x-www-form-urlencoded":
- reset($formvars);
- while(list($key,$val) = each($formvars)) {
- if (is_array($val) || is_object($val)) {
- while (list($cur_key, $cur_val) = each($val)) {
- $postdata .= urlencode($key)."[]=".urlencode($cur_val)."&";
- }
- } else
- $postdata .= urlencode($key)."=".urlencode($val)."&";
- }
- break;
-
- case "multipart/form-data":
- $this->_mime_boundary = "Snoopy".md5(uniqid(microtime()));
-
- reset($formvars);
- while(list($key,$val) = each($formvars)) {
- if (is_array($val) || is_object($val)) {
- while (list($cur_key, $cur_val) = each($val)) {
- $postdata .= "--".$this->_mime_boundary."\r\n";
- $postdata .= "Content-Disposition: form-data; name=\"$key\[\]\"\r\n\r\n";
- $postdata .= "$cur_val\r\n";
- }
- } else {
- $postdata .= "--".$this->_mime_boundary."\r\n";
- $postdata .= "Content-Disposition: form-data; name=\"$key\"\r\n\r\n";
- $postdata .= "$val\r\n";
- }
- }
-
- reset($formfiles);
- while (list($field_name, $file_names) = each($formfiles)) {
- settype($file_names, "array");
- while (list(, $file_name) = each($file_names)) {
- if (!is_readable($file_name)) continue;
-
- $fp = fopen($file_name, "r");
- $file_content = fread($fp, filesize($file_name));
- fclose($fp);
- $base_name = basename($file_name);
-
- $postdata .= "--".$this->_mime_boundary."\r\n";
- $postdata .= "Content-Disposition: form-data; name=\"$field_name\"; filename=\"$base_name\"\r\n\r\n";
- $postdata .= "$file_content\r\n";
- }
- }
- $postdata .= "--".$this->_mime_boundary."--\r\n";
- break;
- }
-
- return $postdata;
- }
-}
-endif;
-
-?>
diff --git a/wp-inst/wp-includes/classes.php b/wp-inst/wp-includes/classes.php
deleted file mode 100644
index a4ecc54..0000000
--- a/wp-inst/wp-includes/classes.php
+++ /dev/null
@@ -1,687 +0,0 @@
-<?php
-
-class retrospam_mgr {
- var $spam_words;
- var $comments_list;
- var $found_comments;
-
- function retrospam_mgr() {
- global $wpdb;
-
- $list = explode("\n", get_settings('moderation_keys') );
- $list = array_unique( $list );
- $this->spam_words = $list;
-
- $this->comment_list = $wpdb->get_results("SELECT comment_ID AS ID, comment_content AS text, comment_approved AS approved, comment_author_url AS url, comment_author_ip AS ip, comment_author_email AS email FROM $wpdb->comments ORDER BY comment_ID ASC");
- } // End of class constructor
-
- function move_spam( $id_list ) {
- global $wpdb;
- $cnt = 0;
- $id_list = explode( ',', $id_list );
-
- foreach ( $id_list as $comment ) {
- if ( $wpdb->query("update $wpdb->comments set comment_approved = '0' where comment_ID = '$comment'") ) {
- $cnt++;
- }
- }
- echo "<div class='updated'><p>$cnt comment";
- if ($cnt != 1 ) echo "s";
- echo " moved to the moderation queue.</p></div>\n";
- } // End function move_spam
-
- function find_spam() {
- $in_queue = 0;
-
- foreach( $this->comment_list as $comment ) {
- if( $comment->approved == 1 ) {
- foreach( $this->spam_words as $word ) {
- $word = trim($word);
- if ( empty( $word ) )
- continue;
- $fulltext = strtolower($comment->email.' '.$comment->url.' '.$comment->ip.' '.$comment->text);
- if( false !== strpos( $fulltext, strtolower($word) ) ) {
- $this->found_comments[] = $comment->ID;
- break;
- }
- }
- } else {
- $in_queue++;
- }
- }
- return array( 'found' => $this->found_comments, 'in_queue' => $in_queue );
- } // End function find_spam
-
- function display_edit_form( $counters ) {
- $numfound = count($counters[found]);
- $numqueue = $counters[in_queue];
-
- $body = '<p>' . sprintf(__('Suspected spam comments: <strong>%s</strong>'), $numfound) . '</p>';
-
- if ( count($counters[found]) > 0 ) {
- $id_list = implode( ',', $counters[found] );
- $body .= '<p><a href="options-discussion.php?action=retrospam&amp;move=true&amp;ids='.$id_list.'">'. __('Move suspect comments to moderation queue &raquo;') . '</a></p>';
-
- }
- $head = '<div class="wrap"><h2>' . __('Check Comments Results:') . '</h2>';
-
- $foot .= '<p><a href="options-discussion.php">' . __('&laquo; Return to Discussion Options page.') . '</a></p></div>';
-
- return $head . $body . $foot;
- } // End function display_edit_form
-
-}
-
-class WP {
- var $public_query_vars = array('m', 'p', 'posts', 'w', 'cat', 'withcomments', 's', 'search', 'exact', 'sentence', 'debug', 'calendar', 'page', 'paged', 'more', 'tb', 'pb', 'author', 'order', 'orderby', 'year', 'monthnum', 'day', 'hour', 'minute', 'second', 'name', 'category_name', 'feed', 'author_name', 'static', 'pagename', 'page_id', 'error', 'comments_popup', 'attachment', 'attachment_id', 'subpost', 'subpost_id', 'preview', 'robots');
-
- var $private_query_vars = array('offset', 'posts_per_page', 'posts_per_archive_page', 'what_to_show', 'showposts', 'nopaging', 'post_type');
- var $extra_query_vars = array();
-
- var $query_vars;
- var $query_string;
- var $request;
- var $matched_rule;
- var $matched_query;
- var $did_permalink = false;
-
- function add_query_var($qv) {
- $this->public_query_vars[] = $qv;
- }
-
- function parse_request($extra_query_vars = '') {
- global $wp_rewrite;
-
- $this->query_vars = array();
-
- if (! empty($extra_query_vars))
- parse_str($extra_query_vars, $this->extra_query_vars);
-
- // Process PATH_INFO, REQUEST_URI, and 404 for permalinks.
-
- // Fetch the rewrite rules.
- $rewrite = $wp_rewrite->wp_rewrite_rules();
-
- if (! empty($rewrite)) {
- // If we match a rewrite rule, this will be cleared.
- $error = '404';
- $this->did_permalink = true;
-
- $pathinfo = $_SERVER['PATH_INFO'];
- $pathinfo_array = explode('?', $pathinfo);
- $pathinfo = $pathinfo_array[0];
- $req_uri = $_SERVER['REQUEST_URI'];
- $req_uri_array = explode('?', $req_uri);
- $req_uri = $req_uri_array[0];
- $self = $_SERVER['PHP_SELF'];
- $home_path = parse_url(get_settings('home'));
- $home_path = $home_path['path'];
- $home_path = trim($home_path, '/');
-
- // Trim path info from the end and the leading home path from the
- // front. For path info requests, this leaves us with the requesting
- // filename, if any. For 404 requests, this leaves us with the
- // requested permalink.
- $req_uri = str_replace($pathinfo, '', $req_uri);
- $req_uri = trim($req_uri, '/');
- $req_uri = preg_replace("|^$home_path|", '', $req_uri);
- $req_uri = trim($req_uri, '/');
- $pathinfo = trim($pathinfo, '/');
- $pathinfo = preg_replace("|^$home_path|", '', $pathinfo);
- $pathinfo = trim($pathinfo, '/');
- $self = trim($self, '/');
- $self = preg_replace("|^$home_path|", '', $self);
- $self = str_replace($home_path, '', $self);
- $self = trim($self, '/');
-
- // The requested permalink is in $pathinfo for path info requests and
- // $req_uri for other requests.
- if ( ! empty($pathinfo) && !preg_match('|^.*' . $wp_rewrite->index . '$|', $pathinfo) ) {
- $request = $pathinfo;
- } else {
- // If the request uri is the index, blank it out so that we don't try to match it against a rule.
- if ( $req_uri == $wp_rewrite->index )
- $req_uri = '';
- $request = $req_uri;
- }
-
- $this->request = $request;
-
- // Look for matches.
- $request_match = $request;
- foreach ($rewrite as $match => $query) {
- // If the requesting file is the anchor of the match, prepend it
- // to the path info.
- if ((! empty($req_uri)) && (strpos($match, $req_uri) === 0) && ($req_uri != $request)) {
- $request_match = $req_uri . '/' . $request;
- }
-
- if (preg_match("!^$match!", $request_match, $matches) ||
- preg_match("!^$match!", urldecode($request_match), $matches)) {
- // Got a match.
- $this->matched_rule = $match;
-
- // Trim the query of everything up to the '?'.
- $query = preg_replace("!^.+\?!", '', $query);
-
- // Substitute the substring matches into the query.
- eval("\$query = \"$query\";");
- $this->matched_query = $query;
-
- // Parse the query.
- parse_str($query, $perma_query_vars);
-
- // If we're processing a 404 request, clear the error var
- // since we found something.
- if (isset($_GET['error']))
- unset($_GET['error']);
-
- if (isset($error))
- unset($error);
-
- break;
- }
- }
-
- // If req_uri is empty or if it is a request for ourself, unset error.
- if ( empty($request) || $req_uri == $self || strstr($_SERVER['PHP_SELF'], 'wp-admin/') ) {
- if (isset($_GET['error']))
- unset($_GET['error']);
-
- if (isset($error))
- unset($error);
-
- if ( isset($perma_query_vars) && strstr($_SERVER['PHP_SELF'], 'wp-admin/') )
- unset($perma_query_vars);
-
- $this->did_permalink = false;
- }
- }
-
- $this->public_query_vars = apply_filters('query_vars', $this->public_query_vars);
-
- for ($i=0; $i<count($this->public_query_vars); $i += 1) {
- $wpvar = $this->public_query_vars[$i];
- if (isset($this->extra_query_vars[$wpvar]))
- $this->query_vars[$wpvar] = $this->extra_query_vars[$wpvar];
- elseif (isset($GLOBALS[$wpvar]))
- $this->query_vars[$wpvar] = $GLOBALS[$wpvar];
- elseif (!empty($_POST[$wpvar]))
- $this->query_vars[$wpvar] = $_POST[$wpvar];
- elseif (!empty($_GET[$wpvar]))
- $this->query_vars[$wpvar] = $_GET[$wpvar];
- elseif (!empty($perma_query_vars[$wpvar]))
- $this->query_vars[$wpvar] = $perma_query_vars[$wpvar];
- else
- $this->query_vars[$wpvar] = '';
- }
-
- for ($i=0; $i<count($this->private_query_vars); $i += 1) {
- $wpvar = $this->private_query_vars[$i];
- if (isset($this->extra_query_vars[$wpvar]))
- $this->query_vars[$wpvar] = $this->extra_query_vars[$wpvar];
- }
-
- if ( isset($error) )
- $this->query_vars['error'] = $error;
-
- do_action('parse_request', array(&$this));
- }
-
- function send_headers() {
- @header('X-Pingback: '. get_bloginfo('pingback_url'));
- if ( is_user_logged_in() )
- nocache_headers();
- if ( !empty($this->query_vars['error']) && '404' == $this->query_vars['error'] ) {
- status_header( 404 );
- } else if ( empty($this->query_vars['feed']) ) {
- @header('Content-type: ' . get_option('html_type') . '; charset=' . get_option('blog_charset'));
- } else {
- // We're showing a feed, so WP is indeed the only thing that last changed
- if ( $this->query_vars['withcomments'] )
- $wp_last_modified = mysql2date('D, d M Y H:i:s', get_lastcommentmodified('GMT'), 0).' GMT';
- else
- $wp_last_modified = mysql2date('D, d M Y H:i:s', get_lastpostmodified('GMT'), 0).' GMT';
- $wp_etag = '"' . md5($wp_last_modified) . '"';
- @header("Last-Modified: $wp_last_modified");
- @header("ETag: $wp_etag");
-
- // Support for Conditional GET
- if (isset($_SERVER['HTTP_IF_NONE_MATCH']))
- $client_etag = stripslashes(stripslashes($_SERVER['HTTP_IF_NONE_MATCH']));
- else $client_etag = false;
-
- $client_last_modified = trim( $_SERVER['HTTP_IF_MODIFIED_SINCE']);
- // If string is empty, return 0. If not, attempt to parse into a timestamp
- $client_modified_timestamp = $client_last_modified ? strtotime($client_last_modified) : 0;
-
- // Make a timestamp for our most recent modification...
- $wp_modified_timestamp = strtotime($wp_last_modified);
-
- if ( ($client_last_modified && $client_etag) ?
- (($client_modified_timestamp >= $wp_modified_timestamp) && ($client_etag == $wp_etag)) :
- (($client_modified_timestamp >= $wp_modified_timestamp) || ($client_etag == $wp_etag)) ) {
- status_header( 304 );
- exit;
- }
- }
-
- do_action('send_headers', array(&$this));
- }
-
- function build_query_string() {
- $this->query_string = '';
-
- foreach (array_keys($this->query_vars) as $wpvar) {
- if ( '' != $this->query_vars[$wpvar] ) {
- $this->query_string .= (strlen($this->query_string) < 1) ? '' : '&';
- $this->query_string .= $wpvar . '=' . rawurlencode($this->query_vars[$wpvar]);
- }
- }
-
- foreach ($this->private_query_vars as $wpvar) {
- if (isset($GLOBALS[$wpvar]) && '' != $GLOBALS[$wpvar] && ! isset($this->extra_query_vars[$wpvar]) ) {
- $this->query_string .= (strlen($this->query_string) < 1) ? '' : '&';
- $this->query_string .= $wpvar . '=' . rawurlencode($GLOBALS[$wpvar]);
- }
- }
-
- $this->query_string = apply_filters('query_string', $this->query_string);
- }
-
- function register_globals() {
- global $wp_query;
- // Extract updated query vars back into global namespace.
- foreach ($wp_query->query_vars as $key => $value) {
- $GLOBALS[$key] = $value;
- }
-
- $GLOBALS['query_string'] = & $this->query_string;
- $GLOBALS['posts'] = & $wp_query->posts;
- $GLOBALS['post'] = & $wp_query->post;
- $GLOBALS['request'] = & $wp_query->request;
-
- if ( is_single() || is_page() ) {
- $GLOBALS['more'] = 1;
- $GLOBALS['single'] = 1;
- }
- }
-
- function init() {
- wp_get_current_user();
- }
-
- function query_posts() {
- $this->build_query_string();
- query_posts($this->query_string);
- }
-
- function handle_404() {
- global $wp_query;
- // Issue a 404 if a permalink request doesn't match any posts. Don't
- // issue a 404 if one was already issued, if the request was a search,
- // or if the request was a regular query string request rather than a
- // permalink request.
- if ( (0 == count($wp_query->posts)) && !is_404() && !is_search() && ( $this->did_permalink || (!empty($_SERVER['QUERY_STRING']) && (false === strpos($_SERVER['REQUEST_URI'], '?'))) ) ) {
- $wp_query->set_404();
- status_header( 404 );
- } elseif( is_404() != true ) {
- status_header( 200 );
- }
- }
-
- function main($query_args = '') {
- $this->init();
- $this->parse_request($query_args);
- $this->send_headers();
- $this->query_posts();
- $this->handle_404();
- $this->register_globals();
- do_action('wp', array(&$this));
- }
-
- function WP() {
- // Empty.
- }
-}
-
-class WP_Error {
- var $errors = array();
-
- function WP_Error($code = '', $message = '') {
- if ( ! empty($code) )
- $this->errors[$code][] = $message;
- }
-
- function get_error_codes() {
- if ( empty($this->errors) )
- return array();
-
- return array_keys($this->errors);
- }
-
- function get_error_code() {
- $codes = $this->get_error_codes();
-
- if ( empty($codes) )
- return '';
-
- return $codes[0];
- }
-
- function get_error_messages($code = '') {
- // Return all messages if no code specified.
- if ( empty($code) ) {
- $all_messages = array();
- foreach ( $this->errors as $code => $messages )
- $all_messages = array_merge($all_messages, $messages);
-
- return $all_messages;
- }
-
- if ( isset($this->errors[$code]) )
- return $this->errors[$code];
- else
- return array();
- }
-
- function get_error_message($code = '') {
- if ( empty($code) )
- $code = $this->get_error_code();
- $messages = $this->get_error_messages($code);
- if ( empty($messages) )
- return '';
- return $messages[0];
- }
-
- function add($code, $message) {
- $this->errors[$code][] = $message;
- }
-}
-
-function is_wp_error($thing) {
- if ( is_object($thing) && is_a($thing, 'WP_Error') )
- return true;
- return false;
-}
-
-
-// A class for displaying various tree-like structures. Extend the Walker class to use it, see examples at the bottom
-
-class Walker {
- var $tree_type;
- var $db_fields;
-
- //abstract callbacks
- function start_lvl($output) { return $output; }
- function end_lvl($output) { return $output; }
- function start_el($output) { return $output; }
- function end_el($output) { return $output; }
-
- function walk($elements, $to_depth) {
- $args = array_slice(func_get_args(), 2); $parents = array(); $depth = 1; $previous_element = ''; $output = '';
-
- //padding at the end
- $last_element->post_parent = 0;
- $last_element->post_id = 0;
- $elements[] = $last_element;
-
- $id_field = $this->db_fields['id'];
- $parent_field = $this->db_fields['parent'];
-
- $flat = ($to_depth == -1) ? true : false;
-
- foreach ( $elements as $element ) {
- // If flat, start and end the element and skip the level checks.
- if ( $flat) {
- // Start the element.
- if ( $element->$id_field != 0 ) {
- $cb_args = array_merge( array($output, $element, $depth - 1), $args);
- $output = call_user_func_array(array(&$this, 'start_el'), $cb_args);
- }
-
- // End the element.
- if ( $element->$id_field != 0 ) {
- $cb_args = array_merge( array($output, $element, $depth - 1), $args);
- $output = call_user_func_array(array(&$this, 'end_el'), $cb_args);
- }
-
- continue;
- }
-
- // Walk the tree.
- if ( !empty($previous_element) && ($element->$parent_field == $previous_element->$id_field) ) {
- // Previous element is my parent. Descend a level.
- array_unshift($parents, $previous_element);
- $depth++; //always do this so when we start the element further down, we know where we are
- if ( !$to_depth || ($depth < $to_depth) ) { //only descend if we're below $to_depth
- $cb_args = array_merge( array($output, $depth - 1), $args);
- $output = call_user_func_array(array(&$this, 'start_lvl'), $cb_args);
- }
- } else if ( $element->$parent_field == $previous_element->$parent_field) {
- // On the same level as previous element.
- if ( !$to_depth || ($depth <= $to_depth) ) {
- $cb_args = array_merge( array($output, $previous_element, $depth - 1), $args);
- $output = call_user_func_array(array(&$this, 'end_el'), $cb_args);
- }
- } else if ( $depth > 1 ) {
- // Ascend one or more levels.
- if ( !$to_depth || ($depth <= $to_depth) ) {
- $cb_args = array_merge( array($output, $previous_element, $depth - 1), $args);
- $output = call_user_func_array(array(&$this, 'end_el'), $cb_args);
- }
-
- while ( $parent = array_shift($parents) ) {
- $depth--;
- if ( !$to_depth || ($depth < $to_depth) ) {
- $cb_args = array_merge( array($output, $depth - 1), $args);
- $output = call_user_func_array(array(&$this, 'end_lvl'), $cb_args);
- $cb_args = array_merge( array($output, $parent, $depth - 1), $args);
- $output = call_user_func_array(array(&$this, 'end_el'), $cb_args);
- }
- if ( $element->$parent_field == $parents[0]->$id_field ) {
- break;
- }
- }
- } else if ( !empty($previous_element) ) {
- // Close off previous element.
- if ( !$to_depth || ($depth <= $to_depth) ) {
- $cb_args = array_merge( array($output, $previous_element, $depth - 1), $args);
- $output = call_user_func_array(array(&$this, 'end_el'), $cb_args);
- }
- }
-
- // Start the element.
- if ( !$to_depth || ($depth <= $to_depth) ) {
- if ( $element->$id_field != 0 ) {
- $cb_args = array_merge( array($output, $element, $depth - 1), $args);
- $output = call_user_func_array(array(&$this, 'start_el'), $cb_args);
- }
- }
-
- $previous_element = $element;
- }
-
- return $output;
- }
-}
-
-class Walker_Page extends Walker {
- var $tree_type = 'page';
- var $db_fields = array ('parent' => 'post_parent', 'id' => 'ID'); //TODO: decouple this
-
- function start_lvl($output, $depth) {
- $indent = str_repeat("\t", $depth);
- $output .= "$indent<ul>\n";
- return $output;
- }
-
- function end_lvl($output, $depth) {
- $indent = str_repeat("\t", $depth);
- $output .= "$indent</ul>\n";
- return $output;
- }
-
- function start_el($output, $page, $depth, $current_page, $show_date, $date_format) {
- if ( $depth )
- $indent = str_repeat("\t", $depth);
-
- $css_class = 'page_item';
- if ( $page->ID == $current_page )
- $css_class .= ' current_page_item';
-
- $output .= $indent . '<li class="' . $css_class . '"><a href="' . get_page_link($page->ID) . '" title="' . wp_specialchars($page->post_title) . '">' . $page->post_title . '</a>';
-
- if ( !empty($show_date) ) {
- if ( 'modified' == $show_date )
- $time = $page->post_modified;
- else
- $time = $page->post_date;
-
- $output .= " " . mysql2date($date_format, $time);
- }
-
- return $output;
- }
-
- function end_el($output, $page, $depth) {
- $output .= "</li>\n";
-
- return $output;
- }
-
-}
-
-class Walker_PageDropdown extends Walker {
- var $tree_type = 'page';
- var $db_fields = array ('parent' => 'post_parent', 'id' => 'ID'); //TODO: decouple this
-
- function start_el($output, $page, $depth, $args) {
- $pad = str_repeat('&nbsp;', $depth * 3);
-
- $output .= "\t<option value=\"$page->ID\"";
- if ( $page->ID == $args['selected'] )
- $output .= ' selected="selected"';
- $output .= '>';
- $title = wp_specialchars($page->post_title);
- $output .= "$pad$title";
- $output .= "</option>\n";
-
- return $output;
- }
-}
-
-class Walker_Category extends Walker {
- var $tree_type = 'category';
- var $db_fields = array ('parent' => 'category_parent', 'id' => 'cat_ID'); //TODO: decouple this
-
- function start_lvl($output, $depth, $args) {
- if ( 'list' != $args['style'] )
- return $output;
-
- $indent = str_repeat("\t", $depth);
- $output .= "$indent<ul class='children'>\n";
- return $output;
- }
-
- function end_lvl($output, $depth, $args) {
- if ( 'list' != $args['style'] )
- return $output;
-
- $indent = str_repeat("\t", $depth);
- $output .= "$indent</ul>\n";
- return $output;
- }
-
- function start_el($output, $category, $depth, $args) {
- extract($args);
-
- $link = '<a href="' . get_category_link($category->cat_ID) . '" ';
- if ( $use_desc_for_title == 0 || empty($category->category_description) )
- $link .= 'title="'. sprintf(__("View all posts filed under %s"), wp_specialchars($category->cat_name)) . '"';
- else
- $link .= 'title="' . wp_specialchars(apply_filters('category_description',$category->category_description,$category)) . '"';
- $link .= '>';
- $link .= apply_filters('list_cats', $category->cat_name, $category).'</a>';
-
- if ( (! empty($feed_image)) || (! empty($feed)) ) {
- $link .= ' ';
-
- if ( empty($feed_image) )
- $link .= '(';
-
- $link .= '<a href="' . get_category_rss_link(0, $category->cat_ID, $category->category_nicename) . '"';
-
- if ( !empty($feed) ) {
- $title = ' title="' . $feed . '"';
- $alt = ' alt="' . $feed . '"';
- $name = $feed;
- $link .= $title;
- }
-
- $link .= '>';
-
- if ( !empty($feed_image) )
- $link .= "<img src='$feed_image' $alt$title" . ' />';
- else
- $link .= $name;
- $link .= '</a>';
- if (empty($feed_image))
- $link .= ')';
- }
-
- if ( $show_count )
- $link .= ' ('.intval($category->category_count).')';
-
- if ( $show_date ) {
- $link .= ' ' . gmdate('Y-m-d', $category->last_update_timestamp);
- }
-
- if ( 'list' == $args['style'] ) {
- $output .= "\t<li";
- if ( ($category->cat_ID == $current_category) && is_category() )
- $output .= ' class="current-cat"';
- $output .= ">$link\n";
- } else {
- $output .= "\t$link<br />\n";
- }
-
- return $output;
- }
-
- function end_el($output, $page, $depth, $args) {
- if ( 'list' != $args['style'] )
- return $output;
-
- $output .= "</li>\n";
- return $output;
- }
-
-}
-
-class Walker_CategoryDropdown extends Walker {
- var $tree_type = 'category';
- var $db_fields = array ('parent' => 'category_parent', 'id' => 'cat_ID'); //TODO: decouple this
-
- function start_el($output, $category, $depth, $args) {
- $pad = str_repeat('&nbsp;', $depth * 3);
-
- $cat_name = apply_filters('list_cats', $category->cat_name, $category);
- $output .= "\t<option value=\"".$category->cat_ID."\"";
- if ( $category->cat_ID == $args['selected'] )
- $output .= ' selected="selected"';
- $output .= '>';
- $output .= $cat_name;
- if ( $args['show_count'] )
- $output .= '&nbsp;&nbsp;('. $category->category_count .')';
- if ( $args['show_last_update'] ) {
- $format = 'Y-m-d';
- $output .= '&nbsp;&nbsp;' . gmdate($format, $category->last_update_timestamp);
- }
- $output .= "</option>\n";
-
- return $output;
- }
-}
-
-?>
diff --git a/wp-inst/wp-includes/comment-template.php b/wp-inst/wp-includes/comment-template.php
deleted file mode 100644
index 6355a96..0000000
--- a/wp-inst/wp-includes/comment-template.php
+++ /dev/null
@@ -1,375 +0,0 @@
-<?php
-/*
- * Comment template functions.
- */
-
-function get_comment_author() {
- global $comment;
- if ( empty($comment->comment_author) )
- $author = __('Anonymous');
- else
- $author = $comment->comment_author;
- return apply_filters('get_comment_author', $author);
-}
-
-function comment_author() {
- $author = apply_filters('comment_author', get_comment_author() );
- echo $author;
-}
-
-function get_comment_author_email() {
- global $comment;
- return apply_filters('get_comment_author_email', $comment->comment_author_email);
-}
-
-function comment_author_email() {
- echo apply_filters('author_email', get_comment_author_email() );
-}
-
-function comment_author_email_link($linktext='', $before='', $after='') {
- global $comment;
- $email = apply_filters('comment_email', $comment->comment_author_email);
- if ((!empty($email)) && ($email != '@')) {
- $display = ($linktext != '') ? $linktext : $email;
- echo $before;
- echo "<a href='mailto:$email'>$display</a>";
- echo $after;
- }
-}
-
-function get_comment_author_link() {
- global $comment;
- $url = get_comment_author_url();
- $author = get_comment_author();
-
- if ( empty( $url ) || 'http://' == $url )
- $return = $author;
- else
- $return = "<a href='$url' rel='external nofollow'>$author</a>";
- return apply_filters('get_comment_author_link', $return);
-}
-
-function comment_author_link() {
- echo get_comment_author_link();
-}
-
-function get_comment_author_IP() {
- global $comment;
- return apply_filters('get_comment_author_IP', $comment->comment_author_IP);
-}
-
-function comment_author_IP() {
- echo get_comment_author_IP();
-}
-
-function get_comment_author_url() {
- global $comment;
- return apply_filters('get_comment_author_url', $comment->comment_author_url);
-}
-
-function comment_author_url() {
- echo apply_filters('comment_url', get_comment_author_url());
-}
-
-function get_comment_author_url_link( $linktext = '', $before = '', $after = '' ) {
- global $comment;
- $url = get_comment_author_url();
- $display = ($linktext != '') ? $linktext : $url;
- $display = str_replace( 'http://www.', '', $display );
- $display = str_replace( 'http://', '', $display );
- if ( '/' == substr($display, -1) )
- $display = substr($display, 0, -1);
- $return = "$before<a href='$url' rel='external'>$display</a>$after";
- return apply_filters('get_comment_author_url_link', $return);
-}
-
-function comment_author_url_link( $linktext = '', $before = '', $after = '' ) {
- echo get_comment_author_url_link( $linktext, $before, $after );
-}
-
-function get_comment_date( $d = '' ) {
- global $comment;
- if ( '' == $d )
- $date = mysql2date( get_settings('date_format'), $comment->comment_date);
- else
- $date = mysql2date($d, $comment->comment_date);
- return apply_filters('get_comment_date', $date);
-}
-
-function comment_date( $d = '' ) {
- echo get_comment_date( $d );
-}
-
-function get_comment_excerpt() {
- global $comment;
- $comment_text = strip_tags($comment->comment_content);
- $blah = explode(' ', $comment_text);
- if (count($blah) > 20) {
- $k = 20;
- $use_dotdotdot = 1;
- } else {
- $k = count($blah);
- $use_dotdotdot = 0;
- }
- $excerpt = '';
- for ($i=0; $i<$k; $i++) {
- $excerpt .= $blah[$i] . ' ';
- }
- $excerpt .= ($use_dotdotdot) ? '...' : '';
- return apply_filters('get_comment_excerpt', $excerpt);
-}
-
-function comment_excerpt() {
- echo apply_filters('comment_excerpt', get_comment_excerpt() );
-}
-
-function get_comment_ID() {
- global $comment;
- return apply_filters('get_comment_ID', $comment->comment_ID);
-}
-
-function comment_ID() {
- echo get_comment_ID();
-}
-
-function get_comment_link() {
- global $comment;
- return get_permalink( $comment->comment_post_ID ) . '#comment-' . $comment->comment_ID;
-}
-
-function get_comments_link() {
- return get_permalink() . '#comments';
-}
-
-function comments_link( $file = '', $echo = true ) {
- echo get_comments_link();
-}
-
-function get_comments_number( $post_id = 0 ) {
- global $wpdb, $id;
- $post_id = (int) $post_id;
-
- if ( !$post_id )
- $post_id = $id;
-
- $post = get_post($post_id);
- if ( ! isset($post->comment_count) )
- $count = 0;
- else
- $count = $post->comment_count;
-
- return apply_filters('get_comments_number', $count);
-}
-
-function comments_number( $zero = 'No Comments', $one = '1 Comment', $more = '% Comments', $number = '' ) {
- global $id, $comment;
- $number = get_comments_number( $id );
- if ($number == 0) {
- $blah = $zero;
- } elseif ($number == 1) {
- $blah = $one;
- } elseif ($number > 1) {
- $blah = str_replace('%', $number, $more);
- }
- echo apply_filters('comments_number', $blah);
-}
-
-function get_comment_text() {
- global $comment;
- return apply_filters('get_comment_text', $comment->comment_content);
-}
-
-function comment_text() {
- echo apply_filters('comment_text', get_comment_text() );
-}
-
-function get_comment_time( $d = '', $gmt = false ) {
- global $comment;
- $comment_date = $gmt? $comment->comment_date_gmt : $comment->comment_date;
- if ( '' == $d )
- $date = mysql2date(get_settings('time_format'), $comment_date);
- else
- $date = mysql2date($d, $comment_date);
- return apply_filters('get_comment_time', $date);
-}
-
-function comment_time( $d = '' ) {
- echo get_comment_time($d);
-}
-
-function get_comment_type() {
- global $comment;
-
- if ( '' == $comment->comment_type )
- $comment->comment_type = 'comment';
-
- return apply_filters('get_comment_type', $comment->comment_type);
-}
-
-function comment_type($commenttxt = 'Comment', $trackbacktxt = 'Trackback', $pingbacktxt = 'Pingback') {
- $type = get_comment_type();
- switch( $type ) {
- case 'trackback' :
- echo $trackbacktxt;
- break;
- case 'pingback' :
- echo $pingbacktxt;
- break;
- default :
- echo $commenttxt;
- }
-}
-
-function get_trackback_url() {
- global $id;
- $tb_url = get_settings('siteurl') . '/wp-trackback.php?p=' . $id;
-
- if ( '' != get_settings('permalink_structure') )
- $tb_url = trailingslashit(get_permalink()) . 'trackback/';
-
- return $tb_url;
-}
-function trackback_url( $display = true ) {
- if ( $display)
- echo get_trackback_url();
- else
- return get_trackback_url();
-}
-
-function trackback_rdf($timezone = 0) {
- global $id;
- if (!stristr($_SERVER['HTTP_USER_AGENT'], 'W3C_Validator')) {
- echo '<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
- xmlns:dc="http://purl.org/dc/elements/1.1/"
- xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/">
- <rdf:Description rdf:about="';
- the_permalink();
- echo '"'."\n";
- echo ' dc:identifier="';
- the_permalink();
- echo '"'."\n";
- echo ' dc:title="'.str_replace('--', '&#x2d;&#x2d;', wptexturize(strip_tags(get_the_title()))).'"'."\n";
- echo ' trackback:ping="'.trackback_url(0).'"'." />\n";
- echo '</rdf:RDF>';
- }
-}
-
-function comments_open() {
- global $post;
- if ( 'open' == $post->comment_status )
- return true;
- else
- return false;
-}
-
-function pings_open() {
- global $post;
- if ( 'open' == $post->ping_status )
- return true;
- else
- return false;
-}
-
-function comments_template( $file = '/comments.php' ) {
- global $wp_query, $withcomments, $post, $wpdb, $id, $comment, $user_login, $user_ID, $user_identity;
-
- if ( is_single() || is_page() || $withcomments ) :
- $req = get_settings('require_name_email');
- $comment_author = '';
- if ( isset($_COOKIE['comment_author_'.COOKIEHASH]) ) {
- $comment_author = apply_filters('pre_comment_author_name', $_COOKIE['comment_author_'.COOKIEHASH]);
- $comment_author = stripslashes($comment_author);
- $comment_author = wp_specialchars($comment_author, true);
- }
- $comment_author_email = '';
- if ( isset($_COOKIE['comment_author_email_'.COOKIEHASH]) ) {
- $comment_author_email = apply_filters('pre_comment_author_email', $_COOKIE['comment_author_email_'.COOKIEHASH]);
- $comment_author_email = stripslashes($comment_author_email);
- $comment_author_email = wp_specialchars($comment_author_email, true);
- }
- $comment_author_url = '';
- if ( isset($_COOKIE['comment_author_url_'.COOKIEHASH]) ) {
- $comment_author_url = apply_filters('pre_comment_author_url', $_COOKIE['comment_author_url_'.COOKIEHASH]);
- $comment_author_url = stripslashes($comment_author_url);
- $comment_author_url = wp_specialchars($comment_author_url, true);
- }
-
- // TODO: Use API instead of SELECTs.
- if ( empty($comment_author) ) {
- $comments = $wpdb->get_results("SELECT * FROM $wpdb->comments WHERE comment_post_ID = '$post->ID' AND comment_approved = '1' ORDER BY comment_date");
- } else {
- $author_db = $wpdb->escape($comment_author);
- $email_db = $wpdb->escape($comment_author_email);
- $comments = $wpdb->get_results("SELECT * FROM $wpdb->comments WHERE comment_post_ID = '$post->ID' AND ( comment_approved = '1' OR ( comment_author = '$author_db' AND comment_author_email = '$email_db' AND comment_approved = '0' ) ) ORDER BY comment_date");
- }
-
- define('COMMENTS_TEMPLATE', true);
- $include = apply_filters('comments_template', TEMPLATEPATH . $file );
- if ( file_exists( $include ) )
- require( $include );
- else
- require( ABSPATH . 'wp-content/themes/default/comments.php');
-
- endif;
-}
-
-function comments_popup_script($width=400, $height=400, $file='') {
- global $wpcommentspopupfile, $wptrackbackpopupfile, $wppingbackpopupfile, $wpcommentsjavascript;
-
- if (empty ($file)) {
- $wpcommentspopupfile = ''; // Use the index.
- } else {
- $wpcommentspopupfile = $file;
- }
-
- $wpcommentsjavascript = 1;
- $javascript = "<script type='text/javascript'>\nfunction wpopen (macagna) {\n window.open(macagna, '_blank', 'width=$width,height=$height,scrollbars=yes,status=yes');\n}\n</script>\n";
- echo $javascript;
-}
-
-function comments_popup_link($zero='No Comments', $one='1 Comment', $more='% Comments', $CSSclass='', $none='Comments Off') {
- global $id, $wpcommentspopupfile, $wpcommentsjavascript, $post, $wpdb;
-
- if ( is_single() || is_page() )
- return;
-
- $number = get_comments_number($id);
-
- if ( 0 == $number && 'closed' == $post->comment_status && 'closed' == $post->ping_status ) {
- echo $none;
- return;
- }
-
- if ( !empty($post->post_password) ) { // if there's a password
- if ($_COOKIE['wp-postpass_'.COOKIEHASH] != $post->post_password) { // and it doesn't match the cookie
- echo(__('Enter your password to view comments'));
- return;
- }
- }
-
- echo '<a href="';
- if ($wpcommentsjavascript) {
- if ( empty($wpcommentspopupfile) )
- $home = get_settings('home');
- else
- $home = get_settings('siteurl');
- echo $home . '/' . $wpcommentspopupfile.'?comments_popup='.$id;
- echo '" onclick="wpopen(this.href); return false"';
- } else { // if comments_popup_script() is not in the template, display simple comment link
- if ( 0 == $number )
- echo get_permalink() . '#respond';
- else
- comments_link();
- echo '"';
- }
-
- if (!empty($CSSclass)) {
- echo ' class="'.$CSSclass.'"';
- }
- $title = wp_specialchars(apply_filters('the_title', get_the_title()));
- echo ' title="' . sprintf( __('Comment on %s'), $title ) .'">';
- comments_number($zero, $one, $more, $number);
- echo '</a>';
-}
-
-?>
diff --git a/wp-inst/wp-includes/comment.php b/wp-inst/wp-includes/comment.php
deleted file mode 100644
index 9751c36..0000000
--- a/wp-inst/wp-includes/comment.php
+++ /dev/null
@@ -1,622 +0,0 @@
-<?php
-
-function check_comment($author, $email, $url, $comment, $user_ip, $user_agent, $comment_type) {
- global $wpdb;
-
- if (1 == get_settings('comment_moderation')) return false; // If moderation is set to manual
-
- if ( (count(explode('http:', $comment)) - 1) >= get_settings('comment_max_links') )
- return false; // Check # of external links
-
- $mod_keys = trim( get_settings('moderation_keys') );
- if ( !empty($mod_keys) ) {
- $words = explode("\n", $mod_keys );
-
- foreach ($words as $word) {
- $word = trim($word);
-
- // Skip empty lines
- if (empty($word)) { continue; }
-
- // Do some escaping magic so that '#' chars in the
- // spam words don't break things:
- $word = preg_quote($word, '#');
-
- $pattern = "#$word#i";
- if ( preg_match($pattern, $author) ) return false;
- if ( preg_match($pattern, $email) ) return false;
- if ( preg_match($pattern, $url) ) return false;
- if ( preg_match($pattern, $comment) ) return false;
- if ( preg_match($pattern, $user_ip) ) return false;
- if ( preg_match($pattern, $user_agent) ) return false;
- }
- }
-
- // Comment whitelisting:
- if ( 1 == get_settings('comment_whitelist')) {
- if ( 'trackback' == $comment_type || 'pingback' == $comment_type ) { // check if domain is in blogroll
- $uri = parse_url($url);
- $domain = $uri['host'];
- $uri = parse_url( get_option('home') );
- $home_domain = $uri['host'];
- if ( $wpdb->get_var("SELECT link_id FROM $wpdb->links WHERE link_url LIKE ('%$domain%') LIMIT 1") || $domain == $home_domain )
- return true;
- else
- return false;
- } elseif( $author != '' && $email != '' ) {
- $ok_to_comment = $wpdb->get_var("SELECT comment_approved FROM $wpdb->comments WHERE comment_author = '$author' AND comment_author_email = '$email' and comment_approved = '1' LIMIT 1");
- if ( ( 1 == $ok_to_comment ) &&
- ( empty($mod_keys) || false === strpos( $email, $mod_keys) ) )
- return true;
- else
- return false;
- } else {
- return false;
- }
- }
-
- return true;
-}
-
-function get_approved_comments($post_id) {
- global $wpdb;
-
- $post_id = (int) $post_id;
- return $wpdb->get_results("SELECT * FROM $wpdb->comments WHERE comment_post_ID = '$post_id' AND comment_approved = '1' ORDER BY comment_date");
-}
-
-// Retrieves comment data given a comment ID or comment object.
-// Handles comment caching.
-function &get_comment(&$comment, $output = OBJECT) {
- global $comment_cache, $wpdb;
-
- if ( empty($comment) )
- return null;
-
- if ( is_object($comment) ) {
- if ( !isset($comment_cache[$comment->comment_ID]) )
- $comment_cache[$comment->comment_ID] = &$comment;
- $_comment = & $comment_cache[$comment->comment_ID];
- } else {
- if ( !isset($comment_cache[$comment]) ) {
- $_comment = $wpdb->get_row("SELECT * FROM $wpdb->comments WHERE comment_ID = '$comment' LIMIT 1");
- $comment_cache[$comment->comment_ID] = & $_comment;
- } else {
- $_comment = & $comment_cache[$comment];
- }
- }
-
- if ( $output == OBJECT ) {
- return $_comment;
- } elseif ( $output == ARRAY_A ) {
- return get_object_vars($_comment);
- } elseif ( $output == ARRAY_N ) {
- return array_values(get_object_vars($_comment));
- } else {
- return $_comment;
- }
-}
-
-// Deprecate in favor of get_comment()?
-function get_commentdata( $comment_ID, $no_cache = 0, $include_unapproved = false ) { // less flexible, but saves DB queries
- global $postc, $id, $commentdata, $wpdb;
- if ($no_cache) {
- $query = "SELECT * FROM $wpdb->comments WHERE comment_ID = '$comment_ID'";
- if (false == $include_unapproved) {
- $query .= " AND comment_approved = '1'";
- }
- $myrow = $wpdb->get_row($query, ARRAY_A);
- } else {
- $myrow['comment_ID'] = $postc->comment_ID;
- $myrow['comment_post_ID'] = $postc->comment_post_ID;
- $myrow['comment_author'] = $postc->comment_author;
- $myrow['comment_author_email'] = $postc->comment_author_email;
- $myrow['comment_author_url'] = $postc->comment_author_url;
- $myrow['comment_author_IP'] = $postc->comment_author_IP;
- $myrow['comment_date'] = $postc->comment_date;
- $myrow['comment_content'] = $postc->comment_content;
- $myrow['comment_karma'] = $postc->comment_karma;
- $myrow['comment_approved'] = $postc->comment_approved;
- $myrow['comment_type'] = $postc->comment_type;
- }
- return $myrow;
-}
-
-function get_lastcommentmodified($timezone = 'server') {
- global $cache_lastcommentmodified, $pagenow, $wpdb;
- $add_seconds_blog = get_settings('gmt_offset') * 3600;
- $add_seconds_server = date('Z');
- $now = current_time('mysql', 1);
- if ( !isset($cache_lastcommentmodified[$timezone]) ) {
- switch(strtolower($timezone)) {
- case 'gmt':
- $lastcommentmodified = $wpdb->get_var("SELECT comment_date_gmt FROM $wpdb->comments WHERE comment_date_gmt <= '$now' ORDER BY comment_date_gmt DESC LIMIT 1");
- break;
- case 'blog':
- $lastcommentmodified = $wpdb->get_var("SELECT comment_date FROM $wpdb->comments WHERE comment_date_gmt <= '$now' ORDER BY comment_date_gmt DESC LIMIT 1");
- break;
- case 'server':
- $lastcommentmodified = $wpdb->get_var("SELECT DATE_ADD(comment_date_gmt, INTERVAL '$add_seconds_server' SECOND) FROM $wpdb->comments WHERE comment_date_gmt <= '$now' ORDER BY comment_date_gmt DESC LIMIT 1");
- break;
- }
- $cache_lastcommentmodified[$timezone] = $lastcommentmodified;
- } else {
- $lastcommentmodified = $cache_lastcommentmodified[$timezone];
- }
- return $lastcommentmodified;
-}
-
-function wp_allow_comment($commentdata) {
- global $wpdb;
- extract($commentdata);
-
- $comment_user_domain = apply_filters('pre_comment_user_domain', gethostbyaddr($comment_author_IP) );
-
- // Simple duplicate check
- $dupe = "SELECT comment_ID FROM $wpdb->comments WHERE comment_post_ID = '$comment_post_ID' AND ( comment_author = '$comment_author' ";
- if ( $comment_author_email )
- $dupe .= "OR comment_author_email = '$comment_author_email' ";
- $dupe .= ") AND comment_content = '$comment_content' LIMIT 1";
- if ( $wpdb->get_var($dupe) )
- die( __('Duplicate comment detected; it looks as though you\'ve already said that!') );
-
- // Simple flood-protection
- if ( $lasttime = $wpdb->get_var("SELECT comment_date_gmt FROM $wpdb->comments WHERE comment_author_IP = '$comment_author_IP' OR comment_author_email = '$comment_author_email' ORDER BY comment_date DESC LIMIT 1") ) {
- $time_lastcomment = mysql2date('U', $lasttime);
- $time_newcomment = mysql2date('U', $comment_date_gmt);
- if ( ($time_newcomment - $time_lastcomment) < 15 ) {
- do_action('comment_flood_trigger', $time_lastcomment, $time_newcomment);
- die( __('Sorry, you can only post a new comment once every 15 seconds. Slow down cowboy.') );
- }
- }
-
- if ( $user_id ) {
- $userdata = get_userdata($user_id);
- $user = new WP_User($user_id);
- $post_author = $wpdb->get_var("SELECT post_author FROM $wpdb->posts WHERE ID = '$comment_post_ID' LIMIT 1");
- }
-
- // The author and the admins get respect.
- if ( $userdata && ( $user_id == $post_author || $user->has_cap('level_9') ) ) {
- $approved = 1;
- }
-
- // Everyone else's comments will be checked.
- else {
- if ( check_comment($comment_author, $comment_author_email, $comment_author_url, $comment_content, $comment_author_IP, $comment_agent, $comment_type) )
- $approved = 1;
- else
- $approved = 0;
- if ( wp_blacklist_check($comment_author, $comment_author_email, $comment_author_url, $comment_content, $comment_author_IP, $comment_agent) )
- $approved = 'spam';
- }
-
- $approved = apply_filters('pre_comment_approved', $approved);
- return $approved;
-}
-
-function wp_blacklist_check($author, $email, $url, $comment, $user_ip, $user_agent) {
- global $wpdb;
-
- do_action('wp_blacklist_check', $author, $email, $url, $comment, $user_ip, $user_agent);
-
- if ( preg_match_all('/&#(\d+);/', $comment . $author . $url, $chars) ) {
- foreach ($chars[1] as $char) {
- // If it's an encoded char in the normal ASCII set, reject
- if ( 38 == $char )
- continue; // Unless it's &
- if ($char < 128)
- return true;
- }
- }
-
- $mod_keys = trim( get_settings('blacklist_keys') );
- if ('' == $mod_keys )
- return false; // If moderation keys are empty
- $words = explode("\n", $mod_keys );
-
- foreach ($words as $word) {
- $word = trim($word);
-
- // Skip empty lines
- if ( empty($word) ) { continue; }
-
- // Do some escaping magic so that '#' chars in the
- // spam words don't break things:
- $word = preg_quote($word, '#');
-
- $pattern = "#$word#i";
- if ( preg_match($pattern, $author ) ) return true;
- if ( preg_match($pattern, $email ) ) return true;
- if ( preg_match($pattern, $url ) ) return true;
- if ( preg_match($pattern, $comment ) ) return true;
- if ( preg_match($pattern, $user_ip ) ) return true;
- if ( preg_match($pattern, $user_agent) ) return true;
- }
-
- if ( isset($_SERVER['REMOTE_ADDR']) ) {
- if ( wp_proxy_check($_SERVER['REMOTE_ADDR']) ) return true;
- }
-
- return false;
-}
-
-function wp_delete_comment($comment_id) {
- global $wpdb;
- do_action('delete_comment', $comment_id);
-
- $comment = get_comment($comment_id);
-
- if ( ! $wpdb->query("DELETE FROM $wpdb->comments WHERE comment_ID='$comment_id' LIMIT 1") )
- return false;
-
- $post_id = $comment->comment_post_ID;
- if ( $post_id && $comment->comment_approved == 1 )
- wp_update_comment_count($post_id);
-
- do_action('wp_set_comment_status', $comment_id, 'delete');
- return true;
-}
-
-function wp_get_comment_status($comment_id) {
- global $wpdb;
-
- $result = $wpdb->get_var("SELECT comment_approved FROM $wpdb->comments WHERE comment_ID='$comment_id' LIMIT 1");
- if ($result == NULL) {
- return 'deleted';
- } else if ($result == '1') {
- return 'approved';
- } else if ($result == '0') {
- return 'unapproved';
- } else if ($result == 'spam') {
- return 'spam';
- } else {
- return false;
- }
-}
-
-function wp_insert_comment($commentdata) {
- global $wpdb;
- extract($commentdata);
-
- if ( ! isset($comment_author_IP) )
- $comment_author_IP = $_SERVER['REMOTE_ADDR'];
- if ( ! isset($comment_date) )
- $comment_date = current_time('mysql');
- if ( ! isset($comment_date_gmt) )
- $comment_date_gmt = gmdate('Y-m-d H:i:s', strtotime($comment_date) );
- if ( ! isset($comment_parent) )
- $comment_parent = 0;
- if ( ! isset($comment_approved) )
- $comment_approved = 1;
- if ( ! isset($user_id) )
- $user_id = 0;
-
- $result = $wpdb->query("INSERT INTO $wpdb->comments
- (comment_post_ID, comment_author, comment_author_email, comment_author_url, comment_author_IP, comment_date, comment_date_gmt, comment_content, comment_approved, comment_agent, comment_type, comment_parent, user_id)
- VALUES
- ('$comment_post_ID', '$comment_author', '$comment_author_email', '$comment_author_url', '$comment_author_IP', '$comment_date', '$comment_date_gmt', '$comment_content', '$comment_approved', '$comment_agent', '$comment_type', '$comment_parent', '$user_id')
- ");
-
- $id = $wpdb->insert_id;
-
- if ( $comment_approved == 1)
- wp_update_comment_count($comment_post_ID);
-
- return $id;
-}
-
-function wp_filter_comment($commentdata) {
- $commentdata['user_id'] = apply_filters('pre_user_id', $commentdata['user_ID']);
- $commentdata['comment_agent'] = apply_filters('pre_comment_user_agent', $commentdata['comment_agent']);
- $commentdata['comment_author'] = apply_filters('pre_comment_author_name', $commentdata['comment_author']);
- $commentdata['comment_content'] = apply_filters('pre_comment_content', $commentdata['comment_content']);
- $commentdata['comment_author_IP'] = apply_filters('pre_comment_user_ip', $commentdata['comment_author_IP']);
- $commentdata['comment_author_url'] = apply_filters('pre_comment_author_url', $commentdata['comment_author_url']);
- $commentdata['comment_author_email'] = apply_filters('pre_comment_author_email', $commentdata['comment_author_email']);
- $commentdata['filtered'] = true;
- return $commentdata;
-}
-
-function wp_new_comment( $commentdata ) {
- $commentdata = apply_filters('preprocess_comment', $commentdata);
-
- $commentdata['comment_post_ID'] = (int) $commentdata['comment_post_ID'];
- $commentdata['user_ID'] = (int) $commentdata['user_ID'];
-
- $commentdata['comment_author_IP'] = $_SERVER['REMOTE_ADDR'];
- $commentdata['comment_agent'] = $_SERVER['HTTP_USER_AGENT'];
-
- $commentdata['comment_date'] = current_time('mysql');
- $commentdata['comment_date_gmt'] = current_time('mysql', 1);
-
-
- $commentdata = wp_filter_comment($commentdata);
-
- $commentdata['comment_approved'] = wp_allow_comment($commentdata);
-
- $comment_ID = wp_insert_comment($commentdata);
-
- do_action('comment_post', $comment_ID, $commentdata['comment_approved']);
-
- if ( 'spam' !== $commentdata['comment_approved'] ) { // If it's spam save it silently for later crunching
- if ( '0' == $commentdata['comment_approved'] )
- wp_notify_moderator($comment_ID);
-
- $post = &get_post($commentdata['comment_post_ID']); // Don't notify if it's your own comment
-
- if ( get_settings('comments_notify') && $commentdata['comment_approved'] && $post->post_author != $commentdata['user_ID'] )
- wp_notify_postauthor($comment_ID, $commentdata['comment_type']);
- }
-
- return $comment_ID;
-}
-
-function wp_set_comment_status($comment_id, $comment_status) {
- global $wpdb;
-
- switch($comment_status) {
- case 'hold':
- $query = "UPDATE $wpdb->comments SET comment_approved='0' WHERE comment_ID='$comment_id' LIMIT 1";
- break;
- case 'approve':
- $query = "UPDATE $wpdb->comments SET comment_approved='1' WHERE comment_ID='$comment_id' LIMIT 1";
- break;
- case 'spam':
- $query = "UPDATE $wpdb->comments SET comment_approved='spam' WHERE comment_ID='$comment_id' LIMIT 1";
- break;
- case 'delete':
- return wp_delete_comment($comment_id);
- break;
- default:
- return false;
- }
-
- if ($wpdb->query($query)) {
- do_action('wp_set_comment_status', $comment_id, $comment_status);
-
- $comment = get_comment($comment_id);
- $comment_post_ID = $comment->comment_post_ID;
- $c = $wpdb->get_row( "SELECT count(*) as c FROM {$wpdb->comments} WHERE comment_post_ID = '$comment_post_ID' AND comment_approved = '1'" );
- if( is_object( $c ) )
- $wpdb->query( "UPDATE $wpdb->posts SET comment_count = '$c->c' WHERE ID = '$comment_post_ID'" );
- return true;
- } else {
- return false;
- }
-}
-
-function wp_update_comment($commentarr) {
- global $wpdb;
-
- // First, get all of the original fields
- $comment = get_comment($commentarr['comment_ID'], ARRAY_A);
-
- // Escape data pulled from DB.
- foreach ($comment as $key => $value)
- $comment[$key] = $wpdb->escape($value);
-
- // Merge old and new fields with new fields overwriting old ones.
- $commentarr = array_merge($comment, $commentarr);
-
- $commentarr = wp_filter_comment( $commentarr );
-
- // Now extract the merged array.
- extract($commentarr);
-
- $comment_content = apply_filters('comment_save_pre', $comment_content);
-
- $result = $wpdb->query(
- "UPDATE $wpdb->comments SET
- comment_content = '$comment_content',
- comment_author = '$comment_author',
- comment_author_email = '$comment_author_email',
- comment_approved = '$comment_approved',
- comment_author_url = '$comment_author_url',
- comment_date = '$comment_date'
- WHERE comment_ID = $comment_ID" );
-
- $rval = $wpdb->rows_affected;
-
- wp_update_comment_count($comment_post_ID);
-
- do_action('edit_comment', $comment_ID);
-
- return $rval;
-}
-
-function wp_update_comment_count($post_id) {
- global $wpdb, $comment_count_cache;
- $post_id = (int) $post_id;
- if ( !$post_id )
- return false;
- $count = $wpdb->get_var("SELECT COUNT(*) FROM $wpdb->comments WHERE comment_post_ID = '$post_id' AND comment_approved = '1'");
- $wpdb->query("UPDATE $wpdb->posts SET comment_count = $count WHERE ID = '$post_id'");
- $comment_count_cache[$post_id] = $count;
- return true;
-}
-
-function pingback($content, $post_ID) {
- global $wp_version, $wpdb;
- include_once (ABSPATH . WPINC . '/class-IXR.php');
-
- // original code by Mort (http://mort.mine.nu:8080)
- $log = debug_fopen(ABSPATH . '/pingback.log', 'a');
- $post_links = array();
- debug_fwrite($log, 'BEGIN '.date('YmdHis', time())."\n");
-
- $pung = get_pung($post_ID);
-
- // Variables
- $ltrs = '\w';
- $gunk = '/#~:.?+=&%@!\-';
- $punc = '.:?\-';
- $any = $ltrs . $gunk . $punc;
-
- // Step 1
- // Parsing the post, external links (if any) are stored in the $post_links array
- // This regexp comes straight from phpfreaks.com
- // http://www.phpfreaks.com/quickcode/Extract_All_URLs_on_a_Page/15.php
- preg_match_all("{\b http : [$any] +? (?= [$punc] * [^$any] | $)}x", $content, $post_links_temp);
-
- // Debug
- debug_fwrite($log, 'Post contents:');
- debug_fwrite($log, $content."\n");
-
- // Step 2.
- // Walking thru the links array
- // first we get rid of links pointing to sites, not to specific files
- // Example:
- // http://dummy-weblog.org
- // http://dummy-weblog.org/
- // http://dummy-weblog.org/post.php
- // We don't wanna ping first and second types, even if they have a valid <link/>
-
- foreach($post_links_temp[0] as $link_test) :
- if ( !in_array($link_test, $pung) && (url_to_postid($link_test) != $post_ID) // If we haven't pung it already and it isn't a link to itself
- && !is_local_attachment($link_test) ) : // Also, let's never ping local attachments.
- $test = parse_url($link_test);
- if (isset($test['query']))
- $post_links[] = $link_test;
- elseif(($test['path'] != '/') && ($test['path'] != ''))
- $post_links[] = $link_test;
- endif;
- endforeach;
-
- do_action('pre_ping', array(&$post_links, &$pung));
-
- foreach ($post_links as $pagelinkedto){
- debug_fwrite($log, "Processing -- $pagelinkedto\n");
- $pingback_server_url = discover_pingback_server_uri($pagelinkedto, 2048);
-
- if ($pingback_server_url) {
- @ set_time_limit( 60 );
- // Now, the RPC call
- debug_fwrite($log, "Page Linked To: $pagelinkedto \n");
- debug_fwrite($log, 'Page Linked From: ');
- $pagelinkedfrom = get_permalink($post_ID);
- debug_fwrite($log, $pagelinkedfrom."\n");
-
- // using a timeout of 3 seconds should be enough to cover slow servers
- $client = new IXR_Client($pingback_server_url);
- $client->timeout = 3;
- $client->useragent .= ' -- WordPress/' . $wp_version;
-
- // when set to true, this outputs debug messages by itself
- $client->debug = false;
-
- if ( $client->query('pingback.ping', $pagelinkedfrom, $pagelinkedto ) )
- add_ping( $post_ID, $pagelinkedto );
- else
- debug_fwrite($log, "Error.\n Fault code: ".$client->getErrorCode()." : ".$client->getErrorMessage()."\n");
- }
- }
-
- debug_fwrite($log, "\nEND: ".time()."\n****************************\n");
- debug_fclose($log);
-}
-
-function discover_pingback_server_uri($url, $timeout_bytes = 2048) {
- global $wp_version;
-
- $byte_count = 0;
- $contents = '';
- $headers = '';
- $pingback_str_dquote = 'rel="pingback"';
- $pingback_str_squote = 'rel=\'pingback\'';
- $x_pingback_str = 'x-pingback: ';
- $pingback_href_original_pos = 27;
-
- extract(parse_url($url));
-
- if (!isset($host)) {
- // Not an URL. This should never happen.
- return false;
- }
-
- $path = (!isset($path)) ? '/' : $path;
- $path .= (isset($query)) ? '?'.$query : '';
- $port = (isset($port)) ? $port : 80;
-
- // Try to connect to the server at $host
- $fp = @fsockopen($host, $port, $errno, $errstr, 2);
- if (!$fp) {
- // Couldn't open a connection to $host;
- return false;
- }
-
- // Send the GET request
- $request = "GET $path HTTP/1.1\r\nHost: $host\r\nUser-Agent: WordPress/$wp_version \r\n\r\n";
-// ob_end_flush();
- fputs($fp, $request);
-
- // Let's check for an X-Pingback header first
- while (!feof($fp)) {
- $line = fgets($fp, 512);
- if (trim($line) == '') {
- break;
- }
- $headers .= trim($line)."\n";
- $x_pingback_header_offset = strpos(strtolower($headers), $x_pingback_str);
- if ($x_pingback_header_offset) {
- // We got it!
- preg_match('#x-pingback: (.+)#is', $headers, $matches);
- $pingback_server_url = trim($matches[1]);
- return $pingback_server_url;
- }
- if(strpos(strtolower($headers), 'content-type: ')) {
- preg_match('#content-type: (.+)#is', $headers, $matches);
- $content_type = trim($matches[1]);
- }
- }
-
- if (preg_match('#(image|audio|video|model)/#is', $content_type)) {
- // Not an (x)html, sgml, or xml page, no use going further
- return false;
- }
-
- while (!feof($fp)) {
- $line = fgets($fp, 1024);
- $contents .= trim($line);
- $pingback_link_offset_dquote = strpos($contents, $pingback_str_dquote);
- $pingback_link_offset_squote = strpos($contents, $pingback_str_squote);
- if ($pingback_link_offset_dquote || $pingback_link_offset_squote) {
- $quote = ($pingback_link_offset_dquote) ? '"' : '\'';
- $pingback_link_offset = ($quote=='"') ? $pingback_link_offset_dquote : $pingback_link_offset_squote;
- $pingback_href_pos = @strpos($contents, 'href=', $pingback_link_offset);
- $pingback_href_start = $pingback_href_pos+6;
- $pingback_href_end = @strpos($contents, $quote, $pingback_href_start);
- $pingback_server_url_len = $pingback_href_end - $pingback_href_start;
- $pingback_server_url = substr($contents, $pingback_href_start, $pingback_server_url_len);
- // We may find rel="pingback" but an incomplete pingback URI
- if ($pingback_server_url_len > 0) {
- // We got it!
- return $pingback_server_url;
- }
- }
- $byte_count += strlen($line);
- if ($byte_count > $timeout_bytes) {
- // It's no use going further, there probably isn't any pingback
- // server to find in this file. (Prevents loading large files.)
- return false;
- }
- }
-
- // We didn't find anything.
- return false;
-}
-
-function is_local_attachment($url) {
- if ( !strstr($url, get_bloginfo('home') ) )
- return false;
- if ( strstr($url, get_bloginfo('home') . '/?attachment_id=') )
- return true;
- if ( $id = url_to_postid($url) ) {
- $post = & get_post($id);
- if ( 'attachment' == $post->post_type )
- return true;
- }
- return false;
-}
-
-?>
diff --git a/wp-inst/wp-includes/compat.php b/wp-inst/wp-includes/compat.php
deleted file mode 100644
index 49717a4..0000000
--- a/wp-inst/wp-includes/compat.php
+++ /dev/null
@@ -1,114 +0,0 @@
-<?php
-
-/* Functions missing from older PHP versions */
-
-
-/* Added in PHP 4.2.0 */
-
-if (!function_exists('floatval')) {
- function floatval($string) {
- return ((float) $string);
- }
-}
-
-if (!function_exists('is_a')) {
- function is_a($object, $class) {
- // by Aidan Lister <aidan@php.net>
- if (get_class($object) == strtolower($class)) {
- return true;
- } else {
- return is_subclass_of($object, $class);
- }
- }
-}
-
-if (!function_exists('ob_clean')) {
- function ob_clean() {
- // by Aidan Lister <aidan@php.net>
- if (@ob_end_clean()) {
- return ob_start();
- }
- return false;
- }
-}
-
-
-/* Added in PHP 4.3.0 */
-
-function printr($var, $do_not_echo = false) {
- // from php.net/print_r user contributed notes
- ob_start();
- print_r($var);
- $code = htmlentities(ob_get_contents());
- ob_clean();
- if (!$do_not_echo) {
- echo "<pre>$code</pre>";
- }
- ob_end_clean();
- return $code;
-}
-
-/* compatibility with PHP versions older than 4.3 */
-if ( !function_exists('file_get_contents') ) {
- function file_get_contents( $file ) {
- $file = file($file);
- return !$file ? false : implode('', $file);
- }
-}
-
-if (!defined('CASE_LOWER')) {
- define('CASE_LOWER', 0);
-}
-
-if (!defined('CASE_UPPER')) {
- define('CASE_UPPER', 1);
-}
-
-
-/**
- * Replace array_change_key_case()
- *
- * @category PHP
- * @package PHP_Compat
- * @link http://php.net/function.array_change_key_case
- * @author Stephan Schmidt <schst@php.net>
- * @author Aidan Lister <aidan@php.net>
- * @version $Revision: 3862 $
- * @since PHP 4.2.0
- * @require PHP 4.0.0 (user_error)
- */
-if (!function_exists('array_change_key_case')) {
- function array_change_key_case($input, $case = CASE_LOWER)
- {
- if (!is_array($input)) {
- user_error('array_change_key_case(): The argument should be an array',
- E_USER_WARNING);
- return false;
- }
-
- $output = array ();
- $keys = array_keys($input);
- $casefunc = ($case == CASE_LOWER) ? 'strtolower' : 'strtoupper';
-
- foreach ($keys as $key) {
- $output[$casefunc($key)] = $input[$key];
- }
-
- return $output;
- }
-}
-
-// From php.net
-if(!function_exists('http_build_query')) {
- function http_build_query( $formdata, $numeric_prefix = null, $key = null ) {
- $res = array();
- foreach ((array)$formdata as $k=>$v) {
- $tmp_key = urlencode(is_int($k) ? $numeric_prefix.$k : $k);
- if ($key) $tmp_key = $key.'['.$tmp_key.']';
- $res[] = ( ( is_array($v) || is_object($v) ) ? http_build_query($v, null, $tmp_key) : $tmp_key."=".urlencode($v) );
- }
- $separator = ini_get('arg_separator.output');
- return implode($separator, $res);
- }
-}
-?>
diff --git a/wp-inst/wp-includes/cron.php b/wp-inst/wp-includes/cron.php
deleted file mode 100644
index bab3bf6..0000000
--- a/wp-inst/wp-includes/cron.php
+++ /dev/null
@@ -1,113 +0,0 @@
-<?php
-
-function wp_schedule_single_event( $timestamp, $hook ) {
- $args = array_slice( func_get_args(), 2 );
- $crons = get_option( 'cron' );
- $crons[$timestamp][$hook] = array( 'schedule' => false, 'args' => $args );
- ksort( $crons );
- update_option( 'cron', $crons );
-}
-
-function wp_schedule_event( $timestamp, $recurrence, $hook ) {
- $args = array_slice( func_get_args(), 3 );
- $crons = get_option( 'cron' );
- $schedules = wp_get_schedules();
- if ( !isset( $schedules[$recurrence] ) )
- return false;
- $crons[$timestamp][$hook] = array( 'schedule' => $recurrence, 'args' => $args, 'interval' => $schedules[$recurrence]['interval'] );
- ksort( $crons );
- update_option( 'cron', $crons );
-}
-
-function wp_reschedule_event( $timestamp, $recurrence, $hook ) {
- $args = array_slice( func_get_args(), 3 );
- $crons = get_option( 'cron' );
- $schedules = wp_get_schedules();
- $interval = 0;
-
- // First we try to get it from the schedule
- if ( 0 == $interval )
- $interval = $schedules[$recurrence]['interval'];
- // Now we try to get it from the saved interval in case the schedule disappears
- if ( 0 == $interval )
- $interval = $crons[$timestamp][$hook]['interval'];
- // Now we assume something is wrong and fail to schedule
- if ( 0 == $interval )
- return false;
-
- while ( $timestamp < time() + 1 )
- $timestamp += $interval;
-
- wp_schedule_event( $timestamp, $recurrence, $hook );
-}
-
-function wp_unschedule_event( $timestamp, $hook ) {
- $crons = get_option( 'cron' );
- unset( $crons[$timestamp][$hook] );
- if ( empty($crons[$timestamp]) )
- unset( $crons[$timestamp] );
- update_option( 'cron', $crons );
-}
-
-function wp_clear_scheduled_hook( $hook ) {
- while ( $timestamp = wp_next_scheduled( $hook ) )
- wp_unschedule_event( $timestamp, $hook );
-}
-
-function wp_next_scheduled( $hook ) {
- $crons = get_option( 'cron' );
- if ( empty($crons) )
- return false;
- foreach ( $crons as $timestamp => $cron )
- if ( isset( $cron[$hook] ) )
- return $timestamp;
- return false;
-}
-
-function spawn_cron() {
- $keys = array_keys( get_option( 'cron' ) );
- if ( array_shift( $keys ) > time() )
- return;
-
- $cron_url = get_settings( 'siteurl' ) . '/wp-cron.php';
- $parts = parse_url( $cron_url );
-
- $argyle = @ fsockopen( $parts['host'], $_SERVER['SERVER_PORT'], $errno, $errstr, 0.01 );
- if ( $argyle )
- fputs( $argyle,
- "GET {$parts['path']}?check=" . md5(DB_PASS . '187425') . " HTTP/1.0\r\n"
- . "Host: {$_SERVER['HTTP_HOST']}\r\n\r\n"
- );
-}
-
-function wp_cron() {
- $crons = get_option( 'cron' );
-
- if ( !is_array($crons) )
- return;
-
- $keys = array_keys( $crons );
- if ( array_shift( $keys ) > time() )
- return;
-
- $schedules = wp_get_schedules();
- foreach ( $crons as $timestamp => $cronhooks ) {
- if ( $timestamp > time() ) break;
- foreach ( $cronhooks as $hook => $args ) {
- if ( isset($schedules[$hook]['callback']) && !call_user_func( $schedules[$hook]['callback'] ) )
- continue;
- spawn_cron();
- break 2;
- }
- }
-}
-
-function wp_get_schedules() {
- $schedules = array(
- 'hourly' => array( 'interval' => 3600, 'display' => __('Once Hourly') ),
- 'daily' => array( 'interval' => 86400, 'display' => __('Once Daily') ),
- );
- return array_merge( apply_filters( 'cron_schedules', array() ), $schedules );
-}
-
-?>
diff --git a/wp-inst/wp-includes/default-filters.php b/wp-inst/wp-includes/default-filters.php
deleted file mode 100644
index 8500a0c..0000000
--- a/wp-inst/wp-includes/default-filters.php
+++ /dev/null
@@ -1,130 +0,0 @@
-<?php
-
-// Some default filters
-add_filter('bloginfo','wp_specialchars');
-add_filter('category_description', 'wptexturize');
-add_filter('list_cats', 'wptexturize');
-add_filter('comment_author', 'wptexturize');
-add_filter('comment_text', 'wptexturize');
-add_filter('single_post_title', 'wptexturize');
-add_filter('the_title', 'wptexturize');
-add_filter('the_content', 'wptexturize');
-add_filter('the_excerpt', 'wptexturize');
-add_filter('bloginfo', 'wptexturize');
-
-// Comments, trackbacks, pingbacks
-add_filter('pre_comment_author_name', 'strip_tags');
-add_filter('pre_comment_author_name', 'trim');
-add_filter('pre_comment_author_name', 'wp_specialchars', 30);
-
-add_filter('pre_comment_author_email', 'trim');
-add_filter('pre_comment_author_email', 'sanitize_email');
-
-add_filter('pre_comment_author_url', 'strip_tags');
-add_filter('pre_comment_author_url', 'trim');
-add_filter('pre_comment_author_url', 'clean_url');
-
-add_filter('pre_comment_content', 'wp_rel_nofollow', 15);
-add_filter('pre_comment_content', 'balanceTags', 30);
-
-add_filter('pre_comment_author_name', 'wp_filter_kses');
-add_filter('pre_comment_author_email', 'wp_filter_kses');
-add_filter('pre_comment_author_url', 'wp_filter_kses');
-
-// Default filters for these functions
-add_filter('comment_author', 'wptexturize');
-add_filter('comment_author', 'convert_chars');
-add_filter('comment_author', 'wp_specialchars');
-
-add_filter('comment_email', 'antispambot');
-
-add_filter('comment_url', 'clean_url');
-
-add_filter('comment_text', 'convert_chars');
-add_filter('comment_text', 'make_clickable');
-add_filter('comment_text', 'wpautop', 30);
-add_filter('comment_text', 'convert_smilies', 20);
-
-add_filter('comment_excerpt', 'convert_chars');
-
-// Categories
-add_filter('pre_category_name', 'strip_tags');
-add_filter('pre_category_name', 'trim');
-add_filter('pre_category_name', 'wp_filter_kses');
-add_filter('pre_category_name', 'wp_specialchars', 30);
-add_filter('pre_category_description', 'wp_filter_kses');
-
-// Users
-add_filter('pre_user_display_name', 'strip_tags');
-add_filter('pre_user_display_name', 'trim');
-add_filter('pre_user_display_name', 'wp_filter_kses');
-add_filter('pre_user_display_name', 'wp_specialchars', 30);
-add_filter('pre_user_first_name', 'strip_tags');
-add_filter('pre_user_first_name', 'trim');
-add_filter('pre_user_first_name', 'wp_filter_kses');
-add_filter('pre_user_first_name', 'wp_specialchars', 30);
-add_filter('pre_user_last_name', 'strip_tags');
-add_filter('pre_user_last_name', 'trim');
-add_filter('pre_user_last_name', 'wp_filter_kses');
-add_filter('pre_user_last_name', 'wp_specialchars', 30);
-add_filter('pre_user_nickname', 'strip_tags');
-add_filter('pre_user_nickname', 'trim');
-add_filter('pre_user_nickname', 'wp_filter_kses');
-add_filter('pre_user_nickname', 'wp_specialchars', 30);
-add_filter('pre_user_description', 'trim');
-add_filter('pre_user_description', 'wp_filter_kses');
-add_filter('pre_user_url', 'strip_tags');
-add_filter('pre_user_url', 'trim');
-add_filter('pre_user_url', 'clean_url');
-add_filter('pre_user_email', 'trim');
-add_filter('pre_user_email', 'sanitize_email');
-
-// Places to balance tags on input
-add_filter('content_save_pre', 'balanceTags', 50);
-add_filter('excerpt_save_pre', 'balanceTags', 50);
-add_filter('comment_save_pre', 'balanceTags', 50);
-
-// Misc. title, content, and excerpt filters
-add_filter('the_title', 'convert_chars');
-add_filter('the_title', 'trim');
-
-add_filter('the_content', 'convert_smilies');
-add_filter('the_content', 'convert_chars');
-add_filter('the_content', 'wpautop');
-
-add_filter('the_excerpt', 'convert_smilies');
-add_filter('the_excerpt', 'convert_chars');
-add_filter('the_excerpt', 'wpautop');
-add_filter('get_the_excerpt', 'wp_trim_excerpt');
-
-add_filter('sanitize_title', 'sanitize_title_with_dashes');
-
-// RSS filters
-add_filter('the_title_rss', 'strip_tags');
-add_filter('the_title_rss', 'ent2ncr', 8);
-add_filter('the_content_rss', 'ent2ncr', 8);
-add_filter('the_excerpt_rss', 'convert_chars');
-add_filter('the_excerpt_rss', 'ent2ncr', 8);
-add_filter('comment_author_rss', 'ent2ncr', 8);
-add_filter('comment_text_rss', 'htmlspecialchars');
-add_filter('comment_text_rss', 'ent2ncr', 8);
-add_filter('bloginfo_rss', 'ent2ncr', 8);
-add_filter('the_author', 'ent2ncr', 8);
-
-// Misc filters
-add_filter('option_ping_sites', 'privacy_ping_filter');
-
-// Actions
-add_action('wp_head', 'rsd_link');
-add_action('publish_future_post', 'wp_publish_post', 10, 1);
-add_action('wp_head', 'noindex', 1);
-add_action('wp_head', 'wp_print_scripts');
-if(!defined('DOING_CRON'))
- add_action('init', 'wp_cron');
-add_action('do_feed_rdf', 'do_feed_rdf', 10, 1);
-add_action('do_feed_rss', 'do_feed_rss', 10, 1);
-add_action('do_feed_rss2', 'do_feed_rss2', 10, 1);
-add_action('do_feed_atom', 'do_feed_atom', 10, 1);
-add_action('do_pings', 'do_all_pings', 10, 1);
-add_action('do_robots', 'do_robots');
-?>
diff --git a/wp-inst/wp-includes/deprecated.php b/wp-inst/wp-includes/deprecated.php
deleted file mode 100644
index 0794b59..0000000
--- a/wp-inst/wp-includes/deprecated.php
+++ /dev/null
@@ -1,479 +0,0 @@
-<?php
-/*
- * Deprecated functios come here to die.
- */
-
-// Deprecated. Use get_post().
-function get_postdata($postid) {
- $post = &get_post($postid);
-
- $postdata = array (
- 'ID' => $post->ID,
- 'Author_ID' => $post->post_author,
- 'Date' => $post->post_date,
- 'Content' => $post->post_content,
- 'Excerpt' => $post->post_excerpt,
- 'Title' => $post->post_title,
- 'Category' => $post->post_category,
- 'post_status' => $post->post_status,
- 'comment_status' => $post->comment_status,
- 'ping_status' => $post->ping_status,
- 'post_password' => $post->post_password,
- 'to_ping' => $post->to_ping,
- 'pinged' => $post->pinged,
- 'post_type' => $post->post_type,
- 'post_name' => $post->post_name
- );
-
- return $postdata;
-}
-
-// Deprecated. Use the new post loop.
-function start_wp() {
- global $wp_query, $post;
-
- // Since the old style loop is being used, advance the query iterator here.
- $wp_query->next_post();
-
- setup_postdata($post);
-}
-
-// Deprecated.
-function the_category_ID($echo = true) {
- // Grab the first cat in the list.
- $categories = get_the_category();
- $cat = $categories[0]->cat_ID;
-
- if ( $echo )
- echo $cat;
-
- return $cat;
-}
-
-// Deprecated.
-function the_category_head($before='', $after='') {
- global $currentcat, $previouscat;
- // Grab the first cat in the list.
- $categories = get_the_category();
- $currentcat = $categories[0]->category_id;
- if ( $currentcat != $previouscat ) {
- echo $before;
- echo get_the_category_by_ID($currentcat);
- echo $after;
- $previouscat = $currentcat;
- }
-}
-
-// Deprecated. Use previous_post_link().
-function previous_post($format='%', $previous='previous post: ', $title='yes', $in_same_cat='no', $limitprev=1, $excluded_categories='') {
-
- if ( empty($in_same_cat) || 'no' == $in_same_cat )
- $in_same_cat = false;
- else
- $in_same_cat = true;
-
- $post = get_previous_post($in_same_cat, $excluded_categories);
-
- if ( !$post )
- return;
-
- $string = '<a href="'.get_permalink($post->ID).'">'.$previous;
- if ( 'yes' == $title )
- $string .= apply_filters('the_title', $post->post_title, $post);
- $string .= '</a>';
- $format = str_replace('%', $string, $format);
- echo $format;
-}
-
-// Deprecated. Use next_post_link().
-function next_post($format='%', $next='next post: ', $title='yes', $in_same_cat='no', $limitnext=1, $excluded_categories='') {
-
- if ( empty($in_same_cat) || 'no' == $in_same_cat )
- $in_same_cat = false;
- else
- $in_same_cat = true;
-
- $post = get_next_post($in_same_cat, $excluded_categories);
-
- if ( !$post )
- return;
-
- $string = '<a href="'.get_permalink($post->ID).'">'.$next;
- if ( 'yes' == $title )
- $string .= apply_filters('the_title', $post->post_title, $nextpost);
- $string .= '</a>';
- $format = str_replace('%', $string, $format);
- echo $format;
-}
-
-//
-// These are deprecated. Use current_user_can().
-//
-
-/* returns true if $user_id can create a new post */
-function user_can_create_post($user_id, $blog_id = 1, $category_id = 'None') {
- $author_data = get_userdata($user_id);
- return ($author_data->user_level > 1);
-}
-
-/* returns true if $user_id can create a new post */
-function user_can_create_draft($user_id, $blog_id = 1, $category_id = 'None') {
- $author_data = get_userdata($user_id);
- return ($author_data->user_level >= 1);
-}
-
-/* returns true if $user_id can edit $post_id */
-function user_can_edit_post($user_id, $post_id, $blog_id = 1) {
- $author_data = get_userdata($user_id);
- $post = get_post($post_id);
- $post_author_data = get_userdata($post->post_author);
-
- if ( (($user_id == $post_author_data->ID) && !($post->post_status == 'publish' && $author_data->user_level < 2))
- || ($author_data->user_level > $post_author_data->user_level)
- || ($author_data->user_level >= 10) ) {
- return true;
- } else {
- return false;
- }
-}
-
-/* returns true if $user_id can delete $post_id */
-function user_can_delete_post($user_id, $post_id, $blog_id = 1) {
- // right now if one can edit, one can delete
- return user_can_edit_post($user_id, $post_id, $blog_id);
-}
-
-/* returns true if $user_id can set new posts' dates on $blog_id */
-function user_can_set_post_date($user_id, $blog_id = 1, $category_id = 'None') {
- $author_data = get_userdata($user_id);
- return (($author_data->user_level > 4) && user_can_create_post($user_id, $blog_id, $category_id));
-}
-
-/* returns true if $user_id can edit $post_id's date */
-function user_can_edit_post_date($user_id, $post_id, $blog_id = 1) {
- $author_data = get_userdata($user_id);
- return (($author_data->user_level > 4) && user_can_edit_post($user_id, $post_id, $blog_id));
-}
-
-/* returns true if $user_id can edit $post_id's comments */
-function user_can_edit_post_comments($user_id, $post_id, $blog_id = 1) {
- // right now if one can edit a post, one can edit comments made on it
- return user_can_edit_post($user_id, $post_id, $blog_id);
-}
-
-/* returns true if $user_id can delete $post_id's comments */
-function user_can_delete_post_comments($user_id, $post_id, $blog_id = 1) {
- // right now if one can edit comments, one can delete comments
- return user_can_edit_post_comments($user_id, $post_id, $blog_id);
-}
-
-function user_can_edit_user($user_id, $other_user) {
- $user = get_userdata($user_id);
- $other = get_userdata($other_user);
- if ( $user->user_level > $other->user_level || $user->user_level > 8 || $user->ID == $other->ID )
- return true;
- else
- return false;
-}
-
-/** function get_linksbyname()
- ** Gets the links associated with category 'cat_name'.
- ** Parameters:
- ** cat_name (default 'noname') - The category name to use. If no
- ** match is found uses all
- ** before (default '') - the html to output before the link
- ** after (default '<br />') - the html to output after the link
- ** between (default ' ') - the html to output between the link/image
- ** and it's description. Not used if no image or show_images == true
- ** show_images (default true) - whether to show images (if defined).
- ** orderby (default 'id') - the order to output the links. E.g. 'id', 'name',
- ** 'url', 'description' or 'rating'. Or maybe owner. If you start the
- ** name with an underscore the order will be reversed.
- ** You can also specify 'rand' as the order which will return links in a
- ** random order.
- ** show_description (default true) - whether to show the description if
- ** show_images=false/not defined
- ** show_rating (default false) - show rating stars/chars
- ** limit (default -1) - Limit to X entries. If not specified, all entries
- ** are shown.
- ** show_updated (default 0) - whether to show last updated timestamp
- */
-function get_linksbyname($cat_name = "noname", $before = '', $after = '<br />',
- $between = " ", $show_images = true, $orderby = 'id',
- $show_description = true, $show_rating = false,
- $limit = -1, $show_updated = 0) {
- global $wpdb;
- $cat_id = -1;
- $results = $wpdb->get_results("SELECT cat_ID FROM $wpdb->categories WHERE cat_name='$cat_name'");
- if ($results) {
- foreach ($results as $result) {
- $cat_id = $result->cat_ID;
- }
- }
- get_links($cat_id, $before, $after, $between, $show_images, $orderby,
- $show_description, $show_rating, $limit, $show_updated);
-}
-
-/** function wp_get_linksbyname()
- ** Gets the links associated with the named category.
- ** Parameters:
- ** category (no default) - The category to use.
- **/
-function wp_get_linksbyname($category, $args = '') {
- global $wpdb;
-
- $cat_id = $wpdb->get_var("SELECT cat_ID FROM $wpdb->categories WHERE cat_name='$category' LIMIT 1");
-
- if (! $cat_id)
- return;
-
- $args = add_query_arg('category', $cat_id, $args);
- wp_get_links($args);
-} // end wp_get_linksbyname
-
-/** function get_linkobjectsbyname()
- ** Gets an array of link objects associated with category 'cat_name'.
- ** Parameters:
- ** cat_name (default 'noname') - The category name to use. If no
- ** match is found uses all
- ** orderby (default 'id') - the order to output the links. E.g. 'id', 'name',
- ** 'url', 'description', or 'rating'. Or maybe owner. If you start the
- ** name with an underscore the order will be reversed.
- ** You can also specify 'rand' as the order which will return links in a
- ** random order.
- ** limit (default -1) - Limit to X entries. If not specified, all entries
- ** are shown.
- **
- ** Use this like:
- ** $links = get_linkobjectsbyname('fred');
- ** foreach ($links as $link) {
- ** echo '<li>'.$link->link_name.'</li>';
- ** }
- **/
-// Deprecate in favor of get_linkz().
-function get_linkobjectsbyname($cat_name = "noname" , $orderby = 'name', $limit = -1) {
- global $wpdb;
- $cat_id = -1;
- //$results = $wpdb->get_results("SELECT cat_id FROM $wpdb->linkcategories WHERE cat_name='$cat_name'");
- // TODO: Fix me.
- if ($results) {
- foreach ($results as $result) {
- $cat_id = $result->cat_id;
- }
- }
- return get_linkobjects($cat_id, $orderby, $limit);
-}
-
-/** function get_linkobjects()
- ** Gets an array of link objects associated with category n.
- ** Parameters:
- ** category (default -1) - The category to use. If no category supplied
- ** uses all
- ** orderby (default 'id') - the order to output the links. E.g. 'id', 'name',
- ** 'url', 'description', or 'rating'. Or maybe owner. If you start the
- ** name with an underscore the order will be reversed.
- ** You can also specify 'rand' as the order which will return links in a
- ** random order.
- ** limit (default -1) - Limit to X entries. If not specified, all entries
- ** are shown.
- **
- ** Use this like:
- ** $links = get_linkobjects(1);
- ** if ($links) {
- ** foreach ($links as $link) {
- ** echo '<li>'.$link->link_name.'<br />'.$link->link_description.'</li>';
- ** }
- ** }
- ** Fields are:
- ** link_id
- ** link_url
- ** link_name
- ** link_image
- ** link_target
- ** link_category
- ** link_description
- ** link_visible
- ** link_owner
- ** link_rating
- ** link_updated
- ** link_rel
- ** link_notes
- **/
-// Deprecate in favor of get_linkz().
-function get_linkobjects($category = -1, $orderby = 'name', $limit = -1) {
- global $wpdb;
-
- $sql = "SELECT * FROM $wpdb->links WHERE link_visible = 'Y'";
- if ($category != -1) {
- $sql .= " AND link_category = $category ";
- }
- if ($orderby == '')
- $orderby = 'id';
- if (substr($orderby,0,1) == '_') {
- $direction = ' DESC';
- $orderby = substr($orderby,1);
- }
- if (strcasecmp('rand',$orderby) == 0) {
- $orderby = 'rand()';
- } else {
- $orderby = " link_" . $orderby;
- }
- $sql .= ' ORDER BY ' . $orderby;
- $sql .= $direction;
- /* The next 2 lines implement LIMIT TO processing */
- if ($limit != -1)
- $sql .= " LIMIT $limit";
-
- $results = $wpdb->get_results($sql);
- if ($results) {
- foreach ($results as $result) {
- $result->link_url = $result->link_url;
- $result->link_name = $result->link_name;
- $result->link_description = $result->link_description;
- $result->link_notes = $result->link_notes;
- $newresults[] = $result;
- }
- }
- return $newresults;
-}
-
-/** function get_linksbyname_withrating()
- ** Gets the links associated with category 'cat_name' and display rating stars/chars.
- ** Parameters:
- ** cat_name (default 'noname') - The category name to use. If no
- ** match is found uses all
- ** before (default '') - the html to output before the link
- ** after (default '<br />') - the html to output after the link
- ** between (default ' ') - the html to output between the link/image
- ** and it's description. Not used if no image or show_images == true
- ** show_images (default true) - whether to show images (if defined).
- ** orderby (default 'id') - the order to output the links. E.g. 'id', 'name',
- ** 'url' or 'description'. Or maybe owner. If you start the
- ** name with an underscore the order will be reversed.
- ** You can also specify 'rand' as the order which will return links in a
- ** random order.
- ** show_description (default true) - whether to show the description if
- ** show_images=false/not defined
- ** limit (default -1) - Limit to X entries. If not specified, all entries
- ** are shown.
- ** show_updated (default 0) - whether to show last updated timestamp
- */
-function get_linksbyname_withrating($cat_name = "noname", $before = '',
- $after = '<br />', $between = " ",
- $show_images = true, $orderby = 'id',
- $show_description = true, $limit = -1, $show_updated = 0) {
-
- get_linksbyname($cat_name, $before, $after, $between, $show_images,
- $orderby, $show_description, true, $limit, $show_updated);
-}
-
-/** function get_links_withrating()
- ** Gets the links associated with category n and display rating stars/chars.
- ** Parameters:
- ** category (default -1) - The category to use. If no category supplied
- ** uses all
- ** before (default '') - the html to output before the link
- ** after (default '<br />') - the html to output after the link
- ** between (default ' ') - the html to output between the link/image
- ** and it's description. Not used if no image or show_images == true
- ** show_images (default true) - whether to show images (if defined).
- ** orderby (default 'id') - the order to output the links. E.g. 'id', 'name',
- ** 'url' or 'description'. Or maybe owner. If you start the
- ** name with an underscore the order will be reversed.
- ** You can also specify 'rand' as the order which will return links in a
- ** random order.
- ** show_description (default true) - whether to show the description if
- ** show_images=false/not defined .
- ** limit (default -1) - Limit to X entries. If not specified, all entries
- ** are shown.
- ** show_updated (default 0) - whether to show last updated timestamp
- */
-function get_links_withrating($category = -1, $before = '', $after = '<br />',
- $between = " ", $show_images = true,
- $orderby = 'id', $show_description = true,
- $limit = -1, $show_updated = 0) {
-
- get_links($category, $before, $after, $between, $show_images, $orderby,
- $show_description, true, $limit, $show_updated);
-}
-
-/** function get_get_autotoggle()
- ** Gets the auto_toggle setting of category n.
- ** Parameters: id (default 0) - The category to get. If no category supplied
- ** uses 0
- */
-function get_autotoggle($id = 0) {
- return 0;
-}
-
-function list_cats($optionall = 1, $all = 'All', $sort_column = 'ID', $sort_order = 'asc', $file = '', $list = true, $optiondates = 0, $optioncount = 0, $hide_empty = 1, $use_desc_for_title = 1, $children=FALSE, $child_of=0, $categories=0, $recurse=0, $feed = '', $feed_image = '', $exclude = '', $hierarchical=FALSE) {
- $query = "optionall=$optionall&all=$all&sort_column=$sort_column&sort_order=$sort_order&list=$list&optiondates=$optiondates&optioncount=$optioncount&hide_empty=$hide_empty&use_desc_for_title=$use_desc_for_title&child_of=$child_of&feed=$feed&feed_image=$feed_image&exclude=$exclude&hierarchical=$hierarchical";
- return wp_list_cats($query);
-}
-
-function wp_list_cats($args = '') {
- if ( is_array($args) )
- $r = &$args;
- else
- parse_str($args, $r);
-
- // Map to new names.
- if ( isset($r['optionall']) && isset($r['all']))
- $r['show_option_all'] = $r['all'];
- if ( isset($r['sort_column']) )
- $r['orderby'] = $r['sort_column'];
- if ( isset($r['sort_order']) )
- $r['order'] = $r['sort_order'];
- if ( isset($r['optiondates']) )
- $r['show_last_update'] = $r['optiondates'];
- if ( isset($r['optioncount']) )
- $r['show_count'] = $r['optioncount'];
- if ( !empty($r['list']) )
- $r['style'] = 'break';
- $r['title_li'] = '';
-
- return wp_list_categories($r);
-}
-
-function dropdown_cats($optionall = 1, $all = 'All', $orderby = 'ID', $order = 'asc',
- $show_last_update = 0, $show_count = 0, $hide_empty = 1, $optionnone = FALSE,
- $selected = 0, $exclude = 0) {
-
- $show_option_all = '';
- if ( $optionall )
- $show_option_all = $all;
-
- $show_option_none = '';
- if ( $optionnone )
- $show_option_none = __('None');
-
- $vars = compact('show_option_all', 'show_option_none', 'orderby', 'order',
- 'show_last_update', 'show_count', 'hide_empty', 'selected', 'exclude');
- $query = add_query_arg($vars, '');
- return wp_dropdown_categories($query);
-}
-
-// Deprecated. Use wp_print_scripts() or WP_Scripts instead.
-function tinymce_include() {
- wp_print_script( 'wp_tiny_mce' );
-}
-
-function list_authors($optioncount = false, $exclude_admin = true, $show_fullname = false, $hide_empty = true, $feed = '', $feed_image = '') {
- $args = compact('optioncount', 'exclude_admin', 'show_fullname', 'hide_empty', 'feed', 'feed_image');
- return wp_list_authors($args);
-}
-
-function wp_get_post_cats($blogid = '1', $post_ID = 0) {
- return wp_get_post_categories($post_ID);
-}
-
-function wp_set_post_cats($blogid = '1', $post_ID = 0, $post_categories = array()) {
- return wp_set_post_categories($post_ID, $post_categories);
-}
-
-function get_archives($type='', $limit='', $format='html', $before = '', $after = '', $show_post_count = false) {
- $args = compact('type', 'limit', 'format', 'before', 'after', 'show_post_count');
- return wp_get_archives($args);
-}
-
-?>
diff --git a/wp-inst/wp-includes/feed.php b/wp-inst/wp-includes/feed.php
deleted file mode 100644
index c406b7b..0000000
--- a/wp-inst/wp-includes/feed.php
+++ /dev/null
@@ -1,164 +0,0 @@
-<?php
-
-function get_bloginfo_rss($show = '') {
- $info = strip_tags(get_bloginfo($show));
- return apply_filters('bloginfo_rss', convert_chars($info));
-}
-
-function bloginfo_rss($show = '') {
- echo get_bloginfo_rss($show);
-}
-
-function get_the_title_rss() {
- $title = get_the_title();
- $title = apply_filters('the_title', $title);
- $title = apply_filters('the_title_rss', $title);
- return $title;
-}
-
-function the_title_rss() {
- echo get_the_title_rss();
-}
-
-function the_content_rss($more_link_text='(more...)', $stripteaser=0, $more_file='', $cut = 0, $encode_html = 0) {
- $content = get_the_content($more_link_text, $stripteaser, $more_file);
- $content = apply_filters('the_content_rss', $content);
- if ($cut && !$encode_html) {
- $encode_html = 2;
- }
- if ($encode_html == 1) {
- $content = wp_specialchars($content);
- $cut = 0;
- } elseif ($encode_html == 0) {
- $content = make_url_footnote($content);
- } elseif ($encode_html == 2) {
- $content = strip_tags($content);
- }
- if ($cut) {
- $blah = explode(' ', $content);
- if (count($blah) > $cut) {
- $k = $cut;
- $use_dotdotdot = 1;
- } else {
- $k = count($blah);
- $use_dotdotdot = 0;
- }
- for ($i=0; $i<$k; $i++) {
- $excerpt .= $blah[$i].' ';
- }
- $excerpt .= ($use_dotdotdot) ? '...' : '';
- $content = $excerpt;
- }
- $content = str_replace(']]>', ']]&gt;', $content);
- echo $content;
-}
-
-function the_excerpt_rss() {
- $output = get_the_excerpt(true);
- echo apply_filters('the_excerpt_rss', $output);
-}
-
-function permalink_single_rss($file = '') {
- echo get_permalink();
-}
-
-function comment_link() {
- echo get_comment_link();
-}
-
-function get_comment_author_rss() {
- return apply_filters('comment_author_rss', get_comment_author() );
-}
-function comment_author_rss() {
- echo get_comment_author_rss();
-}
-
-function comment_text_rss() {
- $comment_text = get_comment_text();
- $comment_text = apply_filters('comment_text_rss', $comment_text);
- echo $comment_text;
-}
-
-function comments_rss_link($link_text = 'Comments RSS', $commentsrssfilename = '') {
- $url = comments_rss($commentsrssfilename);
- echo "<a href='$url'>$link_text</a>";
-}
-
-function comments_rss($commentsrssfilename = '') {
- global $id;
-
- if ('' != get_settings('permalink_structure'))
- $url = trailingslashit( get_permalink() ) . 'feed/';
- else
- $url = get_settings('home') . "/$commentsrssfilename?feed=rss2&amp;p=$id";
-
- return apply_filters('post_comments_feed_link', $url);
-}
-
-function get_author_rss_link($echo = false, $author_id, $author_nicename) {
- $auth_ID = $author_id;
- $permalink_structure = get_settings('permalink_structure');
-
- if ('' == $permalink_structure) {
- $link = get_settings('home') . '?feed=rss2&amp;author=' . $author_id;
- } else {
- $link = get_author_link(0, $author_id, $author_nicename);
- $link = $link . "feed/";
- }
-
- $link = apply_filters('author_feed_link', $link);
-
- if ($echo) echo $link;
- return $link;
-}
-
-function get_category_rss_link($echo = false, $cat_ID, $category_nicename) {
- $permalink_structure = get_settings('permalink_structure');
-
- if ('' == $permalink_structure) {
- $link = get_settings('home') . '?feed=rss2&amp;cat=' . $cat_ID;
- } else {
- $link = get_category_link($cat_ID);
- $link = $link . "feed/";
- }
-
- $link = apply_filters('category_feed_link', $link);
-
- if ($echo) echo $link;
- return $link;
-}
-
-function the_category_rss($type = 'rss') {
- $categories = get_the_category();
- $the_list = '';
- foreach ($categories as $category) {
- $category->cat_name = convert_chars($category->cat_name);
- if ('rdf' == $type) {
- $the_list .= "\n\t<dc:subject>$category->cat_name</dc:subject>";
- } else {
- $the_list .= "\n\t<category>$category->cat_name</category>";
- }
- }
- echo apply_filters('the_category_rss', $the_list, $type);
-}
-
-function rss_enclosure() {
- global $id, $post;
- if (!empty($post->post_password) && ($_COOKIE['wp-postpass_'.COOKIEHASH] != $post->post_password)) return;
-
- $custom_fields = get_post_custom();
- if( is_array( $custom_fields ) ) {
- while( list( $key, $val ) = each( $custom_fields ) ) {
- if( $key == 'enclosure' ) {
- if (is_array($val)) {
- foreach($val as $enc) {
- $enclosure = split( "\n", $enc );
- print "<enclosure url='".trim( htmlspecialchars($enclosure[ 0 ]) )."' length='".trim( $enclosure[ 1 ] )."' type='".trim( $enclosure[ 2 ] )."'/>\n";
- }
- }
- }
- }
- }
-}
-
-?> \ No newline at end of file
diff --git a/wp-inst/wp-includes/formatting.php b/wp-inst/wp-includes/formatting.php
deleted file mode 100644
index 61cd1b2..0000000
--- a/wp-inst/wp-includes/formatting.php
+++ /dev/null
@@ -1,1049 +0,0 @@
-<?php
-
-function wptexturize($text) {
- $output = '';
- // Capture tags and everything inside them
- $textarr = preg_split("/(<.*>)/Us", $text, -1, PREG_SPLIT_DELIM_CAPTURE);
- $stop = count($textarr); $next = true; // loop stuff
- for ($i = 0; $i < $stop; $i++) {
- $curl = $textarr[$i];
-
- if (isset($curl{0}) && '<' != $curl{0} && $next) { // If it's not a tag
- $curl = str_replace('---', '&#8212;', $curl);
- $curl = str_replace(' -- ', ' &#8212; ', $curl);
- $curl = str_replace('--', '&#8211;', $curl);
- $curl = str_replace('xn&#8211;', 'xn--', $curl);
- $curl = str_replace('...', '&#8230;', $curl);
- $curl = str_replace('``', '&#8220;', $curl);
-
- // This is a hack, look at this more later. It works pretty well though.
- $cockney = array("'tain't","'twere","'twas","'tis","'twill","'til","'bout","'nuff","'round","'cause");
- $cockneyreplace = array("&#8217;tain&#8217;t","&#8217;twere","&#8217;twas","&#8217;tis","&#8217;twill","&#8217;til","&#8217;bout","&#8217;nuff","&#8217;round","&#8217;cause");
- $curl = str_replace($cockney, $cockneyreplace, $curl);
-
- $curl = preg_replace("/'s/", '&#8217;s', $curl);
- $curl = preg_replace("/'(\d\d(?:&#8217;|')?s)/", "&#8217;$1", $curl);
- $curl = preg_replace('/(\s|\A|")\'/', '$1&#8216;', $curl);
- $curl = preg_replace('/(\d+)"/', '$1&#8243;', $curl);
- $curl = preg_replace("/(\d+)'/", '$1&#8242;', $curl);
- $curl = preg_replace("/(\S)'([^'\s])/", "$1&#8217;$2", $curl);
- $curl = preg_replace('/(\s|\A)"(?!\s)/', '$1&#8220;$2', $curl);
- $curl = preg_replace('/"(\s|\S|\Z)/', '&#8221;$1', $curl);
- $curl = preg_replace("/'([\s.]|\Z)/", '&#8217;$1', $curl);
- $curl = preg_replace("/ \(tm\)/i", ' &#8482;', $curl);
- $curl = str_replace("''", '&#8221;', $curl);
-
- $curl = preg_replace('/(\d+)x(\d+)/', "$1&#215;$2", $curl);
-
- } elseif (strstr($curl, '<code') || strstr($curl, '<pre') || strstr($curl, '<kbd' || strstr($curl, '<style') || strstr($curl, '<script'))) {
- // strstr is fast
- $next = false;
- } else {
- $next = true;
- }
- $curl = preg_replace('/&([^#])(?![a-zA-Z1-4]{1,8};)/', '&#038;$1', $curl);
- $output .= $curl;
- }
- return $output;
-}
-
-function clean_pre($text) {
- $text = str_replace('<br />', '', $text);
- $text = str_replace('<p>', "\n", $text);
- $text = str_replace('</p>', '', $text);
- return $text;
-}
-
-function wpautop($pee, $br = 1) {
- $pee = $pee . "\n"; // just to make things a little easier, pad the end
- $pee = preg_replace('|<br />\s*<br />|', "\n\n", $pee);
- // Space things out a little
- $pee = preg_replace('!(<(?:table|thead|tfoot|caption|colgroup|tbody|tr|td|th|div|dl|dd|dt|ul|ol|li|pre|select|form|blockquote|address|math|p|h[1-6])[^>]*>)!', "\n$1", $pee);
- $pee = preg_replace('!(</(?:table|thead|tfoot|caption|colgroup|tbody|tr|td|th|div|dl|dd|dt|ul|ol|li|pre|select|form|blockquote|address|math|p|h[1-6])>)!', "$1\n\n", $pee);
- $pee = str_replace(array("\r\n", "\r"), "\n", $pee); // cross-platform newlines
- $pee = preg_replace("/\n\n+/", "\n\n", $pee); // take care of duplicates
- $pee = preg_replace('/\n?(.+?)(?:\n\s*\n|\z)/s', "<p>$1</p>\n", $pee); // make paragraphs, including one at the end
- $pee = preg_replace('|<p>\s*?</p>|', '', $pee); // under certain strange conditions it could create a P of entirely whitespace
- $pee = preg_replace('!<p>\s*(</?(?:table|thead|tfoot|caption|colgroup|tbody|tr|td|th|div|dl|dd|dt|ul|ol|li|hr|pre|select|form|blockquote|address|math|p|h[1-6])[^>]*>)\s*</p>!', "$1", $pee); // don't pee all over a tag
- $pee = preg_replace("|<p>(<li.+?)</p>|", "$1", $pee); // problem with nested lists
- $pee = preg_replace('|<p><blockquote([^>]*)>|i', "<blockquote$1><p>", $pee);
- $pee = str_replace('</blockquote></p>', '</p></blockquote>', $pee);
- $pee = preg_replace('!<p>\s*(</?(?:table|thead|tfoot|caption|colgroup|tbody|tr|td|th|div|dl|dd|dt|ul|ol|li|hr|pre|select|form|blockquote|address|math|p|h[1-6])[^>]*>)!', "$1", $pee);
- $pee = preg_replace('!(</?(?:table|thead|tfoot|caption|colgroup|tbody|tr|td|th|div|dl|dd|dt|ul|ol|li|pre|select|form|blockquote|address|math|p|h[1-6])[^>]*>)\s*</p>!', "$1", $pee);
- if ($br) $pee = preg_replace('|(?<!<br />)\s*\n|', "<br />\n", $pee); // optionally make line breaks
- $pee = preg_replace('!(</?(?:table|thead|tfoot|caption|tbody|tr|td|th|div|dl|dd|dt|ul|ol|li|pre|select|form|blockquote|address|math|p|h[1-6])[^>]*>)\s*<br />!', "$1", $pee);
- $pee = preg_replace('!<br />(\s*</?(?:p|li|div|dl|dd|dt|th|pre|td|ul|ol)>)!', '$1', $pee);
- $pee = preg_replace('!(<pre.*?>)(.*?)</pre>!ise', " stripslashes('$1') . stripslashes(clean_pre('$2')) . '</pre>' ", $pee);
-
- return $pee;
-}
-
-
-function seems_utf8($Str) { # by bmorel at ssi dot fr
- for ($i=0; $i<strlen($Str); $i++) {
- if (ord($Str[$i]) < 0x80) continue; # 0bbbbbbb
- elseif ((ord($Str[$i]) & 0xE0) == 0xC0) $n=1; # 110bbbbb
- elseif ((ord($Str[$i]) & 0xF0) == 0xE0) $n=2; # 1110bbbb
- elseif ((ord($Str[$i]) & 0xF8) == 0xF0) $n=3; # 11110bbb
- elseif ((ord($Str[$i]) & 0xFC) == 0xF8) $n=4; # 111110bb
- elseif ((ord($Str[$i]) & 0xFE) == 0xFC) $n=5; # 1111110b
- else return false; # Does not match any model
- for ($j=0; $j<$n; $j++) { # n bytes matching 10bbbbbb follow ?
- if ((++$i == strlen($Str)) || ((ord($Str[$i]) & 0xC0) != 0x80))
- return false;
- }
- }
- return true;
-}
-
-function wp_specialchars( $text, $quotes = 0 ) {
- // Like htmlspecialchars except don't double-encode HTML entities
- $text = preg_replace('/&([^#])(?![a-z1-4]{1,8};)/', '&#038;$1', $text);
- $text = str_replace('<', '&lt;', $text);
- $text = str_replace('>', '&gt;', $text);
- if ( 'double' === $quotes ) {
- $text = str_replace('"', '&quot;', $text);
- } elseif ( 'single' === $quotes ) {
- $text = str_replace("'", '&#039;', $text);
- } elseif ( $quotes ) {
- $text = str_replace('"', '&quot;', $text);
- $text = str_replace("'", '&#039;', $text);
- }
- return $text;
-}
-
-function utf8_uri_encode( $utf8_string ) {
- $unicode = '';
- $values = array();
- $num_octets = 1;
-
- for ($i = 0; $i < strlen( $utf8_string ); $i++ ) {
-
- $value = ord( $utf8_string[ $i ] );
-
- if ( $value < 128 ) {
- $unicode .= chr($value);
- } else {
- if ( count( $values ) == 0 ) $num_octets = ( $value < 224 ) ? 2 : 3;
-
- $values[] = $value;
-
- if ( count( $values ) == $num_octets ) {
- if ($num_octets == 3) {
- $unicode .= '%' . dechex($values[0]) . '%' . dechex($values[1]) . '%' . dechex($values[2]);
- } else {
- $unicode .= '%' . dechex($values[0]) . '%' . dechex($values[1]);
- }
-
- $values = array();
- $num_octets = 1;
- }
- }
- }
-
- return $unicode;
-}
-
-function remove_accents($string) {
- if (seems_utf8($string)) {
- $chars = array(
- // Decompositions for Latin-1 Supplement
- chr(195).chr(128) => 'A', chr(195).chr(129) => 'A',
- chr(195).chr(130) => 'A', chr(195).chr(131) => 'A',
- chr(195).chr(132) => 'A', chr(195).chr(133) => 'A',
- chr(195).chr(135) => 'C', chr(195).chr(136) => 'E',
- chr(195).chr(137) => 'E', chr(195).chr(138) => 'E',
- chr(195).chr(139) => 'E', chr(195).chr(140) => 'I',
- chr(195).chr(141) => 'I', chr(195).chr(142) => 'I',
- chr(195).chr(143) => 'I', chr(195).chr(145) => 'N',
- chr(195).chr(146) => 'O', chr(195).chr(147) => 'O',
- chr(195).chr(148) => 'O', chr(195).chr(149) => 'O',
- chr(195).chr(150) => 'O', chr(195).chr(153) => 'U',
- chr(195).chr(154) => 'U', chr(195).chr(155) => 'U',
- chr(195).chr(156) => 'U', chr(195).chr(157) => 'Y',
- chr(195).chr(159) => 's', chr(195).chr(160) => 'a',
- chr(195).chr(161) => 'a', chr(195).chr(162) => 'a',
- chr(195).chr(163) => 'a', chr(195).chr(164) => 'a',
- chr(195).chr(165) => 'a', chr(195).chr(167) => 'c',
- chr(195).chr(168) => 'e', chr(195).chr(169) => 'e',
- chr(195).chr(170) => 'e', chr(195).chr(171) => 'e',
- chr(195).chr(172) => 'i', chr(195).chr(173) => 'i',
- chr(195).chr(174) => 'i', chr(195).chr(175) => 'i',
- 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(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(191) => 'y',
- // Decompositions for Latin Extended-A
- chr(196).chr(128) => 'A', chr(196).chr(129) => 'a',
- chr(196).chr(130) => 'A', chr(196).chr(131) => 'a',
- chr(196).chr(132) => 'A', chr(196).chr(133) => 'a',
- chr(196).chr(134) => 'C', chr(196).chr(135) => 'c',
- chr(196).chr(136) => 'C', chr(196).chr(137) => 'c',
- chr(196).chr(138) => 'C', chr(196).chr(139) => 'c',
- chr(196).chr(140) => 'C', chr(196).chr(141) => 'c',
- chr(196).chr(142) => 'D', chr(196).chr(143) => 'd',
- chr(196).chr(144) => 'D', chr(196).chr(145) => 'd',
- chr(196).chr(146) => 'E', chr(196).chr(147) => 'e',
- chr(196).chr(148) => 'E', chr(196).chr(149) => 'e',
- chr(196).chr(150) => 'E', chr(196).chr(151) => 'e',
- chr(196).chr(152) => 'E', chr(196).chr(153) => 'e',
- chr(196).chr(154) => 'E', chr(196).chr(155) => 'e',
- chr(196).chr(156) => 'G', chr(196).chr(157) => 'g',
- chr(196).chr(158) => 'G', chr(196).chr(159) => 'g',
- chr(196).chr(160) => 'G', chr(196).chr(161) => 'g',
- chr(196).chr(162) => 'G', chr(196).chr(163) => 'g',
- chr(196).chr(164) => 'H', chr(196).chr(165) => 'h',
- chr(196).chr(166) => 'H', chr(196).chr(167) => 'h',
- chr(196).chr(168) => 'I', chr(196).chr(169) => 'i',
- chr(196).chr(170) => 'I', chr(196).chr(171) => 'i',
- chr(196).chr(172) => 'I', chr(196).chr(173) => 'i',
- chr(196).chr(174) => 'I', chr(196).chr(175) => 'i',
- chr(196).chr(176) => 'I', chr(196).chr(177) => 'i',
- chr(196).chr(178) => 'IJ',chr(196).chr(179) => 'ij',
- chr(196).chr(180) => 'J', chr(196).chr(181) => 'j',
- chr(196).chr(182) => 'K', chr(196).chr(183) => 'k',
- chr(196).chr(184) => 'k', chr(196).chr(185) => 'L',
- chr(196).chr(186) => 'l', chr(196).chr(187) => 'L',
- chr(196).chr(188) => 'l', chr(196).chr(189) => 'L',
- chr(196).chr(190) => 'l', chr(196).chr(191) => 'L',
- chr(197).chr(128) => 'l', chr(197).chr(129) => 'L',
- chr(197).chr(130) => 'l', chr(197).chr(131) => 'N',
- chr(197).chr(132) => 'n', chr(197).chr(133) => 'N',
- chr(197).chr(134) => 'n', chr(197).chr(135) => 'N',
- chr(197).chr(136) => 'n', chr(197).chr(137) => 'N',
- chr(197).chr(138) => 'n', chr(197).chr(139) => 'N',
- chr(197).chr(140) => 'O', chr(197).chr(141) => 'o',
- chr(197).chr(142) => 'O', chr(197).chr(143) => 'o',
- chr(197).chr(144) => 'O', chr(197).chr(145) => 'o',
- chr(197).chr(146) => 'OE',chr(197).chr(147) => 'oe',
- chr(197).chr(148) => 'R',chr(197).chr(149) => 'r',
- chr(197).chr(150) => 'R',chr(197).chr(151) => 'r',
- chr(197).chr(152) => 'R',chr(197).chr(153) => 'r',
- chr(197).chr(154) => 'S',chr(197).chr(155) => 's',
- chr(197).chr(156) => 'S',chr(197).chr(157) => 's',
- chr(197).chr(158) => 'S',chr(197).chr(159) => 's',
- chr(197).chr(160) => 'S', chr(197).chr(161) => 's',
- chr(197).chr(162) => 'T', chr(197).chr(163) => 't',
- chr(197).chr(164) => 'T', chr(197).chr(165) => 't',
- chr(197).chr(166) => 'T', chr(197).chr(167) => 't',
- chr(197).chr(168) => 'U', chr(197).chr(169) => 'u',
- chr(197).chr(170) => 'U', chr(197).chr(171) => 'u',
- chr(197).chr(172) => 'U', chr(197).chr(173) => 'u',
- chr(197).chr(174) => 'U', chr(197).chr(175) => 'u',
- chr(197).chr(176) => 'U', chr(197).chr(177) => 'u',
- chr(197).chr(178) => 'U', chr(197).chr(179) => 'u',
- chr(197).chr(180) => 'W', chr(197).chr(181) => 'w',
- chr(197).chr(182) => 'Y', chr(197).chr(183) => 'y',
- chr(197).chr(184) => 'Y', chr(197).chr(185) => 'Z',
- chr(197).chr(186) => 'z', chr(197).chr(187) => 'Z',
- chr(197).chr(188) => 'z', chr(197).chr(189) => 'Z',
- chr(197).chr(190) => 'z', chr(197).chr(191) => 's',
- // Euro Sign
- chr(226).chr(130).chr(172) => 'E');
-
- $string = strtr($string, $chars);
- } else {
- // Assume ISO-8859-1 if not UTF-8
- $chars['in'] = chr(128).chr(131).chr(138).chr(142).chr(154).chr(158)
- .chr(159).chr(162).chr(165).chr(181).chr(192).chr(193).chr(194)
- .chr(195).chr(196).chr(197).chr(199).chr(200).chr(201).chr(202)
- .chr(203).chr(204).chr(205).chr(206).chr(207).chr(209).chr(210)
- .chr(211).chr(212).chr(213).chr(214).chr(216).chr(217).chr(218)
- .chr(219).chr(220).chr(221).chr(224).chr(225).chr(226).chr(227)
- .chr(228).chr(229).chr(231).chr(232).chr(233).chr(234).chr(235)
- .chr(236).chr(237).chr(238).chr(239).chr(241).chr(242).chr(243)
- .chr(244).chr(245).chr(246).chr(248).chr(249).chr(250).chr(251)
- .chr(252).chr(253).chr(255);
-
- $chars['out'] = "EfSZszYcYuAAAAAACEEEEIIIINOOOOOOUUUUYaaaaaaceeeeiiiinoooooouuuuyy";
-
- $string = strtr($string, $chars['in'], $chars['out']);
- $double_chars['in'] = array(chr(140), chr(156), chr(198), chr(208), chr(222), chr(223), chr(230), chr(240), chr(254));
- $double_chars['out'] = array('OE', 'oe', 'AE', 'DH', 'TH', 'ss', 'ae', 'dh', 'th');
- $string = str_replace($double_chars['in'], $double_chars['out'], $string);
- }
-
- return $string;
-}
-
-function sanitize_user( $username, $strict = false ) {
- $raw_username = $username;
- $username = strip_tags($username);
- // Kill octets
- $username = preg_replace('|%([a-fA-F0-9][a-fA-F0-9])|', '', $username);
- $username = preg_replace('/&.+?;/', '', $username); // Kill entities
-
- // If strict, reduce to ASCII for max portability.
- if ( $strict )
- $username = preg_replace('|[^a-z0-9 _.\-@]|i', '', $username);
-
- return apply_filters('sanitize_user', $username, $raw_username, $strict);
-}
-
-function sanitize_title($title, $fallback_title = '') {
- $title = strip_tags($title);
- $title = apply_filters('sanitize_title', $title);
-
- if (empty($title)) {
- $title = $fallback_title;
- }
-
- return $title;
-}
-
-function sanitize_title_with_dashes($title) {
- $title = strip_tags($title);
- // Preserve escaped octets.
- $title = preg_replace('|%([a-fA-F0-9][a-fA-F0-9])|', '---$1---', $title);
- // Remove percent signs that are not part of an octet.
- $title = str_replace('%', '', $title);
- // Restore octets.
- $title = preg_replace('|---([a-fA-F0-9][a-fA-F0-9])---|', '%$1', $title);
-
- $title = remove_accents($title);
- if (seems_utf8($title)) {
- if (function_exists('mb_strtolower')) {
- $title = mb_strtolower($title, 'UTF-8');
- }
- $title = utf8_uri_encode($title);
- }
-
- $title = strtolower($title);
- $title = preg_replace('/&.+?;/', '', $title); // kill entities
- $title = preg_replace('/[^%a-z0-9 _-]/', '', $title);
- $title = preg_replace('/\s+/', '-', $title);
- $title = preg_replace('|-+|', '-', $title);
- $title = trim($title, '-');
-
- return $title;
-}
-
-function convert_chars($content, $flag = 'obsolete') {
- // Translation of invalid Unicode references range to valid range
- $wp_htmltranswinuni = array(
- '&#128;' => '&#8364;', // the Euro sign
- '&#129;' => '',
- '&#130;' => '&#8218;', // these are Windows CP1252 specific characters
- '&#131;' => '&#402;', // they would look weird on non-Windows browsers
- '&#132;' => '&#8222;',
- '&#133;' => '&#8230;',
- '&#134;' => '&#8224;',
- '&#135;' => '&#8225;',
- '&#136;' => '&#710;',
- '&#137;' => '&#8240;',
- '&#138;' => '&#352;',
- '&#139;' => '&#8249;',
- '&#140;' => '&#338;',
- '&#141;' => '',
- '&#142;' => '&#382;',
- '&#143;' => '',
- '&#144;' => '',
- '&#145;' => '&#8216;',
- '&#146;' => '&#8217;',
- '&#147;' => '&#8220;',
- '&#148;' => '&#8221;',
- '&#149;' => '&#8226;',
- '&#150;' => '&#8211;',
- '&#151;' => '&#8212;',
- '&#152;' => '&#732;',
- '&#153;' => '&#8482;',
- '&#154;' => '&#353;',
- '&#155;' => '&#8250;',
- '&#156;' => '&#339;',
- '&#157;' => '',
- '&#158;' => '',
- '&#159;' => '&#376;'
- );
-
- // Remove metadata tags
- $content = preg_replace('/<title>(.+?)<\/title>/','',$content);
- $content = preg_replace('/<category>(.+?)<\/category>/','',$content);
-
- // Converts lone & characters into &#38; (a.k.a. &amp;)
- $content = preg_replace('/&([^#])(?![a-z1-4]{1,8};)/i', '&#038;$1', $content);
-
- // Fix Word pasting
- $content = strtr($content, $wp_htmltranswinuni);
-
- // Just a little XHTML help
- $content = str_replace('<br>', '<br />', $content);
- $content = str_replace('<hr>', '<hr />', $content);
-
- return $content;
-}
-
-function funky_javascript_fix($text) {
- // Fixes for browsers' javascript bugs
- global $is_macIE, $is_winIE;
-
- if ( $is_winIE || $is_macIE )
- $text = preg_replace("/\%u([0-9A-F]{4,4})/e", "'&#'.base_convert('\\1',16,10).';'", $text);
-
- return $text;
-}
-
-/*
- balanceTags
-
- Balances Tags of string using a modified stack.
-
- @param text Text to be balanced
- @return Returns balanced text
- @author Leonard Lin (leonard@acm.org)
- @version v1.1
- @date November 4, 2001
- @license GPL v2.0
- @notes
- @changelog
- --- Modified by Scott Reilly (coffee2code) 02 Aug 2004
- 1.2 ***TODO*** Make better - change loop condition to $text
- 1.1 Fixed handling of append/stack pop order of end text
- Added Cleaning Hooks
- 1.0 First Version
-*/
-function balanceTags($text, $is_comment = 0, $force = false) {
-
- if ( !$force && get_option('use_balanceTags') == 0 )
- return $text;
-
- $tagstack = array(); $stacksize = 0; $tagqueue = ''; $newtext = '';
-
- # WP bug fix for comments - in case you REALLY meant to type '< !--'
- $text = str_replace('< !--', '< !--', $text);
- # WP bug fix for LOVE <3 (and other situations with '<' before a number)
- $text = preg_replace('#<([0-9]{1})#', '&lt;$1', $text);
-
- while (preg_match("/<(\/?\w*)\s*([^>]*)>/",$text,$regex)) {
- $newtext .= $tagqueue;
-
- $i = strpos($text,$regex[0]);
- $l = strlen($regex[0]);
-
- // clear the shifter
- $tagqueue = '';
- // Pop or Push
- if ($regex[1][0] == "/") { // End Tag
- $tag = strtolower(substr($regex[1],1));
- // if too many closing tags
- if($stacksize <= 0) {
- $tag = '';
- //or close to be safe $tag = '/' . $tag;
- }
- // if stacktop value = tag close value then pop
- else if ($tagstack[$stacksize - 1] == $tag) { // found closing tag
- $tag = '</' . $tag . '>'; // Close Tag
- // Pop
- array_pop ($tagstack);
- $stacksize--;
- } else { // closing tag not at top, search for it
- for ($j=$stacksize-1;$j>=0;$j--) {
- if ($tagstack[$j] == $tag) {
- // add tag to tagqueue
- for ($k=$stacksize-1;$k>=$j;$k--){
- $tagqueue .= '</' . array_pop ($tagstack) . '>';
- $stacksize--;
- }
- break;
- }
- }
- $tag = '';
- }
- } else { // Begin Tag
- $tag = strtolower($regex[1]);
-
- // Tag Cleaning
-
- // If self-closing or '', don't do anything.
- if((substr($regex[2],-1) == '/') || ($tag == '')) {
- }
- // ElseIf it's a known single-entity tag but it doesn't close itself, do so
- elseif ($tag == 'br' || $tag == 'img' || $tag == 'hr' || $tag == 'input') {
- $regex[2] .= '/';
- } else { // Push the tag onto the stack
- // If the top of the stack is the same as the tag we want to push, close previous tag
- if (($stacksize > 0) && ($tag != 'div') && ($tagstack[$stacksize - 1] == $tag)) {
- $tagqueue = '</' . array_pop ($tagstack) . '>';
- $stacksize--;
- }
- $stacksize = array_push ($tagstack, $tag);
- }
-
- // Attributes
- $attributes = $regex[2];
- if($attributes) {
- $attributes = ' '.$attributes;
- }
- $tag = '<'.$tag.$attributes.'>';
- //If already queuing a close tag, then put this tag on, too
- if ($tagqueue) {
- $tagqueue .= $tag;
- $tag = '';
- }
- }
- $newtext .= substr($text,0,$i) . $tag;
- $text = substr($text,$i+$l);
- }
-
- // Clear Tag Queue
- $newtext .= $tagqueue;
-
- // Add Remaining text
- $newtext .= $text;
-
- // Empty Stack
- while($x = array_pop($tagstack)) {
- $newtext .= '</' . $x . '>'; // Add remaining tags to close
- }
-
- // WP fix for the bug with HTML comments
- $newtext = str_replace("< !--","<!--",$newtext);
- $newtext = str_replace("< !--","< !--",$newtext);
-
- return $newtext;
-}
-
-
-function format_to_edit($content, $richedit = false) {
- $content = apply_filters('format_to_edit', $content);
- if (! $richedit )
- $content = htmlspecialchars($content);
- return $content;
-}
-
-function format_to_post($content) {
- global $wpdb;
- $content = apply_filters('format_to_post', $content);
- return $content;
-}
-
-function zeroise($number,$threshold) { // function to add leading zeros when necessary
- return sprintf('%0'.$threshold.'s', $number);
-}
-
-
-function backslashit($string) {
- $string = preg_replace('/^([0-9])/', '\\\\\\\\\1', $string);
- $string = preg_replace('/([a-z])/i', '\\\\\1', $string);
- return $string;
-}
-
-function trailingslashit($string) {
- if ( '/' != substr($string, -1)) {
- $string .= '/';
- }
- return $string;
-}
-
-function addslashes_gpc($gpc) {
- global $wpdb;
-
- if (get_magic_quotes_gpc()) {
- $gpc = stripslashes($gpc);
- }
-
- return $wpdb->escape($gpc);
-}
-
-
-function stripslashes_deep($value)
-{
- $value = is_array($value) ?
- array_map('stripslashes_deep', $value) :
- stripslashes($value);
-
- return $value;
-}
-
-function antispambot($emailaddy, $mailto=0) {
- $emailNOSPAMaddy = '';
- srand ((float) microtime() * 1000000);
- for ($i = 0; $i < strlen($emailaddy); $i = $i + 1) {
- $j = floor(rand(0, 1+$mailto));
- if ($j==0) {
- $emailNOSPAMaddy .= '&#'.ord(substr($emailaddy,$i,1)).';';
- } elseif ($j==1) {
- $emailNOSPAMaddy .= substr($emailaddy,$i,1);
- } elseif ($j==2) {
- $emailNOSPAMaddy .= '%'.zeroise(dechex(ord(substr($emailaddy, $i, 1))), 2);
- }
- }
- $emailNOSPAMaddy = str_replace('@','&#64;',$emailNOSPAMaddy);
- return $emailNOSPAMaddy;
-}
-
-function make_clickable($ret) {
- $ret = ' ' . $ret . ' ';
- $ret = preg_replace("#([\s>])(https?)://([^\s<>{}()]+[^\s.,<>{}()])#i", "$1<a href='$2://$3' rel='nofollow'>$2://$3</a>", $ret);
- $ret = preg_replace("#(\s)www\.([a-z0-9\-]+)\.([a-z0-9\-.\~]+)((?:/[^ <>{}()\n\r]*[^., <>{}()\n\r]?)?)#i", "$1<a href='http://www.$2.$3$4' rel='nofollow'>www.$2.$3$4</a>", $ret);
- $ret = preg_replace("#(\s)([a-z0-9\-_.]+)@([a-z0-9\-_.]+)\.([^,< \n\r]+)#i", "$1<a href=\"mailto:$2@$3.$4\">$2@$3.$4</a>", $ret);
- $ret = trim($ret);
- return $ret;
-}
-
-function wp_rel_nofollow( $text ) {
- global $wpdb;
- // This is a pre save filter, so text is already escaped.
- $text = stripslashes($text);
- $text = preg_replace('|<a (.+?)>|i', '<a $1 rel="nofollow">', $text);
- $text = $wpdb->escape($text);
- return $text;
-}
-
-function convert_smilies($text) {
- global $wp_smiliessearch, $wp_smiliesreplace;
- $output = '';
- if (get_settings('use_smilies')) {
- // HTML loop taken from texturize function, could possible be consolidated
- $textarr = preg_split("/(<.*>)/U", $text, -1, PREG_SPLIT_DELIM_CAPTURE); // capture the tags as well as in between
- $stop = count($textarr);// loop stuff
- for ($i = 0; $i < $stop; $i++) {
- $content = $textarr[$i];
- if ((strlen($content) > 0) && ('<' != $content{0})) { // If it's not a tag
- $content = str_replace($wp_smiliessearch, $wp_smiliesreplace, $content);
- }
- $output .= $content;
- }
- } else {
- // return default text.
- $output = $text;
- }
- return $output;
-}
-
-
-function is_email($user_email) {
- $chars = "/^([a-z0-9+_]|\\-|\\.)+@(([a-z0-9_]|\\-)+\\.)+[a-z]{2,6}\$/i";
- if(strstr($user_email, '@') && strstr($user_email, '.')) {
- if (preg_match($chars, $user_email)) {
- return true;
- } else {
- return false;
- }
- } else {
- return false;
- }
-}
-
-// used by wp-mail to handle charsets in email subjects
-function wp_iso_descrambler($string) {
- /* this may only work with iso-8859-1, I'm afraid */
- if (!preg_match('#\=\?(.+)\?Q\?(.+)\?\=#i', $string, $matches)) {
- return $string;
- } else {
- $subject = str_replace('_', ' ', $matches[2]);
- $subject = preg_replace('#\=([0-9a-f]{2})#ei', "chr(hexdec(strtolower('$1')))", $subject);
- return $subject;
- }
-}
-
-
-// give it a date, it will give you the same date as GMT
-function get_gmt_from_date($string) {
- // note: this only substracts $time_difference from the given date
- 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);
- $string_time = gmmktime($matches[4], $matches[5], $matches[6], $matches[2], $matches[3], $matches[1]);
- $string_gmt = gmdate('Y-m-d H:i:s', $string_time - get_settings('gmt_offset') * 3600);
- return $string_gmt;
-}
-
-// give it a GMT date, it will give you the same date with $time_difference added
-function get_date_from_gmt($string) {
- // note: this only adds $time_difference to the given date
- 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);
- $string_time = gmmktime($matches[4], $matches[5], $matches[6], $matches[2], $matches[3], $matches[1]);
- $string_localtime = gmdate('Y-m-d H:i:s', $string_time + get_settings('gmt_offset')*3600);
- return $string_localtime;
-}
-
-// computes an offset in seconds from an iso8601 timezone
-function iso8601_timezone_to_offset($timezone) {
- // $timezone is either 'Z' or '[+|-]hhmm'
- if ($timezone == 'Z') {
- $offset = 0;
- } else {
- $sign = (substr($timezone, 0, 1) == '+') ? 1 : -1;
- $hours = intval(substr($timezone, 1, 2));
- $minutes = intval(substr($timezone, 3, 4)) / 60;
- $offset = $sign * 3600 * ($hours + $minutes);
- }
- return $offset;
-}
-
-// converts an iso8601 date to MySQL DateTime format used by post_date[_gmt]
-function iso8601_to_datetime($date_string, $timezone = USER) {
- if ($timezone == GMT) {
- preg_match('#([0-9]{4})([0-9]{2})([0-9]{2})T([0-9]{2}):([0-9]{2}):([0-9]{2})(Z|[\+|\-][0-9]{2,4}){0,1}#', $date_string, $date_bits);
- if (!empty($date_bits[7])) { // we have a timezone, so let's compute an offset
- $offset = iso8601_timezone_to_offset($date_bits[7]);
- } else { // we don't have a timezone, so we assume user local timezone (not server's!)
- $offset = 3600 * get_settings('gmt_offset');
- }
- $timestamp = gmmktime($date_bits[4], $date_bits[5], $date_bits[6], $date_bits[2], $date_bits[3], $date_bits[1]);
- $timestamp -= $offset;
- return gmdate('Y-m-d H:i:s', $timestamp);
- } elseif ($timezone == USER) {
- return preg_replace('#([0-9]{4})([0-9]{2})([0-9]{2})T([0-9]{2}):([0-9]{2}):([0-9]{2})(Z|[\+|\-][0-9]{2,4}){0,1}#', '$1-$2-$3 $4:$5:$6', $date_string);
- }
-}
-
-function popuplinks($text) {
- // Comment text in popup windows should be filtered through this.
- // Right now it's a moderately dumb function, ideally it would detect whether
- // a target or rel attribute was already there and adjust its actions accordingly.
- $text = preg_replace('/<a (.+?)>/i', "<a $1 target='_blank' rel='external'>", $text);
- return $text;
-}
-
-function sanitize_email($email) {
- return preg_replace('/[^a-z0-9+_.@-]/i', '', $email);
-}
-
-function human_time_diff( $from, $to = '' ) {
- if ( empty($to) )
- $to = time();
- $diff = (int) abs($to - $from);
- if ($diff <= 3600) {
- $mins = round($diff / 60);
- if ($mins <= 1)
- $since = __('1 min');
- else
- $since = sprintf( __('%s mins'), $mins);
- } else if (($diff <= 86400) && ($diff > 3600)) {
- $hours = round($diff / 3600);
- if ($hours <= 1)
- $since = __('1 hour');
- else
- $since = sprintf( __('%s hours'), $hours );
- } elseif ($diff >= 86400) {
- $days = round($diff / 86400);
- if ($days <= 1)
- $since = __('1 day');
- else
- $since = sprintf( __('%s days'), $days );
- }
- return $since;
-}
-
-function wp_trim_excerpt($text) { // Fakes an excerpt if needed
- global $post;
- if ( '' == $text ) {
- $text = $post->post_content;
- $text = apply_filters('the_content', $text);
- $text = str_replace(']]>', ']]&gt;', $text);
- $text = strip_tags($text);
- $excerpt_length = 55;
- $words = explode(' ', $text, $excerpt_length + 1);
- if (count($words) > $excerpt_length) {
- array_pop($words);
- array_push($words, '[...]');
- $text = implode(' ', $words);
- }
- }
- return $text;
-}
-
-function ent2ncr($text) {
- $to_ncr = array(
- '&quot;' => '&#34;',
- '&amp;' => '&#38;',
- '&frasl;' => '&#47;',
- '&lt;' => '&#60;',
- '&gt;' => '&#62;',
- '|' => '&#124;',
- '&nbsp;' => '&#160;',
- '&iexcl;' => '&#161;',
- '&cent;' => '&#162;',
- '&pound;' => '&#163;',
- '&curren;' => '&#164;',
- '&yen;' => '&#165;',
- '&brvbar;' => '&#166;',
- '&brkbar;' => '&#166;',
- '&sect;' => '&#167;',
- '&uml;' => '&#168;',
- '&die;' => '&#168;',
- '&copy;' => '&#169;',
- '&ordf;' => '&#170;',
- '&laquo;' => '&#171;',
- '&not;' => '&#172;',
- '&shy;' => '&#173;',
- '&reg;' => '&#174;',
- '&macr;' => '&#175;',
- '&hibar;' => '&#175;',
- '&deg;' => '&#176;',
- '&plusmn;' => '&#177;',
- '&sup2;' => '&#178;',
- '&sup3;' => '&#179;',
- '&acute;' => '&#180;',
- '&micro;' => '&#181;',
- '&para;' => '&#182;',
- '&middot;' => '&#183;',
- '&cedil;' => '&#184;',
- '&sup1;' => '&#185;',
- '&ordm;' => '&#186;',
- '&raquo;' => '&#187;',
- '&frac14;' => '&#188;',
- '&frac12;' => '&#189;',
- '&frac34;' => '&#190;',
- '&iquest;' => '&#191;',
- '&Agrave;' => '&#192;',
- '&Aacute;' => '&#193;',
- '&Acirc;' => '&#194;',
- '&Atilde;' => '&#195;',
- '&Auml;' => '&#196;',
- '&Aring;' => '&#197;',
- '&AElig;' => '&#198;',
- '&Ccedil;' => '&#199;',
- '&Egrave;' => '&#200;',
- '&Eacute;' => '&#201;',
- '&Ecirc;' => '&#202;',
- '&Euml;' => '&#203;',
- '&Igrave;' => '&#204;',
- '&Iacute;' => '&#205;',
- '&Icirc;' => '&#206;',
- '&Iuml;' => '&#207;',
- '&ETH;' => '&#208;',
- '&Ntilde;' => '&#209;',
- '&Ograve;' => '&#210;',
- '&Oacute;' => '&#211;',
- '&Ocirc;' => '&#212;',
- '&Otilde;' => '&#213;',
- '&Ouml;' => '&#214;',
- '&times;' => '&#215;',
- '&Oslash;' => '&#216;',
- '&Ugrave;' => '&#217;',
- '&Uacute;' => '&#218;',
- '&Ucirc;' => '&#219;',
- '&Uuml;' => '&#220;',
- '&Yacute;' => '&#221;',
- '&THORN;' => '&#222;',
- '&szlig;' => '&#223;',
- '&agrave;' => '&#224;',
- '&aacute;' => '&#225;',
- '&acirc;' => '&#226;',
- '&atilde;' => '&#227;',
- '&auml;' => '&#228;',
- '&aring;' => '&#229;',
- '&aelig;' => '&#230;',
- '&ccedil;' => '&#231;',
- '&egrave;' => '&#232;',
- '&eacute;' => '&#233;',
- '&ecirc;' => '&#234;',
- '&euml;' => '&#235;',
- '&igrave;' => '&#236;',
- '&iacute;' => '&#237;',
- '&icirc;' => '&#238;',
- '&iuml;' => '&#239;',
- '&eth;' => '&#240;',
- '&ntilde;' => '&#241;',
- '&ograve;' => '&#242;',
- '&oacute;' => '&#243;',
- '&ocirc;' => '&#244;',
- '&otilde;' => '&#245;',
- '&ouml;' => '&#246;',
- '&divide;' => '&#247;',
- '&oslash;' => '&#248;',
- '&ugrave;' => '&#249;',
- '&uacute;' => '&#250;',
- '&ucirc;' => '&#251;',
- '&uuml;' => '&#252;',
- '&yacute;' => '&#253;',
- '&thorn;' => '&#254;',
- '&yuml;' => '&#255;',
- '&OElig;' => '&#338;',
- '&oelig;' => '&#339;',
- '&Scaron;' => '&#352;',
- '&scaron;' => '&#353;',
- '&Yuml;' => '&#376;',
- '&fnof;' => '&#402;',
- '&circ;' => '&#710;',
- '&tilde;' => '&#732;',
- '&Alpha;' => '&#913;',
- '&Beta;' => '&#914;',
- '&Gamma;' => '&#915;',
- '&Delta;' => '&#916;',
- '&Epsilon;' => '&#917;',
- '&Zeta;' => '&#918;',
- '&Eta;' => '&#919;',
- '&Theta;' => '&#920;',
- '&Iota;' => '&#921;',
- '&Kappa;' => '&#922;',
- '&Lambda;' => '&#923;',
- '&Mu;' => '&#924;',
- '&Nu;' => '&#925;',
- '&Xi;' => '&#926;',
- '&Omicron;' => '&#927;',
- '&Pi;' => '&#928;',
- '&Rho;' => '&#929;',
- '&Sigma;' => '&#931;',
- '&Tau;' => '&#932;',
- '&Upsilon;' => '&#933;',
- '&Phi;' => '&#934;',
- '&Chi;' => '&#935;',
- '&Psi;' => '&#936;',
- '&Omega;' => '&#937;',
- '&alpha;' => '&#945;',
- '&beta;' => '&#946;',
- '&gamma;' => '&#947;',
- '&delta;' => '&#948;',
- '&epsilon;' => '&#949;',
- '&zeta;' => '&#950;',
- '&eta;' => '&#951;',
- '&theta;' => '&#952;',
- '&iota;' => '&#953;',
- '&kappa;' => '&#954;',
- '&lambda;' => '&#955;',
- '&mu;' => '&#956;',
- '&nu;' => '&#957;',
- '&xi;' => '&#958;',
- '&omicron;' => '&#959;',
- '&pi;' => '&#960;',
- '&rho;' => '&#961;',
- '&sigmaf;' => '&#962;',
- '&sigma;' => '&#963;',
- '&tau;' => '&#964;',
- '&upsilon;' => '&#965;',
- '&phi;' => '&#966;',
- '&chi;' => '&#967;',
- '&psi;' => '&#968;',
- '&omega;' => '&#969;',
- '&thetasym;' => '&#977;',
- '&upsih;' => '&#978;',
- '&piv;' => '&#982;',
- '&ensp;' => '&#8194;',
- '&emsp;' => '&#8195;',
- '&thinsp;' => '&#8201;',
- '&zwnj;' => '&#8204;',
- '&zwj;' => '&#8205;',
- '&lrm;' => '&#8206;',
- '&rlm;' => '&#8207;',
- '&ndash;' => '&#8211;',
- '&mdash;' => '&#8212;',
- '&lsquo;' => '&#8216;',
- '&rsquo;' => '&#8217;',
- '&sbquo;' => '&#8218;',
- '&ldquo;' => '&#8220;',
- '&rdquo;' => '&#8221;',
- '&bdquo;' => '&#8222;',
- '&dagger;' => '&#8224;',
- '&Dagger;' => '&#8225;',
- '&bull;' => '&#8226;',
- '&hellip;' => '&#8230;',
- '&permil;' => '&#8240;',
- '&prime;' => '&#8242;',
- '&Prime;' => '&#8243;',
- '&lsaquo;' => '&#8249;',
- '&rsaquo;' => '&#8250;',
- '&oline;' => '&#8254;',
- '&frasl;' => '&#8260;',
- '&euro;' => '&#8364;',
- '&image;' => '&#8465;',
- '&weierp;' => '&#8472;',
- '&real;' => '&#8476;',
- '&trade;' => '&#8482;',
- '&alefsym;' => '&#8501;',
- '&crarr;' => '&#8629;',
- '&lArr;' => '&#8656;',
- '&uArr;' => '&#8657;',
- '&rArr;' => '&#8658;',
- '&dArr;' => '&#8659;',
- '&hArr;' => '&#8660;',
- '&forall;' => '&#8704;',
- '&part;' => '&#8706;',
- '&exist;' => '&#8707;',
- '&empty;' => '&#8709;',
- '&nabla;' => '&#8711;',
- '&isin;' => '&#8712;',
- '&notin;' => '&#8713;',
- '&ni;' => '&#8715;',
- '&prod;' => '&#8719;',
- '&sum;' => '&#8721;',
- '&minus;' => '&#8722;',
- '&lowast;' => '&#8727;',
- '&radic;' => '&#8730;',
- '&prop;' => '&#8733;',
- '&infin;' => '&#8734;',
- '&ang;' => '&#8736;',
- '&and;' => '&#8743;',
- '&or;' => '&#8744;',
- '&cap;' => '&#8745;',
- '&cup;' => '&#8746;',
- '&int;' => '&#8747;',
- '&there4;' => '&#8756;',
- '&sim;' => '&#8764;',
- '&cong;' => '&#8773;',
- '&asymp;' => '&#8776;',
- '&ne;' => '&#8800;',
- '&equiv;' => '&#8801;',
- '&le;' => '&#8804;',
- '&ge;' => '&#8805;',
- '&sub;' => '&#8834;',
- '&sup;' => '&#8835;',
- '&nsub;' => '&#8836;',
- '&sube;' => '&#8838;',
- '&supe;' => '&#8839;',
- '&oplus;' => '&#8853;',
- '&otimes;' => '&#8855;',
- '&perp;' => '&#8869;',
- '&sdot;' => '&#8901;',
- '&lceil;' => '&#8968;',
- '&rceil;' => '&#8969;',
- '&lfloor;' => '&#8970;',
- '&rfloor;' => '&#8971;',
- '&lang;' => '&#9001;',
- '&rang;' => '&#9002;',
- '&larr;' => '&#8592;',
- '&uarr;' => '&#8593;',
- '&rarr;' => '&#8594;',
- '&darr;' => '&#8595;',
- '&harr;' => '&#8596;',
- '&loz;' => '&#9674;',
- '&spades;' => '&#9824;',
- '&clubs;' => '&#9827;',
- '&hearts;' => '&#9829;',
- '&diams;' => '&#9830;'
- );
-
- return str_replace( array_keys($to_ncr), array_values($to_ncr), $text );
-}
-
-function wp_richedit_pre($text) {
- // Filtering a blank results in an annoying <br />\n
- if ( empty($text) ) return apply_filters('richedit_pre', '');
-
- $output = $text;
- $output = convert_chars($output);
- $output = wpautop($output);
-
- // These must be double-escaped or planets will collide.
- $output = str_replace('&lt;', '&amp;lt;', $output);
- $output = str_replace('&gt;', '&amp;gt;', $output);
-
- return apply_filters('richedit_pre', $output);
-}
-
-function clean_url( $url ) {
- if ('' == $url) return $url;
- $url = preg_replace('|[^a-z0-9-~+_.?#=&;,/:]|i', '', $url);
- $url = str_replace(';//', '://', $url);
- $url = (!strstr($url, '://')) ? 'http://'.$url : $url;
- $url = preg_replace('/&([^#])(?![a-z]{2,8};)/', '&#038;$1', $url);
- return $url;
-}
-
-// Borrowed from the PHP Manual user notes. Convert entities, while
-// preserving already-encoded entities:
-function htmlentities2($myHTML) {
- $translation_table=get_html_translation_table (HTML_ENTITIES,ENT_QUOTES);
- $translation_table[chr(38)] = '&';
- return preg_replace("/&(?![A-Za-z]{0,4}\w{2,3};|#[0-9]{2,3};)/","&amp;" , strtr($myHTML, $translation_table));
-}
-
-// Escape single quotes, specialchar double quotes, and fix line endings.
-function js_escape($text) {
- $text = wp_specialchars($text, 'double');
- return preg_replace("/\r?\n/", "\\n", addslashes($text));
-}
-?>
diff --git a/wp-inst/wp-includes/functions.php b/wp-inst/wp-includes/functions.php
deleted file mode 100644
index a8f5b5c..0000000
--- a/wp-inst/wp-includes/functions.php
+++ /dev/null
@@ -1,1168 +0,0 @@
-<?php
-
-require_once(dirname(__FILE__).'/compat.php');
-
-if ( !function_exists('_') ) {
- function _($string) {
- return $string;
- }
-}
-
-function mysql2date($dateformatstring, $mysqlstring, $translate = true) {
- global $wp_locale;
- $m = $mysqlstring;
- if ( empty($m) ) {
- return false;
- }
- $i = mktime(substr($m,11,2),substr($m,14,2),substr($m,17,2),substr($m,5,2),substr($m,8,2),substr($m,0,4));
-
- if( 'U' == $dateformatstring )
- return $i;
-
- if ( -1 == $i || false == $i )
- $i = 0;
-
- if ( !empty($wp_locale->month) && !empty($wp_locale->weekday) && $translate ) {
- $datemonth = $wp_locale->get_month(date('m', $i));
- $datemonth_abbrev = $wp_locale->get_month_abbrev($datemonth);
- $dateweekday = $wp_locale->get_weekday(date('w', $i));
- $dateweekday_abbrev = $wp_locale->get_weekday_abbrev($dateweekday);
- $datemeridiem = $wp_locale->get_meridiem(date('a', $i));
- $datemeridiem_capital = $wp_locale->get_meridiem(date('A', $i));
- $dateformatstring = ' '.$dateformatstring;
- $dateformatstring = preg_replace("/([^\\\])D/", "\\1".backslashit($dateweekday_abbrev), $dateformatstring);
- $dateformatstring = preg_replace("/([^\\\])F/", "\\1".backslashit($datemonth), $dateformatstring);
- $dateformatstring = preg_replace("/([^\\\])l/", "\\1".backslashit($dateweekday), $dateformatstring);
- $dateformatstring = preg_replace("/([^\\\])M/", "\\1".backslashit($datemonth_abbrev), $dateformatstring);
- $dateformatstring = preg_replace("/([^\\\])a/", "\\1".backslashit($datemeridiem), $dateformatstring);
- $dateformatstring = preg_replace("/([^\\\])A/", "\\1".backslashit($datemeridiem_capital), $dateformatstring);
-
- $dateformatstring = substr($dateformatstring, 1, strlen($dateformatstring)-1);
- }
- $j = @date($dateformatstring, $i);
- if ( !$j ) {
- // for debug purposes
- // echo $i." ".$mysqlstring;
- }
- return $j;
-}
-
-function current_time($type, $gmt = 0) {
- switch ($type) {
- case 'mysql':
- if ( $gmt ) $d = gmdate('Y-m-d H:i:s');
- else $d = gmdate('Y-m-d H:i:s', (time() + (get_settings('gmt_offset') * 3600)));
- return $d;
- break;
- case 'timestamp':
- if ( $gmt ) $d = time();
- else $d = time() + (get_settings('gmt_offset') * 3600);
- return $d;
- break;
- }
-}
-
-function date_i18n($dateformatstring, $unixtimestamp) {
- global $wp_locale;
- $i = $unixtimestamp;
- if ( (!empty($wp_locale->month)) && (!empty($wp_locale->weekday)) ) {
- $datemonth = $wp_locale->get_month(date('m', $i));
- $datemonth_abbrev = $wp_locale->get_month_abbrev($datemonth);
- $dateweekday = $wp_locale->get_weekday(date('w', $i));
- $dateweekday_abbrev = $wp_locale->get_weekday_abbrev($dateweekday);
- $datemeridiem = $wp_locale->get_meridiem(date('a', $i));
- $datemeridiem_capital = $wp_locale->get_meridiem(date('A', $i));
- $dateformatstring = ' '.$dateformatstring;
- $dateformatstring = preg_replace("/([^\\\])D/", "\\1".backslashit($dateweekday_abbrev), $dateformatstring);
- $dateformatstring = preg_replace("/([^\\\])F/", "\\1".backslashit($datemonth), $dateformatstring);
- $dateformatstring = preg_replace("/([^\\\])l/", "\\1".backslashit($dateweekday), $dateformatstring);
- $dateformatstring = preg_replace("/([^\\\])M/", "\\1".backslashit($datemonth_abbrev), $dateformatstring);
- $dateformatstring = preg_replace("/([^\\\])a/", "\\1".backslashit($datemeridiem), $dateformatstring);
- $dateformatstring = preg_replace("/([^\\\])A/", "\\1".backslashit($datemeridiem_capital), $dateformatstring);
-
- $dateformatstring = substr($dateformatstring, 1, strlen($dateformatstring)-1);
- }
- $j = @date($dateformatstring, $i);
- return $j;
-}
-
-function get_weekstartend($mysqlstring, $start_of_week) {
- $my = substr($mysqlstring,0,4);
- $mm = substr($mysqlstring,8,2);
- $md = substr($mysqlstring,5,2);
- $day = mktime(0,0,0, $md, $mm, $my);
- $weekday = date('w',$day);
- $i = 86400;
-
- if ( $weekday < get_settings('start_of_week') )
- $weekday = 7 - (get_settings('start_of_week') - $weekday);
-
- while ($weekday > get_settings('start_of_week')) {
- $weekday = date('w',$day);
- if ( $weekday < get_settings('start_of_week') )
- $weekday = 7 - (get_settings('start_of_week') - $weekday);
-
- $day = $day - 86400;
- $i = 0;
- }
- $week['start'] = $day + 86400 - $i;
- // $week['end'] = $day - $i + 691199;
- $week['end'] = $week['start'] + 604799;
- return $week;
-}
-
-function get_lastpostdate($timezone = 'server') {
- global $cache_lastpostdate, $pagenow, $wpdb;
- $add_seconds_blog = get_settings('gmt_offset') * 3600;
- $add_seconds_server = date('Z');
- if ( !isset($cache_lastpostdate[$timezone]) ) {
- switch(strtolower($timezone)) {
- case 'gmt':
- $lastpostdate = $wpdb->get_var("SELECT post_date_gmt FROM $wpdb->posts WHERE post_status = 'publish' ORDER BY post_date_gmt DESC LIMIT 1");
- break;
- case 'blog':
- $lastpostdate = $wpdb->get_var("SELECT post_date FROM $wpdb->posts WHERE post_status = 'publish' ORDER BY post_date_gmt DESC LIMIT 1");
- break;
- case 'server':
- $lastpostdate = $wpdb->get_var("SELECT DATE_ADD(post_date_gmt, INTERVAL '$add_seconds_server' SECOND) FROM $wpdb->posts WHERE post_status = 'publish' ORDER BY post_date_gmt DESC LIMIT 1");
- break;
- }
- $cache_lastpostdate[$timezone] = $lastpostdate;
- } else {
- $lastpostdate = $cache_lastpostdate[$timezone];
- }
- return $lastpostdate;
-}
-
-function get_lastpostmodified($timezone = 'server') {
- global $cache_lastpostmodified, $pagenow, $wpdb;
- $add_seconds_blog = get_settings('gmt_offset') * 3600;
- $add_seconds_server = date('Z');
- if ( !isset($cache_lastpostmodified[$timezone]) ) {
- switch(strtolower($timezone)) {
- case 'gmt':
- $lastpostmodified = $wpdb->get_var("SELECT post_modified_gmt FROM $wpdb->posts WHERE post_status = 'publish' ORDER BY post_modified_gmt DESC LIMIT 1");
- break;
- case 'blog':
- $lastpostmodified = $wpdb->get_var("SELECT post_modified FROM $wpdb->posts WHERE post_status = 'publish' ORDER BY post_modified_gmt DESC LIMIT 1");
- break;
- case 'server':
- $lastpostmodified = $wpdb->get_var("SELECT DATE_ADD(post_modified_gmt, INTERVAL '$add_seconds_server' SECOND) FROM $wpdb->posts WHERE post_status = 'publish' ORDER BY post_modified_gmt DESC LIMIT 1");
- break;
- }
- $lastpostdate = get_lastpostdate($timezone);
- if ( $lastpostdate > $lastpostmodified ) {
- $lastpostmodified = $lastpostdate;
- }
- $cache_lastpostmodified[$timezone] = $lastpostmodified;
- } else {
- $lastpostmodified = $cache_lastpostmodified[$timezone];
- }
- return $lastpostmodified;
-}
-
-function maybe_unserialize($original) {
- if ( false !== $gm = @ unserialize($original) )
- return $gm;
- else
- return $original;
-}
-
-/* Options functions */
-
-function get_settings($setting) {
- global $wpdb, $switched, $current_blog;
-
- if ( $switched == false && defined('WP_INSTALLING') == false && $_REQUEST['nomemcache'] != 'all' && $_REQUEST['nomemcache'] != $setting ) {
- $value = wp_cache_get($setting, 'options');
- } else {
- $value = false;
- wp_cache_delete($setting, 'options');
- }
-
-// Uncomment if we get any page not found or rewrite errors
-// if( $setting == 'rewrite_rules' )
-// $value = false;
-
- if ( $value == 'novalueindb' )
- return false;
- if ( $value == 'emptystringindb' )
- return '';
-
- if ( false === $value ) {
- if ( defined('WP_INSTALLING') )
- $wpdb->hide_errors();
- $row = $wpdb->get_row("SELECT option_value FROM $wpdb->options WHERE option_name = '$setting' LIMIT 1");
- if ( defined('WP_INSTALLING') )
- $wpdb->show_errors();
-
- if( is_object( $row) ) { // Has to be get_row instead of get_var because of funkiness with 0, false, null values
- $value = $row->option_value;
- wp_cache_set($setting, ($value=='')?'emptystringindb':$value, 'options');
- } else {
- wp_cache_set($setting, 'novalueindb', 'options');
- return false;
- }
- }
-
- // If home is not set use siteurl.
- if ( 'home' == $setting && '' == $value )
- return get_settings('siteurl');
-
- if ( 'siteurl' == $setting || 'home' == $setting || 'category_base' == $setting )
- $value = preg_replace('|/+$|', '', $value);
-
- if (! unserialize($value) )
- $value = stripslashes( $value );
- return apply_filters( 'option_' . $setting, maybe_unserialize($value) );
-}
-
-function get_option($option) {
- return get_settings($option);
-}
-
-function form_option($option) {
- echo htmlspecialchars( get_option($option), ENT_QUOTES );
-}
-
-function get_alloptions() {
- global $wpdb, $wp_queries;
- $wpdb->hide_errors();
- if ( !$options = $wpdb->get_results("SELECT option_name, option_value FROM $wpdb->options WHERE autoload = 'yes'") ) {
- $options = $wpdb->get_results("SELECT option_name, option_value FROM $wpdb->options");
- }
- $wpdb->show_errors();
-
- foreach ($options as $option) {
- // "When trying to design a foolproof system,
- // never underestimate the ingenuity of the fools :)" -- Dougal
- if ( 'siteurl' == $option->option_name )
- $option->option_value = preg_replace('|/+$|', '', $option->option_value);
- if ( 'home' == $option->option_name )
- $option->option_value = preg_replace('|/+$|', '', $option->option_value);
- if ( 'category_base' == $option->option_name )
- $option->option_value = preg_replace('|/+$|', '', $option->option_value);
- $value = maybe_unserialize($option->option_value);
- $all_options->{$option->option_name} = apply_filters('pre_option_' . $option->option_name, $value);
- }
- return apply_filters('all_options', $all_options);
-}
-
-function update_option($option_name, $newvalue) {
- global $wpdb;
-
- if ( is_string($newvalue) )
- $newvalue = trim($newvalue);
-
- // If the new and old values are the same, no need to update.
- $oldvalue = get_option($option_name);
- if ( $newvalue == $oldvalue ) {
- return false;
- }
-
- if ( false === $oldvalue ) {
- add_option($option_name, $newvalue);
- return true;
- }
-
- $_newvalue = $newvalue;
- if ( is_array($newvalue) || is_object($newvalue) )
- $newvalue = serialize($newvalue);
-
- wp_cache_delete($option_name, 'options');
-
- $newvalue = $wpdb->escape($newvalue);
- $option_name = $wpdb->escape($option_name);
- $wpdb->query("UPDATE $wpdb->options SET option_value = '$newvalue' WHERE option_name = '$option_name'");
- if ( $wpdb->rows_affected == 1 ) {
- do_action("update_option_{$option_name}", array('old'=>$oldvalue, 'new'=>$_newvalue));
- return true;
- }
- return false;
-}
-
-// thx Alex Stapleton, http://alex.vort-x.net/blog/
-function add_option($name, $value = '', $description = '', $autoload = 'yes') {
- global $wpdb;
-
- // Make sure the option doesn't already exist
- if ( false !== get_option($name) )
- return;
-
- if ( is_array($value) || is_object($value) )
- $value = serialize($value);
-
- wp_cache_delete($name, 'options');
-
- $name = $wpdb->escape($name);
- $value = $wpdb->escape($value);
- $description = $wpdb->escape($description);
- $wpdb->query("INSERT INTO $wpdb->options (option_name, option_value, option_description, autoload) VALUES ('$name', '$value', '$description', '$autoload')");
-
- return;
-}
-
-function delete_option($name) {
- global $wpdb;
- // Get the ID, if no ID then return
- $option_id = $wpdb->get_var("SELECT option_id FROM $wpdb->options WHERE option_name = '$name'");
- if ( !$option_id ) return false;
- $wpdb->query("DELETE FROM $wpdb->options WHERE option_name = '$name'");
- wp_cache_delete($name, 'options');
- return true;
-}
-
-function gzip_compression() {
- if ( !get_settings('gzipcompression') ) return false;
-
- if ( extension_loaded('zlib') ) {
- ob_start('ob_gzhandler');
- }
-}
-
-
-// functions to count the page generation time (from phpBB2)
-// ( or just any time between timer_start() and timer_stop() )
-
-function timer_stop($display = 0, $precision = 3) { //if called like timer_stop(1), will echo $timetotal
- global $timestart, $timeend;
- $mtime = microtime();
- $mtime = explode(' ',$mtime);
- $mtime = $mtime[1] + $mtime[0];
- $timeend = $mtime;
- $timetotal = $timeend-$timestart;
- if ( $display )
- echo number_format($timetotal,$precision);
- return $timetotal;
-}
-
-function weblog_ping($server = '', $path = '') {
- global $wp_version;
- include_once (ABSPATH . WPINC . '/class-IXR.php');
-
- // using a timeout of 3 seconds should be enough to cover slow servers
- $client = new IXR_Client($server, ((!strlen(trim($path)) || ('/' == $path)) ? false : $path));
- $client->timeout = 3;
- $client->useragent .= ' -- WordPress/'.$wp_version;
-
- // when set to true, this outputs debug messages by itself
- $client->debug = false;
- $home = trailingslashit( get_option('home') );
- if ( !$client->query('weblogUpdates.extendedPing', get_settings('blogname'), $home, get_bloginfo('rss2_url') ) ) // then try a normal ping
- $client->query('weblogUpdates.ping', get_settings('blogname'), $home);
-}
-
-function generic_ping($post_id = 0) {
- $services = get_settings('ping_sites');
- $services = preg_replace("|(\s)+|", '$1', $services); // Kill dupe lines
- $services = trim($services);
- if ( '' != $services ) {
- $services = explode("\n", $services);
- foreach ($services as $service) {
- weblog_ping($service);
- }
- }
-
- return $post_id;
-}
-
-// Send a Trackback
-function trackback($trackback_url, $title, $excerpt, $ID) {
- global $wpdb, $wp_version;
-
- if ( empty($trackback_url) )
- return;
-
- $title = urlencode($title);
- $excerpt = urlencode($excerpt);
- $blog_name = urlencode(get_settings('blogname'));
- $tb_url = $trackback_url;
- $url = urlencode(get_permalink($ID));
- $query_string = "title=$title&url=$url&blog_name=$blog_name&excerpt=$excerpt";
- $trackback_url = parse_url($trackback_url);
- $http_request = 'POST ' . $trackback_url['path'] . ($trackback_url['query'] ? '?'.$trackback_url['query'] : '') . " HTTP/1.0\r\n";
- $http_request .= 'Host: '.$trackback_url['host']."\r\n";
- $http_request .= 'Content-Type: application/x-www-form-urlencoded; charset='.get_settings('blog_charset')."\r\n";
- $http_request .= 'Content-Length: '.strlen($query_string)."\r\n";
- $http_request .= "User-Agent: WordPress/" . $wp_version;
- $http_request .= "\r\n\r\n";
- $http_request .= $query_string;
- if ( '' == $trackback_url['port'] )
- $trackback_url['port'] = 80;
- $fs = @fsockopen($trackback_url['host'], $trackback_url['port'], $errno, $errstr, 4);
- @fputs($fs, $http_request);
-/*
- $debug_file = 'trackback.log';
- $fp = fopen($debug_file, 'a');
- fwrite($fp, "\n*****\nRequest:\n\n$http_request\n\nResponse:\n\n");
- while(!@feof($fs)) {
- fwrite($fp, @fgets($fs, 4096));
- }
- fwrite($fp, "\n\n");
- fclose($fp);
-*/
- @fclose($fs);
-
- $tb_url = addslashes( $tb_url );
- $wpdb->query("UPDATE $wpdb->posts SET pinged = CONCAT(pinged, '\n', '$tb_url') WHERE ID = '$ID'");
- return $wpdb->query("UPDATE $wpdb->posts SET to_ping = TRIM(REPLACE(to_ping, '$tb_url', '')) WHERE ID = '$ID'");
-}
-
-function make_url_footnote($content) {
- preg_match_all('/<a(.+?)href=\"(.+?)\"(.*?)>(.+?)<\/a>/', $content, $matches);
- $j = 0;
- for ($i=0; $i<count($matches[0]); $i++) {
- $links_summary = (!$j) ? "\n" : $links_summary;
- $j++;
- $link_match = $matches[0][$i];
- $link_number = '['.($i+1).']';
- $link_url = $matches[2][$i];
- $link_text = $matches[4][$i];
- $content = str_replace($link_match, $link_text.' '.$link_number, $content);
- $link_url = ((strtolower(substr($link_url,0,7)) != 'http://') && (strtolower(substr($link_url,0,8)) != 'https://')) ? get_settings('home') . $link_url : $link_url;
- $links_summary .= "\n".$link_number.' '.$link_url;
- }
- $content = strip_tags($content);
- $content .= $links_summary;
- return $content;
-}
-
-
-function xmlrpc_getposttitle($content) {
- global $post_default_title;
- if ( preg_match('/<title>(.+?)<\/title>/is', $content, $matchtitle) ) {
- $post_title = $matchtitle[0];
- $post_title = preg_replace('/<title>/si', '', $post_title);
- $post_title = preg_replace('/<\/title>/si', '', $post_title);
- } else {
- $post_title = $post_default_title;
- }
- return $post_title;
-}
-
-function xmlrpc_getpostcategory($content) {
- global $post_default_category;
- if ( preg_match('/<category>(.+?)<\/category>/is', $content, $matchcat) ) {
- $post_category = trim($matchcat[1], ',');
- $post_category = explode(',', $post_category);
- } else {
- $post_category = $post_default_category;
- }
- return $post_category;
-}
-
-function xmlrpc_removepostdata($content) {
- $content = preg_replace('/<title>(.+?)<\/title>/si', '', $content);
- $content = preg_replace('/<category>(.+?)<\/category>/si', '', $content);
- $content = trim($content);
- return $content;
-}
-
-function debug_fopen($filename, $mode) {
- global $debug;
- if ( $debug == 1 ) {
- $fp = fopen($filename, $mode);
- return $fp;
- } else {
- return false;
- }
-}
-
-function debug_fwrite($fp, $string) {
- global $debug;
- if ( $debug == 1 ) {
- fwrite($fp, $string);
- }
-}
-
-function debug_fclose($fp) {
- global $debug;
- if ( $debug == 1 ) {
- fclose($fp);
- }
-}
-
-function do_enclose( $content, $post_ID ) {
- global $wp_version, $wpdb;
- include_once (ABSPATH . WPINC . '/class-IXR.php');
-
- $log = debug_fopen(ABSPATH . '/enclosures.log', 'a');
- $post_links = array();
- debug_fwrite($log, 'BEGIN '.date('YmdHis', time())."\n");
-
- $pung = get_enclosed( $post_ID );
-
- $ltrs = '\w';
- $gunk = '/#~:.?+=&%@!\-';
- $punc = '.:?\-';
- $any = $ltrs . $gunk . $punc;
-
- preg_match_all("{\b http : [$any] +? (?= [$punc] * [^$any] | $)}x", $content, $post_links_temp);
-
- debug_fwrite($log, 'Post contents:');
- debug_fwrite($log, $content."\n");
-
- foreach($post_links_temp[0] as $link_test) :
- if ( !in_array($link_test, $pung) ) : // If we haven't pung it already
- $test = parse_url($link_test);
- if ( isset($test['query']) )
- $post_links[] = $link_test;
- elseif (($test['path'] != '/') && ($test['path'] != ''))
- $post_links[] = $link_test;
- endif;
- endforeach;
-
- foreach ($post_links as $url) :
- if ( $url != '' && !$wpdb->get_var("SELECT post_id FROM $wpdb->postmeta WHERE post_id = '$post_ID' AND meta_key = 'enclosure' AND meta_value LIKE ('$url%')") ) {
- if ( $headers = wp_get_http_headers( $url) ) {
- $len = (int) $headers['content-length'];
- $type = $wpdb->escape( $headers['content-type'] );
- $allowed_types = array( 'video', 'audio' );
- if ( in_array( substr( $type, 0, strpos( $type, "/" ) ), $allowed_types ) ) {
- $meta_value = "$url\n$len\n$type\n";
- $wpdb->query( "INSERT INTO `$wpdb->postmeta` ( `post_id` , `meta_key` , `meta_value` )
- VALUES ( '$post_ID', 'enclosure' , '$meta_value')" );
- }
- }
- }
- endforeach;
-}
-
-function wp_get_http_headers( $url, $red = 1 ) {
- global $wp_version;
- @set_time_limit( 60 );
-
- if ( $red > 5 )
- return false;
-
- $parts = parse_url( $url );
- $file = $parts['path'] . ($parts['query'] ? '?'.$parts['query'] : '');
- $host = $parts['host'];
- if ( !isset( $parts['port'] ) )
- $parts['port'] = 80;
-
- $head = "HEAD $file HTTP/1.1\r\nHOST: $host\r\nUser-Agent: WordPress/" . $wp_version . "\r\n\r\n";
-
- $fp = @fsockopen($host, $parts['port'], $err_num, $err_msg, 3);
- if ( !$fp )
- return false;
-
- $response = '';
- fputs( $fp, $head );
- while ( !feof( $fp ) && strpos( $response, "\r\n\r\n" ) == false )
- $response .= fgets( $fp, 2048 );
- fclose( $fp );
- preg_match_all('/(.*?): (.*)\r/', $response, $matches);
- $count = count($matches[1]);
- for ( $i = 0; $i < $count; $i++) {
- $key = strtolower($matches[1][$i]);
- $headers["$key"] = $matches[2][$i];
- }
-
- preg_match('/.*([0-9]{3}).*/', $response, $return);
- $headers['response'] = $return[1]; // HTTP response code eg 204, 200, 404
-
- $code = $headers['response'];
- if ( ('302' == $code || '301' == $code) && isset($headers['location']) )
- return wp_get_http_headers( $headers['location'], ++$red );
-
- return $headers;
-}
-
-function is_new_day() {
- global $day, $previousday;
- if ( $day != $previousday ) {
- return(1);
- } else {
- return(0);
- }
-}
-
-function update_post_cache(&$posts) {
- global $post_cache;
-
- if ( !$posts )
- return;
-
- for ($i = 0; $i < count($posts); $i++) {
- $post_cache[$posts[$i]->ID] = &$posts[$i];
- }
-}
-
-function clean_post_cache($id) {
- global $post_cache;
-
- if ( isset( $post_cache[$id] ) )
- unset( $post_cache[$id] );
-}
-
-function update_page_cache(&$pages) {
- global $page_cache;
-
- if ( !$pages )
- return;
-
- for ($i = 0; $i < count($pages); $i++) {
- $page_cache[$pages[$i]->ID] = &$pages[$i];
- wp_cache_add($pages[$i]->ID, $pages[$i], 'pages');
- }
-}
-
-
-function clean_page_cache($id) {
- global $page_cache, $wpdb;
-
- if ( isset( $page_cache[$id] ) )
- unset( $page_cache[$id] );
-
- $page_ids = $wpdb->get_col("SELECT ID FROM $wpdb->posts WHERE post_type='page'");
- wp_cache_delete('all_page_ids','pages');
-
-}
-
-function update_post_category_cache($post_ids) {
- global $wpdb, $category_cache;
-
- if ( empty($post_ids) )
- return;
-
- if ( is_array($post_ids) )
- $post_ids = implode(',', $post_ids);
-
- $dogs = $wpdb->get_results("SELECT post_id, category_id FROM $wpdb->post2cat WHERE post_id IN ($post_ids)");
-
- if ( empty($dogs) )
- return;
-
- foreach ($dogs as $catt)
- $category_cache[$catt->post_id][$catt->category_id] = &get_category($catt->category_id);
-}
-
-function update_post_caches(&$posts) {
- global $post_cache, $category_cache, $post_meta_cache;
- global $wpdb;
-
- // No point in doing all this work if we didn't match any posts.
- if ( !$posts )
- return;
-
- // Get the categories for all the posts
- for ($i = 0; $i < count($posts); $i++) {
- $post_id_array[] = $posts[$i]->ID;
- $post_cache[$posts[$i]->ID] = &$posts[$i];
- }
-
- $post_id_list = implode(',', $post_id_array);
-
- update_post_category_cache($post_id_list);
-
- // Get post-meta info
- if ( $meta_list = $wpdb->get_results("SELECT post_id, meta_key, meta_value FROM $wpdb->postmeta WHERE post_id IN($post_id_list) ORDER BY post_id, meta_key", ARRAY_A) ) {
- // Change from flat structure to hierarchical:
- $post_meta_cache = array();
- foreach ($meta_list as $metarow) {
- $mpid = $metarow['post_id'];
- $mkey = $metarow['meta_key'];
- $mval = $metarow['meta_value'];
-
- // Force subkeys to be array type:
- if ( !isset($post_meta_cache[$mpid]) || !is_array($post_meta_cache[$mpid]) )
- $post_meta_cache[$mpid] = array();
- if ( !isset($post_meta_cache[$mpid]["$mkey"]) || !is_array($post_meta_cache[$mpid]["$mkey"]) )
- $post_meta_cache[$mpid]["$mkey"] = array();
-
- // Add a value to the current pid/key:
- $post_meta_cache[$mpid][$mkey][] = $mval;
- }
- }
-}
-
-function update_category_cache() {
- return true;
-}
-
-/*
-add_query_arg: Returns a modified querystring by adding
-a single key & value or an associative array.
-Setting a key value to emptystring removes the key.
-Omitting oldquery_or_uri uses the $_SERVER value.
-
-Parameters:
-add_query_arg(newkey, newvalue, oldquery_or_uri) or
-add_query_arg(associative_array, oldquery_or_uri)
-*/
-function add_query_arg() {
- $ret = '';
- if ( is_array(func_get_arg(0)) ) {
- if ( @func_num_args() < 2 || '' == @func_get_arg(1) )
- $uri = $_SERVER['REQUEST_URI'];
- else
- $uri = @func_get_arg(1);
- } else {
- if ( @func_num_args() < 3 || '' == @func_get_arg(2) )
- $uri = $_SERVER['REQUEST_URI'];
- else
- $uri = @func_get_arg(2);
- }
-
- if ( preg_match('|^https?://|i', $uri, $matches) ) {
- $protocol = $matches[0];
- $uri = substr($uri, strlen($protocol));
- } else {
- $protocol = '';
- }
-
- if ( strstr($uri, '?') ) {
- $parts = explode('?', $uri, 2);
- if ( 1 == count($parts) ) {
- $base = '?';
- $query = $parts[0];
- } else {
- $base = $parts[0] . '?';
- $query = $parts[1];
- }
- } else if ( !empty($protocol) || strstr($uri, '/') ) {
- $base = $uri . '?';
- $query = '';
- } else {
- $base = '';
- $query = $uri;
- }
-
- parse_str($query, $qs);
- if ( is_array(func_get_arg(0)) ) {
- $kayvees = func_get_arg(0);
- $qs = array_merge($qs, $kayvees);
- } else {
- $qs[func_get_arg(0)] = func_get_arg(1);
- }
-
- foreach($qs as $k => $v) {
- if ( $v != '' ) {
- if ( $ret != '' )
- $ret .= '&';
- $ret .= "$k=$v";
- }
- }
- $ret = $protocol . $base . $ret;
- if ( get_magic_quotes_gpc() )
- $ret = stripslashes($ret); // parse_str() adds slashes if magicquotes is on. See: http://php.net/parse_str
- return trim($ret, '?');
-}
-
-/*
-remove_query_arg: Returns a modified querystring by removing
-a single key or an array of keys.
-Omitting oldquery_or_uri uses the $_SERVER value.
-
-Parameters:
-remove_query_arg(removekey, [oldquery_or_uri]) or
-remove_query_arg(removekeyarray, [oldquery_or_uri])
-*/
-
-function remove_query_arg($key, $query='') {
- if ( is_array($key) ) { // removing multiple keys
- foreach ( (array) $key as $k )
- $query = add_query_arg($k, '', $query);
- return $query;
- }
- return add_query_arg($key, '', $query);
-}
-
-function add_magic_quotes($array) {
- global $wpdb;
-
- foreach ($array as $k => $v) {
- if ( is_array($v) ) {
- $array[$k] = add_magic_quotes($v);
- } else {
- $array[$k] = $wpdb->escape($v);
- }
- }
- return $array;
-}
-
-function wp_remote_fopen( $uri ) {
- if ( ini_get('allow_url_fopen') ) {
- $fp = fopen( $uri, 'r' );
- if ( !$fp )
- return false;
- $linea = '';
- while( $remote_read = fread($fp, 4096) )
- $linea .= $remote_read;
- fclose($fp);
- return $linea;
- } else if ( function_exists('curl_init') ) {
- $handle = curl_init();
- curl_setopt ($handle, CURLOPT_URL, $uri);
- curl_setopt ($handle, CURLOPT_CONNECTTIMEOUT, 1);
- curl_setopt ($handle, CURLOPT_RETURNTRANSFER, 1);
- $buffer = curl_exec($handle);
- curl_close($handle);
- return $buffer;
- } else {
- return false;
- }
-}
-
-function wp($query_vars = '') {
- global $wp;
-
- $wp->main($query_vars);
-}
-
-function status_header( $header ) {
- if ( 200 == $header )
- $text = 'OK';
- elseif ( 301 == $header )
- $text = 'Moved Permanently';
- elseif ( 302 == $header )
- $text = 'Moved Temporarily';
- elseif ( 304 == $header )
- $text = 'Not Modified';
- elseif ( 404 == $header )
- $text = 'Not Found';
- elseif ( 410 == $header )
- $text = 'Gone';
-
- @header("HTTP/1.1 $header $text");
- @header("Status: $header $text");
-}
-
-function nocache_headers() {
- @ header('Expires: Wed, 11 Jan 1984 05:00:00 GMT');
- @ header('Last-Modified: ' . gmdate('D, d M Y H:i:s') . ' GMT');
- @ header('Cache-Control: no-cache, must-revalidate, max-age=0');
- @ header('Pragma: no-cache');
-}
-
-function get_num_queries() {
- global $wpdb;
- return $wpdb->num_queries;
-}
-
-function privacy_ping_filter( $sites ) {
- global $current_blog;
- if ( '0' != $current_blog->public )
- return $sites;
- else
- return '';
-}
-
-function bool_from_yn($yn) {
- if ($yn == 'Y') return 1;
- return 0;
-}
-
-function do_feed() {
- $feed = get_query_var('feed');
-
- // Remove the pad, if present.
- $feed = preg_replace('/^_+/', '', $feed);
-
- if ($feed == '' || $feed == 'feed')
- $feed = 'rss2';
-
- $for_comments = false;
- if ( is_single() || (get_query_var('withcomments') == 1) ) {
- $feed = 'rss2';
- $for_comments = true;
- }
-
- $hook = 'do_feed_' . $feed;
- do_action($hook, $for_comments);
-}
-
-function do_feed_rdf() {
- load_template(ABSPATH . 'wp-rdf.php');
-}
-
-function do_feed_rss() {
- load_template(ABSPATH . 'wp-rss.php');
-}
-
-function do_feed_rss2($for_comments) {
- if ( $for_comments ) {
- load_template(ABSPATH . 'wp-commentsrss2.php');
- } else {
- load_template(ABSPATH . 'wp-rss2.php');
- }
-}
-
-function do_feed_atom() {
- load_template(ABSPATH . 'wp-atom.php');
-}
-
-function do_robots() {
- global $current_blog;
- do_action('do_robots');
- if ( '0' == $current_blog->public ) {
- echo "User-agent: *\n";
- echo "Disallow: /\n";
- } else {
- echo "User-agent: *\n";
- echo "Disallow:\n";
- }
-}
-
-function is_blog_installed() {
- global $wpdb;
- $wpdb->hide_errors();
- $installed = $wpdb->get_var("SELECT option_value FROM $wpdb->options WHERE option_name = 'siteurl'");
- $wpdb->show_errors();
- return $installed;
-}
-
-function wp_nonce_url($actionurl, $action = -1) {
- return add_query_arg('_wpnonce', wp_create_nonce($action), $actionurl);
-}
-
-function wp_nonce_field($action = -1) {
- echo '<input type="hidden" name="_wpnonce" value="' . wp_create_nonce($action) . '" />';
-}
-
-function wp_mkdir_p($target) {
- // from php.net/mkdir user contributed notes
- if (file_exists($target)) {
- if (! @ is_dir($target))
- return false;
- else
- return true;
- }
-
- // Attempting to create the directory may clutter up our display.
- if (@ mkdir($target)) {
- $stat = @ stat(dirname($target));
- $dir_perms = $stat['mode'] & 0007777; // Get the permission bits.
- @ chmod($target, $dir_perms);
- return true;
- } else {
- if ( is_dir(dirname($target)) )
- return false;
- }
-
- // If the above failed, attempt to create the parent node, then try again.
- if (wp_mkdir_p(dirname($target)))
- return wp_mkdir_p($target);
-
- return false;
-}
-
-// Returns an array containing the current upload directory's path and url, or an error message.
-function wp_upload_dir() {
- $siteurl = get_settings('siteurl');
- //prepend ABSPATH to $dir and $siteurl to $url if they're not already there
- $path = str_replace(ABSPATH, '', trim(get_settings('upload_path')));
- $dir = ABSPATH . $path;
- $url = trailingslashit($siteurl) . $path;
-
- if ( $dir == ABSPATH ) { //the option was empty
- $dir = ABSPATH . 'wp-content/uploads';
- }
-
- if ( defined('UPLOADS') ) {
- $dir = ABSPATH . UPLOADS;
- $url = trailingslashit($siteurl) . UPLOADS;
- }
-
- if ( get_settings('uploads_use_yearmonth_folders')) {
- // Generate the yearly and monthly dirs
- $time = current_time( 'mysql' );
- $y = substr( $time, 0, 4 );
- $m = substr( $time, 5, 2 );
- $dir = $dir . "/$y/$m";
- $url = $url . "/$y/$m";
- }
-
- // Make sure we have an uploads dir
- if ( ! wp_mkdir_p( $dir ) ) {
- $message = sprintf(__('Unable to create directory %s. Is its parent directory writable by the server?'), $dir);
- return array('error' => $message);
- }
-
- $uploads = array('path' => $dir, 'url' => $url, 'error' => false);
- return apply_filters('upload_dir', $uploads);
-}
-
-function wp_upload_bits($name, $type, $bits) {
- if ( empty($name) )
- return array('error' => __("Empty filename"));
-
- $wp_filetype = wp_check_filetype($name);
- if ( !$wp_filetype['ext'] )
- return array('error' => __("Invalid file type"));
-
- $upload = wp_upload_dir();
-
- if ( $upload['error'] !== false )
- return $upload;
-
- $number = '';
- $filename = $name;
- $path_parts = pathinfo($filename);
- $ext = $path_parts['extension'];
- if ( empty($ext) )
- $ext = '';
- else
- $ext = ".$ext";
- while ( file_exists($upload['path'] . "/$filename") ) {
- if ( '' == "$number$ext" )
- $filename = $filename . ++$number . $ext;
- else
- $filename = str_replace("$number$ext", ++$number . $ext, $filename);
- }
-
- $new_file = $upload['path'] . "/$filename";
- if ( ! wp_mkdir_p( dirname($new_file) ) ) {
- $message = sprintf(__('Unable to create directory %s. Is its parent directory writable by the server?'), dirname($new_file));
- return array('error' => $message);
- }
-
- $ifp = @ fopen($new_file, 'wb');
- if ( ! $ifp )
- return array('error' => "Could not write file $new_file.");
-
- $success = @ fwrite($ifp, $bits);
- fclose($ifp);
- // Set correct file permissions
- $stat = @ stat(dirname($new_file));
- $perms = $stat['mode'] & 0007777;
- $perms = $perms & 0000666;
- @ chmod($new_file, $perms);
-
- // Compute the URL
- $url = $upload['url'] . "/$filename";
-
- return array('file' => $new_file, 'url' => $url, 'error' => false);
-}
-
-function wp_check_filetype($filename, $mimes = null) {
- // Accepted MIME types are set here as PCRE unless provided.
- $mimes = is_array($mimes) ? $mimes : apply_filters('upload_mimes', array (
- 'jpg|jpeg|jpe' => 'image/jpeg',
- 'gif' => 'image/gif',
- 'png' => 'image/png',
- 'bmp' => 'image/bmp',
- 'tif|tiff' => 'image/tiff',
- 'ico' => 'image/x-icon',
- 'asf|asx|wax|wmv|wmx' => 'video/asf',
- 'avi' => 'video/avi',
- 'mov|qt' => 'video/quicktime',
- 'mpeg|mpg|mpe' => 'video/mpeg',
- 'txt|c|cc|h' => 'text/plain',
- 'rtx' => 'text/richtext',
- 'css' => 'text/css',
- 'htm|html' => 'text/html',
- 'mp3|mp4' => 'audio/mpeg',
- 'ra|ram' => 'audio/x-realaudio',
- 'wav' => 'audio/wav',
- 'ogg' => 'audio/ogg',
- 'mid|midi' => 'audio/midi',
- 'wma' => 'audio/wma',
- 'rtf' => 'application/rtf',
- 'js' => 'application/javascript',
- 'pdf' => 'application/pdf',
- 'doc' => 'application/msword',
- 'pot|pps|ppt' => 'application/vnd.ms-powerpoint',
- 'wri' => 'application/vnd.ms-write',
- 'xla|xls|xlt|xlw' => 'application/vnd.ms-excel',
- 'mdb' => 'application/vnd.ms-access',
- 'mpp' => 'application/vnd.ms-project',
- 'swf' => 'application/x-shockwave-flash',
- 'class' => 'application/java',
- 'tar' => 'application/x-tar',
- 'zip' => 'application/zip',
- 'gz|gzip' => 'application/x-gzip',
- 'exe' => 'application/x-msdownload'
- ));
-
- $type = false;
- $ext = false;
-
- foreach ($mimes as $ext_preg => $mime_match) {
- $ext_preg = '!\.(' . $ext_preg . ')$!i';
- if ( preg_match($ext_preg, $filename, $ext_matches) ) {
- $type = $mime_match;
- $ext = $ext_matches[1];
- break;
- }
- }
-
- return compact('ext', 'type');
-}
-
-function do_trackbacks($post_id) {
- global $wpdb;
-
- $post = $wpdb->get_row("SELECT * FROM $wpdb->posts WHERE ID = $post_id");
- $to_ping = get_to_ping($post_id);
- $pinged = get_pung($post_id);
- if ( empty($to_ping) ) {
- $wpdb->query("UPDATE $wpdb->posts SET to_ping = '' WHERE ID = '$post_id'");
- return;
- }
-
- if (empty($post->post_excerpt))
- $excerpt = apply_filters('the_content', $post->post_content);
- else
- $excerpt = apply_filters('the_excerpt', $post->post_excerpt);
- $excerpt = str_replace(']]>', ']]&gt;', $excerpt);
- $excerpt = strip_tags($excerpt);
- if ( function_exists('mb_strcut') ) // For international trackbacks
- $excerpt = mb_strcut($excerpt, 0, 252, get_settings('blog_charset')) . '...';
- else
- $excerpt = substr($excerpt, 0, 252) . '...';
-
- $post_title = apply_filters('the_title', $post->post_title);
- $post_title = strip_tags($post_title);
-
- if ($to_ping) : foreach ($to_ping as $tb_ping) :
- $tb_ping = trim($tb_ping);
- if ( !in_array($tb_ping, $pinged) ) {
- trackback($tb_ping, $post_title, $excerpt, $post_id);
- $pinged[] = $tb_ping;
- } else {
- $wpdb->query("UPDATE $wpdb->posts SET to_ping = TRIM(REPLACE(to_ping, '$tb_ping', '')) WHERE ID = '$post_id'");
- }
- endforeach; endif;
-}
-
-function do_all_pings() {
- global $wpdb;
-
- // Do pingbacks
- while ($ping = $wpdb->get_row("SELECT * FROM {$wpdb->posts}, {$wpdb->postmeta} WHERE {$wpdb->posts}.ID = {$wpdb->postmeta}.post_id AND {$wpdb->postmeta}.meta_key = '_pingme' LIMIT 1")) {
- $wpdb->query("DELETE FROM {$wpdb->postmeta} WHERE post_id = {$ping->ID} AND meta_key = '_pingme';");
- pingback($ping->post_content, $ping->ID);
- }
-
- // Do Enclosures
- while ($enclosure = $wpdb->get_row("SELECT * FROM {$wpdb->posts}, {$wpdb->postmeta} WHERE {$wpdb->posts}.ID = {$wpdb->postmeta}.post_id AND {$wpdb->postmeta}.meta_key = '_encloseme' LIMIT 1")) {
- $wpdb->query("DELETE FROM {$wpdb->postmeta} WHERE post_id = {$enclosure->ID} AND meta_key = '_encloseme';");
- do_enclose($enclosure->post_content, $enclosure->ID);
- }
-
- // Do Trackbacks
- $trackbacks = $wpdb->get_results("SELECT ID FROM $wpdb->posts WHERE CHAR_LENGTH(TRIM(to_ping)) > 7 AND post_status = 'publish'");
- if ( is_array($trackbacks) ) {
- foreach ( $trackbacks as $trackback ) {
- do_trackbacks($trackback->ID);
- }
- }
-
- //Do Update Services/Generic Pings
- generic_ping();
-}
-
-function wp_proxy_check($ipnum) {
- if ( get_option('open_proxy_check') && isset($ipnum) ) {
- $rev_ip = implode( '.', array_reverse( explode( '.', $ipnum ) ) );
- $lookup = $rev_ip . '.opm.blitzed.org.';
- if ( $lookup != gethostbyname( $lookup ) )
- return true;
- }
-
- return false;
-}
-
-?>
diff --git a/wp-inst/wp-includes/general-template.php b/wp-inst/wp-includes/general-template.php
deleted file mode 100644
index 643aa06..0000000
--- a/wp-inst/wp-includes/general-template.php
+++ /dev/null
@@ -1,773 +0,0 @@
-<?php
-
-/* Note: these tags go anywhere in the template */
-
-function get_header() {
- if ( file_exists( TEMPLATEPATH . '/header.php') )
- load_template( TEMPLATEPATH . '/header.php');
- else
- load_template( ABSPATH . 'wp-content/themes/default/header.php');
-}
-
-
-function get_footer() {
- if ( file_exists( TEMPLATEPATH . '/footer.php') )
- load_template( TEMPLATEPATH . '/footer.php');
- else
- load_template( ABSPATH . 'wp-content/themes/default/footer.php');
-}
-
-
-function get_sidebar() {
- if ( file_exists( TEMPLATEPATH . '/sidebar.php') )
- load_template( TEMPLATEPATH . '/sidebar.php');
- else
- load_template( ABSPATH . 'wp-content/themes/default/sidebar.php');
-}
-
-
-function wp_loginout() {
- if ( ! is_user_logged_in() )
- $link = '<a href="' . get_settings('siteurl') . '/wp-login.php">' . __('Login') . '</a>';
- else
- $link = '<a href="' . get_settings('siteurl') . '/wp-login.php?action=logout">' . __('Logout') . '</a>';
-
- echo apply_filters('loginout', $link);
-}
-
-
-function wp_register( $before = '<li>', $after = '</li>' ) {
-
- if ( ! is_user_logged_in() ) {
- if ( get_settings('users_can_register') )
- $link = $before . '<a href="' . get_settings('siteurl') . '/wp-register.php">' . __('Register') . '</a>' . $after;
- else
- $link = '';
- } else {
- $link = $before . '<a href="' . get_settings('siteurl') . '/wp-admin/">' . __('Site Admin') . '</a>' . $after;
- }
-
- echo apply_filters('register', $link);
-}
-
-
-function wp_meta() {
- do_action('wp_meta');
-}
-
-
-function bloginfo($show='') {
- $info = get_bloginfo($show);
- if (!strstr($show, 'url') && //don't filter URLs
- !strstr($show, 'directory') &&
- !strstr($show, 'home')) {
- $info = apply_filters('bloginfo', $info, $show);
- $info = convert_chars($info);
- }
-
- echo $info;
-}
-
-
-function get_bloginfo($show='') {
-
- switch($show) {
- case 'url' :
- case 'home' :
- case 'siteurl' :
- $output = get_settings('home');
- break;
- case 'wpurl' :
- $output = get_settings('siteurl');
- break;
- case 'description':
- $output = get_settings('blogdescription');
- break;
- case 'rdf_url':
- $output = get_feed_link('rdf');
- break;
- case 'rss_url':
- $output = get_feed_link('rss');
- break;
- case 'rss2_url':
- $output = get_feed_link('rss2');
- break;
- case 'atom_url':
- $output = get_feed_link('atom');
- break;
- case 'comments_rss2_url':
- $output = get_feed_link('comments_rss2');
- break;
- case 'pingback_url':
- $output = get_settings('siteurl') .'/xmlrpc.php';
- break;
- case 'stylesheet_url':
- $output = get_stylesheet_uri();
- break;
- case 'stylesheet_directory':
- $output = get_stylesheet_directory_uri();
- break;
- case 'template_directory':
- case 'template_url':
- $output = get_template_directory_uri();
- break;
- case 'admin_email':
- $output = get_settings('admin_email');
- break;
- case 'charset':
- $output = get_settings('blog_charset');
- if ('' == $output) $output = 'UTF-8';
- break;
- case 'html_type' :
- $output = get_option('html_type');
- break;
- case 'version':
- global $wp_version;
- $output = $wp_version;
- break;
- case 'name':
- default:
- $output = get_settings('blogname');
- break;
- }
- return $output;
-}
-
-
-function wp_title($sep = '&raquo;', $display = true) {
- global $wpdb;
- global $m, $year, $monthnum, $day, $category_name, $wp_locale, $posts;
-
- $cat = get_query_var('cat');
- $p = get_query_var('p');
- $name = get_query_var('name');
- $category_name = get_query_var('category_name');
- $author = get_query_var('author');
- $author_name = get_query_var('author_name');
-
- // If there's a category
- if ( !empty($cat) ) {
- // category exclusion
- if ( !stristr($cat,'-') )
- $title = get_the_category_by_ID($cat);
- }
- if ( !empty($category_name) ) {
- if ( stristr($category_name,'/') ) {
- $category_name = explode('/',$category_name);
- if ( $category_name[count($category_name)-1] )
- $category_name = $category_name[count($category_name)-1]; // no trailing slash
- else
- $category_name = $category_name[count($category_name)-2]; // there was a trailling slash
- }
- $title = $wpdb->get_var("SELECT cat_name FROM $wpdb->categories WHERE category_nicename = '$category_name'");
- }
-
- // If there's an author
- if ( !empty($author) ) {
- $title = get_userdata($author);
- $title = $title->display_name;
- }
- if ( !empty($author_name) ) {
- // We do a direct query here because we don't cache by nicename.
- $title = $wpdb->get_var("SELECT display_name FROM $wpdb->users WHERE user_nicename = '$author_name'");
- }
-
- // If there's a month
- if ( !empty($m) ) {
- $my_year = substr($m, 0, 4);
- $my_month = $wp_locale->get_month($m);
- $title = "$my_year $sep $my_month";
- }
-
- if ( !empty($year) ) {
- $title = $year;
- if ( !empty($monthnum) )
- $title .= " $sep ".$wp_locale->get_month($monthnum);
- if ( !empty($day) )
- $title .= " $sep ".zeroise($day, 2);
- }
-
- // If there is a post
- if ( is_single() || is_page() ) {
- $title = strip_tags($posts[0]->post_title);
- $title = apply_filters('single_post_title', $title);
- }
-
- $prefix = '';
- if ( isset($title) )
- $prefix = " $sep ";
-
- $title = $prefix . $title;
- $title = apply_filters('wp_title', $title, $sep);
-
- // Send it out
- if ( $display )
- echo $title;
- else
- return $title;
-}
-
-
-function single_post_title($prefix = '', $display = true) {
- global $wpdb;
- $p = get_query_var('p');
- $name = get_query_var('name');
-
- if ( intval($p) || '' != $name ) {
- if ( !$p )
- $p = $wpdb->get_var("SELECT ID FROM $wpdb->posts WHERE post_name = '$name'");
- $post = & get_post($p);
- $title = $post->post_title;
- $title = apply_filters('single_post_title', $title);
- if ( $display )
- echo $prefix.strip_tags($title);
- else
- return strip_tags($title);
- }
-}
-
-
-function single_cat_title($prefix = '', $display = true ) {
- $cat = intval( get_query_var('cat') );
- if ( !empty($cat) && !(strtoupper($cat) == 'ALL') ) {
- $my_cat_name = get_the_category_by_ID($cat);
- if ( !empty($my_cat_name) ) {
- if ( $display )
- echo $prefix.strip_tags($my_cat_name);
- else
- return strip_tags($my_cat_name);
- }
- }
-}
-
-
-function single_month_title($prefix = '', $display = true ) {
- global $m, $monthnum, $wp_locale, $year;
- if ( !empty($monthnum) && !empty($year) ) {
- $my_year = $year;
- $my_month = $wp_locale->get_month($monthnum);
- } elseif ( !empty($m) ) {
- $my_year = substr($m, 0, 4);
- $my_month = $wp_locale->get_month($m);
- }
-
- if ( !empty($my_month) && $display )
- echo $prefix . $my_month . $prefix . $my_year;
- else
- return $monthnum;
-}
-
-
-/* link navigation hack by Orien http://icecode.com/ */
-function get_archives_link($url, $text, $format = 'html', $before = '', $after = '') {
- $text = wptexturize($text);
- $title_text = wp_specialchars($text, 1);
-
- if ('link' == $format)
- return "\t<link rel='archives' title='$title_text' href='$url' />\n";
- elseif ('option' == $format)
- return "\t<option value='$url'>$before $text $after</option>\n";
- elseif ('html' == $format)
- return "\t<li>$before<a href='$url' title='$title_text'>$text</a>$after</li>\n";
- else // custom
- return "\t$before<a href='$url' title='$title_text'>$text</a>$after\n";
-}
-
-
-function wp_get_archives($args = '') {
- global $wp_locale, $wpdb;
-
- if ( is_array($args) )
- $r = &$args;
- else
- parse_str($args, $r);
-
- $defaults = array('type' => 'monthly', 'limit' => '', 'format' => 'html', 'before' => '', 'after' => '', 'show_post_count' => false);
- $r = array_merge($defaults, $r);
- extract($r);
-
- if ( '' == $type )
- $type = 'monthly';
-
- if ( '' != $limit ) {
- $limit = (int) $limit;
- $limit = ' LIMIT '.$limit;
- }
-
- // this is what will separate dates on weekly archive links
- $archive_week_separator = '&#8211;';
-
- // over-ride general date format ? 0 = no: use the date format set in Options, 1 = yes: over-ride
- $archive_date_format_over_ride = 0;
-
- // options for daily archive (only if you over-ride the general date format)
- $archive_day_date_format = 'Y/m/d';
-
- // options for weekly archive (only if you over-ride the general date format)
- $archive_week_start_date_format = 'Y/m/d';
- $archive_week_end_date_format = 'Y/m/d';
-
- if ( !$archive_date_format_over_ride ) {
- $archive_day_date_format = get_settings('date_format');
- $archive_week_start_date_format = get_settings('date_format');
- $archive_week_end_date_format = get_settings('date_format');
- }
-
- $add_hours = intval(get_settings('gmt_offset'));
- $add_minutes = intval(60 * (get_settings('gmt_offset') - $add_hours));
-
- if ( 'monthly' == $type ) {
- $arcresults = $wpdb->get_results("SELECT DISTINCT YEAR(post_date) AS `year`, MONTH(post_date) AS `month`, count(ID) as posts FROM $wpdb->posts WHERE post_type = 'post' AND post_status = 'publish' GROUP BY YEAR(post_date), MONTH(post_date) ORDER BY post_date DESC" . $limit);
- if ( $arcresults ) {
- $afterafter = $after;
- foreach ( $arcresults as $arcresult ) {
- $url = get_month_link($arcresult->year, $arcresult->month);
- if ( $show_post_count ) {
- $text = sprintf('%s %d', $wp_locale->get_month($arcresult->month), $arcresult->year);
- $after = '&nbsp;('.$arcresult->posts.')' . $afterafter;
- } else {
- $text = sprintf('%s %d', $wp_locale->get_month($arcresult->month), $arcresult->year);
- }
- echo get_archives_link($url, $text, $format, $before, $after);
- }
- }
- } elseif ( 'daily' == $type ) {
- $arcresults = $wpdb->get_results("SELECT DISTINCT YEAR(post_date) AS `year`, MONTH(post_date) AS `month`, DAYOFMONTH(post_date) AS `dayofmonth` FROM $wpdb->posts WHERE post_type = 'post' AND post_status = 'publish' ORDER BY post_date DESC" . $limit);
- if ( $arcresults ) {
- foreach ( $arcresults as $arcresult ) {
- $url = get_day_link($arcresult->year, $arcresult->month, $arcresult->dayofmonth);
- $date = sprintf("%d-%02d-%02d 00:00:00", $arcresult->year, $arcresult->month, $arcresult->dayofmonth);
- $text = mysql2date($archive_day_date_format, $date);
- echo get_archives_link($url, $text, $format, $before, $after);
- }
- }
- } elseif ( 'weekly' == $type ) {
- $start_of_week = get_settings('start_of_week');
- $arcresults = $wpdb->get_results("SELECT DISTINCT WEEK(post_date, $start_of_week) AS `week`, YEAR(post_date) AS yr, DATE_FORMAT(post_date, '%Y-%m-%d') AS yyyymmdd FROM $wpdb->posts WHERE post_type = 'post' AND post_status = 'publish' ORDER BY post_date DESC" . $limit);
- $arc_w_last = '';
- if ( $arcresults ) {
- foreach ( $arcresults as $arcresult ) {
- if ( $arcresult->week != $arc_w_last ) {
- $arc_year = $arcresult->yr;
- $arc_w_last = $arcresult->week;
- $arc_week = get_weekstartend($arcresult->yyyymmdd, get_settings('start_of_week'));
- $arc_week_start = date_i18n($archive_week_start_date_format, $arc_week['start']);
- $arc_week_end = date_i18n($archive_week_end_date_format, $arc_week['end']);
- $url = sprintf('%s/%s%sm%s%s%sw%s%d', get_settings('home'), '', '?', '=', $arc_year, '&amp;', '=', $arcresult->week);
- $text = $arc_week_start . $archive_week_separator . $arc_week_end;
- echo get_archives_link($url, $text, $format, $before, $after);
- }
- }
- }
- } elseif ( ( 'postbypost' == $type ) || ('alpha' == $type) ) {
- ('alpha' == $type) ? $orderby = "post_title ASC " : $orderby = "post_date DESC ";
- $arcresults = $wpdb->get_results("SELECT * FROM $wpdb->posts WHERE post_type = 'post' AND post_status = 'publish' ORDER BY $orderby $limit");
- if ( $arcresults ) {
- foreach ( $arcresults as $arcresult ) {
- if ( $arcresult->post_date != '0000-00-00 00:00:00' ) {
- $url = get_permalink($arcresult);
- $arc_title = $arcresult->post_title;
- if ( $arc_title )
- $text = strip_tags($arc_title);
- else
- $text = $arcresult->ID;
- echo get_archives_link($url, $text, $format, $before, $after);
- }
- }
- }
- }
-}
-
-
-// Used in get_calendar
-function calendar_week_mod($num) {
- $base = 7;
- return ($num - $base*floor($num/$base));
-}
-
-
-function get_calendar($initial = true) {
- global $wpdb, $m, $monthnum, $year, $timedifference, $wp_locale, $posts;
-
- // Quick check. If we have no posts at all, abort!
- if ( !$posts ) {
- $gotsome = $wpdb->get_var("SELECT ID from $wpdb->posts WHERE post_type = 'post' AND post_status = 'publish' ORDER BY post_date DESC LIMIT 1");
- if ( !$gotsome )
- return;
- }
-
- if ( isset($_GET['w']) )
- $w = ''.intval($_GET['w']);
-
- // week_begins = 0 stands for Sunday
- $week_begins = intval(get_settings('start_of_week'));
- $add_hours = intval(get_settings('gmt_offset'));
- $add_minutes = intval(60 * (get_settings('gmt_offset') - $add_hours));
-
- // Let's figure out when we are
- if ( !empty($monthnum) && !empty($year) ) {
- $thismonth = ''.zeroise(intval($monthnum), 2);
- $thisyear = ''.intval($year);
- } elseif ( !empty($w) ) {
- // We need to get the month from MySQL
- $thisyear = ''.intval(substr($m, 0, 4));
- $d = (($w - 1) * 7) + 6; //it seems MySQL's weeks disagree with PHP's
- $thismonth = $wpdb->get_var("SELECT DATE_FORMAT((DATE_ADD('${thisyear}0101', INTERVAL $d DAY) ), '%m')");
- } elseif ( !empty($m) ) {
- $calendar = substr($m, 0, 6);
- $thisyear = ''.intval(substr($m, 0, 4));
- if ( strlen($m) < 6 )
- $thismonth = '01';
- else
- $thismonth = ''.zeroise(intval(substr($m, 4, 2)), 2);
- } else {
- $thisyear = gmdate('Y', current_time('timestamp') + get_settings('gmt_offset') * 3600);
- $thismonth = gmdate('m', current_time('timestamp') + get_settings('gmt_offset') * 3600);
- }
-
- $unixmonth = mktime(0, 0 , 0, $thismonth, 1, $thisyear);
-
- // Get the next and previous month and year with at least one post
- $previous = $wpdb->get_row("SELECT DISTINCT MONTH(post_date) AS month, YEAR(post_date) AS year
- FROM $wpdb->posts
- WHERE post_date < '$thisyear-$thismonth-01'
- AND post_type = 'post' AND post_status = 'publish'
- ORDER BY post_date DESC
- LIMIT 1");
- $next = $wpdb->get_row("SELECT DISTINCT MONTH(post_date) AS month, YEAR(post_date) AS year
- FROM $wpdb->posts
- WHERE post_date > '$thisyear-$thismonth-01'
- AND MONTH( post_date ) != MONTH( '$thisyear-$thismonth-01' )
- AND post_type = 'post' AND post_status = 'publish'
- ORDER BY post_date ASC
- LIMIT 1");
-
- echo '<table id="wp-calendar">
- <caption>' . $wp_locale->get_month($thismonth) . ' ' . date('Y', $unixmonth) . '</caption>
- <thead>
- <tr>';
-
- $myweek = array();
-
- for ( $wdcount=0; $wdcount<=6; $wdcount++ ) {
- $myweek[] = $wp_locale->get_weekday(($wdcount+$week_begins)%7);
- }
-
- foreach ( $myweek as $wd ) {
- $day_name = (true == $initial) ? $wp_locale->get_weekday_initial($wd) : $wp_locale->get_weekday_abbrev($wd);
- echo "\n\t\t<th abbr=\"$wd\" scope=\"col\" title=\"$wd\">$day_name</th>";
- }
-
- echo '
- </tr>
- </thead>
-
- <tfoot>
- <tr>';
-
- if ( $previous ) {
- echo "\n\t\t".'<td abbr="' . $wp_locale->get_month($previous->month) . '" colspan="3" id="prev"><a href="' .
- get_month_link($previous->year, $previous->month) . '" title="' . sprintf(__('View posts for %1$s %2$s'), $wp_locale->get_month($previous->month),
- date('Y', mktime(0, 0 , 0, $previous->month, 1, $previous->year))) . '">&laquo; ' . $wp_locale->get_month_abbrev($wp_locale->get_month($previous->month)) . '</a></td>';
- } else {
- echo "\n\t\t".'<td colspan="3" id="prev" class="pad">&nbsp;</td>';
- }
-
- echo "\n\t\t".'<td class="pad">&nbsp;</td>';
-
- if ( $next ) {
- echo "\n\t\t".'<td abbr="' . $wp_locale->get_month($next->month) . '" colspan="3" id="next"><a href="' .
- get_month_link($next->year, $next->month) . '" title="' . sprintf(__('View posts for %1$s %2$s'), $wp_locale->get_month($next->month),
- date('Y', mktime(0, 0 , 0, $next->month, 1, $next->year))) . '">' . $wp_locale->get_month_abbrev($wp_locale->get_month($next->month)) . ' &raquo;</a></td>';
- } else {
- echo "\n\t\t".'<td colspan="3" id="next" class="pad">&nbsp;</td>';
- }
-
- echo '
- </tr>
- </tfoot>
-
- <tbody>
- <tr>';
-
- // Get days with posts
- $dayswithposts = $wpdb->get_results("SELECT DISTINCT DAYOFMONTH(post_date)
- FROM $wpdb->posts WHERE MONTH(post_date) = '$thismonth'
- AND YEAR(post_date) = '$thisyear'
- AND post_type = 'post' AND post_status = 'publish'
- AND post_date < '" . current_time('mysql') . '\'', ARRAY_N);
- if ( $dayswithposts ) {
- foreach ( $dayswithposts as $daywith ) {
- $daywithpost[] = $daywith[0];
- }
- } else {
- $daywithpost = array();
- }
-
-
-
- if ( strstr($_SERVER['HTTP_USER_AGENT'], 'MSIE') || strstr(strtolower($_SERVER['HTTP_USER_AGENT']), 'camino') || strstr(strtolower($_SERVER['HTTP_USER_AGENT']), 'safari') )
- $ak_title_separator = "\n";
- else
- $ak_title_separator = ', ';
-
- $ak_titles_for_day = array();
- $ak_post_titles = $wpdb->get_results("SELECT post_title, DAYOFMONTH(post_date) as dom "
- ."FROM $wpdb->posts "
- ."WHERE YEAR(post_date) = '$thisyear' "
- ."AND MONTH(post_date) = '$thismonth' "
- ."AND post_date < '".current_time('mysql')."' "
- ."AND post_type = 'post' AND post_status = 'publish'"
- );
- if ( $ak_post_titles ) {
- foreach ( $ak_post_titles as $ak_post_title ) {
- if ( empty($ak_titles_for_day['day_'.$ak_post_title->dom]) )
- $ak_titles_for_day['day_'.$ak_post_title->dom] = '';
- if ( empty($ak_titles_for_day["$ak_post_title->dom"]) ) // first one
- $ak_titles_for_day["$ak_post_title->dom"] = str_replace('"', '&quot;', wptexturize($ak_post_title->post_title));
- else
- $ak_titles_for_day["$ak_post_title->dom"] .= $ak_title_separator . str_replace('"', '&quot;', wptexturize($ak_post_title->post_title));
- }
- }
-
-
- // See how much we should pad in the beginning
- $pad = calendar_week_mod(date('w', $unixmonth)-$week_begins);
- if ( 0 != $pad )
- echo "\n\t\t".'<td colspan="'.$pad.'" class="pad">&nbsp;</td>';
-
- $daysinmonth = intval(date('t', $unixmonth));
- for ( $day = 1; $day <= $daysinmonth; ++$day ) {
- if ( isset($newrow) && $newrow )
- echo "\n\t</tr>\n\t<tr>\n\t\t";
- $newrow = false;
-
- if ( $day == gmdate('j', (time() + (get_settings('gmt_offset') * 3600))) && $thismonth == gmdate('m', time()+(get_settings('gmt_offset') * 3600)) && $thisyear == gmdate('Y', time()+(get_settings('gmt_offset') * 3600)) )
- echo '<td id="today">';
- else
- echo '<td>';
-
- if ( in_array($day, $daywithpost) ) // any posts today?
- echo '<a href="' . get_day_link($thisyear, $thismonth, $day) . "\" title=\"$ak_titles_for_day[$day]\">$day</a>";
- else
- echo $day;
- echo '</td>';
-
- if ( 6 == calendar_week_mod(date('w', mktime(0, 0 , 0, $thismonth, $day, $thisyear))-$week_begins) )
- $newrow = true;
- }
-
- $pad = 7 - calendar_week_mod(date('w', mktime(0, 0 , 0, $thismonth, $day, $thisyear))-$week_begins);
- if ( $pad != 0 && $pad != 7 )
- echo "\n\t\t".'<td class="pad" colspan="'.$pad.'">&nbsp;</td>';
-
- echo "\n\t</tr>\n\t</tbody>\n\t</table>";
-}
-
-
-function allowed_tags() {
- global $allowedtags;
- $allowed = '';
- foreach ( $allowedtags as $tag => $attributes ) {
- $allowed .= '<'.$tag;
- if ( 0 < count($attributes) ) {
- foreach ( $attributes as $attribute => $limits ) {
- $allowed .= ' '.$attribute.'=""';
- }
- }
- $allowed .= '> ';
- }
- return htmlentities($allowed);
-}
-
-
-/***** Date/Time tags *****/
-
-
-function the_date_xml() {
- global $post;
- echo mysql2date('Y-m-d', $post->post_date);
- //echo ""+$post->post_date;
-}
-
-
-function the_date($d='', $before='', $after='', $echo = true) {
- global $id, $post, $day, $previousday, $newday;
- $the_date = '';
- if ( $day != $previousday ) {
- $the_date .= $before;
- if ( $d=='' )
- $the_date .= mysql2date(get_settings('date_format'), $post->post_date);
- else
- $the_date .= mysql2date($d, $post->post_date);
- $the_date .= $after;
- $previousday = $day;
- }
- $the_date = apply_filters('the_date', $the_date, $d, $before, $after);
- if ( $echo )
- echo $the_date;
- else
- return $the_date;
-}
-
-
-function the_time( $d = '' ) {
- echo apply_filters('the_time', get_the_time( $d ), $d);
-}
-
-
-function get_the_time( $d = '' ) {
- if ( '' == $d )
- $the_time = get_post_time(get_settings('time_format'));
- else
- $the_time = get_post_time($d);
- return apply_filters('get_the_time', $the_time, $d);
-}
-
-
-function get_post_time( $d = 'U', $gmt = false ) { // returns timestamp
- global $post;
- if ( $gmt )
- $time = $post->post_date_gmt;
- else
- $time = $post->post_date;
-
- $time = mysql2date($d, $time);
- return apply_filters('get_the_time', $time, $d, $gmt);
-}
-
-
-function the_modified_time($d = '') {
- echo apply_filters('the_modified_time', get_the_modified_time($d), $d);
-}
-
-
-function get_the_modified_time($d = '') {
- if ( '' == $d )
- $the_time = get_post_modified_time(get_settings('time_format'));
- else
- $the_time = get_post_modified_time($d);
- return apply_filters('get_the_modified_time', $the_time, $d);
-}
-
-
-function get_post_modified_time( $d = 'U', $gmt = false ) { // returns timestamp
- global $post;
-
- if ( $gmt )
- $time = $post->post_modified_gmt;
- else
- $time = $post->post_modified;
- $time = mysql2date($d, $time);
-
- return apply_filters('get_the_modified_time', $time, $d, $gmt);
-}
-
-
-function the_weekday() {
- global $wp_locale, $id, $post;
- $the_weekday = $wp_locale->get_weekday(mysql2date('w', $post->post_date));
- $the_weekday = apply_filters('the_weekday', $the_weekday);
- echo $the_weekday;
-}
-
-
-function the_weekday_date($before='',$after='') {
- global $wp_locale, $id, $post, $day, $previousweekday;
- $the_weekday_date = '';
- if ( $day != $previousweekday ) {
- $the_weekday_date .= $before;
- $the_weekday_date .= $wp_locale->get_weekday(mysql2date('w', $post->post_date));
- $the_weekday_date .= $after;
- $previousweekday = $day;
- }
- $the_weekday_date = apply_filters('the_weekday_date', $the_weekday_date, $before, $after);
- echo $the_weekday_date;
-}
-
-function wp_head() {
- do_action('wp_head');
-}
-
-function wp_footer() {
- do_action('wp_footer');
-}
-
-function rsd_link() {
- echo ' <link rel="EditURI" type="application/rsd+xml" title="RSD" href="' . get_bloginfo('wpurl') . "/xmlrpc.php?rsd\" />\n";
-}
-
-function noindex() {
- global $current_blog;
- // If the blog is not public, tell robots to go away.
- if ( '0' == $current_blog->public )
- echo "<meta name='robots' content='noindex,nofollow' />\n";
-}
-
-/**
- * Places a textarea according to the current user's preferences, filled with $content.
- * Also places a script block that enables tabbing between Title and Content.
- *
- * @param string Editor contents
- * @param string (optional) Previous form field's ID (for tabbing support)
- */
-function the_editor($content, $id = 'content', $prev_id = 'title') {
- $rows = get_settings('default_post_edit_rows');
- if (($rows < 3) || ($rows > 100))
- $rows = 12;
-
- $rows = "rows='$rows'";
-
- the_quicktags();
-
- if ( user_can_richedit() )
- add_filter('the_editor_content', 'wp_richedit_pre');
-
- $the_editor = apply_filters('the_editor', "<div><textarea class='mceEditor' $rows cols='40' name='$id' tabindex='2' id='$id'>%s</textarea></div>\n");
- $the_editor_content = apply_filters('the_editor_content', $content);
-
- printf($the_editor, $the_editor_content);
-
- ?>
- <script type="text/javascript">
- //<!--
- edCanvas = document.getElementById('<?php echo $id; ?>');
- <?php if ( user_can_richedit() ) : ?>
- // This code is meant to allow tabbing from Title to Post (TinyMCE).
- if ( tinyMCE.isMSIE )
- document.getElementById('<?php echo $prev_id; ?>').onkeydown = function (e)
- {
- e = e ? e : window.event;
- if (e.keyCode == 9 && !e.shiftKey && !e.controlKey && !e.altKey) {
- var i = tinyMCE.selectedInstance;
- if(typeof i == 'undefined')
- return true;
- tinyMCE.execCommand("mceStartTyping");
- this.blur();
- i.contentWindow.focus();
- e.returnValue = false;
- return false;
- }
- }
- else
- document.getElementById('<?php echo $prev_id; ?>').onkeypress = function (e)
- {
- e = e ? e : window.event;
- if (e.keyCode == 9 && !e.shiftKey && !e.controlKey && !e.altKey) {
- var i = tinyMCE.selectedInstance;
- if(typeof i == 'undefined')
- return true;
- tinyMCE.execCommand("mceStartTyping");
- this.blur();
- i.contentWindow.focus();
- e.returnValue = false;
- return false;
- }
- }
- <?php endif; ?>
- //-->
- </script>
- <?php
-}
-
-?>
diff --git a/wp-inst/wp-includes/gettext.php b/wp-inst/wp-includes/gettext.php
deleted file mode 100644
index ad605cf..0000000
--- a/wp-inst/wp-includes/gettext.php
+++ /dev/null
@@ -1,361 +0,0 @@
-<?php
-/*
- Copyright (c) 2003 Danilo Segan <danilo@kvota.net>.
- Copyright (c) 2005 Nico Kaiser <nico@siriux.net>
-
- This file is part of PHP-gettext.
-
- PHP-gettext 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.
-
- PHP-gettext 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 PHP-gettext; if not, write to the Free Software
- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-
-*/
-
-/**
- * Provides a simple gettext replacement that works independently from
- * the system's gettext abilities.
- * It can read MO files and use them for translating strings.
- * The files are passed to gettext_reader as a Stream (see streams.php)
- *
- * This version has the ability to cache all strings and translations to
- * speed up the string lookup.
- * While the cache is enabled by default, it can be switched off with the
- * second parameter in the constructor (e.g. whenusing very large MO files
- * that you don't want to keep in memory)
- */
-class gettext_reader {
- //public:
- var $error = 0; // public variable that holds error code (0 if no error)
-
- //private:
- var $BYTEORDER = 0; // 0: low endian, 1: big endian
- var $STREAM = NULL;
- var $short_circuit = false;
- var $enable_cache = false;
- var $originals = NULL; // offset of original table
- var $translations = NULL; // offset of translation table
- var $pluralheader = NULL; // cache header field for plural forms
- var $total = 0; // total string count
- var $table_originals = NULL; // table for original strings (offsets)
- var $table_translations = NULL; // table for translated strings (offsets)
- var $cache_translations = NULL; // original -> translation mapping
-
-
- /* Methods */
-
-
- /**
- * Reads a 32bit Integer from the Stream
- *
- * @access private
- * @return Integer from the Stream
- */
- function readint() {
- $stream = $this->STREAM->read(4);
- if ($this->BYTEORDER == 0) {
- // low endian
- $unpacked = unpack('V',$stream);
- return array_shift($unpacked);
- } else {
- // big endian
- $unpacked = unpack('N',$stream);
- return array_shift($unpacked);
- }
- }
-
- /**
- * Reads an array of Integers from the Stream
- *
- * @param int count How many elements should be read
- * @return Array of Integers
- */
- function readintarray($count) {
- if ($this->BYTEORDER == 0) {
- // low endian
- return unpack('V'.$count, $this->STREAM->read(4 * $count));
- } else {
- // big endian
- return unpack('N'.$count, $this->STREAM->read(4 * $count));
- }
- }
-
- /**
- * Constructor
- *
- * @param object Reader the StreamReader object
- * @param boolean enable_cache Enable or disable caching of strings (default on)
- */
- function gettext_reader($Reader, $enable_cache = true) {
- // If there isn't a StreamReader, turn on short circuit mode.
- if (! $Reader) {
- $this->short_circuit = true;
- return;
- }
-
- // Caching can be turned off
- $this->enable_cache = $enable_cache;
-
- // $MAGIC1 = (int)0x950412de; //bug in PHP 5
- $MAGIC1 = (int) - 1794895138;
- // $MAGIC2 = (int)0xde120495; //bug
- $MAGIC2 = (int) - 569244523;
-
- $this->STREAM = $Reader;
- $magic = $this->readint();
- if ($magic == $MAGIC1) {
- $this->BYTEORDER = 0;
- } elseif ($magic == $MAGIC2) {
- $this->BYTEORDER = 1;
- } else {
- $this->error = 1; // not MO file
- return false;
- }
-
- // FIXME: Do we care about revision? We should.
- $revision = $this->readint();
-
- $this->total = $this->readint();
- $this->originals = $this->readint();
- $this->translations = $this->readint();
- }
-
- /**
- * Loads the translation tables from the MO file into the cache
- * If caching is enabled, also loads all strings into a cache
- * to speed up translation lookups
- *
- * @access private
- */
- function load_tables() {
- if (is_array($this->cache_translations) &&
- is_array($this->table_originals) &&
- is_array($this->table_translations))
- return;
-
- /* get original and translations tables */
- $this->STREAM->seekto($this->originals);
- $this->table_originals = $this->readintarray($this->total * 2);
- $this->STREAM->seekto($this->translations);
- $this->table_translations = $this->readintarray($this->total * 2);
-
- if ($this->enable_cache) {
- $this->cache_translations = array ();
- /* read all strings in the cache */
- for ($i = 0; $i < $this->total; $i++) {
- $this->STREAM->seekto($this->table_originals[$i * 2 + 2]);
- $original = $this->STREAM->read($this->table_originals[$i * 2 + 1]);
- $this->STREAM->seekto($this->table_translations[$i * 2 + 2]);
- $translation = $this->STREAM->read($this->table_translations[$i * 2 + 1]);
- $this->cache_translations[$original] = $translation;
- }
- }
- }
-
- /**
- * Returns a string from the "originals" table
- *
- * @access private
- * @param int num Offset number of original string
- * @return string Requested string if found, otherwise ''
- */
- function get_original_string($num) {
- $length = $this->table_originals[$num * 2 + 1];
- $offset = $this->table_originals[$num * 2 + 2];
- if (! $length)
- return '';
- $this->STREAM->seekto($offset);
- $data = $this->STREAM->read($length);
- return (string)$data;
- }
-
- /**
- * Returns a string from the "translations" table
- *
- * @access private
- * @param int num Offset number of original string
- * @return string Requested string if found, otherwise ''
- */
- function get_translation_string($num) {
- $length = $this->table_translations[$num * 2 + 1];
- $offset = $this->table_translations[$num * 2 + 2];
- if (! $length)
- return '';
- $this->STREAM->seekto($offset);
- $data = $this->STREAM->read($length);
- return (string)$data;
- }
-
- /**
- * Binary search for string
- *
- * @access private
- * @param string string
- * @param int start (internally used in recursive function)
- * @param int end (internally used in recursive function)
- * @return int string number (offset in originals table)
- */
- function find_string($string, $start = -1, $end = -1) {
- if (($start == -1) or ($end == -1)) {
- // find_string is called with only one parameter, set start end end
- $start = 0;
- $end = $this->total;
- }
- if (abs($start - $end) <= 1) {
- // We're done, now we either found the string, or it doesn't exist
- $txt = $this->get_original_string($start);
- if ($string == $txt)
- return $start;
- else
- return -1;
- } else if ($start > $end) {
- // start > end -> turn around and start over
- return $this->find_string($string, $end, $start);
- } else {
- // Divide table in two parts
- $half = (int)(($start + $end) / 2);
- $cmp = strcmp($string, $this->get_original_string($half));
- if ($cmp == 0)
- // string is exactly in the middle => return it
- return $half;
- else if ($cmp < 0)
- // The string is in the upper half
- return $this->find_string($string, $start, $half);
- else
- // The string is in the lower half
- return $this->find_string($string, $half, $end);
- }
- }
-
- /**
- * Translates a string
- *
- * @access public
- * @param string string to be translated
- * @return string translated string (or original, if not found)
- */
- function translate($string) {
- if ($this->short_circuit)
- return $string;
- $this->load_tables();
-
- if ($this->enable_cache) {
- // Caching enabled, get translated string from cache
- if (array_key_exists($string, $this->cache_translations))
- return $this->cache_translations[$string];
- else
- return $string;
- } else {
- // Caching not enabled, try to find string
- $num = $this->find_string($string);
- if ($num == -1)
- return $string;
- else
- return $this->get_translation_string($num);
- }
- }
-
- /**
- * Get possible plural forms from MO header
- *
- * @access private
- * @return string plural form header
- */
- function get_plural_forms() {
- // lets assume message number 0 is header
- // this is true, right?
- $this->load_tables();
-
- // cache header field for plural forms
- if (! is_string($this->pluralheader)) {
- if ($this->enable_cache) {
- $header = $this->cache_translations[""];
- } else {
- $header = $this->get_translation_string(0);
- }
- if (eregi("plural-forms: (.*)\n", $header, $regs))
- $expr = $regs[1];
- else
- $expr = "nplurals=2; plural=n == 1 ? 0 : 1;";
- $this->pluralheader = $expr;
- }
- return $this->pluralheader;
- }
-
- /**
- * Detects which plural form to take
- *
- * @access private
- * @param n count
- * @return int array index of the right plural form
- */
- function select_string($n) {
- $string = $this->get_plural_forms();
- $string = str_replace('nplurals',"\$total",$string);
- $string = str_replace("n",$n,$string);
- $string = str_replace('plural',"\$plural",$string);
-
- $total = 0;
- $plural = 0;
-
- eval("$string");
- if ($plural >= $total) $plural = 0;
- return $plural;
- }
-
- /**
- * Plural version of gettext
- *
- * @access public
- * @param string single
- * @param string plural
- * @param string number
- * @return translated plural form
- */
- function ngettext($single, $plural, $number) {
- if ($this->short_circuit) {
- if ($number != 1)
- return $plural;
- else
- return $single;
- }
-
- // find out the appropriate form
- $select = $this->select_string($number);
-
- // this should contains all strings separated by NULLs
- $key = $single.chr(0).$plural;
-
-
- if ($this->enable_cache) {
- if (! array_key_exists($key, $this->cache_translations)) {
- return ($number != 1) ? $plural : $single;
- } else {
- $result = $this->cache_translations[$key];
- $list = explode(chr(0), $result);
- return $list[$select];
- }
- } else {
- $num = $this->find_string($key);
- if ($num == -1) {
- return ($number != 1) ? $plural : $single;
- } else {
- $result = $this->get_translation_string($num);
- $list = explode(chr(0), $result);
- return $list[$select];
- }
- }
- }
-
-}
-
-?>
diff --git a/wp-inst/wp-includes/images/smilies/icon_arrow.gif b/wp-inst/wp-includes/images/smilies/icon_arrow.gif
deleted file mode 100644
index 2880055..0000000
--- a/wp-inst/wp-includes/images/smilies/icon_arrow.gif
+++ /dev/null
Binary files differ
diff --git a/wp-inst/wp-includes/images/smilies/icon_biggrin.gif b/wp-inst/wp-includes/images/smilies/icon_biggrin.gif
deleted file mode 100644
index d352772..0000000
--- a/wp-inst/wp-includes/images/smilies/icon_biggrin.gif
+++ /dev/null
Binary files differ
diff --git a/wp-inst/wp-includes/images/smilies/icon_confused.gif b/wp-inst/wp-includes/images/smilies/icon_confused.gif
deleted file mode 100644
index 0c49e06..0000000
--- a/wp-inst/wp-includes/images/smilies/icon_confused.gif
+++ /dev/null
Binary files differ
diff --git a/wp-inst/wp-includes/images/smilies/icon_cool.gif b/wp-inst/wp-includes/images/smilies/icon_cool.gif
deleted file mode 100644
index cead030..0000000
--- a/wp-inst/wp-includes/images/smilies/icon_cool.gif
+++ /dev/null
Binary files differ
diff --git a/wp-inst/wp-includes/images/smilies/icon_cry.gif b/wp-inst/wp-includes/images/smilies/icon_cry.gif
deleted file mode 100644
index 7d54b1f..0000000
--- a/wp-inst/wp-includes/images/smilies/icon_cry.gif
+++ /dev/null
Binary files differ
diff --git a/wp-inst/wp-includes/images/smilies/icon_eek.gif b/wp-inst/wp-includes/images/smilies/icon_eek.gif
deleted file mode 100644
index 5d39781..0000000
--- a/wp-inst/wp-includes/images/smilies/icon_eek.gif
+++ /dev/null
Binary files differ
diff --git a/wp-inst/wp-includes/images/smilies/icon_evil.gif b/wp-inst/wp-includes/images/smilies/icon_evil.gif
deleted file mode 100644
index ab1aa8e..0000000
--- a/wp-inst/wp-includes/images/smilies/icon_evil.gif
+++ /dev/null
Binary files differ
diff --git a/wp-inst/wp-includes/images/smilies/icon_exclaim.gif b/wp-inst/wp-includes/images/smilies/icon_exclaim.gif
deleted file mode 100644
index 6e50e2e..0000000
--- a/wp-inst/wp-includes/images/smilies/icon_exclaim.gif
+++ /dev/null
Binary files differ
diff --git a/wp-inst/wp-includes/images/smilies/icon_idea.gif b/wp-inst/wp-includes/images/smilies/icon_idea.gif
deleted file mode 100644
index a40ae0d..0000000
--- a/wp-inst/wp-includes/images/smilies/icon_idea.gif
+++ /dev/null
Binary files differ
diff --git a/wp-inst/wp-includes/images/smilies/icon_lol.gif b/wp-inst/wp-includes/images/smilies/icon_lol.gif
deleted file mode 100644
index 374ba15..0000000
--- a/wp-inst/wp-includes/images/smilies/icon_lol.gif
+++ /dev/null
Binary files differ
diff --git a/wp-inst/wp-includes/images/smilies/icon_mad.gif b/wp-inst/wp-includes/images/smilies/icon_mad.gif
deleted file mode 100644
index 1f6c3c2..0000000
--- a/wp-inst/wp-includes/images/smilies/icon_mad.gif
+++ /dev/null
Binary files differ
diff --git a/wp-inst/wp-includes/images/smilies/icon_mrgreen.gif b/wp-inst/wp-includes/images/smilies/icon_mrgreen.gif
deleted file mode 100644
index b54cd0f..0000000
--- a/wp-inst/wp-includes/images/smilies/icon_mrgreen.gif
+++ /dev/null
Binary files differ
diff --git a/wp-inst/wp-includes/images/smilies/icon_neutral.gif b/wp-inst/wp-includes/images/smilies/icon_neutral.gif
deleted file mode 100644
index 4f31156..0000000
--- a/wp-inst/wp-includes/images/smilies/icon_neutral.gif
+++ /dev/null
Binary files differ
diff --git a/wp-inst/wp-includes/images/smilies/icon_question.gif b/wp-inst/wp-includes/images/smilies/icon_question.gif
deleted file mode 100644
index 9d07226..0000000
--- a/wp-inst/wp-includes/images/smilies/icon_question.gif
+++ /dev/null
Binary files differ
diff --git a/wp-inst/wp-includes/images/smilies/icon_razz.gif b/wp-inst/wp-includes/images/smilies/icon_razz.gif
deleted file mode 100644
index 29da2a2..0000000
--- a/wp-inst/wp-includes/images/smilies/icon_razz.gif
+++ /dev/null
Binary files differ
diff --git a/wp-inst/wp-includes/images/smilies/icon_redface.gif b/wp-inst/wp-includes/images/smilies/icon_redface.gif
deleted file mode 100644
index ad76283..0000000
--- a/wp-inst/wp-includes/images/smilies/icon_redface.gif
+++ /dev/null
Binary files differ
diff --git a/wp-inst/wp-includes/images/smilies/icon_rolleyes.gif b/wp-inst/wp-includes/images/smilies/icon_rolleyes.gif
deleted file mode 100644
index d7f5f2f..0000000
--- a/wp-inst/wp-includes/images/smilies/icon_rolleyes.gif
+++ /dev/null
Binary files differ
diff --git a/wp-inst/wp-includes/images/smilies/icon_sad.gif b/wp-inst/wp-includes/images/smilies/icon_sad.gif
deleted file mode 100644
index d2ac78c..0000000
--- a/wp-inst/wp-includes/images/smilies/icon_sad.gif
+++ /dev/null
Binary files differ
diff --git a/wp-inst/wp-includes/images/smilies/icon_smile.gif b/wp-inst/wp-includes/images/smilies/icon_smile.gif
deleted file mode 100644
index 7b1f6d3..0000000
--- a/wp-inst/wp-includes/images/smilies/icon_smile.gif
+++ /dev/null
Binary files differ
diff --git a/wp-inst/wp-includes/images/smilies/icon_surprised.gif b/wp-inst/wp-includes/images/smilies/icon_surprised.gif
deleted file mode 100644
index cb21424..0000000
--- a/wp-inst/wp-includes/images/smilies/icon_surprised.gif
+++ /dev/null
Binary files differ
diff --git a/wp-inst/wp-includes/images/smilies/icon_twisted.gif b/wp-inst/wp-includes/images/smilies/icon_twisted.gif
deleted file mode 100644
index 502fe24..0000000
--- a/wp-inst/wp-includes/images/smilies/icon_twisted.gif
+++ /dev/null
Binary files differ
diff --git a/wp-inst/wp-includes/images/smilies/icon_wink.gif b/wp-inst/wp-includes/images/smilies/icon_wink.gif
deleted file mode 100644
index d148288..0000000
--- a/wp-inst/wp-includes/images/smilies/icon_wink.gif
+++ /dev/null
Binary files differ
diff --git a/wp-inst/wp-includes/images/wordpress-mu.png b/wp-inst/wp-includes/images/wordpress-mu.png
deleted file mode 100644
index 8dd6c04..0000000
--- a/wp-inst/wp-includes/images/wordpress-mu.png
+++ /dev/null
Binary files differ
diff --git a/wp-inst/wp-includes/js/colorpicker.js b/wp-inst/wp-includes/js/colorpicker.js
deleted file mode 100644
index 7d729db..0000000
--- a/wp-inst/wp-includes/js/colorpicker.js
+++ /dev/null
@@ -1,707 +0,0 @@
-// ===================================================================
-// Author: Matt Kruse <matt@mattkruse.com>
-// WWW: http://www.mattkruse.com/
-//
-// NOTICE: You may use this code for any purpose, commercial or
-// private, without any further permission from the author. You may
-// remove this notice from your final code if you wish, however it is
-// appreciated by the author if at least my web site address is kept.
-//
-// You may *NOT* re-distribute this code in any way except through its
-// use. That means, you can include it in your product, or your web
-// site, or any other form where the code is actually being used. You
-// may not put the plain javascript up on your site for download or
-// include it in your javascript libraries for download.
-// If you wish to share this code with others, please just point them
-// to the URL instead.
-// Please DO NOT link directly to my .js files from your site. Copy
-// the files to your server and use them there. Thank you.
-// ===================================================================
-
-
-/* SOURCE FILE: AnchorPosition.js */
-
-/*
-AnchorPosition.js
-Author: Matt Kruse
-Last modified: 10/11/02
-
-DESCRIPTION: These functions find the position of an <A> tag in a document,
-so other elements can be positioned relative to it.
-
-COMPATABILITY: Netscape 4.x,6.x,Mozilla, IE 5.x,6.x on Windows. Some small
-positioning errors - usually with Window positioning - occur on the
-Macintosh platform.
-
-FUNCTIONS:
-getAnchorPosition(anchorname)
- Returns an Object() having .x and .y properties of the pixel coordinates
- of the upper-left corner of the anchor. Position is relative to the PAGE.
-
-getAnchorWindowPosition(anchorname)
- Returns an Object() having .x and .y properties of the pixel coordinates
- of the upper-left corner of the anchor, relative to the WHOLE SCREEN.
-
-NOTES:
-
-1) For popping up separate browser windows, use getAnchorWindowPosition.
- Otherwise, use getAnchorPosition
-
-2) Your anchor tag MUST contain both NAME and ID attributes which are the
- same. For example:
- <A NAME="test" ID="test"> </A>
-
-3) There must be at least a space between <A> </A> for IE5.5 to see the
- anchor tag correctly. Do not do <A></A> with no space.
-*/
-
-// getAnchorPosition(anchorname)
-// This function returns an object having .x and .y properties which are the coordinates
-// of the named anchor, relative to the page.
-function getAnchorPosition(anchorname) {
- // This function will return an Object with x and y properties
- var useWindow=false;
- var coordinates=new Object();
- var x=0,y=0;
- // Browser capability sniffing
- var use_gebi=false, use_css=false, use_layers=false;
- if (document.getElementById) { use_gebi=true; }
- else if (document.all) { use_css=true; }
- else if (document.layers) { use_layers=true; }
- // Logic to find position
- if (use_gebi && document.all) {
- x=AnchorPosition_getPageOffsetLeft(document.all[anchorname]);
- y=AnchorPosition_getPageOffsetTop(document.all[anchorname]);
- }
- else if (use_gebi) {
- var o=document.getElementById(anchorname);
- x=AnchorPosition_getPageOffsetLeft(o);
- y=AnchorPosition_getPageOffsetTop(o);
- }
- else if (use_css) {
- x=AnchorPosition_getPageOffsetLeft(document.all[anchorname]);
- y=AnchorPosition_getPageOffsetTop(document.all[anchorname]);
- }
- else if (use_layers) {
- var found=0;
- for (var i=0; i<document.anchors.length; i++) {
- if (document.anchors[i].name==anchorname) { found=1; break; }
- }
- if (found==0) {
- coordinates.x=0; coordinates.y=0; return coordinates;
- }
- x=document.anchors[i].x;
- y=document.anchors[i].y;
- }
- else {
- coordinates.x=0; coordinates.y=0; return coordinates;
- }
- coordinates.x=x;
- coordinates.y=y;
- return coordinates;
- }
-
-// getAnchorWindowPosition(anchorname)
-// This function returns an object having .x and .y properties which are the coordinates
-// of the named anchor, relative to the window
-function getAnchorWindowPosition(anchorname) {
- var coordinates=getAnchorPosition(anchorname);
- var x=0;
- var y=0;
- if (document.getElementById) {
- if (isNaN(window.screenX)) {
- x=coordinates.x-document.body.scrollLeft+window.screenLeft;
- y=coordinates.y-document.body.scrollTop+window.screenTop;
- }
- else {
- x=coordinates.x+window.screenX+(window.outerWidth-window.innerWidth)-window.pageXOffset;
- y=coordinates.y+window.screenY+(window.outerHeight-24-window.innerHeight)-window.pageYOffset;
- }
- }
- else if (document.all) {
- x=coordinates.x-document.body.scrollLeft+window.screenLeft;
- y=coordinates.y-document.body.scrollTop+window.screenTop;
- }
- else if (document.layers) {
- x=coordinates.x+window.screenX+(window.outerWidth-window.innerWidth)-window.pageXOffset;
- y=coordinates.y+window.screenY+(window.outerHeight-24-window.innerHeight)-window.pageYOffset;
- }
- coordinates.x=x;
- coordinates.y=y;
- return coordinates;
- }
-
-// Functions for IE to get position of an object
-function AnchorPosition_getPageOffsetLeft (el) {
- var ol=el.offsetLeft;
- while ((el=el.offsetParent) != null) { ol += el.offsetLeft; }
- return ol;
- }
-function AnchorPosition_getWindowOffsetLeft (el) {
- return AnchorPosition_getPageOffsetLeft(el)-document.body.scrollLeft;
- }
-function AnchorPosition_getPageOffsetTop (el) {
- var ot=el.offsetTop;
- while((el=el.offsetParent) != null) { ot += el.offsetTop; }
- return ot;
- }
-function AnchorPosition_getWindowOffsetTop (el) {
- return AnchorPosition_getPageOffsetTop(el)-document.body.scrollTop;
- }
-
-/* SOURCE FILE: PopupWindow.js */
-
-/*
-PopupWindow.js
-Author: Matt Kruse
-Last modified: 02/16/04
-
-DESCRIPTION: This object allows you to easily and quickly popup a window
-in a certain place. The window can either be a DIV or a separate browser
-window.
-
-COMPATABILITY: Works with Netscape 4.x, 6.x, IE 5.x on Windows. Some small
-positioning errors - usually with Window positioning - occur on the
-Macintosh platform. Due to bugs in Netscape 4.x, populating the popup
-window with <STYLE> tags may cause errors.
-
-USAGE:
-// Create an object for a WINDOW popup
-var win = new PopupWindow();
-
-// Create an object for a DIV window using the DIV named 'mydiv'
-var win = new PopupWindow('mydiv');
-
-// Set the window to automatically hide itself when the user clicks
-// anywhere else on the page except the popup
-win.autoHide();
-
-// Show the window relative to the anchor name passed in
-win.showPopup(anchorname);
-
-// Hide the popup
-win.hidePopup();
-
-// Set the size of the popup window (only applies to WINDOW popups
-win.setSize(width,height);
-
-// Populate the contents of the popup window that will be shown. If you
-// change the contents while it is displayed, you will need to refresh()
-win.populate(string);
-
-// set the URL of the window, rather than populating its contents
-// manually
-win.setUrl("http://www.site.com/");
-
-// Refresh the contents of the popup
-win.refresh();
-
-// Specify how many pixels to the right of the anchor the popup will appear
-win.offsetX = 50;
-
-// Specify how many pixels below the anchor the popup will appear
-win.offsetY = 100;
-
-NOTES:
-1) Requires the functions in AnchorPosition.js
-
-2) Your anchor tag MUST contain both NAME and ID attributes which are the
- same. For example:
- <A NAME="test" ID="test"> </A>
-
-3) There must be at least a space between <A> </A> for IE5.5 to see the
- anchor tag correctly. Do not do <A></A> with no space.
-
-4) When a PopupWindow object is created, a handler for 'onmouseup' is
- attached to any event handler you may have already defined. Do NOT define
- an event handler for 'onmouseup' after you define a PopupWindow object or
- the autoHide() will not work correctly.
-*/
-
-// Set the position of the popup window based on the anchor
-function PopupWindow_getXYPosition(anchorname) {
- var coordinates;
- if (this.type == "WINDOW") {
- coordinates = getAnchorWindowPosition(anchorname);
- }
- else {
- coordinates = getAnchorPosition(anchorname);
- }
- this.x = coordinates.x;
- this.y = coordinates.y;
- }
-// Set width/height of DIV/popup window
-function PopupWindow_setSize(width,height) {
- this.width = width;
- this.height = height;
- }
-// Fill the window with contents
-function PopupWindow_populate(contents) {
- this.contents = contents;
- this.populated = false;
- }
-// Set the URL to go to
-function PopupWindow_setUrl(url) {
- this.url = url;
- }
-// Set the window popup properties
-function PopupWindow_setWindowProperties(props) {
- this.windowProperties = props;
- }
-// Refresh the displayed contents of the popup
-function PopupWindow_refresh() {
- if (this.divName != null) {
- // refresh the DIV object
- if (this.use_gebi) {
- document.getElementById(this.divName).innerHTML = this.contents;
- }
- else if (this.use_css) {
- document.all[this.divName].innerHTML = this.contents;
- }
- else if (this.use_layers) {
- var d = document.layers[this.divName];
- d.document.open();
- d.document.writeln(this.contents);
- d.document.close();
- }
- }
- else {
- if (this.popupWindow != null && !this.popupWindow.closed) {
- if (this.url!="") {
- this.popupWindow.location.href=this.url;
- }
- else {
- this.popupWindow.document.open();
- this.popupWindow.document.writeln(this.contents);
- this.popupWindow.document.close();
- }
- this.popupWindow.focus();
- }
- }
- }
-// Position and show the popup, relative to an anchor object
-function PopupWindow_showPopup(anchorname) {
- this.getXYPosition(anchorname);
- this.x += this.offsetX;
- this.y += this.offsetY;
- if (!this.populated && (this.contents != "")) {
- this.populated = true;
- this.refresh();
- }
- if (this.divName != null) {
- // Show the DIV object
- if (this.use_gebi) {
- document.getElementById(this.divName).style.left = this.x + "px";
- document.getElementById(this.divName).style.top = this.y;
- document.getElementById(this.divName).style.visibility = "visible";
- }
- else if (this.use_css) {
- document.all[this.divName].style.left = this.x;
- document.all[this.divName].style.top = this.y;
- document.all[this.divName].style.visibility = "visible";
- }
- else if (this.use_layers) {
- document.layers[this.divName].left = this.x;
- document.layers[this.divName].top = this.y;
- document.layers[this.divName].visibility = "visible";
- }
- }
- else {
- if (this.popupWindow == null || this.popupWindow.closed) {
- // If the popup window will go off-screen, move it so it doesn't
- if (this.x<0) { this.x=0; }
- if (this.y<0) { this.y=0; }
- if (screen && screen.availHeight) {
- if ((this.y + this.height) > screen.availHeight) {
- this.y = screen.availHeight - this.height;
- }
- }
- if (screen && screen.availWidth) {
- if ((this.x + this.width) > screen.availWidth) {
- this.x = screen.availWidth - this.width;
- }
- }
- var avoidAboutBlank = window.opera || ( document.layers && !navigator.mimeTypes['*'] ) || navigator.vendor == 'KDE' || ( document.childNodes && !document.all && !navigator.taintEnabled );
- this.popupWindow = window.open(avoidAboutBlank?"":"about:blank","window_"+anchorname,this.windowProperties+",width="+this.width+",height="+this.height+",screenX="+this.x+",left="+this.x+",screenY="+this.y+",top="+this.y+"");
- }
- this.refresh();
- }
- }
-// Hide the popup
-function PopupWindow_hidePopup() {
- if (this.divName != null) {
- if (this.use_gebi) {
- document.getElementById(this.divName).style.visibility = "hidden";
- }
- else if (this.use_css) {
- document.all[this.divName].style.visibility = "hidden";
- }
- else if (this.use_layers) {
- document.layers[this.divName].visibility = "hidden";
- }
- }
- else {
- if (this.popupWindow && !this.popupWindow.closed) {
- this.popupWindow.close();
- this.popupWindow = null;
- }
- }
- }
-// Pass an event and return whether or not it was the popup DIV that was clicked
-function PopupWindow_isClicked(e) {
- if (this.divName != null) {
- if (this.use_layers) {
- var clickX = e.pageX;
- var clickY = e.pageY;
- var t = document.layers[this.divName];
- if ((clickX > t.left) && (clickX < t.left+t.clip.width) && (clickY > t.top) && (clickY < t.top+t.clip.height)) {
- return true;
- }
- else { return false; }
- }
- else if (document.all) { // Need to hard-code this to trap IE for error-handling
- var t = window.event.srcElement;
- while (t.parentElement != null) {
- if (t.id==this.divName) {
- return true;
- }
- t = t.parentElement;
- }
- return false;
- }
- else if (this.use_gebi && e) {
- var t = e.originalTarget;
- while (t.parentNode != null) {
- if (t.id==this.divName) {
- return true;
- }
- t = t.parentNode;
- }
- return false;
- }
- return false;
- }
- return false;
- }
-
-// Check an onMouseDown event to see if we should hide
-function PopupWindow_hideIfNotClicked(e) {
- if (this.autoHideEnabled && !this.isClicked(e)) {
- this.hidePopup();
- }
- }
-// Call this to make the DIV disable automatically when mouse is clicked outside it
-function PopupWindow_autoHide() {
- this.autoHideEnabled = true;
- }
-// This global function checks all PopupWindow objects onmouseup to see if they should be hidden
-function PopupWindow_hidePopupWindows(e) {
- for (var i=0; i<popupWindowObjects.length; i++) {
- if (popupWindowObjects[i] != null) {
- var p = popupWindowObjects[i];
- p.hideIfNotClicked(e);
- }
- }
- }
-// Run this immediately to attach the event listener
-function PopupWindow_attachListener() {
- if (document.layers) {
- document.captureEvents(Event.MOUSEUP);
- }
- window.popupWindowOldEventListener = document.onmouseup;
- if (window.popupWindowOldEventListener != null) {
- document.onmouseup = new Function("window.popupWindowOldEventListener(); PopupWindow_hidePopupWindows();");
- }
- else {
- document.onmouseup = PopupWindow_hidePopupWindows;
- }
- }
-// CONSTRUCTOR for the PopupWindow object
-// Pass it a DIV name to use a DHTML popup, otherwise will default to window popup
-function PopupWindow() {
- if (!window.popupWindowIndex) { window.popupWindowIndex = 0; }
- if (!window.popupWindowObjects) { window.popupWindowObjects = new Array(); }
- if (!window.listenerAttached) {
- window.listenerAttached = true;
- PopupWindow_attachListener();
- }
- this.index = popupWindowIndex++;
- popupWindowObjects[this.index] = this;
- this.divName = null;
- this.popupWindow = null;
- this.width=0;
- this.height=0;
- this.populated = false;
- this.visible = false;
- this.autoHideEnabled = false;
-
- this.contents = "";
- this.url="";
- this.windowProperties="toolbar=no,location=no,status=no,menubar=no,scrollbars=auto,resizable,alwaysRaised,dependent,titlebar=no";
- if (arguments.length>0) {
- this.type="DIV";
- this.divName = arguments[0];
- }
- else {
- this.type="WINDOW";
- }
- this.use_gebi = false;
- this.use_css = false;
- this.use_layers = false;
- if (document.getElementById) { this.use_gebi = true; }
- else if (document.all) { this.use_css = true; }
- else if (document.layers) { this.use_layers = true; }
- else { this.type = "WINDOW"; }
- this.offsetX = 0;
- this.offsetY = 0;
- // Method mappings
- this.getXYPosition = PopupWindow_getXYPosition;
- this.populate = PopupWindow_populate;
- this.setUrl = PopupWindow_setUrl;
- this.setWindowProperties = PopupWindow_setWindowProperties;
- this.refresh = PopupWindow_refresh;
- this.showPopup = PopupWindow_showPopup;
- this.hidePopup = PopupWindow_hidePopup;
- this.setSize = PopupWindow_setSize;
- this.isClicked = PopupWindow_isClicked;
- this.autoHide = PopupWindow_autoHide;
- this.hideIfNotClicked = PopupWindow_hideIfNotClicked;
- }
-
-/* SOURCE FILE: ColorPicker2.js */
-
-/*
-Last modified: 02/24/2003
-
-DESCRIPTION: This widget is used to select a color, in hexadecimal #RRGGBB
-form. It uses a color "swatch" to display the standard 216-color web-safe
-palette. The user can then click on a color to select it.
-
-COMPATABILITY: See notes in AnchorPosition.js and PopupWindow.js.
-Only the latest DHTML-capable browsers will show the color and hex values
-at the bottom as your mouse goes over them.
-
-USAGE:
-// Create a new ColorPicker object using DHTML popup
-var cp = new ColorPicker();
-
-// Create a new ColorPicker object using Window Popup
-var cp = new ColorPicker('window');
-
-// Add a link in your page to trigger the popup. For example:
-<A HREF="#" onClick="cp.show('pick');return false;" NAME="pick" ID="pick">Pick</A>
-
-// Or use the built-in "select" function to do the dirty work for you:
-<A HREF="#" onClick="cp.select(document.forms[0].color,'pick');return false;" NAME="pick" ID="pick">Pick</A>
-
-// If using DHTML popup, write out the required DIV tag near the bottom
-// of your page.
-<SCRIPT LANGUAGE="JavaScript">cp.writeDiv()</SCRIPT>
-
-// Write the 'pickColor' function that will be called when the user clicks
-// a color and do something with the value. This is only required if you
-// want to do something other than simply populate a form field, which is
-// what the 'select' function will give you.
-function pickColor(color) {
- field.value = color;
- }
-
-NOTES:
-1) Requires the functions in AnchorPosition.js and PopupWindow.js
-
-2) Your anchor tag MUST contain both NAME and ID attributes which are the
- same. For example:
- <A NAME="test" ID="test"> </A>
-
-3) There must be at least a space between <A> </A> for IE5.5 to see the
- anchor tag correctly. Do not do <A></A> with no space.
-
-4) When a ColorPicker object is created, a handler for 'onmouseup' is
- attached to any event handler you may have already defined. Do NOT define
- an event handler for 'onmouseup' after you define a ColorPicker object or
- the color picker will not hide itself correctly.
-*/
-ColorPicker_targetInput = null;
-function ColorPicker_writeDiv() {
- document.writeln("<DIV ID=\"colorPickerDiv\" STYLE=\"position:absolute;visibility:hidden;\"> </DIV>");
- }
-
-function ColorPicker_show(anchorname) {
- this.showPopup(anchorname);
- }
-
-function ColorPicker_pickColor(color,obj) {
- obj.hidePopup();
- pickColor(color);
- }
-
-// A Default "pickColor" function to accept the color passed back from popup.
-// User can over-ride this with their own function.
-function pickColor(color) {
- if (ColorPicker_targetInput==null) {
- alert("Target Input is null, which means you either didn't use the 'select' function or you have no defined your own 'pickColor' function to handle the picked color!");
- return;
- }
- ColorPicker_targetInput.value = color;
- }
-
-// This function is the easiest way to popup the window, select a color, and
-// have the value populate a form field, which is what most people want to do.
-function ColorPicker_select(inputobj,linkname) {
- if (inputobj.type!="text" && inputobj.type!="hidden" && inputobj.type!="textarea") {
- alert("colorpicker.select: Input object passed is not a valid form input object");
- window.ColorPicker_targetInput=null;
- return;
- }
- window.ColorPicker_targetInput = inputobj;
- this.show(linkname);
- }
-
-// This function runs when you move your mouse over a color block, if you have a newer browser
-function ColorPicker_highlightColor(c) {
- var thedoc = (arguments.length>1)?arguments[1]:window.document;
- var d = thedoc.getElementById("colorPickerSelectedColor");
- d.style.backgroundColor = c;
- d = thedoc.getElementById("colorPickerSelectedColorValue");
- d.innerHTML = c;
- }
-
-function ColorPicker() {
- var windowMode = false;
- // Create a new PopupWindow object
- if (arguments.length==0) {
- var divname = "colorPickerDiv";
- }
- else if (arguments[0] == "window") {
- var divname = '';
- windowMode = true;
- }
- else {
- var divname = arguments[0];
- }
-
- if (divname != "") {
- var cp = new PopupWindow(divname);
- }
- else {
- var cp = new PopupWindow();
- cp.setSize(225,250);
- }
-
- // Object variables
- cp.currentValue = "#FFFFFF";
-
- // Method Mappings
- cp.writeDiv = ColorPicker_writeDiv;
- cp.highlightColor = ColorPicker_highlightColor;
- cp.show = ColorPicker_show;
- cp.select = ColorPicker_select;
-
- // Code to populate color picker window
- var colors = new Array( "#4180B6","#69AEE7","#000000","#000033","#000066","#000099","#0000CC","#0000FF","#330000","#330033","#330066","#330099",
- "#3300CC","#3300FF","#660000","#660033","#660066","#660099","#6600CC","#6600FF","#990000","#990033","#990066","#990099",
- "#9900CC","#9900FF","#CC0000","#CC0033","#CC0066","#CC0099","#CC00CC","#CC00FF","#FF0000","#FF0033","#FF0066","#FF0099",
- "#FF00CC","#FF00FF","#7FFFFF","#7FFFFF","#7FF7F7","#7FEFEF","#7FE7E7","#7FDFDF","#7FD7D7","#7FCFCF","#7FC7C7","#7FBFBF",
- "#7FB7B7","#7FAFAF","#7FA7A7","#7F9F9F","#7F9797","#7F8F8F","#7F8787","#7F7F7F","#7F7777","#7F6F6F","#7F6767","#7F5F5F",
- "#7F5757","#7F4F4F","#7F4747","#7F3F3F","#7F3737","#7F2F2F","#7F2727","#7F1F1F","#7F1717","#7F0F0F","#7F0707","#7F0000",
-
- "#4180B6","#69AEE7","#003300","#003333","#003366","#003399","#0033CC","#0033FF","#333300","#333333","#333366","#333399",
- "#3333CC","#3333FF","#663300","#663333","#663366","#663399","#6633CC","#6633FF","#993300","#993333","#993366","#993399",
- "#9933CC","#9933FF","#CC3300","#CC3333","#CC3366","#CC3399","#CC33CC","#CC33FF","#FF3300","#FF3333","#FF3366","#FF3399",
- "#FF33CC","#FF33FF","#FF7FFF","#FF7FFF","#F77FF7","#EF7FEF","#E77FE7","#DF7FDF","#D77FD7","#CF7FCF","#C77FC7","#BF7FBF",
- "#B77FB7","#AF7FAF","#A77FA7","#9F7F9F","#977F97","#8F7F8F","#877F87","#7F7F7F","#777F77","#6F7F6F","#677F67","#5F7F5F",
- "#577F57","#4F7F4F","#477F47","#3F7F3F","#377F37","#2F7F2F","#277F27","#1F7F1F","#177F17","#0F7F0F","#077F07","#007F00",
-
- "#4180B6","#69AEE7","#006600","#006633","#006666","#006699","#0066CC","#0066FF","#336600","#336633","#336666","#336699",
- "#3366CC","#3366FF","#666600","#666633","#666666","#666699","#6666CC","#6666FF","#996600","#996633","#996666","#996699",
- "#9966CC","#9966FF","#CC6600","#CC6633","#CC6666","#CC6699","#CC66CC","#CC66FF","#FF6600","#FF6633","#FF6666","#FF6699",
- "#FF66CC","#FF66FF","#FFFF7F","#FFFF7F","#F7F77F","#EFEF7F","#E7E77F","#DFDF7F","#D7D77F","#CFCF7F","#C7C77F","#BFBF7F",
- "#B7B77F","#AFAF7F","#A7A77F","#9F9F7F","#97977F","#8F8F7F","#87877F","#7F7F7F","#77777F","#6F6F7F","#67677F","#5F5F7F",
- "#57577F","#4F4F7F","#47477F","#3F3F7F","#37377F","#2F2F7F","#27277F","#1F1F7F","#17177F","#0F0F7F","#07077F","#00007F",
-
- "#4180B6","#69AEE7","#009900","#009933","#009966","#009999","#0099CC","#0099FF","#339900","#339933","#339966","#339999",
- "#3399CC","#3399FF","#669900","#669933","#669966","#669999","#6699CC","#6699FF","#999900","#999933","#999966","#999999",
- "#9999CC","#9999FF","#CC9900","#CC9933","#CC9966","#CC9999","#CC99CC","#CC99FF","#FF9900","#FF9933","#FF9966","#FF9999",
- "#FF99CC","#FF99FF","#3FFFFF","#3FFFFF","#3FF7F7","#3FEFEF","#3FE7E7","#3FDFDF","#3FD7D7","#3FCFCF","#3FC7C7","#3FBFBF",
- "#3FB7B7","#3FAFAF","#3FA7A7","#3F9F9F","#3F9797","#3F8F8F","#3F8787","#3F7F7F","#3F7777","#3F6F6F","#3F6767","#3F5F5F",
- "#3F5757","#3F4F4F","#3F4747","#3F3F3F","#3F3737","#3F2F2F","#3F2727","#3F1F1F","#3F1717","#3F0F0F","#3F0707","#3F0000",
-
- "#4180B6","#69AEE7","#00CC00","#00CC33","#00CC66","#00CC99","#00CCCC","#00CCFF","#33CC00","#33CC33","#33CC66","#33CC99",
- "#33CCCC","#33CCFF","#66CC00","#66CC33","#66CC66","#66CC99","#66CCCC","#66CCFF","#99CC00","#99CC33","#99CC66","#99CC99",
- "#99CCCC","#99CCFF","#CCCC00","#CCCC33","#CCCC66","#CCCC99","#CCCCCC","#CCCCFF","#FFCC00","#FFCC33","#FFCC66","#FFCC99",
- "#FFCCCC","#FFCCFF","#FF3FFF","#FF3FFF","#F73FF7","#EF3FEF","#E73FE7","#DF3FDF","#D73FD7","#CF3FCF","#C73FC7","#BF3FBF",
- "#B73FB7","#AF3FAF","#A73FA7","#9F3F9F","#973F97","#8F3F8F","#873F87","#7F3F7F","#773F77","#6F3F6F","#673F67","#5F3F5F",
- "#573F57","#4F3F4F","#473F47","#3F3F3F","#373F37","#2F3F2F","#273F27","#1F3F1F","#173F17","#0F3F0F","#073F07","#003F00",
-
- "#4180B6","#69AEE7","#00FF00","#00FF33","#00FF66","#00FF99","#00FFCC","#00FFFF","#33FF00","#33FF33","#33FF66","#33FF99",
- "#33FFCC","#33FFFF","#66FF00","#66FF33","#66FF66","#66FF99","#66FFCC","#66FFFF","#99FF00","#99FF33","#99FF66","#99FF99",
- "#99FFCC","#99FFFF","#CCFF00","#CCFF33","#CCFF66","#CCFF99","#CCFFCC","#CCFFFF","#FFFF00","#FFFF33","#FFFF66","#FFFF99",
- "#FFFFCC","#FFFFFF","#FFFF3F","#FFFF3F","#F7F73F","#EFEF3F","#E7E73F","#DFDF3F","#D7D73F","#CFCF3F","#C7C73F","#BFBF3F",
- "#B7B73F","#AFAF3F","#A7A73F","#9F9F3F","#97973F","#8F8F3F","#87873F","#7F7F3F","#77773F","#6F6F3F","#67673F","#5F5F3F",
- "#57573F","#4F4F3F","#47473F","#3F3F3F","#37373F","#2F2F3F","#27273F","#1F1F3F","#17173F","#0F0F3F","#07073F","#00003F",
-
- "#4180B6","#69AEE7","#FFFFFF","#FFEEEE","#FFDDDD","#FFCCCC","#FFBBBB","#FFAAAA","#FF9999","#FF8888","#FF7777","#FF6666",
- "#FF5555","#FF4444","#FF3333","#FF2222","#FF1111","#FF0000","#FF0000","#FF0000","#FF0000","#EE0000","#DD0000","#CC0000",
- "#BB0000","#AA0000","#990000","#880000","#770000","#660000","#550000","#440000","#330000","#220000","#110000","#000000",
- "#000000","#000000","#000000","#001111","#002222","#003333","#004444","#005555","#006666","#007777","#008888","#009999",
- "#00AAAA","#00BBBB","#00CCCC","#00DDDD","#00EEEE","#00FFFF","#00FFFF","#00FFFF","#00FFFF","#11FFFF","#22FFFF","#33FFFF",
- "#44FFFF","#55FFFF","#66FFFF","#77FFFF","#88FFFF","#99FFFF","#AAFFFF","#BBFFFF","#CCFFFF","#DDFFFF","#EEFFFF","#FFFFFF",
-
- "#4180B6","#69AEE7","#FFFFFF","#EEFFEE","#DDFFDD","#CCFFCC","#BBFFBB","#AAFFAA","#99FF99","#88FF88","#77FF77","#66FF66",
- "#55FF55","#44FF44","#33FF33","#22FF22","#11FF11","#00FF00","#00FF00","#00FF00","#00FF00","#00EE00","#00DD00","#00CC00",
- "#00BB00","#00AA00","#009900","#008800","#007700","#006600","#005500","#004400","#003300","#002200","#001100","#000000",
- "#000000","#000000","#000000","#110011","#220022","#330033","#440044","#550055","#660066","#770077","#880088","#990099",
- "#AA00AA","#BB00BB","#CC00CC","#DD00DD","#EE00EE","#FF00FF","#FF00FF","#FF00FF","#FF00FF","#FF11FF","#FF22FF","#FF33FF",
- "#FF44FF","#FF55FF","#FF66FF","#FF77FF","#FF88FF","#FF99FF","#FFAAFF","#FFBBFF","#FFCCFF","#FFDDFF","#FFEEFF","#FFFFFF",
-
- "#4180B6","#69AEE7","#FFFFFF","#EEEEFF","#DDDDFF","#CCCCFF","#BBBBFF","#AAAAFF","#9999FF","#8888FF","#7777FF","#6666FF",
- "#5555FF","#4444FF","#3333FF","#2222FF","#1111FF","#0000FF","#0000FF","#0000FF","#0000FF","#0000EE","#0000DD","#0000CC",
- "#0000BB","#0000AA","#000099","#000088","#000077","#000066","#000055","#000044","#000033","#000022","#000011","#000000",
- "#000000","#000000","#000000","#111100","#222200","#333300","#444400","#555500","#666600","#777700","#888800","#999900",
- "#AAAA00","#BBBB00","#CCCC00","#DDDD00","#EEEE00","#FFFF00","#FFFF00","#FFFF00","#FFFF00","#FFFF11","#FFFF22","#FFFF33",
- "#FFFF44","#FFFF55","#FFFF66","#FFFF77","#FFFF88","#FFFF99","#FFFFAA","#FFFFBB","#FFFFCC","#FFFFDD","#FFFFEE","#FFFFFF",
-
- "#4180B6","#69AEE7","#FFFFFF","#FFFFFF","#FBFBFB","#F7F7F7","#F3F3F3","#EFEFEF","#EBEBEB","#E7E7E7","#E3E3E3","#DFDFDF",
- "#DBDBDB","#D7D7D7","#D3D3D3","#CFCFCF","#CBCBCB","#C7C7C7","#C3C3C3","#BFBFBF","#BBBBBB","#B7B7B7","#B3B3B3","#AFAFAF",
- "#ABABAB","#A7A7A7","#A3A3A3","#9F9F9F","#9B9B9B","#979797","#939393","#8F8F8F","#8B8B8B","#878787","#838383","#7F7F7F",
- "#7B7B7B","#777777","#737373","#6F6F6F","#6B6B6B","#676767","#636363","#5F5F5F","#5B5B5B","#575757","#535353","#4F4F4F",
- "#4B4B4B","#474747","#434343","#3F3F3F","#3B3B3B","#373737","#333333","#2F2F2F","#2B2B2B","#272727","#232323","#1F1F1F",
- "#1B1B1B","#171717","#131313","#0F0F0F","#0B0B0B","#070707","#030303","#000000","#000000","#000000","#000000","#000000");
- var total = colors.length;
- var width = 72;
- var cp_contents = "";
- var windowRef = (windowMode)?"window.opener.":"";
- if (windowMode) {
- cp_contents += "<html><head><title>Select Color</title></head>";
- cp_contents += "<body marginwidth=0 marginheight=0 leftmargin=0 topmargin=0><center>";
- }
- cp_contents += "<table border=0 cellspacing=0 cellpadding=0>";
- var use_highlight = (document.getElementById || document.all)?true:false;
- for (var i=0; i<total; i++) {
- if ((i % width) == 0) { cp_contents += "<tr>"; }
- if (use_highlight) { var mo = 'onMouseOver="'+windowRef+'ColorPicker_highlightColor(\''+colors[i]+'\',window.document)"'; }
- else { mo = ""; }
- cp_contents += '<td bgcolor="'+colors[i]+'"><a href="javascript:void()" onclick="'+windowRef+'ColorPicker_pickColor(\''+colors[i]+'\','+windowRef+'window.popupWindowObjects['+cp.index+']);return false;" '+mo+'>&nbsp;</a></td>';
- if ( ((i+1)>=total) || (((i+1) % width) == 0)) {
- cp_contents += "</tr>";
- }
- }
- // If the browser supports dynamically changing TD cells, add the fancy stuff
- if (document.getElementById) {
- var width1 = Math.floor(width/2);
- var width2 = width = width1;
- cp_contents += "<tr><td colspan='"+width1+"' bgcolor='#ffffff' ID='colorPickerSelectedColor'>&nbsp;</td><td colspan='"+width2+"' align='center' id='colorPickerSelectedColorValue'>#FFFFFF</td></tr>";
- }
- cp_contents += "</table>";
- if (windowMode) {
- cp_contents += "</center></body></html>";
- }
- // end populate code
-
- // Write the contents to the popup object
- cp.populate(cp_contents+"\n");
- // Move the table down a bit so you can see it
- cp.offsetY = 25;
- cp.autoHide();
- return cp;
- }
diff --git a/wp-inst/wp-includes/js/dbx.js b/wp-inst/wp-includes/js/dbx.js
deleted file mode 100644
index b75f897..0000000
--- a/wp-inst/wp-includes/js/dbx.js
+++ /dev/null
@@ -1,6 +0,0 @@
-// DBX2.02 :: Docking Boxes (dbx)
-// *****************************************************
-// DOM scripting by brothercake -- http://www.brothercake.com/
-// GNU Lesser General Public License -- http://www.gnu.org/licenses/lgpl.html
-//******************************************************
-var dbx;function dbxManager(sid){dbx = this;if(!/^[-_a-z0-9]+$/i.test(sid)) { alert('Error from dbxManager:\n"' + sid + '" is an invalid session ID'); return; }this.supported = !(document.getElementsByTagName('*').length == 0 || (navigator.vendor == 'KDE' && typeof window.sidebar == 'undefined'));if(!this.supported) { return; }this.etype = typeof document.addEventListener != 'undefined' ? 'addEventListener' : typeof document.attachEvent != 'undefined' ? 'attachEvent' : 'none';this.eprefix = (this.etype == 'attachEvent' ? 'on' : '');if(typeof window.opera != 'undefined' && parseFloat(navigator.userAgent.toLowerCase().split(/opera[\/ ]/)[1].split(' ')[0], 10) < 7.5){this.etype = 'none';}if(this.etype == 'none') { this.supported = false; return; }this.running = 0;this.sid = sid;this.savedata = {};this.cookiestate = this.getCookieState();};dbxManager.prototype.setCookieState = function(){var now = new Date();now.setTime(now.getTime() + (365*24*60*60*1000));var str = '';for(j in this.savedata){if(typeof this.savedata[j]!='function'){str += j + '=' + this.savedata[j] + '&'}}this.state = str.replace(/^(.+)&$/, '$1');if(typeof this.onstatechange == 'undefined' || this.onstatechange()){document.cookie = 'dbx-' + this.sid + '='+ this.state+ '; expires=' + now.toGMTString()+ '; path=/';}};dbxManager.prototype.getCookieState = function(){this.cookiestate = null;if(document.cookie){if(document.cookie.indexOf('dbx-' + this.sid)!=-1){this.cookie = document.cookie.split('dbx-' + this.sid + '=')[1].split('&');for(var i in this.cookie){if(typeof this.cookie[i]!='function'){this.cookie[i] = this.cookie[i].split('=');this.cookie[i][1] = this.cookie[i][1].split(',');}}this.cookiestate = {};for(i in this.cookie){if(typeof this.cookie[i]!='function'){this.cookiestate[this.cookie[i][0]] = this.cookie[i][1];}}}}return this.cookiestate;};dbxManager.prototype.addDataMember = function(gid, order){this.savedata[gid] = order;};dbxManager.prototype.createElement = function(tag){return typeof document.createElementNS != 'undefined' ? document.createElementNS('http://www.w3.org/1999/xhtml', tag) : document.createElement(tag);};dbxManager.prototype.getTarget = function(e, pattern, node){if(typeof node != 'undefined'){var target = node;}else{target = typeof e.target != 'undefined' ? e.target : e.srcElement;}var regex = new RegExp(pattern, '');while(!regex.test(target.className)){target = target.parentNode;}return target;};function dbxGroup(gid, dir, thresh, fix, ani, togs, def, open, close, move, toggle, kmove, ktoggle, syntax){if(!/^[-_a-z0-9]+$/i.test(gid)) { alert('Error from dbxGroup:\n"' + gid + '" is an invalid container ID'); return; }this.container = document.getElementById(gid);if(this.container == null || !dbx.supported) { return; }var self = this;this.gid = gid;this.dragok = false;this.box = null;this.vertical = dir == 'vertical';this.threshold = parseInt(thresh, 10);this.restrict = fix == 'yes';this.resolution = parseInt(ani, 10);this.toggles = togs == 'yes';this.defopen = def != 'closed';this.vocab = {'open' : open,'close' : close,'move' : move,'toggle' : toggle,'kmove' : kmove,'ktoggle' : ktoggle,'syntax' : syntax};this.container.style.position = 'relative';this.container.style.display = 'block';if(typeof window.opera != 'undefined'){this.container.style.display = 'run-in';}this.boxes = [];this.buttons = [];this.order = [];this.eles = this.container.getElementsByTagName('*');for(var i=0; i<this.eles.length; i++){if(/dbx\-box/i.test(this.eles[i].className) && !/dbx\-dummy/i.test(this.eles[i].className)){this.eles[i].style.position = 'relative';this.eles[i].style.display = 'block';this.boxes.push(this.eles[i]);this.eles[i].className += ' dbx-box-open';this.eles[i].className += ' dbxid' + this.order.length;this.order.push(this.order.length.toString() + '+');this.eles[i][dbx.etype](dbx.eprefix + 'mousedown', function(e){if(!e) { e = window.event; }self.mousedown(e, dbx.getTarget(e, 'dbx\-box'));}, false);}if(/dbx\-handle/i.test(this.eles[i].className)){this.eles[i].style.position = 'relative';this.eles[i].style.display = 'block';this.eles[i].className += ' dbx-handle-cursor';this.eles[i].setAttribute('title', this.eles[i].getAttribute('title') == null || this.eles[i].title == '' ? this.vocab.move : this.vocab.syntax.replace('%mytitle%', this.eles[i].title).replace('%dbxtitle%', this.vocab.move));if(this.toggles){this.buttons.push(this.addToggleBehavior(this.eles[i]));}else{this.eles[i][dbx.etype](dbx.eprefix + 'key' + (typeof document.uniqueID != 'undefined' || navigator.vendor == 'Apple Computer, Inc.' ? 'down' : 'press'), function(e){if(!e) { e = window.event; }return self.keypress(e, dbx.getTarget(e, 'dbx\-handle'));}, false);this.eles[i][dbx.etype](dbx.eprefix + 'focus', function(e){if(!e) { e = window.event; }self.createTooltip(null, dbx.getTarget(e, 'dbx\-handle'));}, false);this.eles[i][dbx.etype](dbx.eprefix + 'blur', function(){self.removeTooltip();}, false);}}}dbx.addDataMember(this.gid, this.order.join(','));var dummy = this.container.appendChild(dbx.createElement('span'));dummy.className = 'dbx-box dbx-dummy';dummy.style.display = 'block';dummy.style.width = '0';dummy.style.height = '0';dummy.style.overflow = 'hidden';if(this.vertical) { dummy.className += ' dbx-offdummy'; }this.boxes.push(dummy);if(dbx.cookiestate != null && typeof dbx.cookiestate[this.gid] != 'undefined'){var num = dbx.cookiestate[this.gid].length;if(num == this.boxes.length - 1){for(i=0; i<num; i++){var index = parseInt(dbx.cookiestate[this.gid][i], 10);this.container.insertBefore(this.boxes[index], dummy);if(this.toggles && /\-$/.test(dbx.cookiestate[this.gid][i])){this.toggleBoxState(this.buttons[index], false);}}this.getBoxOrder();}}else if(!this.defopen && this.toggles){var len = this.buttons.length;for(i=0; i<len; i++){this.toggleBoxState(this.buttons[i], true);}}document[dbx.etype](dbx.eprefix + 'mouseout', function(e){if(typeof e.target == 'undefined') { e = window.event; e.relatedTarget = e.toElement; }if(e.relatedTarget == null){self.mouseup(e);}}, false);document[dbx.etype](dbx.eprefix + 'mousemove', function(e){self.mousemove(e);return false;}, false);document[dbx.etype](dbx.eprefix + 'mouseup', function(e){self.mouseup(e);}, false);this.keydown = false;document[dbx.etype](dbx.eprefix + 'keydown', function(){self.keydown = true;}, false);document[dbx.etype](dbx.eprefix + 'keyup', function(){self.keydown = false;}, false);};dbxGroup.prototype.addToggleBehavior = function(){var self = this;var button = arguments[0].appendChild(dbx.createElement('a'));button.appendChild(document.createTextNode('\u00a0'));button.style.cursor = 'pointer';button.href = 'javascript:void(null)';button.className = 'dbx-toggle dbx-toggle-open';button.setAttribute('title', this.vocab.toggle.replace('%toggle%', this.vocab.close));button.hasfocus = typeof window.opera != 'undefined' || navigator.vendor == 'Apple Computer, Inc.' ? null : false;this.tooltip = null;button.onclick = function(){if(this.hasfocus === true || this.hasfocus === null){self.removeTooltip();self.toggleBoxState(this, true);}};button['onkey' + (typeof document.uniqueID != 'undefined' || navigator.vendor == 'Apple Computer, Inc.' ? 'down' : 'press')] = function(e){if(!e) { e = window.event; }return self.keypress(e, this);};button.onfocus = function(){var len = self.buttons.length;for(var i=0; i<len; i++){self.buttons[i].className = self.buttons[i].className.replace(/[ ](dbx\-toggle\-hilite\-)(open|closed)/, '');}var isopen = (/dbx\-toggle\-open/.test(this.className));this.className += ' dbx-toggle-hilite-' + (isopen ? 'open' : 'closed');self.createTooltip(isopen, this);this.isactive = true;if(this.hasfocus !== null) { this.hasfocus = true; }};button.onblur = function(){this.className = this.className.replace(/[ ](dbx\-toggle\-hilite\-)(open|closed)/, '');self.removeTooltip();if(this.hasfocus !== null) { this.hasfocus = false; }};return button;};dbxGroup.prototype.toggleBoxState = function(button, regen){var isopen = (/dbx\-toggle\-open/.test(button.className));var parent = dbx.getTarget(null, 'dbx\-box', button);dbx.box = parent;dbx.toggle = button;if(typeof dbx.container == 'undefined'){dbx.group = dbx.getTarget(null, 'dbx\-group', parent);}else { dbx.group = dbx.container; }if((!isopen && (typeof dbx.onboxopen == 'undefined' || dbx.onboxopen()))||(isopen && (typeof dbx.onboxclose == 'undefined' || dbx.onboxclose()))){button.className = 'dbx-toggle dbx-toggle-' + (isopen ? 'closed' : 'open');button.title = this.vocab.toggle.replace('%toggle%', isopen ? this.vocab.open : this.vocab.close);if(typeof button.isactive != 'undefined'){button.className += ' dbx-toggle-hilite-' + (isopen ? 'closed' : 'open')}parent.className = parent.className.replace(/[ ](dbx-box-)(open|closed)/, ' $1' + (isopen ? 'closed' : 'open'));if(regen) { this.getBoxOrder(); }}};dbxGroup.prototype.shiftBoxPosition = function(e, anchor, positive){var parent = dbx.getTarget(null, 'dbx\-box', anchor);dbx.group = this.container;dbx.box = parent;dbx.event = e;if(typeof dbx.onboxdrag == 'undefined' || dbx.onboxdrag()){var positions = [];var len = this.boxes.length;for(var i=0; i<len; i++){positions[i] = [i, this.boxes[i][this.vertical ? 'offsetTop' : 'offsetLeft']];if(parent == this.boxes[i]) { this.idref = i; }}positions.sort(this.compare);for(i=0; i<len; i++){if(positions[i][0] == this.idref){if((positive && i < len - 2) || (!positive && i > 0)){var sibling = this.boxes[positions[i + (positive ? 1 : -1)][0]];if(this.resolution > 0){var visipos = { 'x' : parent.offsetLeft, 'y' : parent.offsetTop };var siblingpos = { 'x' : sibling.offsetLeft, 'y' : sibling.offsetTop };}var obj = { 'insert' : (positive ? sibling : parent), 'before' : (positive ? parent : sibling) };this.container.insertBefore(obj.insert, obj.before);if(this.resolution > 0){var animators ={'sibling' : new dbxAnimator(this, sibling, siblingpos, this.resolution, true, anchor),'parent' : new dbxAnimator(this, parent, visipos, this.resolution, true, anchor)};}else{anchor.focus();}break;}}}this.getBoxOrder();}};dbxGroup.prototype.compare = function(a, b){return a[1] - b[1];};dbxGroup.prototype.createTooltip = function(isopen, anchor){if(this.keydown){this.tooltip = this.container.appendChild(dbx.createElement('span'));this.tooltip.style.visibility = 'hidden';this.tooltip.className = 'dbx-tooltip';if(isopen != null){this.tooltip.appendChild(document.createTextNode(this.vocab.kmove + this.vocab.ktoggle.replace('%toggle%', isopen ? this.vocab.close : this.vocab.open)));}else{this.tooltip.appendChild(document.createTextNode(this.vocab.kmove));}var parent = dbx.getTarget(null, 'dbx\-box', anchor);this.tooltip.style.left = parent.offsetLeft + 'px';this.tooltip.style.top = parent.offsetTop + 'px';var tooltip = this.tooltip;window.setTimeout(function(){if(tooltip != null) { tooltip.style.visibility = 'visible'; }}, 500);}};dbxGroup.prototype.removeTooltip = function(){if(this.tooltip != null){this.tooltip.parentNode.removeChild(this.tooltip);this.tooltip = null;}};dbxGroup.prototype.mousedown = function(e, box){var node = typeof e.target != 'undefined' ? e.target : e.srcElement;if(node.nodeName == '#text') { node = node.parentNode; }if(!/dbx\-(toggle|box|group)/i.test(node.className)){while(!/dbx\-(handle|box|group)/i.test(node.className)){node = node.parentNode;}}if(/dbx\-handle/i.test(node.className)){this.removeTooltip();this.released = false;this.initial = { 'x' : e.clientX, 'y' : e.clientY };this.current = { 'x' : 0, 'y' : 0 };this.createCloneBox(box);if(typeof e.preventDefault != 'undefined' ) { e.preventDefault(); }if(typeof document.onselectstart != 'undefined'){document.onselectstart = function() { return false; }}}};dbxGroup.prototype.mousemove = function(e){if(this.dragok && this.box != null){this.positive = this.vertical ? (e.clientY > this.current.y ? true : false) : (e.clientX > this.current.x ? true : false);this.current = { 'x' : e.clientX, 'y' : e.clientY };var overall = { 'x' : this.current.x - this.initial.x, 'y' : this.current.y - this.initial.y };if(((overall.x >= 0 && overall.x <= this.threshold) || (overall.x <= 0 && overall.x >= 0 - this.threshold))&&((overall.y >= 0 && overall.y <= this.threshold) || (overall.y <= 0 && overall.y >= 0 - this.threshold))){this.current.x -= overall.x;this.current.y -= overall.y;}if(this.released || overall.x > this.threshold || overall.x < (0 - this.threshold) || overall.y > this.threshold || overall.y < (0 - this.threshold)){dbx.group = this.container;dbx.box = this.box;dbx.event = e;if(typeof dbx.onboxdrag == 'undefined' || dbx.onboxdrag()){this.released = true;if(!this.restrict || !this.vertical) { this.boxclone.style.left = (this.current.x - this.difference.x) + 'px'; }if(!this.restrict || this.vertical) { this.boxclone.style.top = (this.current.y - this.difference.y) + 'px'; }this.moveOriginalToPosition(this.current.x, this.current.y);if(typeof e.preventDefault != 'undefined' ) { e.preventDefault(); }}}}return true;};dbxGroup.prototype.mouseup = function(e){if(this.box != null){this.moveOriginalToPosition(e.clientX, e.clientY);this.removeCloneBox();this.getBoxOrder();if(typeof document.onselectstart != 'undefined'){document.onselectstart = function() { return true; }}}this.dragok = false;};dbxGroup.prototype.keypress = function(e, anchor){if(/^(3[7-9])|(40)$/.test(e.keyCode)){this.removeTooltip();if((this.vertical && /^(38|40)$/.test(e.keyCode)) || (!this.vertical && /^(37|39)$/.test(e.keyCode))){this.shiftBoxPosition(e, anchor, /^[3][78]$/.test(e.keyCode) ? false : true);if(typeof e.preventDefault != 'undefined') { e.preventDefault(); }else { return false; }typeof e.stopPropagation != 'undefined' ? e.stopPropagation() : e.cancelBubble = true;this.keydown = false;}}return true;};dbxGroup.prototype.getBoxOrder = function(){this.order = [];var len = this.eles.length;for(var j=0; j<len; j++){if(/dbx\-box/i.test(this.eles[j].className) && !/dbx\-(clone|dummy)/i.test(this.eles[j].className)){this.order.push(this.eles[j].className.split('dbxid')[1] + (/dbx\-box\-open/i.test(this.eles[j].className) ? '+' : '-'));}}dbx.savedata[this.gid] = this.order.join(',');dbx.setCookieState();};dbxGroup.prototype.createClone = function(){var clone = this.container.appendChild(arguments[0].cloneNode(true));clone.className += ' dbx-clone';clone.style.position = 'absolute';clone.style.visibility = 'hidden';clone.style.zIndex = arguments[1];clone.style.left = arguments[2].x + 'px';clone.style.top = arguments[2].y + 'px';clone.style.width = arguments[0].offsetWidth + 'px';clone.style.height = arguments[0].offsetHeight + 'px';return clone;};dbxGroup.prototype.createCloneBox = function(box){this.box = box;this.position = { 'x' : this.box.offsetLeft, 'y' : this.box.offsetTop };this.difference = { 'x' : (this.initial.x - this.position.x), 'y' : (this.initial.y - this.position.y) };this.boxclone = this.createClone(this.box, 30000, this.position);this.boxclone.style.cursor = 'move';this.dragok = true;};dbxGroup.prototype.removeCloneBox = function(){this.container.removeChild(this.boxclone);this.box.style.visibility = 'visible';this.box = null;};dbxGroup.prototype.moveOriginalToPosition = function(clientX, clientY){var cloneprops = {'xy' : this.vertical ? clientY - this.difference.y : clientX - this.difference.x,'wh' : this.vertical ? this.boxclone.offsetHeight : this.boxclone.offsetWidth};this.box.style.visibility = 'hidden';this.boxclone.style.visibility = 'visible';var len = this.boxes.length;for(var i=0; i<len; i++){var boxprops = {'xy' : this.vertical ? this.boxes[i].offsetTop : this.boxes[i].offsetLeft,'wh' : this.vertical ? this.boxes[i].offsetHeight : this.boxes[i].offsetWidth};if((this.positive && cloneprops.xy + cloneprops.wh > boxprops.xy && cloneprops.xy < boxprops.xy)||(!this.positive && cloneprops.xy < boxprops.xy && cloneprops.xy + cloneprops.wh > boxprops.xy)){if(this.boxes[i] == this.box) { return; }var sibling = this.box.nextSibling;while(sibling.className == null || !/dbx\-box/.test(sibling.className)){sibling = sibling.nextSibling;}if(this.boxes[i] == sibling) { return; }if(this.resolution > 0){if(this.box[this.vertical ? 'offsetTop' : 'offsetLeft'] < boxprops.xy){var visibox = this.boxes[i].previousSibling;while(visibox.className == null || !/dbx\-box/.test(visibox.className)){visibox = visibox.previousSibling;}}else{visibox = this.boxes[i];}var visipos = { 'x' : visibox.offsetLeft, 'y' : visibox.offsetTop };}var prepos = { 'x' : this.box.offsetLeft, 'y' : this.box.offsetTop };this.container.insertBefore(this.box, this.boxes[i]);this.initial.x += (this.box.offsetLeft - prepos.x);this.initial.y += (this.box.offsetTop - prepos.y);if(this.resolution > 0 && visibox != this.box){var animator = new dbxAnimator(this, visibox, visipos, this.resolution, false, null);}else{}break;}}};function dbxAnimator(caller, box, pos, res, kbd, anchor){this.caller = caller;this.box = box;this.timer = null;var before = pos[this.caller.vertical ? 'y' : 'x'];var after = this.box[this.caller.vertical ? 'offsetTop' : 'offsetLeft'];if(before != after){if(dbx.running > this.caller.boxes.length - 1) { return; }var clone = this.caller.createClone(this.box, 29999, arguments[2]);clone.style.visibility = 'visible';this.box.style.visibility = 'hidden';this.animateClone(clone,before,after > before ? after - before : 0 - (before - after),this.caller.vertical ? 'top' : 'left',res,kbd,anchor);}};dbxAnimator.prototype.animateClone = function(clone, current, change, dir, res, kbd, anchor){var self = this;var count = 0;dbx.running ++;this.timer = window.setInterval(function(){count ++;current += change / res;clone.style[dir] = current + 'px';if(count == res){window.clearTimeout(self.timer);self.timer = null;dbx.running --;self.caller.container.removeChild(clone);self.box.style.visibility = 'visible';if(kbd){if(anchor != null && anchor.parentNode.style.visibility != 'hidden'){anchor.focus();}else if(self.caller.toggles){var button = self.caller.buttons[parseInt(self.box.className.split('dbxid')[1],10)];if(button != null && typeof button.isactive != 'undefined'){button.focus();}}}}}, 20);};if(typeof window.attachEvent != 'undefined'){window.attachEvent('onunload', function(){var ev = ['mousedown', 'mousemove', 'mouseup', 'mouseout', 'click', 'keydown', 'keyup', 'focus', 'blur', 'selectstart', 'statechange', 'boxdrag', 'boxopen', 'boxclose'];var el = ev.length;var dl = document.all.length;for(var i=0; i<dl; i++){for(var j=0; j<el; j++){document.all[i]['on' + ev[j]] = null;}}});}
diff --git a/wp-inst/wp-includes/js/fat.js b/wp-inst/wp-includes/js/fat.js
deleted file mode 100644
index 01f1b42..0000000
--- a/wp-inst/wp-includes/js/fat.js
+++ /dev/null
@@ -1,90 +0,0 @@
-// @name The Fade Anything Technique
-// @namespace http://www.axentric.com/aside/fat/
-// @version 1.0-RC1
-// @author Adam Michela
-
-var Fat = {
- make_hex : function (r,g,b)
- {
- r = r.toString(16); if (r.length == 1) r = '0' + r;
- g = g.toString(16); if (g.length == 1) g = '0' + g;
- b = b.toString(16); if (b.length == 1) b = '0' + b;
- return "#" + r + g + b;
- },
- fade_all : function (dur)
- {
- var a = document.getElementsByTagName("*");
- for (var i = 0; i < a.length; i++)
- {
- var o = a[i];
- var r = /fade-?(\w{3,6})?/.exec(o.className);
- if (r)
- {
- if (!r[1]) r[1] = "";
- if (o.id) Fat.fade_element(o.id,null,dur,"#"+r[1]);
- }
- }
- },
- fade_element : function (id, fps, duration, from, to)
- {
- if (!fps) fps = 30;
- if (!duration) duration = 3000;
- if (!from || from=="#") from = "#FFFF33";
- if (!to) to = this.get_bgcolor(id);
-
- var frames = Math.round(fps * (duration / 1000));
- var interval = duration / frames;
- var delay = interval;
- var frame = 0;
-
- if (from.length < 7) from += from.substr(1,3);
- if (to.length < 7) to += to.substr(1,3);
-
- var rf = parseInt(from.substr(1,2),16);
- var gf = parseInt(from.substr(3,2),16);
- var bf = parseInt(from.substr(5,2),16);
- var rt = parseInt(to.substr(1,2),16);
- var gt = parseInt(to.substr(3,2),16);
- var bt = parseInt(to.substr(5,2),16);
-
- var r,g,b,h;
- while (frame < frames)
- {
- r = Math.floor(rf * ((frames-frame)/frames) + rt * (frame/frames));
- g = Math.floor(gf * ((frames-frame)/frames) + gt * (frame/frames));
- b = Math.floor(bf * ((frames-frame)/frames) + bt * (frame/frames));
- h = this.make_hex(r,g,b);
-
- setTimeout("Fat.set_bgcolor('"+id+"','"+h+"')", delay);
-
- frame++;
- delay = interval * frame;
- }
- setTimeout("Fat.set_bgcolor('"+id+"','"+to+"')", delay);
- },
- set_bgcolor : function (id, c)
- {
- var o = document.getElementById(id);
- o.style.backgroundColor = c;
- },
- get_bgcolor : function (id)
- {
- var o = document.getElementById(id);
- while(o)
- {
- var c;
- if (window.getComputedStyle) c = window.getComputedStyle(o,null).getPropertyValue("background-color");
- if (o.currentStyle) c = o.currentStyle.backgroundColor;
- if ((c != "" && c != "transparent") || o.tagName == "BODY") { break; }
- o = o.parentNode;
- }
- if (c == undefined || c == "" || c == "transparent") c = "#FFFFFF";
- var rgb = c.match(/rgb\s*\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*\)/);
- if (rgb) c = this.make_hex(parseInt(rgb[1]),parseInt(rgb[2]),parseInt(rgb[3]));
- return c;
- }
-}
-
-addLoadEvent(function () {
- Fat.fade_all();
-});
diff --git a/wp-inst/wp-includes/js/quicktags.js b/wp-inst/wp-includes/js/quicktags.js
deleted file mode 100644
index 12a95c7..0000000
--- a/wp-inst/wp-includes/js/quicktags.js
+++ /dev/null
@@ -1,389 +0,0 @@
-// new edit toolbar used with permission
-// by Alex King
-// http://www.alexking.org/
-
-var edButtons = new Array();
-var edLinks = new Array();
-var edOpenTags = new Array();
-
-function edButton(id, display, tagStart, tagEnd, access, open) {
- this.id = id; // used to name the toolbar button
- this.display = display; // label on button
- this.tagStart = tagStart; // open tag
- this.tagEnd = tagEnd; // close tag
- this.access = access; // access key
- this.open = open; // set to -1 if tag does not need to be closed
-}
-
-function zeroise(number, threshold) {
- // FIXME: or we could use an implementation of printf in js here
- var str = number.toString();
- if (number < 0) { str = str.substr(1, str.length) }
- while (str.length < threshold) { str = "0" + str }
- if (number < 0) { str = '-' + str }
- return str;
-}
-
-var now = new Date();
-var 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'
-); // special case
-
-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
-); // special case
-
-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
-);
-/*
-edButtons[edButtons.length] =
-new edButton('ed_next'
-,'page'
-,'<!--nextpage-->'
-,''
-,'p'
-,-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(button, i) {
- if (button.id == 'ed_img') {
- document.write('<input type="button" id="' + button.id + '" accesskey="' + button.access + '" class="ed_button" onclick="edInsertImage(edCanvas);" value="' + button.display + '" />');
- }
- else if (button.id == 'ed_link') {
- document.write('<input type="button" id="' + button.id + '" accesskey="' + button.access + '" class="ed_button" onclick="edInsertLink(edCanvas, ' + i + ');" value="' + button.display + '" />');
- }
- else {
- document.write('<input type="button" id="' + button.id + '" accesskey="' + button.access + '" class="ed_button" onclick="edInsertTag(edCanvas, ' + i + ');" value="' + button.display + '" />');
- }
-}
-
-function edShowLinks() {
- var tempStr = '<select onchange="edQuickLink(this.options[this.selectedIndex].value, this);"><option value="-1" selected>(Quick Links)</option>';
- for (i = 0; i < edLinks.length; i++) {
- tempStr += '<option value="' + i + '">' + edLinks[i].display + '</option>';
- }
- tempStr += '</select>';
- document.write(tempStr);
-}
-
-function edAddTag(button) {
- if (edButtons[button].tagEnd != '') {
- edOpenTags[edOpenTags.length] = button;
- document.getElementById(edButtons[button].id).value = '/' + document.getElementById(edButtons[button].id).value;
- }
-}
-
-function edRemoveTag(button) {
- for (i = 0; i < edOpenTags.length; i++) {
- if (edOpenTags[i] == button) {
- edOpenTags.splice(i, 1);
- document.getElementById(edButtons[button].id).value = document.getElementById(edButtons[button].id).value.replace('/', '');
- }
- }
-}
-
-function edCheckOpenTags(button) {
- var tag = 0;
- for (i = 0; i < edOpenTags.length; i++) {
- if (edOpenTags[i] == button) {
- tag++;
- }
- }
- if (tag > 0) {
- return true; // tag found
- }
- else {
- return false; // tag not found
- }
-}
-
-function edCloseAllTags() {
- var count = edOpenTags.length;
- for (o = 0; o < count; o++) {
- edInsertTag(edCanvas, edOpenTags[edOpenTags.length - 1]);
- }
-}
-
-function edQuickLink(i, thisSelect) {
- if (i > -1) {
- var newWin = '';
- if (edLinks[i].newWin == 1) {
- newWin = ' target="_blank"';
- }
- var tempStr = '<a href="' + edLinks[i].URL + '"' + newWin + '>'
- + edLinks[i].display
- + '</a>';
- thisSelect.selectedIndex = 0;
- edInsertContent(edCanvas, tempStr);
- }
- else {
- thisSelect.selectedIndex = 0;
- }
-}
-
-function edSpell(myField) {
- var word = '';
- if (document.selection) {
- myField.focus();
- var sel = document.selection.createRange();
- if (sel.text.length > 0) {
- word = sel.text;
- }
- }
- else if (myField.selectionStart || myField.selectionStart == '0') {
- var startPos = myField.selectionStart;
- var endPos = myField.selectionEnd;
- if (startPos != endPos) {
- word = myField.value.substring(startPos, endPos);
- }
- }
- if (word == '') {
- word = prompt('Enter a word to look up:', '');
- }
- if (word !== null && /^\w[\w ]*$/.test(word)) {
- window.open('http://www.answers.com/' + escape(word));
- }
-}
-
-function edToolbar() {
- document.write('<div id="ed_toolbar">');
- for (i = 0; i < edButtons.length; i++) {
- edShowButton(edButtons[i], i);
- }
- document.write('<input type="button" id="ed_spell" class="ed_button" onclick="edSpell(edCanvas);" title="Dictionary lookup" value="lookup" />');
- document.write('<input type="button" id="ed_close" class="ed_button" onclick="edCloseAllTags();" title="Close all open tags" value="Close Tags" />');
-// edShowLinks(); // disabled by default
- document.write('</div>');
-}
-
-// insertion code
-
-function edInsertTag(myField, i) {
- //IE support
- if (document.selection) {
- myField.focus();
- sel = document.selection.createRange();
- if (sel.text.length > 0) {
- sel.text = edButtons[i].tagStart + sel.text + edButtons[i].tagEnd;
- }
- else {
- if (!edCheckOpenTags(i) || edButtons[i].tagEnd == '') {
- sel.text = edButtons[i].tagStart;
- edAddTag(i);
- }
- else {
- sel.text = edButtons[i].tagEnd;
- edRemoveTag(i);
- }
- }
- myField.focus();
- }
- //MOZILLA/NETSCAPE support
- else if (myField.selectionStart || myField.selectionStart == '0') {
- var startPos = myField.selectionStart;
- var endPos = myField.selectionEnd;
- var cursorPos = endPos;
- var scrollTop = myField.scrollTop;
-
- if (startPos != endPos) {
- myField.value = myField.value.substring(0, startPos)
- + edButtons[i].tagStart
- + myField.value.substring(startPos, endPos)
- + edButtons[i].tagEnd
- + myField.value.substring(endPos, myField.value.length);
- cursorPos += edButtons[i].tagStart.length + edButtons[i].tagEnd.length;
- }
- else {
- if (!edCheckOpenTags(i) || edButtons[i].tagEnd == '') {
- myField.value = myField.value.substring(0, startPos)
- + edButtons[i].tagStart
- + myField.value.substring(endPos, myField.value.length);
- edAddTag(i);
- cursorPos = startPos + edButtons[i].tagStart.length;
- }
- else {
- myField.value = myField.value.substring(0, startPos)
- + edButtons[i].tagEnd
- + myField.value.substring(endPos, myField.value.length);
- edRemoveTag(i);
- cursorPos = startPos + edButtons[i].tagEnd.length;
- }
- }
- myField.focus();
- myField.selectionStart = cursorPos;
- myField.selectionEnd = cursorPos;
- myField.scrollTop = scrollTop;
- }
- else {
- if (!edCheckOpenTags(i) || edButtons[i].tagEnd == '') {
- myField.value += edButtons[i].tagStart;
- edAddTag(i);
- }
- else {
- myField.value += edButtons[i].tagEnd;
- edRemoveTag(i);
- }
- myField.focus();
- }
-}
-
-function edInsertContent(myField, myValue) {
- //IE support
- if (document.selection) {
- myField.focus();
- sel = document.selection.createRange();
- sel.text = myValue;
- myField.focus();
- }
- //MOZILLA/NETSCAPE support
- else if (myField.selectionStart || myField.selectionStart == '0') {
- var startPos = myField.selectionStart;
- var endPos = myField.selectionEnd;
- myField.value = myField.value.substring(0, startPos)
- + myValue
- + myField.value.substring(endPos, myField.value.length);
- myField.focus();
- myField.selectionStart = startPos + myValue.length;
- myField.selectionEnd = startPos + myValue.length;
- } else {
- myField.value += myValue;
- myField.focus();
- }
-}
-
-function edInsertLink(myField, i, defaultValue) {
- if (!defaultValue) {
- defaultValue = 'http://';
- }
- if (!edCheckOpenTags(i)) {
- var URL = prompt('Enter the URL' ,defaultValue);
- if (URL) {
- edButtons[i].tagStart = '<a href="' + URL + '">';
- edInsertTag(myField, i);
- }
- }
- else {
- edInsertTag(myField, i);
- }
-}
-
-function edInsertImage(myField) {
- var myValue = prompt('Enter the URL of the image', 'http://');
- if (myValue) {
- myValue = '<img src="'
- + myValue
- + '" alt="' + prompt('Enter a description of the image', '')
- + '" />';
- edInsertContent(myField, myValue);
- }
-}
diff --git a/wp-inst/wp-includes/js/scriptaculous/MIT-LICENSE b/wp-inst/wp-includes/js/scriptaculous/MIT-LICENSE
deleted file mode 100644
index 36af55c..0000000
--- a/wp-inst/wp-includes/js/scriptaculous/MIT-LICENSE
+++ /dev/null
@@ -1,20 +0,0 @@
-Copyright (c) 2005 Thomas Fuchs (http://script.aculo.us, http://mir.aculo.us)
-
-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-inst/wp-includes/js/scriptaculous/builder.js b/wp-inst/wp-includes/js/scriptaculous/builder.js
deleted file mode 100644
index 5b15ba9..0000000
--- a/wp-inst/wp-includes/js/scriptaculous/builder.js
+++ /dev/null
@@ -1,101 +0,0 @@
-// Copyright (c) 2005 Thomas Fuchs (http://script.aculo.us, http://mir.aculo.us)
-//
-// See scriptaculous.js for full license.
-
-var Builder = {
- NODEMAP: {
- AREA: 'map',
- CAPTION: 'table',
- COL: 'table',
- COLGROUP: 'table',
- LEGEND: 'fieldset',
- OPTGROUP: 'select',
- OPTION: 'select',
- PARAM: 'object',
- TBODY: 'table',
- TD: 'table',
- TFOOT: 'table',
- TH: 'table',
- THEAD: 'table',
- TR: 'table'
- },
- // note: For Firefox < 1.5, OPTION and OPTGROUP tags are currently broken,
- // due to a Firefox bug
- node: function(elementName) {
- elementName = elementName.toUpperCase();
-
- // try innerHTML approach
- var parentTag = this.NODEMAP[elementName] || 'div';
- var parentElement = document.createElement(parentTag);
- try { // prevent IE "feature": http://dev.rubyonrails.org/ticket/2707
- parentElement.innerHTML = "<" + elementName + "></" + elementName + ">";
- } catch(e) {}
- var element = parentElement.firstChild || null;
-
- // see if browser added wrapping tags
- if(element && (element.tagName != elementName))
- element = element.getElementsByTagName(elementName)[0];
-
- // fallback to createElement approach
- if(!element) element = document.createElement(elementName);
-
- // abort if nothing could be created
- if(!element) return;
-
- // attributes (or text)
- if(arguments[1])
- if(this._isStringOrNumber(arguments[1]) ||
- (arguments[1] instanceof Array)) {
- this._children(element, arguments[1]);
- } else {
- var attrs = this._attributes(arguments[1]);
- if(attrs.length) {
- try { // prevent IE "feature": http://dev.rubyonrails.org/ticket/2707
- parentElement.innerHTML = "<" +elementName + " " +
- attrs + "></" + elementName + ">";
- } catch(e) {}
- element = parentElement.firstChild || null;
- // workaround firefox 1.0.X bug
- if(!element) {
- element = document.createElement(elementName);
- for(attr in arguments[1])
- element[attr == 'class' ? 'className' : attr] = arguments[1][attr];
- }
- if(element.tagName != elementName)
- element = parentElement.getElementsByTagName(elementName)[0];
- }
- }
-
- // text, or array of children
- if(arguments[2])
- this._children(element, arguments[2]);
-
- return element;
- },
- _text: function(text) {
- return document.createTextNode(text);
- },
- _attributes: function(attributes) {
- var attrs = [];
- for(attribute in attributes)
- attrs.push((attribute=='className' ? 'class' : attribute) +
- '="' + attributes[attribute].toString().escapeHTML() + '"');
- return attrs.join(" ");
- },
- _children: function(element, children) {
- if(typeof children=='object') { // array can hold nodes and text
- children.flatten().each( function(e) {
- if(typeof e=='object')
- element.appendChild(e)
- else
- if(Builder._isStringOrNumber(e))
- element.appendChild(Builder._text(e));
- });
- } else
- if(Builder._isStringOrNumber(children))
- element.appendChild(Builder._text(children));
- },
- _isStringOrNumber: function(param) {
- return(typeof param=='string' || typeof param=='number');
- }
-} \ No newline at end of file
diff --git a/wp-inst/wp-includes/js/scriptaculous/controls.js b/wp-inst/wp-includes/js/scriptaculous/controls.js
deleted file mode 100644
index de0261e..0000000
--- a/wp-inst/wp-includes/js/scriptaculous/controls.js
+++ /dev/null
@@ -1,815 +0,0 @@
-// Copyright (c) 2005 Thomas Fuchs (http://script.aculo.us, http://mir.aculo.us)
-// (c) 2005 Ivan Krstic (http://blogs.law.harvard.edu/ivan)
-// (c) 2005 Jon Tirsen (http://www.tirsen.com)
-// Contributors:
-// Richard Livsey
-// Rahul Bhargava
-// Rob Wills
-//
-// See scriptaculous.js for full license.
-
-// Autocompleter.Base handles all the autocompletion functionality
-// that's independent of the data source for autocompletion. This
-// includes drawing the autocompletion menu, observing keyboard
-// and mouse events, and similar.
-//
-// Specific autocompleters need to provide, at the very least,
-// a getUpdatedChoices function that will be invoked every time
-// the text inside the monitored textbox changes. This method
-// should get the text for which to provide autocompletion by
-// invoking this.getToken(), NOT by directly accessing
-// this.element.value. This is to allow incremental tokenized
-// autocompletion. Specific auto-completion logic (AJAX, etc)
-// belongs in getUpdatedChoices.
-//
-// Tokenized incremental autocompletion is enabled automatically
-// when an autocompleter is instantiated with the 'tokens' option
-// in the options parameter, e.g.:
-// new Ajax.Autocompleter('id','upd', '/url/', { tokens: ',' });
-// will incrementally autocomplete with a comma as the token.
-// Additionally, ',' in the above example can be replaced with
-// a token array, e.g. { tokens: [',', '\n'] } which
-// enables autocompletion on multiple tokens. This is most
-// useful when one of the tokens is \n (a newline), as it
-// allows smart autocompletion after linebreaks.
-
-var Autocompleter = {}
-Autocompleter.Base = function() {};
-Autocompleter.Base.prototype = {
- baseInitialize: function(element, update, options) {
- this.element = $(element);
- this.update = $(update);
- this.hasFocus = false;
- this.changed = false;
- this.active = false;
- this.index = 0;
- this.entryCount = 0;
-
- if (this.setOptions)
- this.setOptions(options);
- else
- this.options = options || {};
-
- this.options.paramName = this.options.paramName || this.element.name;
- this.options.tokens = this.options.tokens || [];
- this.options.frequency = this.options.frequency || 0.4;
- this.options.minChars = this.options.minChars || 1;
- this.options.onShow = this.options.onShow ||
- function(element, update){
- if(!update.style.position || update.style.position=='absolute') {
- update.style.position = 'absolute';
- Position.clone(element, update, {setHeight: false, offsetTop: element.offsetHeight});
- }
- Effect.Appear(update,{duration:0.15});
- };
- this.options.onHide = this.options.onHide ||
- function(element, update){ new Effect.Fade(update,{duration:0.15}) };
-
- if (typeof(this.options.tokens) == 'string')
- this.options.tokens = new Array(this.options.tokens);
-
- this.observer = null;
-
- this.element.setAttribute('autocomplete','off');
-
- Element.hide(this.update);
-
- Event.observe(this.element, "blur", this.onBlur.bindAsEventListener(this));
- Event.observe(this.element, "keypress", this.onKeyPress.bindAsEventListener(this));
- },
-
- show: function() {
- if(Element.getStyle(this.update, 'display')=='none') this.options.onShow(this.element, this.update);
- if(!this.iefix &&
- (navigator.appVersion.indexOf('MSIE')>0) &&
- (navigator.userAgent.indexOf('Opera')<0) &&
- (Element.getStyle(this.update, 'position')=='absolute')) {
- new Insertion.After(this.update,
- '<iframe id="' + this.update.id + '_iefix" '+
- 'style="display:none;position:absolute;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=0);" ' +
- 'src="javascript:false;" frameborder="0" scrolling="no"></iframe>');
- this.iefix = $(this.update.id+'_iefix');
- }
- if(this.iefix) setTimeout(this.fixIEOverlapping.bind(this), 50);
- },
-
- fixIEOverlapping: function() {
- Position.clone(this.update, this.iefix);
- this.iefix.style.zIndex = 1;
- this.update.style.zIndex = 2;
- Element.show(this.iefix);
- },
-
- hide: function() {
- this.stopIndicator();
- if(Element.getStyle(this.update, 'display')!='none') this.options.onHide(this.element, this.update);
- if(this.iefix) Element.hide(this.iefix);
- },
-
- startIndicator: function() {
- if(this.options.indicator) Element.show(this.options.indicator);
- },
-
- stopIndicator: function() {
- if(this.options.indicator) Element.hide(this.options.indicator);
- },
-
- onKeyPress: function(event) {
- if(this.active)
- switch(event.keyCode) {
- case Event.KEY_TAB:
- case Event.KEY_RETURN:
- this.selectEntry();
- Event.stop(event);
- case Event.KEY_ESC:
- this.hide();
- this.active = false;
- Event.stop(event);
- return;
- case Event.KEY_LEFT:
- case Event.KEY_RIGHT:
- return;
- case Event.KEY_UP:
- this.markPrevious();
- this.render();
- if(navigator.appVersion.indexOf('AppleWebKit')>0) Event.stop(event);
- return;
- case Event.KEY_DOWN:
- this.markNext();
- this.render();
- if(navigator.appVersion.indexOf('AppleWebKit')>0) Event.stop(event);
- return;
- }
- else
- if(event.keyCode==Event.KEY_TAB || event.keyCode==Event.KEY_RETURN ||
- (navigator.appVersion.indexOf('AppleWebKit') > 0 && event.keyCode == 0)) return;
-
- this.changed = true;
- this.hasFocus = true;
-
- if(this.observer) clearTimeout(this.observer);
- this.observer =
- setTimeout(this.onObserverEvent.bind(this), this.options.frequency*1000);
- },
-
- activate: function() {
- this.changed = false;
- this.hasFocus = true;
- this.getUpdatedChoices();
- },
-
- onHover: function(event) {
- var element = Event.findElement(event, 'LI');
- if(this.index != element.autocompleteIndex)
- {
- this.index = element.autocompleteIndex;
- this.render();
- }
- Event.stop(event);
- },
-
- onClick: function(event) {
- var element = Event.findElement(event, 'LI');
- this.index = element.autocompleteIndex;
- this.selectEntry();
- this.hide();
- },
-
- onBlur: function(event) {
- // needed to make click events working
- setTimeout(this.hide.bind(this), 250);
- this.hasFocus = false;
- this.active = false;
- },
-
- render: function() {
- if(this.entryCount > 0) {
- for (var i = 0; i < this.entryCount; i++)
- this.index==i ?
- Element.addClassName(this.getEntry(i),"selected") :
- Element.removeClassName(this.getEntry(i),"selected");
-
- if(this.hasFocus) {
- this.show();
- this.active = true;
- }
- } else {
- this.active = false;
- this.hide();
- }
- },
-
- markPrevious: function() {
- if(this.index > 0) this.index--
- else this.index = this.entryCount-1;
- },
-
- markNext: function() {
- if(this.index < this.entryCount-1) this.index++
- else this.index = 0;
- },
-
- getEntry: function(index) {
- return this.update.firstChild.childNodes[index];
- },
-
- getCurrentEntry: function() {
- return this.getEntry(this.index);
- },
-
- selectEntry: function() {
- this.active = false;
- this.updateElement(this.getCurrentEntry());
- },
-
- updateElement: function(selectedElement) {
- if (this.options.updateElement) {
- this.options.updateElement(selectedElement);
- return;
- }
- var value = '';
- if (this.options.select) {
- var nodes = document.getElementsByClassName(this.options.select, selectedElement) || [];
- if(nodes.length>0) value = Element.collectTextNodes(nodes[0], this.options.select);
- } else
- value = Element.collectTextNodesIgnoreClass(selectedElement, 'informal');
-
- var lastTokenPos = this.findLastToken();
- if (lastTokenPos != -1) {
- var newValue = this.element.value.substr(0, lastTokenPos + 1);
- var whitespace = this.element.value.substr(lastTokenPos + 1).match(/^\s+/);
- if (whitespace)
- newValue += whitespace[0];
- this.element.value = newValue + value;
- } else {
- this.element.value = value;
- }
- this.element.focus();
-
- if (this.options.afterUpdateElement)
- this.options.afterUpdateElement(this.element, selectedElement);
- },
-
- updateChoices: function(choices) {
- if(!this.changed && this.hasFocus) {
- this.update.innerHTML = choices;
- Element.cleanWhitespace(this.update);
- Element.cleanWhitespace(this.update.firstChild);
-
- if(this.update.firstChild && this.update.firstChild.childNodes) {
- this.entryCount =
- this.update.firstChild.childNodes.length;
- for (var i = 0; i < this.entryCount; i++) {
- var entry = this.getEntry(i);
- entry.autocompleteIndex = i;
- this.addObservers(entry);
- }
- } else {
- this.entryCount = 0;
- }
-
- this.stopIndicator();
-
- this.index = 0;
- this.render();
- }
- },
-
- addObservers: function(element) {
- Event.observe(element, "mouseover", this.onHover.bindAsEventListener(this));
- Event.observe(element, "click", this.onClick.bindAsEventListener(this));
- },
-
- onObserverEvent: function() {
- this.changed = false;
- if(this.getToken().length>=this.options.minChars) {
- this.startIndicator();
- this.getUpdatedChoices();
- } else {
- this.active = false;
- this.hide();
- }
- },
-
- getToken: function() {
- var tokenPos = this.findLastToken();
- if (tokenPos != -1)
- var ret = this.element.value.substr(tokenPos + 1).replace(/^\s+/,'').replace(/\s+$/,'');
- else
- var ret = this.element.value;
-
- return /\n/.test(ret) ? '' : ret;
- },
-
- findLastToken: function() {
- var lastTokenPos = -1;
-
- for (var i=0; i<this.options.tokens.length; i++) {
- var thisTokenPos = this.element.value.lastIndexOf(this.options.tokens[i]);
- if (thisTokenPos > lastTokenPos)
- lastTokenPos = thisTokenPos;
- }
- return lastTokenPos;
- }
-}
-
-Ajax.Autocompleter = Class.create();
-Object.extend(Object.extend(Ajax.Autocompleter.prototype, Autocompleter.Base.prototype), {
- initialize: function(element, update, url, options) {
- this.baseInitialize(element, update, options);
- this.options.asynchronous = true;
- this.options.onComplete = this.onComplete.bind(this);
- this.options.defaultParams = this.options.parameters || null;
- this.url = url;
- },
-
- getUpdatedChoices: function() {
- entry = encodeURIComponent(this.options.paramName) + '=' +
- encodeURIComponent(this.getToken());
-
- this.options.parameters = this.options.callback ?
- this.options.callback(this.element, entry) : entry;
-
- if(this.options.defaultParams)
- this.options.parameters += '&' + this.options.defaultParams;
-
- new Ajax.Request(this.url, this.options);
- },
-
- onComplete: function(request) {
- this.updateChoices(request.responseText);
- }
-
-});
-
-// The local array autocompleter. Used when you'd prefer to
-// inject an array of autocompletion options into the page, rather
-// than sending out Ajax queries, which can be quite slow sometimes.
-//
-// The constructor takes four parameters. The first two are, as usual,
-// the id of the monitored textbox, and id of the autocompletion menu.
-// The third is the array you want to autocomplete from, and the fourth
-// is the options block.
-//
-// Extra local autocompletion options:
-// - choices - How many autocompletion choices to offer
-//
-// - partialSearch - If false, the autocompleter will match entered
-// text only at the beginning of strings in the
-// autocomplete array. Defaults to true, which will
-// match text at the beginning of any *word* in the
-// strings in the autocomplete array. If you want to
-// search anywhere in the string, additionally set
-// the option fullSearch to true (default: off).
-//
-// - fullSsearch - Search anywhere in autocomplete array strings.
-//
-// - partialChars - How many characters to enter before triggering
-// a partial match (unlike minChars, which defines
-// how many characters are required to do any match
-// at all). Defaults to 2.
-//
-// - ignoreCase - Whether to ignore case when autocompleting.
-// Defaults to true.
-//
-// It's possible to pass in a custom function as the 'selector'
-// option, if you prefer to write your own autocompletion logic.
-// In that case, the other options above will not apply unless
-// you support them.
-
-Autocompleter.Local = Class.create();
-Autocompleter.Local.prototype = Object.extend(new Autocompleter.Base(), {
- initialize: function(element, update, array, options) {
- this.baseInitialize(element, update, options);
- this.options.array = array;
- },
-
- getUpdatedChoices: function() {
- this.updateChoices(this.options.selector(this));
- },
-
- setOptions: function(options) {
- this.options = Object.extend({
- choices: 10,
- partialSearch: true,
- partialChars: 2,
- ignoreCase: true,
- fullSearch: false,
- selector: function(instance) {
- var ret = []; // Beginning matches
- var partial = []; // Inside matches
- var entry = instance.getToken();
- var count = 0;
-
- for (var i = 0; i < instance.options.array.length &&
- ret.length < instance.options.choices ; i++) {
-
- var elem = instance.options.array[i];
- var foundPos = instance.options.ignoreCase ?
- elem.toLowerCase().indexOf(entry.toLowerCase()) :
- elem.indexOf(entry);
-
- while (foundPos != -1) {
- if (foundPos == 0 && elem.length != entry.length) {
- ret.push("<li><strong>" + elem.substr(0, entry.length) + "</strong>" +
- elem.substr(entry.length) + "</li>");
- break;
- } else if (entry.length >= instance.options.partialChars &&
- instance.options.partialSearch && foundPos != -1) {
- if (instance.options.fullSearch || /\s/.test(elem.substr(foundPos-1,1))) {
- partial.push("<li>" + elem.substr(0, foundPos) + "<strong>" +
- elem.substr(foundPos, entry.length) + "</strong>" + elem.substr(
- foundPos + entry.length) + "</li>");
- break;
- }
- }
-
- foundPos = instance.options.ignoreCase ?
- elem.toLowerCase().indexOf(entry.toLowerCase(), foundPos + 1) :
- elem.indexOf(entry, foundPos + 1);
-
- }
- }
- if (partial.length)
- ret = ret.concat(partial.slice(0, instance.options.choices - ret.length))
- return "<ul>" + ret.join('') + "</ul>";
- }
- }, options || {});
- }
-});
-
-// AJAX in-place editor
-//
-// see documentation on http://wiki.script.aculo.us/scriptaculous/show/Ajax.InPlaceEditor
-
-// Use this if you notice weird scrolling problems on some browsers,
-// the DOM might be a bit confused when this gets called so do this
-// waits 1 ms (with setTimeout) until it does the activation
-Field.scrollFreeActivate = function(field) {
- setTimeout(function() {
- Field.activate(field);
- }, 1);
-}
-
-Ajax.InPlaceEditor = Class.create();
-Ajax.InPlaceEditor.defaultHighlightColor = "#FFFF99";
-Ajax.InPlaceEditor.prototype = {
- initialize: function(element, url, options) {
- this.url = url;
- this.element = $(element);
-
- this.options = Object.extend({
- okButton: true,
- okText: "ok",
- cancelLink: true,
- cancelText: "cancel",
- savingText: "Saving...",
- clickToEditText: "Click to edit",
- okText: "ok",
- rows: 1,
- onComplete: function(transport, element) {
- new Effect.Highlight(element, {startcolor: this.options.highlightcolor});
- },
- onFailure: function(transport) {
- alert("Error communicating with the server: " + transport.responseText.stripTags());
- },
- callback: function(form) {
- return Form.serialize(form);
- },
- handleLineBreaks: true,
- loadingText: 'Loading...',
- savingClassName: 'inplaceeditor-saving',
- loadingClassName: 'inplaceeditor-loading',
- formClassName: 'inplaceeditor-form',
- highlightcolor: Ajax.InPlaceEditor.defaultHighlightColor,
- highlightendcolor: "#FFFFFF",
- externalControl: null,
- submitOnBlur: false,
- ajaxOptions: {},
- evalScripts: false
- }, options || {});
-
- if(!this.options.formId && this.element.id) {
- this.options.formId = this.element.id + "-inplaceeditor";
- if ($(this.options.formId)) {
- // there's already a form with that name, don't specify an id
- this.options.formId = null;
- }
- }
-
- if (this.options.externalControl) {
- this.options.externalControl = $(this.options.externalControl);
- }
-
- this.originalBackground = Element.getStyle(this.element, 'background-color');
- if (!this.originalBackground) {
- this.originalBackground = "transparent";
- }
-
- this.element.title = this.options.clickToEditText;
-
- this.onclickListener = this.enterEditMode.bindAsEventListener(this);
- this.mouseoverListener = this.enterHover.bindAsEventListener(this);
- this.mouseoutListener = this.leaveHover.bindAsEventListener(this);
- Event.observe(this.element, 'click', this.onclickListener);
- Event.observe(this.element, 'mouseover', this.mouseoverListener);
- Event.observe(this.element, 'mouseout', this.mouseoutListener);
- if (this.options.externalControl) {
- Event.observe(this.options.externalControl, 'click', this.onclickListener);
- Event.observe(this.options.externalControl, 'mouseover', this.mouseoverListener);
- Event.observe(this.options.externalControl, 'mouseout', this.mouseoutListener);
- }
- },
- enterEditMode: function(evt) {
- if (this.saving) return;
- if (this.editing) return;
- this.editing = true;
- this.onEnterEditMode();
- if (this.options.externalControl) {
- Element.hide(this.options.externalControl);
- }
- Element.hide(this.element);
- this.createForm();
- this.element.parentNode.insertBefore(this.form, this.element);
- Field.scrollFreeActivate(this.editField);
- // stop the event to avoid a page refresh in Safari
- if (evt) {
- Event.stop(evt);
- }
- return false;
- },
- createForm: function() {
- this.form = document.createElement("form");
- this.form.id = this.options.formId;
- Element.addClassName(this.form, this.options.formClassName)
- this.form.onsubmit = this.onSubmit.bind(this);
-
- this.createEditField();
-
- if (this.options.textarea) {
- var br = document.createElement("br");
- this.form.appendChild(br);
- }
-
- if (this.options.okButton) {
- okButton = document.createElement("input");
- okButton.type = "submit";
- okButton.value = this.options.okText;
- okButton.className = 'editor_ok_button';
- this.form.appendChild(okButton);
- }
-
- if (this.options.cancelLink) {
- cancelLink = document.createElement("a");
- cancelLink.href = "#";
- cancelLink.appendChild(document.createTextNode(this.options.cancelText));
- cancelLink.onclick = this.onclickCancel.bind(this);
- cancelLink.className = 'editor_cancel';
- this.form.appendChild(cancelLink);
- }
- },
- hasHTMLLineBreaks: function(string) {
- if (!this.options.handleLineBreaks) return false;
- return string.match(/<br/i) || string.match(/<p>/i);
- },
- convertHTMLLineBreaks: function(string) {
- return string.replace(/<br>/gi, "\n").replace(/<br\/>/gi, "\n").replace(/<\/p>/gi, "\n").replace(/<p>/gi, "");
- },
- createEditField: function() {
- var text;
- if(this.options.loadTextURL) {
- text = this.options.loadingText;
- } else {
- text = this.getText();
- }
-
- var obj = this;
-
- if (this.options.rows == 1 && !this.hasHTMLLineBreaks(text)) {
- this.options.textarea = false;
- var textField = document.createElement("input");
- textField.obj = this;
- textField.type = "text";
- textField.name = "value";
- textField.value = text;
- textField.style.backgroundColor = this.options.highlightcolor;
- textField.className = 'editor_field';
- var size = this.options.size || this.options.cols || 0;
- if (size != 0) textField.size = size;
- if (this.options.submitOnBlur)
- textField.onblur = this.onSubmit.bind(this);
- this.editField = textField;
- } else {
- this.options.textarea = true;
- var textArea = document.createElement("textarea");
- textArea.obj = this;
- textArea.name = "value";
- textArea.value = this.convertHTMLLineBreaks(text);
- textArea.rows = this.options.rows;
- textArea.cols = this.options.cols || 40;
- textArea.className = 'editor_field';
- if (this.options.submitOnBlur)
- textArea.onblur = this.onSubmit.bind(this);
- this.editField = textArea;
- }
-
- if(this.options.loadTextURL) {
- this.loadExternalText();
- }
- this.form.appendChild(this.editField);
- },
- getText: function() {
- return this.element.innerHTML;
- },
- loadExternalText: function() {
- Element.addClassName(this.form, this.options.loadingClassName);
- this.editField.disabled = true;
- new Ajax.Request(
- this.options.loadTextURL,
- Object.extend({
- asynchronous: true,
- onComplete: this.onLoadedExternalText.bind(this)
- }, this.options.ajaxOptions)
- );
- },
- onLoadedExternalText: function(transport) {
- Element.removeClassName(this.form, this.options.loadingClassName);
- this.editField.disabled = false;
- this.editField.value = transport.responseText.stripTags();
- },
- onclickCancel: function() {
- this.onComplete();
- this.leaveEditMode();
- return false;
- },
- onFailure: function(transport) {
- this.options.onFailure(transport);
- if (this.oldInnerHTML) {
- this.element.innerHTML = this.oldInnerHTML;
- this.oldInnerHTML = null;
- }
- return false;
- },
- onSubmit: function() {
- // onLoading resets these so we need to save them away for the Ajax call
- var form = this.form;
- var value = this.editField.value;
-
- // do this first, sometimes the ajax call returns before we get a chance to switch on Saving...
- // which means this will actually switch on Saving... *after* we've left edit mode causing Saving...
- // to be displayed indefinitely
- this.onLoading();
-
- if (this.options.evalScripts) {
- new Ajax.Request(
- this.url, Object.extend({
- parameters: this.options.callback(form, value),
- onComplete: this.onComplete.bind(this),
- onFailure: this.onFailure.bind(this),
- asynchronous:true,
- evalScripts:true
- }, this.options.ajaxOptions));
- } else {
- new Ajax.Updater(
- { success: this.element,
- // don't update on failure (this could be an option)
- failure: null },
- this.url, Object.extend({
- parameters: this.options.callback(form, value),
- onComplete: this.onComplete.bind(this),
- onFailure: this.onFailure.bind(this)
- }, this.options.ajaxOptions));
- }
- // stop the event to avoid a page refresh in Safari
- if (arguments.length > 1) {
- Event.stop(arguments[0]);
- }
- return false;
- },
- onLoading: function() {
- this.saving = true;
- this.removeForm();
- this.leaveHover();
- this.showSaving();
- },
- showSaving: function() {
- this.oldInnerHTML = this.element.innerHTML;
- this.element.innerHTML = this.options.savingText;
- Element.addClassName(this.element, this.options.savingClassName);
- this.element.style.backgroundColor = this.originalBackground;
- Element.show(this.element);
- },
- removeForm: function() {
- if(this.form) {
- if (this.form.parentNode) Element.remove(this.form);
- this.form = null;
- }
- },
- enterHover: function() {
- if (this.saving) return;
- this.element.style.backgroundColor = this.options.highlightcolor;
- if (this.effect) {
- this.effect.cancel();
- }
- Element.addClassName(this.element, this.options.hoverClassName)
- },
- leaveHover: function() {
- if (this.options.backgroundColor) {
- this.element.style.backgroundColor = this.oldBackground;
- }
- Element.removeClassName(this.element, this.options.hoverClassName)
- if (this.saving) return;
- this.effect = new Effect.Highlight(this.element, {
- startcolor: this.options.highlightcolor,
- endcolor: this.options.highlightendcolor,
- restorecolor: this.originalBackground
- });
- },
- leaveEditMode: function() {
- Element.removeClassName(this.element, this.options.savingClassName);
- this.removeForm();
- this.leaveHover();
- this.element.style.backgroundColor = this.originalBackground;
- Element.show(this.element);
- if (this.options.externalControl) {
- Element.show(this.options.externalControl);
- }
- this.editing = false;
- this.saving = false;
- this.oldInnerHTML = null;
- this.onLeaveEditMode();
- },
- onComplete: function(transport) {
- this.leaveEditMode();
- this.options.onComplete.bind(this)(transport, this.element);
- },
- onEnterEditMode: function() {},
- onLeaveEditMode: function() {},
- dispose: function() {
- if (this.oldInnerHTML) {
- this.element.innerHTML = this.oldInnerHTML;
- }
- this.leaveEditMode();
- Event.stopObserving(this.element, 'click', this.onclickListener);
- Event.stopObserving(this.element, 'mouseover', this.mouseoverListener);
- Event.stopObserving(this.element, 'mouseout', this.mouseoutListener);
- if (this.options.externalControl) {
- Event.stopObserving(this.options.externalControl, 'click', this.onclickListener);
- Event.stopObserving(this.options.externalControl, 'mouseover', this.mouseoverListener);
- Event.stopObserving(this.options.externalControl, 'mouseout', this.mouseoutListener);
- }
- }
-};
-
-Ajax.InPlaceCollectionEditor = Class.create();
-Object.extend(Ajax.InPlaceCollectionEditor.prototype, Ajax.InPlaceEditor.prototype);
-Object.extend(Ajax.InPlaceCollectionEditor.prototype, {
- createEditField: function() {
- if (!this.cached_selectTag) {
- var selectTag = document.createElement("select");
- var collection = this.options.collection || [];
- var optionTag;
- collection.each(function(e,i) {
- optionTag = document.createElement("option");
- optionTag.value = (e instanceof Array) ? e[0] : e;
- if(this.options.value==optionTag.value) optionTag.selected = true;
- optionTag.appendChild(document.createTextNode((e instanceof Array) ? e[1] : e));
- selectTag.appendChild(optionTag);
- }.bind(this));
- this.cached_selectTag = selectTag;
- }
-
- this.editField = this.cached_selectTag;
- if(this.options.loadTextURL) this.loadExternalText();
- this.form.appendChild(this.editField);
- this.options.callback = function(form, value) {
- return "value=" + encodeURIComponent(value);
- }
- }
-});
-
-// Delayed observer, like Form.Element.Observer,
-// but waits for delay after last key input
-// Ideal for live-search fields
-
-Form.Element.DelayedObserver = Class.create();
-Form.Element.DelayedObserver.prototype = {
- initialize: function(element, delay, callback) {
- this.delay = delay || 0.5;
- this.element = $(element);
- this.callback = callback;
- this.timer = null;
- this.lastValue = $F(this.element);
- Event.observe(this.element,'keyup',this.delayedListener.bindAsEventListener(this));
- },
- delayedListener: function(event) {
- if(this.lastValue == $F(this.element)) return;
- if(this.timer) clearTimeout(this.timer);
- this.timer = setTimeout(this.onTimerEvent.bind(this), this.delay * 1000);
- this.lastValue = $F(this.element);
- },
- onTimerEvent: function() {
- this.timer = null;
- this.callback(this.element, $F(this.element));
- }
-};
diff --git a/wp-inst/wp-includes/js/scriptaculous/dragdrop.js b/wp-inst/wp-includes/js/scriptaculous/dragdrop.js
deleted file mode 100644
index be2a30f..0000000
--- a/wp-inst/wp-includes/js/scriptaculous/dragdrop.js
+++ /dev/null
@@ -1,915 +0,0 @@
-// Copyright (c) 2005 Thomas Fuchs (http://script.aculo.us, http://mir.aculo.us)
-// (c) 2005 Sammi Williams (http://www.oriontransfer.co.nz, sammi@oriontransfer.co.nz)
-//
-// See scriptaculous.js for full license.
-
-/*--------------------------------------------------------------------------*/
-
-var Droppables = {
- drops: [],
-
- remove: function(element) {
- this.drops = this.drops.reject(function(d) { return d.element==$(element) });
- },
-
- add: function(element) {
- element = $(element);
- var options = Object.extend({
- greedy: true,
- hoverclass: null,
- tree: false
- }, arguments[1] || {});
-
- // cache containers
- if(options.containment) {
- options._containers = [];
- var containment = options.containment;
- if((typeof containment == 'object') &&
- (containment.constructor == Array)) {
- containment.each( function(c) { options._containers.push($(c)) });
- } else {
- options._containers.push($(containment));
- }
- }
-
- if(options.accept) options.accept = [options.accept].flatten();
-
- Element.makePositioned(element); // fix IE
- options.element = element;
-
- this.drops.push(options);
- },
-
- findDeepestChild: function(drops) {
- deepest = drops[0];
-
- for (i = 1; i < drops.length; ++i)
- if (Element.isParent(drops[i].element, deepest.element))
- deepest = drops[i];
-
- return deepest;
- },
-
- isContained: function(element, drop) {
- var containmentNode;
- if(drop.tree) {
- containmentNode = element.treeNode;
- } else {
- containmentNode = element.parentNode;
- }
- return drop._containers.detect(function(c) { return containmentNode == c });
- },
-
- isAffected: function(point, element, drop) {
- return (
- (drop.element!=element) &&
- ((!drop._containers) ||
- this.isContained(element, drop)) &&
- ((!drop.accept) ||
- (Element.classNames(element).detect(
- function(v) { return drop.accept.include(v) } ) )) &&
- Position.within(drop.element, point[0], point[1]) );
- },
-
- deactivate: function(drop) {
- if(drop.hoverclass)
- Element.removeClassName(drop.element, drop.hoverclass);
- this.last_active = null;
- },
-
- activate: function(drop) {
- if(drop.hoverclass)
- Element.addClassName(drop.element, drop.hoverclass);
- this.last_active = drop;
- },
-
- show: function(point, element) {
- if(!this.drops.length) return;
- var affected = [];
-
- if(this.last_active) this.deactivate(this.last_active);
- this.drops.each( function(drop) {
- if(Droppables.isAffected(point, element, drop))
- affected.push(drop);
- });
-
- if(affected.length>0) {
- drop = Droppables.findDeepestChild(affected);
- Position.within(drop.element, point[0], point[1]);
- if(drop.onHover)
- drop.onHover(element, drop.element, Position.overlap(drop.overlap, drop.element));
-
- Droppables.activate(drop);
- }
- },
-
- fire: function(event, element) {
- if(!this.last_active) return;
- Position.prepare();
-
- if (this.isAffected([Event.pointerX(event), Event.pointerY(event)], element, this.last_active))
- if (this.last_active.onDrop)
- this.last_active.onDrop(element, this.last_active.element, event);
- },
-
- reset: function() {
- if(this.last_active)
- this.deactivate(this.last_active);
- }
-}
-
-var Draggables = {
- drags: [],
- observers: [],
-
- register: function(draggable) {
- if(this.drags.length == 0) {
- this.eventMouseUp = this.endDrag.bindAsEventListener(this);
- this.eventMouseMove = this.updateDrag.bindAsEventListener(this);
- this.eventKeypress = this.keyPress.bindAsEventListener(this);
-
- Event.observe(document, "mouseup", this.eventMouseUp);
- Event.observe(document, "mousemove", this.eventMouseMove);
- Event.observe(document, "keypress", this.eventKeypress);
- }
- this.drags.push(draggable);
- },
-
- unregister: function(draggable) {
- this.drags = this.drags.reject(function(d) { return d==draggable });
- if(this.drags.length == 0) {
- Event.stopObserving(document, "mouseup", this.eventMouseUp);
- Event.stopObserving(document, "mousemove", this.eventMouseMove);
- Event.stopObserving(document, "keypress", this.eventKeypress);
- }
- },
-
- activate: function(draggable) {
- window.focus(); // allows keypress events if window isn't currently focused, fails for Safari
- this.activeDraggable = draggable;
- },
-
- deactivate: function() {
- this.activeDraggable = null;
- },
-
- updateDrag: function(event) {
- if(!this.activeDraggable) return;
- var pointer = [Event.pointerX(event), Event.pointerY(event)];
- // Mozilla-based browsers fire successive mousemove events with
- // the same coordinates, prevent needless redrawing (moz bug?)
- if(this._lastPointer && (this._lastPointer.inspect() == pointer.inspect())) return;
- this._lastPointer = pointer;
- this.activeDraggable.updateDrag(event, pointer);
- },
-
- endDrag: function(event) {
- if(!this.activeDraggable) return;
- this._lastPointer = null;
- this.activeDraggable.endDrag(event);
- this.activeDraggable = null;
- },
-
- keyPress: function(event) {
- if(this.activeDraggable)
- this.activeDraggable.keyPress(event);
- },
-
- addObserver: function(observer) {
- this.observers.push(observer);
- this._cacheObserverCallbacks();
- },
-
- removeObserver: function(element) { // element instead of observer fixes mem leaks
- this.observers = this.observers.reject( function(o) { return o.element==element });
- this._cacheObserverCallbacks();
- },
-
- notify: function(eventName, draggable, event) { // 'onStart', 'onEnd', 'onDrag'
- if(this[eventName+'Count'] > 0)
- this.observers.each( function(o) {
- if(o[eventName]) o[eventName](eventName, draggable, event);
- });
- },
-
- _cacheObserverCallbacks: function() {
- ['onStart','onEnd','onDrag'].each( function(eventName) {
- Draggables[eventName+'Count'] = Draggables.observers.select(
- function(o) { return o[eventName]; }
- ).length;
- });
- }
-}
-
-/*--------------------------------------------------------------------------*/
-
-var Draggable = Class.create();
-Draggable.prototype = {
- initialize: function(element) {
- var options = Object.extend({
- handle: false,
- starteffect: function(element) {
- element._opacity = Element.getOpacity(element);
- new Effect.Opacity(element, {duration:0.2, from:element._opacity, to:0.7});
- },
- reverteffect: function(element, top_offset, left_offset) {
- var dur = Math.sqrt(Math.abs(top_offset^2)+Math.abs(left_offset^2))*0.02;
- element._revert = new Effect.Move(element, { x: -left_offset, y: -top_offset, duration: dur});
- },
- endeffect: function(element) {
- var toOpacity = typeof element._opacity == 'number' ? element._opacity : 1.0
- new Effect.Opacity(element, {duration:0.2, from:0.7, to:toOpacity});
- },
- zindex: 1000,
- revert: false,
- scroll: false,
- scrollSensitivity: 20,
- scrollSpeed: 15,
- snap: false // false, or xy or [x,y] or function(x,y){ return [x,y] }
- }, arguments[1] || {});
-
- this.element = $(element);
-
- if(options.handle && (typeof options.handle == 'string')) {
- var h = Element.childrenWithClassName(this.element, options.handle, true);
- if(h.length>0) this.handle = h[0];
- }
- if(!this.handle) this.handle = $(options.handle);
- if(!this.handle) this.handle = this.element;
-
- if(options.scroll && !options.scroll.scrollTo && !options.scroll.outerHTML)
- options.scroll = $(options.scroll);
-
- Element.makePositioned(this.element); // fix IE
-
- this.delta = this.currentDelta();
- this.options = options;
- this.dragging = false;
-
- this.eventMouseDown = this.initDrag.bindAsEventListener(this);
- Event.observe(this.handle, "mousedown", this.eventMouseDown);
-
- Draggables.register(this);
- },
-
- destroy: function() {
- Event.stopObserving(this.handle, "mousedown", this.eventMouseDown);
- Draggables.unregister(this);
- },
-
- currentDelta: function() {
- return([
- parseInt(Element.getStyle(this.element,'left') || '0'),
- parseInt(Element.getStyle(this.element,'top') || '0')]);
- },
-
- initDrag: function(event) {
- if(Event.isLeftClick(event)) {
- // abort on form elements, fixes a Firefox issue
- var src = Event.element(event);
- if(src.tagName && (
- src.tagName=='INPUT' ||
- src.tagName=='SELECT' ||
- src.tagName=='OPTION' ||
- src.tagName=='BUTTON' ||
- src.tagName=='TEXTAREA')) return;
-
- if(this.element._revert) {
- this.element._revert.cancel();
- this.element._revert = null;
- }
-
- var pointer = [Event.pointerX(event), Event.pointerY(event)];
- var pos = Position.cumulativeOffset(this.element);
- this.offset = [0,1].map( function(i) { return (pointer[i] - pos[i]) });
-
- Draggables.activate(this);
- Event.stop(event);
- }
- },
-
- startDrag: function(event) {
- this.dragging = true;
-
- if(this.options.zindex) {
- this.originalZ = parseInt(Element.getStyle(this.element,'z-index') || 0);
- this.element.style.zIndex = this.options.zindex;
- }
-
- if(this.options.ghosting) {
- this._clone = this.element.cloneNode(true);
- Position.absolutize(this.element);
- this.element.parentNode.insertBefore(this._clone, this.element);
- }
-
- if(this.options.scroll) {
- if (this.options.scroll == window) {
- var where = this._getWindowScroll(this.options.scroll);
- this.originalScrollLeft = where.left;
- this.originalScrollTop = where.top;
- } else {
- this.originalScrollLeft = this.options.scroll.scrollLeft;
- this.originalScrollTop = this.options.scroll.scrollTop;
- }
- }
-
- Draggables.notify('onStart', this, event);
- if(this.options.starteffect) this.options.starteffect(this.element);
- },
-
- updateDrag: function(event, pointer) {
- if(!this.dragging) this.startDrag(event);
- Position.prepare();
- Droppables.show(pointer, this.element);
- Draggables.notify('onDrag', this, event);
- this.draw(pointer);
- if(this.options.change) this.options.change(this);
-
- if(this.options.scroll) {
- this.stopScrolling();
-
- var p;
- if (this.options.scroll == window) {
- with(this._getWindowScroll(this.options.scroll)) { p = [ left, top, left+width, top+height ]; }
- } else {
- p = Position.page(this.options.scroll);
- p[0] += this.options.scroll.scrollLeft;
- p[1] += this.options.scroll.scrollTop;
- p.push(p[0]+this.options.scroll.offsetWidth);
- p.push(p[1]+this.options.scroll.offsetHeight);
- }
- var speed = [0,0];
- if(pointer[0] < (p[0]+this.options.scrollSensitivity)) speed[0] = pointer[0]-(p[0]+this.options.scrollSensitivity);
- if(pointer[1] < (p[1]+this.options.scrollSensitivity)) speed[1] = pointer[1]-(p[1]+this.options.scrollSensitivity);
- if(pointer[0] > (p[2]-this.options.scrollSensitivity)) speed[0] = pointer[0]-(p[2]-this.options.scrollSensitivity);
- if(pointer[1] > (p[3]-this.options.scrollSensitivity)) speed[1] = pointer[1]-(p[3]-this.options.scrollSensitivity);
- this.startScrolling(speed);
- }
-
- // fix AppleWebKit rendering
- if(navigator.appVersion.indexOf('AppleWebKit')>0) window.scrollBy(0,0);
-
- Event.stop(event);
- },
-
- finishDrag: function(event, success) {
- this.dragging = false;
-
- if(this.options.ghosting) {
- Position.relativize(this.element);
- Element.remove(this._clone);
- this._clone = null;
- }
-
- if(success) Droppables.fire(event, this.element);
- Draggables.notify('onEnd', this, event);
-
- var revert = this.options.revert;
- if(revert && typeof revert == 'function') revert = revert(this.element);
-
- var d = this.currentDelta();
- if(revert && this.options.reverteffect) {
- this.options.reverteffect(this.element,
- d[1]-this.delta[1], d[0]-this.delta[0]);
- } else {
- this.delta = d;
- }
-
- if(this.options.zindex)
- this.element.style.zIndex = this.originalZ;
-
- if(this.options.endeffect)
- this.options.endeffect(this.element);
-
- Draggables.deactivate(this);
- Droppables.reset();
- },
-
- keyPress: function(event) {
- if(event.keyCode!=Event.KEY_ESC) return;
- this.finishDrag(event, false);
- Event.stop(event);
- },
-
- endDrag: function(event) {
- if(!this.dragging) return;
- this.stopScrolling();
- this.finishDrag(event, true);
- Event.stop(event);
- },
-
- draw: function(point) {
- var pos = Position.cumulativeOffset(this.element);
- var d = this.currentDelta();
- pos[0] -= d[0]; pos[1] -= d[1];
-
- if(this.options.scroll && (this.options.scroll != window)) {
- pos[0] -= this.options.scroll.scrollLeft-this.originalScrollLeft;
- pos[1] -= this.options.scroll.scrollTop-this.originalScrollTop;
- }
-
- var p = [0,1].map(function(i){
- return (point[i]-pos[i]-this.offset[i])
- }.bind(this));
-
- if(this.options.snap) {
- if(typeof this.options.snap == 'function') {
- p = this.options.snap(p[0],p[1],this);
- } else {
- if(this.options.snap instanceof Array) {
- p = p.map( function(v, i) {
- return Math.round(v/this.options.snap[i])*this.options.snap[i] }.bind(this))
- } else {
- p = p.map( function(v) {
- return Math.round(v/this.options.snap)*this.options.snap }.bind(this))
- }
- }}
-
- var style = this.element.style;
- if((!this.options.constraint) || (this.options.constraint=='horizontal'))
- style.left = p[0] + "px";
- if((!this.options.constraint) || (this.options.constraint=='vertical'))
- style.top = p[1] + "px";
- if(style.visibility=="hidden") style.visibility = ""; // fix gecko rendering
- },
-
- stopScrolling: function() {
- if(this.scrollInterval) {
- clearInterval(this.scrollInterval);
- this.scrollInterval = null;
- Draggables._lastScrollPointer = null;
- }
- },
-
- startScrolling: function(speed) {
- this.scrollSpeed = [speed[0]*this.options.scrollSpeed,speed[1]*this.options.scrollSpeed];
- this.lastScrolled = new Date();
- this.scrollInterval = setInterval(this.scroll.bind(this), 10);
- },
-
- scroll: function() {
- var current = new Date();
- var delta = current - this.lastScrolled;
- this.lastScrolled = current;
- if(this.options.scroll == window) {
- with (this._getWindowScroll(this.options.scroll)) {
- if (this.scrollSpeed[0] || this.scrollSpeed[1]) {
- var d = delta / 1000;
- this.options.scroll.scrollTo( left + d*this.scrollSpeed[0], top + d*this.scrollSpeed[1] );
- }
- }
- } else {
- this.options.scroll.scrollLeft += this.scrollSpeed[0] * delta / 1000;
- this.options.scroll.scrollTop += this.scrollSpeed[1] * delta / 1000;
- }
-
- Position.prepare();
- Droppables.show(Draggables._lastPointer, this.element);
- Draggables.notify('onDrag', this);
- Draggables._lastScrollPointer = Draggables._lastScrollPointer || $A(Draggables._lastPointer);
- Draggables._lastScrollPointer[0] += this.scrollSpeed[0] * delta / 1000;
- Draggables._lastScrollPointer[1] += this.scrollSpeed[1] * delta / 1000;
- if (Draggables._lastScrollPointer[0] < 0)
- Draggables._lastScrollPointer[0] = 0;
- if (Draggables._lastScrollPointer[1] < 0)
- Draggables._lastScrollPointer[1] = 0;
- this.draw(Draggables._lastScrollPointer);
-
- if(this.options.change) this.options.change(this);
- },
-
- _getWindowScroll: function(w) {
- var T, L, W, H;
- with (w.document) {
- if (w.document.documentElement && documentElement.scrollTop) {
- T = documentElement.scrollTop;
- L = documentElement.scrollLeft;
- } else if (w.document.body) {
- T = body.scrollTop;
- L = body.scrollLeft;
- }
- if (w.innerWidth) {
- W = w.innerWidth;
- H = w.innerHeight;
- } else if (w.document.documentElement && documentElement.clientWidth) {
- W = documentElement.clientWidth;
- H = documentElement.clientHeight;
- } else {
- W = body.offsetWidth;
- H = body.offsetHeight
- }
- }
- return { top: T, left: L, width: W, height: H };
- }
-}
-
-/*--------------------------------------------------------------------------*/
-
-var SortableObserver = Class.create();
-SortableObserver.prototype = {
- initialize: function(element, observer) {
- this.element = $(element);
- this.observer = observer;
- this.lastValue = Sortable.serialize(this.element);
- },
-
- onStart: function() {
- this.lastValue = Sortable.serialize(this.element);
- },
-
- onEnd: function() {
- Sortable.unmark();
- if(this.lastValue != Sortable.serialize(this.element))
- this.observer(this.element)
- }
-}
-
-var Sortable = {
- sortables: {},
-
- _findRootElement: function(element) {
- while (element.tagName != "BODY") {
- if(element.id && Sortable.sortables[element.id]) return element;
- element = element.parentNode;
- }
- },
-
- options: function(element) {
- element = Sortable._findRootElement($(element));
- if(!element) return;
- return Sortable.sortables[element.id];
- },
-
- destroy: function(element){
- var s = Sortable.options(element);
-
- if(s) {
- Draggables.removeObserver(s.element);
- s.droppables.each(function(d){ Droppables.remove(d) });
- s.draggables.invoke('destroy');
-
- delete Sortable.sortables[s.element.id];
- }
- },
-
- create: function(element) {
- element = $(element);
- var options = Object.extend({
- element: element,
- tag: 'li', // assumes li children, override with tag: 'tagname'
- dropOnEmpty: false,
- tree: false,
- treeTag: 'ul',
- overlap: 'vertical', // one of 'vertical', 'horizontal'
- constraint: 'vertical', // one of 'vertical', 'horizontal', false
- containment: element, // also takes array of elements (or id's); or false
- handle: false, // or a CSS class
- only: false,
- hoverclass: null,
- ghosting: false,
- scroll: false,
- scrollSensitivity: 20,
- scrollSpeed: 15,
- format: /^[^_]*_(.*)$/,
- onChange: Prototype.emptyFunction,
- onUpdate: Prototype.emptyFunction
- }, arguments[1] || {});
-
- // clear any old sortable with same element
- this.destroy(element);
-
- // build options for the draggables
- var options_for_draggable = {
- revert: true,
- scroll: options.scroll,
- scrollSpeed: options.scrollSpeed,
- scrollSensitivity: options.scrollSensitivity,
- ghosting: options.ghosting,
- constraint: options.constraint,
- handle: options.handle };
-
- if(options.starteffect)
- options_for_draggable.starteffect = options.starteffect;
-
- if(options.reverteffect)
- options_for_draggable.reverteffect = options.reverteffect;
- else
- if(options.ghosting) options_for_draggable.reverteffect = function(element) {
- element.style.top = 0;
- element.style.left = 0;
- };
-
- if(options.endeffect)
- options_for_draggable.endeffect = options.endeffect;
-
- if(options.zindex)
- options_for_draggable.zindex = options.zindex;
-
- // build options for the droppables
- var options_for_droppable = {
- overlap: options.overlap,
- containment: options.containment,
- tree: options.tree,
- hoverclass: options.hoverclass,
- onHover: Sortable.onHover
- //greedy: !options.dropOnEmpty
- }
-
- var options_for_tree = {
- onHover: Sortable.onEmptyHover,
- overlap: options.overlap,
- containment: options.containment,
- hoverclass: options.hoverclass
- }
-
- // fix for gecko engine
- Element.cleanWhitespace(element);
-
- options.draggables = [];
- options.droppables = [];
-
- // drop on empty handling
- if(options.dropOnEmpty || options.tree) {
- Droppables.add(element, options_for_tree);
- options.droppables.push(element);
- }
-
- (this.findElements(element, options) || []).each( function(e) {
- // handles are per-draggable
- var handle = options.handle ?
- Element.childrenWithClassName(e, options.handle)[0] : e;
- options.draggables.push(
- new Draggable(e, Object.extend(options_for_draggable, { handle: handle })));
- Droppables.add(e, options_for_droppable);
- if(options.tree) e.treeNode = element;
- options.droppables.push(e);
- });
-
- if(options.tree) {
- (Sortable.findTreeElements(element, options) || []).each( function(e) {
- Droppables.add(e, options_for_tree);
- e.treeNode = element;
- options.droppables.push(e);
- });
- }
-
- // keep reference
- this.sortables[element.id] = options;
-
- // for onupdate
- Draggables.addObserver(new SortableObserver(element, options.onUpdate));
-
- },
-
- // return all suitable-for-sortable elements in a guaranteed order
- findElements: function(element, options) {
- return Element.findChildren(
- element, options.only, options.tree ? true : false, options.tag);
- },
-
- findTreeElements: function(element, options) {
- return Element.findChildren(
- element, options.only, options.tree ? true : false, options.treeTag);
- },
-
- onHover: function(element, dropon, overlap) {
- if(Element.isParent(dropon, element)) return;
-
- if(overlap > .33 && overlap < .66 && Sortable.options(dropon).tree) {
- return;
- } else if(overlap>0.5) {
- Sortable.mark(dropon, 'before');
- if(dropon.previousSibling != element) {
- var oldParentNode = element.parentNode;
- element.style.visibility = "hidden"; // fix gecko rendering
- dropon.parentNode.insertBefore(element, dropon);
- if(dropon.parentNode!=oldParentNode)
- Sortable.options(oldParentNode).onChange(element);
- Sortable.options(dropon.parentNode).onChange(element);
- }
- } else {
- Sortable.mark(dropon, 'after');
- var nextElement = dropon.nextSibling || null;
- if(nextElement != element) {
- var oldParentNode = element.parentNode;
- element.style.visibility = "hidden"; // fix gecko rendering
- dropon.parentNode.insertBefore(element, nextElement);
- if(dropon.parentNode!=oldParentNode)
- Sortable.options(oldParentNode).onChange(element);
- Sortable.options(dropon.parentNode).onChange(element);
- }
- }
- },
-
- onEmptyHover: function(element, dropon, overlap) {
- var oldParentNode = element.parentNode;
- var droponOptions = Sortable.options(dropon);
-
- if(!Element.isParent(dropon, element)) {
- var index;
-
- var children = Sortable.findElements(dropon, {tag: droponOptions.tag});
- var child = null;
-
- if(children) {
- var offset = Element.offsetSize(dropon, droponOptions.overlap) * (1.0 - overlap);
-
- for (index = 0; index < children.length; index += 1) {
- if (offset - Element.offsetSize (children[index], droponOptions.overlap) >= 0) {
- offset -= Element.offsetSize (children[index], droponOptions.overlap);
- } else if (offset - (Element.offsetSize (children[index], droponOptions.overlap) / 2) >= 0) {
- child = index + 1 < children.length ? children[index + 1] : null;
- break;
- } else {
- child = children[index];
- break;
- }
- }
- }
-
- dropon.insertBefore(element, child);
-
- Sortable.options(oldParentNode).onChange(element);
- droponOptions.onChange(element);
- }
- },
-
- unmark: function() {
- if(Sortable._marker) Element.hide(Sortable._marker);
- },
-
- mark: function(dropon, position) {
- // mark on ghosting only
- var sortable = Sortable.options(dropon.parentNode);
- if(sortable && !sortable.ghosting) return;
-
- if(!Sortable._marker) {
- Sortable._marker = $('dropmarker') || document.createElement('DIV');
- Element.hide(Sortable._marker);
- Element.addClassName(Sortable._marker, 'dropmarker');
- Sortable._marker.style.position = 'absolute';
- document.getElementsByTagName("body").item(0).appendChild(Sortable._marker);
- }
- var offsets = Position.cumulativeOffset(dropon);
- Sortable._marker.style.left = offsets[0] + 'px';
- Sortable._marker.style.top = offsets[1] + 'px';
-
- if(position=='after')
- if(sortable.overlap == 'horizontal')
- Sortable._marker.style.left = (offsets[0]+dropon.clientWidth) + 'px';
- else
- Sortable._marker.style.top = (offsets[1]+dropon.clientHeight) + 'px';
-
- Element.show(Sortable._marker);
- },
-
- _tree: function(element, options, parent) {
- var children = Sortable.findElements(element, options) || [];
-
- for (var i = 0; i < children.length; ++i) {
- var match = children[i].id.match(options.format);
-
- if (!match) continue;
-
- var child = {
- id: encodeURIComponent(match ? match[1] : null),
- element: element,
- parent: parent,
- children: new Array,
- position: parent.children.length,
- container: Sortable._findChildrenElement(children[i], options.treeTag.toUpperCase())
- }
-
- /* Get the element containing the children and recurse over it */
- if (child.container)
- this._tree(child.container, options, child)
-
- parent.children.push (child);
- }
-
- return parent;
- },
-
- /* Finds the first element of the given tag type within a parent element.
- Used for finding the first LI[ST] within a L[IST]I[TEM].*/
- _findChildrenElement: function (element, containerTag) {
- if (element && element.hasChildNodes)
- for (var i = 0; i < element.childNodes.length; ++i)
- if (element.childNodes[i].tagName == containerTag)
- return element.childNodes[i];
-
- return null;
- },
-
- tree: function(element) {
- element = $(element);
- var sortableOptions = this.options(element);
- var options = Object.extend({
- tag: sortableOptions.tag,
- treeTag: sortableOptions.treeTag,
- only: sortableOptions.only,
- name: element.id,
- format: sortableOptions.format
- }, arguments[1] || {});
-
- var root = {
- id: null,
- parent: null,
- children: new Array,
- container: element,
- position: 0
- }
-
- return Sortable._tree (element, options, root);
- },
-
- /* Construct a [i] index for a particular node */
- _constructIndex: function(node) {
- var index = '';
- do {
- if (node.id) index = '[' + node.position + ']' + index;
- } while ((node = node.parent) != null);
- return index;
- },
-
- sequence: function(element) {
- element = $(element);
- var options = Object.extend(this.options(element), arguments[1] || {});
-
- return $(this.findElements(element, options) || []).map( function(item) {
- return item.id.match(options.format) ? item.id.match(options.format)[1] : '';
- });
- },
-
- setSequence: function(element, new_sequence) {
- element = $(element);
- var options = Object.extend(this.options(element), arguments[2] || {});
-
- var nodeMap = {};
- this.findElements(element, options).each( function(n) {
- if (n.id.match(options.format))
- nodeMap[n.id.match(options.format)[1]] = [n, n.parentNode];
- n.parentNode.removeChild(n);
- });
-
- new_sequence.each(function(ident) {
- var n = nodeMap[ident];
- if (n) {
- n[1].appendChild(n[0]);
- delete nodeMap[ident];
- }
- });
- },
-
- serialize: function(element) {
- element = $(element);
- var options = Object.extend(Sortable.options(element), arguments[1] || {});
- var name = encodeURIComponent(
- (arguments[1] && arguments[1].name) ? arguments[1].name : element.id);
-
- if (options.tree) {
- return Sortable.tree(element, arguments[1]).children.map( function (item) {
- return [name + Sortable._constructIndex(item) + "=" +
- encodeURIComponent(item.id)].concat(item.children.map(arguments.callee));
- }).flatten().join('&');
- } else {
- return Sortable.sequence(element, arguments[1]).map( function(item) {
- return name + "[]=" + encodeURIComponent(item);
- }).join('&');
- }
- }
-}
-
-/* Returns true if child is contained within element */
-Element.isParent = function(child, element) {
- if (!child.parentNode || child == element) return false;
-
- if (child.parentNode == element) return true;
-
- return Element.isParent(child.parentNode, element);
-}
-
-Element.findChildren = function(element, only, recursive, tagName) {
- if(!element.hasChildNodes()) return null;
- tagName = tagName.toUpperCase();
- if(only) only = [only].flatten();
- var elements = [];
- $A(element.childNodes).each( function(e) {
- if(e.tagName && e.tagName.toUpperCase()==tagName &&
- (!only || (Element.classNames(e).detect(function(v) { return only.include(v) }))))
- elements.push(e);
- if(recursive) {
- var grandchildren = Element.findChildren(e, only, recursive, tagName);
- if(grandchildren) elements.push(grandchildren);
- }
- });
-
- return (elements.length>0 ? elements.flatten() : []);
-}
-
-Element.offsetSize = function (element, type) {
- if (type == 'vertical' || type == 'height')
- return element.offsetHeight;
- else
- return element.offsetWidth;
-} \ No newline at end of file
diff --git a/wp-inst/wp-includes/js/scriptaculous/effects.js b/wp-inst/wp-includes/js/scriptaculous/effects.js
deleted file mode 100644
index 0864323..0000000
--- a/wp-inst/wp-includes/js/scriptaculous/effects.js
+++ /dev/null
@@ -1,958 +0,0 @@
-// Copyright (c) 2005 Thomas Fuchs (http://script.aculo.us, http://mir.aculo.us)
-// Contributors:
-// Justin Palmer (http://encytemedia.com/)
-// Mark Pilgrim (http://diveintomark.org/)
-// Martin Bialasinki
-//
-// See scriptaculous.js for full license.
-
-// converts rgb() and #xxx to #xxxxxx format,
-// returns self (or first argument) if not convertable
-String.prototype.parseColor = function() {
- var color = '#';
- if(this.slice(0,4) == 'rgb(') {
- var cols = this.slice(4,this.length-1).split(',');
- var i=0; do { color += parseInt(cols[i]).toColorPart() } while (++i<3);
- } else {
- if(this.slice(0,1) == '#') {
- if(this.length==4) for(var i=1;i<4;i++) color += (this.charAt(i) + this.charAt(i)).toLowerCase();
- if(this.length==7) color = this.toLowerCase();
- }
- }
- return(color.length==7 ? color : (arguments[0] || this));
-}
-
-/*--------------------------------------------------------------------------*/
-
-Element.collectTextNodes = function(element) {
- return $A($(element).childNodes).collect( function(node) {
- return (node.nodeType==3 ? node.nodeValue :
- (node.hasChildNodes() ? Element.collectTextNodes(node) : ''));
- }).flatten().join('');
-}
-
-Element.collectTextNodesIgnoreClass = function(element, className) {
- return $A($(element).childNodes).collect( function(node) {
- return (node.nodeType==3 ? node.nodeValue :
- ((node.hasChildNodes() && !Element.hasClassName(node,className)) ?
- Element.collectTextNodesIgnoreClass(node, className) : ''));
- }).flatten().join('');
-}
-
-Element.setContentZoom = function(element, percent) {
- element = $(element);
- Element.setStyle(element, {fontSize: (percent/100) + 'em'});
- if(navigator.appVersion.indexOf('AppleWebKit')>0) window.scrollBy(0,0);
-}
-
-Element.getOpacity = function(element){
- var opacity;
- if (opacity = Element.getStyle(element, 'opacity'))
- return parseFloat(opacity);
- if (opacity = (Element.getStyle(element, 'filter') || '').match(/alpha\(opacity=(.*)\)/))
- if(opacity[1]) return parseFloat(opacity[1]) / 100;
- return 1.0;
-}
-
-Element.setOpacity = function(element, value){
- element= $(element);
- if (value == 1){
- Element.setStyle(element, { opacity:
- (/Gecko/.test(navigator.userAgent) && !/Konqueror|Safari|KHTML/.test(navigator.userAgent)) ?
- 0.999999 : null });
- if(/MSIE/.test(navigator.userAgent))
- Element.setStyle(element, {filter: Element.getStyle(element,'filter').replace(/alpha\([^\)]*\)/gi,'')});
- } else {
- if(value < 0.00001) value = 0;
- Element.setStyle(element, {opacity: value});
- if(/MSIE/.test(navigator.userAgent))
- Element.setStyle(element,
- { filter: Element.getStyle(element,'filter').replace(/alpha\([^\)]*\)/gi,'') +
- 'alpha(opacity='+value*100+')' });
- }
-}
-
-Element.getInlineOpacity = function(element){
- return $(element).style.opacity || '';
-}
-
-Element.childrenWithClassName = function(element, className, findFirst) {
- var classNameRegExp = new RegExp("(^|\\s)" + className + "(\\s|$)");
- var results = $A($(element).getElementsByTagName('*'))[findFirst ? 'detect' : 'select']( function(c) {
- return (c.className && c.className.match(classNameRegExp));
- });
- if(!results) results = [];
- return results;
-}
-
-Element.forceRerendering = function(element) {
- try {
- element = $(element);
- var n = document.createTextNode(' ');
- element.appendChild(n);
- element.removeChild(n);
- } catch(e) { }
-};
-
-/*--------------------------------------------------------------------------*/
-
-Array.prototype.call = function() {
- var args = arguments;
- this.each(function(f){ f.apply(this, args) });
-}
-
-/*--------------------------------------------------------------------------*/
-
-var Effect = {
- tagifyText: function(element) {
- var tagifyStyle = 'position:relative';
- if(/MSIE/.test(navigator.userAgent)) tagifyStyle += ';zoom:1';
- element = $(element);
- $A(element.childNodes).each( function(child) {
- if(child.nodeType==3) {
- child.nodeValue.toArray().each( function(character) {
- element.insertBefore(
- Builder.node('span',{style: tagifyStyle},
- character == ' ' ? String.fromCharCode(160) : character),
- child);
- });
- Element.remove(child);
- }
- });
- },
- multiple: function(element, effect) {
- var elements;
- if(((typeof element == 'object') ||
- (typeof element == 'function')) &&
- (element.length))
- elements = element;
- else
- elements = $(element).childNodes;
-
- var options = Object.extend({
- speed: 0.1,
- delay: 0.0
- }, arguments[2] || {});
- var masterDelay = options.delay;
-
- $A(elements).each( function(element, index) {
- new effect(element, Object.extend(options, { delay: index * options.speed + masterDelay }));
- });
- },
- PAIRS: {
- 'slide': ['SlideDown','SlideUp'],
- 'blind': ['BlindDown','BlindUp'],
- 'appear': ['Appear','Fade']
- },
- toggle: function(element, effect) {
- element = $(element);
- effect = (effect || 'appear').toLowerCase();
- var options = Object.extend({
- queue: { position:'end', scope:(element.id || 'global'), limit: 1 }
- }, arguments[2] || {});
- Effect[element.visible() ?
- Effect.PAIRS[effect][1] : Effect.PAIRS[effect][0]](element, options);
- }
-};
-
-var Effect2 = Effect; // deprecated
-
-/* ------------- transitions ------------- */
-
-Effect.Transitions = {}
-
-Effect.Transitions.linear = function(pos) {
- return pos;
-}
-Effect.Transitions.sinoidal = function(pos) {
- return (-Math.cos(pos*Math.PI)/2) + 0.5;
-}
-Effect.Transitions.reverse = function(pos) {
- return 1-pos;
-}
-Effect.Transitions.flicker = function(pos) {
- return ((-Math.cos(pos*Math.PI)/4) + 0.75) + Math.random()/4;
-}
-Effect.Transitions.wobble = function(pos) {
- return (-Math.cos(pos*Math.PI*(9*pos))/2) + 0.5;
-}
-Effect.Transitions.pulse = function(pos) {
- return (Math.floor(pos*10) % 2 == 0 ?
- (pos*10-Math.floor(pos*10)) : 1-(pos*10-Math.floor(pos*10)));
-}
-Effect.Transitions.none = function(pos) {
- return 0;
-}
-Effect.Transitions.full = function(pos) {
- return 1;
-}
-
-/* ------------- core effects ------------- */
-
-Effect.ScopedQueue = Class.create();
-Object.extend(Object.extend(Effect.ScopedQueue.prototype, Enumerable), {
- initialize: function() {
- this.effects = [];
- this.interval = null;
- },
- _each: function(iterator) {
- this.effects._each(iterator);
- },
- add: function(effect) {
- var timestamp = new Date().getTime();
-
- var position = (typeof effect.options.queue == 'string') ?
- effect.options.queue : effect.options.queue.position;
-
- switch(position) {
- case 'front':
- // move unstarted effects after this effect
- this.effects.findAll(function(e){ return e.state=='idle' }).each( function(e) {
- e.startOn += effect.finishOn;
- e.finishOn += effect.finishOn;
- });
- break;
- case 'end':
- // start effect after last queued effect has finished
- timestamp = this.effects.pluck('finishOn').max() || timestamp;
- break;
- }
-
- effect.startOn += timestamp;
- effect.finishOn += timestamp;
-
- if(!effect.options.queue.limit || (this.effects.length < effect.options.queue.limit))
- this.effects.push(effect);
-
- if(!this.interval)
- this.interval = setInterval(this.loop.bind(this), 40);
- },
- remove: function(effect) {
- this.effects = this.effects.reject(function(e) { return e==effect });
- if(this.effects.length == 0) {
- clearInterval(this.interval);
- this.interval = null;
- }
- },
- loop: function() {
- var timePos = new Date().getTime();
- this.effects.invoke('loop', timePos);
- }
-});
-
-Effect.Queues = {
- instances: $H(),
- get: function(queueName) {
- if(typeof queueName != 'string') return queueName;
-
- if(!this.instances[queueName])
- this.instances[queueName] = new Effect.ScopedQueue();
-
- return this.instances[queueName];
- }
-}
-Effect.Queue = Effect.Queues.get('global');
-
-Effect.DefaultOptions = {
- transition: Effect.Transitions.sinoidal,
- duration: 1.0, // seconds
- fps: 25.0, // max. 25fps due to Effect.Queue implementation
- sync: false, // true for combining
- from: 0.0,
- to: 1.0,
- delay: 0.0,
- queue: 'parallel'
-}
-
-Effect.Base = function() {};
-Effect.Base.prototype = {
- position: null,
- start: function(options) {
- this.options = Object.extend(Object.extend({},Effect.DefaultOptions), options || {});
- this.currentFrame = 0;
- this.state = 'idle';
- this.startOn = this.options.delay*1000;
- this.finishOn = this.startOn + (this.options.duration*1000);
- this.event('beforeStart');
- if(!this.options.sync)
- Effect.Queues.get(typeof this.options.queue == 'string' ?
- 'global' : this.options.queue.scope).add(this);
- },
- loop: function(timePos) {
- if(timePos >= this.startOn) {
- if(timePos >= this.finishOn) {
- this.render(1.0);
- this.cancel();
- this.event('beforeFinish');
- if(this.finish) this.finish();
- this.event('afterFinish');
- return;
- }
- var pos = (timePos - this.startOn) / (this.finishOn - this.startOn);
- var frame = Math.round(pos * this.options.fps * this.options.duration);
- if(frame > this.currentFrame) {
- this.render(pos);
- this.currentFrame = frame;
- }
- }
- },
- render: function(pos) {
- if(this.state == 'idle') {
- this.state = 'running';
- this.event('beforeSetup');
- if(this.setup) this.setup();
- this.event('afterSetup');
- }
- if(this.state == 'running') {
- if(this.options.transition) pos = this.options.transition(pos);
- pos *= (this.options.to-this.options.from);
- pos += this.options.from;
- this.position = pos;
- this.event('beforeUpdate');
- if(this.update) this.update(pos);
- this.event('afterUpdate');
- }
- },
- cancel: function() {
- if(!this.options.sync)
- Effect.Queues.get(typeof this.options.queue == 'string' ?
- 'global' : this.options.queue.scope).remove(this);
- this.state = 'finished';
- },
- event: function(eventName) {
- if(this.options[eventName + 'Internal']) this.options[eventName + 'Internal'](this);
- if(this.options[eventName]) this.options[eventName](this);
- },
- inspect: function() {
- return '#<Effect:' + $H(this).inspect() + ',options:' + $H(this.options).inspect() + '>';
- }
-}
-
-Effect.Parallel = Class.create();
-Object.extend(Object.extend(Effect.Parallel.prototype, Effect.Base.prototype), {
- initialize: function(effects) {
- this.effects = effects || [];
- this.start(arguments[1]);
- },
- update: function(position) {
- this.effects.invoke('render', position);
- },
- finish: function(position) {
- this.effects.each( function(effect) {
- effect.render(1.0);
- effect.cancel();
- effect.event('beforeFinish');
- if(effect.finish) effect.finish(position);
- effect.event('afterFinish');
- });
- }
-});
-
-Effect.Opacity = Class.create();
-Object.extend(Object.extend(Effect.Opacity.prototype, Effect.Base.prototype), {
- initialize: function(element) {
- this.element = $(element);
- // make this work on IE on elements without 'layout'
- if(/MSIE/.test(navigator.userAgent) && (!this.element.hasLayout))
- this.element.setStyle({zoom: 1});
- var options = Object.extend({
- from: this.element.getOpacity() || 0.0,
- to: 1.0
- }, arguments[1] || {});
- this.start(options);
- },
- update: function(position) {
- this.element.setOpacity(position);
- }
-});
-
-Effect.Move = Class.create();
-Object.extend(Object.extend(Effect.Move.prototype, Effect.Base.prototype), {
- initialize: function(element) {
- this.element = $(element);
- var options = Object.extend({
- x: 0,
- y: 0,
- mode: 'relative'
- }, arguments[1] || {});
- this.start(options);
- },
- setup: function() {
- // Bug in Opera: Opera returns the "real" position of a static element or
- // relative element that does not have top/left explicitly set.
- // ==> Always set top and left for position relative elements in your stylesheets
- // (to 0 if you do not need them)
- this.element.makePositioned();
- this.originalLeft = parseFloat(this.element.getStyle('left') || '0');
- this.originalTop = parseFloat(this.element.getStyle('top') || '0');
- if(this.options.mode == 'absolute') {
- // absolute movement, so we need to calc deltaX and deltaY
- this.options.x = this.options.x - this.originalLeft;
- this.options.y = this.options.y - this.originalTop;
- }
- },
- update: function(position) {
- this.element.setStyle({
- left: this.options.x * position + this.originalLeft + 'px',
- top: this.options.y * position + this.originalTop + 'px'
- });
- }
-});
-
-// for backwards compatibility
-Effect.MoveBy = function(element, toTop, toLeft) {
- return new Effect.Move(element,
- Object.extend({ x: toLeft, y: toTop }, arguments[3] || {}));
-};
-
-Effect.Scale = Class.create();
-Object.extend(Object.extend(Effect.Scale.prototype, Effect.Base.prototype), {
- initialize: function(element, percent) {
- this.element = $(element)
- var options = Object.extend({
- scaleX: true,
- scaleY: true,
- scaleContent: true,
- scaleFromCenter: false,
- scaleMode: 'box', // 'box' or 'contents' or {} with provided values
- scaleFrom: 100.0,
- scaleTo: percent
- }, arguments[2] || {});
- this.start(options);
- },
- setup: function() {
- this.restoreAfterFinish = this.options.restoreAfterFinish || false;
- this.elementPositioning = this.element.getStyle('position');
-
- this.originalStyle = {};
- ['top','left','width','height','fontSize'].each( function(k) {
- this.originalStyle[k] = this.element.style[k];
- }.bind(this));
-
- this.originalTop = this.element.offsetTop;
- this.originalLeft = this.element.offsetLeft;
-
- var fontSize = this.element.getStyle('font-size') || '100%';
- ['em','px','%'].each( function(fontSizeType) {
- if(fontSize.indexOf(fontSizeType)>0) {
- this.fontSize = parseFloat(fontSize);
- this.fontSizeType = fontSizeType;
- }
- }.bind(this));
-
- this.factor = (this.options.scaleTo - this.options.scaleFrom)/100;
-
- this.dims = null;
- if(this.options.scaleMode=='box')
- this.dims = [this.element.offsetHeight, this.element.offsetWidth];
- if(/^content/.test(this.options.scaleMode))
- this.dims = [this.element.scrollHeight, this.element.scrollWidth];
- if(!this.dims)
- this.dims = [this.options.scaleMode.originalHeight,
- this.options.scaleMode.originalWidth];
- },
- update: function(position) {
- var currentScale = (this.options.scaleFrom/100.0) + (this.factor * position);
- if(this.options.scaleContent && this.fontSize)
- this.element.setStyle({fontSize: this.fontSize * currentScale + this.fontSizeType });
- this.setDimensions(this.dims[0] * currentScale, this.dims[1] * currentScale);
- },
- finish: function(position) {
- if (this.restoreAfterFinish) this.element.setStyle(this.originalStyle);
- },
- setDimensions: function(height, width) {
- var d = {};
- if(this.options.scaleX) d.width = width + 'px';
- if(this.options.scaleY) d.height = height + 'px';
- if(this.options.scaleFromCenter) {
- var topd = (height - this.dims[0])/2;
- var leftd = (width - this.dims[1])/2;
- if(this.elementPositioning == 'absolute') {
- if(this.options.scaleY) d.top = this.originalTop-topd + 'px';
- if(this.options.scaleX) d.left = this.originalLeft-leftd + 'px';
- } else {
- if(this.options.scaleY) d.top = -topd + 'px';
- if(this.options.scaleX) d.left = -leftd + 'px';
- }
- }
- this.element.setStyle(d);
- }
-});
-
-Effect.Highlight = Class.create();
-Object.extend(Object.extend(Effect.Highlight.prototype, Effect.Base.prototype), {
- initialize: function(element) {
- this.element = $(element);
- var options = Object.extend({ startcolor: '#ffff99' }, arguments[1] || {});
- this.start(options);
- },
- setup: function() {
- // Prevent executing on elements not in the layout flow
- if(this.element.getStyle('display')=='none') { this.cancel(); return; }
- // Disable background image during the effect
- this.oldStyle = {
- backgroundImage: this.element.getStyle('background-image') };
- this.element.setStyle({backgroundImage: 'none'});
- if(!this.options.endcolor)
- this.options.endcolor = this.element.getStyle('background-color').parseColor('#ffffff');
- if(!this.options.restorecolor)
- this.options.restorecolor = this.element.getStyle('background-color');
- // init color calculations
- this._base = $R(0,2).map(function(i){ return parseInt(this.options.startcolor.slice(i*2+1,i*2+3),16) }.bind(this));
- this._delta = $R(0,2).map(function(i){ return parseInt(this.options.endcolor.slice(i*2+1,i*2+3),16)-this._base[i] }.bind(this));
- },
- update: function(position) {
- this.element.setStyle({backgroundColor: $R(0,2).inject('#',function(m,v,i){
- return m+(Math.round(this._base[i]+(this._delta[i]*position)).toColorPart()); }.bind(this)) });
- },
- finish: function() {
- this.element.setStyle(Object.extend(this.oldStyle, {
- backgroundColor: this.options.restorecolor
- }));
- }
-});
-
-Effect.ScrollTo = Class.create();
-Object.extend(Object.extend(Effect.ScrollTo.prototype, Effect.Base.prototype), {
- initialize: function(element) {
- this.element = $(element);
- this.start(arguments[1] || {});
- },
- setup: function() {
- Position.prepare();
- var offsets = Position.cumulativeOffset(this.element);
- if(this.options.offset) offsets[1] += this.options.offset;
- var max = window.innerHeight ?
- window.height - window.innerHeight :
- document.body.scrollHeight -
- (document.documentElement.clientHeight ?
- document.documentElement.clientHeight : document.body.clientHeight);
- this.scrollStart = Position.deltaY;
- this.delta = (offsets[1] > max ? max : offsets[1]) - this.scrollStart;
- },
- update: function(position) {
- Position.prepare();
- window.scrollTo(Position.deltaX,
- this.scrollStart + (position*this.delta));
- }
-});
-
-/* ------------- combination effects ------------- */
-
-Effect.Fade = function(element) {
- element = $(element);
- var oldOpacity = element.getInlineOpacity();
- var options = Object.extend({
- from: element.getOpacity() || 1.0,
- to: 0.0,
- afterFinishInternal: function(effect) {
- if(effect.options.to!=0) return;
- effect.element.hide();
- effect.element.setStyle({opacity: oldOpacity});
- }}, arguments[1] || {});
- return new Effect.Opacity(element,options);
-}
-
-Effect.Appear = function(element) {
- element = $(element);
- var options = Object.extend({
- from: (element.getStyle('display') == 'none' ? 0.0 : element.getOpacity() || 0.0),
- to: 1.0,
- // force Safari to render floated elements properly
- afterFinishInternal: function(effect) {
- effect.element.forceRerendering();
- },
- beforeSetup: function(effect) {
- effect.element.setOpacity(effect.options.from);
- effect.element.show();
- }}, arguments[1] || {});
- return new Effect.Opacity(element,options);
-}
-
-Effect.Puff = function(element) {
- element = $(element);
- var oldStyle = { opacity: element.getInlineOpacity(), position: element.getStyle('position') };
- return new Effect.Parallel(
- [ new Effect.Scale(element, 200,
- { sync: true, scaleFromCenter: true, scaleContent: true, restoreAfterFinish: true }),
- new Effect.Opacity(element, { sync: true, to: 0.0 } ) ],
- Object.extend({ duration: 1.0,
- beforeSetupInternal: function(effect) {
- effect.effects[0].element.setStyle({position: 'absolute'}); },
- afterFinishInternal: function(effect) {
- effect.effects[0].element.hide();
- effect.effects[0].element.setStyle(oldStyle); }
- }, arguments[1] || {})
- );
-}
-
-Effect.BlindUp = function(element) {
- element = $(element);
- element.makeClipping();
- return new Effect.Scale(element, 0,
- Object.extend({ scaleContent: false,
- scaleX: false,
- restoreAfterFinish: true,
- afterFinishInternal: function(effect) {
- effect.element.hide();
- effect.element.undoClipping();
- }
- }, arguments[1] || {})
- );
-}
-
-Effect.BlindDown = function(element) {
- element = $(element);
- var elementDimensions = element.getDimensions();
- return new Effect.Scale(element, 100,
- Object.extend({ scaleContent: false,
- scaleX: false,
- scaleFrom: 0,
- scaleMode: {originalHeight: elementDimensions.height, originalWidth: elementDimensions.width},
- restoreAfterFinish: true,
- afterSetup: function(effect) {
- effect.element.makeClipping();
- effect.element.setStyle({height: '0px'});
- effect.element.show();
- },
- afterFinishInternal: function(effect) {
- effect.element.undoClipping();
- }
- }, arguments[1] || {})
- );
-}
-
-Effect.SwitchOff = function(element) {
- element = $(element);
- var oldOpacity = element.getInlineOpacity();
- return new Effect.Appear(element, {
- duration: 0.4,
- from: 0,
- transition: Effect.Transitions.flicker,
- afterFinishInternal: function(effect) {
- new Effect.Scale(effect.element, 1, {
- duration: 0.3, scaleFromCenter: true,
- scaleX: false, scaleContent: false, restoreAfterFinish: true,
- beforeSetup: function(effect) {
- effect.element.makePositioned();
- effect.element.makeClipping();
- },
- afterFinishInternal: function(effect) {
- effect.element.hide();
- effect.element.undoClipping();
- effect.element.undoPositioned();
- effect.element.setStyle({opacity: oldOpacity});
- }
- })
- }
- });
-}
-
-Effect.DropOut = function(element) {
- element = $(element);
- var oldStyle = {
- top: element.getStyle('top'),
- left: element.getStyle('left'),
- opacity: element.getInlineOpacity() };
- return new Effect.Parallel(
- [ new Effect.Move(element, {x: 0, y: 100, sync: true }),
- new Effect.Opacity(element, { sync: true, to: 0.0 }) ],
- Object.extend(
- { duration: 0.5,
- beforeSetup: function(effect) {
- effect.effects[0].element.makePositioned();
- },
- afterFinishInternal: function(effect) {
- effect.effects[0].element.hide();
- effect.effects[0].element.undoPositioned();
- effect.effects[0].element.setStyle(oldStyle);
- }
- }, arguments[1] || {}));
-}
-
-Effect.Shake = function(element) {
- element = $(element);
- var oldStyle = {
- top: element.getStyle('top'),
- left: element.getStyle('left') };
- return new Effect.Move(element,
- { x: 20, y: 0, duration: 0.05, afterFinishInternal: function(effect) {
- new Effect.Move(effect.element,
- { x: -40, y: 0, duration: 0.1, afterFinishInternal: function(effect) {
- new Effect.Move(effect.element,
- { x: 40, y: 0, duration: 0.1, afterFinishInternal: function(effect) {
- new Effect.Move(effect.element,
- { x: -40, y: 0, duration: 0.1, afterFinishInternal: function(effect) {
- new Effect.Move(effect.element,
- { x: 40, y: 0, duration: 0.1, afterFinishInternal: function(effect) {
- new Effect.Move(effect.element,
- { x: -20, y: 0, duration: 0.05, afterFinishInternal: function(effect) {
- effect.element.undoPositioned();
- effect.element.setStyle(oldStyle);
- }}) }}) }}) }}) }}) }});
-}
-
-Effect.SlideDown = function(element) {
- element = $(element);
- element.cleanWhitespace();
- // SlideDown need to have the content of the element wrapped in a container element with fixed height!
- var oldInnerBottom = $(element.firstChild).getStyle('bottom');
- var elementDimensions = element.getDimensions();
- return new Effect.Scale(element, 100, Object.extend({
- scaleContent: false,
- scaleX: false,
- scaleFrom: window.opera ? 0 : 1,
- scaleMode: {originalHeight: elementDimensions.height, originalWidth: elementDimensions.width},
- restoreAfterFinish: true,
- afterSetup: function(effect) {
- effect.element.makePositioned();
- effect.element.firstChild.makePositioned();
- if(window.opera) effect.element.setStyle({top: ''});
- effect.element.makeClipping();
- effect.element.setStyle({height: '0px'});
- effect.element.show(); },
- afterUpdateInternal: function(effect) {
- effect.element.firstChild.setStyle({bottom:
- (effect.dims[0] - effect.element.clientHeight) + 'px' });
- },
- afterFinishInternal: function(effect) {
- effect.element.undoClipping();
- // IE will crash if child is undoPositioned first
- if(/MSIE/.test(navigator.userAgent)){
- effect.element.undoPositioned();
- effect.element.firstChild.undoPositioned();
- }else{
- effect.element.firstChild.undoPositioned();
- effect.element.undoPositioned();
- }
- effect.element.firstChild.setStyle({bottom: oldInnerBottom}); }
- }, arguments[1] || {})
- );
-}
-
-Effect.SlideUp = function(element) {
- element = $(element);
- element.cleanWhitespace();
- var oldInnerBottom = $(element.firstChild).getStyle('bottom');
- return new Effect.Scale(element, window.opera ? 0 : 1,
- Object.extend({ scaleContent: false,
- scaleX: false,
- scaleMode: 'box',
- scaleFrom: 100,
- restoreAfterFinish: true,
- beforeStartInternal: function(effect) {
- effect.element.makePositioned();
- effect.element.firstChild.makePositioned();
- if(window.opera) effect.element.setStyle({top: ''});
- effect.element.makeClipping();
- effect.element.show(); },
- afterUpdateInternal: function(effect) {
- effect.element.firstChild.setStyle({bottom:
- (effect.dims[0] - effect.element.clientHeight) + 'px' }); },
- afterFinishInternal: function(effect) {
- effect.element.hide();
- effect.element.undoClipping();
- effect.element.firstChild.undoPositioned();
- effect.element.undoPositioned();
- effect.element.setStyle({bottom: oldInnerBottom}); }
- }, arguments[1] || {})
- );
-}
-
-// Bug in opera makes the TD containing this element expand for a instance after finish
-Effect.Squish = function(element) {
- return new Effect.Scale(element, window.opera ? 1 : 0,
- { restoreAfterFinish: true,
- beforeSetup: function(effect) {
- effect.element.makeClipping(effect.element); },
- afterFinishInternal: function(effect) {
- effect.element.hide(effect.element);
- effect.element.undoClipping(effect.element); }
- });
-}
-
-Effect.Grow = function(element) {
- element = $(element);
- var options = Object.extend({
- direction: 'center',
- moveTransition: Effect.Transitions.sinoidal,
- scaleTransition: Effect.Transitions.sinoidal,
- opacityTransition: Effect.Transitions.full
- }, arguments[1] || {});
- var oldStyle = {
- top: element.style.top,
- left: element.style.left,
- height: element.style.height,
- width: element.style.width,
- opacity: element.getInlineOpacity() };
-
- var dims = element.getDimensions();
- var initialMoveX, initialMoveY;
- var moveX, moveY;
-
- switch (options.direction) {
- case 'top-left':
- initialMoveX = initialMoveY = moveX = moveY = 0;
- break;
- case 'top-right':
- initialMoveX = dims.width;
- initialMoveY = moveY = 0;
- moveX = -dims.width;
- break;
- case 'bottom-left':
- initialMoveX = moveX = 0;
- initialMoveY = dims.height;
- moveY = -dims.height;
- break;
- case 'bottom-right':
- initialMoveX = dims.width;
- initialMoveY = dims.height;
- moveX = -dims.width;
- moveY = -dims.height;
- break;
- case 'center':
- initialMoveX = dims.width / 2;
- initialMoveY = dims.height / 2;
- moveX = -dims.width / 2;
- moveY = -dims.height / 2;
- break;
- }
-
- return new Effect.Move(element, {
- x: initialMoveX,
- y: initialMoveY,
- duration: 0.01,
- beforeSetup: function(effect) {
- effect.element.hide();
- effect.element.makeClipping();
- effect.element.makePositioned();
- },
- afterFinishInternal: function(effect) {
- new Effect.Parallel(
- [ new Effect.Opacity(effect.element, { sync: true, to: 1.0, from: 0.0, transition: options.opacityTransition }),
- new Effect.Move(effect.element, { x: moveX, y: moveY, sync: true, transition: options.moveTransition }),
- new Effect.Scale(effect.element, 100, {
- scaleMode: { originalHeight: dims.height, originalWidth: dims.width },
- sync: true, scaleFrom: window.opera ? 1 : 0, transition: options.scaleTransition, restoreAfterFinish: true})
- ], Object.extend({
- beforeSetup: function(effect) {
- effect.effects[0].element.setStyle({height: '0px'});
- effect.effects[0].element.show();
- },
- afterFinishInternal: function(effect) {
- effect.effects[0].element.undoClipping();
- effect.effects[0].element.undoPositioned();
- effect.effects[0].element.setStyle(oldStyle);
- }
- }, options)
- )
- }
- });
-}
-
-Effect.Shrink = function(element) {
- element = $(element);
- var options = Object.extend({
- direction: 'center',
- moveTransition: Effect.Transitions.sinoidal,
- scaleTransition: Effect.Transitions.sinoidal,
- opacityTransition: Effect.Transitions.none
- }, arguments[1] || {});
- var oldStyle = {
- top: element.style.top,
- left: element.style.left,
- height: element.style.height,
- width: element.style.width,
- opacity: element.getInlineOpacity() };
-
- var dims = element.getDimensions();
- var moveX, moveY;
-
- switch (options.direction) {
- case 'top-left':
- moveX = moveY = 0;
- break;
- case 'top-right':
- moveX = dims.width;
- moveY = 0;
- break;
- case 'bottom-left':
- moveX = 0;
- moveY = dims.height;
- break;
- case 'bottom-right':
- moveX = dims.width;
- moveY = dims.height;
- break;
- case 'center':
- moveX = dims.width / 2;
- moveY = dims.height / 2;
- break;
- }
-
- return new Effect.Parallel(
- [ new Effect.Opacity(element, { sync: true, to: 0.0, from: 1.0, transition: options.opacityTransition }),
- new Effect.Scale(element, window.opera ? 1 : 0, { sync: true, transition: options.scaleTransition, restoreAfterFinish: true}),
- new Effect.Move(element, { x: moveX, y: moveY, sync: true, transition: options.moveTransition })
- ], Object.extend({
- beforeStartInternal: function(effect) {
- effect.effects[0].element.makePositioned();
- effect.effects[0].element.makeClipping(); },
- afterFinishInternal: function(effect) {
- effect.effects[0].element.hide();
- effect.effects[0].element.undoClipping();
- effect.effects[0].element.undoPositioned();
- effect.effects[0].element.setStyle(oldStyle); }
- }, options)
- );
-}
-
-Effect.Pulsate = function(element) {
- element = $(element);
- var options = arguments[1] || {};
- var oldOpacity = element.getInlineOpacity();
- var transition = options.transition || Effect.Transitions.sinoidal;
- var reverser = function(pos){ return transition(1-Effect.Transitions.pulse(pos)) };
- reverser.bind(transition);
- return new Effect.Opacity(element,
- Object.extend(Object.extend({ duration: 3.0, from: 0,
- afterFinishInternal: function(effect) { effect.element.setStyle({opacity: oldOpacity}); }
- }, options), {transition: reverser}));
-}
-
-Effect.Fold = function(element) {
- element = $(element);
- var oldStyle = {
- top: element.style.top,
- left: element.style.left,
- width: element.style.width,
- height: element.style.height };
- Element.makeClipping(element);
- return new Effect.Scale(element, 5, Object.extend({
- scaleContent: false,
- scaleX: false,
- afterFinishInternal: function(effect) {
- new Effect.Scale(element, 1, {
- scaleContent: false,
- scaleY: false,
- afterFinishInternal: function(effect) {
- effect.element.hide();
- effect.element.undoClipping();
- effect.element.setStyle(oldStyle);
- } });
- }}, arguments[1] || {}));
-};
-
-['setOpacity','getOpacity','getInlineOpacity','forceRerendering','setContentZoom',
- 'collectTextNodes','collectTextNodesIgnoreClass','childrenWithClassName'].each(
- function(f) { Element.Methods[f] = Element[f]; }
-);
-
-Element.Methods.visualEffect = function(element, effect, options) {
- s = effect.gsub(/_/, '-').camelize();
- effect_class = s.charAt(0).toUpperCase() + s.substring(1);
- new Effect[effect_class](element, options);
- return $(element);
-};
-
-Element.addMethods(); \ No newline at end of file
diff --git a/wp-inst/wp-includes/js/scriptaculous/prototype.js b/wp-inst/wp-includes/js/scriptaculous/prototype.js
deleted file mode 100644
index 0caf9cd..0000000
--- a/wp-inst/wp-includes/js/scriptaculous/prototype.js
+++ /dev/null
@@ -1,2006 +0,0 @@
-/* Prototype JavaScript framework, version 1.5.0_rc0
- * (c) 2005 Sam Stephenson <sam@conio.net>
- *
- * Prototype is freely distributable under the terms of an MIT-style license.
- * For details, see the Prototype web site: http://prototype.conio.net/
- *
-/*--------------------------------------------------------------------------*/
-
-var Prototype = {
- Version: '1.5.0_rc0',
- ScriptFragment: '(?:<script.*?>)((\n|\r|.)*?)(?:<\/script>)',
-
- emptyFunction: function() {},
- K: function(x) {return x}
-}
-
-var Class = {
- create: function() {
- return function() {
- this.initialize.apply(this, arguments);
- }
- }
-}
-
-var Abstract = new Object();
-
-Object.extend = function(destination, source) {
- for (var property in source) {
- destination[property] = source[property];
- }
- return destination;
-}
-
-Object.inspect = function(object) {
- try {
- if (object == undefined) return 'undefined';
- if (object == null) return 'null';
- return object.inspect ? object.inspect() : object.toString();
- } catch (e) {
- if (e instanceof RangeError) return '...';
- throw e;
- }
-}
-
-Function.prototype.bind = function() {
- var __method = this, args = $A(arguments), object = args.shift();
- return function() {
- return __method.apply(object, args.concat($A(arguments)));
- }
-}
-
-Function.prototype.bindAsEventListener = function(object) {
- var __method = this;
- return function(event) {
- return __method.call(object, event || window.event);
- }
-}
-
-Object.extend(Number.prototype, {
- toColorPart: function() {
- var digits = this.toString(16);
- if (this < 16) return '0' + digits;
- return digits;
- },
-
- succ: function() {
- return this + 1;
- },
-
- times: function(iterator) {
- $R(0, this, true).each(iterator);
- return this;
- }
-});
-
-var Try = {
- these: function() {
- var returnValue;
-
- for (var i = 0; i < arguments.length; i++) {
- var lambda = arguments[i];
- try {
- returnValue = lambda();
- break;
- } catch (e) {}
- }
-
- return returnValue;
- }
-}
-
-/*--------------------------------------------------------------------------*/
-
-var PeriodicalExecuter = Class.create();
-PeriodicalExecuter.prototype = {
- initialize: function(callback, frequency) {
- this.callback = callback;
- this.frequency = frequency;
- this.currentlyExecuting = false;
-
- this.registerCallback();
- },
-
- registerCallback: function() {
- setInterval(this.onTimerEvent.bind(this), this.frequency * 1000);
- },
-
- onTimerEvent: function() {
- if (!this.currentlyExecuting) {
- try {
- this.currentlyExecuting = true;
- this.callback();
- } finally {
- this.currentlyExecuting = false;
- }
- }
- }
-}
-Object.extend(String.prototype, {
- gsub: function(pattern, replacement) {
- var result = '', source = this, match;
- replacement = arguments.callee.prepareReplacement(replacement);
-
- while (source.length > 0) {
- if (match = source.match(pattern)) {
- result += source.slice(0, match.index);
- result += (replacement(match) || '').toString();
- source = source.slice(match.index + match[0].length);
- } else {
- result += source, source = '';
- }
- }
- return result;
- },
-
- sub: function(pattern, replacement, count) {
- replacement = this.gsub.prepareReplacement(replacement);
- count = count === undefined ? 1 : count;
-
- return this.gsub(pattern, function(match) {
- if (--count < 0) return match[0];
- return replacement(match);
- });
- },
-
- scan: function(pattern, iterator) {
- this.gsub(pattern, iterator);
- return this;
- },
-
- truncate: function(length, truncation) {
- length = length || 30;
- truncation = truncation === undefined ? '...' : truncation;
- return this.length > length ?
- this.slice(0, length - truncation.length) + truncation : this;
- },
-
- strip: function() {
- return this.replace(/^\s+/, '').replace(/\s+$/, '');
- },
-
- stripTags: function() {
- return this.replace(/<\/?[^>]+>/gi, '');
- },
-
- stripScripts: function() {
- return this.replace(new RegExp(Prototype.ScriptFragment, 'img'), '');
- },
-
- extractScripts: function() {
- var matchAll = new RegExp(Prototype.ScriptFragment, 'img');
- var matchOne = new RegExp(Prototype.ScriptFragment, 'im');
- return (this.match(matchAll) || []).map(function(scriptTag) {
- return (scriptTag.match(matchOne) || ['', ''])[1];
- });
- },
-
- evalScripts: function() {
- return this.extractScripts().map(function(script) { return eval(script) });
- },
-
- escapeHTML: function() {
- var div = document.createElement('div');
- var text = document.createTextNode(this);
- div.appendChild(text);
- return div.innerHTML;
- },
-
- unescapeHTML: function() {
- var div = document.createElement('div');
- div.innerHTML = this.stripTags();
- return div.childNodes[0] ? div.childNodes[0].nodeValue : '';
- },
-
- toQueryParams: function() {
- var pairs = this.match(/^\??(.*)$/)[1].split('&');
- return pairs.inject({}, function(params, pairString) {
- var pair = pairString.split('=');
- params[pair[0]] = pair[1];
- return params;
- });
- },
-
- toArray: function() {
- return this.split('');
- },
-
- camelize: function() {
- var oStringList = this.split('-');
- if (oStringList.length == 1) return oStringList[0];
-
- var camelizedString = this.indexOf('-') == 0
- ? oStringList[0].charAt(0).toUpperCase() + oStringList[0].substring(1)
- : oStringList[0];
-
- for (var i = 1, len = oStringList.length; i < len; i++) {
- var s = oStringList[i];
- camelizedString += s.charAt(0).toUpperCase() + s.substring(1);
- }
-
- return camelizedString;
- },
-
- inspect: function() {
- return "'" + this.replace(/\\/g, '\\\\').replace(/'/g, '\\\'') + "'";
- }
-});
-
-String.prototype.gsub.prepareReplacement = function(replacement) {
- if (typeof replacement == 'function') return replacement;
- var template = new Template(replacement);
- return function(match) { return template.evaluate(match) };
-}
-
-String.prototype.parseQuery = String.prototype.toQueryParams;
-
-var Template = Class.create();
-Template.Pattern = /(^|.|\r|\n)(#\{(.*?)\})/;
-Template.prototype = {
- initialize: function(template, pattern) {
- this.template = template.toString();
- this.pattern = pattern || Template.Pattern;
- },
-
- evaluate: function(object) {
- return this.template.gsub(this.pattern, function(match) {
- var before = match[1];
- if (before == '\\') return match[2];
- return before + (object[match[3]] || '').toString();
- });
- }
-}
-
-var $break = new Object();
-var $continue = new Object();
-
-var Enumerable = {
- each: function(iterator) {
- var index = 0;
- try {
- this._each(function(value) {
- try {
- iterator(value, index++);
- } catch (e) {
- if (e != $continue) throw e;
- }
- });
- } catch (e) {
- if (e != $break) throw e;
- }
- },
-
- all: function(iterator) {
- var result = true;
- this.each(function(value, index) {
- result = result && !!(iterator || Prototype.K)(value, index);
- if (!result) throw $break;
- });
- return result;
- },
-
- any: function(iterator) {
- var result = true;
- this.each(function(value, index) {
- if (result = !!(iterator || Prototype.K)(value, index))
- throw $break;
- });
- return result;
- },
-
- collect: function(iterator) {
- var results = [];
- this.each(function(value, index) {
- results.push(iterator(value, index));
- });
- return results;
- },
-
- detect: function (iterator) {
- var result;
- this.each(function(value, index) {
- if (iterator(value, index)) {
- result = value;
- throw $break;
- }
- });
- return result;
- },
-
- findAll: function(iterator) {
- var results = [];
- this.each(function(value, index) {
- if (iterator(value, index))
- results.push(value);
- });
- return results;
- },
-
- grep: function(pattern, iterator) {
- var results = [];
- this.each(function(value, index) {
- var stringValue = value.toString();
- if (stringValue.match(pattern))
- results.push((iterator || Prototype.K)(value, index));
- })
- return results;
- },
-
- include: function(object) {
- var found = false;
- this.each(function(value) {
- if (value == object) {
- found = true;
- throw $break;
- }
- });
- return found;
- },
-
- inject: function(memo, iterator) {
- this.each(function(value, index) {
- memo = iterator(memo, value, index);
- });
- return memo;
- },
-
- invoke: function(method) {
- var args = $A(arguments).slice(1);
- return this.collect(function(value) {
- return value[method].apply(value, args);
- });
- },
-
- max: function(iterator) {
- var result;
- this.each(function(value, index) {
- value = (iterator || Prototype.K)(value, index);
- if (result == undefined || value >= result)
- result = value;
- });
- return result;
- },
-
- min: function(iterator) {
- var result;
- this.each(function(value, index) {
- value = (iterator || Prototype.K)(value, index);
- if (result == undefined || value < result)
- result = value;
- });
- return result;
- },
-
- partition: function(iterator) {
- var trues = [], falses = [];
- this.each(function(value, index) {
- ((iterator || Prototype.K)(value, index) ?
- trues : falses).push(value);
- });
- return [trues, falses];
- },
-
- pluck: function(property) {
- var results = [];
- this.each(function(value, index) {
- results.push(value[property]);
- });
- return results;
- },
-
- reject: function(iterator) {
- var results = [];
- this.each(function(value, index) {
- if (!iterator(value, index))
- results.push(value);
- });
- return results;
- },
-
- sortBy: function(iterator) {
- return this.collect(function(value, index) {
- return {value: value, criteria: iterator(value, index)};
- }).sort(function(left, right) {
- var a = left.criteria, b = right.criteria;
- return a < b ? -1 : a > b ? 1 : 0;
- }).pluck('value');
- },
-
- toArray: function() {
- return this.collect(Prototype.K);
- },
-
- zip: function() {
- var iterator = Prototype.K, args = $A(arguments);
- if (typeof args.last() == 'function')
- iterator = args.pop();
-
- var collections = [this].concat(args).map($A);
- return this.map(function(value, index) {
- return iterator(collections.pluck(index));
- });
- },
-
- inspect: function() {
- return '#<Enumerable:' + this.toArray().inspect() + '>';
- }
-}
-
-Object.extend(Enumerable, {
- map: Enumerable.collect,
- find: Enumerable.detect,
- select: Enumerable.findAll,
- member: Enumerable.include,
- entries: Enumerable.toArray
-});
-var $A = Array.from = function(iterable) {
- if (!iterable) return [];
- if (iterable.toArray) {
- return iterable.toArray();
- } else {
- var results = [];
- for (var i = 0; i < iterable.length; i++)
- results.push(iterable[i]);
- return results;
- }
-}
-
-Object.extend(Array.prototype, Enumerable);
-
-if (!Array.prototype._reverse)
- Array.prototype._reverse = Array.prototype.reverse;
-
-Object.extend(Array.prototype, {
- _each: function(iterator) {
- for (var i = 0; i < this.length; i++)
- iterator(this[i]);
- },
-
- clear: function() {
- this.length = 0;
- return this;
- },
-
- first: function() {
- return this[0];
- },
-
- last: function() {
- return this[this.length - 1];
- },
-
- compact: function() {
- return this.select(function(value) {
- return value != undefined || value != null;
- });
- },
-
- flatten: function() {
- return this.inject([], function(array, value) {
- return array.concat(value && value.constructor == Array ?
- value.flatten() : [value]);
- });
- },
-
- without: function() {
- var values = $A(arguments);
- return this.select(function(value) {
- return !values.include(value);
- });
- },
-
- indexOf: function(object) {
- for (var i = 0; i < this.length; i++)
- if (this[i] == object) return i;
- return -1;
- },
-
- reverse: function(inline) {
- return (inline !== false ? this : this.toArray())._reverse();
- },
-
- inspect: function() {
- return '[' + this.map(Object.inspect).join(', ') + ']';
- }
-});
-var Hash = {
- _each: function(iterator) {
- for (var key in this) {
- var value = this[key];
- if (typeof value == 'function') continue;
-
- var pair = [key, value];
- pair.key = key;
- pair.value = value;
- iterator(pair);
- }
- },
-
- keys: function() {
- return this.pluck('key');
- },
-
- values: function() {
- return this.pluck('value');
- },
-
- merge: function(hash) {
- return $H(hash).inject($H(this), function(mergedHash, pair) {
- mergedHash[pair.key] = pair.value;
- return mergedHash;
- });
- },
-
- toQueryString: function() {
- return this.map(function(pair) {
- return pair.map(encodeURIComponent).join('=');
- }).join('&');
- },
-
- inspect: function() {
- return '#<Hash:{' + this.map(function(pair) {
- return pair.map(Object.inspect).join(': ');
- }).join(', ') + '}>';
- }
-}
-
-function $H(object) {
- var hash = Object.extend({}, object || {});
- Object.extend(hash, Enumerable);
- Object.extend(hash, Hash);
- return hash;
-}
-ObjectRange = Class.create();
-Object.extend(ObjectRange.prototype, Enumerable);
-Object.extend(ObjectRange.prototype, {
- initialize: function(start, end, exclusive) {
- this.start = start;
- this.end = end;
- this.exclusive = exclusive;
- },
-
- _each: function(iterator) {
- var value = this.start;
- do {
- iterator(value);
- value = value.succ();
- } while (this.include(value));
- },
-
- include: function(value) {
- if (value < this.start)
- return false;
- if (this.exclusive)
- return value < this.end;
- return value <= this.end;
- }
-});
-
-var $R = function(start, end, exclusive) {
- return new ObjectRange(start, end, exclusive);
-}
-
-var Ajax = {
- getTransport: function() {
- return Try.these(
- function() {return new XMLHttpRequest()},
- function() {return new ActiveXObject('Msxml2.XMLHTTP')},
- function() {return new ActiveXObject('Microsoft.XMLHTTP')}
- ) || false;
- },
-
- activeRequestCount: 0
-}
-
-Ajax.Responders = {
- responders: [],
-
- _each: function(iterator) {
- this.responders._each(iterator);
- },
-
- register: function(responderToAdd) {
- if (!this.include(responderToAdd))
- this.responders.push(responderToAdd);
- },
-
- unregister: function(responderToRemove) {
- this.responders = this.responders.without(responderToRemove);
- },
-
- dispatch: function(callback, request, transport, json) {
- this.each(function(responder) {
- if (responder[callback] && typeof responder[callback] == 'function') {
- try {
- responder[callback].apply(responder, [request, transport, json]);
- } catch (e) {}
- }
- });
- }
-};
-
-Object.extend(Ajax.Responders, Enumerable);
-
-Ajax.Responders.register({
- onCreate: function() {
- Ajax.activeRequestCount++;
- },
-
- onComplete: function() {
- Ajax.activeRequestCount--;
- }
-});
-
-Ajax.Base = function() {};
-Ajax.Base.prototype = {
- setOptions: function(options) {
- this.options = {
- method: 'post',
- asynchronous: true,
- contentType: 'application/x-www-form-urlencoded',
- parameters: ''
- }
- Object.extend(this.options, options || {});
- },
-
- responseIsSuccess: function() {
- return this.transport.status == undefined
- || this.transport.status == 0
- || (this.transport.status >= 200 && this.transport.status < 300);
- },
-
- responseIsFailure: function() {
- return !this.responseIsSuccess();
- }
-}
-
-Ajax.Request = Class.create();
-Ajax.Request.Events =
- ['Uninitialized', 'Loading', 'Loaded', 'Interactive', 'Complete'];
-
-Ajax.Request.prototype = Object.extend(new Ajax.Base(), {
- initialize: function(url, options) {
- this.transport = Ajax.getTransport();
- this.setOptions(options);
- this.request(url);
- },
-
- request: function(url) {
- var parameters = this.options.parameters || '';
- if (parameters.length > 0) parameters += '&_=';
-
- try {
- this.url = url;
- if (this.options.method == 'get' && parameters.length > 0)
- this.url += (this.url.match(/\?/) ? '&' : '?') + parameters;
-
- Ajax.Responders.dispatch('onCreate', this, this.transport);
-
- this.transport.open(this.options.method, this.url,
- this.options.asynchronous);
-
- if (this.options.asynchronous) {
- this.transport.onreadystatechange = this.onStateChange.bind(this);
- setTimeout((function() {this.respondToReadyState(1)}).bind(this), 10);
- }
-
- this.setRequestHeaders();
-
- var body = this.options.postBody ? this.options.postBody : parameters;
- this.transport.send(this.options.method == 'post' ? body : null);
-
- } catch (e) {
- this.dispatchException(e);
- }
- },
-
- setRequestHeaders: function() {
- var requestHeaders =
- ['X-Requested-With', 'XMLHttpRequest',
- 'X-Prototype-Version', Prototype.Version,
- 'Accept', 'text/javascript, text/html, application/xml, text/xml, */*'];
-
- if (this.options.method == 'post') {
- requestHeaders.push('Content-type', this.options.contentType);
-
- /* Force "Connection: close" for Mozilla browsers to work around
- * a bug where XMLHttpReqeuest sends an incorrect Content-length
- * header. See Mozilla Bugzilla #246651.
- */
- if (this.transport.overrideMimeType)
- requestHeaders.push('Connection', 'close');
- }
-
- if (this.options.requestHeaders)
- requestHeaders.push.apply(requestHeaders, this.options.requestHeaders);
-
- for (var i = 0; i < requestHeaders.length; i += 2)
- this.transport.setRequestHeader(requestHeaders[i], requestHeaders[i+1]);
- },
-
- onStateChange: function() {
- var readyState = this.transport.readyState;
- if (readyState != 1)
- this.respondToReadyState(this.transport.readyState);
- },
-
- header: function(name) {
- try {
- return this.transport.getResponseHeader(name);
- } catch (e) {}
- },
-
- evalJSON: function() {
- try {
- return eval('(' + this.header('X-JSON') + ')');
- } catch (e) {}
- },
-
- evalResponse: function() {
- try {
- return eval(this.transport.responseText);
- } catch (e) {
- this.dispatchException(e);
- }
- },
-
- respondToReadyState: function(readyState) {
- var event = Ajax.Request.Events[readyState];
- var transport = this.transport, json = this.evalJSON();
-
- if (event == 'Complete') {
- try {
- (this.options['on' + this.transport.status]
- || this.options['on' + (this.responseIsSuccess() ? 'Success' : 'Failure')]
- || Prototype.emptyFunction)(transport, json);
- } catch (e) {
- this.dispatchException(e);
- }
-
- if ((this.header('Content-type') || '').match(/^text\/javascript/i))
- this.evalResponse();
- }
-
- try {
- (this.options['on' + event] || Prototype.emptyFunction)(transport, json);
- Ajax.Responders.dispatch('on' + event, this, transport, json);
- } catch (e) {
- this.dispatchException(e);
- }
-
- /* Avoid memory leak in MSIE: clean up the oncomplete event handler */
- if (event == 'Complete')
- this.transport.onreadystatechange = Prototype.emptyFunction;
- },
-
- dispatchException: function(exception) {
- (this.options.onException || Prototype.emptyFunction)(this, exception);
- Ajax.Responders.dispatch('onException', this, exception);
- }
-});
-
-Ajax.Updater = Class.create();
-
-Object.extend(Object.extend(Ajax.Updater.prototype, Ajax.Request.prototype), {
- initialize: function(container, url, options) {
- this.containers = {
- success: container.success ? $(container.success) : $(container),
- failure: container.failure ? $(container.failure) :
- (container.success ? null : $(container))
- }
-
- this.transport = Ajax.getTransport();
- this.setOptions(options);
-
- var onComplete = this.options.onComplete || Prototype.emptyFunction;
- this.options.onComplete = (function(transport, object) {
- this.updateContent();
- onComplete(transport, object);
- }).bind(this);
-
- this.request(url);
- },
-
- updateContent: function() {
- var receiver = this.responseIsSuccess() ?
- this.containers.success : this.containers.failure;
- var response = this.transport.responseText;
-
- if (!this.options.evalScripts)
- response = response.stripScripts();
-
- if (receiver) {
- if (this.options.insertion) {
- new this.options.insertion(receiver, response);
- } else {
- Element.update(receiver, response);
- }
- }
-
- if (this.responseIsSuccess()) {
- if (this.onComplete)
- setTimeout(this.onComplete.bind(this), 10);
- }
- }
-});
-
-Ajax.PeriodicalUpdater = Class.create();
-Ajax.PeriodicalUpdater.prototype = Object.extend(new Ajax.Base(), {
- initialize: function(container, url, options) {
- this.setOptions(options);
- this.onComplete = this.options.onComplete;
-
- this.frequency = (this.options.frequency || 2);
- this.decay = (this.options.decay || 1);
-
- this.updater = {};
- this.container = container;
- this.url = url;
-
- this.start();
- },
-
- start: function() {
- this.options.onComplete = this.updateComplete.bind(this);
- this.onTimerEvent();
- },
-
- stop: function() {
- this.updater.onComplete = undefined;
- clearTimeout(this.timer);
- (this.onComplete || Prototype.emptyFunction).apply(this, arguments);
- },
-
- updateComplete: function(request) {
- if (this.options.decay) {
- this.decay = (request.responseText == this.lastText ?
- this.decay * this.options.decay : 1);
-
- this.lastText = request.responseText;
- }
- this.timer = setTimeout(this.onTimerEvent.bind(this),
- this.decay * this.frequency * 1000);
- },
-
- onTimerEvent: function() {
- this.updater = new Ajax.Updater(this.container, this.url, this.options);
- }
-});
-function $() {
- var results = [], element;
- for (var i = 0; i < arguments.length; i++) {
- element = arguments[i];
- if (typeof element == 'string')
- element = document.getElementById(element);
- results.push(Element.extend(element));
- }
- return results.length < 2 ? results[0] : results;
-}
-
-document.getElementsByClassName = function(className, parentElement) {
- var children = ($(parentElement) || document.body).getElementsByTagName('*');
- return $A(children).inject([], function(elements, child) {
- if (child.className.match(new RegExp("(^|\\s)" + className + "(\\s|$)")))
- elements.push(Element.extend(child));
- return elements;
- });
-}
-
-/*--------------------------------------------------------------------------*/
-
-if (!window.Element)
- var Element = new Object();
-
-Element.extend = function(element) {
- if (!element) return;
- if (_nativeExtensions) return element;
-
- if (!element._extended && element.tagName && element != window) {
- var methods = Element.Methods, cache = Element.extend.cache;
- for (property in methods) {
- var value = methods[property];
- if (typeof value == 'function')
- element[property] = cache.findOrStore(value);
- }
- }
-
- element._extended = true;
- return element;
-}
-
-Element.extend.cache = {
- findOrStore: function(value) {
- return this[value] = this[value] || function() {
- return value.apply(null, [this].concat($A(arguments)));
- }
- }
-}
-
-Element.Methods = {
- visible: function(element) {
- return $(element).style.display != 'none';
- },
-
- toggle: function() {
- for (var i = 0; i < arguments.length; i++) {
- var element = $(arguments[i]);
- Element[Element.visible(element) ? 'hide' : 'show'](element);
- }
- },
-
- hide: function() {
- for (var i = 0; i < arguments.length; i++) {
- var element = $(arguments[i]);
- element.style.display = 'none';
- }
- },
-
- show: function() {
- for (var i = 0; i < arguments.length; i++) {
- var element = $(arguments[i]);
- element.style.display = '';
- }
- },
-
- remove: function(element) {
- element = $(element);
- element.parentNode.removeChild(element);
- },
-
- update: function(element, html) {
- $(element).innerHTML = html.stripScripts();
- setTimeout(function() {html.evalScripts()}, 10);
- },
-
- replace: function(element, html) {
- element = $(element);
- if (element.outerHTML) {
- element.outerHTML = html.stripScripts();
- } else {
- var range = element.ownerDocument.createRange();
- range.selectNodeContents(element);
- element.parentNode.replaceChild(
- range.createContextualFragment(html.stripScripts()), element);
- }
- setTimeout(function() {html.evalScripts()}, 10);
- },
-
- getHeight: function(element) {
- element = $(element);
- return element.offsetHeight;
- },
-
- classNames: function(element) {
- return new Element.ClassNames(element);
- },
-
- hasClassName: function(element, className) {
- if (!(element = $(element))) return;
- return Element.classNames(element).include(className);
- },
-
- addClassName: function(element, className) {
- if (!(element = $(element))) return;
- return Element.classNames(element).add(className);
- },
-
- removeClassName: function(element, className) {
- if (!(element = $(element))) return;
- return Element.classNames(element).remove(className);
- },
-
- // removes whitespace-only text node children
- cleanWhitespace: function(element) {
- element = $(element);
- for (var i = 0; i < element.childNodes.length; i++) {
- var node = element.childNodes[i];
- if (node.nodeType == 3 && !/\S/.test(node.nodeValue))
- Element.remove(node);
- }
- },
-
- empty: function(element) {
- return $(element).innerHTML.match(/^\s*$/);
- },
-
- childOf: function(element, ancestor) {
- element = $(element), ancestor = $(ancestor);
- while (element = element.parentNode)
- if (element == ancestor) return true;
- return false;
- },
-
- scrollTo: function(element) {
- element = $(element);
- var x = element.x ? element.x : element.offsetLeft,
- y = element.y ? element.y : element.offsetTop;
- window.scrollTo(x, y);
- },
-
- getStyle: function(element, style) {
- element = $(element);
- var value = element.style[style.camelize()];
- if (!value) {
- if (document.defaultView && document.defaultView.getComputedStyle) {
- var css = document.defaultView.getComputedStyle(element, null);
- value = css ? css.getPropertyValue(style) : null;
- } else if (element.currentStyle) {
- value = element.currentStyle[style.camelize()];
- }
- }
-
- if (window.opera && ['left', 'top', 'right', 'bottom'].include(style))
- if (Element.getStyle(element, 'position') == 'static') value = 'auto';
-
- return value == 'auto' ? null : value;
- },
-
- setStyle: function(element, style) {
- element = $(element);
- for (var name in style)
- element.style[name.camelize()] = style[name];
- },
-
- getDimensions: function(element) {
- element = $(element);
- if (Element.getStyle(element, 'display') != 'none')
- return {width: element.offsetWidth, height: element.offsetHeight};
-
- // All *Width and *Height properties give 0 on elements with display none,
- // so enable the element temporarily
- var els = element.style;
- var originalVisibility = els.visibility;
- var originalPosition = els.position;
- els.visibility = 'hidden';
- els.position = 'absolute';
- els.display = '';
- var originalWidth = element.clientWidth;
- var originalHeight = element.clientHeight;
- els.display = 'none';
- els.position = originalPosition;
- els.visibility = originalVisibility;
- return {width: originalWidth, height: originalHeight};
- },
-
- makePositioned: function(element) {
- element = $(element);
- var pos = Element.getStyle(element, 'position');
- if (pos == 'static' || !pos) {
- element._madePositioned = true;
- element.style.position = 'relative';
- // Opera returns the offset relative to the positioning context, when an
- // element is position relative but top and left have not been defined
- if (window.opera) {
- element.style.top = 0;
- element.style.left = 0;
- }
- }
- },
-
- undoPositioned: function(element) {
- element = $(element);
- if (element._madePositioned) {
- element._madePositioned = undefined;
- element.style.position =
- element.style.top =
- element.style.left =
- element.style.bottom =
- element.style.right = '';
- }
- },
-
- makeClipping: function(element) {
- element = $(element);
- if (element._overflow) return;
- element._overflow = element.style.overflow;
- if ((Element.getStyle(element, 'overflow') || 'visible') != 'hidden')
- element.style.overflow = 'hidden';
- },
-
- undoClipping: function(element) {
- element = $(element);
- if (element._overflow) return;
- element.style.overflow = element._overflow;
- element._overflow = undefined;
- }
-}
-
-Object.extend(Element, Element.Methods);
-
-var _nativeExtensions = false;
-
-if(!HTMLElement && /Konqueror|Safari|KHTML/.test(navigator.userAgent)) {
- var HTMLElement = {}
- HTMLElement.prototype = document.createElement('div').__proto__;
-}
-
-Element.addMethods = function(methods) {
- Object.extend(Element.Methods, methods || {});
-
- if(typeof HTMLElement != 'undefined') {
- var methods = Element.Methods, cache = Element.extend.cache;
- for (property in methods) {
- var value = methods[property];
- if (typeof value == 'function')
- HTMLElement.prototype[property] = cache.findOrStore(value);
- }
- _nativeExtensions = true;
- }
-}
-
-Element.addMethods();
-
-var Toggle = new Object();
-Toggle.display = Element.toggle;
-
-/*--------------------------------------------------------------------------*/
-
-Abstract.Insertion = function(adjacency) {
- this.adjacency = adjacency;
-}
-
-Abstract.Insertion.prototype = {
- initialize: function(element, content) {
- this.element = $(element);
- this.content = content.stripScripts();
-
- if (this.adjacency && this.element.insertAdjacentHTML) {
- try {
- this.element.insertAdjacentHTML(this.adjacency, this.content);
- } catch (e) {
- var tagName = this.element.tagName.toLowerCase();
- if (tagName == 'tbody' || tagName == 'tr') {
- this.insertContent(this.contentFromAnonymousTable());
- } else {
- throw e;
- }
- }
- } else {
- this.range = this.element.ownerDocument.createRange();
- if (this.initializeRange) this.initializeRange();
- this.insertContent([this.range.createContextualFragment(this.content)]);
- }
-
- setTimeout(function() {content.evalScripts()}, 10);
- },
-
- contentFromAnonymousTable: function() {
- var div = document.createElement('div');
- div.innerHTML = '<table><tbody>' + this.content + '</tbody></table>';
- return $A(div.childNodes[0].childNodes[0].childNodes);
- }
-}
-
-var Insertion = new Object();
-
-Insertion.Before = Class.create();
-Insertion.Before.prototype = Object.extend(new Abstract.Insertion('beforeBegin'), {
- initializeRange: function() {
- this.range.setStartBefore(this.element);
- },
-
- insertContent: function(fragments) {
- fragments.each((function(fragment) {
- this.element.parentNode.insertBefore(fragment, this.element);
- }).bind(this));
- }
-});
-
-Insertion.Top = Class.create();
-Insertion.Top.prototype = Object.extend(new Abstract.Insertion('afterBegin'), {
- initializeRange: function() {
- this.range.selectNodeContents(this.element);
- this.range.collapse(true);
- },
-
- insertContent: function(fragments) {
- fragments.reverse(false).each((function(fragment) {
- this.element.insertBefore(fragment, this.element.firstChild);
- }).bind(this));
- }
-});
-
-Insertion.Bottom = Class.create();
-Insertion.Bottom.prototype = Object.extend(new Abstract.Insertion('beforeEnd'), {
- initializeRange: function() {
- this.range.selectNodeContents(this.element);
- this.range.collapse(this.element);
- },
-
- insertContent: function(fragments) {
- fragments.each((function(fragment) {
- this.element.appendChild(fragment);
- }).bind(this));
- }
-});
-
-Insertion.After = Class.create();
-Insertion.After.prototype = Object.extend(new Abstract.Insertion('afterEnd'), {
- initializeRange: function() {
- this.range.setStartAfter(this.element);
- },
-
- insertContent: function(fragments) {
- fragments.each((function(fragment) {
- this.element.parentNode.insertBefore(fragment,
- this.element.nextSibling);
- }).bind(this));
- }
-});
-
-/*--------------------------------------------------------------------------*/
-
-Element.ClassNames = Class.create();
-Element.ClassNames.prototype = {
- initialize: function(element) {
- this.element = $(element);
- },
-
- _each: function(iterator) {
- this.element.className.split(/\s+/).select(function(name) {
- return name.length > 0;
- })._each(iterator);
- },
-
- set: function(className) {
- this.element.className = className;
- },
-
- add: function(classNameToAdd) {
- if (this.include(classNameToAdd)) return;
- this.set(this.toArray().concat(classNameToAdd).join(' '));
- },
-
- remove: function(classNameToRemove) {
- if (!this.include(classNameToRemove)) return;
- this.set(this.select(function(className) {
- return className != classNameToRemove;
- }).join(' '));
- },
-
- toString: function() {
- return this.toArray().join(' ');
- }
-}
-
-Object.extend(Element.ClassNames.prototype, Enumerable);
-var Selector = Class.create();
-Selector.prototype = {
- initialize: function(expression) {
- this.params = {classNames: []};
- this.expression = expression.toString().strip();
- this.parseExpression();
- this.compileMatcher();
- },
-
- parseExpression: function() {
- function abort(message) { throw 'Parse error in selector: ' + message; }
-
- if (this.expression == '') abort('empty expression');
-
- var params = this.params, expr = this.expression, match, modifier, clause, rest;
- while (match = expr.match(/^(.*)\[([a-z0-9_:-]+?)(?:([~\|!]?=)(?:"([^"]*)"|([^\]\s]*)))?\]$/i)) {
- params.attributes = params.attributes || [];
- params.attributes.push({name: match[2], operator: match[3], value: match[4] || match[5] || ''});
- expr = match[1];
- }
-
- if (expr == '*') return this.params.wildcard = true;
-
- while (match = expr.match(/^([^a-z0-9_-])?([a-z0-9_-]+)(.*)/i)) {
- modifier = match[1], clause = match[2], rest = match[3];
- switch (modifier) {
- case '#': params.id = clause; break;
- case '.': params.classNames.push(clause); break;
- case '':
- case undefined: params.tagName = clause.toUpperCase(); break;
- default: abort(expr.inspect());
- }
- expr = rest;
- }
-
- if (expr.length > 0) abort(expr.inspect());
- },
-
- buildMatchExpression: function() {
- var params = this.params, conditions = [], clause;
-
- if (params.wildcard)
- conditions.push('true');
- if (clause = params.id)
- conditions.push('element.id == ' + clause.inspect());
- if (clause = params.tagName)
- conditions.push('element.tagName.toUpperCase() == ' + clause.inspect());
- if ((clause = params.classNames).length > 0)
- for (var i = 0; i < clause.length; i++)
- conditions.push('Element.hasClassName(element, ' + clause[i].inspect() + ')');
- if (clause = params.attributes) {
- clause.each(function(attribute) {
- var value = 'element.getAttribute(' + attribute.name.inspect() + ')';
- var splitValueBy = function(delimiter) {
- return value + ' && ' + value + '.split(' + delimiter.inspect() + ')';
- }
-
- switch (attribute.operator) {
- case '=': conditions.push(value + ' == ' + attribute.value.inspect()); break;
- case '~=': conditions.push(splitValueBy(' ') + '.include(' + attribute.value.inspect() + ')'); break;
- case '|=': conditions.push(
- splitValueBy('-') + '.first().toUpperCase() == ' + attribute.value.toUpperCase().inspect()
- ); break;
- case '!=': conditions.push(value + ' != ' + attribute.value.inspect()); break;
- case '':
- case undefined: conditions.push(value + ' != null'); break;
- default: throw 'Unknown operator ' + attribute.operator + ' in selector';
- }
- });
- }
-
- return conditions.join(' && ');
- },
-
- compileMatcher: function() {
- this.match = new Function('element', 'if (!element.tagName) return false; \
- return ' + this.buildMatchExpression());
- },
-
- findElements: function(scope) {
- var element;
-
- if (element = $(this.params.id))
- if (this.match(element))
- if (!scope || Element.childOf(element, scope))
- return [element];
-
- scope = (scope || document).getElementsByTagName(this.params.tagName || '*');
-
- var results = [];
- for (var i = 0; i < scope.length; i++)
- if (this.match(element = scope[i]))
- results.push(Element.extend(element));
-
- return results;
- },
-
- toString: function() {
- return this.expression;
- }
-}
-
-function $$() {
- return $A(arguments).map(function(expression) {
- return expression.strip().split(/\s+/).inject([null], function(results, expr) {
- var selector = new Selector(expr);
- return results.map(selector.findElements.bind(selector)).flatten();
- });
- }).flatten();
-}
-var Field = {
- clear: function() {
- for (var i = 0; i < arguments.length; i++)
- $(arguments[i]).value = '';
- },
-
- focus: function(element) {
- $(element).focus();
- },
-
- present: function() {
- for (var i = 0; i < arguments.length; i++)
- if ($(arguments[i]).value == '') return false;
- return true;
- },
-
- select: function(element) {
- $(element).select();
- },
-
- activate: function(element) {
- element = $(element);
- element.focus();
- if (element.select)
- element.select();
- }
-}
-
-/*--------------------------------------------------------------------------*/
-
-var Form = {
- serialize: function(form) {
- var elements = Form.getElements($(form));
- var queryComponents = new Array();
-
- for (var i = 0; i < elements.length; i++) {
- var queryComponent = Form.Element.serialize(elements[i]);
- if (queryComponent)
- queryComponents.push(queryComponent);
- }
-
- return queryComponents.join('&');
- },
-
- getElements: function(form) {
- form = $(form);
- var elements = new Array();
-
- for (var tagName in Form.Element.Serializers) {
- var tagElements = form.getElementsByTagName(tagName);
- for (var j = 0; j < tagElements.length; j++)
- elements.push(tagElements[j]);
- }
- return elements;
- },
-
- getInputs: function(form, typeName, name) {
- form = $(form);
- var inputs = form.getElementsByTagName('input');
-
- if (!typeName && !name)
- return inputs;
-
- var matchingInputs = new Array();
- for (var i = 0; i < inputs.length; i++) {
- var input = inputs[i];
- if ((typeName && input.type != typeName) ||
- (name && input.name != name))
- continue;
- matchingInputs.push(input);
- }
-
- return matchingInputs;
- },
-
- disable: function(form) {
- var elements = Form.getElements(form);
- for (var i = 0; i < elements.length; i++) {
- var element = elements[i];
- element.blur();
- element.disabled = 'true';
- }
- },
-
- enable: function(form) {
- var elements = Form.getElements(form);
- for (var i = 0; i < elements.length; i++) {
- var element = elements[i];
- element.disabled = '';
- }
- },
-
- findFirstElement: function(form) {
- return Form.getElements(form).find(function(element) {
- return element.type != 'hidden' && !element.disabled &&
- ['input', 'select', 'textarea'].include(element.tagName.toLowerCase());
- });
- },
-
- focusFirstElement: function(form) {
- Field.activate(Form.findFirstElement(form));
- },
-
- reset: function(form) {
- $(form).reset();
- }
-}
-
-Form.Element = {
- serialize: function(element) {
- element = $(element);
- var method = element.tagName.toLowerCase();
- var parameter = Form.Element.Serializers[method](element);
-
- if (parameter) {
- var key = encodeURIComponent(parameter[0]);
- if (key.length == 0) return;
-
- if (parameter[1].constructor != Array)
- parameter[1] = [parameter[1]];
-
- return parameter[1].map(function(value) {
- return key + '=' + encodeURIComponent(value);
- }).join('&');
- }
- },
-
- getValue: function(element) {
- element = $(element);
- var method = element.tagName.toLowerCase();
- var parameter = Form.Element.Serializers[method](element);
-
- if (parameter)
- return parameter[1];
- }
-}
-
-Form.Element.Serializers = {
- input: function(element) {
- switch (element.type.toLowerCase()) {
- case 'submit':
- case 'hidden':
- case 'password':
- case 'text':
- return Form.Element.Serializers.textarea(element);
- case 'checkbox':
- case 'radio':
- return Form.Element.Serializers.inputSelector(element);
- }
- return false;
- },
-
- inputSelector: function(element) {
- if (element.checked)
- return [element.name, element.value];
- },
-
- textarea: function(element) {
- return [element.name, element.value];
- },
-
- select: function(element) {
- return Form.Element.Serializers[element.type == 'select-one' ?
- 'selectOne' : 'selectMany'](element);
- },
-
- selectOne: function(element) {
- var value = '', opt, index = element.selectedIndex;
- if (index >= 0) {
- opt = element.options[index];
- value = opt.value || opt.text;
- }
- return [element.name, value];
- },
-
- selectMany: function(element) {
- var value = [];
- for (var i = 0; i < element.length; i++) {
- var opt = element.options[i];
- if (opt.selected)
- value.push(opt.value || opt.text);
- }
- return [element.name, value];
- }
-}
-
-/*--------------------------------------------------------------------------*/
-
-var $F = Form.Element.getValue;
-
-/*--------------------------------------------------------------------------*/
-
-Abstract.TimedObserver = function() {}
-Abstract.TimedObserver.prototype = {
- initialize: function(element, frequency, callback) {
- this.frequency = frequency;
- this.element = $(element);
- this.callback = callback;
-
- this.lastValue = this.getValue();
- this.registerCallback();
- },
-
- registerCallback: function() {
- setInterval(this.onTimerEvent.bind(this), this.frequency * 1000);
- },
-
- onTimerEvent: function() {
- var value = this.getValue();
- if (this.lastValue != value) {
- this.callback(this.element, value);
- this.lastValue = value;
- }
- }
-}
-
-Form.Element.Observer = Class.create();
-Form.Element.Observer.prototype = Object.extend(new Abstract.TimedObserver(), {
- getValue: function() {
- return Form.Element.getValue(this.element);
- }
-});
-
-Form.Observer = Class.create();
-Form.Observer.prototype = Object.extend(new Abstract.TimedObserver(), {
- getValue: function() {
- return Form.serialize(this.element);
- }
-});
-
-/*--------------------------------------------------------------------------*/
-
-Abstract.EventObserver = function() {}
-Abstract.EventObserver.prototype = {
- initialize: function(element, callback) {
- this.element = $(element);
- this.callback = callback;
-
- this.lastValue = this.getValue();
- if (this.element.tagName.toLowerCase() == 'form')
- this.registerFormCallbacks();
- else
- this.registerCallback(this.element);
- },
-
- onElementEvent: function() {
- var value = this.getValue();
- if (this.lastValue != value) {
- this.callback(this.element, value);
- this.lastValue = value;
- }
- },
-
- registerFormCallbacks: function() {
- var elements = Form.getElements(this.element);
- for (var i = 0; i < elements.length; i++)
- this.registerCallback(elements[i]);
- },
-
- registerCallback: function(element) {
- if (element.type) {
- switch (element.type.toLowerCase()) {
- case 'checkbox':
- case 'radio':
- Event.observe(element, 'click', this.onElementEvent.bind(this));
- break;
- case 'password':
- case 'text':
- case 'textarea':
- case 'select-one':
- case 'select-multiple':
- Event.observe(element, 'change', this.onElementEvent.bind(this));
- break;
- }
- }
- }
-}
-
-Form.Element.EventObserver = Class.create();
-Form.Element.EventObserver.prototype = Object.extend(new Abstract.EventObserver(), {
- getValue: function() {
- return Form.Element.getValue(this.element);
- }
-});
-
-Form.EventObserver = Class.create();
-Form.EventObserver.prototype = Object.extend(new Abstract.EventObserver(), {
- getValue: function() {
- return Form.serialize(this.element);
- }
-});
-if (!window.Event) {
- var Event = new Object();
-}
-
-Object.extend(Event, {
- KEY_BACKSPACE: 8,
- KEY_TAB: 9,
- KEY_RETURN: 13,
- KEY_ESC: 27,
- KEY_LEFT: 37,
- KEY_UP: 38,
- KEY_RIGHT: 39,
- KEY_DOWN: 40,
- KEY_DELETE: 46,
-
- element: function(event) {
- return event.target || event.srcElement;
- },
-
- isLeftClick: function(event) {
- return (((event.which) && (event.which == 1)) ||
- ((event.button) && (event.button == 1)));
- },
-
- pointerX: function(event) {
- return event.pageX || (event.clientX +
- (document.documentElement.scrollLeft || document.body.scrollLeft));
- },
-
- pointerY: function(event) {
- return event.pageY || (event.clientY +
- (document.documentElement.scrollTop || document.body.scrollTop));
- },
-
- stop: function(event) {
- if (event.preventDefault) {
- event.preventDefault();
- event.stopPropagation();
- } else {
- event.returnValue = false;
- event.cancelBubble = true;
- }
- },
-
- // find the first node with the given tagName, starting from the
- // node the event was triggered on; traverses the DOM upwards
- findElement: function(event, tagName) {
- var element = Event.element(event);
- while (element.parentNode && (!element.tagName ||
- (element.tagName.toUpperCase() != tagName.toUpperCase())))
- element = element.parentNode;
- return element;
- },
-
- observers: false,
-
- _observeAndCache: function(element, name, observer, useCapture) {
- if (!this.observers) this.observers = [];
- if (element.addEventListener) {
- this.observers.push([element, name, observer, useCapture]);
- element.addEventListener(name, observer, useCapture);
- } else if (element.attachEvent) {
- this.observers.push([element, name, observer, useCapture]);
- element.attachEvent('on' + name, observer);
- }
- },
-
- unloadCache: function() {
- if (!Event.observers) return;
- for (var i = 0; i < Event.observers.length; i++) {
- Event.stopObserving.apply(this, Event.observers[i]);
- Event.observers[i][0] = null;
- }
- Event.observers = false;
- },
-
- observe: function(element, name, observer, useCapture) {
- var element = $(element);
- useCapture = useCapture || false;
-
- if (name == 'keypress' &&
- (navigator.appVersion.match(/Konqueror|Safari|KHTML/)
- || element.attachEvent))
- name = 'keydown';
-
- this._observeAndCache(element, name, observer, useCapture);
- },
-
- stopObserving: function(element, name, observer, useCapture) {
- var element = $(element);
- useCapture = useCapture || false;
-
- if (name == 'keypress' &&
- (navigator.appVersion.match(/Konqueror|Safari|KHTML/)
- || element.detachEvent))
- name = 'keydown';
-
- if (element.removeEventListener) {
- element.removeEventListener(name, observer, useCapture);
- } else if (element.detachEvent) {
- element.detachEvent('on' + name, observer);
- }
- }
-});
-
-/* prevent memory leaks in IE */
-if (navigator.appVersion.match(/\bMSIE\b/))
- Event.observe(window, 'unload', Event.unloadCache, false);
-var Position = {
- // set to true if needed, warning: firefox performance problems
- // NOT neeeded for page scrolling, only if draggable contained in
- // scrollable elements
- includeScrollOffsets: false,
-
- // must be called before calling withinIncludingScrolloffset, every time the
- // page is scrolled
- prepare: function() {
- this.deltaX = window.pageXOffset
- || document.documentElement.scrollLeft
- || document.body.scrollLeft
- || 0;
- this.deltaY = window.pageYOffset
- || document.documentElement.scrollTop
- || document.body.scrollTop
- || 0;
- },
-
- realOffset: function(element) {
- var valueT = 0, valueL = 0;
- do {
- valueT += element.scrollTop || 0;
- valueL += element.scrollLeft || 0;
- element = element.parentNode;
- } while (element);
- return [valueL, valueT];
- },
-
- cumulativeOffset: function(element) {
- var valueT = 0, valueL = 0;
- do {
- valueT += element.offsetTop || 0;
- valueL += element.offsetLeft || 0;
- element = element.offsetParent;
- } while (element);
- return [valueL, valueT];
- },
-
- positionedOffset: function(element) {
- var valueT = 0, valueL = 0;
- do {
- valueT += element.offsetTop || 0;
- valueL += element.offsetLeft || 0;
- element = element.offsetParent;
- if (element) {
- p = Element.getStyle(element, 'position');
- if (p == 'relative' || p == 'absolute') break;
- }
- } while (element);
- return [valueL, valueT];
- },
-
- offsetParent: function(element) {
- if (element.offsetParent) return element.offsetParent;
- if (element == document.body) return element;
-
- while ((element = element.parentNode) && element != document.body)
- if (Element.getStyle(element, 'position') != 'static')
- return element;
-
- return document.body;
- },
-
- // caches x/y coordinate pair to use with overlap
- within: function(element, x, y) {
- if (this.includeScrollOffsets)
- return this.withinIncludingScrolloffsets(element, x, y);
- this.xcomp = x;
- this.ycomp = y;
- this.offset = this.cumulativeOffset(element);
-
- return (y >= this.offset[1] &&
- y < this.offset[1] + element.offsetHeight &&
- x >= this.offset[0] &&
- x < this.offset[0] + element.offsetWidth);
- },
-
- withinIncludingScrolloffsets: function(element, x, y) {
- var offsetcache = this.realOffset(element);
-
- this.xcomp = x + offsetcache[0] - this.deltaX;
- this.ycomp = y + offsetcache[1] - this.deltaY;
- this.offset = this.cumulativeOffset(element);
-
- return (this.ycomp >= this.offset[1] &&
- this.ycomp < this.offset[1] + element.offsetHeight &&
- this.xcomp >= this.offset[0] &&
- this.xcomp < this.offset[0] + element.offsetWidth);
- },
-
- // within must be called directly before
- overlap: function(mode, element) {
- if (!mode) return 0;
- if (mode == 'vertical')
- return ((this.offset[1] + element.offsetHeight) - this.ycomp) /
- element.offsetHeight;
- if (mode == 'horizontal')
- return ((this.offset[0] + element.offsetWidth) - this.xcomp) /
- element.offsetWidth;
- },
-
- clone: function(source, target) {
- source = $(source);
- target = $(target);
- target.style.position = 'absolute';
- var offsets = this.cumulativeOffset(source);
- target.style.top = offsets[1] + 'px';
- target.style.left = offsets[0] + 'px';
- target.style.width = source.offsetWidth + 'px';
- target.style.height = source.offsetHeight + 'px';
- },
-
- page: function(forElement) {
- var valueT = 0, valueL = 0;
-
- var element = forElement;
- do {
- valueT += element.offsetTop || 0;
- valueL += element.offsetLeft || 0;
-
- // Safari fix
- if (element.offsetParent==document.body)
- if (Element.getStyle(element,'position')=='absolute') break;
-
- } while (element = element.offsetParent);
-
- element = forElement;
- do {
- valueT -= element.scrollTop || 0;
- valueL -= element.scrollLeft || 0;
- } while (element = element.parentNode);
-
- return [valueL, valueT];
- },
-
- clone: function(source, target) {
- var options = Object.extend({
- setLeft: true,
- setTop: true,
- setWidth: true,
- setHeight: true,
- offsetTop: 0,
- offsetLeft: 0
- }, arguments[2] || {})
-
- // find page position of source
- source = $(source);
- var p = Position.page(source);
-
- // find coordinate system to use
- target = $(target);
- var delta = [0, 0];
- var parent = null;
- // delta [0,0] will do fine with position: fixed elements,
- // position:absolute needs offsetParent deltas
- if (Element.getStyle(target,'position') == 'absolute') {
- parent = Position.offsetParent(target);
- delta = Position.page(parent);
- }
-
- // correct by body offsets (fixes Safari)
- if (parent == document.body) {
- delta[0] -= document.body.offsetLeft;
- delta[1] -= document.body.offsetTop;
- }
-
- // set position
- if(options.setLeft) target.style.left = (p[0] - delta[0] + options.offsetLeft) + 'px';
- if(options.setTop) target.style.top = (p[1] - delta[1] + options.offsetTop) + 'px';
- if(options.setWidth) target.style.width = source.offsetWidth + 'px';
- if(options.setHeight) target.style.height = source.offsetHeight + 'px';
- },
-
- absolutize: function(element) {
- element = $(element);
- if (element.style.position == 'absolute') return;
- Position.prepare();
-
- var offsets = Position.positionedOffset(element);
- var top = offsets[1];
- var left = offsets[0];
- var width = element.clientWidth;
- var height = element.clientHeight;
-
- element._originalLeft = left - parseFloat(element.style.left || 0);
- element._originalTop = top - parseFloat(element.style.top || 0);
- element._originalWidth = element.style.width;
- element._originalHeight = element.style.height;
-
- element.style.position = 'absolute';
- element.style.top = top + 'px';;
- element.style.left = left + 'px';;
- element.style.width = width + 'px';;
- element.style.height = height + 'px';;
- },
-
- relativize: function(element) {
- element = $(element);
- if (element.style.position == 'relative') return;
- Position.prepare();
-
- element.style.position = 'relative';
- var top = parseFloat(element.style.top || 0) - (element._originalTop || 0);
- var left = parseFloat(element.style.left || 0) - (element._originalLeft || 0);
-
- element.style.top = top + 'px';
- element.style.left = left + 'px';
- element.style.height = element._originalHeight;
- element.style.width = element._originalWidth;
- }
-}
-
-// Safari returns margins on body which is incorrect if the child is absolutely
-// positioned. For performance reasons, redefine Position.cumulativeOffset for
-// KHTML/WebKit only.
-if (/Konqueror|Safari|KHTML/.test(navigator.userAgent)) {
- Position.cumulativeOffset = function(element) {
- var valueT = 0, valueL = 0;
- do {
- valueT += element.offsetTop || 0;
- valueL += element.offsetLeft || 0;
- if (element.offsetParent == document.body)
- if (Element.getStyle(element, 'position') == 'absolute') break;
-
- element = element.offsetParent;
- } while (element);
-
- return [valueL, valueT];
- }
-} \ No newline at end of file
diff --git a/wp-inst/wp-includes/js/scriptaculous/scriptaculous.js b/wp-inst/wp-includes/js/scriptaculous/scriptaculous.js
deleted file mode 100644
index f61fc57..0000000
--- a/wp-inst/wp-includes/js/scriptaculous/scriptaculous.js
+++ /dev/null
@@ -1,47 +0,0 @@
-// Copyright (c) 2005 Thomas Fuchs (http://script.aculo.us, http://mir.aculo.us)
-//
-// 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.
-
-var Scriptaculous = {
- Version: '1.6.1',
- require: function(libraryName) {
- // inserting via DOM fails in Safari 2.0, so brute force approach
- document.write('<script type="text/javascript" src="'+libraryName+'"></script>');
- },
- load: function() {
- if((typeof Prototype=='undefined') ||
- (typeof Element == 'undefined') ||
- (typeof Element.Methods=='undefined') ||
- parseFloat(Prototype.Version.split(".")[0] + "." +
- Prototype.Version.split(".")[1]) < 1.5)
- throw("script.aculo.us requires the Prototype JavaScript framework >= 1.5.0");
-
- $A(document.getElementsByTagName("script")).findAll( function(s) {
- return (s.src && s.src.match(/scriptaculous\.js(\?.*)?$/))
- }).each( function(s) {
- var path = s.src.replace(/scriptaculous\.js(\?.*)?$/,'');
- var includes = s.src.match(/\?.*load=([a-z,]*)/);
- (includes ? includes[1] : 'builder,effects,dragdrop,controls,slider').split(',').each(
- function(include) { Scriptaculous.require(path+include+'.js') });
- });
- }
-}
-
-Scriptaculous.load(); \ No newline at end of file
diff --git a/wp-inst/wp-includes/js/scriptaculous/slider.js b/wp-inst/wp-includes/js/scriptaculous/slider.js
deleted file mode 100644
index c0f1fc0..0000000
--- a/wp-inst/wp-includes/js/scriptaculous/slider.js
+++ /dev/null
@@ -1,283 +0,0 @@
-// Copyright (c) 2005 Marty Haught, Thomas Fuchs
-//
-// See http://script.aculo.us for more info
-//
-// 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.
-
-if(!Control) var Control = {};
-Control.Slider = Class.create();
-
-// options:
-// axis: 'vertical', or 'horizontal' (default)
-//
-// callbacks:
-// onChange(value)
-// onSlide(value)
-Control.Slider.prototype = {
- initialize: function(handle, track, options) {
- var slider = this;
-
- if(handle instanceof Array) {
- this.handles = handle.collect( function(e) { return $(e) });
- } else {
- this.handles = [$(handle)];
- }
-
- this.track = $(track);
- this.options = options || {};
-
- this.axis = this.options.axis || 'horizontal';
- this.increment = this.options.increment || 1;
- this.step = parseInt(this.options.step || '1');
- this.range = this.options.range || $R(0,1);
-
- this.value = 0; // assure backwards compat
- this.values = this.handles.map( function() { return 0 });
- this.spans = this.options.spans ? this.options.spans.map(function(s){ return $(s) }) : false;
- this.options.startSpan = $(this.options.startSpan || null);
- this.options.endSpan = $(this.options.endSpan || null);
-
- this.restricted = this.options.restricted || false;
-
- this.maximum = this.options.maximum || this.range.end;
- this.minimum = this.options.minimum || this.range.start;
-
- // Will be used to align the handle onto the track, if necessary
- this.alignX = parseInt(this.options.alignX || '0');
- this.alignY = parseInt(this.options.alignY || '0');
-
- this.trackLength = this.maximumOffset() - this.minimumOffset();
- this.handleLength = this.isVertical() ? this.handles[0].offsetHeight : this.handles[0].offsetWidth;
-
- this.active = false;
- this.dragging = false;
- this.disabled = false;
-
- if(this.options.disabled) this.setDisabled();
-
- // Allowed values array
- this.allowedValues = this.options.values ? this.options.values.sortBy(Prototype.K) : false;
- if(this.allowedValues) {
- this.minimum = this.allowedValues.min();
- this.maximum = this.allowedValues.max();
- }
-
- this.eventMouseDown = this.startDrag.bindAsEventListener(this);
- this.eventMouseUp = this.endDrag.bindAsEventListener(this);
- this.eventMouseMove = this.update.bindAsEventListener(this);
-
- // Initialize handles in reverse (make sure first handle is active)
- this.handles.each( function(h,i) {
- i = slider.handles.length-1-i;
- slider.setValue(parseFloat(
- (slider.options.sliderValue instanceof Array ?
- slider.options.sliderValue[i] : slider.options.sliderValue) ||
- slider.range.start), i);
- Element.makePositioned(h); // fix IE
- Event.observe(h, "mousedown", slider.eventMouseDown);
- });
-
- Event.observe(this.track, "mousedown", this.eventMouseDown);
- Event.observe(document, "mouseup", this.eventMouseUp);
- Event.observe(document, "mousemove", this.eventMouseMove);
-
- this.initialized = true;
- },
- dispose: function() {
- var slider = this;
- Event.stopObserving(this.track, "mousedown", this.eventMouseDown);
- Event.stopObserving(document, "mouseup", this.eventMouseUp);
- Event.stopObserving(document, "mousemove", this.eventMouseMove);
- this.handles.each( function(h) {
- Event.stopObserving(h, "mousedown", slider.eventMouseDown);
- });
- },
- setDisabled: function(){
- this.disabled = true;
- },
- setEnabled: function(){
- this.disabled = false;
- },
- getNearestValue: function(value){
- if(this.allowedValues){
- if(value >= this.allowedValues.max()) return(this.allowedValues.max());
- if(value <= this.allowedValues.min()) return(this.allowedValues.min());
-
- var offset = Math.abs(this.allowedValues[0] - value);
- var newValue = this.allowedValues[0];
- this.allowedValues.each( function(v) {
- var currentOffset = Math.abs(v - value);
- if(currentOffset <= offset){
- newValue = v;
- offset = currentOffset;
- }
- });
- return newValue;
- }
- if(value > this.range.end) return this.range.end;
- if(value < this.range.start) return this.range.start;
- return value;
- },
- setValue: function(sliderValue, handleIdx){
- if(!this.active) {
- this.activeHandle = this.handles[handleIdx];
- this.activeHandleIdx = handleIdx;
- this.updateStyles();
- }
- handleIdx = handleIdx || this.activeHandleIdx || 0;
- if(this.initialized && this.restricted) {
- if((handleIdx>0) && (sliderValue<this.values[handleIdx-1]))
- sliderValue = this.values[handleIdx-1];
- if((handleIdx < (this.handles.length-1)) && (sliderValue>this.values[handleIdx+1]))
- sliderValue = this.values[handleIdx+1];
- }
- sliderValue = this.getNearestValue(sliderValue);
- this.values[handleIdx] = sliderValue;
- this.value = this.values[0]; // assure backwards compat
-
- this.handles[handleIdx].style[this.isVertical() ? 'top' : 'left'] =
- this.translateToPx(sliderValue);
-
- this.drawSpans();
- if(!this.dragging || !this.event) this.updateFinished();
- },
- setValueBy: function(delta, handleIdx) {
- this.setValue(this.values[handleIdx || this.activeHandleIdx || 0] + delta,
- handleIdx || this.activeHandleIdx || 0);
- },
- translateToPx: function(value) {
- return Math.round(
- ((this.trackLength-this.handleLength)/(this.range.end-this.range.start)) *
- (value - this.range.start)) + "px";
- },
- translateToValue: function(offset) {
- return ((offset/(this.trackLength-this.handleLength) *
- (this.range.end-this.range.start)) + this.range.start);
- },
- getRange: function(range) {
- var v = this.values.sortBy(Prototype.K);
- range = range || 0;
- return $R(v[range],v[range+1]);
- },
- minimumOffset: function(){
- return(this.isVertical() ? this.alignY : this.alignX);
- },
- maximumOffset: function(){
- return(this.isVertical() ?
- this.track.offsetHeight - this.alignY : this.track.offsetWidth - this.alignX);
- },
- isVertical: function(){
- return (this.axis == 'vertical');
- },
- drawSpans: function() {
- var slider = this;
- if(this.spans)
- $R(0, this.spans.length-1).each(function(r) { slider.setSpan(slider.spans[r], slider.getRange(r)) });
- if(this.options.startSpan)
- this.setSpan(this.options.startSpan,
- $R(0, this.values.length>1 ? this.getRange(0).min() : this.value ));
- if(this.options.endSpan)
- this.setSpan(this.options.endSpan,
- $R(this.values.length>1 ? this.getRange(this.spans.length-1).max() : this.value, this.maximum));
- },
- setSpan: function(span, range) {
- if(this.isVertical()) {
- span.style.top = this.translateToPx(range.start);
- span.style.height = this.translateToPx(range.end - range.start + this.range.start);
- } else {
- span.style.left = this.translateToPx(range.start);
- span.style.width = this.translateToPx(range.end - range.start + this.range.start);
- }
- },
- updateStyles: function() {
- this.handles.each( function(h){ Element.removeClassName(h, 'selected') });
- Element.addClassName(this.activeHandle, 'selected');
- },
- startDrag: function(event) {
- if(Event.isLeftClick(event)) {
- if(!this.disabled){
- this.active = true;
-
- var handle = Event.element(event);
- var pointer = [Event.pointerX(event), Event.pointerY(event)];
- if(handle==this.track) {
- var offsets = Position.cumulativeOffset(this.track);
- this.event = event;
- this.setValue(this.translateToValue(
- (this.isVertical() ? pointer[1]-offsets[1] : pointer[0]-offsets[0])-(this.handleLength/2)
- ));
- var offsets = Position.cumulativeOffset(this.activeHandle);
- this.offsetX = (pointer[0] - offsets[0]);
- this.offsetY = (pointer[1] - offsets[1]);
- } else {
- // find the handle (prevents issues with Safari)
- while((this.handles.indexOf(handle) == -1) && handle.parentNode)
- handle = handle.parentNode;
-
- this.activeHandle = handle;
- this.activeHandleIdx = this.handles.indexOf(this.activeHandle);
- this.updateStyles();
-
- var offsets = Position.cumulativeOffset(this.activeHandle);
- this.offsetX = (pointer[0] - offsets[0]);
- this.offsetY = (pointer[1] - offsets[1]);
- }
- }
- Event.stop(event);
- }
- },
- update: function(event) {
- if(this.active) {
- if(!this.dragging) this.dragging = true;
- this.draw(event);
- // fix AppleWebKit rendering
- if(navigator.appVersion.indexOf('AppleWebKit')>0) window.scrollBy(0,0);
- Event.stop(event);
- }
- },
- draw: function(event) {
- var pointer = [Event.pointerX(event), Event.pointerY(event)];
- var offsets = Position.cumulativeOffset(this.track);
- pointer[0] -= this.offsetX + offsets[0];
- pointer[1] -= this.offsetY + offsets[1];
- this.event = event;
- this.setValue(this.translateToValue( this.isVertical() ? pointer[1] : pointer[0] ));
- if(this.initialized && this.options.onSlide)
- this.options.onSlide(this.values.length>1 ? this.values : this.value, this);
- },
- endDrag: function(event) {
- if(this.active && this.dragging) {
- this.finishDrag(event, true);
- Event.stop(event);
- }
- this.active = false;
- this.dragging = false;
- },
- finishDrag: function(event, success) {
- this.active = false;
- this.dragging = false;
- this.updateFinished();
- },
- updateFinished: function() {
- if(this.initialized && this.options.onChange)
- this.options.onChange(this.values.length>1 ? this.values : this.value, this);
- this.event = null;
- }
-} \ No newline at end of file
diff --git a/wp-inst/wp-includes/js/scriptaculous/unittest.js b/wp-inst/wp-includes/js/scriptaculous/unittest.js
deleted file mode 100644
index d2c2d81..0000000
--- a/wp-inst/wp-includes/js/scriptaculous/unittest.js
+++ /dev/null
@@ -1,383 +0,0 @@
-// Copyright (c) 2005 Thomas Fuchs (http://script.aculo.us, http://mir.aculo.us)
-// (c) 2005 Jon Tirsen (http://www.tirsen.com)
-// (c) 2005 Michael Schuerig (http://www.schuerig.de/michael/)
-//
-// 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.
-
-
-// experimental, Firefox-only
-Event.simulateMouse = function(element, eventName) {
- var options = Object.extend({
- pointerX: 0,
- pointerY: 0,
- buttons: 0
- }, arguments[2] || {});
- var oEvent = document.createEvent("MouseEvents");
- oEvent.initMouseEvent(eventName, true, true, document.defaultView,
- options.buttons, options.pointerX, options.pointerY, options.pointerX, options.pointerY,
- false, false, false, false, 0, $(element));
-
- if(this.mark) Element.remove(this.mark);
- this.mark = document.createElement('div');
- this.mark.appendChild(document.createTextNode(" "));
- document.body.appendChild(this.mark);
- this.mark.style.position = 'absolute';
- this.mark.style.top = options.pointerY + "px";
- this.mark.style.left = options.pointerX + "px";
- this.mark.style.width = "5px";
- this.mark.style.height = "5px;";
- this.mark.style.borderTop = "1px solid red;"
- this.mark.style.borderLeft = "1px solid red;"
-
- if(this.step)
- alert('['+new Date().getTime().toString()+'] '+eventName+'/'+Test.Unit.inspect(options));
-
- $(element).dispatchEvent(oEvent);
-};
-
-// Note: Due to a fix in Firefox 1.0.5/6 that probably fixed "too much", this doesn't work in 1.0.6 or DP2.
-// You need to downgrade to 1.0.4 for now to get this working
-// See https://bugzilla.mozilla.org/show_bug.cgi?id=289940 for the fix that fixed too much
-Event.simulateKey = function(element, eventName) {
- var options = Object.extend({
- ctrlKey: false,
- altKey: false,
- shiftKey: false,
- metaKey: false,
- keyCode: 0,
- charCode: 0
- }, arguments[2] || {});
-
- var oEvent = document.createEvent("KeyEvents");
- oEvent.initKeyEvent(eventName, true, true, window,
- options.ctrlKey, options.altKey, options.shiftKey, options.metaKey,
- options.keyCode, options.charCode );
- $(element).dispatchEvent(oEvent);
-};
-
-Event.simulateKeys = function(element, command) {
- for(var i=0; i<command.length; i++) {
- Event.simulateKey(element,'keypress',{charCode:command.charCodeAt(i)});
- }
-};
-
-var Test = {}
-Test.Unit = {};
-
-// security exception workaround
-Test.Unit.inspect = Object.inspect;
-
-Test.Unit.Logger = Class.create();
-Test.Unit.Logger.prototype = {
- initialize: function(log) {
- this.log = $(log);
- if (this.log) {
- this._createLogTable();
- }
- },
- start: function(testName) {
- if (!this.log) return;
- this.testName = testName;
- this.lastLogLine = document.createElement('tr');
- this.statusCell = document.createElement('td');
- this.nameCell = document.createElement('td');
- this.nameCell.appendChild(document.createTextNode(testName));
- this.messageCell = document.createElement('td');
- this.lastLogLine.appendChild(this.statusCell);
- this.lastLogLine.appendChild(this.nameCell);
- this.lastLogLine.appendChild(this.messageCell);
- this.loglines.appendChild(this.lastLogLine);
- },
- finish: function(status, summary) {
- if (!this.log) return;
- this.lastLogLine.className = status;
- this.statusCell.innerHTML = status;
- this.messageCell.innerHTML = this._toHTML(summary);
- },
- message: function(message) {
- if (!this.log) return;
- this.messageCell.innerHTML = this._toHTML(message);
- },
- summary: function(summary) {
- if (!this.log) return;
- this.logsummary.innerHTML = this._toHTML(summary);
- },
- _createLogTable: function() {
- this.log.innerHTML =
- '<div id="logsummary"></div>' +
- '<table id="logtable">' +
- '<thead><tr><th>Status</th><th>Test</th><th>Message</th></tr></thead>' +
- '<tbody id="loglines"></tbody>' +
- '</table>';
- this.logsummary = $('logsummary')
- this.loglines = $('loglines');
- },
- _toHTML: function(txt) {
- return txt.escapeHTML().replace(/\n/g,"<br/>");
- }
-}
-
-Test.Unit.Runner = Class.create();
-Test.Unit.Runner.prototype = {
- initialize: function(testcases) {
- this.options = Object.extend({
- testLog: 'testlog'
- }, arguments[1] || {});
- this.options.resultsURL = this.parseResultsURLQueryParameter();
- if (this.options.testLog) {
- this.options.testLog = $(this.options.testLog) || null;
- }
- if(this.options.tests) {
- this.tests = [];
- for(var i = 0; i < this.options.tests.length; i++) {
- if(/^test/.test(this.options.tests[i])) {
- this.tests.push(new Test.Unit.Testcase(this.options.tests[i], testcases[this.options.tests[i]], testcases["setup"], testcases["teardown"]));
- }
- }
- } else {
- if (this.options.test) {
- this.tests = [new Test.Unit.Testcase(this.options.test, testcases[this.options.test], testcases["setup"], testcases["teardown"])];
- } else {
- this.tests = [];
- for(var testcase in testcases) {
- if(/^test/.test(testcase)) {
- this.tests.push(new Test.Unit.Testcase(testcase, testcases[testcase], testcases["setup"], testcases["teardown"]));
- }
- }
- }
- }
- this.currentTest = 0;
- this.logger = new Test.Unit.Logger(this.options.testLog);
- setTimeout(this.runTests.bind(this), 1000);
- },
- parseResultsURLQueryParameter: function() {
- return window.location.search.parseQuery()["resultsURL"];
- },
- // Returns:
- // "ERROR" if there was an error,
- // "FAILURE" if there was a failure, or
- // "SUCCESS" if there was neither
- getResult: function() {
- var hasFailure = false;
- for(var i=0;i<this.tests.length;i++) {
- if (this.tests[i].errors > 0) {
- return "ERROR";
- }
- if (this.tests[i].failures > 0) {
- hasFailure = true;
- }
- }
- if (hasFailure) {
- return "FAILURE";
- } else {
- return "SUCCESS";
- }
- },
- postResults: function() {
- if (this.options.resultsURL) {
- new Ajax.Request(this.options.resultsURL,
- { method: 'get', parameters: 'result=' + this.getResult(), asynchronous: false });
- }
- },
- runTests: function() {
- var test = this.tests[this.currentTest];
- if (!test) {
- // finished!
- this.postResults();
- this.logger.summary(this.summary());
- return;
- }
- if(!test.isWaiting) {
- this.logger.start(test.name);
- }
- test.run();
- if(test.isWaiting) {
- this.logger.message("Waiting for " + test.timeToWait + "ms");
- setTimeout(this.runTests.bind(this), test.timeToWait || 1000);
- } else {
- this.logger.finish(test.status(), test.summary());
- this.currentTest++;
- // tail recursive, hopefully the browser will skip the stackframe
- this.runTests();
- }
- },
- summary: function() {
- var assertions = 0;
- var failures = 0;
- var errors = 0;
- var messages = [];
- for(var i=0;i<this.tests.length;i++) {
- assertions += this.tests[i].assertions;
- failures += this.tests[i].failures;
- errors += this.tests[i].errors;
- }
- return (
- this.tests.length + " tests, " +
- assertions + " assertions, " +
- failures + " failures, " +
- errors + " errors");
- }
-}
-
-Test.Unit.Assertions = Class.create();
-Test.Unit.Assertions.prototype = {
- initialize: function() {
- this.assertions = 0;
- this.failures = 0;
- this.errors = 0;
- this.messages = [];
- },
- summary: function() {
- return (
- this.assertions + " assertions, " +
- this.failures + " failures, " +
- this.errors + " errors" + "\n" +
- this.messages.join("\n"));
- },
- pass: function() {
- this.assertions++;
- },
- fail: function(message) {
- this.failures++;
- this.messages.push("Failure: " + message);
- },
- info: function(message) {
- this.messages.push("Info: " + message);
- },
- error: function(error) {
- this.errors++;
- this.messages.push(error.name + ": "+ error.message + "(" + Test.Unit.inspect(error) +")");
- },
- status: function() {
- if (this.failures > 0) return 'failed';
- if (this.errors > 0) return 'error';
- return 'passed';
- },
- assert: function(expression) {
- var message = arguments[1] || 'assert: got "' + Test.Unit.inspect(expression) + '"';
- try { expression ? this.pass() :
- this.fail(message); }
- catch(e) { this.error(e); }
- },
- assertEqual: function(expected, actual) {
- var message = arguments[2] || "assertEqual";
- try { (expected == actual) ? this.pass() :
- this.fail(message + ': expected "' + Test.Unit.inspect(expected) +
- '", actual "' + Test.Unit.inspect(actual) + '"'); }
- catch(e) { this.error(e); }
- },
- assertEnumEqual: function(expected, actual) {
- var message = arguments[2] || "assertEnumEqual";
- try { $A(expected).length == $A(actual).length &&
- expected.zip(actual).all(function(pair) { return pair[0] == pair[1] }) ?
- this.pass() : this.fail(message + ': expected ' + Test.Unit.inspect(expected) +
- ', actual ' + Test.Unit.inspect(actual)); }
- catch(e) { this.error(e); }
- },
- assertNotEqual: function(expected, actual) {
- var message = arguments[2] || "assertNotEqual";
- try { (expected != actual) ? this.pass() :
- this.fail(message + ': got "' + Test.Unit.inspect(actual) + '"'); }
- catch(e) { this.error(e); }
- },
- assertNull: function(obj) {
- var message = arguments[1] || 'assertNull'
- try { (obj==null) ? this.pass() :
- this.fail(message + ': got "' + Test.Unit.inspect(obj) + '"'); }
- catch(e) { this.error(e); }
- },
- assertHidden: function(element) {
- var message = arguments[1] || 'assertHidden';
- this.assertEqual("none", element.style.display, message);
- },
- assertNotNull: function(object) {
- var message = arguments[1] || 'assertNotNull';
- this.assert(object != null, message);
- },
- assertInstanceOf: function(expected, actual) {
- var message = arguments[2] || 'assertInstanceOf';
- try {
- (actual instanceof expected) ? this.pass() :
- this.fail(message + ": object was not an instance of the expected type"); }
- catch(e) { this.error(e); }
- },
- assertNotInstanceOf: function(expected, actual) {
- var message = arguments[2] || 'assertNotInstanceOf';
- try {
- !(actual instanceof expected) ? this.pass() :
- this.fail(message + ": object was an instance of the not expected type"); }
- catch(e) { this.error(e); }
- },
- _isVisible: function(element) {
- element = $(element);
- if(!element.parentNode) return true;
- this.assertNotNull(element);
- if(element.style && Element.getStyle(element, 'display') == 'none')
- return false;
-
- return this._isVisible(element.parentNode);
- },
- assertNotVisible: function(element) {
- this.assert(!this._isVisible(element), Test.Unit.inspect(element) + " was not hidden and didn't have a hidden parent either. " + ("" || arguments[1]));
- },
- assertVisible: function(element) {
- this.assert(this._isVisible(element), Test.Unit.inspect(element) + " was not visible. " + ("" || arguments[1]));
- },
- benchmark: function(operation, iterations) {
- var startAt = new Date();
- (iterations || 1).times(operation);
- var timeTaken = ((new Date())-startAt);
- this.info((arguments[2] || 'Operation') + ' finished ' +
- iterations + ' iterations in ' + (timeTaken/1000)+'s' );
- return timeTaken;
- }
-}
-
-Test.Unit.Testcase = Class.create();
-Object.extend(Object.extend(Test.Unit.Testcase.prototype, Test.Unit.Assertions.prototype), {
- initialize: function(name, test, setup, teardown) {
- Test.Unit.Assertions.prototype.initialize.bind(this)();
- this.name = name;
- this.test = test || function() {};
- this.setup = setup || function() {};
- this.teardown = teardown || function() {};
- this.isWaiting = false;
- this.timeToWait = 1000;
- },
- wait: function(time, nextPart) {
- this.isWaiting = true;
- this.test = nextPart;
- this.timeToWait = time;
- },
- run: function() {
- try {
- try {
- if (!this.isWaiting) this.setup.bind(this)();
- this.isWaiting = false;
- this.test.bind(this)();
- } finally {
- if(!this.isWaiting) {
- this.teardown.bind(this)();
- }
- }
- }
- catch(e) { this.error(e); }
- }
-});
diff --git a/wp-inst/wp-includes/js/tinymce/blank.htm b/wp-inst/wp-includes/js/tinymce/blank.htm
deleted file mode 100644
index c1ff835..0000000
--- a/wp-inst/wp-includes/js/tinymce/blank.htm
+++ /dev/null
@@ -1,9 +0,0 @@
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
- <title>blank_page</title>
- <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
-</head>
-<body class="mceContentBody">
-
-</body>
-</html>
diff --git a/wp-inst/wp-includes/js/tinymce/langs/en.js b/wp-inst/wp-includes/js/tinymce/langs/en.js
deleted file mode 100644
index c093eaf..0000000
--- a/wp-inst/wp-includes/js/tinymce/langs/en.js
+++ /dev/null
@@ -1,41 +0,0 @@
-// UK lang variables
-
-tinyMCE.addToLang('',{
-bold_desc : 'Bold (Ctrl+B)',
-italic_desc : 'Italic (Ctrl+I)',
-underline_desc : 'Underline (Ctrl+U)',
-striketrough_desc : 'Strikethrough',
-justifyleft_desc : 'Align left',
-justifycenter_desc : 'Align center',
-justifyright_desc : 'Align right',
-justifyfull_desc : 'Align full',
-bullist_desc : 'Unordered list',
-numlist_desc : 'Ordered list',
-outdent_desc : 'Outdent',
-indent_desc : 'Indent',
-undo_desc : 'Undo (Ctrl+Z)',
-redo_desc : 'Redo (Ctrl+Y)',
-link_desc : 'Insert/edit link',
-unlink_desc : 'Unlink',
-image_desc : 'Insert/edit image',
-cleanup_desc : 'Cleanup messy code',
-focus_alert : 'A editor instance must be focused before using this command.',
-edit_confirm : 'Do you want to use the WYSIWYG mode for this textarea?',
-insert_link_title : 'Insert/edit link',
-insert : 'Insert',
-update : 'Update',
-cancel : 'Cancel',
-insert_link_url : 'Link URL',
-insert_link_target : 'Target',
-insert_link_target_same : 'Open link in the same window',
-insert_link_target_blank : 'Open link in a new window',
-insert_image_title : 'Insert/edit image',
-insert_image_src : 'Image URL',
-insert_image_alt : 'Image description',
-help_desc : 'Help',
-bold_img : "bold.gif",
-italic_img : "italic.gif",
-underline_img : "underline.gif",
-clipboard_msg : 'Copy/Cut/Paste is not available in Mozilla and Firefox.\nDo you want more information about this issue?',
-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.'
-});
diff --git a/wp-inst/wp-includes/js/tinymce/license.html b/wp-inst/wp-includes/js/tinymce/license.html
deleted file mode 100644
index c0c9c9a..0000000
--- a/wp-inst/wp-includes/js/tinymce/license.html
+++ /dev/null
@@ -1,465 +0,0 @@
-<!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>TinyMCE License (LGPL)</title>
-<link href="css/screen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-
-<div class="header">
- <h1>TinyMCE License (LGPL)</h1>
-</div>
-
-<div class="content">
-<p>
-Visit the <a href="faq.html">FAQ</a> for general answers surrounding TinyMCE. Or visit <a href="http://www.fsf.org" target="_blank">http://www.fsf.org</a> for more information about Open-Source licenses.
-</p>
-<pre>
- GNU LIBRARY GENERAL PUBLIC LICENSE
- Version 2, June 1991
-
- Copyright (C) 1991 Free Software Foundation, Inc.
- 59 Temple Place, Suite 330, Boston, MA 02111-1307 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 library GPL. It is
- numbered 2 because it goes with version 2 of the ordinary GPL.]
-
- 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 Library General Public License, applies to some
-specially designated Free Software Foundation software, and to any
-other libraries whose authors decide to use it. You can use it for
-your libraries, 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 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 a program 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.
-
- Our method of protecting your rights has two steps: (1) copyright
-the library, and (2) offer you this license which gives you legal
-permission to copy, distribute and/or modify the library.
-
- Also, for each distributor's protection, we want to make certain
-that everyone understands that there is no warranty for this free
-library. If the library is modified by someone else and passed on, we
-want its recipients to know that what they have is not the original
-version, 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 companies distributing free
-software will individually obtain patent licenses, thus in effect
-transforming the program into proprietary software. To prevent this,
-we have made it clear that any patent must be licensed for everyone's
-free use or not licensed at all.
-
- Most GNU software, including some libraries, is covered by the ordinary
-GNU General Public License, which was designed for utility programs. This
-license, the GNU Library General Public License, applies to certain
-designated libraries. This license is quite different from the ordinary
-one; be sure to read it in full, and don't assume that anything in it is
-the same as in the ordinary license.
-
- The reason we have a separate public license for some libraries is that
-they blur the distinction we usually make between modifying or adding to a
-program and simply using it. Linking a program with a library, without
-changing the library, is in some sense simply using the library, and is
-analogous to running a utility program or application program. However, in
-a textual and legal sense, the linked executable is a combined work, a
-derivative of the original library, and the ordinary General Public License
-treats it as such.
-
- Because of this blurred distinction, using the ordinary General
-Public License for libraries did not effectively promote software
-sharing, because most developers did not use the libraries. We
-concluded that weaker conditions might promote sharing better.
-
- However, unrestricted linking of non-free programs would deprive the
-users of those programs of all benefit from the free status of the
-libraries themselves. This Library General Public License is intended to
-permit developers of non-free programs to use free libraries, while
-preserving your freedom as a user of such programs to change the free
-libraries that are incorporated in them. (We have not seen how to achieve
-this as regards changes in header files, but we have achieved it as regards
-changes in the actual functions of the Library.) The hope is that this
-will lead to faster development of free libraries.
-
- 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, while the latter only
-works together with the library.
-
- Note that it is possible for a library to be covered by the ordinary
-General Public License rather than by this special one.
-.
- GNU LIBRARY GENERAL PUBLIC LICENSE
- TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
-
- 0. This License Agreement applies to any software library which
-contains a notice placed by the copyright holder or other authorized
-party saying it may be distributed under the terms of this Library
-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 compile 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) 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.
-
- c) 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.
-
- d) 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 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.
-
- 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 to
-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 Library 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
-</pre>
-</div>
-
-<div class="footer">
- <div class="helpindexlink"><a href="index.html">Index</a></div>
- <div class="copyright">Copyright &copy; 2005 Moxiecode Systems AB</div>
- <br style="clear: both" />
-</div>
-
-</body>
-</html>
diff --git a/wp-inst/wp-includes/js/tinymce/license.txt b/wp-inst/wp-includes/js/tinymce/license.txt
deleted file mode 100644
index 3b0396a..0000000
--- a/wp-inst/wp-includes/js/tinymce/license.txt
+++ /dev/null
@@ -1,437 +0,0 @@
- GNU LIBRARY GENERAL PUBLIC LICENSE
- Version 2, June 1991
-
- Copyright (C) 1991 Free Software Foundation, Inc.
- 59 Temple Place, Suite 330, Boston, MA 02111-1307 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 library GPL. It is
- numbered 2 because it goes with version 2 of the ordinary GPL.]
-
- 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 Library General Public License, applies to some
-specially designated Free Software Foundation software, and to any
-other libraries whose authors decide to use it. You can use it for
-your libraries, 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 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 a program 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.
-
- Our method of protecting your rights has two steps: (1) copyright
-the library, and (2) offer you this license which gives you legal
-permission to copy, distribute and/or modify the library.
-
- Also, for each distributor's protection, we want to make certain
-that everyone understands that there is no warranty for this free
-library. If the library is modified by someone else and passed on, we
-want its recipients to know that what they have is not the original
-version, 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 companies distributing free
-software will individually obtain patent licenses, thus in effect
-transforming the program into proprietary software. To prevent this,
-we have made it clear that any patent must be licensed for everyone's
-free use or not licensed at all.
-
- Most GNU software, including some libraries, is covered by the ordinary
-GNU General Public License, which was designed for utility programs. This
-license, the GNU Library General Public License, applies to certain
-designated libraries. This license is quite different from the ordinary
-one; be sure to read it in full, and don't assume that anything in it is
-the same as in the ordinary license.
-
- The reason we have a separate public license for some libraries is that
-they blur the distinction we usually make between modifying or adding to a
-program and simply using it. Linking a program with a library, without
-changing the library, is in some sense simply using the library, and is
-analogous to running a utility program or application program. However, in
-a textual and legal sense, the linked executable is a combined work, a
-derivative of the original library, and the ordinary General Public License
-treats it as such.
-
- Because of this blurred distinction, using the ordinary General
-Public License for libraries did not effectively promote software
-sharing, because most developers did not use the libraries. We
-concluded that weaker conditions might promote sharing better.
-
- However, unrestricted linking of non-free programs would deprive the
-users of those programs of all benefit from the free status of the
-libraries themselves. This Library General Public License is intended to
-permit developers of non-free programs to use free libraries, while
-preserving your freedom as a user of such programs to change the free
-libraries that are incorporated in them. (We have not seen how to achieve
-this as regards changes in header files, but we have achieved it as regards
-changes in the actual functions of the Library.) The hope is that this
-will lead to faster development of free libraries.
-
- 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, while the latter only
-works together with the library.
-
- Note that it is possible for a library to be covered by the ordinary
-General Public License rather than by this special one.
-.
- GNU LIBRARY GENERAL PUBLIC LICENSE
- TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
-
- 0. This License Agreement applies to any software library which
-contains a notice placed by the copyright holder or other authorized
-party saying it may be distributed under the terms of this Library
-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 compile 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) 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.
-
- c) 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.
-
- d) 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 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.
-
- 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 to
-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 Library 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
diff --git a/wp-inst/wp-includes/js/tinymce/plugins/autosave/editor_plugin.js b/wp-inst/wp-includes/js/tinymce/plugins/autosave/editor_plugin.js
deleted file mode 100644
index 4b88d2e..0000000
--- a/wp-inst/wp-includes/js/tinymce/plugins/autosave/editor_plugin.js
+++ /dev/null
@@ -1,48 +0,0 @@
-/**
- * $RCSfile: editor_plugin_src.js,v $
- * $Revision: 1.11 $
- * $Date: 2006/03/22 12:21:21 $
- *
- * @author Moxiecode
- * @copyright Copyright © 2004-2006, Moxiecode Systems AB, All rights reserved.
- */
-
-/* Import plugin specific language pack */
-tinyMCE.importPluginLanguagePack('autosave', 'en,tr,sv,cs,he,nb,hu,de,da,ru,ru_KOI8-R,ru_UTF-8,nn,fi,cy,es,is,pl,pt_br');
-
-var TinyMCE_AutoSavePlugin = {
- getInfo : function() {
- return {
- longname : 'Auto save',
- author : 'Moxiecode Systems',
- authorurl : 'http://tinymce.moxiecode.com',
- infourl : 'http://tinymce.moxiecode.com/tinymce/docs/plugin_autosave.html',
- version : tinyMCE.majorVersion + "." + tinyMCE.minorVersion
- };
- },
-
- // Private plugin internal methods
-
- _beforeUnloadHandler : function() {
- var n, inst, anyDirty = false, msg = tinyMCE.getLang("lang_autosave_unload_msg");
-
- if (tinyMCE.getParam("fullscreen_is_enabled"))
- return;
-
- for (n in tinyMCE.instances) {
- inst = tinyMCE.instances[n];
-
- if (!tinyMCE.isInstance(inst))
- continue;
-
- if (inst.isDirty())
- return msg;
- }
-
- return;
- }
-};
-
-window.onbeforeunload = TinyMCE_AutoSavePlugin._beforeUnloadHandler;
-
-tinyMCE.addPlugin("autosave", TinyMCE_AutoSavePlugin);
diff --git a/wp-inst/wp-includes/js/tinymce/plugins/autosave/editor_plugin_src.js b/wp-inst/wp-includes/js/tinymce/plugins/autosave/editor_plugin_src.js
deleted file mode 100644
index 102d69b..0000000
--- a/wp-inst/wp-includes/js/tinymce/plugins/autosave/editor_plugin_src.js
+++ /dev/null
@@ -1,30 +0,0 @@
-/* Import plugin specific language pack */
-tinyMCE.importPluginLanguagePack('autosave', 'en,sv,cs,he,no,hu,de,da,ru,ru_KOI8-R,ru_UTF-8,fi,cy,es,is,pl');
-
-function TinyMCE_autosave_getInfo() {
- return {
- longname : 'Auto save',
- author : 'Moxiecode Systems',
- authorurl : 'http://tinymce.moxiecode.com',
- infourl : 'http://tinymce.moxiecode.com/tinymce/docs/plugin_autosave.html',
- version : tinyMCE.majorVersion + "." + tinyMCE.minorVersion
- };
-};
-
-function TinyMCE_autosave_beforeUnloadHandler() {
- var msg = tinyMCE.getLang("lang_autosave_unload_msg");
-
- var anyDirty = false;
- for (var n in tinyMCE.instances) {
- var inst = tinyMCE.instances[n];
- if (!tinyMCE.isInstance(inst))
- continue;
-
- if (inst.isDirty())
- return msg;
- }
-
- return;
-}
-
-window.onbeforeunload = TinyMCE_autosave_beforeUnloadHandler;
diff --git a/wp-inst/wp-includes/js/tinymce/plugins/autosave/langs/cs.js b/wp-inst/wp-includes/js/tinymce/plugins/autosave/langs/cs.js
deleted file mode 100644
index e69de29..0000000
--- a/wp-inst/wp-includes/js/tinymce/plugins/autosave/langs/cs.js
+++ /dev/null
diff --git a/wp-inst/wp-includes/js/tinymce/plugins/autosave/langs/en.js b/wp-inst/wp-includes/js/tinymce/plugins/autosave/langs/en.js
deleted file mode 100644
index 0195133..0000000
--- a/wp-inst/wp-includes/js/tinymce/plugins/autosave/langs/en.js
+++ /dev/null
@@ -1,5 +0,0 @@
-// EN lang variables
-
-tinyMCE.addToLang('',{
-autosave_unload_msg : 'The changes you made will be lost if you navigate away from this page.'
-});
diff --git a/wp-inst/wp-includes/js/tinymce/plugins/autosave/langs/sv.js b/wp-inst/wp-includes/js/tinymce/plugins/autosave/langs/sv.js
deleted file mode 100644
index e69de29..0000000
--- a/wp-inst/wp-includes/js/tinymce/plugins/autosave/langs/sv.js
+++ /dev/null
diff --git a/wp-inst/wp-includes/js/tinymce/plugins/autosave/readme.txt b/wp-inst/wp-includes/js/tinymce/plugins/autosave/readme.txt
deleted file mode 100644
index 4fdb78a..0000000
--- a/wp-inst/wp-includes/js/tinymce/plugins/autosave/readme.txt
+++ /dev/null
@@ -1 +0,0 @@
-Check the TinyMCE documentation for details on this plugin.
diff --git a/wp-inst/wp-includes/js/tinymce/plugins/directionality/editor_plugin.js b/wp-inst/wp-includes/js/tinymce/plugins/directionality/editor_plugin.js
deleted file mode 100644
index c866b53..0000000
--- a/wp-inst/wp-includes/js/tinymce/plugins/directionality/editor_plugin.js
+++ /dev/null
@@ -1,83 +0,0 @@
-/* Import plugin specific language pack */
-tinyMCE.importPluginLanguagePack('directionality', 'en,sv,fr_ca,zh_cn,cs,da,he,no,de,hu,ru,ru_KOI8-R,ru_UTF-8,es,cy,is,pl');
-
-function TinyMCE_directionality_getInfo() {
- return {
- longname : 'Directionality',
- author : 'Moxiecode Systems',
- authorurl : 'http://tinymce.moxiecode.com',
- infourl : 'http://tinymce.moxiecode.com/tinymce/docs/plugin_directionality.html',
- version : tinyMCE.majorVersion + "." + tinyMCE.minorVersion
- };
-};
-
-function TinyMCE_directionality_getControlHTML(control_name) {
- switch (control_name) {
- case "ltr":
- var cmd = 'tinyMCE.execInstanceCommand(\'{$editor_id}\',\'mceDirectionLTR\');return false;';
- return '<a href="javascript:' + cmd + '" onclick="' + cmd + '" target="_self" onmousedown="return false;"><img id="{$editor_id}_ltr" src="{$pluginurl}/images/ltr.gif" title="{$lang_directionality_ltr_desc}" width="20" height="20" class="mceButtonNormal" onmouseover="tinyMCE.switchClass(this,\'mceButtonOver\');" onmouseout="tinyMCE.restoreClass(this);" onmousedown="tinyMCE.restoreAndSwitchClass(this,\'mceButtonDown\');" /></a>'
- + '<div class="zerosize"><input type="button" accesskey="." onclick="tinyMCE.execInstanceCommand(\'{$editor_id}\',\'mceDirectionLTR\',false);" /></div>';
-
- case "rtl":
- var cmd = 'tinyMCE.execInstanceCommand(\'{$editor_id}\',\'mceDirectionRTL\');return false;';
- return '<a href="javascript:' + cmd + '" onclick="' + cmd + '" target="_self" onmousedown="return false;"><img id="{$editor_id}_rtl" src="{$pluginurl}/images/rtl.gif" title="{$lang_directionality_rtl_desc}" width="20" height="20" class="mceButtonNormal" onmouseover="tinyMCE.switchClass(this,\'mceButtonOver\');" onmouseout="tinyMCE.restoreClass(this);" onmousedown="tinyMCE.restoreAndSwitchClass(this,\'mceButtonDown\');" /></a>'
- + '<div class="zerosize"><input type="button" accesskey="," onclick="tinyMCE.execInstanceCommand(\'{$editor_id}\',\'mceDirectionRTL\',false);" /></div>';
- }
-
- return "";
-}
-
-function TinyMCE_directionality_execCommand(editor_id, element, command, user_interface, value) {
- // Handle commands
- switch (command) {
- case "mceDirectionLTR":
- var inst = tinyMCE.getInstanceById(editor_id);
- var elm = tinyMCE.getParentElement(inst.getFocusElement(), "p,div,td,h1,h2,h3,h4,h5,h6,pre,address");
-
- if (elm)
- elm.setAttribute("dir", "ltr");
-
- tinyMCE.triggerNodeChange(false);
- return true;
-
- case "mceDirectionRTL":
- var inst = tinyMCE.getInstanceById(editor_id);
- var elm = tinyMCE.getParentElement(inst.getFocusElement(), "p,div,td,h1,h2,h3,h4,h5,h6,pre,address");
-
- if (elm)
- elm.setAttribute("dir", "rtl");
-
- tinyMCE.triggerNodeChange(false);
- return true;
- }
-
- // Pass to next handler in chain
- return false;
-}
-
-function TinyMCE_directionality_handleNodeChange(editor_id, node, undo_index, undo_levels, visual_aid, any_selection) {
- function getAttrib(elm, name) {
- return elm.getAttribute(name) ? elm.getAttribute(name) : "";
- }
-
- tinyMCE.switchClassSticky(editor_id + '_ltr', 'mceButtonNormal', false);
- tinyMCE.switchClassSticky(editor_id + '_rtl', 'mceButtonNormal', false);
-
- if (node == null)
- return;
-
- var elm = tinyMCE.getParentElement(node, "p,div,td,h1,h2,h3,h4,h5,h6,pre,address");
- if (!elm) {
- tinyMCE.switchClassSticky(editor_id + '_ltr', 'mceButtonDisabled', true);
- tinyMCE.switchClassSticky(editor_id + '_rtl', 'mceButtonDisabled', true);
- return;
- }
-
- var dir = getAttrib(elm, "dir");
- if (dir == "ltr" || dir == "")
- tinyMCE.switchClassSticky(editor_id + '_ltr', 'mceButtonSelected', false);
- else
- tinyMCE.switchClassSticky(editor_id + '_rtl', 'mceButtonSelected', false);
-
- return true;
-}
diff --git a/wp-inst/wp-includes/js/tinymce/plugins/directionality/images/ltr.gif b/wp-inst/wp-includes/js/tinymce/plugins/directionality/images/ltr.gif
deleted file mode 100644
index ac8f30c..0000000
--- a/wp-inst/wp-includes/js/tinymce/plugins/directionality/images/ltr.gif
+++ /dev/null
Binary files differ
diff --git a/wp-inst/wp-includes/js/tinymce/plugins/directionality/images/rtl.gif b/wp-inst/wp-includes/js/tinymce/plugins/directionality/images/rtl.gif
deleted file mode 100644
index 0348f99..0000000
--- a/wp-inst/wp-includes/js/tinymce/plugins/directionality/images/rtl.gif
+++ /dev/null
Binary files differ
diff --git a/wp-inst/wp-includes/js/tinymce/plugins/directionality/langs/en.js b/wp-inst/wp-includes/js/tinymce/plugins/directionality/langs/en.js
deleted file mode 100644
index 5b392fe..0000000
--- a/wp-inst/wp-includes/js/tinymce/plugins/directionality/langs/en.js
+++ /dev/null
@@ -1,6 +0,0 @@
-// UK lang variables
-
-tinyMCE.addToLang('',{
-directionality_ltr_desc : 'Direction left to right (Alt-.)',
-directionality_rtl_desc : 'Direction right to left (Alt-,)'
-});
diff --git a/wp-inst/wp-includes/js/tinymce/plugins/inlinepopups/css/inlinepopup.css b/wp-inst/wp-includes/js/tinymce/plugins/inlinepopups/css/inlinepopup.css
deleted file mode 100644
index 43be823..0000000
--- a/wp-inst/wp-includes/js/tinymce/plugins/inlinepopups/css/inlinepopup.css
+++ /dev/null
@@ -1,69 +0,0 @@
-/* Window classes */
-
-.mceWindow {
- position: absolute;
- left: 0;
- top: 0;
- border: 1px solid black;
- background-color: #D4D0C8;
-}
-
-.mceWindowHead {
- background-color: #334F8D;
- width: 100%;
- height: 18px;
- cursor: move;
- overflow: hidden;
-}
-
-.mceWindowBody {
- clear: both;
- background-color: white;
-}
-
-.mceWindowStatusbar {
- background-color: #D4D0C8;
- height: 12px;
- border-top: 1px solid black;
-}
-
-.mceWindowTitle {
- float: left;
- font-family: "MS Sans Serif";
- font-size: 9pt;
- font-weight: bold;
- line-height: 18px;
- color: white;
- margin-left: 2px;
- overflow: hidden;
-}
-
-.mceWindowHeadTools {
- margin-right: 2px;
-}
-
-.mceWindowClose, .mceWindowMinimize, .mceWindowMaximize {
- display: block;
- float: right;
- overflow: hidden;
- margin-top: 2px;
-}
-
-.mceWindowClose {
- margin-left: 2px;
-}
-
-.mceWindowMinimize {
-}
-
-.mceWindowMaximize {
-}
-
-.mceWindowResize {
- display: block;
- float: right;
- overflow: hidden;
- cursor: se-resize;
- width: 12px;
- height: 12px;
-}
diff --git a/wp-inst/wp-includes/js/tinymce/plugins/inlinepopups/editor_plugin.js b/wp-inst/wp-includes/js/tinymce/plugins/inlinepopups/editor_plugin.js
deleted file mode 100644
index 74d1805..0000000
--- a/wp-inst/wp-includes/js/tinymce/plugins/inlinepopups/editor_plugin.js
+++ /dev/null
@@ -1,665 +0,0 @@
-/**
- * $RCSfile: editor_plugin_src.js,v $
- * $Revision: 1.8 $
- * $Date: 2006/02/06 20:02:38 $
- *
- * Moxiecode DHTML Windows script.
- *
- * @author Moxiecode
- * @copyright Copyright © 2004-2006, Moxiecode Systems AB, All rights reserved.
- */
-
-// Patch openWindow, closeWindow TinyMCE functions
-
-var TinyMCE_InlinePopupsPlugin = {
- getInfo : function() {
- return {
- longname : 'Inline Popups',
- author : 'Moxiecode Systems',
- authorurl : 'http://tinymce.moxiecode.com',
- infourl : 'http://tinymce.moxiecode.com/tinymce/docs/plugin_inlinepopups.html',
- version : tinyMCE.majorVersion + "." + tinyMCE.minorVersion
- };
- }
-};
-
-tinyMCE.addPlugin("inlinepopups", TinyMCE_InlinePopupsPlugin);
-
-// Patch openWindow, closeWindow TinyMCE functions
-
-TinyMCE_Engine.prototype.orgOpenWindow = TinyMCE_Engine.prototype.openWindow;
-
-TinyMCE_Engine.prototype.openWindow = function(template, args) {
- // Does the caller support inline
- if (args['inline'] != "yes" || tinyMCE.isOpera || tinyMCE.getParam("plugins").indexOf('inlinepopups') == -1) {
- mcWindows.selectedWindow = null;
- args['mce_inside_iframe'] = false;
- this.orgOpenWindow(template, args);
- return;
- }
-
- var url, resizable, scrollbars;
-
- args['mce_inside_iframe'] = true;
- tinyMCE.windowArgs = args;
-
- if (template['file'].charAt(0) != '/' && template['file'].indexOf('://') == -1)
- url = tinyMCE.baseURL + "/themes/" + tinyMCE.getParam("theme") + "/" + template['file'];
- else
- url = template['file'];
-
- if (!(width = parseInt(template['width'])))
- width = 320;
-
- if (!(height = parseInt(template['height'])))
- height = 200;
-
- resizable = (args && args['resizable']) ? args['resizable'] : "no";
- scrollbars = (args && args['scrollbars']) ? args['scrollbars'] : "no";
-
- height += 18;
-
- // Replace all args as variables in URL
- for (var name in args) {
- if (typeof(args[name]) == 'function')
- continue;
-
- url = tinyMCE.replaceVar(url, name, escape(args[name]));
- }
-
- var elm = document.getElementById(this.selectedInstance.editorId + '_parent');
- var pos = tinyMCE.getAbsPosition(elm);
-
- // Center div in editor area
- pos.absLeft += Math.round((elm.firstChild.clientWidth / 2) - (width / 2));
- pos.absTop += Math.round((elm.firstChild.clientHeight / 2) - (height / 2));
-
- url += tinyMCE.settings['imp_version'] ? (url.indexOf('?')==-1?'?':'&') + 'ver=' + tinyMCE.settings['imp_version'] : '';
-
- mcWindows.open(url, mcWindows.idCounter++, "modal=yes,width=" + width+ ",height=" + height + ",resizable=" + resizable + ",scrollbars=" + scrollbars + ",statusbar=" + resizable + ",left=" + pos.absLeft + ",top=" + pos.absTop);
-};
-
-TinyMCE_Engine.prototype.orgCloseWindow = TinyMCE_Engine.prototype.closeWindow;
-
-TinyMCE_Engine.prototype.closeWindow = function(win) {
- if (mcWindows.selectedWindow != null)
- mcWindows.selectedWindow.close();
- else
- this.orgCloseWindow(win);
-};
-
-TinyMCE_Engine.prototype.setWindowTitle = function(win_ref, title) {
- for (var n in mcWindows.windows) {
- var win = mcWindows.windows[n];
- if (typeof(win) == 'function')
- continue;
-
- if (win_ref.name == win.id + "_iframe")
- window.frames[win.id + "_iframe"].document.getElementById(win.id + '_title').innerHTML = title;
- }
-};
-
-// * * * * * TinyMCE_Windows classes below
-
-// Windows handler
-function TinyMCE_Windows() {
- this.settings = new Array();
- this.windows = new Array();
- this.isMSIE = (navigator.appName == "Microsoft Internet Explorer");
- this.isGecko = navigator.userAgent.indexOf('Gecko') != -1;
- this.isSafari = navigator.userAgent.indexOf('Safari') != -1;
- this.isMac = navigator.userAgent.indexOf('Mac') != -1;
- this.isMSIE5_0 = this.isMSIE && (navigator.userAgent.indexOf('MSIE 5.0') != -1);
- this.action = "none";
- this.selectedWindow = null;
- this.lastSelectedWindow = null;
- this.zindex = 100;
- this.mouseDownScreenX = 0;
- this.mouseDownScreenY = 0;
- this.mouseDownLayerX = 0;
- this.mouseDownLayerY = 0;
- this.mouseDownWidth = 0;
- this.mouseDownHeight = 0;
- this.idCounter = 0;
-};
-
-TinyMCE_Windows.prototype.init = function(settings) {
- this.settings = settings;
-
- if (this.isMSIE)
- this.addEvent(document, "mousemove", mcWindows.eventDispatcher);
- else
- this.addEvent(window, "mousemove", mcWindows.eventDispatcher);
-
- this.addEvent(document, "mouseup", mcWindows.eventDispatcher);
-
- this.doc = document;
-};
-
-TinyMCE_Windows.prototype.getParam = function(name, default_value) {
- var value = null;
-
- value = (typeof(this.settings[name]) == "undefined") ? default_value : this.settings[name];
-
- // Fix bool values
- if (value == "true" || value == "false")
- return (value == "true");
-
- return value;
-};
-
-TinyMCE_Windows.prototype.eventDispatcher = function(e) {
- e = typeof(e) == "undefined" ? window.event : e;
-
- if (mcWindows.selectedWindow == null)
- return;
-
- // Switch focus
- if (mcWindows.isGecko && e.type == "mousedown") {
- var elm = e.currentTarget;
-
- for (var n in mcWindows.windows) {
- var win = mcWindows.windows[n];
-
- if (win.headElement == elm || win.resizeElement == elm) {
- win.focus();
- break;
- }
- }
- }
-
- switch (e.type) {
- case "mousemove":
- mcWindows.selectedWindow.onMouseMove(e);
- break;
-
- case "mouseup":
- mcWindows.selectedWindow.onMouseUp(e);
- break;
-
- case "mousedown":
- mcWindows.selectedWindow.onMouseDown(e);
- break;
-
- case "focus":
- mcWindows.selectedWindow.onFocus(e);
- break;
- }
-};
-
-TinyMCE_Windows.prototype.addEvent = function(obj, name, handler) {
- if (this.isMSIE)
- obj.attachEvent("on" + name, handler);
- else
- obj.addEventListener(name, handler, true);
-};
-
-TinyMCE_Windows.prototype.cancelEvent = function(e) {
- if (this.isMSIE) {
- e.returnValue = false;
- e.cancelBubble = true;
- } else
- e.preventDefault();
-};
-
-TinyMCE_Windows.prototype.parseFeatures = function(opts) {
- // Cleanup the options
- opts = opts.toLowerCase();
- opts = opts.replace(/;/g, ",");
- opts = opts.replace(/[^0-9a-z=,]/g, "");
-
- var optionChunks = opts.split(',');
- var options = new Array();
-
- options['left'] = "10";
- options['top'] = "10";
- options['width'] = "300";
- options['height'] = "300";
- options['resizable'] = "yes";
- options['minimizable'] = "yes";
- options['maximizable'] = "yes";
- options['close'] = "yes";
- options['movable'] = "yes";
- options['statusbar'] = "yes";
- options['scrollbars'] = "auto";
- options['modal'] = "no";
-
- if (opts == "")
- return options;
-
- for (var i=0; i<optionChunks.length; i++) {
- var parts = optionChunks[i].split('=');
-
- if (parts.length == 2)
- options[parts[0]] = parts[1];
- }
-
- options['left'] = parseInt(options['left']);
- options['top'] = parseInt(options['top']);
- options['width'] = parseInt(options['width']);
- options['height'] = parseInt(options['height']);
-
- return options;
-};
-
-TinyMCE_Windows.prototype.open = function(url, name, features) {
- this.lastSelectedWindow = this.selectedWindow;
-
- var win = new TinyMCE_Window();
- var winDiv, html = "", id;
- var imgPath = this.getParam("images_path");
-
- features = this.parseFeatures(features);
-
- // Create div
- id = "mcWindow_" + name;
- win.deltaHeight = 18;
-
- if (features['statusbar'] == "yes") {
- win.deltaHeight += 13;
-
- if (this.isMSIE)
- win.deltaHeight += 1;
- }
-
- width = parseInt(features['width']);
- height = parseInt(features['height'])-win.deltaHeight;
-
- if (this.isMSIE)
- width -= 2;
-
- // Setup first part of window
- win.id = id;
- win.url = url;
- win.name = name;
- win.features = features;
- this.windows[name] = win;
-
- iframeWidth = width;
- iframeHeight = height;
-
- // Create inner content
- html += '<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">';
- html += '<html>';
- html += '<head>';
- html += '<title>Wrapper iframe</title>';
- html += '<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">';
- html += '<link href="' + this.getParam("css_file") + '" rel="stylesheet" type="text/css" />';
- if ( this.isMac ) html += '<style type="text/css">.mceWindowTitle{float:none;margin:0;text-align:center;}.mceWindowClose{float:none;position:absolute;left:0px;top:0px;}</style>';
- html += '</head>';
- html += '<body onload="parent.mcWindows.onLoad(\'' + name + '\');">';
-
- html += '<div id="' + id + '_container" class="mceWindow">';
- html += '<div id="' + id + '_head" class="mceWindowHead" onmousedown="parent.mcWindows.windows[\'' + name + '\'].focus();">';
- html += ' <div id="' + id + '_title" class="mceWindowTitle"';
- html += ' onselectstart="return false;" unselectable="on" style="-moz-user-select: none !important;"></div>';
- html += ' <div class="mceWindowHeadTools">';
- html += ' <a href="javascript:parent.mcWindows.windows[\'' + name + '\'].close();" target="_self" onmousedown="return false;" class="mceWindowClose"><img border="0" src="' + imgPath + '/window_close.gif" /></a>';
-// html += ' <a href="javascript:mcWindows.windows[\'' + name + '\'].maximize();" target="_self" onmousedown="return false;" class="mceWindowMaximize"></a>';
-// html += ' <a href="javascript:mcWindows.windows[\'' + name + '\'].minimize();" target="_self" onmousedown="return false;" class="mceWindowMinimize"></a>';
- html += ' </div>';
- html += '</div><div id="' + id + '_body" class="mceWindowBody" style="width: ' + width + 'px; height: ' + height + 'px;">';
- html += '<iframe id="' + id + '_iframe" name="' + id + '_iframe" frameborder="0" width="' + iframeWidth + '" height="' + iframeHeight + '" src="' + url + '" class="mceWindowBodyIframe" scrolling="' + features['scrollbars'] + '"></iframe></div>';
-
- if (features['statusbar'] == "yes") {
- html += '<div id="' + id + '_statusbar" class="mceWindowStatusbar" onmousedown="parent.mcWindows.windows[\'' + name + '\'].focus();">';
-
- if (features['resizable'] == "yes") {
- if (this.isGecko)
- html += '<div id="' + id + '_resize" class="mceWindowResize"><div style="background-image: url(\'' + imgPath + '/window_resize.gif\'); width: 12px; height: 12px;"></div></div>';
- else
- html += '<div id="' + id + '_resize" class="mceWindowResize"><img onmousedown="parent.mcWindows.windows[\'' + name + '\'].focus();" border="0" src="' + imgPath + '/window_resize.gif" /></div>';
- }
-
- html += '</div>';
- }
-
- html += '</div>';
-
- html += '</body>';
- html += '</html>';
-
- // Create iframe
- this.createFloatingIFrame(id, features['left'], features['top'], features['width'], features['height'], html);
-};
-
-// Blocks the document events by placing a image over the whole document
-TinyMCE_Windows.prototype.setDocumentLock = function(state) {
- if (state) {
- var elm = document.getElementById('mcWindowEventBlocker');
- if (elm == null) {
- elm = document.createElement("div");
-
- elm.id = "mcWindowEventBlocker";
- elm.style.position = "absolute";
- elm.style.left = "0";
- elm.style.top = "0";
-
- document.body.appendChild(elm);
- }
-
- elm.style.display = "none";
-
- var imgPath = this.getParam("images_path");
- var width = document.body.clientWidth;
- var height = document.body.clientHeight;
-
- elm.style.width = width;
- elm.style.height = height;
- elm.innerHTML = '<img src="' + imgPath + '/spacer.gif" width="' + width + '" height="' + height + '" />';
-
- elm.style.zIndex = mcWindows.zindex-1;
- elm.style.display = "block";
- } else {
- var elm = document.getElementById('mcWindowEventBlocker');
-
- if (mcWindows.windows.length == 0)
- elm.parentNode.removeChild(elm);
- else
- elm.style.zIndex = mcWindows.zindex-1;
- }
-};
-
-// Gets called when wrapper iframe is initialized
-TinyMCE_Windows.prototype.onLoad = function(name) {
- var win = mcWindows.windows[name];
- var id = "mcWindow_" + name;
- var wrapperIframe = window.frames[id + "_iframe"].frames[0];
- var wrapperDoc = window.frames[id + "_iframe"].document;
- var doc = window.frames[id + "_iframe"].document;
- var winDiv = document.getElementById("mcWindow_" + name + "_div");
- var realIframe = window.frames[id + "_iframe"].frames[0];
-
- // Set window data
- win.id = "mcWindow_" + name;
- win.winElement = winDiv;
- win.bodyElement = doc.getElementById(id + '_body');
- win.iframeElement = doc.getElementById(id + '_iframe');
- win.headElement = doc.getElementById(id + '_head');
- win.titleElement = doc.getElementById(id + '_title');
- win.resizeElement = doc.getElementById(id + '_resize');
- win.containerElement = doc.getElementById(id + '_container');
- win.left = win.features['left'];
- win.top = win.features['top'];
- win.frame = window.frames[id + '_iframe'].frames[0];
- win.wrapperFrame = window.frames[id + '_iframe'];
- win.wrapperIFrameElement = document.getElementById(id + "_iframe");
-
- // Add event handlers
- mcWindows.addEvent(win.headElement, "mousedown", mcWindows.eventDispatcher);
-
- if (win.resizeElement != null)
- mcWindows.addEvent(win.resizeElement, "mousedown", mcWindows.eventDispatcher);
-
- if (mcWindows.isMSIE) {
- mcWindows.addEvent(realIframe.document, "mousemove", mcWindows.eventDispatcher);
- mcWindows.addEvent(realIframe.document, "mouseup", mcWindows.eventDispatcher);
- } else {
- mcWindows.addEvent(realIframe, "mousemove", mcWindows.eventDispatcher);
- mcWindows.addEvent(realIframe, "mouseup", mcWindows.eventDispatcher);
- mcWindows.addEvent(realIframe, "focus", mcWindows.eventDispatcher);
- }
-
- for (var i=0; i<window.frames.length; i++) {
- if (!window.frames[i]._hasMouseHandlers) {
- if (mcWindows.isMSIE) {
- mcWindows.addEvent(window.frames[i].document, "mousemove", mcWindows.eventDispatcher);
- mcWindows.addEvent(window.frames[i].document, "mouseup", mcWindows.eventDispatcher);
- } else {
- mcWindows.addEvent(window.frames[i], "mousemove", mcWindows.eventDispatcher);
- mcWindows.addEvent(window.frames[i], "mouseup", mcWindows.eventDispatcher);
- }
-
- window.frames[i]._hasMouseHandlers = true;
- }
- }
-
- if (mcWindows.isMSIE) {
- mcWindows.addEvent(win.frame.document, "mousemove", mcWindows.eventDispatcher);
- mcWindows.addEvent(win.frame.document, "mouseup", mcWindows.eventDispatcher);
- } else {
- mcWindows.addEvent(win.frame, "mousemove", mcWindows.eventDispatcher);
- mcWindows.addEvent(win.frame, "mouseup", mcWindows.eventDispatcher);
- mcWindows.addEvent(win.frame, "focus", mcWindows.eventDispatcher);
- }
-
- // Dispatch open window event
- var func = this.getParam("on_open_window", "");
- if (func != "")
- eval(func + "(win);");
-
- win.focus();
-
- if (win.features['modal'] == "yes")
- mcWindows.setDocumentLock(true);
-};
-
-TinyMCE_Windows.prototype.createFloatingIFrame = function(id_prefix, left, top, width, height, html) {
- var iframe = document.createElement("iframe");
- var div = document.createElement("div");
-
- width = parseInt(width);
- height = parseInt(height)+1;
-
- // Create wrapper div
- div.setAttribute("id", id_prefix + "_div");
- div.setAttribute("width", width);
- div.setAttribute("height", (height));
- div.style.position = "absolute";
- div.style.left = left + "px";
- div.style.top = top + "px";
- div.style.width = width + "px";
- div.style.height = (height) + "px";
- div.style.backgroundColor = "white";
- div.style.display = "none";
-
- if (this.isGecko) {
- iframeWidth = width + 2;
- iframeHeight = height + 2;
- } else {
- iframeWidth = width;
- iframeHeight = height + 1;
- }
-
- // Create iframe
- iframe.setAttribute("id", id_prefix + "_iframe");
- iframe.setAttribute("name", id_prefix + "_iframe");
- iframe.setAttribute("border", "0");
- iframe.setAttribute("frameBorder", "0");
- iframe.setAttribute("marginWidth", "0");
- iframe.setAttribute("marginHeight", "0");
- iframe.setAttribute("leftMargin", "0");
- iframe.setAttribute("topMargin", "0");
- iframe.setAttribute("width", iframeWidth);
- iframe.setAttribute("height", iframeHeight);
-// iframe.setAttribute("src", "../jscripts/tiny_mce/blank.htm");
- // iframe.setAttribute("allowtransparency", "false");
- iframe.setAttribute("scrolling", "no");
- iframe.style.width = iframeWidth + "px";
- iframe.style.height = iframeHeight + "px";
- iframe.style.backgroundColor = "white";
- div.appendChild(iframe);
-
- document.body.appendChild(div);
-
- // Fixed MSIE 5.0 issue
- div.innerHTML = div.innerHTML;
-
- if (this.isSafari) {
- // Give Safari some time to setup
- window.setTimeout(function() {
- doc = window.frames[id_prefix + '_iframe'].document;
- doc.open();
- doc.write(html);
- doc.close();
- }, 10);
- } else {
- doc = window.frames[id_prefix + '_iframe'].window.document;
- doc.open();
- doc.write(html);
- doc.close();
- }
-
- div.style.display = "block";
-
- return div;
-};
-
-// Window instance
-function TinyMCE_Window() {
-};
-
-TinyMCE_Window.prototype.focus = function() {
- if (this != mcWindows.selectedWindow) {
- this.winElement.style.zIndex = ++mcWindows.zindex;
- mcWindows.lastSelectedWindow = mcWindows.selectedWindow;
- mcWindows.selectedWindow = this;
- }
-};
-
-TinyMCE_Window.prototype.minimize = function() {
-};
-
-TinyMCE_Window.prototype.maximize = function() {
-
-};
-
-TinyMCE_Window.prototype.startResize = function() {
- mcWindows.action = "resize";
-};
-
-TinyMCE_Window.prototype.startMove = function(e) {
- mcWindows.action = "move";
-};
-
-TinyMCE_Window.prototype.close = function() {
- if (this.frame && this.frame['tinyMCEPopup'])
- this.frame['tinyMCEPopup'].restoreSelection();
-
- if (mcWindows.lastSelectedWindow != null)
- mcWindows.lastSelectedWindow.focus();
-
- var mcWindowsNew = new Array();
- for (var n in mcWindows.windows) {
- var win = mcWindows.windows[n];
- if (typeof(win) == 'function')
- continue;
-
- if (win.name != this.name)
- mcWindowsNew[n] = win;
- }
-
- mcWindows.windows = mcWindowsNew;
-
-// alert(mcWindows.doc.getElementById(this.id + "_iframe"));
-
- var e = mcWindows.doc.getElementById(this.id + "_iframe");
- e.parentNode.removeChild(e);
-
- var e = mcWindows.doc.getElementById(this.id + "_div");
- e.parentNode.removeChild(e);
-
- mcWindows.setDocumentLock(false);
-};
-
-TinyMCE_Window.prototype.onMouseMove = function(e) {
- var scrollX = 0;//this.doc.body.scrollLeft;
- var scrollY = 0;//this.doc.body.scrollTop;
-
- // Calculate real X, Y
- var dx = e.screenX - mcWindows.mouseDownScreenX;
- var dy = e.screenY - mcWindows.mouseDownScreenY;
-
- switch (mcWindows.action) {
- case "resize":
- width = mcWindows.mouseDownWidth + (e.screenX - mcWindows.mouseDownScreenX);
- height = mcWindows.mouseDownHeight + (e.screenY - mcWindows.mouseDownScreenY);
-
- width = width < 100 ? 100 : width;
- height = height < 100 ? 100 : height;
-
- this.wrapperIFrameElement.style.width = width+2;
- this.wrapperIFrameElement.style.height = height+2;
- this.wrapperIFrameElement.width = width+2;
- this.wrapperIFrameElement.height = height+2;
- this.winElement.style.width = width;
- this.winElement.style.height = height;
-
- height = height - this.deltaHeight;
-
- this.containerElement.style.width = width;
-
- this.iframeElement.style.width = width;
- this.iframeElement.style.height = height;
- this.bodyElement.style.width = width;
- this.bodyElement.style.height = height;
- this.headElement.style.width = width;
- //this.statusElement.style.width = width;
-
- mcWindows.cancelEvent(e);
- break;
-
- case "move":
- this.left = mcWindows.mouseDownLayerX + (e.screenX - mcWindows.mouseDownScreenX);
- this.top = mcWindows.mouseDownLayerY + (e.screenY - mcWindows.mouseDownScreenY);
- this.winElement.style.left = this.left + "px";
- this.winElement.style.top = this.top + "px";
-
- mcWindows.cancelEvent(e);
- break;
- }
-};
-
-function debug(msg) {
- document.getElementById('debug').value += msg + "\n";
-}
-
-TinyMCE_Window.prototype.onMouseUp = function(e) {
- mcWindows.action = "none";
-};
-
-TinyMCE_Window.prototype.onFocus = function(e) {
- // Gecko only handler
- var winRef = e.currentTarget;
-
- for (var n in mcWindows.windows) {
- var win = mcWindows.windows[n];
- if (typeof(win) == 'function')
- continue;
-
- if (winRef.name == win.id + "_iframe") {
- win.focus();
- return;
- }
- }
-};
-
-TinyMCE_Window.prototype.onMouseDown = function(e) {
- var elm = mcWindows.isMSIE ? this.wrapperFrame.event.srcElement : e.target;
-
- var scrollX = 0;//this.doc.body.scrollLeft;
- var scrollY = 0;//this.doc.body.scrollTop;
-
- mcWindows.mouseDownScreenX = e.screenX;
- mcWindows.mouseDownScreenY = e.screenY;
- mcWindows.mouseDownLayerX = this.left;
- mcWindows.mouseDownLayerY = this.top;
- mcWindows.mouseDownWidth = parseInt(this.winElement.style.width);
- mcWindows.mouseDownHeight = parseInt(this.winElement.style.height);
-
- if (this.resizeElement != null && elm == this.resizeElement.firstChild)
- this.startResize(e);
- else
- this.startMove(e);
-
- mcWindows.cancelEvent(e);
-};
-
-// Global instance
-var mcWindows = new TinyMCE_Windows();
-
-// Initialize windows
-mcWindows.init({
- images_path : tinyMCE.baseURL + "/plugins/inlinepopups/images",
- css_file : tinyMCE.baseURL + "/plugins/inlinepopups/css/inlinepopup.css"
-});
diff --git a/wp-inst/wp-includes/js/tinymce/plugins/inlinepopups/editor_plugin_src.js b/wp-inst/wp-includes/js/tinymce/plugins/inlinepopups/editor_plugin_src.js
deleted file mode 100644
index e69de29..0000000
--- a/wp-inst/wp-includes/js/tinymce/plugins/inlinepopups/editor_plugin_src.js
+++ /dev/null
diff --git a/wp-inst/wp-includes/js/tinymce/plugins/inlinepopups/images/spacer.gif b/wp-inst/wp-includes/js/tinymce/plugins/inlinepopups/images/spacer.gif
deleted file mode 100644
index fc25609..0000000
--- a/wp-inst/wp-includes/js/tinymce/plugins/inlinepopups/images/spacer.gif
+++ /dev/null
Binary files differ
diff --git a/wp-inst/wp-includes/js/tinymce/plugins/inlinepopups/images/window_close.gif b/wp-inst/wp-includes/js/tinymce/plugins/inlinepopups/images/window_close.gif
deleted file mode 100644
index 3469e5a..0000000
--- a/wp-inst/wp-includes/js/tinymce/plugins/inlinepopups/images/window_close.gif
+++ /dev/null
Binary files differ
diff --git a/wp-inst/wp-includes/js/tinymce/plugins/inlinepopups/images/window_maximize.gif b/wp-inst/wp-includes/js/tinymce/plugins/inlinepopups/images/window_maximize.gif
deleted file mode 100644
index fcae73e..0000000
--- a/wp-inst/wp-includes/js/tinymce/plugins/inlinepopups/images/window_maximize.gif
+++ /dev/null
Binary files differ
diff --git a/wp-inst/wp-includes/js/tinymce/plugins/inlinepopups/images/window_minimize.gif b/wp-inst/wp-includes/js/tinymce/plugins/inlinepopups/images/window_minimize.gif
deleted file mode 100644
index 94f167a..0000000
--- a/wp-inst/wp-includes/js/tinymce/plugins/inlinepopups/images/window_minimize.gif
+++ /dev/null
Binary files differ
diff --git a/wp-inst/wp-includes/js/tinymce/plugins/inlinepopups/images/window_resize.gif b/wp-inst/wp-includes/js/tinymce/plugins/inlinepopups/images/window_resize.gif
deleted file mode 100644
index 6c402d0..0000000
--- a/wp-inst/wp-includes/js/tinymce/plugins/inlinepopups/images/window_resize.gif
+++ /dev/null
Binary files differ
diff --git a/wp-inst/wp-includes/js/tinymce/plugins/inlinepopups/jscripts/mcwindows.js b/wp-inst/wp-includes/js/tinymce/plugins/inlinepopups/jscripts/mcwindows.js
deleted file mode 100644
index a88ffd7..0000000
--- a/wp-inst/wp-includes/js/tinymce/plugins/inlinepopups/jscripts/mcwindows.js
+++ /dev/null
@@ -1,455 +0,0 @@
-/**
- * $RCSfile: mcwindows.js,v $
- * $Revision: 1.2 $
- * $Date: 2005/10/18 13:59:43 $
- *
- * Moxiecode DHTML Windows script.
- *
- * @author Moxiecode
- * @copyright Copyright © 2004, Moxiecode Systems AB, All rights reserved.
- */
-
-// Windows handler
-function MCWindows() {
- this.settings = new Array();
- this.windows = new Array();
- this.isMSIE = (navigator.appName == "Microsoft Internet Explorer");
- this.isGecko = navigator.userAgent.indexOf('Gecko') != -1;
- this.isSafari = navigator.userAgent.indexOf('Safari') != -1;
- this.isMac = navigator.userAgent.indexOf('Mac') != -1;
- this.isMSIE5_0 = this.isMSIE && (navigator.userAgent.indexOf('MSIE 5.0') != -1);
- this.action = "none";
- this.selectedWindow = null;
- this.zindex = 100;
- this.mouseDownScreenX = 0;
- this.mouseDownScreenY = 0;
- this.mouseDownLayerX = 0;
- this.mouseDownLayerY = 0;
- this.mouseDownWidth = 0;
- this.mouseDownHeight = 0;
-};
-
-MCWindows.prototype.init = function(settings) {
- this.settings = settings;
-
- if (this.isMSIE)
- this.addEvent(document, "mousemove", mcWindows.eventDispatcher);
- else
- this.addEvent(window, "mousemove", mcWindows.eventDispatcher);
-
- this.addEvent(document, "mouseup", mcWindows.eventDispatcher);
-};
-
-MCWindows.prototype.getParam = function(name, default_value) {
- var value = null;
-
- value = (typeof(this.settings[name]) == "undefined") ? default_value : this.settings[name];
-
- // Fix bool values
- if (value == "true" || value == "false")
- return (value == "true");
-
- return value;
-};
-
-MCWindows.prototype.eventDispatcher = function(e) {
- e = typeof(e) == "undefined" ? window.event : e;
-
- if (mcWindows.selectedWindow == null)
- return;
-
- // Switch focus
- if (mcWindows.isGecko && e.type == "mousedown") {
- var elm = e.currentTarget;
-
- for (var n in mcWindows.windows) {
- var win = mcWindows.windows[n];
- if (typeof(win) == 'function')
- continue;
-
- if (win.headElement == elm || win.resizeElement == elm) {
- win.focus();
- break;
- }
- }
- }
-
- switch (e.type) {
- case "mousemove":
- mcWindows.selectedWindow.onMouseMove(e);
- break;
-
- case "mouseup":
- mcWindows.selectedWindow.onMouseUp(e);
- break;
-
- case "mousedown":
- mcWindows.selectedWindow.onMouseDown(e);
- break;
-
- case "focus":
- mcWindows.selectedWindow.onFocus(e);
- break;
- }
-}
-
-MCWindows.prototype.addEvent = function(obj, name, handler) {
- if (this.isMSIE)
- obj.attachEvent("on" + name, handler);
- else
- obj.addEventListener(name, handler, true);
-};
-
-MCWindows.prototype.cancelEvent = function(e) {
- if (this.isMSIE) {
- e.returnValue = false;
- e.cancelBubble = true;
- } else
- e.preventDefault();
-};
-
-MCWindows.prototype.parseFeatures = function(opts) {
- // Cleanup the options
- opts = opts.toLowerCase();
- opts = opts.replace(/;/g, ",");
- opts = opts.replace(/[^0-9a-z=,]/g, "");
-
- var optionChunks = opts.split(',');
- var options = new Array();
-
- options['left'] = 10;
- options['top'] = 10;
- options['width'] = 300;
- options['height'] = 300;
- options['resizable'] = true;
- options['minimizable'] = true;
- options['maximizable'] = true;
- options['close'] = true;
- options['movable'] = true;
-
- if (opts == "")
- return options;
-
- for (var i=0; i<optionChunks.length; i++) {
- var parts = optionChunks[i].split('=');
-
- if (parts.length == 2)
- options[parts[0]] = parts[1];
- }
-
- return options;
-};
-
-MCWindows.prototype.open = function(url, name, features) {
- var win = new MCWindow();
- var winDiv, html = "", id;
-
- features = this.parseFeatures(features);
-
- // Create div
- id = "mcWindow_" + name;
-
- width = parseInt(features['width']);
- height = parseInt(features['height'])-12-19;
-
- if (this.isMSIE)
- width -= 2;
-
- // Setup first part of window
- win.id = id;
- win.url = url;
- win.name = name;
- win.features = features;
- this.windows[name] = win;
-
- iframeWidth = width;
- iframeHeight = height;
-
- // Create inner content
- html += '<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">';
- html += '<html>';
- html += '<head>';
- html += '<title>Wrapper iframe</title>';
- html += '<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">';
- html += '<link href="../jscripts/tiny_mce/themes/advanced/css/editor_ui.css" rel="stylesheet" type="text/css" />';
- html += '</head>';
- html += '<body onload="parent.mcWindows.onLoad(\'' + name + '\');">';
-
- html += '<div id="' + id + '_container" class="mceWindow">';
- html += '<div id="' + id + '_head" class="mceWindowHead" onmousedown="parent.mcWindows.windows[\'' + name + '\'].focus();">';
- html += ' <div id="' + id + '_title" class="mceWindowTitle"';
- html += ' onselectstart="return false;" unselectable="on" style="-moz-user-select: none !important;">No name window</div>';
- html += ' <div class="mceWindowHeadTools">';
- html += ' <a href="javascript:parent.mcWindows.windows[\'' + name + '\'].close();" onmousedown="return false;" class="mceWindowClose"><img border="0" src="../jscripts/tiny_mce/themes/advanced/images/window_close.gif" /></a>';
-// html += ' <a href="javascript:mcWindows.windows[\'' + name + '\'].maximize();" onmousedown="return false;" class="mceWindowMaximize"></a>';
-// html += ' <a href="javascript:mcWindows.windows[\'' + name + '\'].minimize();" onmousedown="return false;" class="mceWindowMinimize"></a>';
- html += ' </div>';
- html += '</div><div id="' + id + '_body" class="mceWindowBody" style="width: ' + width + 'px; height: ' + height + 'px;">';
- html += '<iframe id="' + id + '_iframe" name="' + id + '_iframe" onfocus="parent.mcWindows.windows[\'' + name + '\'].focus();" frameborder="0" width="' + iframeWidth + '" height="' + iframeHeight + '" src="' + url + '" class="mceWindowBodyIframe"></iframe></div>';
- html += '<div id="' + id + '_statusbar" class="mceWindowStatusbar" onmousedown="parent.mcWindows.windows[\'' + name + '\'].focus();">';
- html += '<div id="' + id + '_resize" class="mceWindowResize"><img onmousedown="parent.mcWindows.windows[\'' + name + '\'].focus();" border="0" src="../jscripts/tiny_mce/themes/advanced/images/window_resize.gif" /></div>';
- html += '</div>';
- html += '</div>';
-
- html += '</body>';
- html += '</html>';
-
- // Create iframe
- this.createFloatingIFrame(id, features['left'], features['top'], features['width'], features['height'], html);
-};
-
-// Gets called when wrapper iframe is initialized
-MCWindows.prototype.onLoad = function(name) {
- var win = mcWindows.windows[name];
- var id = "mcWindow_" + name;
- var wrapperIframe = window.frames[id + "_iframe"].frames[0];
- var wrapperDoc = window.frames[id + "_iframe"].document;
- var doc = window.frames[id + "_iframe"].document;
- var winDiv = document.getElementById("mcWindow_" + name + "_div");
- var realIframe = window.frames[id + "_iframe"].frames[0];
-
- // Set window data
- win.id = "mcWindow_" + name + "_iframe";
- win.winElement = winDiv;
- win.bodyElement = doc.getElementById(id + '_body');
- win.iframeElement = doc.getElementById(id + '_iframe');
- win.headElement = doc.getElementById(id + '_head');
- win.titleElement = doc.getElementById(id + '_title');
- win.resizeElement = doc.getElementById(id + '_resize');
- win.containerElement = doc.getElementById(id + '_container');
- win.left = win.features['left'];
- win.top = win.features['top'];
- win.frame = window.frames[id + '_iframe'].frames[0];
- win.wrapperFrame = window.frames[id + '_iframe'];
- win.wrapperIFrameElement = document.getElementById(id + "_iframe");
-
- // Add event handlers
- mcWindows.addEvent(win.headElement, "mousedown", mcWindows.eventDispatcher);
- mcWindows.addEvent(win.resizeElement, "mousedown", mcWindows.eventDispatcher);
-
- if (mcWindows.isMSIE) {
- mcWindows.addEvent(realIframe.document, "mousemove", mcWindows.eventDispatcher);
- mcWindows.addEvent(realIframe.document, "mouseup", mcWindows.eventDispatcher);
- } else {
- mcWindows.addEvent(realIframe, "mousemove", mcWindows.eventDispatcher);
- mcWindows.addEvent(realIframe, "mouseup", mcWindows.eventDispatcher);
- mcWindows.addEvent(realIframe, "focus", mcWindows.eventDispatcher);
- }
-
- for (var i=0; i<window.frames.length; i++) {
- if (!window.frames[i]._hasMouseHandlers) {
- if (mcWindows.isMSIE) {
- mcWindows.addEvent(window.frames[i].document, "mousemove", mcWindows.eventDispatcher);
- mcWindows.addEvent(window.frames[i].document, "mouseup", mcWindows.eventDispatcher);
- } else {
- mcWindows.addEvent(window.frames[i], "mousemove", mcWindows.eventDispatcher);
- mcWindows.addEvent(window.frames[i], "mouseup", mcWindows.eventDispatcher);
- }
-
- window.frames[i]._hasMouseHandlers = true;
- }
- }
-
- if (mcWindows.isMSIE) {
- mcWindows.addEvent(win.frame.document, "mousemove", mcWindows.eventDispatcher);
- mcWindows.addEvent(win.frame.document, "mouseup", mcWindows.eventDispatcher);
- } else {
- mcWindows.addEvent(win.frame, "mousemove", mcWindows.eventDispatcher);
- mcWindows.addEvent(win.frame, "mouseup", mcWindows.eventDispatcher);
- mcWindows.addEvent(win.frame, "focus", mcWindows.eventDispatcher);
- }
-
- this.selectedWindow = win;
-};
-
-MCWindows.prototype.createFloatingIFrame = function(id_prefix, left, top, width, height, html) {
- var iframe = document.createElement("iframe");
- var div = document.createElement("div");
-
- width = parseInt(width);
- height = parseInt(height)+1;
-
- // Create wrapper div
- div.setAttribute("id", id_prefix + "_div");
- div.setAttribute("width", width);
- div.setAttribute("height", (height));
- div.style.position = "absolute";
- div.style.left = left + "px";
- div.style.top = top + "px";
- div.style.width = width + "px";
- div.style.height = (height) + "px";
- div.style.backgroundColor = "white";
- div.style.display = "none";
-
- if (this.isGecko) {
- iframeWidth = width + 2;
- iframeHeight = height + 2;
- } else {
- iframeWidth = width;
- iframeHeight = height + 1;
- }
-
- // Create iframe
- iframe.setAttribute("id", id_prefix + "_iframe");
- iframe.setAttribute("name", id_prefix + "_iframe");
- iframe.setAttribute("border", "0");
- iframe.setAttribute("frameBorder", "0");
- iframe.setAttribute("marginWidth", "0");
- iframe.setAttribute("marginHeight", "0");
- iframe.setAttribute("leftMargin", "0");
- iframe.setAttribute("topMargin", "0");
- iframe.setAttribute("width", iframeWidth);
- iframe.setAttribute("height", iframeHeight);
-// iframe.setAttribute("src", "../jscripts/tiny_mce/blank.htm");
- // iframe.setAttribute("allowtransparency", "false");
- iframe.setAttribute("scrolling", "no");
- iframe.style.width = iframeWidth + "px";
- iframe.style.height = iframeHeight + "px";
- iframe.style.backgroundColor = "white";
- div.appendChild(iframe);
-
- document.body.appendChild(div);
-
- // Fixed MSIE 5.0 issue
- div.innerHTML = div.innerHTML;
-
- if (this.isSafari) {
- // Give Safari some time to setup
- window.setTimeout(function() {
- doc = window.frames[id_prefix + '_iframe'].document;
- doc.open();
- doc.write(html);
- doc.close();
- }, 10);
- } else {
- doc = window.frames[id_prefix + '_iframe'].window.document
- doc.open();
- doc.write(html);
- doc.close();
- }
-
- div.style.display = "block";
-
- return div;
-};
-
-// Window instance
-function MCWindow() {
-};
-
-MCWindow.prototype.focus = function() {
- this.winElement.style.zIndex = mcWindows.zindex++;
- mcWindows.selectedWindow = this;
-};
-
-MCWindow.prototype.minimize = function() {
-};
-
-MCWindow.prototype.maximize = function() {
-
-};
-
-MCWindow.prototype.startResize = function() {
- mcWindows.action = "resize";
-};
-
-MCWindow.prototype.startMove = function(e) {
- mcWindows.action = "move";
-};
-
-MCWindow.prototype.close = function() {
- document.body.removeChild(this.winElement);
- mcWindows.windows[this.name] = null;
-};
-
-MCWindow.prototype.onMouseMove = function(e) {
- var scrollX = 0;//this.doc.body.scrollLeft;
- var scrollY = 0;//this.doc.body.scrollTop;
-
- // Calculate real X, Y
- var dx = e.screenX - mcWindows.mouseDownScreenX;
- var dy = e.screenY - mcWindows.mouseDownScreenY;
-
- switch (mcWindows.action) {
- case "resize":
- width = mcWindows.mouseDownWidth + (e.screenX - mcWindows.mouseDownScreenX);
- height = mcWindows.mouseDownHeight + (e.screenY - mcWindows.mouseDownScreenY);
-
- width = width < 100 ? 100 : width;
- height = height < 100 ? 100 : height;
-
- this.wrapperIFrameElement.style.width = width+2;
- this.wrapperIFrameElement.style.height = height+2;
- this.wrapperIFrameElement.width = width+2;
- this.wrapperIFrameElement.height = height+2;
- this.winElement.style.width = width;
- this.winElement.style.height = height;
-
- height = height-12-19;
-
- this.containerElement.style.width = width;
-
- this.iframeElement.style.width = width;
- this.iframeElement.style.height = height;
- this.bodyElement.style.width = width;
- this.bodyElement.style.height = height;
- this.headElement.style.width = width;
- //this.statusElement.style.width = width;
-
- mcWindows.cancelEvent(e);
- break;
-
- case "move":
- this.left = mcWindows.mouseDownLayerX + (e.screenX - mcWindows.mouseDownScreenX);
- this.top = mcWindows.mouseDownLayerY + (e.screenY - mcWindows.mouseDownScreenY);
- this.winElement.style.left = this.left + "px";
- this.winElement.style.top = this.top + "px";
-
- mcWindows.cancelEvent(e);
- break;
- }
-};
-
-MCWindow.prototype.onMouseUp = function(e) {
- mcWindows.action = "none";
-};
-
-MCWindow.prototype.onFocus = function(e) {
- // Gecko only handler
- var winRef = e.currentTarget;
-
- for (var n in mcWindows.windows) {
- var win = mcWindows.windows[n];
- if (typeof(win) == 'function')
- continue;
-
- if (winRef.name == win.id) {
- win.focus();
- return;
- }
- }
-};
-
-MCWindow.prototype.onMouseDown = function(e) {
- var elm = mcWindows.isMSIE ? this.wrapperFrame.event.srcElement : e.target;
-
- var scrollX = 0;//this.doc.body.scrollLeft;
- var scrollY = 0;//this.doc.body.scrollTop;
-
- mcWindows.mouseDownScreenX = e.screenX;
- mcWindows.mouseDownScreenY = e.screenY;
- mcWindows.mouseDownLayerX = this.left;
- mcWindows.mouseDownLayerY = this.top;
- mcWindows.mouseDownWidth = parseInt(this.winElement.style.width);
- mcWindows.mouseDownHeight = parseInt(this.winElement.style.height);
-
- if (elm == this.resizeElement.firstChild)
- this.startResize(e);
- else
- this.startMove(e);
-
- mcWindows.cancelEvent(e);
-};
-
-// Global instance
-var mcWindows = new MCWindows();
diff --git a/wp-inst/wp-includes/js/tinymce/plugins/inlinepopups/readme.txt b/wp-inst/wp-includes/js/tinymce/plugins/inlinepopups/readme.txt
deleted file mode 100644
index e69de29..0000000
--- a/wp-inst/wp-includes/js/tinymce/plugins/inlinepopups/readme.txt
+++ /dev/null
diff --git a/wp-inst/wp-includes/js/tinymce/plugins/paste/blank.htm b/wp-inst/wp-includes/js/tinymce/plugins/paste/blank.htm
deleted file mode 100644
index 1ddf829..0000000
--- a/wp-inst/wp-includes/js/tinymce/plugins/paste/blank.htm
+++ /dev/null
@@ -1,19 +0,0 @@
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
- <title>blank_page</title>
- <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
- <script language="javascript">
- function init() {
- document.body.contentEditable = true;
- document.designMode = 'on';
- parent.initIframe(document);
- window.focus();
- }
- </script>
- <link href="css/blank.css" rel="stylesheet" type="text/css" />
- <base target="_self" />
-</head>
-<body onload="init();">
-
-</body>
-</html>
diff --git a/wp-inst/wp-includes/js/tinymce/plugins/paste/css/blank.css b/wp-inst/wp-includes/js/tinymce/plugins/paste/css/blank.css
deleted file mode 100644
index eca411a..0000000
--- a/wp-inst/wp-includes/js/tinymce/plugins/paste/css/blank.css
+++ /dev/null
@@ -1,13 +0,0 @@
-body {
- background-color: #FFFFFF;
- font-family: Verdana, Arial, Helvetica, sans-serif;
- font-size: 10px;
- scrollbar-3dlight-color: #F0F0EE;
- scrollbar-arrow-color: #676662;
- scrollbar-base-color: #F0F0EE;
- scrollbar-darkshadow-color: #DDDDDD;
- scrollbar-face-color: #E0E0DD;
- scrollbar-highlight-color: #F0F0EE;
- scrollbar-shadow-color: #F0F0EE;
- scrollbar-track-color: #F5F5F5;
-}
diff --git a/wp-inst/wp-includes/js/tinymce/plugins/paste/css/pasteword.css b/wp-inst/wp-includes/js/tinymce/plugins/paste/css/pasteword.css
deleted file mode 100644
index b3be627..0000000
--- a/wp-inst/wp-includes/js/tinymce/plugins/paste/css/pasteword.css
+++ /dev/null
@@ -1,3 +0,0 @@
-.sourceIframe {
- border: 1px solid #808080;
-}
diff --git a/wp-inst/wp-includes/js/tinymce/plugins/paste/editor_plugin.js b/wp-inst/wp-includes/js/tinymce/plugins/paste/editor_plugin.js
deleted file mode 100644
index 916e29f..0000000
--- a/wp-inst/wp-includes/js/tinymce/plugins/paste/editor_plugin.js
+++ /dev/null
@@ -1,388 +0,0 @@
-/**
- * $RCSfile: editor_plugin_src.js,v $
- * $Revision: 1.36 $
- * $Date: 2006/03/20 12:03:44 $
- *
- * @author Moxiecode
- * @copyright Copyright © 2004-2006, Moxiecode Systems AB, All rights reserved.
- */
-
-/* Import plugin specific language pack */
-tinyMCE.importPluginLanguagePack('paste', 'en,tr,sv,cs,zh_cn,fr_ca,da,he,nb,de,hu,ru,ru_KOI8-R,ru_UTF-8,nn,fi,es,cy,is,pl,nl,fr,pt_br');
-
-var TinyMCE_PastePlugin = {
- getInfo : function() {
- return {
- longname : 'Paste text/word',
- author : 'Moxiecode Systems',
- authorurl : 'http://tinymce.moxiecode.com',
- infourl : 'http://tinymce.moxiecode.com/tinymce/docs/plugin_paste.html',
- version : tinyMCE.majorVersion + "." + tinyMCE.minorVersion
- };
- },
-
- initInstance : function(inst) {
- if (tinyMCE.isMSIE && tinyMCE.getParam("paste_auto_cleanup_on_paste", false))
- tinyMCE.addEvent(inst.getBody(), "paste", TinyMCE_PastePlugin._handlePasteEvent);
- },
-
- getControlHTML : function(cn) {
- switch (cn) {
- case "pastetext":
- return tinyMCE.getButtonHTML(cn, 'lang_paste_text_desc', '{$pluginurl}/images/pastetext.gif', 'mcePasteText', true);
-
- case "pasteword":
- return tinyMCE.getButtonHTML(cn, 'lang_paste_word_desc', '{$pluginurl}/images/pasteword.gif', 'mcePasteWord', true);
-
- case "selectall":
- return tinyMCE.getButtonHTML(cn, 'lang_selectall_desc', '{$pluginurl}/images/selectall.gif', 'mceSelectAll', true);
- }
-
- return '';
- },
-
- execCommand : function(editor_id, element, command, user_interface, value) {
- switch (command) {
- case "mcePasteText":
- if (user_interface) {
- if ((tinyMCE.isMSIE && !tinyMCE.isOpera) && !tinyMCE.getParam('paste_use_dialog', false))
- TinyMCE_PastePlugin._insertText(clipboardData.getData("Text"), true);
- else {
- var template = new Array();
- template['file'] = '../../plugins/paste/pastetext.htm'; // Relative to theme
- template['width'] = 450;
- template['height'] = 400;
- var plain_text = "";
- tinyMCE.openWindow(template, {editor_id : editor_id, plain_text: plain_text, resizable : "yes", scrollbars : "no", inline : "yes", mceDo : 'insert'});
- }
- } else
- TinyMCE_PastePlugin._insertText(value['html'], value['linebreaks']);
-
- return true;
-
- case "mcePasteWord":
- if (user_interface) {
- if ((tinyMCE.isMSIE && !tinyMCE.isOpera) && !tinyMCE.getParam('paste_use_dialog', false)) {
- var html = TinyMCE_PastePlugin._clipboardHTML();
-
- if (html && html.length > 0)
- TinyMCE_PastePlugin._insertWordContent(html);
- } else {
- var template = new Array();
- template['file'] = '../../plugins/paste/pasteword.htm'; // Relative to theme
- template['width'] = 450;
- template['height'] = 400;
- var plain_text = "";
- tinyMCE.openWindow(template, {editor_id : editor_id, plain_text: plain_text, resizable : "yes", scrollbars : "no", inline : "yes", mceDo : 'insert'});
- }
- } else
- TinyMCE_PastePlugin._insertWordContent(value);
-
- return true;
-
- case "mceSelectAll":
- tinyMCE.execInstanceCommand(editor_id, 'selectall');
- return true;
-
- }
-
- // Pass to next handler in chain
- return false;
- },
-
- // Private plugin internal methods
-
- _handlePasteEvent : function(e) {
- switch (e.type) {
- case "paste":
- var html = TinyMCE_PastePlugin._clipboardHTML();
- var r, inst = tinyMCE.selectedInstance;
-
- // Removes italic, strong etc, the if was needed due to bug #1437114
- if (inst && (r = inst.getRng()) && r.text.length > 0)
- tinyMCE.execCommand('delete');
-
- if (html && html.length > 0)
- tinyMCE.execCommand('mcePasteWord', false, html);
-
- tinyMCE.cancelEvent(e);
- return false;
- }
-
- return true;
- },
-
- _insertText : function(content, bLinebreaks) {
- if (content && content.length > 0) {
- if (bLinebreaks) {
- // Special paragraph treatment
- if (tinyMCE.getParam("paste_create_paragraphs", true)) {
- var rl = tinyMCE.getParam("paste_replace_list", '\u2122,<sup>TM</sup>,\u2026,...,\u201c|\u201d,",\u2019,\',\u2013|\u2014|\u2015|\u2212,-').split(',');
- for (var i=0; i<rl.length; i+=2)
- content = content.replace(new RegExp(rl[i], 'gi'), rl[i+1]);
-
- content = tinyMCE.regexpReplace(content, "\r\n\r\n", "</p><p>", "gi");
- content = tinyMCE.regexpReplace(content, "\r\r", "</p><p>", "gi");
- content = tinyMCE.regexpReplace(content, "\n\n", "</p><p>", "gi");
-
- // Has paragraphs
- if ((pos = content.indexOf('</p><p>')) != -1) {
- tinyMCE.execCommand("Delete");
-
- var node = tinyMCE.selectedInstance.getFocusElement();
-
- // Get list of elements to break
- var breakElms = new Array();
-
- do {
- if (node.nodeType == 1) {
- // Don't break tables and break at body
- if (node.nodeName == "TD" || node.nodeName == "BODY")
- break;
-
- breakElms[breakElms.length] = node;
- }
- } while(node = node.parentNode);
-
- var before = "", after = "</p>";
- before += content.substring(0, pos);
-
- for (var i=0; i<breakElms.length; i++) {
- before += "</" + breakElms[i].nodeName + ">";
- after += "<" + breakElms[(breakElms.length-1)-i].nodeName + ">";
- }
-
- before += "<p>";
- content = before + content.substring(pos+7) + after;
- }
- }
-
- if (tinyMCE.getParam("paste_create_linebreaks", true)) {
- content = tinyMCE.regexpReplace(content, "\r\n", "<br />", "gi");
- content = tinyMCE.regexpReplace(content, "\r", "<br />", "gi");
- content = tinyMCE.regexpReplace(content, "\n", "<br />", "gi");
- }
- }
-
- tinyMCE.execCommand("mceInsertRawHTML", false, content);
- }
- },
-
- _insertWordContent : function(content) {
- if (content && content.length > 0) {
- // Cleanup Word content
- var bull = String.fromCharCode(8226);
- var middot = String.fromCharCode(183);
- var cb;
-
- if ((cb = tinyMCE.getParam("paste_insert_word_content_callback", "")) != "")
- content = eval(cb + "('before', content)");
-
- var rl = tinyMCE.getParam("paste_replace_list", '\u2122,<sup>TM</sup>,\u2026,...,\u201c|\u201d,",\u2019,\',\u2013|\u2014|\u2015|\u2212,-').split(',');
- for (var i=0; i<rl.length; i+=2)
- content = content.replace(new RegExp(rl[i], 'gi'), rl[i+1]);
-
- if (tinyMCE.getParam("paste_convert_headers_to_strong", false)) {
- content = content.replace(new RegExp('<p class=MsoHeading.*?>(.*?)<\/p>', 'gi'), '<p><b>$1</b></p>');
- }
-
- content = content.replace(new RegExp('tab-stops: list [0-9]+.0pt">', 'gi'), '">' + "--list--");
- content = content.replace(new RegExp(bull + "(.*?)<BR>", "gi"), "<p>" + middot + "$1</p>");
- content = content.replace(new RegExp('<SPAN style="mso-list: Ignore">', 'gi'), "<span>" + bull); // Covert to bull list
- content = content.replace(/<o:p><\/o:p>/gi, "");
- content = content.replace(new RegExp('<br style="page-break-before: always;.*>', 'gi'), '-- page break --'); // Replace pagebreaks
- content = content.replace(new RegExp('<(!--)([^>]*)(--)>', 'g'), ""); // Word comments
-
- if (tinyMCE.getParam("paste_remove_spans", true))
- content = content.replace(/<\/?span[^>]*>/gi, "");
-
- if (tinyMCE.getParam("paste_remove_styles", true))
- content = content.replace(new RegExp('<(\\w[^>]*) style="([^"]*)"([^>]*)', 'gi'), "<$1$3");
-
- content = content.replace(/<\/?font[^>]*>/gi, "");
-
- // Strips class attributes.
- switch (tinyMCE.getParam("paste_strip_class_attributes", "all")) {
- case "all":
- content = content.replace(/<(\w[^>]*) class=([^ |>]*)([^>]*)/gi, "<$1$3");
- break;
-
- case "mso":
- content = content.replace(new RegExp('<(\\w[^>]*) class="?mso([^ |>]*)([^>]*)', 'gi'), "<$1$3");
- break;
- }
-
- content = content.replace(new RegExp('href="?' + TinyMCE_PastePlugin._reEscape("" + document.location) + '', 'gi'), 'href="' + tinyMCE.settings['document_base_url']);
- content = content.replace(/<(\w[^>]*) lang=([^ |>]*)([^>]*)/gi, "<$1$3");
- content = content.replace(/<\\?\?xml[^>]*>/gi, "");
- content = content.replace(/<\/?\w+:[^>]*>/gi, "");
- content = content.replace(/-- page break --\s*<p>&nbsp;<\/p>/gi, ""); // Remove pagebreaks
- content = content.replace(/-- page break --/gi, ""); // Remove pagebreaks
-
- // content = content.replace(/\/?&nbsp;*/gi, ""); &nbsp;
- // content = content.replace(/<p>&nbsp;<\/p>/gi, '');
-
- if (!tinyMCE.settings['force_p_newlines']) {
- content = content.replace('', '' ,'gi');
- content = content.replace('</p>', '<br /><br />' ,'gi');
- }
-
- if (!tinyMCE.isMSIE && !tinyMCE.settings['force_p_newlines']) {
- content = content.replace(/<\/?p[^>]*>/gi, "");
- }
-
- content = content.replace(/<\/?div[^>]*>/gi, "");
-
- // Convert all middlot lists to UL lists
- if (tinyMCE.getParam("paste_convert_middot_lists", true)) {
- var div = document.createElement("div");
- div.innerHTML = content;
-
- // Convert all middot paragraphs to li elements
- var className = tinyMCE.getParam("paste_unindented_list_class", "unIndentedList");
-
- while (TinyMCE_PastePlugin._convertMiddots(div, "--list--")) ; // bull
- while (TinyMCE_PastePlugin._convertMiddots(div, middot, className)) ; // Middot
- while (TinyMCE_PastePlugin._convertMiddots(div, bull)) ; // bull
-
- content = div.innerHTML;
- }
-
- // Replace all headers with strong and fix some other issues
- if (tinyMCE.getParam("paste_convert_headers_to_strong", false)) {
- content = content.replace(/<h[1-6]>&nbsp;<\/h[1-6]>/gi, '<p>&nbsp;&nbsp;</p>');
- content = content.replace(/<h[1-6]>/gi, '<p><b>');
- content = content.replace(/<\/h[1-6]>/gi, '</b></p>');
- content = content.replace(/<b>&nbsp;<\/b>/gi, '<b>&nbsp;&nbsp;</b>');
- content = content.replace(/^(&nbsp;)*/gi, '');
- }
-
- content = content.replace(/--list--/gi, ""); // Remove --list--
-
- if ((cb = tinyMCE.getParam("paste_insert_word_content_callback", "")) != "")
- content = eval(cb + "('after', content)");
-
- // Insert cleaned content
- tinyMCE.execCommand("mceInsertContent", false, content);
- window.setTimeout('tinyMCE.execCommand("mceCleanup");', 1); // Do normal cleanup detached from this thread
- }
- },
-
- _reEscape : function(s) {
- var l = "?.\\*[](){}+^$:";
- var o = "";
-
- for (var i=0; i<s.length; i++) {
- var c = s.charAt(i);
-
- if (l.indexOf(c) != -1)
- o += '\\' + c;
- else
- o += c;
- }
-
- return o;
- },
-
- _convertMiddots : function(div, search, class_name) {
- var mdot = String.fromCharCode(183);
- var bull = String.fromCharCode(8226);
-
- var nodes = div.getElementsByTagName("p");
- var prevul;
- for (var i=0; i<nodes.length; i++) {
- var p = nodes[i];
-
- // Is middot
- if (p.innerHTML.indexOf(search) == 0) {
- var ul = document.createElement("ul");
-
- if (class_name)
- ul.className = class_name;
-
- // Add the first one
- var li = document.createElement("li");
- li.innerHTML = p.innerHTML.replace(new RegExp('' + mdot + '|' + bull + '|--list--|&nbsp;', "gi"), '');
- ul.appendChild(li);
-
- // Add the rest
- var np = p.nextSibling;
- while (np) {
- // If the node is whitespace, then
- // ignore it and continue on.
- if (np.nodeType == 3 && /^\s$/m.test(np.nodeValue)) {
- np = np.nextSibling;
- continue;
- }
-
- if (search == mdot) {
- if (np.nodeType == 1 && /^o(\s+|&nbsp;)/.test(np.innerHTML)) {
- // Second level of nesting
- if (!prevul) {
- prevul = ul;
- ul = document.createElement("ul");
- prevul.appendChild(ul);
- }
- np.innerHTML = np.innerHTML.replace(/^o/, '');
- } else {
- // Pop the stack if we're going back up to the first level
- if (prevul) {
- ul = prevul;
- prevul = null;
- }
- // Not element or middot paragraph
- if (np.nodeType != 1 || np.innerHTML.indexOf(search) != 0)
- break;
- }
- } else {
- // Not element or middot paragraph
- if (np.nodeType != 1 || np.innerHTML.indexOf(search) != 0)
- break;
- }
-
- var cp = np.nextSibling;
- var li = document.createElement("li");
- li.innerHTML = np.innerHTML.replace(new RegExp('' + mdot + '|' + bull + '|--list--|&nbsp;', "gi"), '');
- np.parentNode.removeChild(np);
- ul.appendChild(li);
- np = cp;
- }
-
- p.parentNode.replaceChild(ul, p);
-
- return true;
- }
- }
-
- return false;
- },
-
- _clipboardHTML : function() {
- var div = document.getElementById('_TinyMCE_clipboardHTML');
-
- if (!div) {
- var div = document.createElement('DIV');
- div.id = '_TinyMCE_clipboardHTML';
-
- with (div.style) {
- visibility = 'hidden';
- overflow = 'hidden';
- position = 'absolute';
- width = 1;
- height = 1;
- }
-
- document.body.appendChild(div);
- }
-
- div.innerHTML = '';
- var rng = document.body.createTextRange();
- rng.moveToElementText(div);
- rng.execCommand('Paste');
- var html = div.innerHTML;
- div.innerHTML = '';
- return html;
- }
-};
-
-tinyMCE.addPlugin("paste", TinyMCE_PastePlugin);
diff --git a/wp-inst/wp-includes/js/tinymce/plugins/paste/images/pastetext.gif b/wp-inst/wp-includes/js/tinymce/plugins/paste/images/pastetext.gif
deleted file mode 100644
index e381cc6..0000000
--- a/wp-inst/wp-includes/js/tinymce/plugins/paste/images/pastetext.gif
+++ /dev/null
Binary files differ
diff --git a/wp-inst/wp-includes/js/tinymce/plugins/paste/images/pasteword.gif b/wp-inst/wp-includes/js/tinymce/plugins/paste/images/pasteword.gif
deleted file mode 100644
index 0ccb008..0000000
--- a/wp-inst/wp-includes/js/tinymce/plugins/paste/images/pasteword.gif
+++ /dev/null
Binary files differ
diff --git a/wp-inst/wp-includes/js/tinymce/plugins/paste/images/selectall.gif b/wp-inst/wp-includes/js/tinymce/plugins/paste/images/selectall.gif
deleted file mode 100644
index c4f9901..0000000
--- a/wp-inst/wp-includes/js/tinymce/plugins/paste/images/selectall.gif
+++ /dev/null
Binary files differ
diff --git a/wp-inst/wp-includes/js/tinymce/plugins/paste/jscripts/pastetext.js b/wp-inst/wp-includes/js/tinymce/plugins/paste/jscripts/pastetext.js
deleted file mode 100644
index 927745b..0000000
--- a/wp-inst/wp-includes/js/tinymce/plugins/paste/jscripts/pastetext.js
+++ /dev/null
@@ -1,34 +0,0 @@
-function saveContent() {
- if (document.forms[0].htmlSource.value == '') {
- tinyMCEPopup.close();
- return false;
- }
-
- tinyMCEPopup.execCommand('mcePasteText', false, {
- html : document.forms[0].htmlSource.value,
- linebreaks : document.forms[0].linebreaks.checked
- });
-
- tinyMCEPopup.close();
-}
-
-function onLoadInit() {
- tinyMCEPopup.resizeToInnerSize();
-
- resizeInputs();
-}
-
-var wHeight=0, wWidth=0, owHeight=0, owWidth=0;
-
-function resizeInputs() {
- if (!tinyMCE.isMSIE) {
- wHeight = self.innerHeight-80;
- wWidth = self.innerWidth-17;
- } else {
- wHeight = document.body.clientHeight-80;
- wWidth = document.body.clientWidth-17;
- }
-
- document.forms[0].htmlSource.style.height = Math.abs(wHeight) + 'px';
- document.forms[0].htmlSource.style.width = Math.abs(wWidth) + 'px';
-}
diff --git a/wp-inst/wp-includes/js/tinymce/plugins/paste/jscripts/pasteword.js b/wp-inst/wp-includes/js/tinymce/plugins/paste/jscripts/pasteword.js
deleted file mode 100644
index c56ea81..0000000
--- a/wp-inst/wp-includes/js/tinymce/plugins/paste/jscripts/pasteword.js
+++ /dev/null
@@ -1,46 +0,0 @@
-function saveContent() {
- var html = document.getElementById("frmData").contentWindow.document.body.innerHTML;
-
- if (html == ''){
- tinyMCEPopup.close();
- return false;
- }
-
- tinyMCEPopup.execCommand('mcePasteWord', false, html);
- tinyMCEPopup.close();
-}
-
-function onLoadInit() {
- tinyMCEPopup.resizeToInnerSize();
-
- // Fix for endless reloading in FF
- window.setTimeout('createIFrame();', 10);
-}
-
-function createIFrame() {
- document.getElementById('iframecontainer').innerHTML = '<iframe id="frmData" name="frmData" class="sourceIframe" src="blank.htm" height="280" width="400" frameborder="0" style="background-color:#FFFFFF; width:100%;" dir="ltr" wrap="soft"></iframe>';
-}
-
-var wHeight=0, wWidth=0, owHeight=0, owWidth=0;
-
-function initIframe(doc) {
- var dir = tinyMCE.selectedInstance.settings['directionality'];
- doc.body.dir = dir;
- resizeInputs();
-}
-
-function resizeInputs() {
- if (!tinyMCE.isMSIE) {
- wHeight = self.innerHeight - 80;
- wWidth = self.innerWidth - 18;
- } else {
- wHeight = document.body.clientHeight - 80;
- wWidth = document.body.clientWidth - 18;
- }
-
- var elm = document.getElementById('frmData');
- if (elm) {
- elm.style.height = Math.abs(wHeight) + 'px';
- elm.style.width = Math.abs(wWidth) + 'px';
- }
-}
diff --git a/wp-inst/wp-includes/js/tinymce/plugins/paste/langs/en.js b/wp-inst/wp-includes/js/tinymce/plugins/paste/langs/en.js
deleted file mode 100644
index b125d51..0000000
--- a/wp-inst/wp-includes/js/tinymce/plugins/paste/langs/en.js
+++ /dev/null
@@ -1,10 +0,0 @@
-// UK lang variables
-
-tinyMCE.addToLang('',{
-paste_text_desc : 'Paste as Plain Text',
-paste_text_title : 'Use CTRL+V on your keyboard to paste the text into the window.',
-paste_text_linebreaks : 'Keep linebreaks',
-paste_word_desc : 'Paste from Word',
-paste_word_title : 'Use CTRL+V on your keyboard to paste the text into the window.',
-selectall_desc : 'Select All'
-});
diff --git a/wp-inst/wp-includes/js/tinymce/plugins/paste/pastetext.htm b/wp-inst/wp-includes/js/tinymce/plugins/paste/pastetext.htm
deleted file mode 100644
index 63ff000..0000000
--- a/wp-inst/wp-includes/js/tinymce/plugins/paste/pastetext.htm
+++ /dev/null
@@ -1,34 +0,0 @@
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
- <title>{$lang_paste_text_desc}</title>
- <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
- <script language="javascript" type="text/javascript" src="../../tiny_mce_popup.js"></script>
- <script language="javascript" type="text/javascript" src="jscripts/pastetext.js"></script>
- <base target="_self" />
-</head>
-<body onload="tinyMCEPopup.executeOnLoad('onLoadInit();');" onresize="resizeInputs();" style="display: none">
-<form name="source" onsubmit="saveContent();">
- <div style="float: left" class="title">{$lang_paste_text_desc}</div>
-
- <div style="float: right">
- <input type="checkbox" name="linebreaks" id="linebreaks" class="wordWrapCode" checked="checked" /><label for="linebreaks">{$lang_paste_text_linebreaks}</label>
- </div>
-
- <br style="clear: both" />
-
- <div>{$lang_paste_text_title}</div>
-
- <textarea name="htmlSource" id="htmlSource" rows="15" cols="100" style="width: 100%; height: 100%; font-family: 'Courier New',Courier,mono; font-size: 12px;" dir="ltr" wrap="soft"></textarea>
-
- <div class="mceActionPanel">
- <div style="float: left">
- <input type="button" name="insert" value="{$lang_insert}" onclick="saveContent();" id="insert" />
- </div>
-
- <div style="float: right">
- <input type="button" name="cancel" value="{$lang_cancel}" onclick="tinyMCEPopup.close();" id="cancel" />
- </div>
- </div>
-</form>
-</body>
-</html> \ No newline at end of file
diff --git a/wp-inst/wp-includes/js/tinymce/plugins/paste/pasteword.htm b/wp-inst/wp-includes/js/tinymce/plugins/paste/pasteword.htm
deleted file mode 100644
index 7acc7f7..0000000
--- a/wp-inst/wp-includes/js/tinymce/plugins/paste/pasteword.htm
+++ /dev/null
@@ -1,29 +0,0 @@
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
- <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
- <title>{$lang_paste_word_desc}</title>
- <script language="javascript" type="text/javascript" src="../../tiny_mce_popup.js"></script>
- <script language="javascript" type="text/javascript" src="jscripts/pasteword.js"></script>
- <link href="css/pasteword.css" rel="stylesheet" type="text/css" />
- <base target="_self" />
-</head>
-<body onload="tinyMCEPopup.executeOnLoad('onLoadInit();');" onresize="resizeInputs();" style="display: none">
- <form name="source" onsubmit="saveContent();" action="#">
- <div class="title">{$lang_paste_word_desc}</div>
-
- <div>{$lang_paste_word_title}</div>
-
- <div id="iframecontainer"></div>
-
- <div class="mceActionPanel">
- <div style="float: left">
- <input type="button" id="insert" name="insert" value="{$lang_insert}" onclick="saveContent();" />
- </div>
-
- <div style="float: right">
- <input type="button" id="cancel" name="cancel" value="{$lang_cancel}" onclick="tinyMCEPopup.close();" />
- </div>
- </div>
- </form>
-</body>
-</html>
diff --git a/wp-inst/wp-includes/js/tinymce/plugins/spellchecker/classes/HttpClient.class.php b/wp-inst/wp-includes/js/tinymce/plugins/spellchecker/classes/HttpClient.class.php
deleted file mode 100755
index cae27f0..0000000
--- a/wp-inst/wp-includes/js/tinymce/plugins/spellchecker/classes/HttpClient.class.php
+++ /dev/null
@@ -1,339 +0,0 @@
-<?php
-
-/* Version 0.9, 6th April 2003 - Simon Willison ( http://simon.incutio.com/ )
- Manual: http://scripts.incutio.com/httpclient/
-*/
-
-class HttpClient {
- // Request vars
- var $host;
- var $port;
- var $path;
- var $method;
- var $postdata = '';
- var $cookies = array();
- var $referer;
- var $accept = 'text/xml,application/xml,application/xhtml+xml,text/html,text/plain,image/png,image/jpeg,image/gif,*/*';
- var $accept_encoding = 'gzip';
- var $accept_language = 'en-us';
- var $user_agent = 'Incutio HttpClient v0.9';
- // Options
- var $timeout = 20;
- var $use_gzip = true;
- var $persist_cookies = true; // If true, received cookies are placed in the $this->cookies array ready for the next request
- // Note: This currently ignores the cookie path (and time) completely. Time is not important,
- // but path could possibly lead to security problems.
- var $persist_referers = true; // For each request, sends path of last request as referer
- var $debug = false;
- var $handle_redirects = true; // Auaomtically redirect if Location or URI header is found
- var $max_redirects = 5;
- var $headers_only = false; // If true, stops receiving once headers have been read.
- // Basic authorization variables
- var $username;
- var $password;
- // Response vars
- var $status;
- var $headers = array();
- var $content = '';
- var $errormsg;
- // Tracker variables
- var $redirect_count = 0;
- var $cookie_host = '';
- function HttpClient($host, $port=80) {
- $this->host = $host;
- $this->port = $port;
- }
- function get($path, $data = false) {
- $this->path = $path;
- $this->method = 'GET';
- if ($data) {
- $this->path .= '?'.$this->buildQueryString($data);
- }
- return $this->doRequest();
- }
- function post($path, $data) {
- $this->path = $path;
- $this->method = 'POST';
- $this->postdata = $this->buildQueryString($data);
- return $this->doRequest();
- }
- function buildQueryString($data) {
- $querystring = '';
- if (is_array($data)) {
- // Change data in to postable data
- foreach ($data as $key => $val) {
- if (is_array($val)) {
- foreach ($val as $val2) {
- $querystring .= urlencode($key).'='.urlencode($val2).'&';
- }
- } else {
- $querystring .= urlencode($key).'='.urlencode($val).'&';
- }
- }
- $querystring = substr($querystring, 0, -1); // Eliminate unnecessary &
- } else {
- $querystring = $data;
- }
- return $querystring;
- }
- function doRequest() {
- // Performs the actual HTTP request, returning true or false depending on outcome
- if (!$fp = @fsockopen($this->host, $this->port, $errno, $errstr, $this->timeout)) {
- // Set error message
- switch($errno) {
- case -3:
- $this->errormsg = 'Socket creation failed (-3)';
- case -4:
- $this->errormsg = 'DNS lookup failure (-4)';
- case -5:
- $this->errormsg = 'Connection refused or timed out (-5)';
- default:
- $this->errormsg = 'Connection failed ('.$errno.')';
- $this->errormsg .= ' '.$errstr;
- $this->debug($this->errormsg);
- }
- return false;
- }
- socket_set_timeout($fp, $this->timeout);
- $request = $this->buildRequest();
- $this->debug('Request', $request);
- fwrite($fp, $request);
- // Reset all the variables that should not persist between requests
- $this->headers = array();
- $this->content = '';
- $this->errormsg = '';
- // Set a couple of flags
- $inHeaders = true;
- $atStart = true;
- // Now start reading back the response
- while (!feof($fp)) {
- $line = fgets($fp, 4096);
- if ($atStart) {
- // Deal with first line of returned data
- $atStart = false;
- if (!preg_match('/HTTP\/(\\d\\.\\d)\\s*(\\d+)\\s*(.*)/', $line, $m)) {
- $this->errormsg = "Status code line invalid: ".htmlentities($line);
- $this->debug($this->errormsg);
- return false;
- }
- $http_version = $m[1]; // not used
- $this->status = $m[2];
- $status_string = $m[3]; // not used
- $this->debug(trim($line));
- continue;
- }
- if ($inHeaders) {
- if (trim($line) == '') {
- $inHeaders = false;
- $this->debug('Received Headers', $this->headers);
- if ($this->headers_only) {
- break; // Skip the rest of the input
- }
- continue;
- }
- if (!preg_match('/([^:]+):\\s*(.*)/', $line, $m)) {
- // Skip to the next header
- continue;
- }
- $key = strtolower(trim($m[1]));
- $val = trim($m[2]);
- // Deal with the possibility of multiple headers of same name
- if (isset($this->headers[$key])) {
- if (is_array($this->headers[$key])) {
- $this->headers[$key][] = $val;
- } else {
- $this->headers[$key] = array($this->headers[$key], $val);
- }
- } else {
- $this->headers[$key] = $val;
- }
- continue;
- }
- // We're not in the headers, so append the line to the contents
- $this->content .= $line;
- }
- fclose($fp);
- // If data is compressed, uncompress it
- if (isset($this->headers['content-encoding']) && $this->headers['content-encoding'] == 'gzip') {
- $this->debug('Content is gzip encoded, unzipping it');
- $this->content = substr($this->content, 10); // See http://www.php.net/manual/en/function.gzencode.php
- $this->content = gzinflate($this->content);
- }
- // If $persist_cookies, deal with any cookies
- if ($this->persist_cookies && isset($this->headers['set-cookie']) && $this->host == $this->cookie_host) {
- $cookies = $this->headers['set-cookie'];
- if (!is_array($cookies)) {
- $cookies = array($cookies);
- }
- foreach ($cookies as $cookie) {
- if (preg_match('/([^=]+)=([^;]+);/', $cookie, $m)) {
- $this->cookies[$m[1]] = $m[2];
- }
- }
- // Record domain of cookies for security reasons
- $this->cookie_host = $this->host;
- }
- // If $persist_referers, set the referer ready for the next request
- if ($this->persist_referers) {
- $this->debug('Persisting referer: '.$this->getRequestURL());
- $this->referer = $this->getRequestURL();
- }
- // Finally, if handle_redirects and a redirect is sent, do that
- if ($this->handle_redirects) {
- if (++$this->redirect_count >= $this->max_redirects) {
- $this->errormsg = 'Number of redirects exceeded maximum ('.$this->max_redirects.')';
- $this->debug($this->errormsg);
- $this->redirect_count = 0;
- return false;
- }
- $location = isset($this->headers['location']) ? $this->headers['location'] : '';
- $uri = isset($this->headers['uri']) ? $this->headers['uri'] : '';
- if ($location || $uri) {
- $url = parse_url($location.$uri);
- // This will FAIL if redirect is to a different site
- return $this->get($url['path']);
- }
- }
- return true;
- }
- function buildRequest() {
- $headers = array();
- $headers[] = "{$this->method} {$this->path} HTTP/1.0"; // Using 1.1 leads to all manner of problems, such as "chunked" encoding
- $headers[] = "Host: {$this->host}";
- $headers[] = "User-Agent: {$this->user_agent}";
- $headers[] = "Accept: {$this->accept}";
- if ($this->use_gzip) {
- $headers[] = "Accept-encoding: {$this->accept_encoding}";
- }
- $headers[] = "Accept-language: {$this->accept_language}";
- if ($this->referer) {
- $headers[] = "Referer: {$this->referer}";
- }
- // Cookies
- if ($this->cookies) {
- $cookie = 'Cookie: ';
- foreach ($this->cookies as $key => $value) {
- $cookie .= "$key=$value; ";
- }
- $headers[] = $cookie;
- }
- // Basic authentication
- if ($this->username && $this->password) {
- $headers[] = 'Authorization: BASIC '.base64_encode($this->username.':'.$this->password);
- }
- // If this is a POST, set the content type and length
- if ($this->postdata) {
- $headers[] = 'Content-Type: application/x-www-form-urlencoded';
- $headers[] = 'Content-Length: '.strlen($this->postdata);
- }
- $request = implode("\r\n", $headers)."\r\n\r\n".$this->postdata;
- return $request;
- }
- function getStatus() {
- return $this->status;
- }
- function getContent() {
- return $this->content;
- }
- function getHeaders() {
- return $this->headers;
- }
- function getHeader($header) {
- $header = strtolower($header);
- if (isset($this->headers[$header])) {
- return $this->headers[$header];
- } else {
- return false;
- }
- }
- function getError() {
- return $this->errormsg;
- }
- function getCookies() {
- return $this->cookies;
- }
- function getRequestURL() {
- $url = 'http://'.$this->host;
- if ($this->port != 80) {
- $url .= ':'.$this->port;
- }
- $url .= $this->path;
- return $url;
- }
- // Setter methods
- function setUserAgent($string) {
- $this->user_agent = $string;
- }
- function setAuthorization($username, $password) {
- $this->username = $username;
- $this->password = $password;
- }
- function setCookies($array) {
- $this->cookies = $array;
- }
- // Option setting methods
- function useGzip($boolean) {
- $this->use_gzip = $boolean;
- }
- function setPersistCookies($boolean) {
- $this->persist_cookies = $boolean;
- }
- function setPersistReferers($boolean) {
- $this->persist_referers = $boolean;
- }
- function setHandleRedirects($boolean) {
- $this->handle_redirects = $boolean;
- }
- function setMaxRedirects($num) {
- $this->max_redirects = $num;
- }
- function setHeadersOnly($boolean) {
- $this->headers_only = $boolean;
- }
- function setDebug($boolean) {
- $this->debug = $boolean;
- }
- // "Quick" static methods
- function quickGet($url) {
- $bits = parse_url($url);
- $host = $bits['host'];
- $port = isset($bits['port']) ? $bits['port'] : 80;
- $path = isset($bits['path']) ? $bits['path'] : '/';
- if (isset($bits['query'])) {
- $path .= '?'.$bits['query'];
- }
- $client = new HttpClient($host, $port);
- if (!$client->get($path)) {
- return false;
- } else {
- return $client->getContent();
- }
- }
- function quickPost($url, $data) {
- $bits = parse_url($url);
- $host = $bits['host'];
- $port = isset($bits['port']) ? $bits['port'] : 80;
- $path = isset($bits['path']) ? $bits['path'] : '/';
- $client = new HttpClient($host, $port);
- if (!$client->post($path, $data)) {
- return false;
- } else {
- return $client->getContent();
- }
- }
- function debug($msg, $object = false) {
- if ($this->debug) {
- print '<div style="border: 1px solid red; padding: 0.5em; margin: 0.5em;"><strong>HttpClient Debug:</strong> '.$msg;
- if ($object) {
- ob_start();
- print_r($object);
- $content = htmlentities(ob_get_contents());
- ob_end_clean();
- print '<pre>'.$content.'</pre>';
- }
- print '</div>';
- }
- }
-}
-
-?> \ No newline at end of file
diff --git a/wp-inst/wp-includes/js/tinymce/plugins/spellchecker/classes/TinyGoogleSpell.class.php b/wp-inst/wp-includes/js/tinymce/plugins/spellchecker/classes/TinyGoogleSpell.class.php
deleted file mode 100755
index 971da10..0000000
--- a/wp-inst/wp-includes/js/tinymce/plugins/spellchecker/classes/TinyGoogleSpell.class.php
+++ /dev/null
@@ -1,73 +0,0 @@
-<?php
-/* *
- * Tiny Spelling Interface for TinyMCE Spell Checking.
- *
- * Copyright © 2006 Moxiecode Systems AB
- */
-
-require_once("HttpClient.class.php");
-
-class TinyGoogleSpell {
- var $lang;
-
- function TinyGoogleSpell(&$config, $lang, $mode, $spelling, $jargon, $encoding) {
- $this->lang = $lang;
- }
-
- // Returns array with bad words or false if failed.
- function checkWords($word_array) {
- $words = array();
- $wordstr = implode(' ', $word_array);
-
- $matches = $this->_getMatches($wordstr);
-
- for ($i=0; $i<count($matches); $i++)
- $words[] = substr($wordstr, $matches[$i][1], $matches[$i][2]);
-
- return $words;
- }
-
- // Returns array with suggestions or false if failed.
- function getSuggestion($word) {
- $sug = array();
-
- $matches = $this->_getMatches($word);
-
- if (count($matches) > 0)
- $sug = explode("\t", $matches[0][4]);
-
- return $sug;
- }
-
- function _getMatches($word_list) {
- $xml = "";
-
- // Setup HTTP Client
- $client = new HttpClient('www.google.com');
- $client->setUserAgent('Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR');
- $client->setHandleRedirects(false);
- $client->setDebug(false);
-
- // Setup XML request
- $xml .= '<?xml version="1.0" encoding="utf-8" ?>';
- $xml .= '<spellrequest textalreadyclipped="0" ignoredups="0" ignoredigits="1" ignoreallcaps="1">';
- $xml .= '<text>' . htmlentities($word_list) . '</text></spellrequest>';
-
- // Execute HTTP Post to Google
- if (!$client->post('/tbproxy/spell?lang=' . $this->lang, $xml)) {
- $this->errorMsg[] = 'An error occurred: ' . $client->getError();
- return array();
- }
-
- // Grab and parse content
- $xml = $client->getContent();
- preg_match_all('/<c o="([^"]*)" l="([^"]*)" s="([^"]*)">([^<]*)<\/c>/', $xml, $matches, PREG_SET_ORDER);
-
- return $matches;
- }
-}
-
-// Setup classname, should be the same as the name of the spellchecker class
-$spellCheckerConfig['class'] = "TinyGoogleSpell";
-
-?>
diff --git a/wp-inst/wp-includes/js/tinymce/plugins/spellchecker/classes/TinyPspell.class.php b/wp-inst/wp-includes/js/tinymce/plugins/spellchecker/classes/TinyPspell.class.php
deleted file mode 100755
index 21fb194..0000000
--- a/wp-inst/wp-includes/js/tinymce/plugins/spellchecker/classes/TinyPspell.class.php
+++ /dev/null
@@ -1,64 +0,0 @@
-<?php
-/* *
- * Tiny Spelling Interface for TinyMCE Spell Checking.
- *
- * Copyright © 2006 Moxiecode Systems AB
- *
- */
-
-class TinyPSpell {
- var $lang;
- var $mode;
- var $string;
- var $plink;
- var $errorMsg;
-
- var $jargon;
- var $spelling;
- var $encoding;
-
- function TinyPSpell(&$config, $lang, $mode, $spelling, $jargon, $encoding) {
- $this->lang = $lang;
- $this->mode = $mode;
- $this->plink = false;
- $this->errorMsg = array();
-
- if (!function_exists("pspell_new")) {
- $this->errorMsg[] = "PSpell not found.";
- return;
- }
-
- $this->plink = pspell_new($this->lang, $this->spelling, $this->jargon, $this->encoding, $this->mode);
- }
-
- // Returns array with bad words or false if failed.
- function checkWords($wordArray) {
- if (!$this->plink) {
- $this->errorMsg[] = "No PSpell link found for checkWords.";
- return array();
- }
-
- $wordError = array();
- foreach($wordArray as $word) {
- if(!pspell_check($this->plink, trim($word)))
- $wordError[] = $word;
- }
-
- return $wordError;
- }
-
- // Returns array with suggestions or false if failed.
- function getSuggestion($word) {
- if (!$this->plink) {
- $this->errorMsg[] = "No PSpell link found for getSuggestion.";
- return array();
- }
-
- return pspell_suggest($this->plink, $word);
- }
-}
-
-// Setup classname, should be the same as the name of the spellchecker class
-$spellCheckerConfig['class'] = "TinyPspell";
-
-?> \ No newline at end of file
diff --git a/wp-inst/wp-includes/js/tinymce/plugins/spellchecker/classes/TinyPspellShell.class.php b/wp-inst/wp-includes/js/tinymce/plugins/spellchecker/classes/TinyPspellShell.class.php
deleted file mode 100755
index 41c0948..0000000
--- a/wp-inst/wp-includes/js/tinymce/plugins/spellchecker/classes/TinyPspellShell.class.php
+++ /dev/null
@@ -1,102 +0,0 @@
-<?php
-/* *
- * Tiny Spelling Interface for TinyMCE Spell Checking.
- *
- * Copyright © 2006 Moxiecode Systems AB
- *
- */
-
-class TinyPspellShell {
- var $lang;
- var $mode;
- var $string;
- var $error;
- var $errorMsg;
-
- var $cmd;
- var $tmpfile;
-
- var $jargon;
- var $spelling;
- var $encoding;
-
- function TinyPspellShell(&$config, $lang, $mode, $spelling, $jargon, $encoding) {
- $this->lang = $lang;
- $this->mode = $mode;
- $this->error = false;
- $this->errorMsg = array();
-
- $this->tmpfile = tempnam($config['tinypspellshell.tmp'], "tinyspell");
- $this->cmd = "cat ". $this->tmpfile ." | " . $config['tinypspellshell.aspell'] . " -a --lang=". $this->lang;
- }
-
- // Returns array with bad words or false if failed.
- function checkWords($wordArray) {
- if ($fh = fopen($this->tmpfile, "w")) {
- fwrite($fh, "!\n");
- foreach($wordArray as $key => $value)
- fwrite($fh, "^" . $value . "\n");
-
- fclose($fh);
- } else {
- $this->errorMsg[] = "PSpell not found.";
- return array();
- }
-
- $data = shell_exec($this->cmd);
- @unlink($this->tmpfile);
- $returnData = array();
- $dataArr = preg_split("/\n/", $data, -1, PREG_SPLIT_NO_EMPTY);
-
- foreach($dataArr as $dstr) {
- $matches = array();
-
- // Skip this line.
- if (strpos($dstr, "@") === 0)
- continue;
-
- preg_match("/\& (.*) .* .*: .*/i", $dstr, $matches);
-
- if (!empty($matches[1]))
- $returnData[] = $matches[1];
- }
-
- return $returnData;
- }
-
- // Returns array with suggestions or false if failed.
- function getSuggestion($word) {
- if ($fh = fopen($this->tmpfile, "w")) {
- fwrite($fh, "!\n");
- fwrite($fh, "^$word\n");
- fclose($fh);
- } else
- die("Error opening tmp file.");
-
- $data = shell_exec($this->cmd);
- @unlink($this->tmpfile);
- $returnData = array();
- $dataArr = preg_split("/\n/", $data, -1, PREG_SPLIT_NO_EMPTY);
-
- foreach($dataArr as $dstr) {
- $matches = array();
-
- // Skip this line.
- if (strpos($dstr, "@") === 0)
- continue;
-
- preg_match("/\& .* .* .*: (.*)/i", $dstr, $matches);
-
- if (!empty($matches[1])) {
- // For some reason, the exec version seems to add commas?
- $returnData[] = str_replace(",", "", $matches[1]);
- }
- }
- return $returnData;
- }
-}
-
-// Setup classname, should be the same as the name of the spellchecker class
-$spellCheckerConfig['class'] = "TinyPspellShell";
-
-?>
diff --git a/wp-inst/wp-includes/js/tinymce/plugins/spellchecker/config.php b/wp-inst/wp-includes/js/tinymce/plugins/spellchecker/config.php
deleted file mode 100755
index a528565..0000000
--- a/wp-inst/wp-includes/js/tinymce/plugins/spellchecker/config.php
+++ /dev/null
@@ -1,29 +0,0 @@
-<?php
- $spellCheckerConfig = array();
-
- // General settings
- $spellCheckerConfig['enabled'] = true;
-
- // Pspell shell specific settings
- $spellCheckerConfig['tinypspellshell.aspell'] = '/usr/bin/aspell';
- $spellCheckerConfig['tinypspellshell.tmp'] = '/tmp';
-
- // Default settings
- $spellCheckerConfig['default.language'] = 'en';
- $spellCheckerConfig['default.mode'] = PSPELL_FAST;
-
- // Normaly not required to configure
- $spellCheckerConfig['default.spelling'] = "";
- $spellCheckerConfig['default.jargon'] = "";
- $spellCheckerConfig['default.encoding'] = "";
-
- // Spellchecker class use
- if ( function_exists('pspell_new') )
- require_once("classes/TinyPspell.class.php"); // Internal PHP version
-
- elseif ( file_exists($spellCheckerConfig['tinypspellshell.aspell']) )
- require_once("classes/TinyPspellShell.class.php"); // Command line pspell
-
- else
- require_once("classes/TinyGoogleSpell.class.php"); // Google web service
-?>
diff --git a/wp-inst/wp-includes/js/tinymce/plugins/spellchecker/css/content.css b/wp-inst/wp-includes/js/tinymce/plugins/spellchecker/css/content.css
deleted file mode 100755
index fb82733..0000000
--- a/wp-inst/wp-includes/js/tinymce/plugins/spellchecker/css/content.css
+++ /dev/null
@@ -1,5 +0,0 @@
-.mceItemHiddenSpellWord {
- background: url('../images/wline.gif') repeat-x bottom left;
- bo2rder-bottom: 1px dashed red;
- cursor: default;
-}
diff --git a/wp-inst/wp-includes/js/tinymce/plugins/spellchecker/css/spellchecker.css b/wp-inst/wp-includes/js/tinymce/plugins/spellchecker/css/spellchecker.css
deleted file mode 100755
index aa4a8ea..0000000
--- a/wp-inst/wp-includes/js/tinymce/plugins/spellchecker/css/spellchecker.css
+++ /dev/null
@@ -1,34 +0,0 @@
-.mceMsgBox {
- border: 1px solid gray;
- padding: 8px;
-}
-
-.mceMsgBox span {
- vertical-align: top;
- color: #555555;
-}
-
-/* Misc */
-
-.mceBlockBox {
- display: none;
- position: absolute;
- left: 0;
- top: 0;
- z-index: 100;
- filter:progid:DXImageTransform.Microsoft.Alpha(style=0, opacity=60);
- -moz-opacity:0.6;
- opacity: 0.6;
- background-color: white;
-}
-
-.mceMsgBox {
- display: none;
- z-index: 101;
- position: absolute;
- left: 0;
- top: 0;
- font-family: Arial, Verdana, Tahoma, Helvetica;
- font-weight: bold;
- font-size: 11px;
-}
diff --git a/wp-inst/wp-includes/js/tinymce/plugins/spellchecker/editor_plugin.js b/wp-inst/wp-includes/js/tinymce/plugins/spellchecker/editor_plugin.js
deleted file mode 100755
index ab3fc6b..0000000
--- a/wp-inst/wp-includes/js/tinymce/plugins/spellchecker/editor_plugin.js
+++ /dev/null
@@ -1,573 +0,0 @@
-/**
- * $RCSfile: editor_plugin_src.js,v $
- * $Revision: 1.4 $
- * $Date: 2006/03/24 17:24:50 $
- *
- * @author Moxiecode
- * @copyright Copyright © 2004-2006, Moxiecode Systems AB, All rights reserved.
- */
-
-tinyMCE.importPluginLanguagePack('spellchecker', 'en,sv,nn,nb');
-
-// Plucin static class
-var TinyMCE_SpellCheckerPlugin = {
- _contextMenu : new TinyMCE_Menu(),
- _menu : new TinyMCE_Menu(),
- _counter : 0,
-
- getInfo : function() {
- return {
- longname : 'Spellchecker',
- author : 'Moxiecode Systems AB',
- authorurl : 'http://tinymce.moxiecode.com',
- infourl : 'http://tinymce.moxiecode.com/tinymce/docs/plugin_spellchecker.html',
- version : tinyMCE.majorVersion + "." + tinyMCE.minorVersion
- };
- },
-
- handleEvent : function(e) {
- var elm = tinyMCE.isMSIE ? e.srcElement : e.target;
- var inst = tinyMCE.selectedInstance, args = '';
- var self = TinyMCE_SpellCheckerPlugin;
- var cm = self._contextMenu;
- var p, p2, x, y, sx, sy, h, elm;
-
- // Handle click on word
- if ((e.type == "click" || e.type == "contextmenu") && elm) {
- do {
- if (tinyMCE.getAttrib(elm, 'class') == "mceItemHiddenSpellWord") {
- inst.spellCheckerElm = elm;
-
- // Setup arguments
- args += 'id=' + inst.editorId + "|" + (++self._counter);
- args += '&cmd=suggest&check=' + escape(elm.innerHTML);
- args += '&lang=' + escape(inst.spellCheckerLang);
-
- elm = inst.spellCheckerElm;
- p = tinyMCE.getAbsPosition(inst.iframeElement);
- p2 = tinyMCE.getAbsPosition(elm);
- h = parseInt(elm.offsetHeight);
- sx = inst.getBody().scrollLeft;
- sy = inst.getBody().scrollTop;
- x = p.absLeft + p2.absLeft - sx;
- y = p.absTop + p2.absTop - sy + h;
-
- cm.clear();
- cm.addTitle(tinyMCE.getLang('lang_spellchecker_wait', '', true));
- cm.show();
- cm.moveTo(x, y);
-
- inst.selection.selectNode(elm, false, false);
-
- self._sendAjax(self.baseURL + "/tinyspell.php", self._ajaxResponse, 'post', args);
-
- tinyMCE.cancelEvent(e);
- return false;
- }
- } while ((elm = elm.parentNode));
- }
-
- return true;
- },
-
- initInstance : function(inst) {
- var self = TinyMCE_SpellCheckerPlugin, m = self._menu, cm = self._contextMenu, e;
-
- tinyMCE.importCSS(inst.getDoc(), tinyMCE.baseURL + "/plugins/spellchecker/css/content.css");
-
- if (!tinyMCE.hasMenu('spellcheckercontextmenu')) {
- tinyMCE.importCSS(document, tinyMCE.baseURL + "/plugins/spellchecker/css/spellchecker.css");
-
- cm.init({drop_menu : false});
- tinyMCE.addMenu('spellcheckercontextmenu', cm);
- }
-
- if (!tinyMCE.hasMenu('spellcheckermenu')) {
- m.init({});
- tinyMCE.addMenu('spellcheckermenu', m);
- }
-
- inst.spellCheckerLang = 'en';
- self._buildSettingsMenu(inst, null);
-
- e = self._getBlockBoxLayer(inst).create('div', 'mceBlockBox', document.getElementById(inst.editorId + '_parent'));
- self._getMsgBoxLayer(inst).create('div', 'mceMsgBox', document.getElementById(inst.editorId + '_parent'));
- },
-
- _getMsgBoxLayer : function(inst) {
- if (!inst.spellCheckerMsgBoxL)
- inst.spellCheckerMsgBoxL = new TinyMCE_Layer(inst.editorId + '_spellcheckerMsgBox', false);
-
- return inst.spellCheckerMsgBoxL;
- },
-
- _getBlockBoxLayer : function(inst) {
- if (!inst.spellCheckerBoxL)
- inst.spellCheckerBoxL = new TinyMCE_Layer(inst.editorId + '_spellcheckerBlockBox', false);
-
- return inst.spellCheckerBoxL;
- },
-
- _buildSettingsMenu : function(inst, lang) {
- var i, ar = tinyMCE.getParam('spellchecker_languages', '+English=en').split(','), p;
- var self = TinyMCE_SpellCheckerPlugin, m = self._menu, c;
-
- m.clear();
- m.addTitle(tinyMCE.getLang('lang_spellchecker_langs', '', true));
-
- for (i=0; i<ar.length; i++) {
- if (ar[i] != '') {
- p = ar[i].split('=');
- c = 'mceMenuCheckItem';
-
- if (p[0].charAt(0) == '+') {
- p[0] = p[0].substring(1);
-
- if (lang == null) {
- c = 'mceMenuSelectedItem';
- inst.spellCheckerLang = p[1];
- }
- }
-
- if (lang == p[1])
- c = 'mceMenuSelectedItem';
-
- m.add({text : p[0], js : "tinyMCE.execInstanceCommand('" + inst.editorId + "','mceSpellCheckerSetLang',false,'" + p[1] + "');", class_name : c});
- }
- }
- },
-
- setupContent : function(editor_id, body, doc) {
- TinyMCE_SpellCheckerPlugin._removeWords(doc);
- },
-
- getControlHTML : function(cn) {
- switch (cn) {
- case "spellchecker":
- return TinyMCE_SpellCheckerPlugin._getMenuButtonHTML(cn, 'lang_spellchecker_desc', '{$pluginurl}/images/spellchecker.gif', 'lang_spellchecker_desc', 'mceSpellCheckerMenu', 'mceSpellCheck');
- }
-
- return "";
- },
-
- /**
- * Returns the HTML code for a normal button control.
- *
- * @param {string} id Button control id, this will be the suffix for the element id, the prefix is the editor id.
- * @param {string} lang Language variable key name to insert as the title/alt of the button image.
- * @param {string} img Image URL to insert, {$themeurl} and {$pluginurl} will be replaced.
- * @param {string} mlang Language variable key name to insert as the title/alt of the menu button image.
- * @param {string} mid Menu by id to display when the menu button is pressed.
- * @param {string} cmd Command to execute when the user clicks the button.
- * @param {string} ui Optional user interface boolean for command.
- * @param {string} val Optional value for command.
- * @return HTML code for a normal button based in input information.
- * @type string
- */
- _getMenuButtonHTML : function(id, lang, img, mlang, mid, cmd, ui, val) {
- var h = '', m, x;
-
- cmd = 'tinyMCE.hideMenus();tinyMCE.execInstanceCommand(\'{$editor_id}\',\'' + cmd + '\'';
-
- if (typeof(ui) != "undefined" && ui != null)
- cmd += ',' + ui;
-
- if (typeof(val) != "undefined" && val != null)
- cmd += ",'" + val + "'";
-
- cmd += ');';
-
- // Use tilemaps when enabled and found and never in MSIE since it loads the tile each time from cache if cahce is disabled
- if (tinyMCE.getParam('button_tile_map') && (!tinyMCE.isMSIE || tinyMCE.isOpera) && (m = tinyMCE.buttonMap[id]) != null && (tinyMCE.getParam("language") == "en" || img.indexOf('$lang') == -1)) {
- // Tiled button
- x = 0 - (m * 20) == 0 ? '0' : 0 - (m * 20);
- h += '<a id="{$editor_id}_' + id + '" href="javascript:' + cmd + '" onclick="' + cmd + 'return false;" onmousedown="return false;" class="mceTiledButton mceButtonNormal" target="_self">';
- h += '<img src="{$themeurl}/images/spacer.gif" style="background-position: ' + x + 'px 0" title="{$' + lang + '}" />';
- h += '<img src="{$themeurl}/images/button_menu.gif" title="{$' + lang + '}" class="mceMenuButton" onclick="' + mcmd + 'return false;" />';
- h += '</a>';
- } else {
- if (tinyMCE.isMSIE && !tinyMCE.isOpera)
- h += '<span id="{$editor_id}_' + id + '" class="mceMenuButton" onmouseover="tinyMCE.plugins.spellchecker._menuButtonEvent(\'over\',this);" onmouseout="tinyMCE.plugins.spellchecker._menuButtonEvent(\'out\',this);">';
- else
- h += '<span id="{$editor_id}_' + id + '" class="mceMenuButton">';
-
- h += '<a href="javascript:' + cmd + '" onclick="' + cmd + 'return false;" onmousedown="return false;" class="mceMenuButtonNormal" target="_self">';
- h += '<img src="' + img + '" title="{$' + lang + '}" /></a>';
- h += '<a href="#" onclick="tinyMCE.plugins.spellchecker._toggleMenu(\'{$editor_id}\',\'' + mid + '\');return false;" onmousedown="return false;"><img src="{$themeurl}/images/button_menu.gif" title="{$' + lang + '}" class="mceMenuButton" />';
- h += '</a></span>';
- }
-
- return h;
- },
-
- _menuButtonEvent : function(e, o) {
- if (o.className == 'mceMenuButtonFocus')
- return;
-
- if (e == 'over')
- o.className = o.className + ' mceMenuHover';
- else
- o.className = o.className.replace(/\s.*$/, '');
- },
-
- _toggleMenu : function(editor_id, id) {
- var self = TinyMCE_SpellCheckerPlugin;
- var e = document.getElementById(editor_id + '_spellchecker');
- var inst = tinyMCE.getInstanceById(editor_id);
-
- if (self._menu.isVisible()) {
- tinyMCE.hideMenus();
- return;
- }
-
- tinyMCE.lastMenuBtnClass = e.className.replace(/\s.*$/, '');
- tinyMCE.switchClass(editor_id + '_spellchecker', 'mceMenuButtonFocus');
-
- self._menu.moveRelativeTo(e, 'bl');
- self._menu.moveBy(tinyMCE.isMSIE && !tinyMCE.isOpera ? 0 : 1, -1);
-
- if (tinyMCE.isOpera)
- self._menu.moveBy(0, -2);
-
- self._onMenuEvent(inst, self._menu, 'show');
-
- self._menu.show();
-
- tinyMCE.lastSelectedMenuBtn = editor_id + '_spellchecker';
- },
-
- _onMenuEvent : function(inst, m, n) {
- TinyMCE_SpellCheckerPlugin._buildSettingsMenu(inst, inst.spellCheckerLang);
- },
-
- execCommand : function(editor_id, element, command, user_interface, value) {
- var inst = tinyMCE.getInstanceById(editor_id), self = TinyMCE_SpellCheckerPlugin, args = '', co, bb, mb, nl, i, e;
-
- // Handle commands
- switch (command) {
- case "mceSpellCheck":
- if (!inst.spellcheckerOn) {
- inst.spellCheckerBookmark = inst.selection.getBookmark();
-
- // Setup arguments
- args += 'id=' + inst.editorId + "|" + (++self._counter);
- args += '&cmd=spell&check=' + escape(self._getWordList(inst.getBody())).replace(/%20/g, '+');
- args += '&lang=' + escape(inst.spellCheckerLang);
-
- co = document.getElementById(inst.editorId + '_parent').firstChild;
- bb = self._getBlockBoxLayer(inst);
- bb.moveRelativeTo(co, 'tl');
- bb.resizeTo(co.offsetWidth, co.offsetHeight);
- bb.show();
-
- // Setup message box
- mb = self._getMsgBoxLayer(inst);
- e = mb.getElement();
- e.innerHTML = '<span>' + tinyMCE.getLang('lang_spellchecker_swait', '', true) + '</span>';
- mb.show();
- mb.moveRelativeTo(co, 'cc');
-
- if (tinyMCE.isMSIE && !tinyMCE.isOpera) {
- nl = co.getElementsByTagName('select');
- for (i=0; i<nl.length; i++)
- nl[i].disabled = true;
- }
-
- inst.spellcheckerOn = true;
- tinyMCE.switchClass(editor_id + '_spellchecker', 'mceMenuButtonSelected');
-
- self._sendAjax(self.baseURL + "/tinyspell.php", self._ajaxResponse, 'post', args);
- } else {
- self._removeWords(inst.getDoc());
- inst.spellcheckerOn = false;
- tinyMCE.switchClass(editor_id + '_spellchecker', 'mceMenuButton');
- }
-
- return true;
-
- case "mceSpellCheckReplace":
- if (inst.spellCheckerElm)
- tinyMCE.setOuterHTML(inst.spellCheckerElm, value);
-
- self._checkDone(inst);
- self._contextMenu.hide();
- self._menu.hide();
-
- return true;
-
- case "mceSpellCheckIgnore":
- if (inst.spellCheckerElm)
- self._removeWord(inst.spellCheckerElm);
-
- self._checkDone(inst);
- self._contextMenu.hide();
- self._menu.hide();
- return true;
-
- case "mceSpellCheckIgnoreAll":
- if (inst.spellCheckerElm)
- self._removeWords(inst.getDoc(), inst.spellCheckerElm.innerHTML);
-
- self._checkDone(inst);
- self._contextMenu.hide();
- self._menu.hide();
- return true;
-
- case "mceSpellCheckerSetLang":
- tinyMCE.hideMenus();
- inst.spellCheckerLang = value;
- self._removeWords(inst.getDoc());
- inst.spellcheckerOn = false;
- tinyMCE.switchClass(editor_id + '_spellchecker', 'mceMenuButton');
- return true;
- }
-
- // Pass to next handler in chain
- return false;
- },
-
- cleanup : function(type, content, inst) {
- switch (type) {
- case "get_from_editor_dom":
- TinyMCE_SpellCheckerPlugin._removeWords(content);
- inst.spellcheckerOn = false;
- break;
- }
-
- return content;
- },
-
- // Private plugin specific methods
-
- _displayUI : function(inst) {
- var self = TinyMCE_SpellCheckerPlugin;
- var bb = self._getBlockBoxLayer(inst);
- var mb = self._getMsgBoxLayer(inst);
- var nl, i;
- var co = document.getElementById(inst.editorId + '_parent').firstChild;
-
- if (tinyMCE.isMSIE && !tinyMCE.isOpera) {
- nl = co.getElementsByTagName('select');
- for (i=0; i<nl.length; i++)
- nl[i].disabled = false;
- }
-
- bb.hide();
- mb.hide();
- },
-
- _ajaxResponse : function(xml) {
- var el = xml ? xml.documentElement : null;
- var inst = tinyMCE.selectedInstance, self = TinyMCE_SpellCheckerPlugin;
- var cmd = el ? el.getAttribute("cmd") : null, err, id = el ? el.getAttribute("id") : null;
-
- if (id)
- inst = tinyMCE.getInstanceById(id.substring(0, id.indexOf('|')));
-
- self._displayUI(inst);
-
- // Ignore suggestions for other ajax responses
- if (cmd == "suggest" && id != inst.editorId + "|" + self._counter)
- return;
-
- if (!el) {
- inst.spellcheckerOn = false;
- tinyMCE.switchClass(inst.editorId + '_spellchecker', 'mceMenuButton');
- alert("Could not execute AJAX call, server didn't return valid a XML.");
- return;
- }
-
- err = el.getAttribute("error");
-
- if (err == "true") {
- inst.spellcheckerOn = false;
- tinyMCE.switchClass(inst.editorId + '_spellchecker', 'mceMenuButton');
- alert(el.getAttribute("msg"));
- return;
- }
-
- switch (cmd) {
- case "spell":
- if (xml.documentElement.firstChild) {
- self._markWords(inst.getDoc(), inst.getBody(), el.firstChild.nodeValue.split(' '));
- inst.selection.moveToBookmark(inst.spellCheckerBookmark);
- } else
- alert(tinyMCE.getLang('lang_spellchecker_no_mpell', '', true));
-
- self._checkDone(inst);
-
- break;
-
- case "suggest":
- self._buildMenu(el.firstChild ? el.firstChild.nodeValue.split(' ') : null, 10);
- self._contextMenu.show();
- break;
- }
- },
-
- _getWordSeparators : function() {
- var i, re = '', ch = tinyMCE.getParam('spellchecker_word_separator_chars', '\\s!"#$%&()*+,-./:;<=>?@[\]^_{|}§©«®±¶·¸»¼½¾¿×÷¤\u201d\u201c');
-
- for (i=0; i<ch.length; i++)
- re += '\\' + ch.charAt(i);
-
- return re;
- },
-
- _getWordList : function(n) {
- var i, x, s, nv = '', nl = tinyMCE.getNodeTree(n, new Array(), 3), wl = new Array();
- var re = TinyMCE_SpellCheckerPlugin._getWordSeparators();
-
- for (i=0; i<nl.length; i++)
- nv += nl[i].nodeValue + " ";
-
- nv = nv.replace(new RegExp('([0-9]|[' + re + '])', 'g'), ' ');
- nv = tinyMCE.trim(nv.replace(/(\s+)/g, ' '));
-
- nl = nv.split(/\s+/);
- for (i=0; i<nl.length; i++) {
- s = false;
- for (x=0; x<wl.length; x++) {
- if (wl[x] == nl[i]) {
- s = true;
- break;
- }
- }
-
- if (!s)
- wl[wl.length] = nl[i];
- }
-
- return wl.join(' ');
- },
-
- _removeWords : function(doc, word) {
- var i, c, nl = doc.getElementsByTagName("span");
- var self = TinyMCE_SpellCheckerPlugin;
- var inst = tinyMCE.selectedInstance, b = inst ? inst.selection.getBookmark() : null;
-
- word = typeof(word) == 'undefined' ? null : word;
-
- for (i=nl.length-1; i>=0; i--) {
- c = tinyMCE.getAttrib(nl[i], 'class');
-
- if ((c == 'mceItemHiddenSpellWord' || c == 'mceItemHidden') && (word == null || nl[i].innerHTML == word))
- self._removeWord(nl[i]);
- }
-
- if (b)
- inst.selection.moveToBookmark(b);
- },
-
- _checkDone : function(inst) {
- var i, w = 0, nl = inst.getDoc().getElementsByTagName("span")
- var self = TinyMCE_SpellCheckerPlugin;
-
- for (i=nl.length-1; i>=0; i--) {
- c = tinyMCE.getAttrib(nl[i], 'class');
-
- if (c == 'mceItemHiddenSpellWord')
- w++;
- }
-
- if (w == 0) {
- self._removeWords(inst.getDoc());
- inst.spellcheckerOn = false;
- tinyMCE.switchClass(inst.editorId + '_spellchecker', 'mceMenuButton');
- }
- },
-
- _removeWord : function(e) {
- tinyMCE.setOuterHTML(e, e.innerHTML);
- },
-
- _markWords : function(doc, n, wl) {
- var i, nv, nn, nl = tinyMCE.getNodeTree(n, new Array(), 3);
- var r1, r2, r3, r4, r5, w = '';
- var re = TinyMCE_SpellCheckerPlugin._getWordSeparators();
-
- for (i=0; i<wl.length; i++)
- w += wl[i] + ((i == wl.length-1) ? '' : '|');
-
- r1 = new RegExp('([' + re + '])(' + w + ')([' + re + '])', 'g');
- r2 = new RegExp('^(' + w + ')', 'g');
- r3 = new RegExp('(' + w + ')([' + re + ']?)$', 'g');
- r4 = new RegExp('^(' + w + ')([' + re + ']?)$', 'g');
- r5 = new RegExp('(' + w + ')([' + re + '])', 'g');
-
- for (i=0; i<nl.length; i++) {
- nv = nl[i].nodeValue;
- if (r1.test(nv) || r2.test(nv) || r3.test(nv) || r4.test(nv)) {
- nv = tinyMCE.xmlEncode(nv);
- nv = nv.replace(r5, '<span class="mceItemHiddenSpellWord">$1</span>$2');
- nv = nv.replace(r3, '<span class="mceItemHiddenSpellWord">$1</span>$2');
-
- nn = doc.createElement('span');
- nn.className = "mceItemHidden";
- nn.innerHTML = nv;
-
- // Remove old text node
- nl[i].parentNode.replaceChild(nn, nl[i]);
- }
- }
- },
-
- _buildMenu : function(sg, max) {
- var i, self = TinyMCE_SpellCheckerPlugin, cm = self._contextMenu;
-
- cm.clear();
-
- if (sg != null) {
- cm.addTitle(tinyMCE.getLang('lang_spellchecker_sug', '', true));
-
- for (i=0; i<sg.length && i<max; i++)
- cm.addItem(sg[i], 'tinyMCE.execCommand("mceSpellCheckReplace",false,"' + sg[i] + '");');
-
- cm.addSeparator();
- cm.addItem(tinyMCE.getLang('lang_spellchecker_ignore_word', '', true), 'tinyMCE.execCommand(\'mceSpellCheckIgnore\');');
- cm.addItem(tinyMCE.getLang('lang_spellchecker_ignore_words', '', true), 'tinyMCE.execCommand(\'mceSpellCheckIgnoreAll\');');
- } else
- cm.addTitle(tinyMCE.getLang('lang_spellchecker_no_sug', '', true));
-
- cm.update();
- },
-
- _getAjaxHTTP : function() {
- try {
- return new ActiveXObject('Msxml2.XMLHTTP')
- } catch (e) {
- try {
- return new ActiveXObject('Microsoft.XMLHTTP')
- } catch (e) {
- return new XMLHttpRequest();
- }
- }
- },
-
- /**
- * Perform AJAX call.
- *
- * @param {string} u URL of AJAX service.
- * @param {function} f Function to call when response arrives.
- * @param {string} m Request method post or get.
- * @param {Array} a Array with arguments to send.
- */
- _sendAjax : function(u, f, m, a) {
- var x = TinyMCE_SpellCheckerPlugin._getAjaxHTTP();
-
- x.open(m, u, true);
-
- x.onreadystatechange = function() {
- if (x.readyState == 4)
- f(x.responseXML);
- };
-
- if (m == 'post')
- x.setRequestHeader('Content-type', 'application/x-www-form-urlencoded');
-
- x.send(a);
- }
-};
-
-// Register plugin
-tinyMCE.addPlugin('spellchecker', TinyMCE_SpellCheckerPlugin);
diff --git a/wp-inst/wp-includes/js/tinymce/plugins/spellchecker/images/spellchecker.gif b/wp-inst/wp-includes/js/tinymce/plugins/spellchecker/images/spellchecker.gif
deleted file mode 100755
index 294a9d2..0000000
--- a/wp-inst/wp-includes/js/tinymce/plugins/spellchecker/images/spellchecker.gif
+++ /dev/null
Binary files differ
diff --git a/wp-inst/wp-includes/js/tinymce/plugins/spellchecker/images/wline.gif b/wp-inst/wp-includes/js/tinymce/plugins/spellchecker/images/wline.gif
deleted file mode 100755
index 7d0a4db..0000000
--- a/wp-inst/wp-includes/js/tinymce/plugins/spellchecker/images/wline.gif
+++ /dev/null
Binary files differ
diff --git a/wp-inst/wp-includes/js/tinymce/plugins/spellchecker/langs/en.js b/wp-inst/wp-includes/js/tinymce/plugins/spellchecker/langs/en.js
deleted file mode 100755
index f40b202..0000000
--- a/wp-inst/wp-includes/js/tinymce/plugins/spellchecker/langs/en.js
+++ /dev/null
@@ -1,14 +0,0 @@
-// UK lang variables
-
-tinyMCE.addToLang('spellchecker',{
- desc : 'Toggle spellchecker',
- menu : 'Spellchecker settings',
- ignore_word : 'Ignore word',
- ignore_words : 'Ignore all',
- langs : 'Languages',
- wait : 'Please wait...',
- swait : 'Spellchecking, please wait...',
- sug : 'Suggestions',
- no_sug : 'No suggestions',
- no_mpell : 'No misspellings found.'
-});
diff --git a/wp-inst/wp-includes/js/tinymce/plugins/spellchecker/tinyspell.php b/wp-inst/wp-includes/js/tinymce/plugins/spellchecker/tinyspell.php
deleted file mode 100755
index 88da57d..0000000
--- a/wp-inst/wp-includes/js/tinymce/plugins/spellchecker/tinyspell.php
+++ /dev/null
@@ -1,133 +0,0 @@
-<?php
-/**
- * $RCSfile: tinyspell.php,v $
- * $Revision: 1.1 $
- * $Date: 2006/03/14 17:33:47 $
- *
- * @author Moxiecode
- * @copyright Copyright © 2004-2006, Moxiecode Systems AB, All rights reserved.
- */
-
- require_once("config.php");
-
- $id = sanitize($_POST['id'], "loose");
-
- if (!$spellCheckerConfig['enabled']) {
- header('Content-type: text/xml; charset=utf-8');
- echo '<?xml version="1.0" encoding="utf-8" ?><res id="' . $id . '" error="true" msg="You must enable the spellchecker by modifying the config.php file." />';
- die;
- }
-
- // Basic config
- $defaultLanguage = $spellCheckerConfig['default.language'];
- $defaultMode = $spellCheckerConfig['default.mode'];
-
- // Normaly not required to configure
- $defaultSpelling = $spellCheckerConfig['default.spelling'];
- $defaultJargon = $spellCheckerConfig['default.jargon'];
- $defaultEncoding = $spellCheckerConfig['default.encoding'];
- $outputType = "xml"; // Do not change
-
- // Get input parameters.
-
- $check = $_POST['check'];
- $cmd = sanitize($_POST['cmd']);
- $lang = sanitize($_POST['lang'], "strict");
- $mode = sanitize($_POST['mode'], "strict");
- $spelling = sanitize($_POST['spelling'], "strict");
- $jargon = sanitize($_POST['jargon'], "strict");
- $encoding = sanitize($_POST['encoding'], "strict");
- $sg = sanitize($_POST['sg'], "bool");
- $words = array();
-
- $validRequest = true;
-
- if (empty($check))
- $validRequest = false;
-
- if (empty($lang))
- $lang = $defaultLanguage;
-
- if (empty($mode))
- $mode = $defaultMode;
-
- if (empty($spelling))
- $spelling = $defaultSpelling;
-
- if (empty($jargon))
- $jargon = $defaultJargon;
-
- if (empty($encoding))
- $encoding = $defaultEncoding;
-
- function sanitize($str, $type="strict") {
- switch ($type) {
- case "strict":
- $str = preg_replace("/[^a-zA-Z0-9_\-]/i", "", $str);
- break;
- case "loose":
- $str = preg_replace("/</i", "&gt;", $str);
- $str = preg_replace("/>/i", "&lt;", $str);
- break;
- case "bool":
- if ($str == "true" || $str == true)
- $str = true;
- else
- $str = false;
- break;
- }
-
- return $str;
- }
-
- $result = array();
- $tinyspell = new $spellCheckerConfig['class']($spellCheckerConfig, $lang, $mode, $spelling, $jargon, $encoding);
-
- if (count($tinyspell->errorMsg) == 0) {
- switch($cmd) {
- case "spell":
- // Space for non-exec version and \n for the exec version.
- $words = preg_split("/ |\n/", $check, -1, PREG_SPLIT_NO_EMPTY);
- $result = $tinyspell->checkWords($words);
- break;
- case "suggest":
- $result = $tinyspell->getSuggestion($check);
- break;
- default:
- // Just use this for now.
- $tinyspell->errorMsg[] = "No command.";
- $outputType = $outputType . "error";
- break;
- }
- } else
- $outputType = $outputType . "error";
-
- if (!$result)
- $result = array();
-
- // Output data
- switch($outputType) {
- case "xml":
- header('Content-type: text/xml; charset=utf-8');
- echo '<?xml version="1.0" encoding="utf-8" ?>';
- echo "\n";
- if (count($result) == 0)
- echo '<res id="' . $id . '" cmd="'. $cmd .'" />';
- else
- echo '<res id="' . $id . '" cmd="'. $cmd .'">'. utf8_encode(implode(" ", $result)) .'</res>';
-
- break;
- case "xmlerror";
- header('Content-type: text/xml; charset=utf-8');
- echo '<?xml version="1.0" encoding="utf-8" ?>';
- echo "\n";
- echo '<res id="' . $id . '" cmd="'. $cmd .'" error="true" msg="'. implode(" ", $tinyspell->errorMsg) .'" />';
- break;
- case "html":
- var_dump($result);
- break;
- case "htmlerror":
- echo "Error";
- break;
- }
-?>
diff --git a/wp-inst/wp-includes/js/tinymce/plugins/wordpress/editor_plugin.js b/wp-inst/wp-includes/js/tinymce/plugins/wordpress/editor_plugin.js
deleted file mode 100644
index e5067c0..0000000
--- a/wp-inst/wp-includes/js/tinymce/plugins/wordpress/editor_plugin.js
+++ /dev/null
@@ -1,400 +0,0 @@
-/* Import plugin specific language pack */
-tinyMCE.importPluginLanguagePack('wordpress', 'en');
-
-var TinyMCE_wordpressPlugin = {
- getInfo : function() {
- return {
- longname : 'WordPress Plugin',
- author : 'WordPress',
- authorurl : 'http://wordpress.org',
- infourl : 'http://wordpress.org',
- version : '1'
- };
- },
-
- getControlHTML : function(control_name) {
- switch (control_name) {
- case "wp_more":
- return tinyMCE.getButtonHTML(control_name, 'lang_wordpress_more_button', '{$pluginurl}/images/more.gif', 'wpMore');
- case "wp_page":
- return tinyMCE.getButtonHTML(control_name, 'lang_wordpress_page_button', '{$pluginurl}/images/page.gif', 'wpPage');
- case "wp_help":
- var buttons = tinyMCE.getButtonHTML(control_name, 'lang_help_button_title', '{$pluginurl}/images/help.gif', 'wpHelp');
- var hiddenControls = '<div class="zerosize">'
- + '<input type="button" accesskey="n" onclick="tinyMCE.execInstanceCommand(\'{$editor_id}\',\'mceSpellCheck\',false);" />'
- + '<input type="button" accesskey="k" onclick="tinyMCE.execInstanceCommand(\'{$editor_id}\',\'Strikethrough\',false);" />'
- + '<input type="button" accesskey="l" onclick="tinyMCE.execInstanceCommand(\'{$editor_id}\',\'InsertUnorderedList\',false);" />'
- + '<input type="button" accesskey="o" onclick="tinyMCE.execInstanceCommand(\'{$editor_id}\',\'InsertOrderedList\',false);" />'
- + '<input type="button" accesskey="w" onclick="tinyMCE.execInstanceCommand(\'{$editor_id}\',\'Outdent\',false);" />'
- + '<input type="button" accesskey="q" onclick="tinyMCE.execInstanceCommand(\'{$editor_id}\',\'Indent\',false);" />'
- + '<input type="button" accesskey="f" onclick="tinyMCE.execInstanceCommand(\'{$editor_id}\',\'JustifyLeft\',false);" />'
- + '<input type="button" accesskey="c" onclick="tinyMCE.execInstanceCommand(\'{$editor_id}\',\'JustifyCenter\',false);" />'
- + '<input type="button" accesskey="r" onclick="tinyMCE.execInstanceCommand(\'{$editor_id}\',\'JustifyRight\',false);" />'
- + '<input type="button" accesskey="j" onclick="tinyMCE.execInstanceCommand(\'{$editor_id}\',\'JustifyFull\',false);" />'
- + '<input type="button" accesskey="a" onclick="tinyMCE.execInstanceCommand(\'{$editor_id}\',\'mceLink\',true);" />'
- + '<input type="button" accesskey="s" onclick="tinyMCE.execInstanceCommand(\'{$editor_id}\',\'unlink\',false);" />'
- + '<input type="button" accesskey="m" onclick="tinyMCE.execInstanceCommand(\'{$editor_id}\',\'mceImage\',true);" />'
- + '<input type="button" accesskey="t" onclick="tinyMCE.execInstanceCommand(\'{$editor_id}\',\'wpMore\');" />'
- + '<input type="button" accesskey="g" onclick="tinyMCE.execInstanceCommand(\'{$editor_id}\',\'wpPage\');" />'
- + '<input type="button" accesskey="u" onclick="tinyMCE.execInstanceCommand(\'{$editor_id}\',\'Undo\',false);" />'
- + '<input type="button" accesskey="y" onclick="tinyMCE.execInstanceCommand(\'{$editor_id}\',\'Redo\',false);" />'
- + '<input type="button" accesskey="e" onclick="tinyMCE.execInstanceCommand(\'{$editor_id}\',\'mceCodeEditor\',false);" />'
- + '<input type="button" accesskey="h" onclick="tinyMCE.execInstanceCommand(\'{$editor_id}\',\'wpHelp\',false);" />'
- + '<input type="button" accesskey="b" onclick="tinyMCE.execInstanceCommand(\'{$editor_id}\',\'wpAdv\',false);" />'
- + '</div>';
- return buttons+hiddenControls;
- case "wp_adv":
- return tinyMCE.getButtonHTML(control_name, 'lang_wordpress_adv_button', '{$pluginurl}/images/toolbars.gif', 'wpAdv');
- case "wp_adv_start":
- return '<div id="wpadvbar" style="display:none;"><br />';
- case "wp_adv_end":
- return '</div>';
- }
- return '';
- },
-
- execCommand : function(editor_id, element, command, user_interface, value) {
- var inst = tinyMCE.getInstanceById(editor_id);
- var focusElm = inst.getFocusElement();
- var doc = inst.getDoc();
-
- function getAttrib(elm, name) {
- return elm.getAttribute(name) ? elm.getAttribute(name) : "";
- }
-
- // Handle commands
- switch (command) {
- case "wpMore":
- var flag = "";
- var template = new Array();
- var altMore = tinyMCE.getLang('lang_wordpress_more_alt');
-
- // Is selection a image
- if (focusElm != null && focusElm.nodeName.toLowerCase() == "img") {
- flag = getAttrib(focusElm, 'class');
-
- if (flag != 'mce_plugin_wordpress_more') // Not a wordpress
- return true;
-
- action = "update";
- }
-
- html = ''
- + '<img src="' + (tinyMCE.getParam("theme_href") + "/images/spacer.gif") + '" '
- + ' width="100%" height="10px" '
- + 'alt="'+altMore+'" title="'+altMore+'" class="mce_plugin_wordpress_more" name="mce_plugin_wordpress_more" />';
- tinyMCE.execInstanceCommand(editor_id, 'mceInsertContent', false, html);
- tinyMCE.selectedInstance.repaint();
- return true;
-
- case "wpPage":
- var flag = "";
- var template = new Array();
- var altPage = tinyMCE.getLang('lang_wordpress_more_alt');
-
- // Is selection a image
- if (focusElm != null && focusElm.nodeName.toLowerCase() == "img") {
- flag = getAttrib(focusElm, 'name');
-
- if (flag != 'mce_plugin_wordpress_page') // Not a wordpress
- return true;
-
- action = "update";
- }
-
- html = ''
- + '<img src="' + (tinyMCE.getParam("theme_href") + "/images/spacer.gif") + '" '
- + ' width="100%" height="10px" '
- + 'alt="'+altPage+'" title="'+altPage+'" class="mce_plugin_wordpress_page" name="mce_plugin_wordpress_page" />';
- tinyMCE.execCommand("mceInsertContent",true,html);
- tinyMCE.selectedInstance.repaint();
- return true;
-
- case "wpHelp":
- var template = new Array();
-
- template['file'] = tinyMCE.baseURL + '/wp-mce-help.php';
- template['width'] = 480;
- template['height'] = 380;
-
- args = {
- resizable : 'yes',
- scrollbars : 'yes'
- };
-
- tinyMCE.openWindow(template, args);
- return true;
- case "wpAdv":
- var adv = document.getElementById('wpadvbar');
- if ( adv.style.display == 'none' ) {
- adv.style.display = 'block';
- tinyMCE.switchClass(editor_id + '_wp_adv', 'mceButtonSelected');
- } else {
- adv.style.display = 'none';
- tinyMCE.switchClass(editor_id + '_wp_adv', 'mceButtonNormal');
- }
- return true;
- }
-
- // Pass to next handler in chain
- return false;
- },
-
- cleanup : function(type, content) {
- switch (type) {
-
- case "insert_to_editor":
- var startPos = 0;
- var altMore = tinyMCE.getLang('lang_wordpress_more_alt');
- var altPage = tinyMCE.getLang('lang_wordpress_page_alt');
-
- // Parse all <!--more--> tags and replace them with images
- while ((startPos = content.indexOf('<!--more-->', startPos)) != -1) {
- // Insert image
- var contentAfter = content.substring(startPos + 11);
- content = content.substring(0, startPos);
- content += '<img src="' + (tinyMCE.getParam("theme_href") + "/images/spacer.gif") + '" ';
- content += ' width="100%" height="10px" ';
- content += 'alt="'+altMore+'" title="'+altMore+'" class="mce_plugin_wordpress_more" name="mce_plugin_wordpress_more" />';
- content += contentAfter;
-
- startPos++;
- }
- var startPos = 0;
-
- // Parse all <!--page--> tags and replace them with images
- while ((startPos = content.indexOf('<!--nextpage-->', startPos)) != -1) {
- // Insert image
- var contentAfter = content.substring(startPos + 15);
- content = content.substring(0, startPos);
- content += '<img src="' + (tinyMCE.getParam("theme_href") + "/images/spacer.gif") + '" ';
- content += ' width="100%" height="10px" ';
- content += 'alt="'+altPage+'" title="'+altPage+'" class="mce_plugin_wordpress_page" name="mce_plugin_wordpress_page" />';
- content += contentAfter;
-
- startPos++;
- }
-
- // Look for \n in <pre>, replace with <br>
- var startPos = -1;
- while ((startPos = content.indexOf('<pre', startPos+1)) != -1) {
- var endPos = content.indexOf('</pre>', startPos+1);
- var innerPos = content.indexOf('>', startPos+1);
- var chunkBefore = content.substring(0, innerPos);
- var chunkAfter = content.substring(endPos);
-
- var innards = content.substring(innerPos, endPos);
- innards = innards.replace(/\n/g, '<br />');
- content = chunkBefore + innards + chunkAfter;
- }
-
- break;
-
- case "get_from_editor":
- // Parse all img tags and replace them with <!--more-->
- var startPos = -1;
- while ((startPos = content.indexOf('<img', startPos+1)) != -1) {
- var endPos = content.indexOf('/>', startPos);
- var attribs = this._parseAttributes(content.substring(startPos + 4, endPos));
-
- if (attribs['class'] == "mce_plugin_wordpress_more" || attribs['name'] == "mce_plugin_wordpress_more") {
- endPos += 2;
-
- var embedHTML = '<!--more-->';
-
- // Insert embed/object chunk
- chunkBefore = content.substring(0, startPos);
- chunkAfter = content.substring(endPos);
- content = chunkBefore + embedHTML + chunkAfter;
- }
- if (attribs['class'] == "mce_plugin_wordpress_page" || attribs['name'] == "mce_plugin_wordpress_page") {
- endPos += 2;
-
- var embedHTML = '<!--nextpage-->';
-
- // Insert embed/object chunk
- chunkBefore = content.substring(0, startPos);
- chunkAfter = content.substring(endPos);
- content = chunkBefore + embedHTML + chunkAfter;
- }
- }
-
- // Remove normal line breaks
- content = content.replace(/\n|\r/g, ' ');
-
- // Look for <br> in <pre>, replace with \n
- var startPos = -1;
- while ((startPos = content.indexOf('<pre', startPos+1)) != -1) {
- var endPos = content.indexOf('</pre>', startPos+1);
- var innerPos = content.indexOf('>', startPos+1);
- var chunkBefore = content.substring(0, innerPos);
- var chunkAfter = content.substring(endPos);
-
- var innards = content.substring(innerPos, endPos);
- innards = innards.replace(new RegExp('<br\\s?/?>', 'g'), '\n');
- innards = innards.replace(new RegExp('\\s$', ''), '');
- content = chunkBefore + innards + chunkAfter;
- }
-
- // Remove anonymous, empty paragraphs.
- content = content.replace(new RegExp('<p>(\\s|&nbsp;)*</p>', 'mg'), '');
-
- // Handle table badness.
- content = content.replace(new RegExp('<(table( [^>]*)?)>.*?<((tr|thead)( [^>]*)?)>', 'mg'), '<$1><$3>');
- content = content.replace(new RegExp('<(tr|thead|tfoot)>.*?<((td|th)( [^>]*)?)>', 'mg'), '<$1><$2>');
- content = content.replace(new RegExp('</(td|th)>.*?<(td( [^>]*)?|th( [^>]*)?|/tr|/thead|/tfoot)>', 'mg'), '</$1><$2>');
- content = content.replace(new RegExp('</tr>.*?<(tr|/table)>', 'mg'), '</tr><$1>');
- content = content.replace(new RegExp('<(/?(table|tbody|tr|th|td)[^>]*)>(\\s*|(<br ?/?>)*)*', 'g'), '<$1>');
-
- // Pretty it up for the source editor.
- var blocklist = 'blockquote|ul|ol|li|table|thead|tr|th|td|div|h\\d|pre|p';
- content = content.replace(new RegExp('\\s*</('+blocklist+')>\\s*', 'mg'), '</$1>\n');
- content = content.replace(new RegExp('\\s*<(('+blocklist+')[^>]*)>\\s*', 'mg'), '\n<$1>');
- content = content.replace(new RegExp('<((li|/?tr|/?thead|/?tfoot)( [^>]*)?)>', 'g'), '\t<$1>');
- content = content.replace(new RegExp('<((td|th)( [^>]*)?)>', 'g'), '\t\t<$1>');
- content = content.replace(new RegExp('\\s*<br ?/?>\\s*', 'mg'), '<br />\n');
- content = content.replace(new RegExp('^\\s*', ''), '');
- content = content.replace(new RegExp('\\s*$', ''), '');
-
- break;
- }
-
- // Pass through to next handler in chain
- return content;
- },
-
- handleNodeChange : function(editor_id, node, undo_index, undo_levels, visual_aid, any_selection) {
-
- tinyMCE.switchClass(editor_id + '_wp_more', 'mceButtonNormal');
- tinyMCE.switchClass(editor_id + '_wp_page', 'mceButtonNormal');
-
- if (node == null)
- return;
-
- do {
- if (node.nodeName.toLowerCase() == "img" && tinyMCE.getAttrib(node, 'class').indexOf('mce_plugin_wordpress_more') == 0)
- tinyMCE.switchClass(editor_id + '_wp_more', 'mceButtonSelected');
- if (node.nodeName.toLowerCase() == "img" && tinyMCE.getAttrib(node, 'class').indexOf('mce_plugin_wordpress_page') == 0)
- tinyMCE.switchClass(editor_id + '_wp_page', 'mceButtonSelected');
- } while ((node = node.parentNode));
-
- return true;
- },
-
- saveCallback : function(el, content, body) {
- // We have a TON of cleanup to do.
-
- // Mark </p> if it has any attributes.
- content = content.replace(new RegExp('(<p[^>]+>.*?)</p>', 'mg'), '$1</p#>');
-
- // Decode the ampersands of time.
- // content = content.replace(new RegExp('&amp;', 'g'), '&');
-
- // Get it ready for wpautop.
- content = content.replace(new RegExp('[\\s]*<p>[\\s]*', 'mgi'), '');
- content = content.replace(new RegExp('[\\s]*</p>[\\s]*', 'mgi'), '\n\n');
- content = content.replace(new RegExp('\\n\\s*\\n\\s*\\n*', 'mgi'), '\n\n');
- content = content.replace(new RegExp('\\s*<br ?/?>\\s*', 'gi'), '\n');
-
- // Fix some block element newline issues
- var blocklist = 'blockquote|ul|ol|li|table|thead|tr|th|td|div|h\\d|pre';
- content = content.replace(new RegExp('\\s*<(('+blocklist+') ?[^>]*)\\s*>', 'mg'), '\n<$1>');
- content = content.replace(new RegExp('\\s*</('+blocklist+')>\\s*', 'mg'), '</$1>\n');
- content = content.replace(new RegExp('<li>', 'g'), '\t<li>');
-
- // Unmark special paragraph closing tags
- content = content.replace(new RegExp('</p#>', 'g'), '</p>\n');
- content = content.replace(new RegExp('\\s*(<p[^>]+>.*</p>)', 'mg'), '\n$1');
-
- // Trim any whitespace
- content = content.replace(new RegExp('^\\s*', ''), '');
- content = content.replace(new RegExp('\\s*$', ''), '');
-
- // Hope.
- return content;
-
- },
-
- _parseAttributes : function(attribute_string) {
- var attributeName = "";
- var attributeValue = "";
- var withInName;
- var withInValue;
- var attributes = new Array();
- var whiteSpaceRegExp = new RegExp('^[ \n\r\t]+', 'g');
- var titleText = tinyMCE.getLang('lang_wordpress_more');
- var titleTextPage = tinyMCE.getLang('lang_wordpress_page');
-
- if (attribute_string == null || attribute_string.length < 2)
- return null;
-
- withInName = withInValue = false;
-
- for (var i=0; i<attribute_string.length; i++) {
- var chr = attribute_string.charAt(i);
-
- if ((chr == '"' || chr == "'") && !withInValue)
- withInValue = true;
- else if ((chr == '"' || chr == "'") && withInValue) {
- withInValue = false;
-
- var pos = attributeName.lastIndexOf(' ');
- if (pos != -1)
- attributeName = attributeName.substring(pos+1);
-
- attributes[attributeName.toLowerCase()] = attributeValue.substring(1).toLowerCase();
-
- attributeName = "";
- attributeValue = "";
- } else if (!whiteSpaceRegExp.test(chr) && !withInName && !withInValue)
- withInName = true;
-
- if (chr == '=' && withInName)
- withInName = false;
-
- if (withInName)
- attributeName += chr;
-
- if (withInValue)
- attributeValue += chr;
- }
-
- return attributes;
- }
-};
-
-tinyMCE.addPlugin("wordpress", TinyMCE_wordpressPlugin);
-
-/* This little hack protects our More and Page placeholders from the removeformat command */
-tinyMCE.orgExecCommand = tinyMCE.execCommand;
-tinyMCE.execCommand = function (command, user_interface, value) {
- re = this.orgExecCommand(command, user_interface, value);
-
- if ( command == 'removeformat' ) {
- var inst = tinyMCE.getInstanceById('mce_editor_0');
- doc = inst.getDoc();
- var imgs = doc.getElementsByTagName('img');
- for (i=0;img=imgs[i];i++)
- img.className = img.name;
- }
- return re;
-};
-
-tinyMCE.orgFixGeckoBaseHREFBug = tinyMCE.fixGeckoBaseHREFBug;
-tinyMCE.fixGeckoBaseHREFBug = function(m, e, h) {
- if ( tinyMCE.isGecko && m == 1 )
- h = h.replace(new RegExp('<((a|img|select|area|iframe|base|input|script|embed|object|link)\\s([^>]*\\s)?)(src|href)\\s*=', 'gi'), '<$1 x$4=');
- else
- h = tinyMCE.orgFixGeckoBaseHREFBug(m, e, h);
-
- return h;
-};
-
-tinyMCE.orgStoreAwayURLs = tinyMCE.storeAwayURLs;
-tinyMCE.storeAwayURLs = function(s) {
- // Remove all mce_src, mce_href and replace them with new ones
- s = s.replace(new RegExp('mce_(href|src)\\s*=\\s*\"[^ >\"]*\"', 'gi'), '');
- s = s.replace(new RegExp('<((a|img|select|area|iframe|base|input|script|embed|object|link)\\s([^>]*\\s)?)(src|href)\\s*=\\s*"([^"]*)"', 'gi'), '<$1 $4="$5" mce_$4="$5"');
-
- return s;
-};
diff --git a/wp-inst/wp-includes/js/tinymce/plugins/wordpress/images/help.gif b/wp-inst/wp-includes/js/tinymce/plugins/wordpress/images/help.gif
deleted file mode 100644
index 51a1ee4..0000000
--- a/wp-inst/wp-includes/js/tinymce/plugins/wordpress/images/help.gif
+++ /dev/null
Binary files differ
diff --git a/wp-inst/wp-includes/js/tinymce/plugins/wordpress/images/more.gif b/wp-inst/wp-includes/js/tinymce/plugins/wordpress/images/more.gif
deleted file mode 100644
index 4ff564d..0000000
--- a/wp-inst/wp-includes/js/tinymce/plugins/wordpress/images/more.gif
+++ /dev/null
Binary files differ
diff --git a/wp-inst/wp-includes/js/tinymce/plugins/wordpress/images/more_bug.gif b/wp-inst/wp-includes/js/tinymce/plugins/wordpress/images/more_bug.gif
deleted file mode 100644
index 4589cb4..0000000
--- a/wp-inst/wp-includes/js/tinymce/plugins/wordpress/images/more_bug.gif
+++ /dev/null
Binary files differ
diff --git a/wp-inst/wp-includes/js/tinymce/plugins/wordpress/images/page.gif b/wp-inst/wp-includes/js/tinymce/plugins/wordpress/images/page.gif
deleted file mode 100644
index 1cea78a..0000000
--- a/wp-inst/wp-includes/js/tinymce/plugins/wordpress/images/page.gif
+++ /dev/null
Binary files differ
diff --git a/wp-inst/wp-includes/js/tinymce/plugins/wordpress/images/page_bug.gif b/wp-inst/wp-includes/js/tinymce/plugins/wordpress/images/page_bug.gif
deleted file mode 100644
index 9ea3565..0000000
--- a/wp-inst/wp-includes/js/tinymce/plugins/wordpress/images/page_bug.gif
+++ /dev/null
Binary files differ
diff --git a/wp-inst/wp-includes/js/tinymce/plugins/wordpress/images/toolbars.gif b/wp-inst/wp-includes/js/tinymce/plugins/wordpress/images/toolbars.gif
deleted file mode 100755
index dcb7066..0000000
--- a/wp-inst/wp-includes/js/tinymce/plugins/wordpress/images/toolbars.gif
+++ /dev/null
Binary files differ
diff --git a/wp-inst/wp-includes/js/tinymce/plugins/wordpress/langs/en.js b/wp-inst/wp-includes/js/tinymce/plugins/wordpress/langs/en.js
deleted file mode 100644
index f38e89d..0000000
--- a/wp-inst/wp-includes/js/tinymce/plugins/wordpress/langs/en.js
+++ /dev/null
@@ -1,33 +0,0 @@
-// EN lang variables
-
-if (navigator.userAgent.indexOf('Mac OS') != -1) {
-// Mac OS browsers use Ctrl to hit accesskeys
- var metaKey = 'Ctrl';
-}
-else {
- var metaKey = 'Alt';
-}
-
-tinyMCE.addToLang('',{
-wordpress_more_button : 'Split post with More tag (' + metaKey + '+t)',
-wordpress_page_button : 'Split post with Page tag',
-wordpress_adv_button : 'Show/Hide Advanced Toolbar (' + metaKey + '+b)',
-wordpress_more_alt : 'More...',
-wordpress_page_alt : '...page...',
-help_button_title : 'Help (' + metaKey + '+h)',
-bold_desc : 'Bold (Ctrl+B)',
-italic_desc : 'Italic (Ctrl+I)',
-underline_desc : 'Underline (Ctrl+U)',
-link_desc : 'Insert/edit link (' + metaKey + '+a)',
-unlink_desc : 'Unlink (' + metaKey + '+s)',
-image_desc : 'Insert/edit image (' + metaKey + '+m)',
-striketrough_desc : 'Strikethrough (' + metaKey + '+k)',
-justifyleft_desc : 'Align left (' + metaKey + '+f)',
-justifycenter_desc : 'Align center (' + metaKey + '+c)',
-justifyright_desc : 'Align right (' + metaKey + '+r)',
-justifyfull_desc : 'Align full (' + metaKey + '+j)',
-bullist_desc : 'Unordered list (' + metaKey + '+l)',
-numlist_desc : 'Ordered list (' + metaKey + '+o)',
-outdent_desc : 'Outdent (' + metaKey + '+w)',
-indent_desc : 'Indent List/Blockquote (' + metaKey + '+q)'
-});
diff --git a/wp-inst/wp-includes/js/tinymce/plugins/wordpress/popups.css b/wp-inst/wp-includes/js/tinymce/plugins/wordpress/popups.css
deleted file mode 100644
index 2d97665..0000000
--- a/wp-inst/wp-includes/js/tinymce/plugins/wordpress/popups.css
+++ /dev/null
@@ -1,354 +0,0 @@
-/* This file contains the CSS data for all popups in TinyMCE */
-
-body {
- background-color: #F0F0EE;
- font-family: Verdana, Arial, Helvetica, sans-serif;
- font-size: 11px;
- scrollbar-3dlight-color: #F0F0EE;
- scrollbar-arrow-color: #676662;
- scrollbar-base-color: #F0F0EE;
- scrollbar-darkshadow-color: #DDDDDD;
- scrollbar-face-color: #E0E0DD;
- scrollbar-highlight-color: #F0F0EE;
- scrollbar-shadow-color: #F0F0EE;
- scrollbar-track-color: #F5F5F5;
- margin: 8px;
-}
-
-td {
- font-family: Verdana, Arial, Helvetica, sans-serif;
- font-size: 11px;
-}
-
-input {
- background: #FFFFFF;
- border: 1px solid #cccccc;
-}
-
-td, input, select, textarea {
- font-family: Verdana, Arial, Helvetica, sans-serif;
- font-size: 10px;
-}
-
-input, select, textarea {
- border: 1px solid #808080;
-}
-
-.input_noborder {
- border: 0;
-}
-
-#insert, .updateButton {
- font-weight: bold;
- width: 90px;
- height: 21px;
- border: 0;
- background-image: url('../images/insert_button_bg.gif');
- cursor: pointer;
-}
-
-#cancel {
- font-weight: bold;
- width: 90px;
- height: 21px;
- border: 0;
- background-image: url('../images/cancel_button_bg.gif');
- cursor: pointer;
-}
-
-/* Mozilla only style */
-html>body #insert, html>body #cancel {
- padding-bottom: 2px;
-}
-
-.title {
- display: block;
- padding-top: 5px;
- padding-bottom: 5px;
- padding-left: 15px;
- font-size: 15px;
-}
-
-
-table.charmap {
- border-style: solid;
- border-width: 1px;
- border-color: #AAAAAA;
-}
-
-td.charmap, td.charmapOver {
- color: #000000;
- border-color: #AAAAAA;
- border-style: solid;
- border-width: 1px;
- text-align: center;
- font-size: 12px;
-}
-
-td.charmapOver {
- background-color: #CCCCCC;
- cursor: default;
-}
-
-a.charmap {
- color: #000000;
- text-decoration: none
-}
-
-.wordWrapCode {
- vertical-align: middle;
- border: 1px none #000000;
- background-color: transparent;
-}
-
-input.radio {
- border: 1px none #000000;
- background-color: transparent;
- vertical-align: middle;
-}
-
-input.checkbox {
- border: 1px none #000000;
- background-color: transparent;
- vertical-align: middle;
-}
-
-.mceButtonNormal, .mceButtonOver, .mceButtonDown, .mceSeparator, .mceButtonDisabled, .mceButtonSelected {
- margin-left: 1px;
-}
-
-.mceButtonNormal {
- border-top: 1px solid;
- border-left: 1px solid;
- border-bottom: 1px solid;
- border-right: 1px solid;
- border-color: #F0F0EE;
- cursor: default;
-}
-
-.mceButtonOver {
- border: 1px solid #0A246A;
- cursor: default;
- background-color: #B6BDD2;
-}
-
-.mceButtonDown {
- cursor: default;
- border: 1px solid #0A246A;
- background-color: #8592B5;
-}
-
-.mceButtonDisabled {
- filter:progid:DXImageTransform.Microsoft.Alpha(opacity=30);
- -moz-opacity:0.3;
- opacity: 0.3;
- border-top: 1px solid;
- border-left: 1px solid;
- border-bottom: 1px solid;
- border-right: 1px solid;
- border-color: #F0F0EE;
- cursor: default;
-}
-
-.mceActionPanel {
- margin-top: 5px;
-}
-
-/* Tabs classes */
-
-.tabs {
- float: left;
- width: 100%;
- line-height: normal;
- background-image: url("../images/xp/tabs_bg.gif");
-}
-
-.tabs ul {
- margin: 0;
- padding: 0 0 0;
- list-style: none;
-}
-
-.tabs li {
- float: left;
- background: url("../images/xp/tab_bg.gif") no-repeat left top;
- margin: 0;
- margin-left: 0;
- margin-right: 2px;
- padding: 0 0 0 10px;
- line-height: 18px;
-}
-
-.tabs li.current {
- background: url("../images/xp/tab_sel_bg.gif") no-repeat left top;
- margin-right: 2px;
-}
-
-.tabs span {
- float: left;
- display: block;
- background: url("../images/xp/tab_end.gif") no-repeat right top;
- padding: 0px 10px 0 0;
-}
-
-.tabs .current span {
- background: url("../images/xp/tab_sel_end.gif") no-repeat right top;
-}
-
-.tabs a {
- text-decoration: none;
- font-family: Verdana, Arial;
- font-size: 10px;
-}
-
-.tabs a:link, .tabs a:visited, .tabs a:hover {
- color: black;
-}
-
-.tabs a:hover {
-}
-
-.tabs .current {
-}
-
-.tabs .current a, .tabs .current a:link, .tabs .current a:visited {
-}
-
-.panel_wrapper div.panel {
- display: none;
-}
-
-.panel_wrapper div.current {
- display: block;
- width: 100%;
- height: 300px;
- overflow: visible; /* Should be auto but that breaks Safari */
-}
-
-.panel_wrapper {
- border: 1px solid #919B9C;
- border-top: 0px;
- padding: 10px;
- padding-top: 5px;
- clear: both;
- background-color: white;
-}
-
-fieldset {
- border: 1px solid #919B9C;
- font-family: Verdana, Arial;
- font-size: 10px;
- padding: 0;
- margin: 0;
- padding: 4px;
-}
-
-legend {
- color: #2B6FB6;
- font-weight: bold;
-}
-
-.properties {
- width: 100%;
-}
-
-.properties .column1 {
-}
-
-.properties .column2 {
- text-align: left;
-}
-
-a:link, a:visited {
- color: black;
-}
-
-a:hover {
- color: #2B6FB6;
-}
-
-#plugintable thead {
- font-weight: bold;
- background-color: #DDDDDD;
-}
-
-#plugintable, #about #plugintable td {
- border: 1px solid #919B9C;
-}
-
-#plugintable {
- width: 99%;
- margin-top: 10px;
-}
-
-#pluginscontainer {
- height: 290px;
- overflow: auto;
-}
-
-/* MSIE Specific styles */
-
-* html .panel_wrapper {
- width: 100%;
-}
-
-.column {
- float: left;
-}
-
-h1, h2, h3, h4 {
- color: #2B6FB6;
- margin: 0;
- padding: 0;
- padding-top: 5px;
-}
-
-h3 {
- font-size: 14px;
-}
-
-#link .panel_wrapper, #link div.current {
- height: 125px;
-}
-
-#image .panel_wrapper, #image div.current {
- height: 190px;
-}
-
-/* Disables the advanced tab in the table plugin. */
-/*
-#table #advanced_tab {
- display: none;
-}
-*/
-
-/* Disables the border input field and label in the table plugin. */
-/*
-#table #border, #table #borderlabel {
- display: none;
-}
-*/
-
-#insert, #cancel, .submitbutton {
- font: 13px Verdana, Arial, Helvetica, sans-serif;
- height: auto;
- width: auto;
- background-color: transparent;
- background-image: url(../../../../../wp-admin/images/fade-butt.png);
- background-repeat: repeat;
- border: 3px double;
- border-right-color: rgb(153, 153, 153);
- border-bottom-color: rgb(153, 153, 153);
- border-left-color: rgb(204, 204, 204);
- border-top-color: rgb(204, 204, 204);
- color: rgb(51, 51, 51);
- padding: 0.25em 0.75em;
-}
-
-#insert:active, #cancel:active, .submitbutton:active {
- background: #f4f4f4;
- border-left-color: #999;
- border-top-color: #999;
-}
-
-
diff --git a/wp-inst/wp-includes/js/tinymce/plugins/wordpress/wordpress.css b/wp-inst/wp-includes/js/tinymce/plugins/wordpress/wordpress.css
deleted file mode 100644
index 3698741..0000000
--- a/wp-inst/wp-includes/js/tinymce/plugins/wordpress/wordpress.css
+++ /dev/null
@@ -1,84 +0,0 @@
-.mce_plugin_wordpress_more {
- border: 0px;
- border-top: 1px dotted #cccccc;
- display:block;
- background-color: #ffffff;
- margin-top:15px;
- background-image: url(images/more_bug.gif);
- background-repeat: no-repeat;
- background-position: right top;
-}
-
-.mce_plugin_wordpress_page {
- border: 0px;
- border-top: 1px dotted #cccccc;
- display:block;
- background-color: #ffffff;
- margin-top:15px;
- background-image: url(images/page_bug.gif);
- background-repeat: no-repeat;
- background-position: right top;
-}
-
-/* This file contains the CSS data for the editable area(iframe) of TinyMCE */
-/* You can extend this CSS by adding your own CSS file with the the content_css option */
-
-body {
- font-family: Verdana, Arial, Helvetica, sans-serif;
- font-size: 0.9em;
- line-height: 1.2em;
- padding: .3em;
- background-color: #FFFFFF;
-}
-
-td {
- font-size: 10px;
-}
-
-pre {
- font-family: "Courier New", fixed;
- font-size: 11px;
- line-height: 13px;
-}
-
-.mceVisualAid {
- border: 1px dashed #BBBBBB !important;
-}
-
-.mceItemAnchor {
- width: 12px;
- line-height: 6px;
- overflow: hidden;
- padding-left: 12px;
- background-image: url('../images/anchor_symbol.gif');
- background-position: bottom;
- background-repeat: no-repeat;
-}
-
-/* Important is needed in Gecko browsers inorder to style links */
-/*
-a {
- color: green !important;
-}
-*/
-
-/* Style selection range colors in Gecko browsers */
-/*
-::-moz-selection {
- background-color: red;
- color: green;
-}
-*/
-
-/* MSIE specific */
-
-* html body {
- scrollbar-3dlight-color: #F0F0EE;
- scrollbar-arrow-color: #676662;
- scrollbar-base-color: #F0F0EE;
- scrollbar-darkshadow-color: #DDDDDD;
- scrollbar-face-color: #E0E0DD;
- scrollbar-highlight-color: #F0F0EE;
- scrollbar-shadow-color: #F0F0EE;
- scrollbar-track-color: #F5F5F5;
-} \ No newline at end of file
diff --git a/wp-inst/wp-includes/js/tinymce/plugins/wphelp/editor_plugin.js b/wp-inst/wp-includes/js/tinymce/plugins/wphelp/editor_plugin.js
deleted file mode 100644
index 204e447..0000000
--- a/wp-inst/wp-includes/js/tinymce/plugins/wphelp/editor_plugin.js
+++ /dev/null
@@ -1,57 +0,0 @@
-/* Import plugin specific language pack */
-tinyMCE.importPluginLanguagePack('wphelp', '');
-
-function TinyMCE_wphelp_getControlHTML(control_name) {
- switch (control_name) {
- case "wphelp":
- var titleHelp = tinyMCE.getLang('lang_help_button_title');
- var buttons = '<a href="javascript:tinyMCE.execInstanceCommand(\'{$editor_id}\',\'mceWordPressHelp\')" target="_self" onclick="tinyMCE.execInstanceCommand(\'{$editor_id}\',\'mceWordPressHelp\');return false;"><img id="{$editor_id}_help" src="{$pluginurl}/images/help.gif" title="'+titleHelp+'" width="20" height="20" class="mceButtonNormal" onmouseover="tinyMCE.switchClass(this,\'mceButtonOver\');" onmouseout="tinyMCE.restoreClass(this);" onmousedown="tinyMCE.restoreAndSwitchClass(this,\'mceButtonDown\');" /></a>';
- var hiddenControls = '<div class="zerosize">'
- + '<input type="button" accesskey="b" onclick="tinyMCE.execInstanceCommand(\'{$editor_id}\',\'Bold\',false);" />'
- + '<input type="button" accesskey="i" onclick="tinyMCE.execInstanceCommand(\'{$editor_id}\',\'Italic\',false);" />'
- + '<input type="button" accesskey="d" onclick="tinyMCE.execInstanceCommand(\'{$editor_id}\',\'Strikethrough\',false);" />'
- + '<input type="button" accesskey="l" onclick="tinyMCE.execInstanceCommand(\'{$editor_id}\',\'InsertUnorderedList\',false);" />'
- + '<input type="button" accesskey="o" onclick="tinyMCE.execInstanceCommand(\'{$editor_id}\',\'InsertOrderedList\',false);" />'
- + '<input type="button" accesskey="w" onclick="tinyMCE.execInstanceCommand(\'{$editor_id}\',\'Outdent\',false);" />'
- + '<input type="button" accesskey="q" onclick="tinyMCE.execInstanceCommand(\'{$editor_id}\',\'Indent\',false);" />'
- + '<input type="button" accesskey="f" onclick="tinyMCE.execInstanceCommand(\'{$editor_id}\',\'JustifyLeft\',false);" />'
- + '<input type="button" accesskey="c" onclick="tinyMCE.execInstanceCommand(\'{$editor_id}\',\'JustifyCenter\',false);" />'
- + '<input type="button" accesskey="r" onclick="tinyMCE.execInstanceCommand(\'{$editor_id}\',\'JustifyRight\',false);" />'
- + '<input type="button" accesskey="a" onclick="tinyMCE.execInstanceCommand(\'{$editor_id}\',\'mceLink\',true);" />'
- + '<input type="button" accesskey="s" onclick="tinyMCE.execInstanceCommand(\'{$editor_id}\',\'unlink\',false);" />'
- + '<input type="button" accesskey="m" onclick="tinyMCE.execInstanceCommand(\'{$editor_id}\',\'mceImage\',true);" />'
- + '<input type="button" accesskey="t" onclick="tinyMCE.execInstanceCommand(\'{$editor_id}\',\'mcewordpressmore\');" />'
- + '<input type="button" accesskey="u" onclick="tinyMCE.execInstanceCommand(\'{$editor_id}\',\'Undo\',false);" />'
- + '<input type="button" accesskey="y" onclick="tinyMCE.execInstanceCommand(\'{$editor_id}\',\'Redo\',false);" />'
- + '<input type="button" accesskey="e" onclick="tinyMCE.execInstanceCommand(\'{$editor_id}\',\'mceCodeEditor\',false);" />'
- + '<input type="button" accesskey="h" onclick="tinyMCE.execInstanceCommand(\'{$editor_id}\',\'mceWordPressHelp\',false);" />'
- + '</div>';
- return buttons+hiddenControls;
- }
-
- return "";
-}
-
-function TinyMCE_wphelp_execCommand(editor_id, element, command, user_interface, value) {
-
- // Handle commands
- switch (command) {
- case "mceWordPressHelp":
- var template = new Array();
-
- template['file'] = tinyMCE.baseURL + '/wp-mce-help.php';
- template['width'] = 480;
- template['height'] = 380;
-
- args = {
- resizable : 'yes',
- scrollbars : 'yes'
- };
-
- tinyMCE.openWindow(template, args);
- return true;
- }
-
- // Pass to next handler in chain
- return false;
-}
diff --git a/wp-inst/wp-includes/js/tinymce/plugins/wphelp/images/help.gif b/wp-inst/wp-includes/js/tinymce/plugins/wphelp/images/help.gif
deleted file mode 100644
index 51a1ee4..0000000
--- a/wp-inst/wp-includes/js/tinymce/plugins/wphelp/images/help.gif
+++ /dev/null
Binary files differ
diff --git a/wp-inst/wp-includes/js/tinymce/plugins/wphelp/langs/en.js b/wp-inst/wp-includes/js/tinymce/plugins/wphelp/langs/en.js
deleted file mode 100644
index b7b2aba..0000000
--- a/wp-inst/wp-includes/js/tinymce/plugins/wphelp/langs/en.js
+++ /dev/null
@@ -1,5 +0,0 @@
-// EN lang variables
-
-tinyMCE.addToLang('',{
-help_button_title : 'Help (Alt+h)'
-});
diff --git a/wp-inst/wp-includes/js/tinymce/themes/advanced/about.htm b/wp-inst/wp-includes/js/tinymce/themes/advanced/about.htm
deleted file mode 100644
index 2a86227..0000000
--- a/wp-inst/wp-includes/js/tinymce/themes/advanced/about.htm
+++ /dev/null
@@ -1,52 +0,0 @@
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
- <title>{$lang_about_title}</title>
- <script language="javascript" type="text/javascript" src="../../tiny_mce_popup.js"></script>
- <script language="javascript" type="text/javascript" src="../../utils/mctabs.js"></script>
- <script language="javascript" type="text/javascript" src="jscripts/about.js"></script>
- <base target="_self" />
-</head>
-<body id="about" onload="tinyMCEPopup.executeOnLoad('init();');" 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;">{$lang_about}</a></span></li>
- <li id="help_tab"><span><a href="javascript:mcTabs.displayTab('help_tab','help_panel');" onmousedown="return false;">{$lang_help}</a></span></li>
- <li id="plugins_tab"><span><a href="javascript:mcTabs.displayTab('plugins_tab','plugins_panel');" onmousedown="return false;">{$lang_plugins}</a></span></li>
- </ul>
- </div>
-
- <div class="panel_wrapper">
- <div id="general_panel" class="panel current">
- <h3>{$lang_about_title}</h3>
- <p>Version: {$tinymce_version} ({$tinymce_releasedate})</p>
- <p>TinyMCE is a platform independent web based Javascript HTML WYSIWYG editor control released as Open Source under <a href="../../license.txt" target="_blank">LGPL</a>
- by Moxiecode Systems AB. It has the ability to convert HTML TEXTAREA fields or other HTML elements to editor instances.</p>
- <p>Copyright &copy; 2003-2006, <a href="http://www.moxiecode.com" target="_blank">Moxiecode Systems AB</a>, All rights reserved.</p>
- <p>For more information about this software visit the <a href="http://tinymce.moxiecode.com" target="_blank">TinyMCE website</a>.</p>
-
- <div id="buttoncontainer"></div>
- </div>
-
- <div id="plugins_panel" class="panel">
- <div id="pluginscontainer">
- <h3>{$lang_loaded_plugins}</h3>
-
- <div id="plugintablecontainer">
- </div>
-
- <p>&nbsp;</p>
- </div>
- </div>
-
- <div id="help_panel" class="panel noscroll" style="overflow: visible;">
- <div id="iframecontainer"></div>
- </div>
- </div>
-
- <div class="mceActionPanel">
- <div style="float: right">
- <input type="button" id="cancel" name="cancel" value="{$lang_close}" onclick="tinyMCEPopup.close();" />
- </div>
- </div>
-</body>
-</html>
diff --git a/wp-inst/wp-includes/js/tinymce/themes/advanced/anchor.htm b/wp-inst/wp-includes/js/tinymce/themes/advanced/anchor.htm
deleted file mode 100644
index 988bcb6..0000000
--- a/wp-inst/wp-includes/js/tinymce/themes/advanced/anchor.htm
+++ /dev/null
@@ -1,33 +0,0 @@
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
- <title>{$lang_insert_anchor_title}</title>
- <script language="javascript" type="text/javascript" src="../../tiny_mce_popup.js"></script>
- <script language="javascript" type="text/javascript" src="jscripts/anchor.js"></script>
- <base target="_self" />
-</head>
-<body onload="tinyMCEPopup.executeOnLoad('init();');" style="display: none">
-<form onsubmit="insertAnchor();return false;" action="#">
-
- <table border="0" cellpadding="4" cellspacing="0">
- <tr>
- <td colspan="2" class="title">{$lang_insert_anchor_title}</td>
- </tr>
- <tr>
- <td nowrap="nowrap">{$lang_insert_anchor_name}:</td>
- <td><input name="anchorName" type="text" id="anchorName" value="" style="width: 200px" /></td>
- </tr>
- </table>
-
- <div class="mceActionPanel">
- <div style="float: left">
- <input type="button" id="insert" name="insert" value="{$lang_update}" onclick="insertAnchor();" />
- </div>
-
- <div style="float: right">
- <input type="button" id="cancel" name="cancel" value="{$lang_cancel}" onclick="tinyMCEPopup.close();" />
- </div>
- </div>
-
-</form>
-</body>
-</html>
diff --git a/wp-inst/wp-includes/js/tinymce/themes/advanced/charmap.htm b/wp-inst/wp-includes/js/tinymce/themes/advanced/charmap.htm
deleted file mode 100644
index 9dac168..0000000
--- a/wp-inst/wp-includes/js/tinymce/themes/advanced/charmap.htm
+++ /dev/null
@@ -1,53 +0,0 @@
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
- <title>{$lang_theme_charmap_title}</title>
- <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
- <script language="javascript" type="text/javascript" src="../../tiny_mce_popup.js"></script>
- <script language="javascript" type="text/javascript" src="jscripts/charmap.js"></script>
- <base target="_self" />
-</head>
-<body onload="tinyMCEPopup.executeOnLoad('init();');document.body.style.display='';document.getElementById('insert').focus();" style="display: none">
-<table align="center" border="0" cellspacing="0" cellpadding="2">
- <tr>
- <td colspan="2" class="title">{$lang_theme_charmap_title}</td>
- </tr>
- <tr>
- <td rowspan="2" align="left" valign="top">
- <script language="javascript" type="text/javascript">renderCharMapHTML();</script>
- </td>
- <td width="100" align="center" valign="top">
- <table border="0" cellpadding="0" cellspacing="0" width="100" style="height: 100px">
- <tr>
- <td class="charmapOver" style="font-size: 40px; height:80px;" id="codeV">&nbsp;</td>
- </tr>
- <tr>
- <td style="font-size: 10px; font-family: Arial, Helvetica, sans-serif; text-align:center;" id="codeN">&nbsp;</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">&nbsp;</td>
- </tr>
- <tr>
- <td style="font-size: 1px;">&nbsp;</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">&nbsp;</td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-
-</body>
-</html>
diff --git a/wp-inst/wp-includes/js/tinymce/themes/advanced/color_picker.htm b/wp-inst/wp-includes/js/tinymce/themes/advanced/color_picker.htm
deleted file mode 100644
index 725466e..0000000
--- a/wp-inst/wp-includes/js/tinymce/themes/advanced/color_picker.htm
+++ /dev/null
@@ -1,13 +0,0 @@
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
- <title>{$lang_theme_colorpicker_title}</title>
- <script language="javascript" type="text/javascript" src="../../tiny_mce_popup.js"></script>
- <script language="javascript" type="text/javascript" src="jscripts/color_picker.js"></script>
- <base target="_self" />
-</head>
-<body onload="tinyMCEPopup.executeOnLoad('init();');document.body.style.display='';document.getElementById('insert').focus();" style="margin: 3px; display: none">
- <div align="center">
- <script language="javascript" type="text/javascript">renderColorMap();</script>
- </div>
-</body>
-</html>
diff --git a/wp-inst/wp-includes/js/tinymce/themes/advanced/css/editor_content.css b/wp-inst/wp-includes/js/tinymce/themes/advanced/css/editor_content.css
deleted file mode 100644
index 11f75df..0000000
--- a/wp-inst/wp-includes/js/tinymce/themes/advanced/css/editor_content.css
+++ /dev/null
@@ -1,53 +0,0 @@
-/* This file contains the CSS data for the editable area(iframe) of TinyMCE */
-/* You can extend this CSS by adding your own CSS file with the the content_css option */
-
-body, td, pre {
- font-family: Verdana, Arial, Helvetica, sans-serif;
- font-size: 10px;
-}
-
-body {
- background-color: #FFFFFF;
-}
-
-.mceVisualAid {
- border: 1px dashed #BBBBBB !important;
-}
-
-.mceItemAnchor {
- width: 12px;
- line-height: 6px;
- overflow: hidden;
- padding-left: 12px;
- background-image: url('../images/anchor_symbol.gif');
- background-position: bottom;
- background-repeat: no-repeat;
-}
-
-/* Important is needed in Gecko browsers inorder to style links */
-/*
-a {
- color: green !important;
-}
-*/
-
-/* Style selection range colors in Gecko browsers */
-/*
-::-moz-selection {
- background-color: red;
- color: green;
-}
-*/
-
-/* MSIE specific */
-
-* html body {
- scrollbar-3dlight-color: #F0F0EE;
- scrollbar-arrow-color: #676662;
- scrollbar-base-color: #F0F0EE;
- scrollbar-darkshadow-color: #DDDDDD;
- scrollbar-face-color: #E0E0DD;
- scrollbar-highlight-color: #F0F0EE;
- scrollbar-shadow-color: #F0F0EE;
- scrollbar-track-color: #F5F5F5;
-}
diff --git a/wp-inst/wp-includes/js/tinymce/themes/advanced/css/editor_popup.css b/wp-inst/wp-includes/js/tinymce/themes/advanced/css/editor_popup.css
deleted file mode 100644
index 3b42925..0000000
--- a/wp-inst/wp-includes/js/tinymce/themes/advanced/css/editor_popup.css
+++ /dev/null
@@ -1,354 +0,0 @@
-/* This file contains the CSS data for all popups in TinyMCE */
-
-body {
- background-color: #F0F0EE;
- font-family: Verdana, Arial, Helvetica, sans-serif;
- font-size: 11px;
- scrollbar-3dlight-color: #F0F0EE;
- scrollbar-arrow-color: #676662;
- scrollbar-base-color: #F0F0EE;
- scrollbar-darkshadow-color: #DDDDDD;
- scrollbar-face-color: #E0E0DD;
- scrollbar-highlight-color: #F0F0EE;
- scrollbar-shadow-color: #F0F0EE;
- scrollbar-track-color: #F5F5F5;
- margin: 8px;
-}
-
-td {
- font-family: Verdana, Arial, Helvetica, sans-serif;
- font-size: 11px;
-}
-
-input {
- background: #FFFFFF;
- border: 1px solid #cccccc;
-}
-
-td, input, select, textarea {
- font-family: Verdana, Arial, Helvetica, sans-serif;
- font-size: 10px;
-}
-
-input, select, textarea {
- border: 1px solid #808080;
-}
-
-.input_noborder {
- border: 0;
-}
-
-#insert, .updateButton {
- font-weight: bold;
- width: 90px;
- height: 21px;
- border: 0;
- background-image: url('../images/insert_button_bg.gif');
- cursor: pointer;
-}
-
-#cancel {
- font-weight: bold;
- width: 90px;
- height: 21px;
- border: 0;
- background-image: url('../images/cancel_button_bg.gif');
- cursor: pointer;
-}
-
-/* Mozilla only style */
-html>body #insert, html>body #cancel {
- padding-bottom: 2px;
-}
-
-.title {
- font-size: 12px;
- font-weight: bold;
- color: #2B6FB6;
-}
-
-table.charmap {
- border-style: solid;
- border-width: 1px;
- border-color: #AAAAAA;
-}
-
-td.charmap, td.charmapOver {
- color: #000000;
- border-color: #AAAAAA;
- border-style: solid;
- border-width: 1px;
- text-align: center;
- font-size: 12px;
-}
-
-td.charmapOver {
- background-color: #CCCCCC;
- cursor: default;
-}
-
-a.charmap {
- color: #000000;
- text-decoration: none
-}
-
-.wordWrapCode {
- vertical-align: middle;
- border: 1px none #000000;
- background-color: transparent;
-}
-
-input.radio {
- border: 1px none #000000;
- background-color: transparent;
- vertical-align: middle;
-}
-
-input.checkbox {
- border: 1px none #000000;
- background-color: transparent;
- vertical-align: middle;
-}
-
-.mceButtonNormal, .mceButtonOver, .mceButtonDown, .mceSeparator, .mceButtonDisabled, .mceButtonSelected {
- margin-left: 1px;
-}
-
-.mceButtonNormal {
- border-top: 1px solid;
- border-left: 1px solid;
- border-bottom: 1px solid;
- border-right: 1px solid;
- border-color: #F0F0EE;
- cursor: default;
-}
-
-.mceButtonOver {
- border: 1px solid #0A246A;
- cursor: default;
- background-color: #B6BDD2;
-}
-
-.mceButtonDown {
- cursor: default;
- border: 1px solid #0A246A;
- background-color: #8592B5;
-}
-
-.mceButtonDisabled {
- filter:progid:DXImageTransform.Microsoft.Alpha(opacity=30);
- -moz-opacity:0.3;
- opacity: 0.3;
- border-top: 1px solid;
- border-left: 1px solid;
- border-bottom: 1px solid;
- border-right: 1px solid;
- border-color: #F0F0EE;
- cursor: default;
-}
-
-.mceActionPanel {
- margin-top: 5px;
-}
-
-/* Tabs classes */
-
-.tabs {
- float: left;
- width: 100%;
- line-height: normal;
- background-image: url("../images/xp/tabs_bg.gif");
-}
-
-.tabs ul {
- margin: 0;
- padding: 0 0 0;
- list-style: none;
-}
-
-.tabs li {
- float: left;
- background: url("../images/xp/tab_bg.gif") no-repeat left top;
- margin: 0;
- margin-left: 0;
- margin-right: 2px;
- padding: 0 0 0 10px;
- line-height: 18px;
-}
-
-.tabs li.current {
- background: url("../images/xp/tab_sel_bg.gif") no-repeat left top;
- margin-right: 2px;
-}
-
-.tabs span {
- float: left;
- display: block;
- background: url("../images/xp/tab_end.gif") no-repeat right top;
- padding: 0px 10px 0 0;
-}
-
-.tabs .current span {
- background: url("../images/xp/tab_sel_end.gif") no-repeat right top;
-}
-
-.tabs a {
- text-decoration: none;
- font-family: Verdana, Arial;
- font-size: 10px;
-}
-
-.tabs a:link, .tabs a:visited, .tabs a:hover {
- color: black;
-}
-
-.tabs a:hover {
-}
-
-.tabs .current {
-}
-
-.tabs .current a, .tabs .current a:link, .tabs .current a:visited {
-}
-
-.panel_wrapper div.panel {
- display: none;
-}
-
-.panel_wrapper div.current {
- display: block;
- width: 100%;
- height: 300px;
- overflow: visible; /* Should be auto but that breaks Safari */
-}
-
-.panel_wrapper {
- border: 1px solid #919B9C;
- border-top: 0px;
- padding: 10px;
- padding-top: 5px;
- clear: both;
- background-color: white;
-}
-
-fieldset {
- border: 1px solid #919B9C;
- font-family: Verdana, Arial;
- font-size: 10px;
- padding: 0;
- margin: 0;
- padding: 4px;
-}
-
-legend {
- color: #2B6FB6;
- font-weight: bold;
-}
-
-.properties {
- width: 100%;
-}
-
-.properties .column1 {
-}
-
-.properties .column2 {
- text-align: left;
-}
-
-a:link, a:visited {
- color: black;
-}
-
-a:hover {
- color: #2B6FB6;
-}
-
-#plugintable thead {
- font-weight: bold;
- background-color: #DDDDDD;
-}
-
-#plugintable, #about #plugintable td {
- border: 1px solid #919B9C;
-}
-
-#plugintable {
- width: 99%;
- margin-top: 10px;
-}
-
-#pluginscontainer {
- height: 290px;
- overflow: auto;
-}
-
-/* MSIE Specific styles */
-
-* html .panel_wrapper {
- width: 100%;
-}
-
-.column {
- float: left;
-}
-
-h1, h2, h3, h4 {
- color: #2B6FB6;
- margin: 0;
- padding: 0;
- padding-top: 5px;
-}
-
-h3 {
- font-size: 14px;
-}
-
-#link .panel_wrapper, #link div.current {
- height: 125px;
-}
-
-#image .panel_wrapper, #image div.current {
- height: 190px;
-}
-
-/* Disables the advanced tab in the table plugin. */
-/*
-#table #advanced_tab {
- display: none;
-}
-*/
-
-/* Disables the border input field and label in the table plugin. */
-/*
-#table #border, #table #borderlabel {
- display: none;
-}
-*/
-
-/* Below this line is WordPress customizations */
-#insert, #cancel, .submitbutton {
- font: 11px Verdana, Arial, Helvetica, sans-serif;
- height: auto;
- width: auto;
- background-color: transparent;
- background-image: url(../../../../../../wp-admin/images/fade-butt.png);
- background-repeat: repeat;
- border: 3px double;
- border-right-color: rgb(153, 153, 153);
- border-bottom-color: rgb(153, 153, 153);
- border-left-color: rgb(204, 204, 204);
- border-top-color: rgb(204, 204, 204);
- color: rgb(51, 51, 51);
- padding: 0.1em 0.5em;
-}
-
-#insert:active, #cancel:active, .submitbutton:active {
- background: #f4f4f4;
- border-left-color: #999;
- border-top-color: #999;
-}
-
-#styleSelectRow {
- display: none;
-}
diff --git a/wp-inst/wp-includes/js/tinymce/themes/advanced/css/editor_ui.css b/wp-inst/wp-includes/js/tinymce/themes/advanced/css/editor_ui.css
deleted file mode 100644
index 04fccc7..0000000
--- a/wp-inst/wp-includes/js/tinymce/themes/advanced/css/editor_ui.css
+++ /dev/null
@@ -1,348 +0,0 @@
-/* This file contains the CSS data for the editor UI of TinyMCE instances */
-
-.mceToolbarTop a, .mceToolbarTop a:visited, .mceToolbarTop a:hover, .mceToolbarBottom a, .mceToolbarBottom a:visited, .mceToolbarBottom a:hover {
- border: 0; margin: 0; padding: 0; background: transparent;
-}
-
-.mceSeparatorLine {
- border: 0;
- padding: 0;
- margin-left: 4px;
- margin-right: 2px;
-}
-
-.mceSelectList {
- font-family: 'MS Sans Serif', sans-serif, Verdana, Arial;
- font-size: 7pt !important;
- font-weight: normal;
- margin-top: 3px;
- padding: 0;
- display: inline;
- vertical-align: top;
- background-color: #F0F0EE;
-}
-
-.mceLabel, .mceLabelDisabled {
- font-family: 'MS Sans Serif', sans-serif, Verdana, Arial;
- font-size: 9pt;
-}
-
-.mceLabel {
- color: #000000;
-}
-
-.mceLabelDisabled {
- cursor: text;
- color: #999999;
-}
-
-.mceEditor {
- background: #F0F0EE;
- border: 1px solid #cccccc;
- padding: 0;
- margin: 0;
-}
-
-.mceEditorArea {
- font-family: 'MS Sans Serif', sans-serif, Verdana, Arial;
- background: #FFFFFF;
- padding: 0;
- margin: 0;
-}
-
-.mceToolbarTop, .mceToolbarBottom {
- background: #F0F0EE;
- line-height: 1px;
- font-size: 1px;
-}
-
-.mceToolbarTop {
- border-bottom: 1px solid #cccccc;
- padding-bottom: 1px;
-}
-
-.mceToolbarBottom {
- border-top: 1px solid #cccccc;
-}
-
-.mceStatusbarTop, .mceStatusbarBottom, .mceStatusbar {
- height: 20px;
-}
-
-.mceStatusbarTop .mceStatusbarPathText, .mceStatusbarBottom .mceStatusbarPathText, .mceStatusbar .mceStatusbarPathText {
- font-family: 'MS Sans Serif', sans-serif, Verdana, Arial;
- font-size: 9pt;
- padding: 2px;
- line-height: 16px;
- overflow: visible;
-}
-
-.mceStatusbarTop {
- border-bottom: 1px solid #cccccc;
-}
-
-.mceStatusbarBottom {
- border-top: 1px solid #cccccc;
-}
-
-.mceStatusbar {
- border-bottom: 1px solid #cccccc;
-}
-
-.mcePathItem, .mcePathItem:link, .mcePathItem:visited, .mcePathItem:hover {
- text-decoration: none;
- font-family: 'MS Sans Serif', sans-serif, Verdana, Arial;
- font-size: 9pt;
- color: #000000;
-}
-
-.mcePathItem:hover {
- text-decoration: underline;
-}
-
-.mceStatusbarPathText {
- float: left;
-}
-
-.mceStatusbarResize {
- float: right;
- background-image: url('../images/statusbar_resize.gif');
- background-repeat: no-repeat;
- width: 11px;
- height: 20px;
- cursor: se-resize;
-}
-
-.mceResizeBox {
- width: 10px;
- height: 10px;
- display: none;
- border: 1px dotted gray;
- margin: 0;
- padding: 0;
-}
-
-/* Button CSS rules */
-
-a.mceButtonDisabled img, a.mceButtonNormal img, a.mceButtonSelected img {
- width: 20px;
- height: 20px;
- cursor: default;
- margin-top: 1px;
- margin-left: 1px;
-}
-
-a.mceButtonDisabled img {
- border: 0 !important;
-}
-
-a.mceButtonNormal img, a.mceButtonSelected img {
- border: 1px solid #F0F0EE !important;
-}
-
-a.mceButtonSelected img {
- border: 1px solid #6779AA !important;
- background-color: #D4D5D8;
-}
-
-a.mceButtonNormal img:hover, a.mceButtonSelected img:hover {
- border: 1px solid #0A246A !important;
- cursor: default;
- background-color: #B6BDD2;
-}
-
-a.mceButtonDisabled img {
- -moz-opacity:0.3;
- opacity: 0.3;
- border: 1px solid #F0F0EE !important;
- cursor: default;
-}
-
-a.mceTiledButton img {
- background-image: url('../images/buttons.gif');
- background-repeat: no-repeat;
-}
-
-/* MSIE specific rules */
-
-* html a.mceButtonNormal img, * html a.mceButtonSelected img, * html a.mceButtonDisabled img {
- border: 0 !important;
- margin-top: 2px;
- margin-bottom: 1px;
-}
-
-* html a.mceButtonDisabled img {
- filter:progid:DXImageTransform.Microsoft.Alpha(opacity=30);
- border: 0 !important;
-}
-
-* html a.mceButtonDisabled {
- border: 1px solid #F0F0EE !important;
-}
-
-* html a.mceButtonNormal, * html a.mceButtonSelected {
- border: 1px solid #F0F0EE !important;
- cursor: default;
-}
-
-* html a.mceButtonSelected {
- border: 1px solid #6779AA !important;
- background-color: #D4D5D8;
-}
-
-* html a.mceButtonNormal:hover, * html a.mceButtonSelected:hover {
- border: 1px solid #0A246A !important;
- cursor: default;
- background-color: #B6BDD2;
-}
-
-* html .mceSelectList {
- margin-top: 2px;
-}
-
-/* Menu button CSS rules */
-
-span.mceMenuButton img, span.mceMenuButtonSelected img {
- border: 1px solid #F0F0EE;
- margin-left: 1px;
-}
-
-span.mceMenuButtonSelected img {
- border: 1px solid #6779AA;
- background-color: #B6BDD2;
-}
-
-span.mceMenuButtonSelected img.mceMenuButton {
- border: 1px solid #F0F0EE;
- background-color: transparent;
-}
-
-span.mceMenuButton img.mceMenuButton, span.mceMenuButtonSelected img.mceMenuButton {
- border-left: 0;
- margin-left: 0;
-}
-
-span.mceMenuButton:hover img, span.mceMenuButtonSelected:hover img {
- border: 1px solid #0A246A;
- background-color: #B6BDD2;
-}
-
-span.mceMenuButton:hover img.mceMenuButton, span.mceMenuButtonSelected:hover img.mceMenuButton {
- border-left: 0;
-}
-
-span.mceMenuButtonFocus img {
- border: 1px solid gray;
- border-right: 0;
- margin-left: 1px;
- background-color: #F5F4F2;
-}
-
-span.mceMenuButtonFocus img.mceMenuButton {
- border: 1px solid gray;
- border-left: 1px solid #F5F4F2;
- margin-left: 0;
-}
-
-/* Menu button MSIE specific rules */
-
-* html span.mceMenuButton, * html span.mceMenuButtonFocus {
- position: relative;
- left: 0;
- top: 0;
-}
-
-* html span.mceMenuButton img, * html span.mceMenuButtonSelected img, * html span.mceMenuButtonFocus img {
- position: relative;
- top: 1px;
-}
-
-* html span.mceMenuHover img {
- border: 1px solid #0A246A;
- background-color: #B6BDD2;
-}
-
-* html span.mceMenuButtonSelected.mceMenuHover img.mceMenuButton {
- border: 1px solid #0A246A;
- background-color: #B6BDD2;
- border-left: 0;
-}
-
-/* Menu */
-
-.mceMenu {
- position: absolute;
- left: 0;
- top: 0;
- display: none;
- z-index: 100;
- background-color: white;
- border: 1px solid gray;
- font-weight: normal;
-}
-
-.mceMenu a, .mceMenuTitle, .mceMenuDisabled {
- display: block;
- width: 100%;
- text-decoration: none;
- background-color: white;
- font-family: Tahoma, Verdana, Arial, Helvetica;
- font-size: 11px;
- line-height: 20px;
- color: black;
-}
-
-.mceMenu a:hover {
- background-color: #B6BDD2;
- color: black;
-}
-
-.mceMenu span {
- padding-left: 10px;
- padding-right: 10px;
- display: block;
- line-height: 20px;
-}
-
-.mceMenuSeparator {
- border-bottom: 1px solid gray;
- background-color: gray;
- height: 1px;
-}
-
-.mceMenuTitle span {
- padding-left: 5px;
-}
-
-.mceMenuTitle {
- background-color: #DDDDDD;
- font-weight: bold;
-}
-
-.mceMenuDisabled {
- color: gray;
-}
-
-span.mceMenuSelectedItem {
- background-image: url('../images/menu_check.gif');
- background-repeat: no-repeat;
- background-position: 5px 8px;
- padding-left: 20px;
-}
-
-span.mceMenuCheckItem {
- padding-left: 20px;
-}
-
-span.mceMenuLine {
- display: block;
- position: absolute;
- left: 0;
- top: -1px;
- background-color: #F5F4F2;
- width: 30px;
- height: 1px;
- overflow: hidden;
- padding-left: 0;
- padding-right: 0;
-}
diff --git a/wp-inst/wp-includes/js/tinymce/themes/advanced/editor_template.js b/wp-inst/wp-includes/js/tinymce/themes/advanced/editor_template.js
deleted file mode 100644
index 5a3e09c..0000000
--- a/wp-inst/wp-includes/js/tinymce/themes/advanced/editor_template.js
+++ /dev/null
@@ -1,1409 +0,0 @@
-/**
- * $RCSfile: editor_template_src.js,v $
- * $Revision: 1.93 $
- * $Date: 2006/03/14 17:33:50 $
- *
- * @author Moxiecode
- * @copyright Copyright © 2004-2006, Moxiecode Systems AB, All rights reserved.
- */
-
-/* Import theme specific language pack */
-tinyMCE.importThemeLanguagePack('advanced');
-
-var TinyMCE_AdvancedTheme = {
- // Private theme fields
- _autoImportCSSClasses : true,
- _resizer : {},
- _buttons : [
- // Control id, button img, button title, command, user_interface, value
- ['bold', '{$lang_bold_img}', 'lang_bold_desc', 'Bold'],
- ['italic', '{$lang_italic_img}', 'lang_italic_desc', 'Italic'],
- ['underline', '{$lang_underline_img}', 'lang_underline_desc', 'Underline'],
- ['strikethrough', 'strikethrough.gif', 'lang_striketrough_desc', 'Strikethrough'],
- ['justifyleft', 'justifyleft.gif', 'lang_justifyleft_desc', 'JustifyLeft'],
- ['justifycenter', 'justifycenter.gif', 'lang_justifycenter_desc', 'JustifyCenter'],
- ['justifyright', 'justifyright.gif', 'lang_justifyright_desc', 'JustifyRight'],
- ['justifyfull', 'justifyfull.gif', 'lang_justifyfull_desc', 'JustifyFull'],
- ['bullist', 'bullist.gif', 'lang_bullist_desc', 'InsertUnorderedList'],
- ['numlist', 'numlist.gif', 'lang_numlist_desc', 'InsertOrderedList'],
- ['outdent', 'outdent.gif', 'lang_outdent_desc', 'Outdent'],
- ['indent', 'indent.gif', 'lang_indent_desc', 'Indent'],
- ['cut', 'cut.gif', 'lang_cut_desc', 'Cut'],
- ['copy', 'copy.gif', 'lang_copy_desc', 'Copy'],
- ['paste', 'paste.gif', 'lang_paste_desc', 'Paste'],
- ['undo', 'undo.gif', 'lang_undo_desc', 'Undo'],
- ['redo', 'redo.gif', 'lang_redo_desc', 'Redo'],
- ['link', 'link.gif', 'lang_link_desc', 'mceLink', true],
- ['unlink', 'unlink.gif', 'lang_unlink_desc', 'unlink'],
- ['image', 'image.gif', 'lang_image_desc', 'mceImage', true],
- ['cleanup', 'cleanup.gif', 'lang_cleanup_desc', 'mceCleanup'],
- ['help', 'help.gif', 'lang_help_desc', 'mceHelp'],
- ['code', 'code.gif', 'lang_theme_code_desc', 'mceCodeEditor'],
- ['hr', 'hr.gif', 'lang_theme_hr_desc', 'inserthorizontalrule'],
- ['removeformat', 'removeformat.gif', 'lang_theme_removeformat_desc', 'removeformat'],
- ['sub', 'sub.gif', 'lang_theme_sub_desc', 'subscript'],
- ['sup', 'sup.gif', 'lang_theme_sup_desc', 'superscript'],
- ['forecolor', 'forecolor.gif', 'lang_theme_forecolor_desc', 'mceForeColor', true],
- ['backcolor', 'backcolor.gif', 'lang_theme_backcolor_desc', 'mceBackColor', true],
- ['charmap', 'charmap.gif', 'lang_theme_charmap_desc', 'mceCharMap'],
- ['visualaid', 'visualaid.gif', 'lang_theme_visualaid_desc', 'mceToggleVisualAid'],
- ['anchor', 'anchor.gif', 'lang_theme_anchor_desc', 'mceInsertAnchor'],
- ['newdocument', 'newdocument.gif', 'lang_newdocument_desc', 'mceNewDocument']
- ],
-
- _buttonMap : 'anchor,backcolor,bold,bullist,charmap,cleanup,code,copy,cut,forecolor,help,hr,image,indent,italic,justifycenter,justifyfull,justifyleft,justifyright,link,newdocument,numlist,outdent,paste,redo,removeformat,strikethrough,sub,sup,underline,undo,unlink,visualaid,advhr,ltr,rtl,emotions,flash,fullpage,fullscreen,iespell,insertdate,inserttime,pastetext,pasteword,selectall,preview,print,save,replace,search,table,cell_props,delete_col,delete_row,col_after,col_before,row_after,row_before,merge_cells,row_props,split_cells',
-
- /**
- * Returns HTML code for the specificed control.
- */
- getControlHTML : function(button_name) {
- var i, x;
-
- // Lookup button in button list
- for (i=0; i<TinyMCE_AdvancedTheme._buttons.length; i++) {
- var but = TinyMCE_AdvancedTheme._buttons[i];
-
- if (but[0] == button_name)
- return tinyMCE.getButtonHTML(but[0], but[2], '{$themeurl}/images/' + but[1], but[3], (but.length > 4 ? but[4] : false), (but.length > 5 ? but[5] : null));
- }
-
- // Custom controlls other than buttons
- switch (button_name) {
- case "formatselect":
- var html = '<select id="{$editor_id}_formatSelect" name="{$editor_id}_formatSelect" onfocus="tinyMCE.addSelectAccessibility(event, this, window);" onchange="tinyMCE.execInstanceCommand(\'{$editor_id}\',\'FormatBlock\',false,this.options[this.selectedIndex].value);" class="mceSelectList">';
- var formats = tinyMCE.getParam("theme_advanced_blockformats", "p,address,pre,h1,h2,h3,h4,h5,h6", true).split(',');
- var lookup = [
- ['p', '{$lang_theme_paragraph}'],
- ['address', '{$lang_theme_address}'],
- ['pre', '{$lang_theme_pre}'],
- ['h1', '{$lang_theme_h1}'],
- ['h2', '{$lang_theme_h2}'],
- ['h3', '{$lang_theme_h3}'],
- ['h4', '{$lang_theme_h4}'],
- ['h5', '{$lang_theme_h5}'],
- ['h6', '{$lang_theme_h6}']
- ];
-
- html += '<option value="">{$lang_theme_block}</option>';
-
- // Build format select
- for (var i=0; i<formats.length; i++) {
- for (var x=0; x<lookup.length; x++) {
- if (formats[i] == lookup[x][0])
- html += '<option value="<' + lookup[x][0] + '>">' + lookup[x][1] + '</option>';
- }
- }
-
- html += '</select>';
-
- return html;
-
- case "styleselect":
- return '<select id="{$editor_id}_styleSelect" onmousedown="tinyMCE.themes.advanced._setupCSSClasses(\'{$editor_id}\');" name="{$editor_id}_styleSelect" onfocus="tinyMCE.addSelectAccessibility(event,this,window);" onchange="tinyMCE.execInstanceCommand(\'{$editor_id}\',\'mceSetCSSClass\',false,this.options[this.selectedIndex].value);" class="mceSelectList">{$style_select_options}</select>';
-
- case "fontselect":
- var fontHTML = '<select id="{$editor_id}_fontNameSelect" name="{$editor_id}_fontNameSelect" onfocus="tinyMCE.addSelectAccessibility(event, this, window);" onchange="tinyMCE.execInstanceCommand(\'{$editor_id}\',\'FontName\',false,this.options[this.selectedIndex].value);" class="mceSelectList"><option value="">{$lang_theme_fontdefault}</option>';
- var iFonts = 'Arial=arial,helvetica,sans-serif;Courier New=courier new,courier,monospace;Georgia=georgia,times new roman,times,serif;Tahoma=tahoma,arial,helvetica,sans-serif;Times New Roman=times new roman,times,serif;Verdana=verdana,arial,helvetica,sans-serif;Impact=impact;WingDings=wingdings';
- var nFonts = '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,sand;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';
- var fonts = tinyMCE.getParam("theme_advanced_fonts", nFonts).split(';');
- for (i=0; i<fonts.length; i++) {
- if (fonts[i] != '') {
- var parts = fonts[i].split('=');
- fontHTML += '<option value="' + parts[1] + '">' + parts[0] + '</option>';
- }
- }
-
- fontHTML += '</select>';
- return fontHTML;
-
- case "fontsizeselect":
- return '<select id="{$editor_id}_fontSizeSelect" name="{$editor_id}_fontSizeSelect" onfocus="tinyMCE.addSelectAccessibility(event, this, window);" onchange="tinyMCE.execInstanceCommand(\'{$editor_id}\',\'FontSize\',false,this.options[this.selectedIndex].value);" class="mceSelectList">\
- <option value="0">{$lang_theme_font_size}</option>\
- <option value="1">1 (8 pt)</option>\
- <option value="2">2 (10 pt)</option>\
- <option value="3">3 (12 pt)</option>\
- <option value="4">4 (14 pt)</option>\
- <option value="5">5 (18 pt)</option>\
- <option value="6">6 (24 pt)</option>\
- <option value="7">7 (36 pt)</option>\
- </select>';
-
- case "|":
- case "separator":
- return '<img src="{$themeurl}/images/separator.gif" width="2" height="20" class="mceSeparatorLine" />';
-
- case "spacer":
- return '<img src="{$themeurl}/images/separator.gif" width="2" height="15" border="0" class="mceSeparatorLine" style="vertical-align: middle" />';
-
- case "rowseparator":
- return '<br />';
- }
-
- return "";
- },
-
- /**
- * Theme specific execcommand handling.
- */
- execCommand : function(editor_id, element, command, user_interface, value) {
- switch (command) {
- case "mceLink":
- var inst = tinyMCE.getInstanceById(editor_id);
- var doc = inst.getDoc();
- var selectedText = "";
-
- if (tinyMCE.isMSIE) {
- var rng = doc.selection.createRange();
- selectedText = rng.text;
- } else
- selectedText = inst.getSel().toString();
-
- if (!tinyMCE.linkElement) {
- if ((tinyMCE.selectedElement.nodeName.toLowerCase() != "img") && (selectedText.length <= 0))
- return true;
- }
-
- var href = "", target = "", title = "", onclick = "", action = "insert", style_class = "";
-
- if (tinyMCE.selectedElement.nodeName.toLowerCase() == "a")
- tinyMCE.linkElement = tinyMCE.selectedElement;
-
- // Is anchor not a link
- if (tinyMCE.linkElement != null && tinyMCE.getAttrib(tinyMCE.linkElement, 'href') == "")
- tinyMCE.linkElement = null;
-
- if (tinyMCE.linkElement) {
- href = tinyMCE.getAttrib(tinyMCE.linkElement, 'href');
- target = tinyMCE.getAttrib(tinyMCE.linkElement, 'target');
- title = tinyMCE.getAttrib(tinyMCE.linkElement, 'title');
- onclick = tinyMCE.getAttrib(tinyMCE.linkElement, 'onclick');
- style_class = tinyMCE.getAttrib(tinyMCE.linkElement, 'class');
-
- // Try old onclick to if copy/pasted content
- if (onclick == "")
- onclick = tinyMCE.getAttrib(tinyMCE.linkElement, 'onclick');
-
- onclick = tinyMCE.cleanupEventStr(onclick);
-
- href = eval(tinyMCE.settings['urlconverter_callback'] + "(href, tinyMCE.linkElement, true);");
-
- // Use mce_href if defined
- mceRealHref = tinyMCE.getAttrib(tinyMCE.linkElement, 'mce_href');
- if (mceRealHref != "") {
- href = mceRealHref;
-
- if (tinyMCE.getParam('convert_urls'))
- href = eval(tinyMCE.settings['urlconverter_callback'] + "(href, tinyMCE.linkElement, true);");
- }
-
- action = "update";
- }
-
- var template = new Array();
-
- template['file'] = 'link.htm';
- template['width'] = 310;
- template['height'] = 200;
-
- // Language specific width and height addons
- template['width'] += tinyMCE.getLang('lang_insert_link_delta_width', 0);
- template['height'] += tinyMCE.getLang('lang_insert_link_delta_height', 0);
-
- if (inst.settings['insertlink_callback']) {
- var returnVal = eval(inst.settings['insertlink_callback'] + "(href, target, title, onclick, action, style_class);");
- if (returnVal && returnVal['href'])
- TinyMCE_AdvancedTheme._insertLink(returnVal['href'], returnVal['target'], returnVal['title'], returnVal['onclick'], returnVal['style_class']);
- } else {
- tinyMCE.openWindow(template, {href : href, target : target, title : title, onclick : onclick, action : action, className : style_class, inline : "yes"});
- }
-
- return true;
-
- case "mceImage":
- var src = "", alt = "", border = "", hspace = "", vspace = "", width = "", height = "", align = "";
- var title = "", onmouseover = "", onmouseout = "", action = "insert";
- var img = tinyMCE.imgElement;
- var inst = tinyMCE.getInstanceById(editor_id);
-
- if (tinyMCE.selectedElement != null && tinyMCE.selectedElement.nodeName.toLowerCase() == "img") {
- img = tinyMCE.selectedElement;
- tinyMCE.imgElement = img;
- }
-
- if (img) {
- // Is it a internal MCE visual aid image, then skip this one.
- if (tinyMCE.getAttrib(img, 'name').indexOf('mce_') == 0)
- return true;
-
- src = tinyMCE.getAttrib(img, 'src');
- alt = tinyMCE.getAttrib(img, 'alt');
-
- // Try polling out the title
- if (alt == "")
- alt = tinyMCE.getAttrib(img, 'title');
-
- // Fix width/height attributes if the styles is specified
- if (tinyMCE.isGecko) {
- var w = img.style.width;
- if (w != null && w != "")
- img.setAttribute("width", w);
-
- var h = img.style.height;
- if (h != null && h != "")
- img.setAttribute("height", h);
- }
-
- border = tinyMCE.getAttrib(img, 'border');
- hspace = tinyMCE.getAttrib(img, 'hspace');
- vspace = tinyMCE.getAttrib(img, 'vspace');
- width = tinyMCE.getAttrib(img, 'width');
- height = tinyMCE.getAttrib(img, 'height');
- align = tinyMCE.getAttrib(img, 'align');
- onmouseover = tinyMCE.getAttrib(img, 'onmouseover');
- onmouseout = tinyMCE.getAttrib(img, 'onmouseout');
- title = tinyMCE.getAttrib(img, 'title');
-
- // Is realy specified?
- if (tinyMCE.isMSIE) {
- width = img.attributes['width'].specified ? width : "";
- height = img.attributes['height'].specified ? height : "";
- }
-
- //onmouseover = tinyMCE.getImageSrc(tinyMCE.cleanupEventStr(onmouseover));
- //onmouseout = tinyMCE.getImageSrc(tinyMCE.cleanupEventStr(onmouseout));
-
- src = eval(tinyMCE.settings['urlconverter_callback'] + "(src, img, true);");
-
- // Use mce_src if defined
- mceRealSrc = tinyMCE.getAttrib(img, 'mce_src');
- if (mceRealSrc != "") {
- src = mceRealSrc;
-
- if (tinyMCE.getParam('convert_urls'))
- src = eval(tinyMCE.settings['urlconverter_callback'] + "(src, img, true);");
- }
-
- //if (onmouseover != "")
- // onmouseover = eval(tinyMCE.settings['urlconverter_callback'] + "(onmouseover, img, true);");
-
- //if (onmouseout != "")
- // onmouseout = eval(tinyMCE.settings['urlconverter_callback'] + "(onmouseout, img, true);");
-
- action = "update";
- }
-
- var template = new Array();
-
- template['file'] = 'image.htm?src={$src}';
- template['width'] = 355;
- template['height'] = 265 + (tinyMCE.isMSIE ? 25 : 0);
-
- // Language specific width and height addons
- template['width'] += tinyMCE.getLang('lang_insert_image_delta_width', 0);
- template['height'] += tinyMCE.getLang('lang_insert_image_delta_height', 0);
-
- if (inst.settings['insertimage_callback']) {
- var returnVal = eval(inst.settings['insertimage_callback'] + "(src, alt, border, hspace, vspace, width, height, align, title, onmouseover, onmouseout, action);");
- if (returnVal && returnVal['src'])
- TinyMCE_AdvancedTheme._insertImage(returnVal['src'], returnVal['alt'], returnVal['border'], returnVal['hspace'], returnVal['vspace'], returnVal['width'], returnVal['height'], returnVal['align'], returnVal['title'], returnVal['onmouseover'], returnVal['onmouseout']);
- } else
- tinyMCE.openWindow(template, {src : src, alt : alt, border : border, hspace : hspace, vspace : vspace, width : width, height : height, align : align, title : title, onmouseover : onmouseover, onmouseout : onmouseout, action : action, inline : "yes"});
-
- return true;
-
- case "mceForeColor":
- var template = new Array();
- var elm = tinyMCE.selectedInstance.getFocusElement();
- var inputColor = tinyMCE.getAttrib(elm, "color");
-
- if (inputColor == '')
- inputColor = elm.style.color;
-
- if (!inputColor)
- inputColor = "#000000";
-
- template['file'] = 'color_picker.htm';
- template['width'] = 220;
- template['height'] = 190;
-
- tinyMCE.openWindow(template, {editor_id : editor_id, inline : "yes", command : "forecolor", input_color : inputColor});
- return true;
-
- case "mceBackColor":
- var template = new Array();
- var elm = tinyMCE.selectedInstance.getFocusElement();
- var inputColor = elm.style.backgroundColor;
-
- if (!inputColor)
- inputColor = "#000000";
-
- template['file'] = 'color_picker.htm';
- template['width'] = 220;
- template['height'] = 190;
-
- template['width'] += tinyMCE.getLang('lang_theme_advanced_backcolor_delta_width', 0);
- template['height'] += tinyMCE.getLang('lang_theme_advanced_backcolor_delta_height', 0);
-
- tinyMCE.openWindow(template, {editor_id : editor_id, inline : "yes", command : "HiliteColor", input_color : inputColor});
- //mceBackColor
- return true;
-
- case "mceColorPicker":
- if (user_interface) {
- var template = new Array();
- var inputColor = value['document'].getElementById(value['element_id']).value;
-
- template['file'] = 'color_picker.htm';
- template['width'] = 220;
- template['height'] = 190;
- template['close_previous'] = "no";
-
- template['width'] += tinyMCE.getLang('lang_theme_advanced_colorpicker_delta_width', 0);
- template['height'] += tinyMCE.getLang('lang_theme_advanced_colorpicker_delta_height', 0);
-
- if (typeof(value['store_selection']) == "undefined")
- value['store_selection'] = true;
-
- tinyMCE.lastColorPickerValue = value;
- tinyMCE.openWindow(template, {editor_id : editor_id, mce_store_selection : value['store_selection'], inline : "yes", command : "mceColorPicker", input_color : inputColor});
- } else {
- var savedVal = tinyMCE.lastColorPickerValue;
- var elm = savedVal['document'].getElementById(savedVal['element_id']);
- elm.value = value;
-
- if (elm.onchange != null && elm.onchange != '')
- eval('elm.onchange();');
- }
- return true;
-
- case "mceCodeEditor":
- var template = new Array();
-
- template['file'] = 'source_editor.htm';
- template['width'] = parseInt(tinyMCE.getParam("theme_advanced_source_editor_width", 720));
- template['height'] = parseInt(tinyMCE.getParam("theme_advanced_source_editor_height", 580));
-
- tinyMCE.openWindow(template, {editor_id : editor_id, resizable : "yes", scrollbars : "no", inline : "yes"});
- return true;
-
- case "mceCharMap":
- var template = new Array();
-
- template['file'] = 'charmap.htm';
- template['width'] = 550 + (tinyMCE.isOpera ? 40 : 0);
- template['height'] = 250;
-
- template['width'] += tinyMCE.getLang('lang_theme_advanced_charmap_delta_width', 0);
- template['height'] += tinyMCE.getLang('lang_theme_advanced_charmap_delta_height', 0);
-
- tinyMCE.openWindow(template, {editor_id : editor_id, inline : "yes"});
- return true;
-
- case "mceInsertAnchor":
- var template = new Array();
-
- template['file'] = 'anchor.htm';
- template['width'] = 320;
- template['height'] = 90 + (tinyMCE.isNS7 ? 30 : 0);
-
- template['width'] += tinyMCE.getLang('lang_theme_advanced_anchor_delta_width', 0);
- template['height'] += tinyMCE.getLang('lang_theme_advanced_anchor_delta_height', 0);
-
- tinyMCE.openWindow(template, {editor_id : editor_id, inline : "yes"});
- return true;
-
- case "mceNewDocument":
- if (confirm(tinyMCE.getLang('lang_newdocument')))
- tinyMCE.execInstanceCommand(editor_id, 'mceSetContent', false, ' ');
-
- return true;
- }
-
- return false;
- },
-
- /**
- * Editor instance template function.
- */
- getEditorTemplate : function(settings, editorId) {
- function removeFromArray(in_array, remove_array) {
- var outArray = new Array();
-
- for (var i=0; i<in_array.length; i++) {
- skip = false;
-
- for (var j=0; j<remove_array.length; j++) {
- if (in_array[i] == remove_array[j]) {
- skip = true;
- }
- }
-
- if (!skip) {
- outArray[outArray.length] = in_array[i];
- }
- }
-
- return outArray;
- }
-
- function addToArray(in_array, add_array) {
- for (var i=0; i<add_array.length; i++) {
- in_array[in_array.length] = add_array[i];
- }
-
- return in_array;
- }
-
- var template = new Array();
- var deltaHeight = 0;
- var resizing = tinyMCE.getParam("theme_advanced_resizing", false);
- var path = tinyMCE.getParam("theme_advanced_path", true);
- var statusbarHTML = '<div id="{$editor_id}_path" class="mceStatusbarPathText" style="display: ' + (path ? "block" : "none") + '">&nbsp;</div><div id="{$editor_id}_resize" class="mceStatusbarResize" style="display: ' + (resizing ? "block" : "none") + '" onmousedown="tinyMCE.themes.advanced._setResizing(event,\'{$editor_id}\',true);"></div><br style="clear: both" />';
- var layoutManager = tinyMCE.getParam("theme_advanced_layout_manager", "SimpleLayout");
-
- // Setup style select options -- MOVED UP FOR EXTERNAL TOOLBAR COMPATABILITY!
- var styleSelectHTML = '<option value="">{$lang_theme_style_select}</option>';
- if (settings['theme_advanced_styles']) {
- var stylesAr = settings['theme_advanced_styles'].split(';');
-
- for (var i=0; i<stylesAr.length; i++) {
- var key, value;
-
- key = stylesAr[i].split('=')[0];
- value = stylesAr[i].split('=')[1];
-
- styleSelectHTML += '<option value="' + value + '">' + key + '</option>';
- }
-
- TinyMCE_AdvancedTheme._autoImportCSSClasses = false;
- }
-
- switch(layoutManager) {
- case "SimpleLayout" : //the default TinyMCE Layout (for backwards compatibility)...
- var toolbarHTML = "";
- var toolbarLocation = tinyMCE.getParam("theme_advanced_toolbar_location", "bottom");
- var toolbarAlign = tinyMCE.getParam("theme_advanced_toolbar_align", "center");
- var pathLocation = tinyMCE.getParam("theme_advanced_path_location", "none"); // Compatiblity
- var statusbarLocation = tinyMCE.getParam("theme_advanced_statusbar_location", pathLocation);
- var defVals = {
- theme_advanced_buttons1 : "bold,italic,underline,strikethrough,separator,justifyleft,justifycenter,justifyright,justifyfull,separator,styleselect,formatselect",
- theme_advanced_buttons2 : "bullist,numlist,separator,outdent,indent,separator,undo,redo,separator,link,unlink,anchor,image,cleanup,help,code",
- theme_advanced_buttons3 : "hr,removeformat,visualaid,separator,sub,sup,separator,charmap"
- };
-
- // Add accessibility control
- toolbarHTML += '<a href="#" accesskey="q" title="' + tinyMCE.getLang("lang_toolbar_focus") + '"';
-
- if (!tinyMCE.getParam("accessibility_focus"))
- toolbarHTML += ' onfocus="tinyMCE.getInstanceById(\'' + editorId + '\').getWin().focus();"';
-
- toolbarHTML += '></a>';
-
- // Render rows
- for (var i=1; i<100; i++) {
- var def = defVals["theme_advanced_buttons" + i];
-
- var buttons = tinyMCE.getParam("theme_advanced_buttons" + i, def == null ? '' : def, true, ',');
- if (buttons.length == 0)
- break;
-
- buttons = removeFromArray(buttons, tinyMCE.getParam("theme_advanced_disable", "", true, ','));
- buttons = addToArray(buttons, tinyMCE.getParam("theme_advanced_buttons" + i + "_add", "", true, ','));
- buttons = addToArray(tinyMCE.getParam("theme_advanced_buttons" + i + "_add_before", "", true, ','), buttons);
-
- for (var b=0; b<buttons.length; b++)
- toolbarHTML += tinyMCE.getControlHTML(buttons[b]);
-
- if (buttons.length > 0) {
- toolbarHTML += "<br />";
- deltaHeight -= 23;
- }
- }
-
- // Add accessibility control
- toolbarHTML += '<a href="#" accesskey="z" onfocus="tinyMCE.getInstanceById(\'' + editorId + '\').getWin().focus();"></a>';
-
- // Setup template html
- template['html'] = '<table class="mceEditor" border="0" cellpadding="0" cellspacing="0" width="{$width}" height="{$height}" style="width:{$width}px;height:{$height}px"><tbody>';
-
- if (toolbarLocation == "top") {
- template['html'] += '<tr><td class="mceToolbarTop" align="' + toolbarAlign + '" height="1" nowrap="nowrap">' + toolbarHTML + '</td></tr>';
- }
-
- if (statusbarLocation == "top") {
- template['html'] += '<tr><td class="mceStatusbarTop" height="1">' + statusbarHTML + '</td></tr>';
- deltaHeight -= 23;
- }
-
- template['html'] += '<tr><td align="center"><span id="{$editor_id}"></span></td></tr>';
-
- if (toolbarLocation == "bottom") {
- template['html'] += '<tr><td class="mceToolbarBottom" align="' + toolbarAlign + '" height="1">' + toolbarHTML + '</td></tr>';
- }
-
- // External toolbar changes
- if (toolbarLocation == "external") {
- var bod = document.body;
- var elm = document.createElement ("div");
-
- toolbarHTML = tinyMCE.replaceVar(toolbarHTML, 'style_select_options', styleSelectHTML);
- toolbarHTML = tinyMCE.applyTemplate(toolbarHTML, {editor_id : editorId});
-
- elm.className = "mceToolbarExternal";
- elm.id = editorId+"_toolbar";
- elm.innerHTML = '<table width="100%" border="0" align="center"><tr><td align="center">'+toolbarHTML+'</td></tr></table>';
- bod.appendChild (elm);
- // bod.style.marginTop = elm.offsetHeight + "px";
-
- deltaHeight = 0;
- tinyMCE.getInstanceById(editorId).toolbarElement = elm;
-
- //template['html'] = '<div id="mceExternalToolbar" align="center" class="mceToolbarExternal"><table width="100%" border="0" align="center"><tr><td align="center">'+toolbarHTML+'</td></tr></table></div>' + template["html"];
- } else {
- tinyMCE.getInstanceById(editorId).toolbarElement = null;
- }
-
- if (statusbarLocation == "bottom") {
- template['html'] += '<tr><td class="mceStatusbarBottom" height="1">' + statusbarHTML + '</td></tr>';
- deltaHeight -= 23;
- }
-
- template['html'] += '</tbody></table>';
- //"SimpleLayout"
- break;
-
- case "RowLayout" : //Container Layout - containers defined in "theme_advanced_containers" are rendered from top to bottom.
- template['html'] = '<table class="mceEditor" border="0" cellpadding="0" cellspacing="0" width="{$width}" height="{$height}" style="width:{$width}px;height:{$height}px"><tbody>';
-
- var containers = tinyMCE.getParam("theme_advanced_containers", "", true, ",");
- var defaultContainerCSS = tinyMCE.getParam("theme_advanced_containers_default_class", "container");
- var defaultContainerAlign = tinyMCE.getParam("theme_advanced_containers_default_align", "center");
-
- //Render Containers:
- for (var i = 0; i < containers.length; i++)
- {
- if (containers[i] == "mceEditor") //Exceptions for mceEditor and ...
- {
- template['html'] += '<tr><td align="center" class="mceEditor_border">\
- <span id="{$editor_id}"></span>\
- </td></tr>';
- }
- else if (containers[i] == "mceElementpath" || containers[i] == "mceStatusbar") // ... mceElementpath:
- {
- var pathClass = "mceStatusbar";
-
- if (i == containers.length-1)
- {
- pathClass = "mceStatusbarBottom";
- }
- else if (i == 0)
- {
- pathClass = "mceStatusbar";
- }
- else
- {
- deltaHeight-=2;
- }
-
- template['html'] += '<tr><td class="' + pathClass + '" height="1">' + statusbarHTML + '</td></tr>';
- deltaHeight -= 22;
- } else { // Render normal Container
- var curContainer = tinyMCE.getParam("theme_advanced_container_"+containers[i], "", true, ',');
- var curContainerHTML = "";
- var curAlign = tinyMCE.getParam("theme_advanced_container_"+containers[i]+"_align", defaultContainerAlign);
- var curCSS = tinyMCE.getParam("theme_advanced_container_"+containers[i]+"_class", defaultContainerCSS);
-
- for (var j=0; j<curContainer.length; j++) {
- curContainerHTML += tinyMCE.getControlHTML(curContainer[j]);
- }
-
- if (curContainer.length > 0) {
- curContainerHTML += "<br />";
- deltaHeight -= 23;
- }
-
- template['html'] += '<tr><td class="' + curCSS + '" align="' + curAlign + '" height="1">' + curContainerHTML + '</td></tr>';
- }
- }
-
- template['html'] += '</tbody></table>';
- //RowLayout
- break;
-
- case "CustomLayout" : //User defined layout callback...
- var customLayout = tinyMCE.getParam("theme_advanced_custom_layout","");
-
- if (customLayout != "" && eval("typeof(" + customLayout + ")") != "undefined") {
- template = eval(customLayout + "(template);");
- }
- break;
- }
-
- if (resizing)
- template['html'] += '<span id="{$editor_id}_resize_box" class="mceResizeBox"></span>';
-
- template['html'] = tinyMCE.replaceVar(template['html'], 'style_select_options', styleSelectHTML);
- template['delta_width'] = 0;
- template['delta_height'] = deltaHeight;
-
- return template;
- },
-
- initInstance : function(inst) {
- if (tinyMCE.getParam("theme_advanced_resizing", false)) {
- if (tinyMCE.getParam("theme_advanced_resizing_use_cookie", true)) {
- var w = TinyMCE_AdvancedTheme._getCookie("TinyMCE_" + inst.editorId + "_width");
- var h = TinyMCE_AdvancedTheme._getCookie("TinyMCE_" + inst.editorId + "_height");
-
- TinyMCE_AdvancedTheme._resizeTo(inst, w, h, tinyMCE.getParam("theme_advanced_resize_horizontal", true));
- }
- }
-
- inst.addShortcut('ctrl', 'k', 'lang_link_desc', 'mceLink');
- },
-
- /**
- * Node change handler.
- */
- handleNodeChange : function(editor_id, node, undo_index, undo_levels, visual_aid, any_selection, setup_content) {
- function selectByValue(select_elm, value, first_index) {
- first_index = typeof(first_index) == "undefined" ? false : true;
-
- if (select_elm) {
- for (var i=0; i<select_elm.options.length; i++) {
- var ov = "" + select_elm.options[i].value;
-
- if (first_index && ov.toLowerCase().indexOf(value.toLowerCase()) == 0) {
- select_elm.selectedIndex = i;
- return true;
- }
-
- if (ov == value) {
- select_elm.selectedIndex = i;
- return true;
- }
- }
- }
-
- return false;
- };
-
- function getAttrib(elm, name) {
- return elm.getAttribute(name) ? elm.getAttribute(name) : "";
- };
-
- // No node provided
- if (node == null)
- return;
-
- // Update path
- var pathElm = document.getElementById(editor_id + "_path");
- var inst = tinyMCE.getInstanceById(editor_id);
- var doc = inst.getDoc();
-
- if (pathElm) {
- // Get node path
- var parentNode = node;
- var path = new Array();
-
- while (parentNode != null) {
- if (parentNode.nodeName.toUpperCase() == "BODY") {
- break;
- }
-
- // Only append element nodes to path
- if (parentNode.nodeType == 1 && tinyMCE.getAttrib(parentNode, "class").indexOf('mceItemHidden') == -1) {
- path[path.length] = parentNode;
- }
-
- parentNode = parentNode.parentNode;
- }
-
- // Setup HTML
- var html = "";
- for (var i=path.length-1; i>=0; i--) {
- var nodeName = path[i].nodeName.toLowerCase();
- var nodeData = "";
-
- if (nodeName == "b") {
- nodeName = "strong";
- }
-
- if (nodeName == "i") {
- nodeName = "em";
- }
-
- if (nodeName == "span") {
- var cn = tinyMCE.getAttrib(path[i], "class");
- if (cn != "" && cn.indexOf('mceItem') == -1)
- nodeData += "class: " + cn + " ";
-
- var st = tinyMCE.getAttrib(path[i], "style");
- if (st != "") {
- st = tinyMCE.serializeStyle(tinyMCE.parseStyle(st));
- nodeData += "style: " + st + " ";
- }
- }
-
- if (nodeName == "font") {
- if (tinyMCE.getParam("convert_fonts_to_spans"))
- nodeName = "span";
-
- var face = tinyMCE.getAttrib(path[i], "face");
- if (face != "")
- nodeData += "font: " + face + " ";
-
- var size = tinyMCE.getAttrib(path[i], "size");
- if (size != "")
- nodeData += "size: " + size + " ";
-
- var color = tinyMCE.getAttrib(path[i], "color");
- if (color != "")
- nodeData += "color: " + color + " ";
- }
-
- if (getAttrib(path[i], 'id') != "") {
- nodeData += "id: " + path[i].getAttribute('id') + " ";
- }
-
- var className = tinyMCE.getVisualAidClass(tinyMCE.getAttrib(path[i], "class"), false);
- if (className != "" && className.indexOf('mceItem') == -1)
- nodeData += "class: " + className + " ";
-
- if (getAttrib(path[i], 'src') != "") {
- var src = tinyMCE.getAttrib(path[i], "mce_src");
-
- if (src == "")
- src = tinyMCE.getAttrib(path[i], "src");
-
- nodeData += "src: " + src + " ";
- }
-
- if (getAttrib(path[i], 'href') != "") {
- var href = tinyMCE.getAttrib(path[i], "mce_href");
-
- if (href == "")
- href = tinyMCE.getAttrib(path[i], "href");
-
- nodeData += "href: " + href + " ";
- }
-
- if (nodeName == "img" && tinyMCE.getAttrib(path[i], "class").indexOf('mceItemFlash') != -1) {
- nodeName = "flash";
- nodeData = "src: " + path[i].getAttribute('title');
- }
-
- if (nodeName == "a" && (anchor = tinyMCE.getAttrib(path[i], "name")) != "") {
- nodeName = "a";
- nodeName += "#" + anchor;
- nodeData = "";
- }
-
- if (getAttrib(path[i], 'name').indexOf("mce_") != 0) {
- var className = tinyMCE.getVisualAidClass(tinyMCE.getAttrib(path[i], "class"), false);
- if (className != "" && className.indexOf('mceItem') == -1) {
- nodeName += "." + className;
- }
- }
-
- var cmd = 'tinyMCE.execInstanceCommand(\'' + editor_id + '\',\'mceSelectNodeDepth\',false,\'' + i + '\');';
- html += '<a title="' + nodeData + '" href="javascript:' + cmd + '" onclick="' + cmd + 'return false;" onmousedown="return false;" target="_self" class="mcePathItem">' + nodeName + '</a>';
-
- if (i > 0) {
- html += " &raquo; ";
- }
- }
-
- pathElm.innerHTML = '<a href="#" accesskey="x"></a>' + tinyMCE.getLang('lang_theme_path') + ": " + html + '&nbsp;';
- }
-
- // Reset old states
- tinyMCE.switchClass(editor_id + '_justifyleft', 'mceButtonNormal');
- tinyMCE.switchClass(editor_id + '_justifyright', 'mceButtonNormal');
- tinyMCE.switchClass(editor_id + '_justifycenter', 'mceButtonNormal');
- tinyMCE.switchClass(editor_id + '_justifyfull', 'mceButtonNormal');
- tinyMCE.switchClass(editor_id + '_bold', 'mceButtonNormal');
- tinyMCE.switchClass(editor_id + '_italic', 'mceButtonNormal');
- tinyMCE.switchClass(editor_id + '_underline', 'mceButtonNormal');
- tinyMCE.switchClass(editor_id + '_strikethrough', 'mceButtonNormal');
- tinyMCE.switchClass(editor_id + '_bullist', 'mceButtonNormal');
- tinyMCE.switchClass(editor_id + '_numlist', 'mceButtonNormal');
- tinyMCE.switchClass(editor_id + '_sub', 'mceButtonNormal');
- tinyMCE.switchClass(editor_id + '_sup', 'mceButtonNormal');
- tinyMCE.switchClass(editor_id + '_anchor', 'mceButtonNormal');
- tinyMCE.switchClass(editor_id + '_link', 'mceButtonDisabled');
- tinyMCE.switchClass(editor_id + '_unlink', 'mceButtonDisabled');
- tinyMCE.switchClass(editor_id + '_outdent', 'mceButtonDisabled');
- tinyMCE.switchClass(editor_id + '_image', 'mceButtonNormal');
- tinyMCE.switchClass(editor_id + '_hr', 'mceButtonNormal');
-
- if (node.nodeName == "A" && tinyMCE.getAttrib(node, "class").indexOf('mceItemAnchor') != -1)
- tinyMCE.switchClass(editor_id + '_anchor', 'mceButtonSelected');
-
- // Get link
- var anchorLink = tinyMCE.getParentElement(node, "a", "href");
-
- if (anchorLink || any_selection) {
- tinyMCE.switchClass(editor_id + '_link', anchorLink ? 'mceButtonSelected' : 'mceButtonNormal');
- tinyMCE.switchClass(editor_id + '_unlink', anchorLink ? 'mceButtonSelected' : 'mceButtonNormal');
- }
-
- // Handle visual aid
- tinyMCE.switchClass(editor_id + '_visualaid', visual_aid ? 'mceButtonSelected' : 'mceButtonNormal');
-
- if (undo_levels != -1) {
- tinyMCE.switchClass(editor_id + '_undo', 'mceButtonDisabled');
- tinyMCE.switchClass(editor_id + '_redo', 'mceButtonDisabled');
- }
-
- // Within li, blockquote
- if (tinyMCE.getParentElement(node, "li,blockquote"))
- tinyMCE.switchClass(editor_id + '_outdent', 'mceButtonNormal');
-
- // Has redo levels
- if (undo_index != -1 && (undo_index < undo_levels-1 && undo_levels > 0))
- tinyMCE.switchClass(editor_id + '_redo', 'mceButtonNormal');
-
- // Has undo levels
- if (undo_index != -1 && (undo_index > 0 && undo_levels > 0))
- tinyMCE.switchClass(editor_id + '_undo', 'mceButtonNormal');
-
- // Select class in select box
- var selectElm = document.getElementById(editor_id + "_styleSelect");
-
- if (selectElm) {
- TinyMCE_AdvancedTheme._setupCSSClasses(editor_id);
-
- classNode = node;
- breakOut = false;
- var index = 0;
-
- do {
- if (classNode && classNode.className) {
- for (var i=0; i<selectElm.options.length; i++) {
- if (selectElm.options[i].value == classNode.className) {
- index = i;
- breakOut = true;
- break;
- }
- }
- }
- } while (!breakOut && classNode != null && (classNode = classNode.parentNode) != null);
-
- selectElm.selectedIndex = index;
- }
-
- // Select formatblock
- var selectElm = document.getElementById(editor_id + "_formatSelect");
- if (selectElm) {
- var elm = tinyMCE.getParentElement(node, "p,div,h1,h2,h3,h4,h5,h6,pre,address");
-
- if (elm)
- selectByValue(selectElm, "<" + elm.nodeName.toLowerCase() + ">");
- else
- selectByValue(selectElm, "");
- }
-
- // Select fontselect
- var selectElm = document.getElementById(editor_id + "_fontNameSelect");
- if (selectElm) {
- if (!tinyMCE.isSafari && !(tinyMCE.isMSIE && !tinyMCE.isOpera)) {
- var face = inst.queryCommandValue('FontName');
-
- face = face == null || face == "" ? "" : face;
-
- selectByValue(selectElm, face, face != "");
- } else {
- var elm = tinyMCE.getParentElement(node, "font", "face");
-
- if (elm) {
- var family = tinyMCE.getAttrib(elm, "face");
-
- if (family == '')
- family = '' + elm.style.fontFamily;
-
- if (!selectByValue(selectElm, family, family != ""))
- selectByValue(selectElm, "");
- } else
- selectByValue(selectElm, "");
- }
- }
-
- // Select fontsize
- var selectElm = document.getElementById(editor_id + "_fontSizeSelect");
- if (selectElm) {
- if (!tinyMCE.isSafari && !tinyMCE.isOpera) {
- var size = inst.queryCommandValue('FontSize');
- selectByValue(selectElm, size == null || size == "" ? "0" : size);
- } else {
- var elm = tinyMCE.getParentElement(node, "font", "size");
- if (elm) {
- var size = tinyMCE.getAttrib(elm, "size");
-
- if (size == '') {
- var sizes = new Array('', '8px', '10px', '12px', '14px', '18px', '24px', '36px');
-
- size = '' + elm.style.fontSize;
-
- for (var i=0; i<sizes.length; i++) {
- if (('' + sizes[i]) == size) {
- size = i;
- break;
- }
- }
- }
-
- if (!selectByValue(selectElm, size))
- selectByValue(selectElm, "");
- } else
- selectByValue(selectElm, "0");
- }
- }
-
- // Handle align attributes
- alignNode = node;
- breakOut = false;
- do {
- if (!alignNode.getAttribute || !alignNode.getAttribute('align'))
- continue;
-
- switch (alignNode.getAttribute('align').toLowerCase()) {
- case "left":
- tinyMCE.switchClass(editor_id + '_justifyleft', 'mceButtonSelected');
- breakOut = true;
- break;
-
- case "right":
- tinyMCE.switchClass(editor_id + '_justifyright', 'mceButtonSelected');
- breakOut = true;
- break;
-
- case "middle":
- case "center":
- tinyMCE.switchClass(editor_id + '_justifycenter', 'mceButtonSelected');
- breakOut = true;
- break;
-
- case "justify":
- tinyMCE.switchClass(editor_id + '_justifyfull', 'mceButtonSelected');
- breakOut = true;
- break;
- }
- } while (!breakOut && (alignNode = alignNode.parentNode) != null);
-
- // Div justification
- var div = tinyMCE.getParentElement(node, "div");
- if (div && div.style.textAlign == "center")
- tinyMCE.switchClass(editor_id + '_justifycenter', 'mceButtonSelected');
-
- // Do special text
- if (!setup_content) {
- // , "JustifyLeft", "_justifyleft", "JustifyCenter", "justifycenter", "JustifyRight", "justifyright", "JustifyFull", "justifyfull", "InsertUnorderedList", "bullist", "InsertOrderedList", "numlist", "InsertUnorderedList", "bullist", "Outdent", "outdent", "Indent", "indent", "subscript", "sub"
- var ar = new Array("Bold", "_bold", "Italic", "_italic", "Strikethrough", "_strikethrough", "superscript", "_sup", "subscript", "_sub");
- for (var i=0; i<ar.length; i+=2) {
- if (inst.queryCommandState(ar[i]))
- tinyMCE.switchClass(editor_id + ar[i+1], 'mceButtonSelected');
- }
-
- if (inst.queryCommandState("Underline") && (node.parentNode == null || node.parentNode.nodeName != "A"))
- tinyMCE.switchClass(editor_id + '_underline', 'mceButtonSelected');
- }
-
- // Handle elements
- do {
- switch (node.nodeName) {
- case "UL":
- tinyMCE.switchClass(editor_id + '_bullist', 'mceButtonSelected');
- break;
-
- case "OL":
- tinyMCE.switchClass(editor_id + '_numlist', 'mceButtonSelected');
- break;
-
- case "HR":
- tinyMCE.switchClass(editor_id + '_hr', 'mceButtonSelected');
- break;
-
- case "IMG":
- if (getAttrib(node, 'name').indexOf('mce_') != 0) {
- tinyMCE.switchClass(editor_id + '_image', 'mceButtonSelected');
- }
- break;
- }
- } while ((node = node.parentNode) != null);
- },
-
- // Private theme internal functions
-
- // This function auto imports CSS classes into the class selection droplist
- _setupCSSClasses : function(editor_id) {
- var i, selectElm;
-
- if (!TinyMCE_AdvancedTheme._autoImportCSSClasses)
- return;
-
- selectElm = document.getElementById(editor_id + '_styleSelect');
-
- if (selectElm && selectElm.getAttribute('cssImported') != 'true') {
- var csses = tinyMCE.getCSSClasses(editor_id);
- if (csses && selectElm) {
- for (i=0; i<csses.length; i++)
- selectElm.options[selectElm.options.length] = new Option(csses[i], csses[i]);
- }
-
- // Only do this once
- if (csses != null && csses.length > 0)
- selectElm.setAttribute('cssImported', 'true');
- }
- },
-
- _setCookie : function(name, value, expires, path, domain, secure) {
- var curCookie = name + "=" + escape(value) +
- ((expires) ? "; expires=" + expires.toGMTString() : "") +
- ((path) ? "; path=" + escape(path) : "") +
- ((domain) ? "; domain=" + domain : "") +
- ((secure) ? "; secure" : "");
-
- document.cookie = curCookie;
- },
-
- _getCookie : function(name) {
- var dc = document.cookie;
- var prefix = name + "=";
- var begin = dc.indexOf("; " + prefix);
-
- if (begin == -1) {
- begin = dc.indexOf(prefix);
-
- if (begin != 0)
- return null;
- } else
- begin += 2;
-
- var end = document.cookie.indexOf(";", begin);
-
- if (end == -1)
- end = dc.length;
-
- return unescape(dc.substring(begin + prefix.length, end));
- },
-
- _resizeTo : function(inst, w, h, set_w) {
- var editorContainer = document.getElementById(inst.editorId + '_parent');
- var tableElm = editorContainer.firstChild;
- var iframe = inst.iframeElement;
-
- if (w == null || w == "null") {
- set_w = false;
- w = 0;
- }
-
- if (h == null || h == "null")
- return;
-
- w = parseInt(w);
- h = parseInt(h);
-
- if (tinyMCE.isGecko) {
- w += 2;
- h += 2;
- }
-
- var dx = w - tableElm.clientWidth;
- var dy = h - tableElm.clientHeight;
-
- w = w < 1 ? 30 : w;
- h = h < 1 ? 30 : h;
-
- if (set_w)
- tableElm.style.width = w + "px";
-
- tableElm.style.height = h + "px";
-
- iw = iframe.clientWidth + dx;
- ih = iframe.clientHeight + dy;
-
- iw = iw < 1 ? 30 : iw;
- ih = ih < 1 ? 30 : ih;
-
- if (tinyMCE.isGecko) {
- iw -= 2;
- ih -= 2;
- }
-
- if (set_w)
- iframe.style.width = iw + "px";
-
- iframe.style.height = ih + "px";
-
- // Is it to small, make it bigger again
- if (set_w) {
- var tableBodyElm = tableElm.firstChild;
- var minIframeWidth = tableBodyElm.scrollWidth;
- if (inst.iframeElement.clientWidth < minIframeWidth) {
- dx = minIframeWidth - inst.iframeElement.clientWidth;
-
- inst.iframeElement.style.width = (iw + dx) + "px";
- }
- }
- },
-
- /**
- * Handles resizing events.
- */
- _resizeEventHandler : function(e) {
- var resizer = TinyMCE_AdvancedTheme._resizer;
-
- // Do nothing
- if (!resizer.resizing)
- return;
-
- e = typeof(e) == "undefined" ? window.event : e;
-
- var dx = e.screenX - resizer.downX;
- var dy = e.screenY - resizer.downY;
- var resizeBox = resizer.resizeBox;
- var editorId = resizer.editorId;
-
- switch (e.type) {
- case "mousemove":
- var w, h;
-
- w = resizer.width + dx;
- h = resizer.height + dy;
-
- w = w < 1 ? 1 : w;
- h = h < 1 ? 1 : h;
-
- if (resizer.horizontal)
- resizeBox.style.width = w + "px";
-
- resizeBox.style.height = h + "px";
- break;
-
- case "mouseup":
- TinyMCE_AdvancedTheme._setResizing(e, editorId, false);
- TinyMCE_AdvancedTheme._resizeTo(tinyMCE.getInstanceById(editorId), resizer.width + dx, resizer.height + dy, resizer.horizontal);
-
- // Expire in a month
- if (tinyMCE.getParam("theme_advanced_resizing_use_cookie", true)) {
- var expires = new Date();
- expires.setTime(expires.getTime() + 3600000 * 24 * 30);
-
- // Set the cookies
- TinyMCE_AdvancedTheme._setCookie("TinyMCE_" + editorId + "_width", "" + (resizer.horizontal ? resizer.width + dx : ""), expires);
- TinyMCE_AdvancedTheme._setCookie("TinyMCE_" + editorId + "_height", "" + (resizer.height + dy), expires);
- }
- break;
- }
- },
-
- /**
- * Starts/stops the editor resizing.
- */
- _setResizing : function(e, editor_id, state) {
- e = typeof(e) == "undefined" ? window.event : e;
-
- var resizer = TinyMCE_AdvancedTheme._resizer;
- var editorContainer = document.getElementById(editor_id + '_parent');
- var editorArea = document.getElementById(editor_id + '_parent').firstChild;
- var resizeBox = document.getElementById(editor_id + '_resize_box');
- var inst = tinyMCE.getInstanceById(editor_id);
-
- if (state) {
- // Place box over editor area
- var width = editorArea.clientWidth;
- var height = editorArea.clientHeight;
-
- resizeBox.style.width = width + "px";
- resizeBox.style.height = height + "px";
-
- resizer.iframeWidth = inst.iframeElement.clientWidth;
- resizer.iframeHeight = inst.iframeElement.clientHeight;
-
- // Hide editor and show resize box
- editorArea.style.display = "none";
- resizeBox.style.display = "block";
-
- // Add event handlers, only once
- if (!resizer.eventHandlers) {
- if (tinyMCE.isMSIE)
- tinyMCE.addEvent(document, "mousemove", TinyMCE_AdvancedTheme._resizeEventHandler);
- else
- tinyMCE.addEvent(window, "mousemove", TinyMCE_AdvancedTheme._resizeEventHandler);
-
- tinyMCE.addEvent(document, "mouseup", TinyMCE_AdvancedTheme._resizeEventHandler);
-
- resizer.eventHandlers = true;
- }
-
- resizer.resizing = true;
- resizer.downX = e.screenX;
- resizer.downY = e.screenY;
- resizer.width = parseInt(resizeBox.style.width);
- resizer.height = parseInt(resizeBox.style.height);
- resizer.editorId = editor_id;
- resizer.resizeBox = resizeBox;
- resizer.horizontal = tinyMCE.getParam("theme_advanced_resize_horizontal", true);
- } else {
- resizer.resizing = false;
- resizeBox.style.display = "none";
- editorArea.style.display = tinyMCE.isMSIE && !tinyMCE.isOpera ? "block" : "table";
- tinyMCE.execCommand('mceResetDesignMode');
- }
- },
-
- _insertImage : function(src, alt, border, hspace, vspace, width, height, align, title, onmouseover, onmouseout) {
- tinyMCE.execCommand('mceBeginUndoLevel');
-
- if (src == "")
- return;
-
- if (!tinyMCE.imgElement && tinyMCE.isSafari) {
- var html = "";
-
- html += '<img src="' + src + '" alt="' + alt + '"';
- html += ' border="' + border + '" hspace="' + hspace + '"';
- html += ' vspace="' + vspace + '" width="' + width + '"';
- html += ' height="' + height + '" align="' + align + '" title="' + title + '" onmouseover="' + onmouseover + '" onmouseout="' + onmouseout + '" />';
-
- tinyMCE.execCommand("mceInsertContent", false, html);
- } else {
- if (!tinyMCE.imgElement && tinyMCE.selectedInstance) {
- if (tinyMCE.isSafari)
- tinyMCE.execCommand("mceInsertContent", false, '<img src="' + tinyMCE.uniqueURL + '" />');
- else
- tinyMCE.selectedInstance.contentDocument.execCommand("insertimage", false, tinyMCE.uniqueURL);
-
- tinyMCE.imgElement = tinyMCE.getElementByAttributeValue(tinyMCE.selectedInstance.contentDocument.body, "img", "src", tinyMCE.uniqueURL);
- }
- }
-
- if (tinyMCE.imgElement) {
- var needsRepaint = false;
- var msrc = src;
-
- src = eval(tinyMCE.settings['urlconverter_callback'] + "(src, tinyMCE.imgElement);");
-
- if (tinyMCE.getParam('convert_urls'))
- msrc = src;
-
- if (onmouseover && onmouseover != "")
- onmouseover = "this.src='" + eval(tinyMCE.settings['urlconverter_callback'] + "(onmouseover, tinyMCE.imgElement);") + "';";
-
- if (onmouseout && onmouseout != "")
- onmouseout = "this.src='" + eval(tinyMCE.settings['urlconverter_callback'] + "(onmouseout, tinyMCE.imgElement);") + "';";
-
- // Use alt as title if it's undefined
- if (typeof(title) == "undefined")
- title = alt;
-
- if (width != tinyMCE.imgElement.getAttribute("width") || height != tinyMCE.imgElement.getAttribute("height") || align != tinyMCE.imgElement.getAttribute("align"))
- needsRepaint = true;
-
- tinyMCE.setAttrib(tinyMCE.imgElement, 'src', src);
- tinyMCE.setAttrib(tinyMCE.imgElement, 'mce_src', msrc);
- tinyMCE.setAttrib(tinyMCE.imgElement, 'alt', alt);
- tinyMCE.setAttrib(tinyMCE.imgElement, 'title', title);
- tinyMCE.setAttrib(tinyMCE.imgElement, 'align', align);
- tinyMCE.setAttrib(tinyMCE.imgElement, 'border', border, true);
- tinyMCE.setAttrib(tinyMCE.imgElement, 'hspace', hspace, true);
- tinyMCE.setAttrib(tinyMCE.imgElement, 'vspace', vspace, true);
- tinyMCE.setAttrib(tinyMCE.imgElement, 'width', width, true);
- tinyMCE.setAttrib(tinyMCE.imgElement, 'height', height, true);
- tinyMCE.setAttrib(tinyMCE.imgElement, 'onmouseover', onmouseover);
- tinyMCE.setAttrib(tinyMCE.imgElement, 'onmouseout', onmouseout);
-
- // Fix for bug #989846 - Image resize bug
- if (width && width != "")
- tinyMCE.imgElement.style.pixelWidth = width;
-
- if (height && height != "")
- tinyMCE.imgElement.style.pixelHeight = height;
-
- if (needsRepaint)
- tinyMCE.selectedInstance.repaint();
- }
-
- tinyMCE.execCommand('mceEndUndoLevel');
- },
-
- _insertLink : function(href, target, title, onclick, style_class) {
- tinyMCE.execCommand('mceBeginUndoLevel');
-
- if (tinyMCE.selectedInstance && tinyMCE.selectedElement && tinyMCE.selectedElement.nodeName.toLowerCase() == "img") {
- var doc = tinyMCE.selectedInstance.getDoc();
- var linkElement = tinyMCE.getParentElement(tinyMCE.selectedElement, "a");
- var newLink = false;
-
- if (!linkElement) {
- linkElement = doc.createElement("a");
- newLink = true;
- }
-
- var mhref = href;
- var thref = eval(tinyMCE.settings['urlconverter_callback'] + "(href, linkElement);");
- mhref = tinyMCE.getParam('convert_urls') ? href : mhref;
-
- tinyMCE.setAttrib(linkElement, 'href', thref);
- tinyMCE.setAttrib(linkElement, 'mce_href', mhref);
- tinyMCE.setAttrib(linkElement, 'target', target);
- tinyMCE.setAttrib(linkElement, 'title', title);
- tinyMCE.setAttrib(linkElement, 'onclick', onclick);
- tinyMCE.setAttrib(linkElement, 'class', style_class);
-
- if (newLink) {
- linkElement.appendChild(tinyMCE.selectedElement.cloneNode(true));
- tinyMCE.selectedElement.parentNode.replaceChild(linkElement, tinyMCE.selectedElement);
- }
-
- return;
- }
-
- if (!tinyMCE.linkElement && tinyMCE.selectedInstance) {
- if (tinyMCE.isSafari) {
- tinyMCE.execCommand("mceInsertContent", false, '<a href="' + tinyMCE.uniqueURL + '">' + tinyMCE.selectedInstance.selection.getSelectedHTML() + '</a>');
- } else
- tinyMCE.selectedInstance.contentDocument.execCommand("createlink", false, tinyMCE.uniqueURL);
-
- tinyMCE.linkElement = tinyMCE.getElementByAttributeValue(tinyMCE.selectedInstance.contentDocument.body, "a", "href", tinyMCE.uniqueURL);
-
- var elementArray = tinyMCE.getElementsByAttributeValue(tinyMCE.selectedInstance.contentDocument.body, "a", "href", tinyMCE.uniqueURL);
-
- for (var i=0; i<elementArray.length; i++) {
- var mhref = href;
- var thref = eval(tinyMCE.settings['urlconverter_callback'] + "(href, elementArray[i]);");
- mhref = tinyMCE.getParam('convert_urls') ? href : mhref;
-
- tinyMCE.setAttrib(elementArray[i], 'href', thref);
- tinyMCE.setAttrib(elementArray[i], 'mce_href', mhref);
- tinyMCE.setAttrib(elementArray[i], 'target', target);
- tinyMCE.setAttrib(elementArray[i], 'title', title);
- tinyMCE.setAttrib(elementArray[i], 'onclick', onclick);
- tinyMCE.setAttrib(elementArray[i], 'class', style_class);
- }
-
- tinyMCE.linkElement = elementArray[0];
- }
-
- if (tinyMCE.linkElement) {
- var mhref = href;
- href = eval(tinyMCE.settings['urlconverter_callback'] + "(href, tinyMCE.linkElement);");
- mhref = tinyMCE.getParam('convert_urls') ? href : mhref;
-
- tinyMCE.setAttrib(tinyMCE.linkElement, 'href', href);
- tinyMCE.setAttrib(tinyMCE.linkElement, 'mce_href', mhref);
- tinyMCE.setAttrib(tinyMCE.linkElement, 'target', target);
- tinyMCE.setAttrib(tinyMCE.linkElement, 'title', title);
- tinyMCE.setAttrib(tinyMCE.linkElement, 'onclick', onclick);
- tinyMCE.setAttrib(tinyMCE.linkElement, 'class', style_class);
- }
-
- tinyMCE.execCommand('mceEndUndoLevel');
- }
-};
-
-tinyMCE.addTheme("advanced", TinyMCE_AdvancedTheme);
-
-// Add default buttons maps for advanced theme and all internal plugins
-tinyMCE.addButtonMap(TinyMCE_AdvancedTheme._buttonMap);
diff --git a/wp-inst/wp-includes/js/tinymce/themes/advanced/editor_template_src.js b/wp-inst/wp-includes/js/tinymce/themes/advanced/editor_template_src.js
deleted file mode 100644
index e69de29..0000000
--- a/wp-inst/wp-includes/js/tinymce/themes/advanced/editor_template_src.js
+++ /dev/null
diff --git a/wp-inst/wp-includes/js/tinymce/themes/advanced/image.htm b/wp-inst/wp-includes/js/tinymce/themes/advanced/image.htm
deleted file mode 100644
index 4826a8d..0000000
--- a/wp-inst/wp-includes/js/tinymce/themes/advanced/image.htm
+++ /dev/null
@@ -1,100 +0,0 @@
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
- <title>{$lang_insert_image_title}</title>
- <script language="javascript" type="text/javascript" src="../../tiny_mce_popup.js"></script>
- <script language="javascript" type="text/javascript" src="../../utils/mctabs.js"></script>
- <script language="javascript" type="text/javascript" src="../../utils/form_utils.js"></script>
- <script language="javascript" type="text/javascript" src="jscripts/image.js"></script>
- <base target="_self" />
-</head>
-<body id="image" onload="tinyMCEPopup.executeOnLoad('init();');document.body.style.display='';document.getElementById('src').focus();" style="display: none">
-<form onsubmit="insertImage();return false;" action="#">
- <div class="tabs">
- <ul>
- <li id="general_tab" class="current"><span><a href="javascript:mcTabs.displayTab('general_tab','general_panel');" onmousedown="return false;">{$lang_insert_image_title}</a></span></li>
- </ul>
- </div>
-
- <div class="panel_wrapper">
- <div id="general_panel" class="panel current">
- <table border="0" cellpadding="4" cellspacing="0">
- <tr>
- <td nowrap="nowrap"><label for="src">{$lang_insert_image_src}</label></td>
- <td><table border="0" cellspacing="0" cellpadding="0">
- <tr>
- <td><input id="src" name="src" type="text" value="" style="width: 200px" onchange="getImageData();"></td>
- <td id="srcbrowsercontainer">&nbsp;</td>
- </tr>
- </table></td>
- </tr>
- <!-- Image list -->
- <script language="javascript">
- if (typeof(tinyMCEImageList) != "undefined" && tinyMCEImageList.length > 0) {
- var html = "";
-
- html += '<tr><td><label for="image_list">{$lang_image_list}</label></td>';
- html += '<td><select id="image_list" name="image_list" style="width: 200px" onchange="this.form.src.value=this.options[this.selectedIndex].value;resetImageData();getImageData();">';
- html += '<option value="">---</option>';
-
- for (var i=0; i<tinyMCEImageList.length; i++)
- html += '<option value="' + tinyMCEImageList[i][1] + '">' + tinyMCEImageList[i][0] + '</option>';
-
- html += '</select></td></tr>';
-
- document.write(html);
- }
- </script>
- <!-- /Image list -->
- <tr>
- <td nowrap="nowrap"><label for="alt">{$lang_insert_image_alt}</label></td>
- <td><input id="alt" name="alt" type="text" value="" style="width: 200px"></td>
- </tr>
- <tr>
- <td nowrap="nowrap"><label for="align">{$lang_insert_image_align}</label></td>
- <td><select id="align" name="align">
- <option value="">{$lang_insert_image_align_default}</option>
- <option value="baseline">{$lang_insert_image_align_baseline}</option>
- <option value="top">{$lang_insert_image_align_top}</option>
- <option value="middle">{$lang_insert_image_align_middle}</option>
- <option value="bottom">{$lang_insert_image_align_bottom}</option>
- <option value="texttop">{$lang_insert_image_align_texttop}</option>
- <option value="absmiddle">{$lang_insert_image_align_absmiddle}</option>
- <option value="absbottom">{$lang_insert_image_align_absbottom}</option>
- <option value="left">{$lang_insert_image_align_left}</option>
- <option value="right">{$lang_insert_image_align_right}</option>
- </select></td>
- </tr>
- <tr>
- <td nowrap="nowrap"><label for="width">{$lang_insert_image_dimensions}</label></td>
- <td><input id="width" name="width" type="text" value="" size="4" maxlength="4">
- x
- <input id="height" name="height" type="text" value="" size="4" maxlength="4"></td>
- </tr>
- <tr>
- <td nowrap="nowrap"><label for="border">{$lang_insert_image_border}</label></td>
- <td><input id="border" name="border" type="text" value="" size="4" maxlength="4"></td>
- </tr>
- <tr>
- <td nowrap="nowrap"><label for="vspace">{$lang_insert_image_vspace}</label></td>
- <td><input id="vspace" name="vspace" type="text" value="" size="4" maxlength="4"></td>
- </tr>
- <tr>
- <td nowrap="nowrap"><label for="hspace">{$lang_insert_image_hspace}</label></td>
- <td><input id="hspace" name="hspace" type="text" value="" size="4" maxlength="4"></td>
- </tr>
- </table>
- </div>
- </div>
-
- <div class="mceActionPanel">
- <div style="float: left">
- <input type="button" id="cancel" name="cancel" value="{$lang_cancel}" onclick="tinyMCEPopup.close();" />
- </div>
-
- <div style="float: right">
- <input type="submit" id="insert" name="insert" value="{$lang_insert}" onclick="insertImage();" />
- </div>
- </div>
-</form>
-</body>
-</html>
diff --git a/wp-inst/wp-includes/js/tinymce/themes/advanced/images/anchor.gif b/wp-inst/wp-includes/js/tinymce/themes/advanced/images/anchor.gif
deleted file mode 100644
index 34ab715..0000000
--- a/wp-inst/wp-includes/js/tinymce/themes/advanced/images/anchor.gif
+++ /dev/null
Binary files differ
diff --git a/wp-inst/wp-includes/js/tinymce/themes/advanced/images/anchor_symbol.gif b/wp-inst/wp-includes/js/tinymce/themes/advanced/images/anchor_symbol.gif
deleted file mode 100644
index 2eafd79..0000000
--- a/wp-inst/wp-includes/js/tinymce/themes/advanced/images/anchor_symbol.gif
+++ /dev/null
Binary files differ
diff --git a/wp-inst/wp-includes/js/tinymce/themes/advanced/images/backcolor.gif b/wp-inst/wp-includes/js/tinymce/themes/advanced/images/backcolor.gif
deleted file mode 100644
index 8a532e5..0000000
--- a/wp-inst/wp-includes/js/tinymce/themes/advanced/images/backcolor.gif
+++ /dev/null
Binary files differ
diff --git a/wp-inst/wp-includes/js/tinymce/themes/advanced/images/bold.gif b/wp-inst/wp-includes/js/tinymce/themes/advanced/images/bold.gif
deleted file mode 100644
index d6a9cc2..0000000
--- a/wp-inst/wp-includes/js/tinymce/themes/advanced/images/bold.gif
+++ /dev/null
Binary files differ
diff --git a/wp-inst/wp-includes/js/tinymce/themes/advanced/images/bold_de_se.gif b/wp-inst/wp-includes/js/tinymce/themes/advanced/images/bold_de_se.gif
deleted file mode 100644
index 9b129de..0000000
--- a/wp-inst/wp-includes/js/tinymce/themes/advanced/images/bold_de_se.gif
+++ /dev/null
Binary files differ
diff --git a/wp-inst/wp-includes/js/tinymce/themes/advanced/images/bold_es.gif b/wp-inst/wp-includes/js/tinymce/themes/advanced/images/bold_es.gif
deleted file mode 100644
index ea341e6..0000000
--- a/wp-inst/wp-includes/js/tinymce/themes/advanced/images/bold_es.gif
+++ /dev/null
Binary files differ
diff --git a/wp-inst/wp-includes/js/tinymce/themes/advanced/images/bold_fr.gif b/wp-inst/wp-includes/js/tinymce/themes/advanced/images/bold_fr.gif
deleted file mode 100644
index 2816454..0000000
--- a/wp-inst/wp-includes/js/tinymce/themes/advanced/images/bold_fr.gif
+++ /dev/null
Binary files differ
diff --git a/wp-inst/wp-includes/js/tinymce/themes/advanced/images/bold_ru.gif b/wp-inst/wp-includes/js/tinymce/themes/advanced/images/bold_ru.gif
deleted file mode 100644
index e000d46..0000000
--- a/wp-inst/wp-includes/js/tinymce/themes/advanced/images/bold_ru.gif
+++ /dev/null
Binary files differ
diff --git a/wp-inst/wp-includes/js/tinymce/themes/advanced/images/bold_tw.gif b/wp-inst/wp-includes/js/tinymce/themes/advanced/images/bold_tw.gif
deleted file mode 100644
index 8208543..0000000
--- a/wp-inst/wp-includes/js/tinymce/themes/advanced/images/bold_tw.gif
+++ /dev/null
Binary files differ
diff --git a/wp-inst/wp-includes/js/tinymce/themes/advanced/images/browse.gif b/wp-inst/wp-includes/js/tinymce/themes/advanced/images/browse.gif
deleted file mode 100644
index c786d0b..0000000
--- a/wp-inst/wp-includes/js/tinymce/themes/advanced/images/browse.gif
+++ /dev/null
Binary files differ
diff --git a/wp-inst/wp-includes/js/tinymce/themes/advanced/images/bullist.gif b/wp-inst/wp-includes/js/tinymce/themes/advanced/images/bullist.gif
deleted file mode 100644
index 6e19467..0000000
--- a/wp-inst/wp-includes/js/tinymce/themes/advanced/images/bullist.gif
+++ /dev/null
Binary files differ
diff --git a/wp-inst/wp-includes/js/tinymce/themes/advanced/images/button_menu.gif b/wp-inst/wp-includes/js/tinymce/themes/advanced/images/button_menu.gif
deleted file mode 100644
index c3d8fa2..0000000
--- a/wp-inst/wp-includes/js/tinymce/themes/advanced/images/button_menu.gif
+++ /dev/null
Binary files differ
diff --git a/wp-inst/wp-includes/js/tinymce/themes/advanced/images/buttons.gif b/wp-inst/wp-includes/js/tinymce/themes/advanced/images/buttons.gif
deleted file mode 100644
index 6196350..0000000
--- a/wp-inst/wp-includes/js/tinymce/themes/advanced/images/buttons.gif
+++ /dev/null
Binary files differ
diff --git a/wp-inst/wp-includes/js/tinymce/themes/advanced/images/cancel_button_bg.gif b/wp-inst/wp-includes/js/tinymce/themes/advanced/images/cancel_button_bg.gif
deleted file mode 100644
index 4b4aeef..0000000
--- a/wp-inst/wp-includes/js/tinymce/themes/advanced/images/cancel_button_bg.gif
+++ /dev/null
Binary files differ
diff --git a/wp-inst/wp-includes/js/tinymce/themes/advanced/images/center.gif b/wp-inst/wp-includes/js/tinymce/themes/advanced/images/center.gif
deleted file mode 100644
index 42d609a..0000000
--- a/wp-inst/wp-includes/js/tinymce/themes/advanced/images/center.gif
+++ /dev/null
Binary files differ
diff --git a/wp-inst/wp-includes/js/tinymce/themes/advanced/images/charmap.gif b/wp-inst/wp-includes/js/tinymce/themes/advanced/images/charmap.gif
deleted file mode 100644
index 3cdc4ac..0000000
--- a/wp-inst/wp-includes/js/tinymce/themes/advanced/images/charmap.gif
+++ /dev/null
Binary files differ
diff --git a/wp-inst/wp-includes/js/tinymce/themes/advanced/images/cleanup.gif b/wp-inst/wp-includes/js/tinymce/themes/advanced/images/cleanup.gif
deleted file mode 100644
index 16491f6..0000000
--- a/wp-inst/wp-includes/js/tinymce/themes/advanced/images/cleanup.gif
+++ /dev/null
Binary files differ
diff --git a/wp-inst/wp-includes/js/tinymce/themes/advanced/images/close.gif b/wp-inst/wp-includes/js/tinymce/themes/advanced/images/close.gif
deleted file mode 100644
index 679ca2a..0000000
--- a/wp-inst/wp-includes/js/tinymce/themes/advanced/images/close.gif
+++ /dev/null
Binary files differ
diff --git a/wp-inst/wp-includes/js/tinymce/themes/advanced/images/code.gif b/wp-inst/wp-includes/js/tinymce/themes/advanced/images/code.gif
deleted file mode 100644
index c5d5a67..0000000
--- a/wp-inst/wp-includes/js/tinymce/themes/advanced/images/code.gif
+++ /dev/null
Binary files differ
diff --git a/wp-inst/wp-includes/js/tinymce/themes/advanced/images/color.gif b/wp-inst/wp-includes/js/tinymce/themes/advanced/images/color.gif
deleted file mode 100644
index 1ecd574..0000000
--- a/wp-inst/wp-includes/js/tinymce/themes/advanced/images/color.gif
+++ /dev/null
Binary files differ
diff --git a/wp-inst/wp-includes/js/tinymce/themes/advanced/images/copy.gif b/wp-inst/wp-includes/js/tinymce/themes/advanced/images/copy.gif
deleted file mode 100644
index dc14686..0000000
--- a/wp-inst/wp-includes/js/tinymce/themes/advanced/images/copy.gif
+++ /dev/null
Binary files differ
diff --git a/wp-inst/wp-includes/js/tinymce/themes/advanced/images/custom_1.gif b/wp-inst/wp-includes/js/tinymce/themes/advanced/images/custom_1.gif
deleted file mode 100644
index 4cbccda..0000000
--- a/wp-inst/wp-includes/js/tinymce/themes/advanced/images/custom_1.gif
+++ /dev/null
Binary files differ
diff --git a/wp-inst/wp-includes/js/tinymce/themes/advanced/images/cut.gif b/wp-inst/wp-includes/js/tinymce/themes/advanced/images/cut.gif
deleted file mode 100644
index 4e9a70b..0000000
--- a/wp-inst/wp-includes/js/tinymce/themes/advanced/images/cut.gif
+++ /dev/null
Binary files differ
diff --git a/wp-inst/wp-includes/js/tinymce/themes/advanced/images/forecolor.gif b/wp-inst/wp-includes/js/tinymce/themes/advanced/images/forecolor.gif
deleted file mode 100644
index d5e3814..0000000
--- a/wp-inst/wp-includes/js/tinymce/themes/advanced/images/forecolor.gif
+++ /dev/null
Binary files differ
diff --git a/wp-inst/wp-includes/js/tinymce/themes/advanced/images/full.gif b/wp-inst/wp-includes/js/tinymce/themes/advanced/images/full.gif
deleted file mode 100644
index c8504f6..0000000
--- a/wp-inst/wp-includes/js/tinymce/themes/advanced/images/full.gif
+++ /dev/null
Binary files differ
diff --git a/wp-inst/wp-includes/js/tinymce/themes/advanced/images/help.gif b/wp-inst/wp-includes/js/tinymce/themes/advanced/images/help.gif
deleted file mode 100644
index 51a1ee4..0000000
--- a/wp-inst/wp-includes/js/tinymce/themes/advanced/images/help.gif
+++ /dev/null
Binary files differ
diff --git a/wp-inst/wp-includes/js/tinymce/themes/advanced/images/hr.gif b/wp-inst/wp-includes/js/tinymce/themes/advanced/images/hr.gif
deleted file mode 100644
index 1a1ba2a..0000000
--- a/wp-inst/wp-includes/js/tinymce/themes/advanced/images/hr.gif
+++ /dev/null
Binary files differ
diff --git a/wp-inst/wp-includes/js/tinymce/themes/advanced/images/image.gif b/wp-inst/wp-includes/js/tinymce/themes/advanced/images/image.gif
deleted file mode 100644
index 4b88edd..0000000
--- a/wp-inst/wp-includes/js/tinymce/themes/advanced/images/image.gif
+++ /dev/null
Binary files differ
diff --git a/wp-inst/wp-includes/js/tinymce/themes/advanced/images/indent.gif b/wp-inst/wp-includes/js/tinymce/themes/advanced/images/indent.gif
deleted file mode 100644
index acd315b..0000000
--- a/wp-inst/wp-includes/js/tinymce/themes/advanced/images/indent.gif
+++ /dev/null
Binary files differ
diff --git a/wp-inst/wp-includes/js/tinymce/themes/advanced/images/insert_button_bg.gif b/wp-inst/wp-includes/js/tinymce/themes/advanced/images/insert_button_bg.gif
deleted file mode 100644
index 69c131c..0000000
--- a/wp-inst/wp-includes/js/tinymce/themes/advanced/images/insert_button_bg.gif
+++ /dev/null
Binary files differ
diff --git a/wp-inst/wp-includes/js/tinymce/themes/advanced/images/italic.gif b/wp-inst/wp-includes/js/tinymce/themes/advanced/images/italic.gif
deleted file mode 100644
index 8bb330b..0000000
--- a/wp-inst/wp-includes/js/tinymce/themes/advanced/images/italic.gif
+++ /dev/null
Binary files differ
diff --git a/wp-inst/wp-includes/js/tinymce/themes/advanced/images/italic_de_se.gif b/wp-inst/wp-includes/js/tinymce/themes/advanced/images/italic_de_se.gif
deleted file mode 100644
index feb0309..0000000
--- a/wp-inst/wp-includes/js/tinymce/themes/advanced/images/italic_de_se.gif
+++ /dev/null
Binary files differ
diff --git a/wp-inst/wp-includes/js/tinymce/themes/advanced/images/italic_es.gif b/wp-inst/wp-includes/js/tinymce/themes/advanced/images/italic_es.gif
deleted file mode 100644
index 4572cdb..0000000
--- a/wp-inst/wp-includes/js/tinymce/themes/advanced/images/italic_es.gif
+++ /dev/null
Binary files differ
diff --git a/wp-inst/wp-includes/js/tinymce/themes/advanced/images/italic_ru.gif b/wp-inst/wp-includes/js/tinymce/themes/advanced/images/italic_ru.gif
deleted file mode 100644
index a2bb69a..0000000
--- a/wp-inst/wp-includes/js/tinymce/themes/advanced/images/italic_ru.gif
+++ /dev/null
Binary files differ
diff --git a/wp-inst/wp-includes/js/tinymce/themes/advanced/images/italic_tw.gif b/wp-inst/wp-includes/js/tinymce/themes/advanced/images/italic_tw.gif
deleted file mode 100644
index 4f6eeaa..0000000
--- a/wp-inst/wp-includes/js/tinymce/themes/advanced/images/italic_tw.gif
+++ /dev/null
Binary files differ
diff --git a/wp-inst/wp-includes/js/tinymce/themes/advanced/images/justifycenter.gif b/wp-inst/wp-includes/js/tinymce/themes/advanced/images/justifycenter.gif
deleted file mode 100644
index 42d609a..0000000
--- a/wp-inst/wp-includes/js/tinymce/themes/advanced/images/justifycenter.gif
+++ /dev/null
Binary files differ
diff --git a/wp-inst/wp-includes/js/tinymce/themes/advanced/images/justifyfull.gif b/wp-inst/wp-includes/js/tinymce/themes/advanced/images/justifyfull.gif
deleted file mode 100644
index c8504f6..0000000
--- a/wp-inst/wp-includes/js/tinymce/themes/advanced/images/justifyfull.gif
+++ /dev/null
Binary files differ
diff --git a/wp-inst/wp-includes/js/tinymce/themes/advanced/images/justifyleft.gif b/wp-inst/wp-includes/js/tinymce/themes/advanced/images/justifyleft.gif
deleted file mode 100644
index e8f7e42..0000000
--- a/wp-inst/wp-includes/js/tinymce/themes/advanced/images/justifyleft.gif
+++ /dev/null
Binary files differ
diff --git a/wp-inst/wp-includes/js/tinymce/themes/advanced/images/justifyright.gif b/wp-inst/wp-includes/js/tinymce/themes/advanced/images/justifyright.gif
deleted file mode 100644
index e4cea97..0000000
--- a/wp-inst/wp-includes/js/tinymce/themes/advanced/images/justifyright.gif
+++ /dev/null
Binary files differ
diff --git a/wp-inst/wp-includes/js/tinymce/themes/advanced/images/left.gif b/wp-inst/wp-includes/js/tinymce/themes/advanced/images/left.gif
deleted file mode 100644
index e8f7e42..0000000
--- a/wp-inst/wp-includes/js/tinymce/themes/advanced/images/left.gif
+++ /dev/null
Binary files differ
diff --git a/wp-inst/wp-includes/js/tinymce/themes/advanced/images/link.gif b/wp-inst/wp-includes/js/tinymce/themes/advanced/images/link.gif
deleted file mode 100644
index 1accf42..0000000
--- a/wp-inst/wp-includes/js/tinymce/themes/advanced/images/link.gif
+++ /dev/null
Binary files differ
diff --git a/wp-inst/wp-includes/js/tinymce/themes/advanced/images/menu_check.gif b/wp-inst/wp-includes/js/tinymce/themes/advanced/images/menu_check.gif
deleted file mode 100644
index 50d6afd..0000000
--- a/wp-inst/wp-includes/js/tinymce/themes/advanced/images/menu_check.gif
+++ /dev/null
Binary files differ
diff --git a/wp-inst/wp-includes/js/tinymce/themes/advanced/images/newdocument.gif b/wp-inst/wp-includes/js/tinymce/themes/advanced/images/newdocument.gif
deleted file mode 100644
index a9d2938..0000000
--- a/wp-inst/wp-includes/js/tinymce/themes/advanced/images/newdocument.gif
+++ /dev/null
Binary files differ
diff --git a/wp-inst/wp-includes/js/tinymce/themes/advanced/images/numlist.gif b/wp-inst/wp-includes/js/tinymce/themes/advanced/images/numlist.gif
deleted file mode 100644
index a268352..0000000
--- a/wp-inst/wp-includes/js/tinymce/themes/advanced/images/numlist.gif
+++ /dev/null
Binary files differ
diff --git a/wp-inst/wp-includes/js/tinymce/themes/advanced/images/opacity.png b/wp-inst/wp-includes/js/tinymce/themes/advanced/images/opacity.png
deleted file mode 100644
index b4217cb..0000000
--- a/wp-inst/wp-includes/js/tinymce/themes/advanced/images/opacity.png
+++ /dev/null
Binary files differ
diff --git a/wp-inst/wp-includes/js/tinymce/themes/advanced/images/outdent.gif b/wp-inst/wp-includes/js/tinymce/themes/advanced/images/outdent.gif
deleted file mode 100644
index 23f6aa4..0000000
--- a/wp-inst/wp-includes/js/tinymce/themes/advanced/images/outdent.gif
+++ /dev/null
Binary files differ
diff --git a/wp-inst/wp-includes/js/tinymce/themes/advanced/images/paste.gif b/wp-inst/wp-includes/js/tinymce/themes/advanced/images/paste.gif
deleted file mode 100644
index 1b45000..0000000
--- a/wp-inst/wp-includes/js/tinymce/themes/advanced/images/paste.gif
+++ /dev/null
Binary files differ
diff --git a/wp-inst/wp-includes/js/tinymce/themes/advanced/images/redo.gif b/wp-inst/wp-includes/js/tinymce/themes/advanced/images/redo.gif
deleted file mode 100644
index 3af9069..0000000
--- a/wp-inst/wp-includes/js/tinymce/themes/advanced/images/redo.gif
+++ /dev/null
Binary files differ
diff --git a/wp-inst/wp-includes/js/tinymce/themes/advanced/images/removeformat.gif b/wp-inst/wp-includes/js/tinymce/themes/advanced/images/removeformat.gif
deleted file mode 100644
index 0fa3cb7..0000000
--- a/wp-inst/wp-includes/js/tinymce/themes/advanced/images/removeformat.gif
+++ /dev/null
Binary files differ
diff --git a/wp-inst/wp-includes/js/tinymce/themes/advanced/images/right.gif b/wp-inst/wp-includes/js/tinymce/themes/advanced/images/right.gif
deleted file mode 100644
index e4cea97..0000000
--- a/wp-inst/wp-includes/js/tinymce/themes/advanced/images/right.gif
+++ /dev/null
Binary files differ
diff --git a/wp-inst/wp-includes/js/tinymce/themes/advanced/images/separator.gif b/wp-inst/wp-includes/js/tinymce/themes/advanced/images/separator.gif
deleted file mode 100644
index 4f39b80..0000000
--- a/wp-inst/wp-includes/js/tinymce/themes/advanced/images/separator.gif
+++ /dev/null
Binary files differ
diff --git a/wp-inst/wp-includes/js/tinymce/themes/advanced/images/spacer.gif b/wp-inst/wp-includes/js/tinymce/themes/advanced/images/spacer.gif
deleted file mode 100644
index 3884865..0000000
--- a/wp-inst/wp-includes/js/tinymce/themes/advanced/images/spacer.gif
+++ /dev/null
Binary files differ
diff --git a/wp-inst/wp-includes/js/tinymce/themes/advanced/images/statusbar_resize.gif b/wp-inst/wp-includes/js/tinymce/themes/advanced/images/statusbar_resize.gif
deleted file mode 100644
index af89d80..0000000
--- a/wp-inst/wp-includes/js/tinymce/themes/advanced/images/statusbar_resize.gif
+++ /dev/null
Binary files differ
diff --git a/wp-inst/wp-includes/js/tinymce/themes/advanced/images/strikethrough.gif b/wp-inst/wp-includes/js/tinymce/themes/advanced/images/strikethrough.gif
deleted file mode 100644
index 3264635..0000000
--- a/wp-inst/wp-includes/js/tinymce/themes/advanced/images/strikethrough.gif
+++ /dev/null
Binary files differ
diff --git a/wp-inst/wp-includes/js/tinymce/themes/advanced/images/sub.gif b/wp-inst/wp-includes/js/tinymce/themes/advanced/images/sub.gif
deleted file mode 100644
index 4d7ce30..0000000
--- a/wp-inst/wp-includes/js/tinymce/themes/advanced/images/sub.gif
+++ /dev/null
Binary files differ
diff --git a/wp-inst/wp-includes/js/tinymce/themes/advanced/images/sup.gif b/wp-inst/wp-includes/js/tinymce/themes/advanced/images/sup.gif
deleted file mode 100644
index a7145e0..0000000
--- a/wp-inst/wp-includes/js/tinymce/themes/advanced/images/sup.gif
+++ /dev/null
Binary files differ
diff --git a/wp-inst/wp-includes/js/tinymce/themes/advanced/images/table.gif b/wp-inst/wp-includes/js/tinymce/themes/advanced/images/table.gif
deleted file mode 100644
index 2911830..0000000
--- a/wp-inst/wp-includes/js/tinymce/themes/advanced/images/table.gif
+++ /dev/null
Binary files differ
diff --git a/wp-inst/wp-includes/js/tinymce/themes/advanced/images/table_delete_col.gif b/wp-inst/wp-includes/js/tinymce/themes/advanced/images/table_delete_col.gif
deleted file mode 100644
index 91f53af..0000000
--- a/wp-inst/wp-includes/js/tinymce/themes/advanced/images/table_delete_col.gif
+++ /dev/null
Binary files differ
diff --git a/wp-inst/wp-includes/js/tinymce/themes/advanced/images/table_delete_row.gif b/wp-inst/wp-includes/js/tinymce/themes/advanced/images/table_delete_row.gif
deleted file mode 100644
index 7025733..0000000
--- a/wp-inst/wp-includes/js/tinymce/themes/advanced/images/table_delete_row.gif
+++ /dev/null
Binary files differ
diff --git a/wp-inst/wp-includes/js/tinymce/themes/advanced/images/table_insert_col_after.gif b/wp-inst/wp-includes/js/tinymce/themes/advanced/images/table_insert_col_after.gif
deleted file mode 100644
index 8505808..0000000
--- a/wp-inst/wp-includes/js/tinymce/themes/advanced/images/table_insert_col_after.gif
+++ /dev/null
Binary files differ
diff --git a/wp-inst/wp-includes/js/tinymce/themes/advanced/images/table_insert_col_before.gif b/wp-inst/wp-includes/js/tinymce/themes/advanced/images/table_insert_col_before.gif
deleted file mode 100644
index b669d4f..0000000
--- a/wp-inst/wp-includes/js/tinymce/themes/advanced/images/table_insert_col_before.gif
+++ /dev/null
Binary files differ
diff --git a/wp-inst/wp-includes/js/tinymce/themes/advanced/images/table_insert_row_after.gif b/wp-inst/wp-includes/js/tinymce/themes/advanced/images/table_insert_row_after.gif
deleted file mode 100644
index b9c1446..0000000
--- a/wp-inst/wp-includes/js/tinymce/themes/advanced/images/table_insert_row_after.gif
+++ /dev/null
Binary files differ
diff --git a/wp-inst/wp-includes/js/tinymce/themes/advanced/images/table_insert_row_before.gif b/wp-inst/wp-includes/js/tinymce/themes/advanced/images/table_insert_row_before.gif
deleted file mode 100644
index 157d373..0000000
--- a/wp-inst/wp-includes/js/tinymce/themes/advanced/images/table_insert_row_before.gif
+++ /dev/null
Binary files differ
diff --git a/wp-inst/wp-includes/js/tinymce/themes/advanced/images/underline.gif b/wp-inst/wp-includes/js/tinymce/themes/advanced/images/underline.gif
deleted file mode 100644
index 1dfeb5f..0000000
--- a/wp-inst/wp-includes/js/tinymce/themes/advanced/images/underline.gif
+++ /dev/null
Binary files differ
diff --git a/wp-inst/wp-includes/js/tinymce/themes/advanced/images/underline_es.gif b/wp-inst/wp-includes/js/tinymce/themes/advanced/images/underline_es.gif
deleted file mode 100644
index 551d914..0000000
--- a/wp-inst/wp-includes/js/tinymce/themes/advanced/images/underline_es.gif
+++ /dev/null
Binary files differ
diff --git a/wp-inst/wp-includes/js/tinymce/themes/advanced/images/underline_fr.gif b/wp-inst/wp-includes/js/tinymce/themes/advanced/images/underline_fr.gif
deleted file mode 100644
index 551d914..0000000
--- a/wp-inst/wp-includes/js/tinymce/themes/advanced/images/underline_fr.gif
+++ /dev/null
Binary files differ
diff --git a/wp-inst/wp-includes/js/tinymce/themes/advanced/images/underline_ru.gif b/wp-inst/wp-includes/js/tinymce/themes/advanced/images/underline_ru.gif
deleted file mode 100644
index b78e2a4..0000000
--- a/wp-inst/wp-includes/js/tinymce/themes/advanced/images/underline_ru.gif
+++ /dev/null
Binary files differ
diff --git a/wp-inst/wp-includes/js/tinymce/themes/advanced/images/underline_tw.gif b/wp-inst/wp-includes/js/tinymce/themes/advanced/images/underline_tw.gif
deleted file mode 100644
index b715390..0000000
--- a/wp-inst/wp-includes/js/tinymce/themes/advanced/images/underline_tw.gif
+++ /dev/null
Binary files differ
diff --git a/wp-inst/wp-includes/js/tinymce/themes/advanced/images/undo.gif b/wp-inst/wp-includes/js/tinymce/themes/advanced/images/undo.gif
deleted file mode 100644
index 520796d..0000000
--- a/wp-inst/wp-includes/js/tinymce/themes/advanced/images/undo.gif
+++ /dev/null
Binary files differ
diff --git a/wp-inst/wp-includes/js/tinymce/themes/advanced/images/unlink.gif b/wp-inst/wp-includes/js/tinymce/themes/advanced/images/unlink.gif
deleted file mode 100644
index 5c8a33d..0000000
--- a/wp-inst/wp-includes/js/tinymce/themes/advanced/images/unlink.gif
+++ /dev/null
Binary files differ
diff --git a/wp-inst/wp-includes/js/tinymce/themes/advanced/images/visualaid.gif b/wp-inst/wp-includes/js/tinymce/themes/advanced/images/visualaid.gif
deleted file mode 100644
index 63caf18..0000000
--- a/wp-inst/wp-includes/js/tinymce/themes/advanced/images/visualaid.gif
+++ /dev/null
Binary files differ
diff --git a/wp-inst/wp-includes/js/tinymce/themes/advanced/images/xp/tab_bg.gif b/wp-inst/wp-includes/js/tinymce/themes/advanced/images/xp/tab_bg.gif
deleted file mode 100644
index 897a01f..0000000
--- a/wp-inst/wp-includes/js/tinymce/themes/advanced/images/xp/tab_bg.gif
+++ /dev/null
Binary files differ
diff --git a/wp-inst/wp-includes/js/tinymce/themes/advanced/images/xp/tab_end.gif b/wp-inst/wp-includes/js/tinymce/themes/advanced/images/xp/tab_end.gif
deleted file mode 100644
index aee442b..0000000
--- a/wp-inst/wp-includes/js/tinymce/themes/advanced/images/xp/tab_end.gif
+++ /dev/null
Binary files differ
diff --git a/wp-inst/wp-includes/js/tinymce/themes/advanced/images/xp/tab_sel_bg.gif b/wp-inst/wp-includes/js/tinymce/themes/advanced/images/xp/tab_sel_bg.gif
deleted file mode 100644
index 9dc8abe..0000000
--- a/wp-inst/wp-includes/js/tinymce/themes/advanced/images/xp/tab_sel_bg.gif
+++ /dev/null
Binary files differ
diff --git a/wp-inst/wp-includes/js/tinymce/themes/advanced/images/xp/tab_sel_end.gif b/wp-inst/wp-includes/js/tinymce/themes/advanced/images/xp/tab_sel_end.gif
deleted file mode 100644
index 616a889..0000000
--- a/wp-inst/wp-includes/js/tinymce/themes/advanced/images/xp/tab_sel_end.gif
+++ /dev/null
Binary files differ
diff --git a/wp-inst/wp-includes/js/tinymce/themes/advanced/images/xp/tabs_bg.gif b/wp-inst/wp-includes/js/tinymce/themes/advanced/images/xp/tabs_bg.gif
deleted file mode 100644
index c303f66..0000000
--- a/wp-inst/wp-includes/js/tinymce/themes/advanced/images/xp/tabs_bg.gif
+++ /dev/null
Binary files differ
diff --git a/wp-inst/wp-includes/js/tinymce/themes/advanced/jscripts/about.js b/wp-inst/wp-includes/js/tinymce/themes/advanced/jscripts/about.js
deleted file mode 100644
index f60e6f6..0000000
--- a/wp-inst/wp-includes/js/tinymce/themes/advanced/jscripts/about.js
+++ /dev/null
@@ -1,75 +0,0 @@
-function init() {
- var inst;
-
- tinyMCEPopup.resizeToInnerSize();
- inst = tinyMCE.selectedInstance;
-
- // Give FF some time
- window.setTimeout('insertHelpIFrame();', 10);
-
- var tcont = document.getElementById('plugintablecontainer');
- var plugins = tinyMCE.getParam('plugins', '', true, ',');
- if (plugins.length == 0)
- document.getElementById('plugins_tab').style.display = 'none';
-
- var html = "";
- html += '<table id="plugintable">';
- html += '<thead>';
- html += '<tr>';
- html += '<td>' + tinyMCE.getLang('lang_plugin') + '</td>';
- html += '<td>' + tinyMCE.getLang('lang_author') + '</td>';
- html += '<td>' + tinyMCE.getLang('lang_version') + '</td>';
- html += '</tr>';
- html += '</thead>';
- html += '<tbody>';
-
- for (var i=0; i<inst.plugins.length; i++) {
- var info = getPluginInfo(inst.plugins[i]);
-
- html += '<tr>';
-
- if (info.infourl != null && info.infourl != '')
- html += '<td width="50%" title="' + plugins[i] + '"><a href="' + info.infourl + '" target="mceplugin">' + info.longname + '</a></td>';
- else
- html += '<td width="50%" title="' + plugins[i] + '">' + info.longname + '</td>';
-
- if (info.authorurl != null && info.authorurl != '')
- html += '<td width="35%"><a href="' + info.authorurl + '" target="mceplugin">' + info.author + '</a></td>';
- else
- html += '<td width="35%">' + info.author + '</td>';
-
- html += '<td width="15%">' + info.version + '</td>';
- html += '</tr>';
- }
-
- html += '</tbody>';
- html += '</table>';
-
- tcont.innerHTML = html;
-}
-
-function getPluginInfo(name) {
- if (tinyMCE.plugins[name].getInfo)
- return tinyMCE.plugins[name].getInfo();
-
- return {
- longname : name,
- authorurl : '',
- infourl : '',
- author : '--',
- version : '--'
- };
-}
-
-function insertHelpIFrame() {
- var html = '<iframe width="100%" height="300" src="' + tinyMCE.themeURL + "/docs/" + tinyMCE.settings['docs_language'] + "/index.htm" + '"></iframe>';
-
- document.getElementById('iframecontainer').innerHTML = html;
-
- html = '';
- html += '<a href="http://www.moxiecode.com" target="_blank"><img src="http://tinymce.moxiecode.com/images/gotmoxie.png" alt="Got Moxie?" border="0" /></a> ';
- html += '<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> ';
- html += '<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> ';
-
- document.getElementById('buttoncontainer').innerHTML = html;
-}
diff --git a/wp-inst/wp-includes/js/tinymce/themes/advanced/jscripts/anchor.js b/wp-inst/wp-includes/js/tinymce/themes/advanced/jscripts/anchor.js
deleted file mode 100644
index f2e5d48..0000000
--- a/wp-inst/wp-includes/js/tinymce/themes/advanced/jscripts/anchor.js
+++ /dev/null
@@ -1,74 +0,0 @@
-var action, element;
-
-function init() {
- tinyMCEPopup.resizeToInnerSize();
-
- var inst = tinyMCE.getInstanceById(tinyMCE.getWindowArg('editor_id'));
- var anchor = tinyMCE.getParentElement(inst.getFocusElement(), "a", "name");
- var img = inst.getFocusElement();
- action = 'insert';
-
- if (anchor != null) {
- element = anchor;
- action = "update";
- }
-
- if (tinyMCE.getAttrib(img, "class") == "mceItemAnchor") {
- element = img;
- action = "update";
- }
-
- if (action == "update")
- document.forms[0].anchorName.value = element.nodeName == "IMG" ? element.getAttribute("title") : element.getAttribute("name");
-
- document.forms[0].insert.value = tinyMCE.getLang('lang_' + action, 'Insert', true);
-}
-
-function insertAnchor() {
- var inst = tinyMCE.getInstanceById(tinyMCE.getWindowArg('editor_id'));
- var name = document.forms[0].anchorName.value, e;
-
- tinyMCEPopup.execCommand("mceBeginUndoLevel");
-
- if (action == "update") {
- if (element.nodeName == "IMG")
- element.setAttribute("title", name);
- else
- element.setAttribute("name", name);
- } else {
- var rng = inst.getRng();
-
- if (rng.collapse)
- rng.collapse(false);
-
- name = name.replace(/&/g, '&amp;');
- name = name.replace(/\"/g, '&quot;');
- name = name.replace(/</g, '&lt;');
- name = name.replace(/>/g, '&gt;');
-
- // Fix for bug #1447335
- if (tinyMCE.isGecko)
- html = '<a id="mceNewAnchor" name="' + name + '"></a>';
- else
- html = '<a name="' + name + '"></a>';
-
- tinyMCEPopup.execCommand("mceInsertContent", false, html);
-
- // Fix for bug #1447335 force cursor after the anchor element
- if (tinyMCE.isGecko) {
- e = inst.getDoc().getElementById('mceNewAnchor');
-
- if (e) {
- inst.selection.selectNode(e, true, false, false);
- e.removeAttribute('id');
- }
- }
-
- tinyMCE.handleVisualAid(inst.getBody(), true, inst.visualAid, inst);
- }
-
- tinyMCEPopup.execCommand("mceEndUndoLevel");
-
- tinyMCE.triggerNodeChange();
- tinyMCEPopup.close();
-}
diff --git a/wp-inst/wp-includes/js/tinymce/themes/advanced/jscripts/charmap.js b/wp-inst/wp-includes/js/tinymce/themes/advanced/jscripts/charmap.js
deleted file mode 100644
index c4ec326..0000000
--- a/wp-inst/wp-includes/js/tinymce/themes/advanced/jscripts/charmap.js
+++ /dev/null
@@ -1,326 +0,0 @@
-function init() {
- tinyMCEPopup.resizeToInnerSize();
-}
-
-var charmap = new Array();
-
-// for mor details please see w3c.org
-// now here is the complete list ;)
-
-charmap = [
- ['&nbsp;', '&#160;', true, 'no-break space'],
- ['&amp;', '&#38;', true, 'ampersand'],
- ['&quot;', '&#34;', true, 'quotation mark'],
-// finance
- ['&cent;', '&#162;', true, 'cent sign'],
- ['&euro;', '&#8364;', true, 'euro sign'],
- ['&pound;', '&#163;', true, 'pound sign'],
- ['&yen;', '&#165;', true, 'yen sign'],
-// signs
- ['&copy;', '&#169;', true, 'copyright sign'],
- ['&reg;', '&#174;', true, 'registered sign'],
- ['&trade;', '&#8482;', true, 'trade mark sign'],
- ['&permil;', '&#8240;', true, 'per mille sign'],
- ['&micro;', '&#181;', true, 'micro sign'],
- ['&middot;', '&#183;', true, 'middle dot'],
- ['&bull;', '&#8226;', true, 'bullet'],
- ['&hellip;', '&#8230;', true, 'three dot leader'],
- ['&prime;', '&#8242;', true, 'minutes / feet'],
- ['&Prime;', '&#8243;', true, 'seconds / inches'],
- ['&sect;', '&#167;', true, 'section sign'],
- ['&para;', '&#182;', true, 'paragraph sign'],
- ['&szlig;', '&#223;', true, 'sharp s / ess-zed'],
-// quotations
- ['&lsaquo;', '&#8249;', true, 'single left-pointing angle quotation mark'],
- ['&rsaquo;', '&#8250;', true, 'single right-pointing angle quotation mark'],
- ['&laquo;', '&#171;', true, 'left pointing guillemet'],
- ['&raquo;', '&#187;', true, 'right pointing guillemet'],
- ['&lsquo;', '&#8216;', true, 'left single quotation mark'],
- ['&rsquo;', '&#8217;', true, 'right single quotation mark'],
- ['&ldquo;', '&#8220;', true, 'left double quotation mark'],
- ['&rdquo;', '&#8221;', true, 'right double quotation mark'],
- ['&sbquo;', '&#8218;', true, 'single low-9 quotation mark'],
- ['&bdquo;', '&#8222;', true, 'double low-9 quotation mark'],
- ['&lt;', '&#60;', true, 'less-than sign'],
- ['&gt;', '&#62;', true, 'greater-than sign'],
- ['&le;', '&#8804;', true, 'less-than or equal to'],
- ['&ge;', '&#8805;', true, 'greater-than or equal to'],
- ['&ndash;', '&#8211;', true, 'en dash'],
- ['&mdash;', '&#8212;', true, 'em dash'],
- ['&macr;', '&#175;', true, 'macron'],
- ['&oline;', '&#8254;', true, 'overline'],
- ['&curren;', '&#164;', true, 'currency sign'],
- ['&brvbar;', '&#166;', true, 'broken bar'],
- ['&uml;', '&#168;', true, 'diaeresis'],
- ['&iexcl;', '&#161;', true, 'inverted exclamation mark'],
- ['&iquest;', '&#191;', true, 'turned question mark'],
- ['&circ;', '&#710;', true, 'circumflex accent'],
- ['&tilde;', '&#732;', true, 'small tilde'],
- ['&deg;', '&#176;', true, 'degree sign'],
- ['&minus;', '&#8722;', true, 'minus sign'],
- ['&plusmn;', '&#177;', true, 'plus-minus sign'],
- ['&divide;', '&#247;', true, 'division sign'],
- ['&frasl;', '&#8260;', true, 'fraction slash'],
- ['&times;', '&#215;', true, 'multiplication sign'],
- ['&sup1;', '&#185;', true, 'superscript one'],
- ['&sup2;', '&#178;', true, 'superscript two'],
- ['&sup3;', '&#179;', true, 'superscript three'],
- ['&frac14;', '&#188;', true, 'fraction one quarter'],
- ['&frac12;', '&#189;', true, 'fraction one half'],
- ['&frac34;', '&#190;', true, 'fraction three quarters'],
-// math / logical
- ['&fnof;', '&#402;', true, 'function / florin'],
- ['&int;', '&#8747;', true, 'integral'],
- ['&sum;', '&#8721;', true, 'n-ary sumation'],
- ['&infin;', '&#8734;', true, 'infinity'],
- ['&radic;', '&#8730;', true, 'square root'],
- ['&sim;', '&#8764;', false,'similar to'],
- ['&cong;', '&#8773;', false,'approximately equal to'],
- ['&asymp;', '&#8776;', true, 'almost equal to'],
- ['&ne;', '&#8800;', true, 'not equal to'],
- ['&equiv;', '&#8801;', true, 'identical to'],
- ['&isin;', '&#8712;', false,'element of'],
- ['&notin;', '&#8713;', false,'not an element of'],
- ['&ni;', '&#8715;', false,'contains as member'],
- ['&prod;', '&#8719;', true, 'n-ary product'],
- ['&and;', '&#8743;', false,'logical and'],
- ['&or;', '&#8744;', false,'logical or'],
- ['&not;', '&#172;', true, 'not sign'],
- ['&cap;', '&#8745;', true, 'intersection'],
- ['&cup;', '&#8746;', false,'union'],
- ['&part;', '&#8706;', true, 'partial differential'],
- ['&forall;', '&#8704;', false,'for all'],
- ['&exist;', '&#8707;', false,'there exists'],
- ['&empty;', '&#8709;', false,'diameter'],
- ['&nabla;', '&#8711;', false,'backward difference'],
- ['&lowast;', '&#8727;', false,'asterisk operator'],
- ['&prop;', '&#8733;', false,'proportional to'],
- ['&ang;', '&#8736;', false,'angle'],
-// undefined
- ['&acute;', '&#180;', true, 'acute accent'],
- ['&cedil;', '&#184;', true, 'cedilla'],
- ['&ordf;', '&#170;', true, 'feminine ordinal indicator'],
- ['&ordm;', '&#186;', true, 'masculine ordinal indicator'],
- ['&dagger;', '&#8224;', true, 'dagger'],
- ['&Dagger;', '&#8225;', true, 'double dagger'],
-// alphabetical special chars
- ['&Agrave;', '&#192;', true, 'A - grave'],
- ['&Aacute;', '&#193;', true, 'A - acute'],
- ['&Acirc;', '&#194;', true, 'A - circumflex'],
- ['&Atilde;', '&#195;', true, 'A - tilde'],
- ['&Auml;', '&#196;', true, 'A - diaeresis'],
- ['&Aring;', '&#197;', true, 'A - ring above'],
- ['&AElig;', '&#198;', true, 'ligature AE'],
- ['&Ccedil;', '&#199;', true, 'C - cedilla'],
- ['&Egrave;', '&#200;', true, 'E - grave'],
- ['&Eacute;', '&#201;', true, 'E - acute'],
- ['&Ecirc;', '&#202;', true, 'E - circumflex'],
- ['&Euml;', '&#203;', true, 'E - diaeresis'],
- ['&Igrave;', '&#204;', true, 'I - grave'],
- ['&Iacute;', '&#205;', true, 'I - acute'],
- ['&Icirc;', '&#206;', true, 'I - circumflex'],
- ['&Iuml;', '&#207;', true, 'I - diaeresis'],
- ['&ETH;', '&#208;', true, 'ETH'],
- ['&Ntilde;', '&#209;', true, 'N - tilde'],
- ['&Ograve;', '&#210;', true, 'O - grave'],
- ['&Oacute;', '&#211;', true, 'O - acute'],
- ['&Ocirc;', '&#212;', true, 'O - circumflex'],
- ['&Otilde;', '&#213;', true, 'O - tilde'],
- ['&Ouml;', '&#214;', true, 'O - diaeresis'],
- ['&Oslash;', '&#216;', true, 'O - slash'],
- ['&OElig;', '&#338;', true, 'ligature OE'],
- ['&Scaron;', '&#352;', true, 'S - caron'],
- ['&Ugrave;', '&#217;', true, 'U - grave'],
- ['&Uacute;', '&#218;', true, 'U - acute'],
- ['&Ucirc;', '&#219;', true, 'U - circumflex'],
- ['&Uuml;', '&#220;', true, 'U - diaeresis'],
- ['&Yacute;', '&#221;', true, 'Y - acute'],
- ['&Yuml;', '&#376;', true, 'Y - diaeresis'],
- ['&THORN;', '&#222;', true, 'THORN'],
- ['&agrave;', '&#224;', true, 'a - grave'],
- ['&aacute;', '&#225;', true, 'a - acute'],
- ['&acirc;', '&#226;', true, 'a - circumflex'],
- ['&atilde;', '&#227;', true, 'a - tilde'],
- ['&auml;', '&#228;', true, 'a - diaeresis'],
- ['&aring;', '&#229;', true, 'a - ring above'],
- ['&aelig;', '&#230;', true, 'ligature ae'],
- ['&ccedil;', '&#231;', true, 'c - cedilla'],
- ['&egrave;', '&#232;', true, 'e - grave'],
- ['&eacute;', '&#233;', true, 'e - acute'],
- ['&ecirc;', '&#234;', true, 'e - circumflex'],
- ['&euml;', '&#235;', true, 'e - diaeresis'],
- ['&igrave;', '&#236;', true, 'i - grave'],
- ['&iacute;', '&#237;', true, 'i - acute'],
- ['&icirc;', '&#238;', true, 'i - circumflex'],
- ['&iuml;', '&#239;', true, 'i - diaeresis'],
- ['&eth;', '&#240;', true, 'eth'],
- ['&ntilde;', '&#241;', true, 'n - tilde'],
- ['&ograve;', '&#242;', true, 'o - grave'],
- ['&oacute;', '&#243;', true, 'o - acute'],
- ['&ocirc;', '&#244;', true, 'o - circumflex'],
- ['&otilde;', '&#245;', true, 'o - tilde'],
- ['&ouml;', '&#246;', true, 'o - diaeresis'],
- ['&oslash;', '&#248;', true, 'o slash'],
- ['&oelig;', '&#339;', true, 'ligature oe'],
- ['&scaron;', '&#353;', true, 's - caron'],
- ['&ugrave;', '&#249;', true, 'u - grave'],
- ['&uacute;', '&#250;', true, 'u - acute'],
- ['&ucirc;', '&#251;', true, 'u - circumflex'],
- ['&uuml;', '&#252;', true, 'u - diaeresis'],
- ['&yacute;', '&#253;', true, 'y - acute'],
- ['&thorn;', '&#254;', true, 'thorn'],
- ['&yuml;', '&#255;', true, 'y - diaeresis'],
- ['&Alpha;', '&#913;', true, 'Alpha'],
- ['&Beta;', '&#914;', true, 'Beta'],
- ['&Gamma;', '&#915;', true, 'Gamma'],
- ['&Delta;', '&#916;', true, 'Delta'],
- ['&Epsilon;', '&#917;', true, 'Epsilon'],
- ['&Zeta;', '&#918;', true, 'Zeta'],
- ['&Eta;', '&#919;', true, 'Eta'],
- ['&Theta;', '&#920;', true, 'Theta'],
- ['&Iota;', '&#921;', true, 'Iota'],
- ['&Kappa;', '&#922;', true, 'Kappa'],
- ['&Lambda;', '&#923;', true, 'Lambda'],
- ['&Mu;', '&#924;', true, 'Mu'],
- ['&Nu;', '&#925;', true, 'Nu'],
- ['&Xi;', '&#926;', true, 'Xi'],
- ['&Omicron;', '&#927;', true, 'Omicron'],
- ['&Pi;', '&#928;', true, 'Pi'],
- ['&Rho;', '&#929;', true, 'Rho'],
- ['&Sigma;', '&#931;', true, 'Sigma'],
- ['&Tau;', '&#932;', true, 'Tau'],
- ['&Upsilon;', '&#933;', true, 'Upsilon'],
- ['&Phi;', '&#934;', true, 'Phi'],
- ['&Chi;', '&#935;', true, 'Chi'],
- ['&Psi;', '&#936;', true, 'Psi'],
- ['&Omega;', '&#937;', true, 'Omega'],
- ['&alpha;', '&#945;', true, 'alpha'],
- ['&beta;', '&#946;', true, 'beta'],
- ['&gamma;', '&#947;', true, 'gamma'],
- ['&delta;', '&#948;', true, 'delta'],
- ['&epsilon;', '&#949;', true, 'epsilon'],
- ['&zeta;', '&#950;', true, 'zeta'],
- ['&eta;', '&#951;', true, 'eta'],
- ['&theta;', '&#952;', true, 'theta'],
- ['&iota;', '&#953;', true, 'iota'],
- ['&kappa;', '&#954;', true, 'kappa'],
- ['&lambda;', '&#955;', true, 'lambda'],
- ['&mu;', '&#956;', true, 'mu'],
- ['&nu;', '&#957;', true, 'nu'],
- ['&xi;', '&#958;', true, 'xi'],
- ['&omicron;', '&#959;', true, 'omicron'],
- ['&pi;', '&#960;', true, 'pi'],
- ['&rho;', '&#961;', true, 'rho'],
- ['&sigmaf;', '&#962;', true, 'final sigma'],
- ['&sigma;', '&#963;', true, 'sigma'],
- ['&tau;', '&#964;', true, 'tau'],
- ['&upsilon;', '&#965;', true, 'upsilon'],
- ['&phi;', '&#966;', true, 'phi'],
- ['&chi;', '&#967;', true, 'chi'],
- ['&psi;', '&#968;', true, 'psi'],
- ['&omega;', '&#969;', true, 'omega'],
-// symbols
- ['&alefsym;', '&#8501;', false,'alef symbol'],
- ['&piv;', '&#982;', false,'pi symbol'],
- ['&real;', '&#8476;', false,'real part symbol'],
- ['&thetasym;','&#977;', false,'theta symbol'],
- ['&upsih;', '&#978;', false,'upsilon - hook symbol'],
- ['&weierp;', '&#8472;', false,'Weierstrass p'],
- ['&image;', '&#8465;', false,'imaginary part'],
-// arrows
- ['&larr;', '&#8592;', true, 'leftwards arrow'],
- ['&uarr;', '&#8593;', true, 'upwards arrow'],
- ['&rarr;', '&#8594;', true, 'rightwards arrow'],
- ['&darr;', '&#8595;', true, 'downwards arrow'],
- ['&harr;', '&#8596;', true, 'left right arrow'],
- ['&crarr;', '&#8629;', false,'carriage return'],
- ['&lArr;', '&#8656;', false,'leftwards double arrow'],
- ['&uArr;', '&#8657;', false,'upwards double arrow'],
- ['&rArr;', '&#8658;', false,'rightwards double arrow'],
- ['&dArr;', '&#8659;', false,'downwards double arrow'],
- ['&hArr;', '&#8660;', false,'left right double arrow'],
- ['&there4;', '&#8756;', false,'therefore'],
- ['&sub;', '&#8834;', false,'subset of'],
- ['&sup;', '&#8835;', false,'superset of'],
- ['&nsub;', '&#8836;', false,'not a subset of'],
- ['&sube;', '&#8838;', false,'subset of or equal to'],
- ['&supe;', '&#8839;', false,'superset of or equal to'],
- ['&oplus;', '&#8853;', false,'circled plus'],
- ['&otimes;', '&#8855;', false,'circled times'],
- ['&perp;', '&#8869;', false,'perpendicular'],
- ['&sdot;', '&#8901;', false,'dot operator'],
- ['&lceil;', '&#8968;', false,'left ceiling'],
- ['&rceil;', '&#8969;', false,'right ceiling'],
- ['&lfloor;', '&#8970;', false,'left floor'],
- ['&rfloor;', '&#8971;', false,'right floor'],
- ['&lang;', '&#9001;', false,'left-pointing angle bracket'],
- ['&rang;', '&#9002;', false,'right-pointing angle bracket'],
- ['&loz;', '&#9674;', true,'lozenge'],
- ['&spades;', '&#9824;', false,'black spade suit'],
- ['&clubs;', '&#9827;', true, 'black club suit'],
- ['&hearts;', '&#9829;', true, 'black heart suit'],
- ['&diams;', '&#9830;', true, 'black diamond suit'],
- ['&ensp;', '&#8194;', false,'en space'],
- ['&emsp;', '&#8195;', false,'em space'],
- ['&thinsp;', '&#8201;', false,'thin space'],
- ['&zwnj;', '&#8204;', false,'zero width non-joiner'],
- ['&zwj;', '&#8205;', false,'zero width joiner'],
- ['&lrm;', '&#8206;', false,'left-to-right mark'],
- ['&rlm;', '&#8207;', false,'right-to-left mark'],
- ['&shy;', '&#173;', false,'soft hyphen']
-];
-
-function renderCharMapHTML() {
- var charsPerRow = 20, tdWidth=20, tdHeight=20;
- var html = '<table border="0" cellspacing="1" cellpadding="0" width="' + (tdWidth*charsPerRow) + '"><tr height="' + tdHeight + '">';
- var cols=-1;
- for (var i=0; i<charmap.length; i++) {
- if (charmap[i][2]==true) {
- cols++;
- html += ''
- + '<td width="' + tdWidth + '" height="' + tdHeight + '" class="charmap"'
- + ' onmouseover="this.className=\'charmapOver\';'
- + 'previewChar(\'' + charmap[i][1].substring(1,charmap[i][1].length) + '\',\'' + charmap[i][0].substring(1,charmap[i][0].length) + '\',\'' + charmap[i][3] + '\');"'
- + ' onmouseout="this.className=\'charmap\';"'
- + ' nowrap="nowrap" onclick="insertChar(\'' + charmap[i][1].substring(2,charmap[i][1].length-1) + '\');"><a style="text-decoration: none;" 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: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)
- html += '</tr><tr height="' + tdHeight + '">';
- }
- }
- if (cols % charsPerRow > 0) {
- var padd = charsPerRow - (cols % charsPerRow);
- for (var i=0; i<padd-1; i++)
- html += '<td width="' + tdWidth + '" height="' + tdHeight + '" class="charmap">&nbsp;</td>';
- }
- html += '</tr></table>';
- document.write(html);
-}
-
-function insertChar(chr) {
- tinyMCEPopup.execCommand('mceInsertContent', false, '&#' + chr + ';');
-
- // Refocus in window
- if (tinyMCEPopup.isWindow)
- window.focus();
-
- tinyMCEPopup.close();
-}
-
-function previewChar(codeA, codeB, codeN) {
- var elmA = document.getElementById('codeA');
- var elmB = document.getElementById('codeB');
- var elmV = document.getElementById('codeV');
- var elmN = document.getElementById('codeN');
-
- if (codeA=='#160;') {
- elmV.innerHTML = '__';
- } else {
- elmV.innerHTML = '&' + codeA;
- }
-
- elmB.innerHTML = '&amp;' + codeA;
- elmA.innerHTML = '&amp;' + codeB;
- elmN.innerHTML = codeN;
-}
diff --git a/wp-inst/wp-includes/js/tinymce/themes/advanced/jscripts/color_picker.js b/wp-inst/wp-includes/js/tinymce/themes/advanced/jscripts/color_picker.js
deleted file mode 100644
index aa80714..0000000
--- a/wp-inst/wp-includes/js/tinymce/themes/advanced/jscripts/color_picker.js
+++ /dev/null
@@ -1,108 +0,0 @@
-function init() {
- if (tinyMCE.isMSIE)
- tinyMCEPopup.resizeToInnerSize();
-}
-
-function selectColor() {
- var color = document.getElementById("selectedColorBox").value;
-
- tinyMCEPopup.execCommand(tinyMCE.getWindowArg('command'), false, color);
- tinyMCEPopup.close();
-}
-
-function showColor(color) {
- document.getElementById("selectedColor").style.backgroundColor = color;
- document.getElementById("selectedColorBox").value = color;
-}
-
-var colors = new Array(
- "#000000","#000033","#000066","#000099","#0000cc","#0000ff","#330000","#330033",
- "#330066","#330099","#3300cc","#3300ff","#660000","#660033","#660066","#660099",
- "#6600cc","#6600ff","#990000","#990033","#990066","#990099","#9900cc","#9900ff",
- "#cc0000","#cc0033","#cc0066","#cc0099","#cc00cc","#cc00ff","#ff0000","#ff0033",
- "#ff0066","#ff0099","#ff00cc","#ff00ff","#003300","#003333","#003366","#003399",
- "#0033cc","#0033ff","#333300","#333333","#333366","#333399","#3333cc","#3333ff",
- "#663300","#663333","#663366","#663399","#6633cc","#6633ff","#993300","#993333",
- "#993366","#993399","#9933cc","#9933ff","#cc3300","#cc3333","#cc3366","#cc3399",
- "#cc33cc","#cc33ff","#ff3300","#ff3333","#ff3366","#ff3399","#ff33cc","#ff33ff",
- "#006600","#006633","#006666","#006699","#0066cc","#0066ff","#336600","#336633",
- "#336666","#336699","#3366cc","#3366ff","#666600","#666633","#666666","#666699",
- "#6666cc","#6666ff","#996600","#996633","#996666","#996699","#9966cc","#9966ff",
- "#cc6600","#cc6633","#cc6666","#cc6699","#cc66cc","#cc66ff","#ff6600","#ff6633",
- "#ff6666","#ff6699","#ff66cc","#ff66ff","#009900","#009933","#009966","#009999",
- "#0099cc","#0099ff","#339900","#339933","#339966","#339999","#3399cc","#3399ff",
- "#669900","#669933","#669966","#669999","#6699cc","#6699ff","#999900","#999933",
- "#999966","#999999","#9999cc","#9999ff","#cc9900","#cc9933","#cc9966","#cc9999",
- "#cc99cc","#cc99ff","#ff9900","#ff9933","#ff9966","#ff9999","#ff99cc","#ff99ff",
- "#00cc00","#00cc33","#00cc66","#00cc99","#00cccc","#00ccff","#33cc00","#33cc33",
- "#33cc66","#33cc99","#33cccc","#33ccff","#66cc00","#66cc33","#66cc66","#66cc99",
- "#66cccc","#66ccff","#99cc00","#99cc33","#99cc66","#99cc99","#99cccc","#99ccff",
- "#cccc00","#cccc33","#cccc66","#cccc99","#cccccc","#ccccff","#ffcc00","#ffcc33",
- "#ffcc66","#ffcc99","#ffcccc","#ffccff","#00ff00","#00ff33","#00ff66","#00ff99",
- "#00ffcc","#00ffff","#33ff00","#33ff33","#33ff66","#33ff99","#33ffcc","#33ffff",
- "#66ff00","#66ff33","#66ff66","#66ff99","#66ffcc","#66ffff","#99ff00","#99ff33",
- "#99ff66","#99ff99","#99ffcc","#99ffff","#ccff00","#ccff33","#ccff66","#ccff99",
- "#ccffcc","#ccffff","#ffff00","#ffff33","#ffff66","#ffff99","#ffffcc","#ffffff"
-);
-
-function convertRGBToHex(col) {
- var re = new RegExp("rgb\\s*\\(\\s*([0-9]+).*,\\s*([0-9]+).*,\\s*([0-9]+).*\\)", "gi");
-
- var rgb = col.replace(re, "$1,$2,$3").split(',');
- if (rgb.length == 3) {
- r = parseInt(rgb[0]).toString(16);
- g = parseInt(rgb[1]).toString(16);
- b = parseInt(rgb[2]).toString(16);
-
- r = r.length == 1 ? '0' + r : r;
- g = g.length == 1 ? '0' + g : g;
- b = b.length == 1 ? '0' + b : b;
-
- return "#" + r + g + b;
- }
-
- return col;
-}
-
-function convertHexToRGB(col) {
- if (col.indexOf('#') != -1) {
- col = col.replace(new RegExp('[^0-9A-F]', 'gi'), '');
-
- r = parseInt(col.substring(0, 2), 16);
- g = parseInt(col.substring(2, 4), 16);
- b = parseInt(col.substring(4, 6), 16);
-
- return "rgb(" + r + "," + g + "," + b + ")";
- }
-
- return col;
-}
-
-function renderColorMap() {
- var html = "";
- var inputColor = convertRGBToHex(tinyMCE.getWindowArg('input_color'));
-
- html += '<table border="0" cellspacing="1" cellpadding="0">'
- + '<tr>';
- for (var i=0; i<colors.length; i++) {
- html += '<td bgcolor="' + colors[i] + '">'
- + '<a href="javascript:selectColor();" onfocus="showColor(\'' + colors[i] + '\');" onmouseover="showColor(\'' + colors[i] + '\');">'
- + '<img border="0" src="images/spacer.gif" width="10" height="10" title="' + colors[i] + '" alt="' + colors[i] + '" /></a></td>';
- if ((i+1) % 18 == 0)
- html += '</tr><tr>';
- }
- html += '<tr><td colspan="18">'
- + '<table width="100%" border="0" cellspacing="0" cellpadding="0">'
- + '<tr><td>'
- + '<img id="selectedColor" style="background-color:' + tinyMCE.getWindowArg('input_color') + '" border="0" src="images/spacer.gif" width="80" height="16" />'
- + '</td><td align="right">'
- + '<input id="selectedColorBox" name="selectedColorBox" type="text" size="7" maxlength="7" style="width:65px" value="' + inputColor + '" />'
- + '</td></tr>'
- + '</table>'
- + '<div style="float: left"><input type="button" id="insert" name="insert" value="{$lang_theme_colorpicker_apply}" style="margin-top:3px" onclick="selectColor();"></div>'
- + '<div style="float: right"><input type="button" name="cancel" value="{$lang_cancel}" style="margin-top:3px" onclick="tinyMCEPopup.close();" id="cancel" /></div>'
- + '</td></tr>'
- + '</table>';
-
- document.write(html);
-} \ No newline at end of file
diff --git a/wp-inst/wp-includes/js/tinymce/themes/advanced/jscripts/image.js b/wp-inst/wp-includes/js/tinymce/themes/advanced/jscripts/image.js
deleted file mode 100644
index 950c043..0000000
--- a/wp-inst/wp-includes/js/tinymce/themes/advanced/jscripts/image.js
+++ /dev/null
@@ -1,81 +0,0 @@
-var url = tinyMCE.getParam("external_image_list_url");
-if (url != null) {
- // Fix relative
- if (url.charAt(0) != '/' && url.indexOf('://') == -1)
- url = tinyMCE.documentBasePath + "/" + url;
-
- document.write('<sc'+'ript language="javascript" type="text/javascript" src="' + url + '"></sc'+'ript>');
-}
-
-function insertImage() {
- var src = document.forms[0].src.value;
- var alt = document.forms[0].alt.value;
- var border = document.forms[0].border.value;
- var vspace = document.forms[0].vspace.value;
- var hspace = document.forms[0].hspace.value;
- var width = document.forms[0].width.value;
- var height = document.forms[0].height.value;
- var align = document.forms[0].align.options[document.forms[0].align.selectedIndex].value;
-
- tinyMCEPopup.restoreSelection();
- tinyMCE.themes['advanced']._insertImage(src, alt, border, hspace, vspace, width, height, align);
- tinyMCEPopup.close();
-}
-
-function init() {
- tinyMCEPopup.resizeToInnerSize();
-
- document.getElementById('srcbrowsercontainer').innerHTML = getBrowserHTML('srcbrowser','src','image','theme_advanced_image');
-
- var formObj = document.forms[0];
-
- for (var i=0; i<document.forms[0].align.options.length; i++) {
- if (document.forms[0].align.options[i].value == tinyMCE.getWindowArg('align'))
- document.forms[0].align.options.selectedIndex = i;
- }
-
- formObj.src.value = tinyMCE.getWindowArg('src');
- formObj.alt.value = tinyMCE.getWindowArg('alt');
- formObj.border.value = tinyMCE.getWindowArg('border');
- formObj.vspace.value = tinyMCE.getWindowArg('vspace');
- formObj.hspace.value = tinyMCE.getWindowArg('hspace');
- formObj.width.value = tinyMCE.getWindowArg('width');
- formObj.height.value = tinyMCE.getWindowArg('height');
- formObj.insert.value = tinyMCE.getLang('lang_' + tinyMCE.getWindowArg('action'), 'Insert', true);
-
- // Handle file browser
- if (isVisible('srcbrowser'))
- document.getElementById('src').style.width = '180px';
-
- // Auto select image in list
- if (typeof(tinyMCEImageList) != "undefined" && tinyMCEImageList.length > 0) {
- for (var i=0; i<formObj.image_list.length; i++) {
- if (formObj.image_list.options[i].value == tinyMCE.getWindowArg('src'))
- formObj.image_list.options[i].selected = true;
- }
- }
-}
-
-var preloadImg = new Image();
-
-function resetImageData() {
- var formObj = document.forms[0];
- formObj.width.value = formObj.height.value = "";
-}
-
-function updateImageData() {
- var formObj = document.forms[0];
-
- if (formObj.width.value == "")
- formObj.width.value = preloadImg.width;
-
- if (formObj.height.value == "")
- formObj.height.value = preloadImg.height;
-}
-
-function getImageData() {
- preloadImg = new Image();
- tinyMCE.addEvent(preloadImg, "load", updateImageData);
- tinyMCE.addEvent(preloadImg, "error", function () {var formObj = document.forms[0];formObj.width.value = formObj.height.value = "";});
- preloadImg.src = tinyMCE.convertRelativeToAbsoluteURL(tinyMCE.settings['base_href'], document.forms[0].src.value);
-}
diff --git a/wp-inst/wp-includes/js/tinymce/themes/advanced/jscripts/link.js b/wp-inst/wp-includes/js/tinymce/themes/advanced/jscripts/link.js
deleted file mode 100644
index 31b3878..0000000
--- a/wp-inst/wp-includes/js/tinymce/themes/advanced/jscripts/link.js
+++ /dev/null
@@ -1,70 +0,0 @@
-var url = tinyMCE.getParam("external_link_list_url");
-if (url != null) {
- // Fix relative
- if (url.charAt(0) != '/' && url.indexOf('://') == -1)
- url = tinyMCE.documentBasePath + "/" + url;
-
- document.write('<sc'+'ript language="javascript" type="text/javascript" src="' + url + '"></sc'+'ript>');
-}
-
-function init() {
- tinyMCEPopup.resizeToInnerSize();
-
- document.getElementById('hrefbrowsercontainer').innerHTML = getBrowserHTML('hrefbrowser','href','file','theme_advanced_link');
-
- // Handle file browser
- if (isVisible('hrefbrowser'))
- document.getElementById('href').style.width = '180px';
-
- var formObj = document.forms[0];
-
- for (var i=0; i<document.forms[0].target.options.length; i++) {
- var option = document.forms[0].target.options[i];
-
- if (option.value == tinyMCE.getWindowArg('target'))
- option.selected = true;
- }
-
- document.forms[0].href.value = tinyMCE.getWindowArg('href');
- document.forms[0].linktitle.value = tinyMCE.getWindowArg('title');
- document.forms[0].insert.value = tinyMCE.getLang('lang_' + tinyMCE.getWindowArg('action'), 'Insert', true);
-
- addClassesToList('styleSelect', 'theme_advanced_link_styles');
- selectByValue(formObj, 'styleSelect', tinyMCE.getWindowArg('className'), true);
-
- // Hide css select row if no CSS classes
- if (formObj.styleSelect && formObj.styleSelect.options.length <= 1) {
- var sr = document.getElementById('styleSelectRow');
- sr.style.display = 'none';
- sr.parentNode.removeChild(sr);
- }
-
- // Auto select link in list
- if (typeof(tinyMCELinkList) != "undefined" && tinyMCELinkList.length > 0) {
- var formObj = document.forms[0];
-
- for (var i=0; i<formObj.link_list.length; i++) {
- if (formObj.link_list.options[i].value == tinyMCE.getWindowArg('href'))
- formObj.link_list.options[i].selected = true;
- }
- }
-}
-
-function insertLink() {
- var href = document.forms[0].href.value;
- var target = document.forms[0].target.options[document.forms[0].target.selectedIndex].value;
- var title = document.forms[0].linktitle.value;
- var style_class = document.forms[0].styleSelect ? document.forms[0].styleSelect.value : "";
- var dummy;
-
- // Make anchors absolute
- if (href.charAt(0) == '#')
- href = tinyMCE.settings['document_base_url'] + href;
-
- if (target == '_self')
- target = '';
-
- tinyMCEPopup.restoreSelection();
- tinyMCE.themes['advanced']._insertLink(href, target, title, dummy, style_class);
- tinyMCEPopup.close();
-}
diff --git a/wp-inst/wp-includes/js/tinymce/themes/advanced/jscripts/source_editor.js b/wp-inst/wp-includes/js/tinymce/themes/advanced/jscripts/source_editor.js
deleted file mode 100644
index c266c82..0000000
--- a/wp-inst/wp-includes/js/tinymce/themes/advanced/jscripts/source_editor.js
+++ /dev/null
@@ -1,61 +0,0 @@
-function saveContent() {
- tinyMCE.setContent(document.getElementById('htmlSource').value);
- tinyMCE.closeWindow(window);
-}
-
-// Fixes some charcode issues
-function fixContent(html) {
-/* html = html.replace(new RegExp('<(p|hr|table|tr|td|ol|ul|object|embed|li|blockquote)', 'gi'),'\n<$1');
- html = html.replace(new RegExp('<\/(p|ol|ul|li|table|tr|td|blockquote|object)>', 'gi'),'</$1>\n');
- html = tinyMCE.regexpReplace(html, '<br />','<br />\n','gi');
- html = tinyMCE.regexpReplace(html, '\n\n','\n','gi');*/
- return html;
-}
-
-function onLoadInit() {
- tinyMCEPopup.resizeToInnerSize();
-
- document.forms[0].htmlSource.value = fixContent(tinyMCE.getContent(tinyMCE.getWindowArg('editor_id')));
- resizeInputs();
-}
-
-function setWrap(val) {
- var s = document.forms[0].htmlSource;
-
- s.wrap = val;
-
- if (tinyMCE.isGecko) {
- var v = s.value;
- var n = s.cloneNode(false);
- n.setAttribute("wrap", val);
- s.parentNode.replaceChild(n, s);
- n.value = v;
- }
-}
-
-function toggleWordWrap(elm) {
- if (elm.checked)
- setWrap('soft');
- else
- setWrap('off');
-}
-
-var wHeight=0, wWidth=0, owHeight=0, owWidth=0;
-
-function resizeInputs() {
- if (!tinyMCE.isMSIE) {
- wHeight = self.innerHeight-80;
- wWidth = self.innerWidth-16;
- } else {
- wHeight = document.body.clientHeight - 80;
- wWidth = document.body.clientWidth - 16;
- }
-
- document.forms[0].htmlSource.style.height = Math.abs(wHeight) + 'px';
- document.forms[0].htmlSource.style.width = Math.abs(wWidth) + 'px';
-}
-
-function renderWordWrap() {
- if (tinyMCE.isMSIE || tinyMCE.isGecko)
- document.write('<input type="checkbox" name="wraped" id="wraped" onclick="toggleWordWrap(this);" class="wordWrapCode" /><label for="wraped">{$lang_theme_code_wordwrap}</label>');
-}
diff --git a/wp-inst/wp-includes/js/tinymce/themes/advanced/langs/en.js b/wp-inst/wp-includes/js/tinymce/themes/advanced/langs/en.js
deleted file mode 100644
index ca72676..0000000
--- a/wp-inst/wp-includes/js/tinymce/themes/advanced/langs/en.js
+++ /dev/null
@@ -1,76 +0,0 @@
-// UK lang variables
-
-tinyMCE.addToLang('',{
-theme_style_select : '-- Styles --',
-theme_code_desc : 'Edit HTML Source',
-theme_code_title : 'HTML Source Editor',
-theme_code_wordwrap : 'Word wrap',
-theme_sub_desc : 'Subscript',
-theme_sup_desc : 'Superscript',
-theme_hr_desc : 'Insert horizontal ruler',
-theme_removeformat_desc : 'Remove formatting',
-theme_custom1_desc : 'Your custom description here',
-insert_image_border : 'Border',
-insert_image_dimensions : 'Dimensions',
-insert_image_vspace : 'Vertical space',
-insert_image_hspace : 'Horizontal space',
-insert_image_align : 'Alignment',
-insert_image_align_default : '-- Not set --',
-insert_image_align_baseline : 'Baseline',
-insert_image_align_top : 'Top',
-insert_image_align_middle : 'Middle',
-insert_image_align_bottom : 'Bottom',
-insert_image_align_texttop : 'TextTop',
-insert_image_align_absmiddle : 'Absolute Middle',
-insert_image_align_absbottom : 'Absolute Bottom',
-insert_image_align_left : 'Left',
-insert_image_align_right : 'Right',
-theme_font_size : '-- Font size --',
-theme_fontdefault : '-- Font family --',
-theme_block : '-- Format --',
-theme_paragraph : 'Paragraph',
-theme_div : 'Div',
-theme_address : 'Address',
-theme_pre : 'Preformatted',
-theme_h1 : 'Heading 1',
-theme_h2 : 'Heading 2',
-theme_h3 : 'Heading 3',
-theme_h4 : 'Heading 4',
-theme_h5 : 'Heading 5',
-theme_h6 : 'Heading 6',
-theme_colorpicker_title : 'Select a color',
-theme_colorpicker_apply : 'Apply',
-theme_forecolor_desc : 'Select text color',
-theme_backcolor_desc : 'Select background color',
-theme_charmap_title : 'Select custom character',
-theme_charmap_desc : 'Insert custom character',
-theme_visualaid_desc : 'Toggle guidelines/invisible elements',
-insert_anchor_title : 'Insert/edit anchor',
-insert_anchor_name : 'Anchor name',
-theme_anchor_desc : 'Insert/edit anchor',
-theme_insert_link_titlefield : 'Title',
-theme_clipboard_msg : 'Copy/Cut/Paste is not available in Mozilla and Firefox.\nDo you want more information about this issue?',
-theme_path : 'Path',
-cut_desc : 'Cut',
-copy_desc : 'Copy',
-paste_desc : 'Paste',
-link_list : 'Link list',
-image_list : 'Image list',
-browse : 'Browse',
-image_props_desc : 'Image properties',
-newdocument_desc : 'New document',
-class_name : 'Class',
-newdocument : 'Are you sure you want clear all contents?',
-about_title : 'About TinyMCE',
-about : 'About',
-license : 'License',
-plugins : 'Plugins',
-plugin : 'Plugin',
-author : 'Author',
-version : 'Version',
-loaded_plugins : 'Loaded plugins',
-help : 'Help',
-not_set : '-- Not set --',
-close : 'Close',
-toolbar_focus : 'Jump to tool buttons - Alt+Q, Jump to editor - Alt-Z, Jump to element path - Alt-X'
-});
diff --git a/wp-inst/wp-includes/js/tinymce/themes/advanced/link.htm b/wp-inst/wp-includes/js/tinymce/themes/advanced/link.htm
deleted file mode 100644
index 98d2f17..0000000
--- a/wp-inst/wp-includes/js/tinymce/themes/advanced/link.htm
+++ /dev/null
@@ -1,100 +0,0 @@
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
- <title>{$lang_insert_link_title}</title>
- <script language="javascript" type="text/javascript" src="../../tiny_mce_popup.js"></script>
- <script language="javascript" type="text/javascript" src="../../utils/mctabs.js"></script>
- <script language="javascript" type="text/javascript" src="../../utils/form_utils.js"></script>
- <script language="javascript" type="text/javascript" src="jscripts/link.js"></script>
- <base target="_self" />
-</head>
-<body id="link" onload="tinyMCEPopup.executeOnLoad('init();');document.body.style.display='';document.getElementById('href').focus();" style="display: none">
-<form onsubmit="insertLink();return false;" action="#">
- <div class="tabs">
- <ul>
- <li id="general_tab" class="current"><span><a href="javascript:mcTabs.displayTab('general_tab','general_panel');" onmousedown="return false;">{$lang_insert_link_title}</a></span></li>
- </ul>
- </div>
-
- <div class="panel_wrapper">
- <div id="general_panel" class="panel current">
-
- <table border="0" cellpadding="4" cellspacing="0">
- <tr>
- <td nowrap="nowrap"><label for="href">{$lang_insert_link_url}</label></td>
- <td><table border="0" cellspacing="0" cellpadding="0">
- <tr>
- <td><input id="href" name="href" type="text" value="" style="width: 200px" /></td>
- <td id="hrefbrowsercontainer">&nbsp;</td>
- </tr>
- </table></td>
- </tr>
- <!-- Link list -->
- <script language="javascript">
- if (typeof(tinyMCELinkList) != "undefined" && tinyMCELinkList.length > 0) {
- var html = "";
-
- html += '<tr><td><label for="link_list">{$lang_link_list}</label></td>';
- html += '<td><select id="link_list" name="link_list" style="width: 200px" onchange="this.form.href.value=this.options[this.selectedIndex].value;">';
- html += '<option value="">---</option>';
-
- for (var i=0; i<tinyMCELinkList.length; i++)
- html += '<option value="' + tinyMCELinkList[i][1] + '">' + tinyMCELinkList[i][0] + '</option>';
-
- html += '</select></td></tr>';
-
- document.write(html);
- }
- </script>
- <!-- /Link list -->
- <tr>
- <td nowrap="nowrap"><label for="target">{$lang_insert_link_target}</label></td>
- <td><select id="target" name="target" style="width: 200px">
- <option value="_self">{$lang_insert_link_target_same}</option>
- <option value="_blank">{$lang_insert_link_target_blank}</option>
- <script language="javascript">
- var html = "";
- var targets = tinyMCE.getParam('theme_advanced_link_targets', '').split(';');
-
- for (var i=0; i<targets.length; i++) {
- var key, value;
-
- if (targets[i] == "")
- continue;
-
- key = targets[i].split('=')[0];
- value = targets[i].split('=')[1];
-
- html += '<option value="' + value + '">' + key + '</option>';
- }
-
- document.write(html);
- </script>
- </select></td>
- </tr>
- <tr>
- <td nowrap="nowrap"><label for="linktitle">{$lang_theme_insert_link_titlefield}</label></td>
- <td><input id="linktitle" name="linktitle" type="text" value="" style="width: 200px"></td>
- </tr>
- <tr id="styleSelectRow">
- <td><label for="styleSelect">{$lang_class_name}</label></td>
- <td>
- <select id="styleSelect" name="styleSelect">
- <option value="" selected>{$lang_theme_style_select}</option>
- </select></td>
- </tr>
- </table>
- </div>
- </div>
-
- <div class="mceActionPanel">
- <div style="float: left">
- <input type="button" id="cancel" name="cancel" value="{$lang_cancel}" onclick="tinyMCEPopup.close();" />
- </div>
-
- <div style="float: right">
- <input type="submit" id="insert" name="insert" value="{$lang_insert}" onclick="insertLink();" />
- </div>
- </div>
-</form>
-</body>
-</html>
diff --git a/wp-inst/wp-includes/js/tinymce/themes/advanced/source_editor.htm b/wp-inst/wp-includes/js/tinymce/themes/advanced/source_editor.htm
deleted file mode 100644
index 630c721..0000000
--- a/wp-inst/wp-includes/js/tinymce/themes/advanced/source_editor.htm
+++ /dev/null
@@ -1,30 +0,0 @@
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
- <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
- <title>{$lang_theme_code_title}</title>
- <script language="javascript" type="text/javascript" src="../../tiny_mce_popup.js"></script>
- <script language="javascript" type="text/javascript" src="jscripts/source_editor.js"></script>
- <base target="_self" />
-</head>
-<body onload="tinyMCEPopup.executeOnLoad('onLoadInit();');document.body.style.display='';document.getElementById('htmlSource').focus();" onresize="resizeInputs();" style="display: none">
- <form name="source" onsubmit="saveContent();" action="#">
- <div style="float: left" class="title">{$lang_theme_code_title}</div>
-
- <div style="float: right">
- <script language="javascript" type="text/javascript">renderWordWrap();</script>
- </div>
-
- <textarea name="htmlSource" id="htmlSource" rows="15" cols="100" style="width: 100%; height: 100%; font-family: 'Courier New',Courier,mono; font-size: 12px" dir="ltr" wrap="off"></textarea>
-
- <div class="mceActionPanel">
- <div style="float: left">
- <input type="button" name="cancel" value="{$lang_cancel}" onclick="tinyMCEPopup.close();" id="cancel" />
- </div>
-
- <div style="float: right">
- <input type="submit" name="insert" value="{$lang_update}" onclick="saveContent();" id="insert" />
- </div>
- </div>
- </form>
-</body>
-</html>
diff --git a/wp-inst/wp-includes/js/tinymce/tiny_mce.js b/wp-inst/wp-includes/js/tinymce/tiny_mce.js
deleted file mode 100644
index 9fbf19f..0000000
--- a/wp-inst/wp-includes/js/tinymce/tiny_mce.js
+++ /dev/null
@@ -1,6437 +0,0 @@
-
-/* file:jscripts/tiny_mce/classes/TinyMCE_Engine.class.js */
-
-function TinyMCE_Engine() {
- this.majorVersion = "2";
- this.minorVersion = "0.5.1";
- this.releaseDate = "2006-03-22";
-
- this.instances = new Array();
- this.switchClassCache = new Array();
- this.windowArgs = new Array();
- this.loadedFiles = new Array();
- this.configs = new Array();
- this.currentConfig = 0;
- this.eventHandlers = new Array();
-
- // Browser check
- var ua = navigator.userAgent;
- this.isMSIE = (navigator.appName == "Microsoft Internet Explorer");
- this.isMSIE5 = this.isMSIE && (ua.indexOf('MSIE 5') != -1);
- this.isMSIE5_0 = this.isMSIE && (ua.indexOf('MSIE 5.0') != -1);
- this.isGecko = ua.indexOf('Gecko') != -1;
- this.isSafari = ua.indexOf('Safari') != -1;
- this.isOpera = ua.indexOf('Opera') != -1;
- this.isMac = ua.indexOf('Mac') != -1;
- this.isNS7 = ua.indexOf('Netscape/7') != -1;
- this.isNS71 = ua.indexOf('Netscape/7.1') != -1;
- this.dialogCounter = 0;
- this.plugins = new Array();
- this.themes = new Array();
- this.menus = new Array();
- this.loadedPlugins = new Array();
- this.buttonMap = new Array();
- this.isLoaded = false;
-
- // Fake MSIE on Opera and if Opera fakes IE, Gecko or Safari cancel those
- if (this.isOpera) {
- this.isMSIE = true;
- this.isGecko = false;
- this.isSafari = false;
- }
-
- // TinyMCE editor id instance counter
- this.idCounter = 0;
-};
-
-TinyMCE_Engine.prototype = {
- init : function(settings) {
- var theme;
-
- this.settings = settings;
-
- // Check if valid browser has execcommand support
- if (typeof(document.execCommand) == 'undefined')
- return;
-
- // Get script base path
- if (!tinyMCE.baseURL) {
- var elements = document.getElementsByTagName('script');
-
- for (var i=0; i<elements.length; i++) {
- if (elements[i].src && (elements[i].src.indexOf("tiny_mce.js") != -1 || elements[i].src.indexOf("tiny_mce_dev.js") != -1 || elements[i].src.indexOf("tiny_mce_src.js") != -1 || elements[i].src.indexOf("tiny_mce_gzip") != -1)) {
- var src = elements[i].src;
-
- tinyMCE.srcMode = (src.indexOf('_src') != -1 || src.indexOf('_dev') != -1) ? '_src' : '';
- tinyMCE.gzipMode = src.indexOf('_gzip') != -1;
- src = src.substring(0, src.lastIndexOf('/'));
-
- if (settings.exec_mode == "src" || settings.exec_mode == "normal")
- tinyMCE.srcMode = settings.exec_mode == "src" ? '_src' : '';
-
- tinyMCE.baseURL = src;
- break;
- }
- }
- }
-
- // Get document base path
- this.documentBasePath = document.location.href;
- if (this.documentBasePath.indexOf('?') != -1)
- this.documentBasePath = this.documentBasePath.substring(0, this.documentBasePath.indexOf('?'));
- this.documentURL = this.documentBasePath;
- this.documentBasePath = this.documentBasePath.substring(0, this.documentBasePath.lastIndexOf('/'));
-
- // If not HTTP absolute
- if (tinyMCE.baseURL.indexOf('://') == -1 && tinyMCE.baseURL.charAt(0) != '/') {
- // If site absolute
- tinyMCE.baseURL = this.documentBasePath + "/" + tinyMCE.baseURL;
- }
-
- // Set default values on settings
- this._def("mode", "none");
- this._def("theme", "advanced");
- this._def("plugins", "", true);
- this._def("language", "en");
- this._def("docs_language", this.settings['language']);
- this._def("elements", "");
- this._def("textarea_trigger", "mce_editable");
- this._def("editor_selector", "");
- this._def("editor_deselector", "mceNoEditor");
- this._def("valid_elements", "+a[id|style|rel|rev|charset|hreflang|dir|lang|tabindex|accesskey|type|name|href|target|title|class|onfocus|onblur|onclick|ondblclick|onmousedown|onmouseup|onmouseover|onmousemove|onmouseout|onkeypress|onkeydown|onkeyup],-strong/-b[class|style],-em/-i[class|style],-strike[class|style],-u[class|style],#p[id|style|dir|class|align],-ol[class|style],-ul[class|style],-li[class|style],br,img[id|dir|lang|longdesc|usemap|style|class|src|onmouseover|onmouseout|border|alt=|title|hspace|vspace|width|height|align],-sub[style|class],-sup[style|class],-blockquote[dir|style],-table[border=0|cellspacing|cellpadding|width|height|class|align|summary|style|dir|id|lang|bgcolor|background|bordercolor],-tr[id|lang|dir|class|rowspan|width|height|align|valign|style|bgcolor|background|bordercolor],tbody[id|class],thead[id|class],tfoot[id|class],-td[id|lang|dir|class|colspan|rowspan|width|height|align|valign|style|bgcolor|background|bordercolor|scope],-th[id|lang|dir|class|colspan|rowspan|width|height|align|valign|style|scope],caption[id|lang|dir|class|style],-div[id|dir|class|align|style],-span[style|class|align],-pre[class|align|style],address[class|align|style],-h1[id|style|dir|class|align],-h2[id|style|dir|class|align],-h3[id|style|dir|class|align],-h4[id|style|dir|class|align],-h5[id|style|dir|class|align],-h6[id|style|dir|class|align],hr[class|style],-font[face|size|style|id|class|dir|color],dd[id|class|title|style|dir|lang],dl[id|class|title|style|dir|lang],dt[id|class|title|style|dir|lang]");
- this._def("extended_valid_elements", "");
- this._def("invalid_elements", "");
- this._def("encoding", "");
- this._def("urlconverter_callback", tinyMCE.getParam("urlconvertor_callback", "TinyMCE_Engine.prototype.convertURL"));
- this._def("save_callback", "");
- this._def("debug", false);
- this._def("force_br_newlines", false);
- this._def("force_p_newlines", true);
- this._def("add_form_submit_trigger", true);
- this._def("relative_urls", true);
- this._def("remove_script_host", true);
- this._def("focus_alert", true);
- this._def("document_base_url", this.documentURL);
- this._def("visual", true);
- this._def("visual_table_class", "mceVisualAid");
- this._def("setupcontent_callback", "");
- this._def("fix_content_duplication", true);
- this._def("custom_undo_redo", true);
- this._def("custom_undo_redo_levels", -1);
- this._def("custom_undo_redo_keyboard_shortcuts", true);
- this._def("custom_undo_redo_restore_selection", true);
- this._def("verify_html", true);
- this._def("apply_source_formatting", false);
- this._def("directionality", "ltr");
- this._def("cleanup_on_startup", false);
- this._def("inline_styles", false);
- this._def("convert_newlines_to_brs", false);
- this._def("auto_reset_designmode", true);
- this._def("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,34,quot,38,amp,60,lt,62,gt,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", true);
- this._def("entity_encoding", "named");
- this._def("cleanup_callback", "");
- this._def("add_unload_trigger", true);
- this._def("ask", false);
- this._def("nowrap", false);
- this._def("auto_resize", false);
- this._def("auto_focus", false);
- this._def("cleanup", true);
- this._def("remove_linebreaks", true);
- this._def("button_tile_map", false);
- this._def("submit_patch", true);
- this._def("browsers", "msie,safari,gecko,opera", true);
- this._def("dialog_type", "window");
- this._def("accessibility_warnings", true);
- this._def("accessibility_focus", true);
- this._def("merge_styles_invalid_parents", "");
- this._def("force_hex_style_colors", true);
- this._def("trim_span_elements", true);
- this._def("convert_fonts_to_spans", false);
- this._def("doctype", '<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">');
- this._def("font_size_classes", '');
- this._def("font_size_style_values", 'xx-small,x-small,small,medium,large,x-large,xx-large', true);
- this._def("event_elements", 'a,img', true);
- this._def("convert_urls", true);
- this._def("table_inline_editing", false);
- this._def("object_resizing", true);
- this._def("custom_shortcuts", true);
- this._def("convert_on_click", false);
- this._def("content_css", '');
- this._def("fix_list_elements", false);
- this._def("fix_table_elements", false);
-
- // Browser check IE
- if (this.isMSIE && this.settings['browsers'].indexOf('msie') == -1)
- return;
-
- // Browser check Gecko
- if (this.isGecko && this.settings['browsers'].indexOf('gecko') == -1)
- return;
-
- // Browser check Safari
- if (this.isSafari && this.settings['browsers'].indexOf('safari') == -1)
- return;
-
- // Browser check Opera
- if (this.isOpera && this.settings['browsers'].indexOf('opera') == -1)
- return;
-
- // If not super absolute make it so
- var baseHREF = tinyMCE.settings['document_base_url'];
- var h = document.location.href;
- var p = h.indexOf('://');
- if (p > 0 && document.location.protocol != "file:") {
- p = h.indexOf('/', p + 3);
- h = h.substring(0, p);
-
- if (baseHREF.indexOf('://') == -1)
- baseHREF = h + baseHREF;
-
- tinyMCE.settings['document_base_url'] = baseHREF;
- tinyMCE.settings['document_base_prefix'] = h;
- }
-
- // Trim away query part
- if (baseHREF.indexOf('?') != -1)
- baseHREF = baseHREF.substring(0, baseHREF.indexOf('?'));
-
- this.settings['base_href'] = baseHREF.substring(0, baseHREF.lastIndexOf('/')) + "/";
-
- theme = this.settings['theme'];
- this.blockRegExp = new RegExp("^(h[1-6]|p|div|address|pre|form|table|li|ol|ul|td|blockquote|center|dl|dir|fieldset|form|noscript|noframes|menu|isindex)$", "i");
- this.posKeyCodes = new Array(13,45,36,35,33,34,37,38,39,40);
- this.uniqueURL = 'http://tinymce.moxiecode.cp/mce_temp_url'; // Make unique URL non real URL
- this.uniqueTag = '<div id="mceTMPElement" style="display: none">TMP</div>';
- this.callbacks = new Array('onInit', 'getInfo', 'getEditorTemplate', 'setupContent', 'onChange', 'onPageLoad', 'handleNodeChange', 'initInstance', 'execCommand', 'getControlHTML', 'handleEvent', 'cleanup');
-
- // Theme url
- this.settings['theme_href'] = tinyMCE.baseURL + "/themes/" + theme;
-
- if (!tinyMCE.isMSIE)
- this.settings['force_br_newlines'] = false;
-
- if (tinyMCE.getParam("popups_css", false)) {
- var cssPath = tinyMCE.getParam("popups_css", "");
-
- // Is relative
- if (cssPath.indexOf('://') == -1 && cssPath.charAt(0) != '/')
- this.settings['popups_css'] = this.documentBasePath + "/" + cssPath;
- else
- this.settings['popups_css'] = cssPath;
- } else
- this.settings['popups_css'] = tinyMCE.baseURL + "/themes/" + theme + "/css/editor_popup.css";
-
- if (tinyMCE.getParam("editor_css", false)) {
- var cssPath = tinyMCE.getParam("editor_css", "");
-
- // Is relative
- if (cssPath.indexOf('://') == -1 && cssPath.charAt(0) != '/')
- this.settings['editor_css'] = this.documentBasePath + "/" + cssPath;
- else
- this.settings['editor_css'] = cssPath;
- } else
- this.settings['editor_css'] = tinyMCE.baseURL + "/themes/" + theme + "/css/editor_ui.css";
-
- if (tinyMCE.settings['debug']) {
- var msg = "Debug: \n";
-
- msg += "baseURL: " + this.baseURL + "\n";
- msg += "documentBasePath: " + this.documentBasePath + "\n";
- msg += "content_css: " + this.settings['content_css'] + "\n";
- msg += "popups_css: " + this.settings['popups_css'] + "\n";
- msg += "editor_css: " + this.settings['editor_css'] + "\n";
-
- alert(msg);
- }
-
- // Only do this once
- if (this.configs.length == 0) {
- // Is Safari enabled
- if (this.isSafari && this.getParam('safari_warning', false))
- alert("Safari support is very limited and should be considered experimental.\nSo there is no need to even submit bugreports on this early version.\nYou can disable this message by setting: safari_warning option to false");
-
- if (typeof(TinyMCECompressed) == "undefined") {
- tinyMCE.addEvent(window, "DOMContentLoaded", TinyMCE_Engine.prototype.onLoad);
-
- if (tinyMCE.isMSIE && !tinyMCE.isOpera) {
- if (document.body)
- tinyMCE.addEvent(document.body, "readystatechange", TinyMCE_Engine.prototype.onLoad);
- else
- tinyMCE.addEvent(document, "readystatechange", TinyMCE_Engine.prototype.onLoad);
- }
-
- tinyMCE.addEvent(window, "load", TinyMCE_Engine.prototype.onLoad);
- tinyMCE._addUnloadEvents();
- }
- }
-
- this.loadScript(tinyMCE.baseURL + '/themes/' + this.settings['theme'] + '/editor_template' + tinyMCE.srcMode + '.js');
- this.loadScript(tinyMCE.baseURL + '/langs/' + this.settings['language'] + '.js');
- this.loadCSS(this.settings['editor_css']);
-
- // Add plugins
- var p = tinyMCE.getParam('plugins', '', true, ',');
- if (p.length > 0) {
- for (var i=0; i<p.length; i++) {
- if (p[i].charAt(0) != '-')
- this.loadScript(tinyMCE.baseURL + '/plugins/' + p[i] + '/editor_plugin' + tinyMCE.srcMode + '.js');
- }
- }
-
- // Setup entities
- settings['cleanup_entities'] = new Array();
- var entities = tinyMCE.getParam('entities', '', true, ',');
- for (var i=0; i<entities.length; i+=2)
- settings['cleanup_entities']['c' + entities[i]] = entities[i+1];
-
- // Save away this config
- settings['index'] = this.configs.length;
- this.configs[this.configs.length] = settings;
- },
-
- _addUnloadEvents : function() {
- if (tinyMCE.isMSIE) {
- if (tinyMCE.settings['add_unload_trigger']) {
- tinyMCE.addEvent(window, "unload", TinyMCE_Engine.prototype.unloadHandler);
- tinyMCE.addEvent(window.document, "beforeunload", TinyMCE_Engine.prototype.unloadHandler);
- }
- } else {
- if (tinyMCE.settings['add_unload_trigger'])
- tinyMCE.addEvent(window, "unload", function () {tinyMCE.triggerSave(true, true);});
- }
- },
-
- _def : function(key, def_val, t) {
- var v = tinyMCE.getParam(key, def_val);
-
- v = t ? v.replace(/\s+/g,"") : v;
-
- this.settings[key] = v;
- },
-
- hasPlugin : function(n) {
- return typeof(this.plugins[n]) != "undefined" && this.plugins[n] != null;
- },
-
- addPlugin : function(n, p) {
- var op = this.plugins[n];
-
- // Use the previous plugin object base URL used when loading external plugins
- p.baseURL = op ? op.baseURL : tinyMCE.baseURL + "/plugins/" + n;
- this.plugins[n] = p;
- },
-
- setPluginBaseURL : function(n, u) {
- var op = this.plugins[n];
-
- if (op)
- op.baseURL = u;
- else
- this.plugins[n] = {baseURL : u};
- },
-
- loadPlugin : function(n, u) {
- u = u.indexOf('.js') != -1 ? u.substring(0, u.lastIndexOf('/')) : u;
- u = u.charAt(u.length-1) == '/' ? u.substring(0, u.length-1) : u;
- this.plugins[n] = {baseURL : u};
- this.loadScript(u + "/editor_plugin" + (tinyMCE.srcMode ? '_src' : '') + ".js");
- },
-
- hasTheme : function(n) {
- return typeof(this.themes[n]) != "undefined" && this.themes[n] != null;
- },
-
- addTheme : function(n, t) {
- this.themes[n] = t;
- },
-
- addMenu : function(n, m) {
- this.menus[n] = m;
- },
-
- hasMenu : function(n) {
- return typeof(this.plugins[n]) != "undefined" && this.plugins[n] != null;
- },
-
- loadScript : function(url) {
- for (var i=0; i<this.loadedFiles.length; i++) {
- if (this.loadedFiles[i] == url)
- return;
- }
-
- document.write('<sc'+'ript language="javascript" type="text/javascript" src="' + url + '"></script>');
-
- this.loadedFiles[this.loadedFiles.length] = url;
- },
-
- loadCSS : function(url) {
- var ar = url.replace(/\s+/, '').split(',');
- var lflen = 0, csslen = 0;
- var skip = false;
- var x = 0, i = 0;
-
- for (x = 0,csslen = ar.length; x<csslen; x++) {
- ignore_css = false;
-
- if (ar[x] != null && ar[x] != 'null' && ar[x].length > 0) {
- /* Make sure it doesn't exist. */
- for (i=0, lflen=this.loadedFiles.length; i<lflen; i++) {
- if (this.loadedFiles[i] == ar[x]) {
- skip = true;
- break;
- }
- }
-
- if (!skip) {
- document.write('<link href="' + ar[x] + '" rel="stylesheet" type="text/css" />');
- this.loadedFiles[this.loadedFiles.length] = ar[x];
- }
- }
- }
- },
-
- importCSS : function(doc, css) {
- var css_ary = css.replace(/\s+/, '').split(',');
- var csslen, elm, headArr, x, css_file;
-
- for (x = 0, csslen = css_ary.length; x<csslen; x++) {
- css_file = css_ary[x];
-
- if (css_file != null && css_file != 'null' && css_file.length > 0) {
- // Is relative, make absolute
- if (css_file.indexOf('://') == -1 && css_file.charAt(0) != '/')
- css_file = this.documentBasePath + "/" + css_file;
-
- if (typeof(doc.createStyleSheet) == "undefined") {
- elm = doc.createElement("link");
-
- elm.rel = "stylesheet";
- elm.href = css_file;
-
- if ((headArr = doc.getElementsByTagName("head")) != null && headArr.length > 0)
- headArr[0].appendChild(elm);
- } else
- doc.createStyleSheet(css_file);
- }
- }
- },
-
- confirmAdd : function(e, settings) {
- var elm = tinyMCE.isMSIE ? event.srcElement : e.target;
- var elementId = elm.name ? elm.name : elm.id;
-
- tinyMCE.settings = settings;
-
- if (tinyMCE.settings['convert_on_click'] || (!elm.getAttribute('mce_noask') && confirm(tinyMCELang['lang_edit_confirm'])))
- tinyMCE.addMCEControl(elm, elementId);
-
- elm.setAttribute('mce_noask', 'true');
- },
-
- updateContent : function(form_element_name) {
- // Find MCE instance linked to given form element and copy it's value
- var formElement = document.getElementById(form_element_name);
- for (var n in tinyMCE.instances) {
- var inst = tinyMCE.instances[n];
- if (!tinyMCE.isInstance(inst))
- continue;
-
- inst.switchSettings();
-
- if (inst.formElement == formElement) {
- var doc = inst.getDoc();
-
- tinyMCE._setHTML(doc, inst.formElement.value);
-
- if (!tinyMCE.isMSIE)
- doc.body.innerHTML = tinyMCE._cleanupHTML(inst, doc, this.settings, doc.body, inst.visualAid);
- }
- }
- },
-
- addMCEControl : function(replace_element, form_element_name, target_document) {
- var id = "mce_editor_" + tinyMCE.idCounter++;
- var inst = new TinyMCE_Control(tinyMCE.settings);
-
- inst.editorId = id;
- this.instances[id] = inst;
-
- inst._onAdd(replace_element, form_element_name, target_document);
- },
-
- removeMCEControl : function(editor_id) {
- var inst = tinyMCE.getInstanceById(editor_id);
-
- if (inst) {
- inst.switchSettings();
-
- editor_id = inst.editorId;
- var html = tinyMCE.getContent(editor_id);
-
- // Remove editor instance from instances array
- var tmpInstances = new Array();
- for (var instanceName in tinyMCE.instances) {
- var instance = tinyMCE.instances[instanceName];
- if (!tinyMCE.isInstance(instance))
- continue;
-
- if (instanceName != editor_id)
- tmpInstances[instanceName] = instance;
- }
- tinyMCE.instances = tmpInstances;
-
- tinyMCE.selectedElement = null;
- tinyMCE.selectedInstance = null;
-
- // Remove element
- var replaceElement = document.getElementById(editor_id + "_parent");
- var oldTargetElement = inst.oldTargetElement;
- var targetName = oldTargetElement.nodeName.toLowerCase();
-
- if (targetName == "textarea" || targetName == "input") {
- // Just show the old text area
- replaceElement.parentNode.removeChild(replaceElement);
- oldTargetElement.style.display = "inline";
- oldTargetElement.value = html;
- } else {
- oldTargetElement.innerHTML = html;
- oldTargetElement.style.display = 'block';
-
- replaceElement.parentNode.insertBefore(oldTargetElement, replaceElement);
- replaceElement.parentNode.removeChild(replaceElement);
- }
- }
- },
-
- triggerSave : function(skip_cleanup, skip_callback) {
- var inst, n;
-
- // Default to false
- if (typeof(skip_cleanup) == "undefined")
- skip_cleanup = false;
-
- // Default to false
- if (typeof(skip_callback) == "undefined")
- skip_callback = false;
-
- // Cleanup and set all form fields
- for (n in tinyMCE.instances) {
- inst = tinyMCE.instances[n];
-
- if (!tinyMCE.isInstance(inst))
- continue;
-
- inst.triggerSave(skip_cleanup, skip_callback);
- }
- },
-
- resetForm : function(form_index) {
- var i, inst, n, formObj = document.forms[form_index];
-
- for (n in tinyMCE.instances) {
- inst = tinyMCE.instances[n];
-
- if (!tinyMCE.isInstance(inst))
- continue;
-
- inst.switchSettings();
-
- for (i=0; i<formObj.elements.length; i++) {
- if (inst.formTargetElementId == formObj.elements[i].name)
- inst.getBody().innerHTML = inst.startContent;
- }
- }
- },
-
- execInstanceCommand : function(editor_id, command, user_interface, value, focus) {
- var inst = tinyMCE.getInstanceById(editor_id);
- if (inst) {
- if (typeof(focus) == "undefined")
- focus = true;
-
- if (focus)
- inst.contentWindow.focus();
-
- // Reset design mode if lost
- inst.autoResetDesignMode();
-
- this.selectedElement = inst.getFocusElement();
- this.selectedInstance = inst;
- tinyMCE.execCommand(command, user_interface, value);
-
- // Cancel event so it doesn't call onbeforeonunlaod
- if (tinyMCE.isMSIE && window.event != null)
- tinyMCE.cancelEvent(window.event);
- }
- },
-
- execCommand : function(command, user_interface, value) {
- // Default input
- user_interface = user_interface ? user_interface : false;
- value = value ? value : null;
-
- if (tinyMCE.selectedInstance)
- tinyMCE.selectedInstance.switchSettings();
-
- switch (command) {
- case 'mceHelp':
- tinyMCE.openWindow({
- file : 'about.htm',
- width : 480,
- height : 380
- }, {
- tinymce_version : tinyMCE.majorVersion + "." + tinyMCE.minorVersion,
- tinymce_releasedate : tinyMCE.releaseDate,
- inline : "yes"
- });
- return;
-
- case 'mceFocus':
- var inst = tinyMCE.getInstanceById(value);
- if (inst)
- inst.contentWindow.focus();
- return;
-
- case "mceAddControl":
- case "mceAddEditor":
- tinyMCE.addMCEControl(tinyMCE._getElementById(value), value);
- return;
-
- case "mceAddFrameControl":
- tinyMCE.addMCEControl(tinyMCE._getElementById(value['element'], value['document']), value['element'], value['document']);
- return;
-
- case "mceRemoveControl":
- case "mceRemoveEditor":
- tinyMCE.removeMCEControl(value);
- return;
-
- case "mceResetDesignMode":
- // Resets the designmode state of the editors in Gecko
- if (!tinyMCE.isMSIE) {
- for (var n in tinyMCE.instances) {
- if (!tinyMCE.isInstance(tinyMCE.instances[n]))
- continue;
-
- try {
- tinyMCE.instances[n].getDoc().designMode = "on";
- } catch (e) {
- // Ignore any errors
- }
- }
- }
-
- return;
- }
-
- if (this.selectedInstance) {
- this.selectedInstance.execCommand(command, user_interface, value);
- } else if (tinyMCE.settings['focus_alert'])
- alert(tinyMCELang['lang_focus_alert']);
- },
-
- _createIFrame : function(replace_element, doc, win) {
- var iframe, id = replace_element.getAttribute("id");
- var aw, ah;
-
- if (typeof(doc) == "undefined")
- doc = document;
-
- if (typeof(win) == "undefined")
- win = window;
-
- iframe = doc.createElement("iframe");
-
- aw = "" + tinyMCE.settings['area_width'];
- ah = "" + tinyMCE.settings['area_height'];
-
- if (aw.indexOf('%') == -1) {
- aw = parseInt(aw);
- aw = aw < 0 ? 300 : aw;
- aw = aw + "px";
- }
-
- if (ah.indexOf('%') == -1) {
- ah = parseInt(ah);
- ah = ah < 0 ? 240 : ah;
- ah = ah + "px";
- }
-
- iframe.setAttribute("id", id);
- iframe.setAttribute("className", "mceEditorIframe");
- iframe.setAttribute("border", "0");
- iframe.setAttribute("frameBorder", "0");
- iframe.setAttribute("marginWidth", "0");
- iframe.setAttribute("marginHeight", "0");
- iframe.setAttribute("leftMargin", "0");
- iframe.setAttribute("topMargin", "0");
- iframe.setAttribute("width", aw);
- iframe.setAttribute("height", ah);
- iframe.setAttribute("allowtransparency", "true");
-
- if (tinyMCE.settings["auto_resize"])
- iframe.setAttribute("scrolling", "no");
-
- // Must have a src element in MSIE HTTPs breaks aswell as absoute URLs
- if (tinyMCE.isMSIE && !tinyMCE.isOpera)
- iframe.setAttribute("src", this.settings['default_document']);
-
- iframe.style.width = aw;
- iframe.style.height = ah;
-
- // MSIE 5.0 issue
- if (tinyMCE.isMSIE && !tinyMCE.isOpera)
- replace_element.outerHTML = iframe.outerHTML;
- else
- replace_element.parentNode.replaceChild(iframe, replace_element);
-
- if (tinyMCE.isMSIE && !tinyMCE.isOpera)
- return win.frames[id];
- else
- return iframe;
- },
-
- setupContent : function(editor_id) {
- var inst = tinyMCE.instances[editor_id];
- var doc = inst.getDoc();
- var head = doc.getElementsByTagName('head').item(0);
- var content = inst.startContent;
-
- inst.switchSettings();
-
- // Not loaded correctly hit it again, Mozilla bug #997860
- if (!tinyMCE.isMSIE && tinyMCE.getParam("setupcontent_reload", false) && doc.title != "blank_page") {
- // This part will remove the designMode status
- // Failes first time in Firefox 1.5b2 on Mac
- try {doc.location.href = tinyMCE.baseURL + "/blank.htm";} catch (ex) {}
- window.setTimeout("tinyMCE.setupContent('" + editor_id + "');", 1000);
- return;
- }
-
- if (!head) {
- window.setTimeout("tinyMCE.setupContent('" + editor_id + "');", 10);
- return;
- }
-
- // Import theme specific content CSS the user specific
- tinyMCE.importCSS(inst.getDoc(), tinyMCE.baseURL + "/themes/" + inst.settings['theme'] + "/css/editor_content.css");
- tinyMCE.importCSS(inst.getDoc(), inst.settings['content_css']);
- tinyMCE.dispatchCallback(inst, 'init_instance_callback', 'initInstance', inst);
-
- // Setup keyboard shortcuts
- if (tinyMCE.getParam('custom_undo_redo_keyboard_shortcuts')) {
- inst.addShortcut('ctrl', 'z', 'lang_undo_desc', 'Undo');
- inst.addShortcut('ctrl', 'y', 'lang_redo_desc', 'Redo');
- }
-
- // Add default shortcuts for gecko
- if (tinyMCE.isGecko) {
- inst.addShortcut('ctrl', 'b', 'lang_bold_desc', 'Bold');
- inst.addShortcut('ctrl', 'i', 'lang_italic_desc', 'Italic');
- inst.addShortcut('ctrl', 'u', 'lang_underline_desc', 'Underline');
- }
-
- // Setup span styles
- if (tinyMCE.getParam("convert_fonts_to_spans"))
- inst.getDoc().body.setAttribute('id', 'mceSpanFonts');
-
- if (tinyMCE.settings['nowrap'])
- doc.body.style.whiteSpace = "nowrap";
-
- doc.body.dir = this.settings['directionality'];
- doc.editorId = editor_id;
-
- // Add on document element in Mozilla
- if (!tinyMCE.isMSIE)
- doc.documentElement.editorId = editor_id;
-
- inst.setBaseHREF(tinyMCE.settings['base_href']);
-
- // Replace new line characters to BRs
- if (tinyMCE.settings['convert_newlines_to_brs']) {
- content = tinyMCE.regexpReplace(content, "\r\n", "<br />", "gi");
- content = tinyMCE.regexpReplace(content, "\r", "<br />", "gi");
- content = tinyMCE.regexpReplace(content, "\n", "<br />", "gi");
- }
-
- // Open closed anchors
- // content = content.replace(new RegExp('<a(.*?)/>', 'gi'), '<a$1></a>');
-
- // Call custom cleanup code
- content = tinyMCE.storeAwayURLs(content);
- content = tinyMCE._customCleanup(inst, "insert_to_editor", content);
-
- if (tinyMCE.isMSIE) {
- // Ugly!!!
- window.setInterval('try{tinyMCE.getCSSClasses(tinyMCE.instances["' + editor_id + '"].getDoc(), "' + editor_id + '");}catch(e){}', 500);
-
- if (tinyMCE.settings["force_br_newlines"])
- doc.styleSheets[0].addRule("p", "margin: 0;");
-
- var body = inst.getBody();
- body.editorId = editor_id;
- }
-
- content = tinyMCE.cleanupHTMLCode(content);
-
- // Fix for bug #958637
- if (!tinyMCE.isMSIE) {
- var contentElement = inst.getDoc().createElement("body");
- var doc = inst.getDoc();
-
- contentElement.innerHTML = content;
-
- // Remove weridness!
- if (tinyMCE.isGecko && tinyMCE.settings['remove_lt_gt'])
- content = content.replace(new RegExp('&lt;&gt;', 'g'), "");
-
- if (tinyMCE.settings['cleanup_on_startup'])
- tinyMCE.setInnerHTML(inst.getBody(), tinyMCE._cleanupHTML(inst, doc, this.settings, contentElement));
- else {
- // Convert all strong/em to b/i
- content = tinyMCE.regexpReplace(content, "<strong", "<b", "gi");
- content = tinyMCE.regexpReplace(content, "<em(/?)>", "<i$1>", "gi");
- content = tinyMCE.regexpReplace(content, "<em ", "<i ", "gi");
- content = tinyMCE.regexpReplace(content, "</strong>", "</b>", "gi");
- content = tinyMCE.regexpReplace(content, "</em>", "</i>", "gi");
- tinyMCE.setInnerHTML(inst.getBody(), content);
- }
-
- tinyMCE.convertAllRelativeURLs(inst.getBody());
- } else {
- if (tinyMCE.settings['cleanup_on_startup']) {
- tinyMCE._setHTML(inst.getDoc(), content);
-
- // Produces permission denied error in MSIE 5.5
- eval('try {tinyMCE.setInnerHTML(inst.getBody(), tinyMCE._cleanupHTML(inst, inst.contentDocument, this.settings, inst.getBody()));} catch(e) {}');
- } else
- tinyMCE._setHTML(inst.getDoc(), content);
- }
-
- // Fix for bug #957681
- //inst.getDoc().designMode = inst.getDoc().designMode;
-
- // Setup element references
- var parentElm = inst.targetDoc.getElementById(inst.editorId + '_parent');
- inst.formElement = tinyMCE.isGecko ? parentElm.previousSibling : parentElm.nextSibling;
-
- tinyMCE.handleVisualAid(inst.getBody(), true, tinyMCE.settings['visual'], inst);
- tinyMCE.dispatchCallback(inst, 'setupcontent_callback', 'setupContent', editor_id, inst.getBody(), inst.getDoc());
-
- // Re-add design mode on mozilla
- if (!tinyMCE.isMSIE)
- tinyMCE.addEventHandlers(inst);
-
- // Add blur handler
- if (tinyMCE.isMSIE) {
- tinyMCE.addEvent(inst.getBody(), "blur", TinyMCE_Engine.prototype._eventPatch);
- tinyMCE.addEvent(inst.getBody(), "beforedeactivate", TinyMCE_Engine.prototype._eventPatch); // Bug #1439953
-
- // Workaround for drag drop/copy paste base href bug
- if (!tinyMCE.isOpera) {
- tinyMCE.addEvent(doc.body, "mousemove", TinyMCE_Engine.prototype.onMouseMove);
- tinyMCE.addEvent(doc.body, "beforepaste", TinyMCE_Engine.prototype._eventPatch);
- tinyMCE.addEvent(doc.body, "drop", TinyMCE_Engine.prototype._eventPatch);
- }
- }
-
- // Trigger node change, this call locks buttons for tables and so forth
- tinyMCE.selectedInstance = inst;
- tinyMCE.selectedElement = inst.contentWindow.document.body;
-
- // Call custom DOM cleanup
- tinyMCE._customCleanup(inst, "insert_to_editor_dom", inst.getBody());
- tinyMCE._customCleanup(inst, "setup_content_dom", inst.getBody());
- tinyMCE._setEventsEnabled(inst.getBody(), false);
- tinyMCE.cleanupAnchors(inst.getDoc());
-
- if (tinyMCE.getParam("convert_fonts_to_spans"))
- tinyMCE.convertSpansToFonts(inst.getDoc());
-
- inst.startContent = tinyMCE.trim(inst.getBody().innerHTML);
- inst.undoRedo.add({ content : inst.startContent });
-
- tinyMCE.selectedInstance = inst;
- tinyMCE.triggerNodeChange(false, true);
- },
-
- storeAwayURLs : function(s) {
- // Remove all mce_src, mce_href and replace them with new ones
- // s = s.replace(new RegExp('mce_src\\s*=\\s*\"[^ >\"]*\"', 'gi'), '');
- // s = s.replace(new RegExp('mce_href\\s*=\\s*\"[^ >\"]*\"', 'gi'), '');
-
- if (!s.match(/(mce_src|mce_href)/gi, s)) {
- s = s.replace(new RegExp('src\\s*=\\s*\"([^ >\"]*)\"', 'gi'), 'src="$1" mce_src="$1"');
- s = s.replace(new RegExp('href\\s*=\\s*\"([^ >\"]*)\"', 'gi'), 'href="$1" mce_href="$1"');
- }
-
- return s;
- },
-
- removeTinyMCEFormElements : function(form_obj) {
- // Check if form is valid
- if (typeof(form_obj) == "undefined" || form_obj == null)
- return;
-
- // If not a form, find the form
- if (form_obj.nodeName != "FORM") {
- if (form_obj.form)
- form_obj = form_obj.form;
- else
- form_obj = tinyMCE.getParentElement(form_obj, "form");
- }
-
- // Still nothing
- if (form_obj == null)
- return;
-
- // Disable all UI form elements that TinyMCE created
- for (var i=0; i<form_obj.elements.length; i++) {
- var elementId = form_obj.elements[i].name ? form_obj.elements[i].name : form_obj.elements[i].id;
-
- if (elementId.indexOf('mce_editor_') == 0)
- form_obj.elements[i].disabled = true;
- }
- },
-
- handleEvent : function(e) {
- var inst = tinyMCE.selectedInstance;
-
- // Remove odd, error
- if (typeof(tinyMCE) == "undefined")
- return true;
-
- //tinyMCE.debug(e.type + " " + e.target.nodeName + " " + (e.relatedTarget ? e.relatedTarget.nodeName : ""));
-
- if (tinyMCE.executeCallback(tinyMCE.selectedInstance, 'handle_event_callback', 'handleEvent', e))
- return false;
-
- switch (e.type) {
- case "beforedeactivate": // Was added due to bug #1439953
- case "blur":
- if (tinyMCE.selectedInstance)
- tinyMCE.selectedInstance.execCommand('mceEndTyping');
-
- tinyMCE.hideMenus();
-
- return;
-
- // Workaround for drag drop/copy paste base href bug
- case "drop":
- case "beforepaste":
- if (tinyMCE.selectedInstance)
- tinyMCE.selectedInstance.setBaseHREF(null);
-
- window.setTimeout("tinyMCE.selectedInstance.setBaseHREF(tinyMCE.settings['base_href']);", 1);
- return;
-
- case "submit":
- tinyMCE.removeTinyMCEFormElements(tinyMCE.isMSIE ? window.event.srcElement : e.target);
- tinyMCE.triggerSave();
- tinyMCE.isNotDirty = true;
- return;
-
- case "reset":
- var formObj = tinyMCE.isMSIE ? window.event.srcElement : e.target;
-
- for (var i=0; i<document.forms.length; i++) {
- if (document.forms[i] == formObj)
- window.setTimeout('tinyMCE.resetForm(' + i + ');', 10);
- }
-
- return;
-
- case "keypress":
- if (inst && inst.handleShortcut(e))
- return false;
-
- if (e.target.editorId) {
- tinyMCE.selectedInstance = tinyMCE.instances[e.target.editorId];
- } else {
- if (e.target.ownerDocument.editorId)
- tinyMCE.selectedInstance = tinyMCE.instances[e.target.ownerDocument.editorId];
- }
-
- if (tinyMCE.selectedInstance)
- tinyMCE.selectedInstance.switchSettings();
-
- // Insert P element
- if (tinyMCE.isGecko && tinyMCE.settings['force_p_newlines'] && e.keyCode == 13 && !e.shiftKey) {
- // Insert P element instead of BR
- if (TinyMCE_ForceParagraphs._insertPara(tinyMCE.selectedInstance, e)) {
- // Cancel event
- tinyMCE.execCommand("mceAddUndoLevel");
- tinyMCE.cancelEvent(e);
- return false;
- }
- }
-
- // Handle backspace
- if (tinyMCE.isGecko && tinyMCE.settings['force_p_newlines'] && (e.keyCode == 8 || e.keyCode == 46) && !e.shiftKey) {
- // Insert P element instead of BR
- if (TinyMCE_ForceParagraphs._handleBackSpace(tinyMCE.selectedInstance, e.type)) {
- // Cancel event
- tinyMCE.execCommand("mceAddUndoLevel");
- tinyMCE.cancelEvent(e);
- return false;
- }
- }
-
- // Return key pressed
- if (tinyMCE.isMSIE && tinyMCE.settings['force_br_newlines'] && e.keyCode == 13) {
- if (e.target.editorId)
- tinyMCE.selectedInstance = tinyMCE.instances[e.target.editorId];
-
- if (tinyMCE.selectedInstance) {
- var sel = tinyMCE.selectedInstance.getDoc().selection;
- var rng = sel.createRange();
-
- if (tinyMCE.getParentElement(rng.parentElement(), "li") != null)
- return false;
-
- // Cancel event
- e.returnValue = false;
- e.cancelBubble = true;
-
- // Insert BR element
- rng.pasteHTML("<br />");
- rng.collapse(false);
- rng.select();
-
- tinyMCE.execCommand("mceAddUndoLevel");
- tinyMCE.triggerNodeChange(false);
- return false;
- }
- }
-
- // Backspace or delete
- if (e.keyCode == 8 || e.keyCode == 46) {
- tinyMCE.selectedElement = e.target;
- tinyMCE.linkElement = tinyMCE.getParentElement(e.target, "a");
- tinyMCE.imgElement = tinyMCE.getParentElement(e.target, "img");
- tinyMCE.triggerNodeChange(false);
- }
-
- return false;
- break;
-
- case "keyup":
- case "keydown":
- tinyMCE.hideMenus();
- tinyMCE.hasMouseMoved = false;
-
- if (inst && inst.handleShortcut(e))
- return false;
-
- if (e.target.editorId)
- tinyMCE.selectedInstance = tinyMCE.instances[e.target.editorId];
- else
- return;
-
- if (tinyMCE.selectedInstance)
- tinyMCE.selectedInstance.switchSettings();
-
- var inst = tinyMCE.selectedInstance;
-
- // Handle backspace
- if (tinyMCE.isGecko && tinyMCE.settings['force_p_newlines'] && (e.keyCode == 8 || e.keyCode == 46) && !e.shiftKey) {
- // Insert P element instead of BR
- if (TinyMCE_ForceParagraphs._handleBackSpace(tinyMCE.selectedInstance, e.type)) {
- // Cancel event
- tinyMCE.execCommand("mceAddUndoLevel");
- e.preventDefault();
- return false;
- }
- }
-
- tinyMCE.selectedElement = null;
- tinyMCE.selectedNode = null;
- var elm = tinyMCE.selectedInstance.getFocusElement();
- tinyMCE.linkElement = tinyMCE.getParentElement(elm, "a");
- tinyMCE.imgElement = tinyMCE.getParentElement(elm, "img");
- tinyMCE.selectedElement = elm;
-
- // Update visualaids on tabs
- if (tinyMCE.isGecko && e.type == "keyup" && e.keyCode == 9)
- tinyMCE.handleVisualAid(tinyMCE.selectedInstance.getBody(), true, tinyMCE.settings['visual'], tinyMCE.selectedInstance);
-
- // Fix empty elements on return/enter, check where enter occured
- if (tinyMCE.isMSIE && e.type == "keydown" && e.keyCode == 13)
- tinyMCE.enterKeyElement = tinyMCE.selectedInstance.getFocusElement();
-
- // Fix empty elements on return/enter
- if (tinyMCE.isMSIE && e.type == "keyup" && e.keyCode == 13) {
- var elm = tinyMCE.enterKeyElement;
- if (elm) {
- var re = new RegExp('^HR|IMG|BR$','g'); // Skip these
- var dre = new RegExp('^H[1-6]$','g'); // Add double on these
-
- if (!elm.hasChildNodes() && !re.test(elm.nodeName)) {
- if (dre.test(elm.nodeName))
- elm.innerHTML = "&nbsp;&nbsp;";
- else
- elm.innerHTML = "&nbsp;";
- }
- }
- }
-
- // Check if it's a position key
- var keys = tinyMCE.posKeyCodes;
- var posKey = false;
- for (var i=0; i<keys.length; i++) {
- if (keys[i] == e.keyCode) {
- posKey = true;
- break;
- }
- }
-
- // MSIE custom key handling
- if (tinyMCE.isMSIE && tinyMCE.settings['custom_undo_redo']) {
- var keys = new Array(8,46); // Backspace,Delete
- for (var i=0; i<keys.length; i++) {
- if (keys[i] == e.keyCode) {
- if (e.type == "keyup")
- tinyMCE.triggerNodeChange(false);
- }
- }
- }
-
- // If Ctrl key
- if (e.keyCode == 17)
- return true;
-
- // Handle Undo/Redo when typing content
-
- // Start typing (non position key)
- if (!posKey && e.type == "keyup")
- tinyMCE.execCommand("mceStartTyping");
-
- // Store undo bookmark
- if (e.type == "keydown" && (posKey || e.ctrlKey) && inst)
- inst.undoBookmark = inst.selection.getBookmark();
-
- // End typing (position key) or some Ctrl event
- if (e.type == "keyup" && (posKey || e.ctrlKey))
- tinyMCE.execCommand("mceEndTyping");
-
- if (posKey && e.type == "keyup")
- tinyMCE.triggerNodeChange(false);
-
- if (tinyMCE.isMSIE && e.ctrlKey)
- window.setTimeout('tinyMCE.triggerNodeChange(false);', 1);
- break;
-
- case "mousedown":
- case "mouseup":
- case "click":
- case "focus":
- tinyMCE.hideMenus();
-
- if (tinyMCE.selectedInstance) {
- tinyMCE.selectedInstance.switchSettings();
- tinyMCE.selectedInstance.isFocused = true;
- }
-
- // Check instance event trigged on
- var targetBody = tinyMCE.getParentElement(e.target, "body");
- for (var instanceName in tinyMCE.instances) {
- if (!tinyMCE.isInstance(tinyMCE.instances[instanceName]))
- continue;
-
- var inst = tinyMCE.instances[instanceName];
-
- // Reset design mode if lost (on everything just in case)
- inst.autoResetDesignMode();
-
- if (inst.getBody() == targetBody) {
- tinyMCE.selectedInstance = inst;
- tinyMCE.selectedElement = e.target;
- tinyMCE.linkElement = tinyMCE.getParentElement(tinyMCE.selectedElement, "a");
- tinyMCE.imgElement = tinyMCE.getParentElement(tinyMCE.selectedElement, "img");
- break;
- }
- }
-
- // Add first bookmark location
- if (!tinyMCE.selectedInstance.undoRedo.undoLevels[0].bookmark)
- tinyMCE.selectedInstance.undoRedo.undoLevels[0].bookmark = tinyMCE.selectedInstance.selection.getBookmark();
-
- if (tinyMCE.isSafari) {
- tinyMCE.selectedInstance.lastSafariSelection = tinyMCE.selectedInstance.selection.getBookmark();
- tinyMCE.selectedInstance.lastSafariSelectedElement = tinyMCE.selectedElement;
-
- var lnk = tinyMCE.getParentElement(tinyMCE.selectedElement, "a");
-
- // Patch the darned link
- if (lnk && e.type == "mousedown") {
- lnk.setAttribute("mce_real_href", lnk.getAttribute("href"));
- lnk.setAttribute("href", "javascript:void(0);");
- }
-
- // Patch back
- if (lnk && e.type == "click") {
- window.setTimeout(function() {
- lnk.setAttribute("href", lnk.getAttribute("mce_real_href"));
- lnk.removeAttribute("mce_real_href");
- }, 10);
- }
- }
-
- // Reset selected node
- if (e.type != "focus")
- tinyMCE.selectedNode = null;
-
- tinyMCE.triggerNodeChange(false);
- tinyMCE.execCommand("mceEndTyping");
-
- if (e.type == "mouseup")
- tinyMCE.execCommand("mceAddUndoLevel");
-
- // Just in case
- if (!tinyMCE.selectedInstance && e.target.editorId)
- tinyMCE.selectedInstance = tinyMCE.instances[e.target.editorId];
-
- return false;
- break;
- }
- },
-
- getButtonHTML : function(id, lang, img, cmd, ui, val) {
- var h = '', m, x;
-
- cmd = 'tinyMCE.execInstanceCommand(\'{$editor_id}\',\'' + cmd + '\'';
-
- if (typeof(ui) != "undefined" && ui != null)
- cmd += ',' + ui;
-
- if (typeof(val) != "undefined" && val != null)
- cmd += ",'" + val + "'";
-
- cmd += ');';
-
- // Use tilemaps when enabled and found and never in MSIE since it loads the tile each time from cache if cahce is disabled
- if (tinyMCE.getParam('button_tile_map') && (!tinyMCE.isMSIE || tinyMCE.isOpera) && (m = this.buttonMap[id]) != null && (tinyMCE.getParam("language") == "en" || img.indexOf('$lang') == -1)) {
- // Tiled button
- x = 0 - (m * 20) == 0 ? '0' : 0 - (m * 20);
- h += '<a id="{$editor_id}_' + id + '" href="javascript:' + cmd + '" onclick="' + cmd + 'return false;" onmousedown="return false;" class="mceTiledButton mceButtonNormal" target="_self">';
- h += '<img src="{$themeurl}/images/spacer.gif" style="background-position: ' + x + 'px 0" title="{$' + lang + '}" />';
- h += '</a>';
- } else {
- // Normal button
- h += '<a id="{$editor_id}_' + id + '" href="javascript:' + cmd + '" onclick="' + cmd + 'return false;" onmousedown="return false;" class="mceButtonNormal" target="_self">';
- h += '<img src="' + img + '" title="{$' + lang + '}" />';
- h += '</a>';
- }
-
- return h;
- },
-
- addButtonMap : function(m) {
- var i, a = m.replace(/\s+/, '').split(',');
-
- for (i=0; i<a.length; i++)
- this.buttonMap[a[i]] = i;
- },
-
- submitPatch : function() {
- tinyMCE.removeTinyMCEFormElements(this);
- tinyMCE.triggerSave();
- this.mceOldSubmit();
- tinyMCE.isNotDirty = true;
- },
-
- onLoad : function() {
- if (tinyMCE.isMSIE && !tinyMCE.isOpera && window.event.type == "readystatechange" && document.readyState != "complete")
- return true;
-
- if (tinyMCE.isLoaded)
- return true;
-
- tinyMCE.isLoaded = true;
-
- tinyMCE.dispatchCallback(null, 'onpageload', 'onPageLoad');
-
- for (var c=0; c<tinyMCE.configs.length; c++) {
- tinyMCE.settings = tinyMCE.configs[c];
-
- var selector = tinyMCE.getParam("editor_selector");
- var deselector = tinyMCE.getParam("editor_deselector");
- var elementRefAr = new Array();
-
- // Add submit triggers
- if (document.forms && tinyMCE.settings['add_form_submit_trigger'] && !tinyMCE.submitTriggers) {
- for (var i=0; i<document.forms.length; i++) {
- var form = document.forms[i];
-
- tinyMCE.addEvent(form, "submit", TinyMCE_Engine.prototype.handleEvent);
- tinyMCE.addEvent(form, "reset", TinyMCE_Engine.prototype.handleEvent);
- tinyMCE.submitTriggers = true; // Do it only once
-
- // Patch the form.submit function
- if (tinyMCE.settings['submit_patch']) {
- try {
- form.mceOldSubmit = form.submit;
- form.submit = TinyMCE_Engine.prototype.submitPatch;
- } catch (e) {
- // Do nothing
- }
- }
- }
- }
-
- // Add editor instances based on mode
- var mode = tinyMCE.settings['mode'];
- switch (mode) {
- case "exact":
- var elements = tinyMCE.getParam('elements', '', true, ',');
-
- for (var i=0; i<elements.length; i++) {
- var element = tinyMCE._getElementById(elements[i]);
- var trigger = element ? element.getAttribute(tinyMCE.settings['textarea_trigger']) : "";
-
- if (tinyMCE.getAttrib(element, "class").indexOf(deselector) != -1)
- continue;
-
- if (trigger == "false")
- continue;
-
- if ((tinyMCE.settings['ask'] || tinyMCE.settings['convert_on_click']) && element) {
- elementRefAr[elementRefAr.length] = element;
- continue;
- }
-
- if (element)
- tinyMCE.addMCEControl(element, elements[i]);
- else if (tinyMCE.settings['debug'])
- alert("Error: Could not find element by id or name: " + elements[i]);
- }
- break;
-
- case "specific_textareas":
- case "textareas":
- var nodeList = document.getElementsByTagName("textarea");
-
- for (var i=0; i<nodeList.length; i++) {
- var elm = nodeList.item(i);
- var trigger = elm.getAttribute(tinyMCE.settings['textarea_trigger']);
-
- if (selector != '' && tinyMCE.getAttrib(elm, "class").indexOf(selector) == -1)
- continue;
-
- if (selector != '')
- trigger = selector != "" ? "true" : "";
-
- if (tinyMCE.getAttrib(elm, "class").indexOf(deselector) != -1)
- continue;
-
- if ((mode == "specific_textareas" && trigger == "true") || (mode == "textareas" && trigger != "false"))
- elementRefAr[elementRefAr.length] = elm;
- }
- break;
- }
-
- for (var i=0; i<elementRefAr.length; i++) {
- var element = elementRefAr[i];
- var elementId = element.name ? element.name : element.id;
-
- if (tinyMCE.settings['ask'] || tinyMCE.settings['convert_on_click']) {
- // Focus breaks in Mozilla
- if (tinyMCE.isGecko) {
- var settings = tinyMCE.settings;
-
- tinyMCE.addEvent(element, "focus", function (e) {window.setTimeout(function() {TinyMCE_Engine.prototype.confirmAdd(e, settings);}, 10);});
-
- if (element.nodeName != "TEXTAREA" && element.nodeName != "INPUT")
- tinyMCE.addEvent(element, "click", function (e) {window.setTimeout(function() {TinyMCE_Engine.prototype.confirmAdd(e, settings);}, 10);});
- // tinyMCE.addEvent(element, "mouseover", function (e) {window.setTimeout(function() {TinyMCE_Engine.prototype.confirmAdd(e, settings);}, 10);});
- } else {
- var settings = tinyMCE.settings;
-
- tinyMCE.addEvent(element, "focus", function () { TinyMCE_Engine.prototype.confirmAdd(null, settings); });
- tinyMCE.addEvent(element, "click", function () { TinyMCE_Engine.prototype.confirmAdd(null, settings); });
- // tinyMCE.addEvent(element, "mouseenter", function () { TinyMCE_Engine.prototype.confirmAdd(null, settings); });
- }
- } else
- tinyMCE.addMCEControl(element, elementId);
- }
-
- // Handle auto focus
- if (tinyMCE.settings['auto_focus']) {
- window.setTimeout(function () {
- var inst = tinyMCE.getInstanceById(tinyMCE.settings['auto_focus']);
- inst.selection.selectNode(inst.getBody(), true, true);
- inst.contentWindow.focus();
- }, 10);
- }
-
- tinyMCE.dispatchCallback(null, 'oninit', 'onInit');
- }
- },
-
- isInstance : function(o) {
- return o != null && typeof(o) == "object" && o.isTinyMCE_Control;
- },
-
- getParam : function(name, default_value, strip_whitespace, split_chr) {
- var value = (typeof(this.settings[name]) == "undefined") ? default_value : this.settings[name];
-
- // Fix bool values
- if (value == "true" || value == "false")
- return (value == "true");
-
- if (strip_whitespace)
- value = tinyMCE.regexpReplace(value, "[ \t\r\n]", "");
-
- if (typeof(split_chr) != "undefined" && split_chr != null) {
- value = value.split(split_chr);
- var outArray = new Array();
-
- for (var i=0; i<value.length; i++) {
- if (value[i] && value[i] != "")
- outArray[outArray.length] = value[i];
- }
-
- value = outArray;
- }
-
- return value;
- },
-
- getLang : function(name, default_value, parse_entities, va) {
- var v = (typeof(tinyMCELang[name]) == "undefined") ? default_value : tinyMCELang[name], n;
-
- if (parse_entities)
- v = tinyMCE.entityDecode(v);
-
- if (va) {
- for (n in va)
- v = this.replaceVar(v, n, va[n]);
- }
-
- return v;
- },
-
- entityDecode : function(s) {
- var e = document.createElement("div");
- e.innerHTML = s;
- return e.innerHTML;
- },
-
- addToLang : function(prefix, ar) {
- for (var key in ar) {
- if (typeof(ar[key]) == 'function')
- continue;
-
- tinyMCELang[(key.indexOf('lang_') == -1 ? 'lang_' : '') + (prefix != '' ? (prefix + "_") : '') + key] = ar[key];
- }
-
- // for (var key in ar)
- // tinyMCELang[(key.indexOf('lang_') == -1 ? 'lang_' : '') + (prefix != '' ? (prefix + "_") : '') + key] = "|" + ar[key] + "|";
- },
-
- triggerNodeChange : function(focus, setup_content) {
- if (tinyMCE.selectedInstance) {
- var inst = tinyMCE.selectedInstance;
- var editorId = inst.editorId;
- var elm = (typeof(setup_content) != "undefined" && setup_content) ? tinyMCE.selectedElement : inst.getFocusElement();
- var undoIndex = -1;
- var undoLevels = -1;
- var anySelection = false;
- var selectedText = inst.selection.getSelectedText();
-
- if (setup_content && tinyMCE.isGecko && inst.isHidden())
- elm = inst.getBody();
-
- inst.switchSettings();
-
- if (tinyMCE.settings["auto_resize"]) {
- var doc = inst.getDoc();
-
- inst.iframeElement.style.width = doc.body.offsetWidth + "px";
- inst.iframeElement.style.height = doc.body.offsetHeight + "px";
- }
-
- if (tinyMCE.selectedElement)
- anySelection = (tinyMCE.selectedElement.nodeName.toLowerCase() == "img") || (selectedText && selectedText.length > 0);
-
- if (tinyMCE.settings['custom_undo_redo']) {
- undoIndex = inst.undoRedo.undoIndex;
- undoLevels = inst.undoRedo.undoLevels.length;
- }
-
- tinyMCE.dispatchCallback(inst, 'handle_node_change_callback', 'handleNodeChange', editorId, elm, undoIndex, undoLevels, inst.visualAid, anySelection, setup_content);
- }
-
- if (this.selectedInstance && (typeof(focus) == "undefined" || focus))
- this.selectedInstance.contentWindow.focus();
- },
-
- _customCleanup : function(inst, type, content) {
- var pl, po, i;
-
- // Call custom cleanup
- var customCleanup = tinyMCE.settings['cleanup_callback'];
- if (customCleanup != "" && eval("typeof(" + customCleanup + ")") != "undefined")
- content = eval(customCleanup + "(type, content, inst);");
-
- // Trigger plugin cleanups
- pl = inst.plugins;
- for (i=0; i<pl.length; i++) {
- po = tinyMCE.plugins[pl[i]];
-
- if (po && po.cleanup)
- content = po.cleanup(type, content, inst);
- }
-
- return content;
- },
-
- setContent : function(h) {
- if (tinyMCE.selectedInstance) {
- tinyMCE.selectedInstance.execCommand('mceSetContent', false, h);
- tinyMCE.selectedInstance.repaint();
- }
- },
-
- importThemeLanguagePack : function(name) {
- if (typeof(name) == "undefined")
- name = tinyMCE.settings['theme'];
-
- tinyMCE.loadScript(tinyMCE.baseURL + '/themes/' + name + '/langs/' + tinyMCE.settings['language'] + '.js');
- },
-
- importPluginLanguagePack : function(name, valid_languages) {
- var lang = "en", b = tinyMCE.baseURL + '/plugins/' + name;
-
- valid_languages = valid_languages.split(',');
- for (var i=0; i<valid_languages.length; i++) {
- if (tinyMCE.settings['language'] == valid_languages[i])
- lang = tinyMCE.settings['language'];
- }
-
- if (this.plugins[name])
- b = this.plugins[name].baseURL;
-
- tinyMCE.loadScript(b + '/langs/' + lang + '.js');
- },
-
- applyTemplate : function(h, as) {
- var i, s, ar = h.match(new RegExp('\\{\\$[a-z0-9_]+\\}', 'gi'));
-
- if (ar && ar.length > 0) {
- for (i=ar.length-1; i>=0; i--) {
- s = ar[i].substring(2, ar[i].length-1);
-
- if (s.indexOf('lang_') == 0 && tinyMCELang[s])
- h = tinyMCE.replaceVar(h, s, tinyMCELang[s]);
- else if (as && as[s])
- h = tinyMCE.replaceVar(h, s, as[s]);
- else if (tinyMCE.settings[s])
- h = tinyMCE.replaceVar(h, s, tinyMCE.settings[s]);
- }
- }
-
- h = tinyMCE.replaceVar(h, "themeurl", tinyMCE.themeURL);
-
- return h;
- },
-
- replaceVar : function(h, r, v) {
- return h.replace(new RegExp('{\\\$' + r + '}', 'g'), v);
- },
-
- openWindow : function(template, args) {
- var html, width, height, x, y, resizable, scrollbars, url;
-
- args['mce_template_file'] = template['file'];
- args['mce_width'] = template['width'];
- args['mce_height'] = template['height'];
- tinyMCE.windowArgs = args;
-
- html = template['html'];
- if (!(width = parseInt(template['width'])))
- width = 320;
-
- if (!(height = parseInt(template['height'])))
- height = 200;
-
- // Add to height in M$ due to SP2 WHY DON'T YOU GUYS IMPLEMENT innerWidth of windows!!
- if (tinyMCE.isMSIE)
- height += 40;
- else
- height += 20;
-
- x = parseInt(screen.width / 2.0) - (width / 2.0);
- y = parseInt(screen.height / 2.0) - (height / 2.0);
-
- resizable = (args && args['resizable']) ? args['resizable'] : "no";
- scrollbars = (args && args['scrollbars']) ? args['scrollbars'] : "no";
-
- if (template['file'].charAt(0) != '/' && template['file'].indexOf('://') == -1)
- url = tinyMCE.baseURL + "/themes/" + tinyMCE.getParam("theme") + "/" + template['file'];
- else
- url = template['file'];
-
- // Replace all args as variables in URL
- for (var name in args) {
- if (typeof(args[name]) == 'function')
- continue;
-
- url = tinyMCE.replaceVar(url, name, escape(args[name]));
- }
-
- if (html) {
- html = tinyMCE.replaceVar(html, "css", this.settings['popups_css']);
- html = tinyMCE.applyTemplate(html, args);
-
- var win = window.open("", "mcePopup" + new Date().getTime(), "top=" + y + ",left=" + x + ",scrollbars=" + scrollbars + ",dialog=yes,minimizable=" + resizable + ",modal=yes,width=" + width + ",height=" + height + ",resizable=" + resizable);
- if (win == null) {
- alert(tinyMCELang['lang_popup_blocked']);
- return;
- }
-
- win.document.write(html);
- win.document.close();
- win.resizeTo(width, height);
- win.focus();
- } else {
- if ((tinyMCE.isMSIE && !tinyMCE.isOpera) && resizable != 'yes' && tinyMCE.settings["dialog_type"] == "modal") {
- height += 10;
-
- var features = "resizable:" + resizable
- + ";scroll:"
- + scrollbars + ";status:yes;center:yes;help:no;dialogWidth:"
- + width + "px;dialogHeight:" + height + "px;";
-
- window.showModalDialog(url, window, features);
- } else {
- var modal = (resizable == "yes") ? "no" : "yes";
-
- if (tinyMCE.isGecko && tinyMCE.isMac)
- modal = "no";
-
- if (template['close_previous'] != "no")
- try {tinyMCE.lastWindow.close();} catch (ex) {}
-
- var win = window.open(url, "mcePopup" + new Date().getTime(), "top=" + y + ",left=" + x + ",scrollbars=" + scrollbars + ",dialog=" + modal + ",minimizable=" + resizable + ",modal=" + modal + ",width=" + width + ",height=" + height + ",resizable=" + resizable);
- if (win == null) {
- alert(tinyMCELang['lang_popup_blocked']);
- return;
- }
-
- if (template['close_previous'] != "no")
- tinyMCE.lastWindow = win;
-
- eval('try { win.resizeTo(width, height); } catch(e) { }');
-
- // Make it bigger if statusbar is forced
- if (tinyMCE.isGecko) {
- if (win.document.defaultView.statusbar.visible)
- win.resizeBy(0, tinyMCE.isMac ? 10 : 24);
- }
-
- win.focus();
- }
- }
- },
-
- closeWindow : function(win) {
- win.close();
- },
-
- getVisualAidClass : function(class_name, state) {
- var aidClass = tinyMCE.settings['visual_table_class'];
-
- if (typeof(state) == "undefined")
- state = tinyMCE.settings['visual'];
-
- // Split
- var classNames = new Array();
- var ar = class_name.split(' ');
- for (var i=0; i<ar.length; i++) {
- if (ar[i] == aidClass)
- ar[i] = "";
-
- if (ar[i] != "")
- classNames[classNames.length] = ar[i];
- }
-
- if (state)
- classNames[classNames.length] = aidClass;
-
- // Glue
- var className = "";
- for (var i=0; i<classNames.length; i++) {
- if (i > 0)
- className += " ";
-
- className += classNames[i];
- }
-
- return className;
- },
-
- handleVisualAid : function(el, deep, state, inst) {
- if (!el)
- return;
-
- var tableElement = null;
-
- switch (el.nodeName) {
- case "TABLE":
- var oldW = el.style.width;
- var oldH = el.style.height;
- var bo = tinyMCE.getAttrib(el, "border");
-
- bo = bo == "" || bo == "0" ? true : false;
-
- tinyMCE.setAttrib(el, "class", tinyMCE.getVisualAidClass(tinyMCE.getAttrib(el, "class"), state && bo));
-
- el.style.width = oldW;
- el.style.height = oldH;
-
- for (var y=0; y<el.rows.length; y++) {
- for (var x=0; x<el.rows[y].cells.length; x++) {
- var cn = tinyMCE.getVisualAidClass(tinyMCE.getAttrib(el.rows[y].cells[x], "class"), state && bo);
- tinyMCE.setAttrib(el.rows[y].cells[x], "class", cn);
- }
- }
-
- break;
-
- case "A":
- var anchorName = tinyMCE.getAttrib(el, "name");
-
- if (anchorName != '' && state) {
- el.title = anchorName;
- el.className = 'mceItemAnchor';
- } else if (anchorName != '' && !state)
- el.className = '';
-
- break;
- }
-
- if (deep && el.hasChildNodes()) {
- for (var i=0; i<el.childNodes.length; i++)
- tinyMCE.handleVisualAid(el.childNodes[i], deep, state, inst);
- }
- },
-
- /*
- applyClassesToFonts : function(doc, size) {
- var f = doc.getElementsByTagName("font");
- for (var i=0; i<f.length; i++) {
- var s = tinyMCE.getAttrib(f[i], "size");
-
- if (s != "")
- tinyMCE.setAttrib(f[i], 'class', "mceItemFont" + s);
- }
-
- if (typeof(size) != "undefined") {
- var css = "";
-
- for (var x=0; x<doc.styleSheets.length; x++) {
- for (var i=0; i<doc.styleSheets[x].rules.length; i++) {
- if (doc.styleSheets[x].rules[i].selectorText == '#mceSpanFonts .mceItemFont' + size) {
- css = doc.styleSheets[x].rules[i].style.cssText;
- break;
- }
- }
-
- if (css != "")
- break;
- }
-
- if (doc.styleSheets[0].rules[0].selectorText == "FONT")
- doc.styleSheets[0].removeRule(0);
-
- doc.styleSheets[0].addRule("FONT", css, 0);
- }
- },
- */
-
- fixGeckoBaseHREFBug : function(m, e, h) {
- var nl, i;
-
- if (tinyMCE.isGecko) {
- if (m == 1) {
- h = h.replace(/\ssrc=/gi, " xsrc=");
- h = h.replace(/\shref=/gi, " xhref=");
-
- return h;
- } else {
- var el = new Array('a','img','select','area','iframe','base','input','script','embed','object','link');
-
- for (var a=0; a<el.length; a++) {
- var n = e.getElementsByTagName(el[a]);
-
- for (i=0; i<n.length; i++) {
- var xsrc = tinyMCE.getAttrib(n[i], "xsrc");
- var xhref = tinyMCE.getAttrib(n[i], "xhref");
-
- if (xsrc != "") {
- n[i].src = tinyMCE.convertRelativeToAbsoluteURL(tinyMCE.settings['base_href'], xsrc);
- n[i].removeAttribute("xsrc");
- }
-
- if (xhref != "") {
- n[i].href = tinyMCE.convertRelativeToAbsoluteURL(tinyMCE.settings['base_href'], xhref);
- n[i].removeAttribute("xhref");
- }
- }
- }
- }
- }
-
- return h;
- },
-
- _setHTML : function(doc, html_content) {
- // Force closed anchors open
- //html_content = html_content.replace(new RegExp('<a(.*?)/>', 'gi'), '<a$1></a>');
-
- html_content = tinyMCE.cleanupHTMLCode(html_content);
-
- // Try innerHTML if it fails use pasteHTML in MSIE
- try {
- tinyMCE.setInnerHTML(doc.body, html_content);
- } catch (e) {
- if (this.isMSIE)
- doc.body.createTextRange().pasteHTML(html_content);
- }
-
- // Content duplication bug fix
- if (tinyMCE.isMSIE && tinyMCE.settings['fix_content_duplication']) {
- // Remove P elements in P elements
- var paras = doc.getElementsByTagName("P");
- for (var i=0; i<paras.length; i++) {
- var node = paras[i];
- while ((node = node.parentNode) != null) {
- if (node.nodeName == "P")
- node.outerHTML = node.innerHTML;
- }
- }
-
- // Content duplication bug fix (Seems to be word crap)
- var html = doc.body.innerHTML;
-/*
- if (html.indexOf('="mso') != -1) {
- for (var i=0; i<doc.body.all.length; i++) {
- var el = doc.body.all[i];
- el.removeAttribute("className","",0);
- el.removeAttribute("style","",0);
- }
-
- html = doc.body.innerHTML;
- html = tinyMCE.regexpReplace(html, "<o:p><\/o:p>", "<br />");
- html = tinyMCE.regexpReplace(html, "<o:p>&nbsp;<\/o:p>", "");
- html = tinyMCE.regexpReplace(html, "<st1:.*?>", "");
- html = tinyMCE.regexpReplace(html, "<p><\/p>", "");
- html = tinyMCE.regexpReplace(html, "<p><\/p>\r\n<p><\/p>", "");
- html = tinyMCE.regexpReplace(html, "<p>&nbsp;<\/p>", "<br />");
- html = tinyMCE.regexpReplace(html, "<p>\s*(<p>\s*)?", "<p>");
- html = tinyMCE.regexpReplace(html, "<\/p>\s*(<\/p>\s*)?", "</p>");
- }*/
-
- // Always set the htmlText output
- tinyMCE.setInnerHTML(doc.body, html);
- }
-
- tinyMCE.cleanupAnchors(doc);
-
- if (tinyMCE.getParam("convert_fonts_to_spans"))
- tinyMCE.convertSpansToFonts(doc);
- },
-
- getEditorId : function(form_element) {
- var inst = this.getInstanceById(form_element);
- if (!inst)
- return null;
-
- return inst.editorId;
- },
-
- getInstanceById : function(editor_id) {
- var inst = this.instances[editor_id];
- if (!inst) {
- for (var n in tinyMCE.instances) {
- var instance = tinyMCE.instances[n];
- if (!tinyMCE.isInstance(instance))
- continue;
-
- if (instance.formTargetElementId == editor_id) {
- inst = instance;
- break;
- }
- }
- }
-
- return inst;
- },
-
- queryInstanceCommandValue : function(editor_id, command) {
- var inst = tinyMCE.getInstanceById(editor_id);
- if (inst)
- return inst.queryCommandValue(command);
-
- return false;
- },
-
- queryInstanceCommandState : function(editor_id, command) {
- var inst = tinyMCE.getInstanceById(editor_id);
- if (inst)
- return inst.queryCommandState(command);
-
- return null;
- },
-
- setWindowArg : function(n, v) {
- this.windowArgs[n] = v;
- },
-
- getWindowArg : function(n, d) {
- return (typeof(this.windowArgs[n]) == "undefined") ? d : this.windowArgs[n];
- },
-
- getCSSClasses : function(editor_id, doc) {
- var output = new Array();
-
- // Is cached, use that
- if (typeof(tinyMCE.cssClasses) != "undefined")
- return tinyMCE.cssClasses;
-
- if (typeof(editor_id) == "undefined" && typeof(doc) == "undefined") {
- var instance;
-
- for (var instanceName in tinyMCE.instances) {
- instance = tinyMCE.instances[instanceName];
- if (!tinyMCE.isInstance(instance))
- continue;
-
- break;
- }
-
- doc = instance.getDoc();
- }
-
- if (typeof(doc) == "undefined") {
- var instance = tinyMCE.getInstanceById(editor_id);
- doc = instance.getDoc();
- }
-
- if (doc) {
- var styles = tinyMCE.isMSIE ? doc.styleSheets : doc.styleSheets;
-
- if (styles && styles.length > 0) {
- for (var x=0; x<styles.length; x++) {
- var csses = null;
-
- // Just ignore any errors
- eval("try {var csses = tinyMCE.isMSIE ? doc.styleSheets(" + x + ").rules : doc.styleSheets[" + x + "].cssRules;} catch(e) {}");
- if (!csses)
- return new Array();
-
- for (var i=0; i<csses.length; i++) {
- var selectorText = csses[i].selectorText;
-
- // Can be multiple rules per selector
- if (selectorText) {
- var rules = selectorText.split(',');
- for (var c=0; c<rules.length; c++) {
- // Invalid rule
- if (rules[c].indexOf(' ') != -1 || rules[c].indexOf(':') != -1 || rules[c].indexOf('mceItem') != -1)
- continue;
-
- if (rules[c] == "." + tinyMCE.settings['visual_table_class'] || rules[c].indexOf('mceEditable') != -1 || rules[c].indexOf('mceNonEditable') != -1)
- continue;
-
- // Is class rule
- if (rules[c].indexOf('.') != -1) {
- //alert(rules[c].substring(rules[c].indexOf('.')));
- output[output.length] = rules[c].substring(rules[c].indexOf('.')+1);
- }
- }
- }
- }
- }
- }
- }
-
- // Cache em
- if (output.length > 0)
- tinyMCE.cssClasses = output;
-
- return output;
- },
-
- regexpReplace : function(in_str, reg_exp, replace_str, opts) {
- if (in_str == null)
- return in_str;
-
- if (typeof(opts) == "undefined")
- opts = 'g';
-
- var re = new RegExp(reg_exp, opts);
- return in_str.replace(re, replace_str);
- },
-
- trim : function(s) {
- return s.replace(/^\s*|\s*$/g, "");
- },
-
- cleanupEventStr : function(s) {
- s = "" + s;
- s = s.replace('function anonymous()\n{\n', '');
- s = s.replace('\n}', '');
- s = s.replace(/^return true;/gi, ''); // Remove event blocker
-
- return s;
- },
-
- getControlHTML : function(c) {
- var i, l, n, o, v;
-
- l = tinyMCE.plugins;
- for (n in l) {
- o = l[n];
-
- if (o.getControlHTML && (v = o.getControlHTML(c)) != '')
- return tinyMCE.replaceVar(v, "pluginurl", o.baseURL);
- }
-
- o = tinyMCE.themes[tinyMCE.settings['theme']];
- if (o.getControlHTML && (v = o.getControlHTML(c)) != '')
- return v;
-
- return '';
- },
-
- evalFunc : function(f, idx, a) {
- var s = '(', i;
-
- for (i=idx; i<a.length; i++) {
- s += 'a[' + i + ']';
-
- if (i < a.length-1)
- s += ',';
- }
-
- s += ');';
-
- return eval("f" + s);
- },
-
- dispatchCallback : function(i, p, n) {
- return this.callFunc(i, p, n, 0, this.dispatchCallback.arguments);
- },
-
- executeCallback : function(i, p, n) {
- return this.callFunc(i, p, n, 1, this.executeCallback.arguments);
- },
-
- execCommandCallback : function(i, p, n) {
- return this.callFunc(i, p, n, 2, this.execCommandCallback.arguments);
- },
-
- callFunc : function(ins, p, n, m, a) {
- var l, i, on, o, s, v;
-
- s = m == 2;
-
- l = tinyMCE.getParam(p, '');
-
- if (l != '' && (v = tinyMCE.evalFunc(typeof(l) == "function" ? l : eval(l), 3, a)) == s && m > 0)
- return true;
-
- if (ins != null) {
- for (i=0, l = ins.plugins; i<l.length; i++) {
- o = tinyMCE.plugins[l[i]];
-
- if (o[n] && (v = tinyMCE.evalFunc(o[n], 3, a)) == s && m > 0)
- return true;
- }
- }
-
- l = tinyMCE.themes;
- for (on in l) {
- o = l[on];
-
- if (o[n] && (v = tinyMCE.evalFunc(o[n], 3, a)) == s && m > 0)
- return true;
- }
-
- return false;
- },
-
- xmlEncode : function(s) {
- s = "" + s;
- s = s.replace(/&/g, '&amp;');
- s = s.replace(new RegExp('"', 'g'), '&quot;');
- s = s.replace(/\'/g, '&#39;'); // &apos; is not working in MSIE
- s = s.replace(/</g, '&lt;');
- s = s.replace(/>/g, '&gt;');
-
- return s;
- },
-
- extend : function(p, np) {
- var o = {};
-
- o.parent = p;
-
- for (n in p)
- o[n] = p[n];
-
- for (n in np)
- o[n] = np[n];
-
- return o;
- },
-
- hideMenus : function() {
- var e = tinyMCE.lastSelectedMenuBtn;
-
- if (tinyMCE.lastMenu) {
- tinyMCE.lastMenu.hide();
- tinyMCE.lastMenu = null;
- }
-
- if (e) {
- tinyMCE.switchClass(e, tinyMCE.lastMenuBtnClass);
- tinyMCE.lastSelectedMenuBtn = null;
- }
- }
-};
-
-// Global instances
-var TinyMCE = TinyMCE_Engine; // Compatiblity with gzip compressors
-var tinyMCE = new TinyMCE_Engine();
-var tinyMCELang = {};
-
-/* file:jscripts/tiny_mce/classes/TinyMCE_Control.class.js */
-
-function TinyMCE_Control(settings) {
- var t, i, to, fu, p, x, fn, fu, pn, s = settings;
-
- this.undoRedoLevel = true;
- this.isTinyMCE_Control = true;
-
- // Default settings
- this.settings = s;
- this.settings['theme'] = tinyMCE.getParam("theme", "default");
- this.settings['width'] = tinyMCE.getParam("width", -1);
- this.settings['height'] = tinyMCE.getParam("height", -1);
- this.selection = new TinyMCE_Selection(this);
- this.undoRedo = new TinyMCE_UndoRedo(this);
- this.cleanup = new TinyMCE_Cleanup();
- this.shortcuts = new Array();
- this.hasMouseMoved = false;
-
- this.cleanup.init({
- valid_elements : s.valid_elements,
- extended_valid_elements : s.extended_valid_elements,
- entities : s.entities,
- entity_encoding : s.entity_encoding,
- debug : s.cleanup_debug,
- url_converter : 'TinyMCE_Cleanup.prototype._urlConverter',
- indent : s.apply_source_formatting,
- invalid_elements : s.invalid_elements,
- verify_html : s.verify_html,
- fix_content_duplication : s.fix_content_duplication
- });
-
- // Wrap old theme
- t = this.settings['theme'];
- if (!tinyMCE.hasTheme(t)) {
- fn = tinyMCE.callbacks;
- to = {};
-
- for (i=0; i<fn.length; i++) {
- if ((fu = window['TinyMCE_' + t + "_" + fn[i]]))
- to[fn[i]] = fu;
- }
-
- tinyMCE.addTheme(t, to);
- }
-
- // Wrap old plugins
- this.plugins = new Array();
- p = tinyMCE.getParam('plugins', '', true, ',');
- if (p.length > 0) {
- for (i=0; i<p.length; i++) {
- pn = p[i];
-
- if (pn.charAt(0) == '-')
- pn = pn.substring(1);
-
- if (!tinyMCE.hasPlugin(pn)) {
- fn = tinyMCE.callbacks;
- to = {};
-
- for (x=0; x<fn.length; x++) {
- if ((fu = window['TinyMCE_' + pn + "_" + fn[x]]))
- to[fn[x]] = fu;
- }
-
- tinyMCE.addPlugin(pn, to);
- }
-
- this.plugins[this.plugins.length] = pn;
- }
- }
-};
-
-TinyMCE_Control.prototype = {
- hasPlugin : function(n) {
- var i;
-
- for (i=0; i<this.plugins.length; i++) {
- if (this.plugins[i] == n)
- return true;
- }
-
- return false;
- },
-
- addPlugin : function(n, p) {
- if (!this.hasPlugin(n)) {
- tinyMCE.addPlugin(n, p);
- this.plugins[this.plugins.length] = n;
- }
- },
-
- repaint : function() {
- if (tinyMCE.isMSIE && !tinyMCE.isOpera)
- return;
-
- try {
- var s = this.selection;
- var b = s.getBookmark(true);
- this.getBody().style.display = 'none';
- this.getDoc().execCommand('selectall', false, null);
- this.getSel().collapseToStart();
- this.getBody().style.display = 'block';
- s.moveToBookmark(b);
- } catch (ex) {
- // Ignore
- }
- },
-
- switchSettings : function() {
- if (tinyMCE.configs.length > 1 && tinyMCE.currentConfig != this.settings['index']) {
- tinyMCE.settings = this.settings;
- tinyMCE.currentConfig = this.settings['index'];
- }
- },
-
- getBody : function() {
- return this.getDoc().body;
- },
-
- getDoc : function() {
- return this.contentWindow.document;
- },
-
- getWin : function() {
- return this.contentWindow;
- },
-
- addShortcut : function(m, k, d, cmd, ui, va) {
- var n = typeof(k) == "number", ie = tinyMCE.isMSIE, c, sc, i;
- var scl = this.shortcuts;
-
- if (!tinyMCE.getParam('custom_shortcuts'))
- return false;
-
- m = m.toLowerCase();
- k = ie && !n ? k.toUpperCase() : k;
- c = n ? null : k.charCodeAt(0);
- d = d && d.indexOf('lang_') == 0 ? tinyMCE.getLang(d) : d;
-
- sc = {
- alt : m.indexOf('alt') != -1,
- ctrl : m.indexOf('ctrl') != -1,
- shift : m.indexOf('shift') != -1,
- charCode : c,
- keyCode : n ? k : (ie ? c : null),
- desc : d,
- cmd : cmd,
- ui : ui,
- val : va
- };
-
- for (i=0; i<scl.length; i++) {
- if (sc.alt == scl[i].alt && sc.ctrl == scl[i].ctrl && sc.shift == scl[i].shift
- && sc.charCode == scl[i].charCode && sc.keyCode == scl[i].keyCode) {
- return false;
- }
- }
-
- scl[scl.length] = sc;
-
- return true;
- },
-
- handleShortcut : function(e) {
- var i, s = this.shortcuts, o;
-
- for (i=0; i<s.length; i++) {
- o = s[i];
- if (o.alt == e.altKey && o.ctrl == e.ctrlKey && (o.keyCode == e.keyCode || o.charCode == e.charCode)) {
- if (o.cmd && (e.type == "keydown" || (e.type == "keypress" && !tinyMCE.isOpera)))
- tinyMCE.execCommand(o.cmd, o.ui, o.val);
-
- tinyMCE.cancelEvent(e);
- return true;
- }
- }
-
- return false;
- },
-
- autoResetDesignMode : function() {
- // Add fix for tab/style.display none/block problems in Gecko
- if (!tinyMCE.isMSIE && this.isHidden() && tinyMCE.getParam('auto_reset_designmode'))
- eval('try { this.getDoc().designMode = "On"; } catch(e) {}');
- },
-
- isHidden : function() {
- if (tinyMCE.isMSIE)
- return false;
-
- var s = this.getSel();
-
- // Weird, wheres that cursor selection?
- return (!s || !s.rangeCount || s.rangeCount == 0);
- },
-
- isDirty : function() {
- // Is content modified and not in a submit procedure
- return this.startContent != tinyMCE.trim(this.getBody().innerHTML) && !tinyMCE.isNotDirty;
- },
-
- _mergeElements : function(scmd, pa, ch, override) {
- if (scmd == "removeformat") {
- pa.className = "";
- pa.style.cssText = "";
- ch.className = "";
- ch.style.cssText = "";
- return;
- }
-
- var st = tinyMCE.parseStyle(tinyMCE.getAttrib(pa, "style"));
- var stc = tinyMCE.parseStyle(tinyMCE.getAttrib(ch, "style"));
- var className = tinyMCE.getAttrib(pa, "class");
-
- className += " " + tinyMCE.getAttrib(ch, "class");
-
- if (override) {
- for (var n in st) {
- if (typeof(st[n]) == 'function')
- continue;
-
- stc[n] = st[n];
- }
- } else {
- for (var n in stc) {
- if (typeof(stc[n]) == 'function')
- continue;
-
- st[n] = stc[n];
- }
- }
-
- tinyMCE.setAttrib(pa, "style", tinyMCE.serializeStyle(st));
- tinyMCE.setAttrib(pa, "class", tinyMCE.trim(className));
- ch.className = "";
- ch.style.cssText = "";
- ch.removeAttribute("class");
- ch.removeAttribute("style");
- },
-
- _setUseCSS : function(b) {
- var d = this.getDoc();
-
- try {d.execCommand("useCSS", false, !b);} catch (ex) {}
- try {d.execCommand("styleWithCSS", false, b);} catch (ex) {}
-
- if (!tinyMCE.getParam("table_inline_editing"))
- try {d.execCommand('enableInlineTableEditing', false, "false");} catch (ex) {}
-
- if (!tinyMCE.getParam("object_resizing"))
- try {d.execCommand('enableObjectResizing', false, "false");} catch (ex) {}
- },
-
- execCommand : function(command, user_interface, value) {
- var doc = this.getDoc();
- var win = this.getWin();
- var focusElm = this.getFocusElement();
-
- // Is non udno specific command
- if (!new RegExp('mceStartTyping|mceEndTyping|mceBeginUndoLevel|mceEndUndoLevel|mceAddUndoLevel', 'gi').test(command))
- this.undoBookmark = null;
-
- if (this.lastSafariSelection && !new RegExp('mceStartTyping|mceEndTyping|mceBeginUndoLevel|mceEndUndoLevel|mceAddUndoLevel', 'gi').test(command)) {
- this.selection.moveToBookmark(this.lastSafariSelection);
- tinyMCE.selectedElement = this.lastSafariSelectedElement;
- }
-
- // Mozilla issue
- if (!tinyMCE.isMSIE && !this.useCSS) {
- this._setUseCSS(false);
- this.useCSS = true;
- }
-
- //debug("command: " + command + ", user_interface: " + user_interface + ", value: " + value);
- this.contentDocument = doc; // <-- Strange, unless this is applied Mozilla 1.3 breaks
-
- if (tinyMCE.execCommandCallback(this, 'execcommand_callback', 'execCommand', this.editorId, this.getBody(), command, user_interface, value))
- return;
-
- // Fix align on images
- if (focusElm && focusElm.nodeName == "IMG") {
- var align = focusElm.getAttribute('align');
- var img = command == "JustifyCenter" ? focusElm.cloneNode(false) : focusElm;
-
- switch (command) {
- case "JustifyLeft":
- if (align == 'left')
- img.removeAttribute('align');
- else
- img.setAttribute('align', 'left');
-
- // Remove the div
- var div = focusElm.parentNode;
- if (div && div.nodeName == "DIV" && div.childNodes.length == 1 && div.parentNode)
- div.parentNode.replaceChild(img, div);
-
- this.selection.selectNode(img);
- this.repaint();
- tinyMCE.triggerNodeChange();
- return;
-
- case "JustifyCenter":
- img.removeAttribute('align');
-
- // Is centered
- var div = tinyMCE.getParentElement(focusElm, "div");
- if (div && div.style.textAlign == "center") {
- // Remove div
- if (div.nodeName == "DIV" && div.childNodes.length == 1 && div.parentNode)
- div.parentNode.replaceChild(img, div);
- } else {
- // Add div
- var div = this.getDoc().createElement("div");
- div.style.textAlign = 'center';
- div.appendChild(img);
- focusElm.parentNode.replaceChild(div, focusElm);
- }
-
- this.selection.selectNode(img);
- this.repaint();
- tinyMCE.triggerNodeChange();
- return;
-
- case "JustifyRight":
- if (align == 'right')
- img.removeAttribute('align');
- else
- img.setAttribute('align', 'right');
-
- // Remove the div
- var div = focusElm.parentNode;
- if (div && div.nodeName == "DIV" && div.childNodes.length == 1 && div.parentNode)
- div.parentNode.replaceChild(img, div);
-
- this.selection.selectNode(img);
- this.repaint();
- tinyMCE.triggerNodeChange();
- return;
- }
- }
-
- if (tinyMCE.settings['force_br_newlines']) {
- var alignValue = "";
-
- if (doc.selection.type != "Control") {
- switch (command) {
- case "JustifyLeft":
- alignValue = "left";
- break;
-
- case "JustifyCenter":
- alignValue = "center";
- break;
-
- case "JustifyFull":
- alignValue = "justify";
- break;
-
- case "JustifyRight":
- alignValue = "right";
- break;
- }
-
- if (alignValue != "") {
- var rng = doc.selection.createRange();
-
- if ((divElm = tinyMCE.getParentElement(rng.parentElement(), "div")) != null)
- divElm.setAttribute("align", alignValue);
- else if (rng.pasteHTML && rng.htmlText.length > 0)
- rng.pasteHTML('<div align="' + alignValue + '">' + rng.htmlText + "</div>");
-
- tinyMCE.triggerNodeChange();
- return;
- }
- }
- }
-
- switch (command) {
- case "mceRepaint":
- this.repaint();
- return true;
-
- case "InsertUnorderedList":
- case "InsertOrderedList":
- var tag = (command == "InsertUnorderedList") ? "ul" : "ol";
-
- if (tinyMCE.isSafari)
- this.execCommand("mceInsertContent", false, "<" + tag + "><li>&nbsp;</li><" + tag + ">");
- else
- this.getDoc().execCommand(command, user_interface, value);
-
- tinyMCE.triggerNodeChange();
- break;
-
- case "Strikethrough":
- if (tinyMCE.isSafari)
- this.execCommand("mceInsertContent", false, "<strike>" + this.selection.getSelectedHTML() + "</strike>");
- else
- this.getDoc().execCommand(command, user_interface, value);
-
- tinyMCE.triggerNodeChange();
- break;
-
- case "mceSelectNode":
- this.selection.selectNode(value);
- tinyMCE.triggerNodeChange();
- tinyMCE.selectedNode = value;
- break;
-
- case "FormatBlock":
- if (value == null || value == "") {
- var elm = tinyMCE.getParentElement(this.getFocusElement(), "p,div,h1,h2,h3,h4,h5,h6,pre,address");
-
- if (elm)
- this.execCommand("mceRemoveNode", false, elm);
- } else {
- if (value == '<div>' && tinyMCE.isGecko)
- value = 'div';
-
- this.getDoc().execCommand("FormatBlock", false, value);
- }
-
- tinyMCE.triggerNodeChange();
-
- break;
-
- case "mceRemoveNode":
- if (!value)
- value = tinyMCE.getParentElement(this.getFocusElement());
-
- if (tinyMCE.isMSIE) {
- value.outerHTML = value.innerHTML;
- } else {
- var rng = value.ownerDocument.createRange();
- rng.setStartBefore(value);
- rng.setEndAfter(value);
- rng.deleteContents();
- rng.insertNode(rng.createContextualFragment(value.innerHTML));
- }
-
- tinyMCE.triggerNodeChange();
-
- break;
-
- case "mceSelectNodeDepth":
- var parentNode = this.getFocusElement();
- for (var i=0; parentNode; i++) {
- if (parentNode.nodeName.toLowerCase() == "body")
- break;
-
- if (parentNode.nodeName.toLowerCase() == "#text") {
- i--;
- parentNode = parentNode.parentNode;
- continue;
- }
-
- if (i == value) {
- this.selection.selectNode(parentNode, false);
- tinyMCE.triggerNodeChange();
- tinyMCE.selectedNode = parentNode;
- return;
- }
-
- parentNode = parentNode.parentNode;
- }
-
- break;
-
- case "SetStyleInfo":
- var rng = this.getRng();
- var sel = this.getSel();
- var scmd = value['command'];
- var sname = value['name'];
- var svalue = value['value'] == null ? '' : value['value'];
- //var svalue = value['value'] == null ? '' : value['value'];
- var wrapper = value['wrapper'] ? value['wrapper'] : "span";
- var parentElm = null;
- var invalidRe = new RegExp("^BODY|HTML$", "g");
- var invalidParentsRe = tinyMCE.settings['merge_styles_invalid_parents'] != '' ? new RegExp(tinyMCE.settings['merge_styles_invalid_parents'], "gi") : null;
-
- // Whole element selected check
- if (tinyMCE.isMSIE) {
- // Control range
- if (rng.item)
- parentElm = rng.item(0);
- else {
- var pelm = rng.parentElement();
- var prng = doc.selection.createRange();
- prng.moveToElementText(pelm);
-
- if (rng.htmlText == prng.htmlText || rng.boundingWidth == 0) {
- if (invalidParentsRe == null || !invalidParentsRe.test(pelm.nodeName))
- parentElm = pelm;
- }
- }
- } else {
- var felm = this.getFocusElement();
- if (sel.isCollapsed || (new RegExp('td|tr|tbody|table', 'gi').test(felm.nodeName) && sel.anchorNode == felm.parentNode))
- parentElm = felm;
- }
-
- // Whole element selected
- if (parentElm && !invalidRe.test(parentElm.nodeName)) {
- if (scmd == "setstyle")
- tinyMCE.setStyleAttrib(parentElm, sname, svalue);
-
- if (scmd == "setattrib")
- tinyMCE.setAttrib(parentElm, sname, svalue);
-
- if (scmd == "removeformat") {
- parentElm.style.cssText = '';
- tinyMCE.setAttrib(parentElm, 'class', '');
- }
-
- // Remove style/attribs from all children
- var ch = tinyMCE.getNodeTree(parentElm, new Array(), 1);
- for (var z=0; z<ch.length; z++) {
- if (ch[z] == parentElm)
- continue;
-
- if (scmd == "setstyle")
- tinyMCE.setStyleAttrib(ch[z], sname, '');
-
- if (scmd == "setattrib")
- tinyMCE.setAttrib(ch[z], sname, '');
-
- if (scmd == "removeformat") {
- ch[z].style.cssText = '';
- tinyMCE.setAttrib(ch[z], 'class', '');
- }
- }
- } else {
- this._setUseCSS(false); // Bug in FF when running in fullscreen
- doc.execCommand("FontName", false, "#mce_temp_font#");
- var elementArray = tinyMCE.getElementsByAttributeValue(this.getBody(), "font", "face", "#mce_temp_font#");
-
- // Change them all
- for (var x=0; x<elementArray.length; x++) {
- elm = elementArray[x];
- if (elm) {
- var spanElm = doc.createElement(wrapper);
-
- if (scmd == "setstyle")
- tinyMCE.setStyleAttrib(spanElm, sname, svalue);
-
- if (scmd == "setattrib")
- tinyMCE.setAttrib(spanElm, sname, svalue);
-
- if (scmd == "removeformat") {
- spanElm.style.cssText = '';
- tinyMCE.setAttrib(spanElm, 'class', '');
- }
-
- if (elm.hasChildNodes()) {
- for (var i=0; i<elm.childNodes.length; i++)
- spanElm.appendChild(elm.childNodes[i].cloneNode(true));
- }
-
- spanElm.setAttribute("mce_new", "true");
- elm.parentNode.replaceChild(spanElm, elm);
-
- // Remove style/attribs from all children
- var ch = tinyMCE.getNodeTree(spanElm, new Array(), 1);
- for (var z=0; z<ch.length; z++) {
- if (ch[z] == spanElm)
- continue;
-
- if (scmd == "setstyle")
- tinyMCE.setStyleAttrib(ch[z], sname, '');
-
- if (scmd == "setattrib")
- tinyMCE.setAttrib(ch[z], sname, '');
-
- if (scmd == "removeformat") {
- ch[z].style.cssText = '';
- tinyMCE.setAttrib(ch[z], 'class', '');
- }
- }
- }
- }
- }
-
- // Cleaup wrappers
- var nodes = doc.getElementsByTagName(wrapper);
- for (var i=nodes.length-1; i>=0; i--) {
- var elm = nodes[i];
- var isNew = tinyMCE.getAttrib(elm, "mce_new") == "true";
-
- elm.removeAttribute("mce_new");
-
- // Is only child a element
- if (elm.childNodes && elm.childNodes.length == 1 && elm.childNodes[0].nodeType == 1) {
- //tinyMCE.debug("merge1" + isNew);
- this._mergeElements(scmd, elm, elm.childNodes[0], isNew);
- continue;
- }
-
- // Is I the only child
- if (elm.parentNode.childNodes.length == 1 && !invalidRe.test(elm.nodeName) && !invalidRe.test(elm.parentNode.nodeName)) {
- //tinyMCE.debug("merge2" + isNew + "," + elm.nodeName + "," + elm.parentNode.nodeName);
- if (invalidParentsRe == null || !invalidParentsRe.test(elm.parentNode.nodeName))
- this._mergeElements(scmd, elm.parentNode, elm, false);
- }
- }
-
- // Remove empty wrappers
- var nodes = doc.getElementsByTagName(wrapper);
- for (var i=nodes.length-1; i>=0; i--) {
- var elm = nodes[i];
- var isEmpty = true;
-
- // Check if it has any attribs
- var tmp = doc.createElement("body");
- tmp.appendChild(elm.cloneNode(false));
-
- // Is empty span, remove it
- tmp.innerHTML = tmp.innerHTML.replace(new RegExp('style=""|class=""', 'gi'), '');
- //tinyMCE.debug(tmp.innerHTML);
- if (new RegExp('<span>', 'gi').test(tmp.innerHTML)) {
- for (var x=0; x<elm.childNodes.length; x++) {
- if (elm.parentNode != null)
- elm.parentNode.insertBefore(elm.childNodes[x].cloneNode(true), elm);
- }
-
- elm.parentNode.removeChild(elm);
- }
- }
-
- // Re add the visual aids
- if (scmd == "removeformat")
- tinyMCE.handleVisualAid(this.getBody(), true, this.visualAid, this);
-
- tinyMCE.triggerNodeChange();
-
- break;
-
- case "FontName":
- if (value == null) {
- var s = this.getSel();
-
- // Find font and select it
- if (tinyMCE.isGecko && s.isCollapsed) {
- var f = tinyMCE.getParentElement(this.getFocusElement(), "font");
-
- if (f != null)
- this.selection.selectNode(f, false);
- }
-
- // Remove format
- this.getDoc().execCommand("RemoveFormat", false, null);
-
- // Collapse range if font was found
- if (f != null && tinyMCE.isGecko) {
- var r = this.getRng().cloneRange();
- r.collapse(true);
- s.removeAllRanges();
- s.addRange(r);
- }
- } else
- this.getDoc().execCommand('FontName', false, value);
-
- if (tinyMCE.isGecko)
- window.setTimeout('tinyMCE.triggerNodeChange(false);', 1);
-
- return;
-
- case "FontSize":
- this.getDoc().execCommand('FontSize', false, value);
-
- if (tinyMCE.isGecko)
- window.setTimeout('tinyMCE.triggerNodeChange(false);', 1);
-
- return;
-
- case "forecolor":
- this.getDoc().execCommand('forecolor', false, value);
- break;
-
- case "HiliteColor":
- if (tinyMCE.isGecko) {
- this._setUseCSS(true);
- this.getDoc().execCommand('hilitecolor', false, value);
- this._setUseCSS(false);
- } else
- this.getDoc().execCommand('BackColor', false, value);
- break;
-
- case "Cut":
- case "Copy":
- case "Paste":
- var cmdFailed = false;
-
- // Try executing command
- eval('try {this.getDoc().execCommand(command, user_interface, value);} catch (e) {cmdFailed = true;}');
-
- if (tinyMCE.isOpera && cmdFailed)
- alert('Currently not supported by your browser, use keyboard shortcuts instead.');
-
- // Alert error in gecko if command failed
- if (tinyMCE.isGecko && cmdFailed) {
- // Confirm more info
- if (confirm(tinyMCE.entityDecode(tinyMCE.getLang('lang_clipboard_msg'))))
- window.open('http://www.mozilla.org/editor/midasdemo/securityprefs.html', 'mceExternal');
-
- return;
- } else
- tinyMCE.triggerNodeChange();
- break;
-
- case "mceSetContent":
- if (!value)
- value = "";
-
- // Call custom cleanup code
- value = tinyMCE.storeAwayURLs(value);
- value = tinyMCE._customCleanup(this, "insert_to_editor", value);
- tinyMCE._setHTML(doc, value);
- tinyMCE.setInnerHTML(doc.body, tinyMCE._cleanupHTML(this, doc, tinyMCE.settings, doc.body));
- tinyMCE.convertAllRelativeURLs(doc.body);
-
- // When editing always use fonts internaly
- if (tinyMCE.getParam("convert_fonts_to_spans"))
- tinyMCE.convertSpansToFonts(doc);
-
- tinyMCE.handleVisualAid(doc.body, true, this.visualAid, this);
- tinyMCE._setEventsEnabled(doc.body, false);
- return true;
-
- case "mceCleanup":
- var b = this.selection.getBookmark();
- tinyMCE._setHTML(this.contentDocument, this.getBody().innerHTML);
- tinyMCE.setInnerHTML(this.getBody(), tinyMCE._cleanupHTML(this, this.contentDocument, this.settings, this.getBody(), this.visualAid));
- tinyMCE.convertAllRelativeURLs(doc.body);
-
- // When editing always use fonts internaly
- if (tinyMCE.getParam("convert_fonts_to_spans"))
- tinyMCE.convertSpansToFonts(doc);
-
- tinyMCE.handleVisualAid(this.getBody(), true, this.visualAid, this);
- tinyMCE._setEventsEnabled(this.getBody(), false);
- this.repaint();
- this.selection.moveToBookmark(b);
- tinyMCE.triggerNodeChange();
- break;
-
- case "mceReplaceContent":
- // Force empty string
- if (!value)
- value = '';
-
- this.getWin().focus();
-
- var selectedText = "";
-
- if (tinyMCE.isMSIE) {
- var rng = doc.selection.createRange();
- selectedText = rng.text;
- } else
- selectedText = this.getSel().toString();
-
- if (selectedText.length > 0) {
- value = tinyMCE.replaceVar(value, "selection", selectedText);
- tinyMCE.execCommand('mceInsertContent', false, value);
- }
-
- tinyMCE.triggerNodeChange();
- break;
-
- case "mceSetAttribute":
- if (typeof(value) == 'object') {
- var targetElms = (typeof(value['targets']) == "undefined") ? "p,img,span,div,td,h1,h2,h3,h4,h5,h6,pre,address" : value['targets'];
- var targetNode = tinyMCE.getParentElement(this.getFocusElement(), targetElms);
-
- if (targetNode) {
- targetNode.setAttribute(value['name'], value['value']);
- tinyMCE.triggerNodeChange();
- }
- }
- break;
-
- case "mceSetCSSClass":
- this.execCommand("SetStyleInfo", false, {command : "setattrib", name : "class", value : value});
- break;
-
- case "mceInsertRawHTML":
- var key = 'tiny_mce_marker';
-
- this.execCommand('mceBeginUndoLevel');
-
- // Insert marker key
- this.execCommand('mceInsertContent', false, key);
-
- // Store away scroll pos
- var scrollX = this.getDoc().body.scrollLeft + this.getDoc().documentElement.scrollLeft;
- var scrollY = this.getDoc().body.scrollTop + this.getDoc().documentElement.scrollTop;
-
- // Find marker and replace with RAW HTML
- var html = this.getBody().innerHTML;
- if ((pos = html.indexOf(key)) != -1)
- tinyMCE.setInnerHTML(this.getBody(), html.substring(0, pos) + value + html.substring(pos + key.length));
-
- // Restore scoll pos
- this.contentWindow.scrollTo(scrollX, scrollY);
-
- this.execCommand('mceEndUndoLevel');
-
- break;
-
- case "mceInsertContent":
- // Force empty string
- if (!value)
- value = '';
-
- var insertHTMLFailed = false;
- this.getWin().focus();
-
- if (tinyMCE.isGecko || tinyMCE.isOpera) {
- try {
- // Is plain text or HTML, &amp;, &nbsp; etc will be encoded wrong in FF
- if (value.indexOf('<') == -1 && !value.match(/(&#38;|&#160;|&#60;|&#62;)/g)) {
- var r = this.getRng();
- var n = this.getDoc().createTextNode(tinyMCE.entityDecode(value));
- var s = this.getSel();
- var r2 = r.cloneRange();
-
- // Insert text at cursor position
- s.removeAllRanges();
- r.deleteContents();
- r.insertNode(n);
-
- // Move the cursor to the end of text
- r2.selectNode(n);
- r2.collapse(false);
- s.removeAllRanges();
- s.addRange(r2);
- } else {
- value = tinyMCE.fixGeckoBaseHREFBug(1, this.getDoc(), value);
- this.getDoc().execCommand('inserthtml', false, value);
- tinyMCE.fixGeckoBaseHREFBug(2, this.getDoc(), value);
- }
- } catch (ex) {
- insertHTMLFailed = true;
- }
-
- if (!insertHTMLFailed) {
- tinyMCE.triggerNodeChange();
- return;
- }
- }
-
- // Ugly hack in Opera due to non working "inserthtml"
- if (tinyMCE.isOpera && insertHTMLFailed) {
- this.getDoc().execCommand("insertimage", false, tinyMCE.uniqueURL);
- var ar = tinyMCE.getElementsByAttributeValue(this.getBody(), "img", "src", tinyMCE.uniqueURL);
- ar[0].outerHTML = value;
- return;
- }
-
- if (!tinyMCE.isMSIE) {
- var isHTML = value.indexOf('<') != -1;
- var sel = this.getSel();
- var rng = this.getRng();
-
- if (isHTML) {
- if (tinyMCE.isSafari) {
- var tmpRng = this.getDoc().createRange();
-
- tmpRng.setStart(this.getBody(), 0);
- tmpRng.setEnd(this.getBody(), 0);
-
- value = tmpRng.createContextualFragment(value);
- } else
- value = rng.createContextualFragment(value);
- } else {
- // Setup text node
- var el = document.createElement("div");
- el.innerHTML = value;
- value = el.firstChild.nodeValue;
- value = doc.createTextNode(value);
- }
-
- // Insert plain text in Safari
- if (tinyMCE.isSafari && !isHTML) {
- this.execCommand('InsertText', false, value.nodeValue);
- tinyMCE.triggerNodeChange();
- return true;
- } else if (tinyMCE.isSafari && isHTML) {
- rng.deleteContents();
- rng.insertNode(value);
- tinyMCE.triggerNodeChange();
- return true;
- }
-
- rng.deleteContents();
-
- // If target node is text do special treatment, (Mozilla 1.3 fix)
- if (rng.startContainer.nodeType == 3) {
- var node = rng.startContainer.splitText(rng.startOffset);
- node.parentNode.insertBefore(value, node);
- } else
- rng.insertNode(value);
-
- if (!isHTML) {
- // Removes weird selection trails
- sel.selectAllChildren(doc.body);
- sel.removeAllRanges();
-
- // Move cursor to end of content
- var rng = doc.createRange();
-
- rng.selectNode(value);
- rng.collapse(false);
-
- sel.addRange(rng);
- } else
- rng.collapse(false);
-
- tinyMCE.fixGeckoBaseHREFBug(2, this.getDoc(), value);
- } else {
- var rng = doc.selection.createRange();
- var c = value.indexOf('<!--') != -1;
-
- // Fix comment bug, add tag before comments
- if (c)
- value = tinyMCE.uniqueTag + value;
-
- if (rng.item)
- rng.item(0).outerHTML = value;
- else
- rng.pasteHTML(value);
-
- // Remove unique tag
- if (c) {
- var e = this.getDoc().getElementById('mceTMPElement');
- e.parentNode.removeChild(e);
- }
- }
-
- tinyMCE.triggerNodeChange();
- break;
-
- case "mceStartTyping":
- if (tinyMCE.settings['custom_undo_redo'] && this.undoRedo.typingUndoIndex == -1) {
- this.undoRedo.typingUndoIndex = this.undoRedo.undoIndex;
- this.execCommand('mceAddUndoLevel');
- //tinyMCE.debug("mceStartTyping");
- }
- break;
-
- case "mceEndTyping":
- if (tinyMCE.settings['custom_undo_redo'] && this.undoRedo.typingUndoIndex != -1) {
- this.execCommand('mceAddUndoLevel');
- this.undoRedo.typingUndoIndex = -1;
- //tinyMCE.debug("mceEndTyping");
- }
- break;
-
- case "mceBeginUndoLevel":
- this.undoRedoLevel = false;
- break;
-
- case "mceEndUndoLevel":
- this.undoRedoLevel = true;
- this.execCommand('mceAddUndoLevel');
- break;
-
- case "mceAddUndoLevel":
- if (tinyMCE.settings['custom_undo_redo'] && this.undoRedoLevel) {
- if (this.undoRedo.add())
- tinyMCE.triggerNodeChange(false);
- }
- break;
-
- case "Undo":
- if (tinyMCE.settings['custom_undo_redo']) {
- tinyMCE.execCommand("mceEndTyping");
- this.undoRedo.undo();
- tinyMCE.triggerNodeChange();
- } else
- this.getDoc().execCommand(command, user_interface, value);
- break;
-
- case "Redo":
- if (tinyMCE.settings['custom_undo_redo']) {
- tinyMCE.execCommand("mceEndTyping");
- this.undoRedo.redo();
- tinyMCE.triggerNodeChange();
- } else
- this.getDoc().execCommand(command, user_interface, value);
- break;
-
- case "mceToggleVisualAid":
- this.visualAid = !this.visualAid;
- tinyMCE.handleVisualAid(this.getBody(), true, this.visualAid, this);
- tinyMCE.triggerNodeChange();
- break;
-
- case "Indent":
- this.getDoc().execCommand(command, user_interface, value);
- tinyMCE.triggerNodeChange();
- if (tinyMCE.isMSIE) {
- var n = tinyMCE.getParentElement(this.getFocusElement(), "blockquote");
- do {
- if (n && n.nodeName == "BLOCKQUOTE") {
- n.removeAttribute("dir");
- n.removeAttribute("style");
- }
- } while (n != null && (n = n.parentNode) != null);
- }
- break;
-
- case "removeformat":
- var text = this.selection.getSelectedText();
-
- if (tinyMCE.isOpera) {
- this.getDoc().execCommand("RemoveFormat", false, null);
- return;
- }
-
- if (tinyMCE.isMSIE) {
- try {
- var rng = doc.selection.createRange();
- rng.execCommand("RemoveFormat", false, null);
- } catch (e) {
- // Do nothing
- }
-
- this.execCommand("SetStyleInfo", false, {command : "removeformat"});
- } else {
- this.getDoc().execCommand(command, user_interface, value);
-
- this.execCommand("SetStyleInfo", false, {command : "removeformat"});
- }
-
- // Remove class
- if (text.length == 0)
- this.execCommand("mceSetCSSClass", false, "");
-
- tinyMCE.triggerNodeChange();
- break;
-
- default:
- this.getDoc().execCommand(command, user_interface, value);
-
- if (tinyMCE.isGecko)
- window.setTimeout('tinyMCE.triggerNodeChange(false);', 1);
- else
- tinyMCE.triggerNodeChange();
- }
-
- // Add undo level after modification
- if (command != "mceAddUndoLevel" && command != "Undo" && command != "Redo" && command != "mceStartTyping" && command != "mceEndTyping")
- tinyMCE.execCommand("mceAddUndoLevel");
- },
-
- queryCommandValue : function(c) {
- try {
- return this.getDoc().queryCommandValue(c);
- } catch (e) {
- return null;
- }
- },
-
- queryCommandState : function(c) {
- return this.getDoc().queryCommandState(c);
- },
-
- _onAdd : function(replace_element, form_element_name, target_document) {
- var hc, th, to, editorTemplate;
-
- th = this.settings['theme'];
- to = tinyMCE.themes[th];
-
- var targetDoc = target_document ? target_document : document;
-
- this.targetDoc = targetDoc;
-
- tinyMCE.themeURL = tinyMCE.baseURL + "/themes/" + this.settings['theme'];
- this.settings['themeurl'] = tinyMCE.themeURL;
-
- if (!replace_element) {
- alert("Error: Could not find the target element.");
- return false;
- }
-
- if (to.getEditorTemplate)
- editorTemplate = to.getEditorTemplate(this.settings, this.editorId);
-
- var deltaWidth = editorTemplate['delta_width'] ? editorTemplate['delta_width'] : 0;
- var deltaHeight = editorTemplate['delta_height'] ? editorTemplate['delta_height'] : 0;
- var html = '<span id="' + this.editorId + '_parent" class="mceEditorContainer">' + editorTemplate['html'];
-
- html = tinyMCE.replaceVar(html, "editor_id", this.editorId);
- this.settings['default_document'] = tinyMCE.baseURL + "/blank.htm";
-
- this.settings['old_width'] = this.settings['width'];
- this.settings['old_height'] = this.settings['height'];
-
- // Set default width, height
- if (this.settings['width'] == -1)
- this.settings['width'] = replace_element.offsetWidth;
-
- if (this.settings['height'] == -1)
- this.settings['height'] = replace_element.offsetHeight;
-
- // Try the style width
- if (this.settings['width'] == 0)
- this.settings['width'] = replace_element.style.width;
-
- // Try the style height
- if (this.settings['height'] == 0)
- this.settings['height'] = replace_element.style.height;
-
- // If no width/height then default to 320x240, better than nothing
- if (this.settings['width'] == 0)
- this.settings['width'] = 320;
-
- if (this.settings['height'] == 0)
- this.settings['height'] = 240;
-
- this.settings['area_width'] = parseInt(this.settings['width']);
- this.settings['area_height'] = parseInt(this.settings['height']);
- this.settings['area_width'] += deltaWidth;
- this.settings['area_height'] += deltaHeight;
-
- // Special % handling
- if (("" + this.settings['width']).indexOf('%') != -1)
- this.settings['area_width'] = "100%";
-
- if (("" + this.settings['height']).indexOf('%') != -1)
- this.settings['area_height'] = "100%";
-
- if (("" + replace_element.style.width).indexOf('%') != -1) {
- this.settings['width'] = replace_element.style.width;
- this.settings['area_width'] = "100%";
- }
-
- if (("" + replace_element.style.height).indexOf('%') != -1) {
- this.settings['height'] = replace_element.style.height;
- this.settings['area_height'] = "100%";
- }
-
- html = tinyMCE.applyTemplate(html);
-
- this.settings['width'] = this.settings['old_width'];
- this.settings['height'] = this.settings['old_height'];
-
- this.visualAid = this.settings['visual'];
- this.formTargetElementId = form_element_name;
-
- // Get replace_element contents
- if (replace_element.nodeName == "TEXTAREA" || replace_element.nodeName == "INPUT")
- this.startContent = replace_element.value;
- else
- this.startContent = replace_element.innerHTML;
-
- // If not text area or input
- if (replace_element.nodeName != "TEXTAREA" && replace_element.nodeName != "INPUT") {
- this.oldTargetElement = replace_element;
-
- // Debug mode
- if (tinyMCE.settings['debug']) {
- hc = '<textarea wrap="off" id="' + form_element_name + '" name="' + form_element_name + '" cols="100" rows="15"></textarea>';
- } else {
- hc = '<input type="hidden" type="text" id="' + form_element_name + '" name="' + form_element_name + '" />';
- this.oldTargetElement.style.display = "none";
- }
-
- html += '</span>';
-
- if (tinyMCE.isGecko)
- html = hc + html;
- else
- html += hc;
-
- // Output HTML and set editable
- if (tinyMCE.isGecko) {
- var rng = replace_element.ownerDocument.createRange();
- rng.setStartBefore(replace_element);
-
- var fragment = rng.createContextualFragment(html);
- tinyMCE.insertAfter(fragment, replace_element);
- } else
- replace_element.insertAdjacentHTML("beforeBegin", html);
- } else {
- html += '</span>';
-
- // Just hide the textarea element
- this.oldTargetElement = replace_element;
-
- if (!tinyMCE.settings['debug'])
- this.oldTargetElement.style.display = "none";
-
- // Output HTML and set editable
- if (tinyMCE.isGecko) {
- var rng = replace_element.ownerDocument.createRange();
- rng.setStartBefore(replace_element);
-
- var fragment = rng.createContextualFragment(html);
- tinyMCE.insertAfter(fragment, replace_element);
- } else
- replace_element.insertAdjacentHTML("beforeBegin", html);
- }
-
- // Setup iframe
- var dynamicIFrame = false;
- var tElm = targetDoc.getElementById(this.editorId);
-
- if (!tinyMCE.isMSIE) {
- if (tElm && tElm.nodeName == "SPAN") {
- tElm = tinyMCE._createIFrame(tElm, targetDoc);
- dynamicIFrame = true;
- }
-
- this.targetElement = tElm;
- this.iframeElement = tElm;
- this.contentDocument = tElm.contentDocument;
- this.contentWindow = tElm.contentWindow;
-
- //this.getDoc().designMode = "on";
- } else {
- if (tElm && tElm.nodeName == "SPAN")
- tElm = tinyMCE._createIFrame(tElm, targetDoc, targetDoc.parentWindow);
- else
- tElm = targetDoc.frames[this.editorId];
-
- this.targetElement = tElm;
- this.iframeElement = targetDoc.getElementById(this.editorId);
-
- if (tinyMCE.isOpera) {
- this.contentDocument = this.iframeElement.contentDocument;
- this.contentWindow = this.iframeElement.contentWindow;
- dynamicIFrame = true;
- } else {
- this.contentDocument = tElm.window.document;
- this.contentWindow = tElm.window;
- }
-
- this.getDoc().designMode = "on";
- }
-
- // Setup base HTML
- var doc = this.contentDocument;
- if (dynamicIFrame) {
- var html = tinyMCE.getParam('doctype') + '<html><head xmlns="http://www.w3.org/1999/xhtml"><base href="' + tinyMCE.settings['base_href'] + '" /><title>blank_page</title><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"></head><body class="mceContentBody"></body></html>';
-
- try {
- if (!this.isHidden())
- this.getDoc().designMode = "on";
-
- doc.open();
- doc.write(html);
- doc.close();
- } catch (e) {
- // Failed Mozilla 1.3
- this.getDoc().location.href = tinyMCE.baseURL + "/blank.htm";
- }
- }
-
- // This timeout is needed in MSIE 5.5 for some odd reason
- // it seems that the document.frames isn't initialized yet?
- if (tinyMCE.isMSIE)
- window.setTimeout("tinyMCE.addEventHandlers(tinyMCE.instances[\"" + this.editorId + "\"]);", 1);
-
- tinyMCE.setupContent(this.editorId, true);
-
- return true;
- },
-
- setBaseHREF : function(u) {
- var h, b, d, nl;
-
- d = this.getDoc();
- nl = d.getElementsByTagName("base");
- b = nl.length > 0 ? nl[0] : null;
-
- if (!b) {
- nl = d.getElementsByTagName("head");
- h = nl.length > 0 ? nl[0] : null;
-
- b = d.createElement("base");
- b.setAttribute('href', u);
- h.appendChild(b);
- } else {
- if (u == "" || u == null)
- b.parentNode.removeChild(b);
- else
- b.setAttribute('href', u);
- }
- },
-
- getFocusElement : function() {
- return this.selection.getFocusElement();
- },
-
- getSel : function() {
- return this.selection.getSel();
- },
-
- getRng : function() {
- return this.selection.getRng();
- },
-
- triggerSave : function(skip_cleanup, skip_callback) {
- this.switchSettings();
-
- tinyMCE.settings['preformatted'] = false;
-
- // Default to false
- if (typeof(skip_cleanup) == "undefined")
- skip_cleanup = false;
-
- // Default to false
- if (typeof(skip_callback) == "undefined")
- skip_callback = false;
-
- tinyMCE._setHTML(this.getDoc(), this.getBody().innerHTML);
-
- // Remove visual aids when cleanup is disabled
- if (this.settings['cleanup'] == false) {
- tinyMCE.handleVisualAid(this.getBody(), true, false, this);
- tinyMCE._setEventsEnabled(this.getBody(), true);
- }
-
- tinyMCE._customCleanup(this, "submit_content_dom", this.contentWindow.document.body);
- var htm = skip_cleanup ? this.getBody().innerHTML : tinyMCE._cleanupHTML(this, this.getDoc(), this.settings, this.getBody(), tinyMCE.visualAid, true, true);
- htm = tinyMCE._customCleanup(this, "submit_content", htm);
-
- if (!skip_callback && tinyMCE.settings['save_callback'] != "")
- var content = eval(tinyMCE.settings['save_callback'] + "(this.formTargetElementId,htm,this.getBody());");
-
- // Use callback content if available
- if ((typeof(content) != "undefined") && content != null)
- htm = content;
-
- // Replace some weird entities (Bug: #1056343)
- htm = tinyMCE.regexpReplace(htm, "&#40;", "(", "gi");
- htm = tinyMCE.regexpReplace(htm, "&#41;", ")", "gi");
- htm = tinyMCE.regexpReplace(htm, "&#59;", ";", "gi");
- htm = tinyMCE.regexpReplace(htm, "&#34;", "&quot;", "gi");
- htm = tinyMCE.regexpReplace(htm, "&#94;", "^", "gi");
-
- if (this.formElement)
- this.formElement.value = htm;
-
- if (tinyMCE.isSafari && this.formElement)
- this.formElement.innerText = htm;
- }
-};
-
-/* file:jscripts/tiny_mce/classes/TinyMCE_Cleanup.class.js */
-
-TinyMCE_Engine.prototype.cleanupHTMLCode = function(s) {
- s = s.replace(/<p \/>/gi, '<p>&nbsp;</p>');
- s = s.replace(/<p>\s*<\/p>/gi, '<p>&nbsp;</p>');
-
- // Open closed tags like <b/> to <b></b>
-// tinyMCE.debug("f:" + s);
- s = s.replace(/<(h[1-6]|p|div|address|pre|form|table|li|ol|ul|td|b|font|em|strong|i|strike|u|span|a|ul|ol|li|blockquote)([a-z]*)([^\\|>]*?)\/>/gi, '<$1$2$3></$1$2>');
-// tinyMCE.debug("e:" + s);
-
- // Remove trailing space <b > to <b>
- s = s.replace(new RegExp('\\s+></', 'gi'), '></');
-
- // Close tags <img></img> to <img/>
- s = s.replace(/<(img|br|hr)(.*?)><\/(img|br|hr)>/gi, '<$1$2 />');
-
- // Weird MSIE bug, <p><hr /></p> breaks runtime?
- if (tinyMCE.isMSIE)
- s = s.replace(/<p><hr \/><\/p>/gi, "<hr>");
-
- // Convert relative anchors to absolute URLs ex: #something to file.htm#something
- if (tinyMCE.getParam('convert_urls'))
- s = s.replace(new RegExp('(href=\"?)(\\s*?#)', 'gi'), '$1' + tinyMCE.settings['document_base_url'] + "#");
-
- return s;
-};
-
-TinyMCE_Engine.prototype.parseStyle = function(str) {
- var ar = new Array();
-
- if (str == null)
- return ar;
-
- var st = str.split(';');
-
- tinyMCE.clearArray(ar);
-
- for (var i=0; i<st.length; i++) {
- if (st[i] == '')
- continue;
-
- var re = new RegExp('^\\s*([^:]*):\\s*(.*)\\s*$');
- var pa = st[i].replace(re, '$1||$2').split('||');
-//tinyMCE.debug(str, pa[0] + "=" + pa[1], st[i].replace(re, '$1||$2'));
- if (pa.length == 2)
- ar[pa[0].toLowerCase()] = pa[1];
- }
-
- return ar;
-};
-
-TinyMCE_Engine.prototype.compressStyle = function(ar, pr, sf, res) {
- var box = new Array();
-
- box[0] = ar[pr + '-top' + sf];
- box[1] = ar[pr + '-left' + sf];
- box[2] = ar[pr + '-right' + sf];
- box[3] = ar[pr + '-bottom' + sf];
-
- for (var i=0; i<box.length; i++) {
- if (box[i] == null)
- return;
-
- for (var a=0; a<box.length; a++) {
- if (box[a] != box[i])
- return;
- }
- }
-
- // They are all the same
- ar[res] = box[0];
- ar[pr + '-top' + sf] = null;
- ar[pr + '-left' + sf] = null;
- ar[pr + '-right' + sf] = null;
- ar[pr + '-bottom' + sf] = null;
-};
-
-TinyMCE_Engine.prototype.serializeStyle = function(ar) {
- var str = "";
-
- // Compress box
- tinyMCE.compressStyle(ar, "border", "", "border");
- tinyMCE.compressStyle(ar, "border", "-width", "border-width");
- tinyMCE.compressStyle(ar, "border", "-color", "border-color");
-
- for (var key in ar) {
- var val = ar[key];
-
- if (typeof(val) == 'function')
- continue;
-
- if (key.indexOf('mso-') == 0)
- continue;
-
- if (val != null && val != '') {
- val = '' + val; // Force string
-
- // Fix style URL
- val = val.replace(new RegExp("url\\(\\'?([^\\']*)\\'?\\)", 'gi'), "url('$1')");
-
- // Convert URL
- if (val.indexOf('url(') != -1 && tinyMCE.getParam('convert_urls')) {
- var m = new RegExp("url\\('(.*?)'\\)").exec(val);
-
- if (m.length > 1)
- val = "url('" + eval(tinyMCE.getParam('urlconverter_callback') + "(m[1], null, true);") + "')";
- }
-
- // Force HEX colors
- if (tinyMCE.getParam("force_hex_style_colors"))
- val = tinyMCE.convertRGBToHex(val, true);
-
- if (val != "url('')")
- str += key.toLowerCase() + ": " + val + "; ";
- }
- }
-
- if (new RegExp('; $').test(str))
- str = str.substring(0, str.length - 2);
-
- return str;
-};
-
-TinyMCE_Engine.prototype.convertRGBToHex = function(s, k) {
- if (s.toLowerCase().indexOf('rgb') != -1) {
- var re = new RegExp("(.*?)rgb\\s*?\\(\\s*?([0-9]+).*?,\\s*?([0-9]+).*?,\\s*?([0-9]+).*?\\)(.*?)", "gi");
- var rgb = s.replace(re, "$1,$2,$3,$4,$5").split(',');
- if (rgb.length == 5) {
- r = parseInt(rgb[1]).toString(16);
- g = parseInt(rgb[2]).toString(16);
- b = parseInt(rgb[3]).toString(16);
-
- r = r.length == 1 ? '0' + r : r;
- g = g.length == 1 ? '0' + g : g;
- b = b.length == 1 ? '0' + b : b;
-
- s = "#" + r + g + b;
-
- if (k)
- s = rgb[0] + s + rgb[4];
- }
- }
-
- return s;
-};
-
-TinyMCE_Engine.prototype.convertHexToRGB = function(s) {
- if (s.indexOf('#') != -1) {
- s = s.replace(new RegExp('[^0-9A-F]', 'gi'), '');
- return "rgb(" + parseInt(s.substring(0, 2), 16) + "," + parseInt(s.substring(2, 4), 16) + "," + parseInt(s.substring(4, 6), 16) + ")";
- }
-
- return s;
-};
-
-TinyMCE_Engine.prototype.convertSpansToFonts = function(doc) {
- var sizes = tinyMCE.getParam('font_size_style_values').replace(/\s+/, '').split(',');
-
- var h = doc.body.innerHTML;
- h = h.replace(/<span/gi, '<font');
- h = h.replace(/<\/span/gi, '</font');
- doc.body.innerHTML = h;
-
- var s = doc.getElementsByTagName("font");
- for (var i=0; i<s.length; i++) {
- var size = tinyMCE.trim(s[i].style.fontSize).toLowerCase();
- var fSize = 0;
-
- for (var x=0; x<sizes.length; x++) {
- if (sizes[x] == size) {
- fSize = x + 1;
- break;
- }
- }
-
- if (fSize > 0) {
- tinyMCE.setAttrib(s[i], 'size', fSize);
- s[i].style.fontSize = '';
- }
-
- var fFace = s[i].style.fontFamily;
- if (fFace != null && fFace != "") {
- tinyMCE.setAttrib(s[i], 'face', fFace);
- s[i].style.fontFamily = '';
- }
-
- var fColor = s[i].style.color;
- if (fColor != null && fColor != "") {
- tinyMCE.setAttrib(s[i], 'color', tinyMCE.convertRGBToHex(fColor));
- s[i].style.color = '';
- }
- }
-};
-
-TinyMCE_Engine.prototype.convertFontsToSpans = function(doc) {
- var sizes = tinyMCE.getParam('font_size_style_values').replace(/\s+/, '').split(',');
-
- var h = doc.body.innerHTML;
- h = h.replace(/<font/gi, '<span');
- h = h.replace(/<\/font/gi, '</span');
- doc.body.innerHTML = h;
-
- var fsClasses = tinyMCE.getParam('font_size_classes');
- if (fsClasses != '')
- fsClasses = fsClasses.replace(/\s+/, '').split(',');
- else
- fsClasses = null;
-
- var s = doc.getElementsByTagName("span");
- for (var i=0; i<s.length; i++) {
- var fSize, fFace, fColor;
-
- fSize = tinyMCE.getAttrib(s[i], 'size');
- fFace = tinyMCE.getAttrib(s[i], 'face');
- fColor = tinyMCE.getAttrib(s[i], 'color');
-
- if (fSize != "") {
- fSize = parseInt(fSize);
-
- if (fSize > 0 && fSize < 8) {
- if (fsClasses != null)
- tinyMCE.setAttrib(s[i], 'class', fsClasses[fSize-1]);
- else
- s[i].style.fontSize = sizes[fSize-1];
- }
-
- s[i].removeAttribute('size');
- }
-
- if (fFace != "") {
- s[i].style.fontFamily = fFace;
- s[i].removeAttribute('face');
- }
-
- if (fColor != "") {
- s[i].style.color = fColor;
- s[i].removeAttribute('color');
- }
- }
-};
-
-TinyMCE_Engine.prototype.cleanupAnchors = function(doc) {
- var i, cn, x, an = doc.getElementsByTagName("a");
-
- for (i=0; i<an.length; i++) {
- if (tinyMCE.getAttrib(an[i], "name") != "" && tinyMCE.getAttrib(an[i], "href") == "") {
- cn = an[i].childNodes;
-
- for (x=cn.length-1; x>=0; x--)
- tinyMCE.insertAfter(cn[x], an[i]);
- }
- }
-};
-
-TinyMCE_Engine.prototype.getContent = function(editor_id) {
- var h;
-
- if (typeof(editor_id) != "undefined")
- tinyMCE.selectedInstance = tinyMCE.getInstanceById(editor_id);
-
- if (tinyMCE.selectedInstance) {
- h = tinyMCE._cleanupHTML(this.selectedInstance, this.selectedInstance.getDoc(), tinyMCE.settings, this.selectedInstance.getBody(), false, true);
-
- // When editing always use fonts internaly
- if (tinyMCE.getParam("convert_fonts_to_spans"))
- tinyMCE.convertSpansToFonts(this.selectedInstance.getDoc());
-
- return h;
- }
-
- return null;
-};
-
-TinyMCE_Engine.prototype._fixListElements = function(d) {
- var nl, x, a = ['ol', 'ul'], i, n, p, r = new RegExp('^(OL|UL)$'), np;
-
- for (x=0; x<a.length; x++) {
- nl = d.getElementsByTagName(a[x]);
-
- for (i=0; i<nl.length; i++) {
- n = nl[i];
- p = n.parentNode;
-
- if (r.test(p.nodeName)) {
- np = tinyMCE.prevNode(n, 'LI');
-
- if (!np) {
- np = d.createElement('li');
- np.innerHTML = '&nbsp;';
- np.appendChild(n);
- p.insertBefore(np, p.firstChild);
- } else
- np.appendChild(n);
- }
- }
- }
-};
-
-TinyMCE_Engine.prototype._fixTables = function(d) {
- var nl, i, n, p, np, x, t;
-
- nl = d.getElementsByTagName('table');
- for (i=0; i<nl.length; i++) {
- n = nl[i];
-
- if ((p = tinyMCE.getParentElement(n, 'p,div,h1,h2,h3,h4,h5,h6')) != null) {
- np = p.cloneNode(false);
- np.removeAttribute('id');
-
- t = n;
-
- while ((n = n.nextSibling))
- np.appendChild(n);
-
- tinyMCE.insertAfter(np, p);
- tinyMCE.insertAfter(t, p);
- }
- }
-};
-
-TinyMCE_Engine.prototype._cleanupHTML = function(inst, doc, config, elm, visual, on_save, on_submit) {
- var h, d, t1, t2, t3, t4, t5, c, s;
-
- if (!tinyMCE.getParam('cleanup'))
- return elm.innerHTML;
-
- on_save = typeof(on_save) == 'undefined' ? false : on_save;
-
- c = inst.cleanup;
- s = inst.settings;
- d = c.settings.debug;
-
- if (d)
- t1 = new Date().getTime();
-
- if (tinyMCE.getParam("convert_fonts_to_spans"))
- tinyMCE.convertFontsToSpans(doc);
-
- if (tinyMCE.getParam("fix_list_elements"))
- tinyMCE._fixListElements(doc);
-
- if (tinyMCE.getParam("fix_table_elements"))
- tinyMCE._fixTables(doc);
-
- // Call custom cleanup code
- tinyMCE._customCleanup(inst, on_save ? "get_from_editor_dom" : "insert_to_editor_dom", doc.body);
-
- if (d)
- t2 = new Date().getTime();
-
- c.settings.on_save = on_save;
- //for (var i=0; i<100; i++)
-
- c.idCount = 0;
- c.serializationId++;
- c.serializedNodes = new Array();
- c.sourceIndex = -1;
-
- if (s.cleanup_serializer == "xml")
- h = c.serializeNodeAsXML(elm);
- else
- h = c.serializeNodeAsHTML(elm);
-
- if (d)
- t3 = new Date().getTime();
-
- // Post processing
- h = h.replace(/<\/?(body|head|html)[^>]*>/gi, '');
- h = h.replace(new RegExp(' (rowspan="1"|colspan="1")', 'g'), '');
- h = h.replace(/<p><hr \/><\/p>/g, '<hr />');
- h = h.replace(/<p>(&nbsp;|&#160;)<\/p><hr \/><p>(&nbsp;|&#160;)<\/p>/g, '<hr />');
- h = h.replace(/<td>\s*<br \/>\s*<\/td>/g, '<td>&nbsp;</td>');
- h = h.replace(/<p>\s*<br \/>\s*<\/p>/g, '<p>&nbsp;</p>');
- h = h.replace(/<p>\s*(&nbsp;|&#160;)\s*<br \/>\s*(&nbsp;|&#160;)\s*<\/p>/g, '<p>&nbsp;</p>');
- h = h.replace(/<p>\s*(&nbsp;|&#160;)\s*<br \/>\s*<\/p>/g, '<p>&nbsp;</p>');
- h = h.replace(/<p>\s*<br \/>\s*&nbsp;\s*<\/p>/g, '<p>&nbsp;</p>');
- h = h.replace(/<a>(.*?)<\/a>/g, '$1');
- h = h.replace(/<p([^>]*)>\s*<\/p>/g, '<p$1>&nbsp;</p>');
-
- // Clean body
- if (/^\s*(<br \/>|<p>&nbsp;<\/p>|<p>&#160;<\/p>|<p><\/p>)\s*$/.test(h))
- h = '';
-
- // If preformatted
- if (s.preformatted) {
- h = h.replace(/^<pre>/, '');
- h = h.replace(/<\/pre>$/, '');
- h = '<pre>' + h + '</pre>';
- }
-
- // Gecko specific processing
- if (tinyMCE.isGecko) {
- h = h.replace(/<o:p _moz-userdefined="" \/>/g, '');
- h = h.replace(/<td([^>]*)>\s*<br \/>\s*<\/td>/g, '<td$1>&nbsp;</td>');
- }
-
- if (s.force_br_newlines)
- h = h.replace(/<p>(&nbsp;|&#160;)<\/p>/g, '<br />');
-
- // Call custom cleanup code
- h = tinyMCE._customCleanup(inst, on_save ? "get_from_editor" : "insert_to_editor", h);
-
- // Remove internal classes
- if (on_save) {
- h = h.replace(new RegExp(' ?(mceItem[a-zA-Z0-9]*|' + s.visual_table_class + ')', 'g'), '');
- h = h.replace(new RegExp(' ?class=""', 'g'), '');
- }
-
- if (s.remove_linebreaks && !c.settings.indent)
- h = h.replace(/\n|\r/g, ' ');
-
- if (d)
- t4 = new Date().getTime();
-
- if (on_save && c.settings.indent)
- h = c.formatHTML(h);
-
- // If encoding (not recommended option)
- if (on_submit && (s.encoding == "xml" || s.encoding == "html"))
- h = c.xmlEncode(h);
-
- if (d)
- t5 = new Date().getTime();
-
- if (c.settings.debug)
- tinyMCE.debug("Cleanup in ms: Pre=" + (t2-t1) + ", Serialize: " + (t3-t2) + ", Post: " + (t4-t3) + ", Format: " + (t5-t4) + ", Sum: " + (t5-t1) + ".");
-
- return h;
-};
-
-function TinyMCE_Cleanup() {
- this.isMSIE = (navigator.appName == "Microsoft Internet Explorer");
- this.rules = tinyMCE.clearArray(new Array());
-
- // Default config
- this.settings = {
- indent_elements : 'head,table,tbody,thead,tfoot,form,tr,ul,ol,blockquote,object',
- newline_before_elements : 'h1,h2,h3,h4,h5,h6,pre,address,div,ul,ol,li,meta,option,area,title,link,base,script,td',
- newline_after_elements : 'br,hr,p,pre,address,div,ul,ol,meta,option,area,link,base,script',
- newline_before_after_elements : 'html,head,body,table,thead,tbody,tfoot,tr,form,ul,ol,blockquote,p,object,param,hr,div',
- indent_char : '\t',
- indent_levels : 1,
- entity_encoding : 'raw',
- valid_elements : '*[*]',
- entities : '',
- url_converter : '',
- invalid_elements : '',
- verify_html : false
- };
-
- this.vElements = tinyMCE.clearArray(new Array());
- this.vElementsRe = '';
- this.closeElementsRe = /^(IMG|BR|HR|LINK|META|BASE|INPUT|BUTTON)$/;
- this.codeElementsRe = /^(SCRIPT|STYLE)$/;
- this.serializationId = 0;
- this.mceAttribs = {
- href : 'mce_href',
- src : 'mce_src',
- type : 'mce_type'
- };
-}
-
-TinyMCE_Cleanup.prototype = {
- init : function(s) {
- var n, a, i, ir, or, st;
-
- for (n in s)
- this.settings[n] = s[n];
-
- // Setup code formating
- s = this.settings;
-
- // Setup regexps
- this.inRe = this._arrayToRe(s.indent_elements.split(','), '', '^<(', ')[^>]*');
- this.ouRe = this._arrayToRe(s.indent_elements.split(','), '', '^<\\/(', ')[^>]*');
- this.nlBeforeRe = this._arrayToRe(s.newline_before_elements.split(','), 'gi', '<(', ')([^>]*)>');
- this.nlAfterRe = this._arrayToRe(s.newline_after_elements.split(','), 'gi', '<(', ')([^>]*)>');
- this.nlBeforeAfterRe = this._arrayToRe(s.newline_before_after_elements.split(','), 'gi', '<(\\/?)(', ')([^>]*)>');
-
- if (s.invalid_elements != '')
- this.iveRe = this._arrayToRe(s.invalid_elements.toUpperCase().split(','), 'g', '^(', ')$');
- else
- this.iveRe = null;
-
- // Setup separator
- st = '';
- for (i=0; i<s.indent_levels; i++)
- st += s.indent_char;
-
- this.inStr = st;
-
- // If verify_html if false force *[*]
- if (!s.verify_html) {
- s.valid_elements = '*[*]';
- s.extended_valid_elements = '';
- }
-
- this.fillStr = s.entity_encoding == "named" ? "&nbsp;" : "&#160;";
- this.idCount = 0;
- },
-
- addRuleStr : function(s) {
- var r = this.parseRuleStr(s);
- var n;
-
- for (n in r) {
- if (r[n])
- this.rules[n] = r[n];
- }
-
- this.vElements = tinyMCE.clearArray(new Array());
-
- for (n in this.rules) {
- if (this.rules[n])
- this.vElements[this.vElements.length] = this.rules[n].tag;
- }
-
- this.vElementsRe = this._arrayToRe(this.vElements, '');
- },
-
- parseRuleStr : function(s) {
- var ta, p, r, a, i, x, px, t, tn, y, av, or = tinyMCE.clearArray(new Array()), dv;
-
- if (s == null || s.length == 0)
- return or;
-
- ta = s.split(',');
- for (x=0; x<ta.length; x++) {
- s = ta[x];
- if (s.length == 0)
- continue;
-
- // Split tag/attrs
- p = this.split(/\[|\]/, s);
- if (p == null || p.length < 1)
- t = s.toUpperCase();
- else
- t = p[0].toUpperCase();
-
- // Handle all tag names
- tn = this.split('/', t);
- for (y=0; y<tn.length; y++) {
- r = {};
-
- r.tag = tn[y];
- r.forceAttribs = null;
- r.defaultAttribs = null;
- r.validAttribValues = null;
-
- // Handle prefixes
- px = r.tag.charAt(0);
- r.forceOpen = px == '+';
- r.removeEmpty = px == '-';
- r.fill = px == '#';
- r.tag = r.tag.replace(/\+|-|#/g, '');
- r.oTagName = tn[0].replace(/\+|-|#/g, '').toLowerCase();
- r.isWild = new RegExp('\\*|\\?|\\+', 'g').test(r.tag);
- r.validRe = new RegExp(this._wildcardToRe('^' + r.tag + '$'));
-
- // Setup valid attributes
- if (p.length > 1) {
- r.vAttribsRe = '^(';
- a = this.split(/\|/, p[1]);
-
- for (i=0; i<a.length; i++) {
- t = a[i];
-
- av = /(=|:|<)(.*?)$/.exec(t);
- t = t.replace(/(=|:|<).*?$/, '');
- if (av && av.length > 0) {
- if (av[0].charAt(0) == ':') {
- if (!r.forceAttribs)
- r.forceAttribs = tinyMCE.clearArray(new Array());
-
- r.forceAttribs[t.toLowerCase()] = av[0].substring(1);
- } else if (av[0].charAt(0) == '=') {
- if (!r.defaultAttribs)
- r.defaultAttribs = tinyMCE.clearArray(new Array());
-
- dv = av[0].substring(1);
-
- r.defaultAttribs[t.toLowerCase()] = dv == "" ? "mce_empty" : dv;
- } else if (av[0].charAt(0) == '<') {
- if (!r.validAttribValues)
- r.validAttribValues = tinyMCE.clearArray(new Array());
-
- r.validAttribValues[t.toLowerCase()] = this._arrayToRe(this.split('?', av[0].substring(1)), '');
- }
- }
-
- r.vAttribsRe += '' + t.toLowerCase() + (i != a.length - 1 ? '|' : '');
-
- a[i] = t.toLowerCase();
- }
-
- r.vAttribsRe += ')$';
- r.vAttribsRe = this._wildcardToRe(r.vAttribsRe);
- r.vAttribsReIsWild = new RegExp('\\*|\\?|\\+', 'g').test(r.vAttribsRe);
- r.vAttribsRe = new RegExp(r.vAttribsRe);
- r.vAttribs = a.reverse();
-
- //tinyMCE.debug(r.tag, r.oTagName, r.vAttribsRe, r.vAttribsReWC);
- } else {
- r.vAttribsRe = '';
- r.vAttribs = tinyMCE.clearArray(new Array());
- r.vAttribsReIsWild = false;
- }
-
- or[r.tag] = r;
- }
- }
-
- return or;
- },
-
- serializeNodeAsXML : function(n) {
- var s, b;
-
- if (!this.xmlDoc) {
- if (this.isMSIE) {
- try {this.xmlDoc = new ActiveXObject('MSXML2.DOMDocument');} catch (e) {}
-
- if (!this.xmlDoc)
- try {this.xmlDoc = new ActiveXObject('Microsoft.XmlDom');} catch (e) {}
- } else
- this.xmlDoc = document.implementation.createDocument('', '', null);
-
- if (!this.xmlDoc)
- alert("Error XML Parser could not be found.");
- }
-
- if (this.xmlDoc.firstChild)
- this.xmlDoc.removeChild(this.xmlDoc.firstChild);
-
- b = this.xmlDoc.createElement("html");
- b = this.xmlDoc.appendChild(b);
-
- this._convertToXML(n, b);
-
- if (this.isMSIE)
- return this.xmlDoc.xml;
- else
- return new XMLSerializer().serializeToString(this.xmlDoc);
- },
-
- _convertToXML : function(n, xn) {
- var xd, el, i, l, cn, at, no, hc = false;
-
- if (this._isDuplicate(n))
- return;
-
- xd = this.xmlDoc;
-
- switch (n.nodeType) {
- case 1: // Element
- hc = n.hasChildNodes();
-
- el = xd.createElement(n.nodeName.toLowerCase());
-
- at = n.attributes;
- for (i=at.length-1; i>-1; i--) {
- no = at[i];
-
- if (no.specified && no.nodeValue)
- el.setAttribute(no.nodeName.toLowerCase(), no.nodeValue);
- }
-
- if (!hc && !this.closeElementsRe.test(n.nodeName))
- el.appendChild(xd.createTextNode(""));
-
- xn = xn.appendChild(el);
- break;
-
- case 3: // Text
- xn.appendChild(xd.createTextNode(n.nodeValue));
- return;
-
- case 8: // Comment
- xn.appendChild(xd.createComment(n.nodeValue));
- return;
- }
-
- if (hc) {
- cn = n.childNodes;
-
- for (i=0, l=cn.length; i<l; i++)
- this._convertToXML(cn[i], xn);
- }
- },
-
- serializeNodeAsHTML : function(n) {
- var en, no, h = '', i, l, r, cn, va = false, f = false, at, hc;
-
- this._setupRules(); // Will initialize cleanup rules
-
- if (this._isDuplicate(n))
- return '';
-
- switch (n.nodeType) {
- case 1: // Element
- hc = n.hasChildNodes();
-
- // MSIE sometimes produces <//tag>
- if ((tinyMCE.isMSIE && !tinyMCE.isOpera) && n.nodeName.indexOf('/') != -1)
- break;
-
- if (this.vElementsRe.test(n.nodeName) && (!this.iveRe || !this.iveRe.test(n.nodeName))) {
- va = true;
-
- r = this.rules[n.nodeName];
- if (!r) {
- at = this.rules;
- for (no in at) {
- if (at[no] && at[no].validRe.test(n.nodeName)) {
- r = at[no];
- break;
- }
- }
- }
-
- en = r.isWild ? n.nodeName.toLowerCase() : r.oTagName;
- f = r.fill;
-
- if (r.removeEmpty && !hc)
- return "";
-
- h += '<' + en;
-
- if (r.vAttribsReIsWild) {
- // Serialize wildcard attributes
- at = n.attributes;
- for (i=at.length-1; i>-1; i--) {
- no = at[i];
- if (no.specified && r.vAttribsRe.test(no.nodeName))
- h += this._serializeAttribute(n, r, no.nodeName);
- }
- } else {
- // Serialize specific attributes
- for (i=r.vAttribs.length-1; i>-1; i--)
- h += this._serializeAttribute(n, r, r.vAttribs[i]);
- }
-
- // Serialize mce_ atts
- if (!this.settings.on_save) {
- at = this.mceAttribs;
-
- for (no in at) {
- if (at[no])
- h += this._serializeAttribute(n, r, at[no]);
- }
- }
-
- // Close these
- if (this.closeElementsRe.test(n.nodeName))
- return h + ' />';
-
- h += '>';
-
- if (this.isMSIE && this.codeElementsRe.test(n.nodeName))
- h += n.innerHTML;
- }
- break;
-
- case 3: // Text
- if (n.parentNode && this.codeElementsRe.test(n.parentNode.nodeName))
- return this.isMSIE ? '' : n.nodeValue;
-
- return this.xmlEncode(n.nodeValue);
-
- case 8: // Comment
- return "<!--" + this._trimComment(n.nodeValue) + "-->";
- }
-
- if (hc) {
- cn = n.childNodes;
-
- for (i=0, l=cn.length; i<l; i++)
- h += this.serializeNodeAsHTML(cn[i]);
- }
-
- // Fill empty nodes
- if (f && !hc)
- h += this.fillStr;
-
- // End element
- if (va)
- h += '</' + en + '>';
-
- return h;
- },
-
- _serializeAttribute : function(n, r, an) {
- var av = '', t, os = this.settings.on_save;
-
- if (os && (an.indexOf('mce_') == 0 || an.indexOf('_moz') == 0))
- return '';
-
- if (os && this.mceAttribs[an])
- av = this._getAttrib(n, this.mceAttribs[an]);
-
- if (av.length == 0)
- av = this._getAttrib(n, an);
-
- if (av.length == 0 && r.defaultAttribs && (t = r.defaultAttribs[an])) {
- av = t;
-
- if (av == "mce_empty")
- return " " + an + '=""';
- }
-
- if (r.forceAttribs && (t = r.forceAttribs[an]))
- av = t;
-
- if (os && av.length != 0 && this.settings.url_converter.length != 0 && /^(src|href|longdesc)$/.test(an))
- av = eval(this.settings.url_converter + '(this, n, av)');
-
- if (av.length != 0 && r.validAttribValues && r.validAttribValues[an] && !r.validAttribValues[an].test(av))
- return "";
-
- if (av.length != 0 && av == "{$uid}")
- av = "uid_" + (this.idCount++);
-
- if (av.length != 0)
- return " " + an + "=" + '"' + this.xmlEncode(av) + '"';
-
- return "";
- },
-
- formatHTML : function(h) {
- var s = this.settings, p = '', i = 0, li = 0, o = '', l;
-
- h = h.replace(/\r/g, ''); // Windows sux, isn't carriage return a thing of the past :)
- h = '\n' + h;
- h = h.replace(new RegExp('\\n\\s+', 'gi'), '\n'); // Remove previous formatting
- h = h.replace(this.nlBeforeRe, '\n<$1$2>');
- h = h.replace(this.nlAfterRe, '<$1$2>\n');
- h = h.replace(this.nlBeforeAfterRe, '\n<$1$2$3>\n');
- h += '\n';
-
- //tinyMCE.debug(h);
-
- while ((i = h.indexOf('\n', i + 1)) != -1) {
- if ((l = h.substring(li + 1, i)).length != 0) {
- if (this.ouRe.test(l) && p.length >= s.indent_levels)
- p = p.substring(s.indent_levels);
-
- o += p + l + '\n';
-
- if (this.inRe.test(l))
- p += this.inStr;
- }
-
- li = i;
- }
-
- //tinyMCE.debug(h);
-
- return o;
- },
-
- xmlEncode : function(s) {
- var i, l, e, o = '', c;
-
- this._setupEntities(); // Will intialize lookup table
-
- switch (this.settings.entity_encoding) {
- case "raw":
- return tinyMCE.xmlEncode(s);
-
- case "named":
- for (i=0, l=s.length; i<l; i++) {
- c = s.charCodeAt(i);
- e = this.entities[c];
-
- // &apos; is not working in MSIE
- // More info: http://www.w3.org/TR/xhtml1/#C_16
- if (c == 39) {
- o += "&#39;";
- continue;
- }
-
- if (e && e != '')
- o += '&' + e + ';';
- else
- o += String.fromCharCode(c);
- }
-
- return o;
-
- case "numeric":
- for (i=0, l=s.length; i<l; i++) {
- c = s.charCodeAt(i);
-
- if (c > 127 || c == 60 || c == 62 || c == 38 || c == 39 || c == 34)
- o += '&#' + c + ";";
- else
- o += String.fromCharCode(c);
- }
-
- return o;
- }
-
- return s;
- },
-
- split : function(re, s) {
- var c = s.split(re);
- var i, l, o = new Array();
-
- for (i=0, l=c.length; i<l; i++) {
- if (c[i] != '')
- o[i] = c[i];
- }
-
- return o;
- },
-
- _trimComment : function(s) {
- // Make xsrc, xhref as src and href again
- if (tinyMCE.isGecko) {
- s = s.replace(/\sxsrc=/gi, " src=");
- s = s.replace(/\sxhref=/gi, " href=");
- }
-
- // Remove mce_src, mce_href
- s = s.replace(new RegExp('\\smce_src=\"[^\"]*\"', 'gi'), "");
- s = s.replace(new RegExp('\\smce_href=\"[^\"]*\"', 'gi'), "");
-
- return s;
- },
-
- _getAttrib : function(e, n, d) {
- if (typeof(d) == "undefined")
- d = "";
-
- if (!e || e.nodeType != 1)
- return d;
-
- var v = e.getAttribute(n, 0);
-
- if (n == "class" && !v)
- v = e.className;
-
- if (this.isMSIE && n == "http-equiv")
- v = e.httpEquiv;
-
- if (n == "style" && !tinyMCE.isOpera)
- v = e.style.cssText;
-
- if (n == 'style')
- v = tinyMCE.serializeStyle(tinyMCE.parseStyle(v));
-
- if (this.settings.on_save && n.indexOf('on') != -1 && this.settings.on_save && v && v != "")
- v = tinyMCE.cleanupEventStr(v);
-
- return (v && v != "") ? '' + v : d;
- },
-
- _urlConverter : function(c, n, v) {
- if (!c.settings.on_save)
- return tinyMCE.convertRelativeToAbsoluteURL(tinyMCE.settings.base_href, v);
- else if (tinyMCE.getParam('convert_urls'))
- return eval(tinyMCE.settings.urlconverter_callback + "(v, n, true);");
-
- return v;
- },
-
- _arrayToRe : function(a, op, be, af) {
- var i, r;
-
- op = typeof(op) == "undefined" ? "gi" : op;
- be = typeof(be) == "undefined" ? "^(" : be;
- af = typeof(af) == "undefined" ? ")$" : af;
-
- r = be;
-
- for (i=0; i<a.length; i++)
- r += this._wildcardToRe(a[i]) + (i != a.length-1 ? "|" : "");
-
- r += af;
-
- return new RegExp(r, op);
- },
-
- _wildcardToRe : function(s) {
- s = s.replace(/\?/g, '(\\S?)');
- s = s.replace(/\+/g, '(\\S+)');
- s = s.replace(/\*/g, '(\\S*)');
-
- return s;
- },
-
- _setupEntities : function() {
- var n, a, i, s = this.settings;
-
- // Setup entities
- if (!this.entitiesDone) {
- if (s.entity_encoding == "named") {
- n = tinyMCE.clearArray(new Array());
- a = this.split(',', s.entities);
- for (i=0; i<a.length; i+=2)
- n[a[i]] = a[i+1];
-
- this.entities = n;
- }
-
- this.entitiesDone = true;
- }
- },
-
- _setupRules : function() {
- var s = this.settings;
-
- // Setup default rule
- if (!this.rulesDone) {
- this.addRuleStr(s.valid_elements);
- this.addRuleStr(s.extended_valid_elements);
-
- this.rulesDone = true;
- }
- },
-
- _isDuplicate : function(n) {
- var i;
-
- if (!this.settings.fix_content_duplication)
- return false;
-
- if (tinyMCE.isMSIE && !tinyMCE.isOpera && n.nodeType == 1) {
- // Mark elements
- if (n.mce_serialized == this.serializationId)
- return true;
-
- n.setAttribute('mce_serialized', this.serializationId);
- } else {
- // Search lookup table for text nodes and comments
- for (i=0; i<this.serializedNodes.length; i++) {
- if (this.serializedNodes[i] == n)
- return true;
- }
-
- this.serializedNodes[this.serializedNodes.length] = n;
- }
-
- return false;
- }
-};
-
-/* file:jscripts/tiny_mce/classes/TinyMCE_DOMUtils.class.js */
-
-TinyMCE_Engine.prototype.getElementByAttributeValue = function(n, e, a, v) {
- return (n = this.getElementsByAttributeValue(n, e, a, v)).length == 0 ? null : n[0];
-};
-
-TinyMCE_Engine.prototype.getElementsByAttributeValue = function(n, e, a, v) {
- var i, nl = n.getElementsByTagName(e), o = new Array();
-
- for (i=0; i<nl.length; i++) {
- if (tinyMCE.getAttrib(nl[i], a).indexOf(v) != -1)
- o[o.length] = nl[i];
- }
-
- return o;
-};
-
-TinyMCE_Engine.prototype.isBlockElement = function(n) {
- return n != null && n.nodeType == 1 && this.blockRegExp.test(n.nodeName);
-};
-
-TinyMCE_Engine.prototype.getParentBlockElement = function(n) {
- while (n) {
- if (this.isBlockElement(n))
- return n;
-
- n = n.parentNode;
- }
-
- return null;
-};
-
-TinyMCE_Engine.prototype.insertAfter = function(n, r){
- if (r.nextSibling)
- r.parentNode.insertBefore(n, r.nextSibling);
- else
- r.parentNode.appendChild(n);
-};
-
-TinyMCE_Engine.prototype.setInnerHTML = function(e, h) {
- var i, nl, n;
-
- if (tinyMCE.isMSIE && !tinyMCE.isOpera) {
- // Since MSIE handles invalid HTML better that valid XHTML we
- // need to make some things invalid. <hr /> gets converted to <hr>.
- h = h.replace(/\s\/>/g, '>');
-
- // Since MSIE auto generated emtpy P tags some times we must tell it to keep the real ones
- h = h.replace(/<p([^>]*)>\u00A0?<\/p>/gi, '<p$1 mce_keep="true">&nbsp;</p>'); // Keep empty paragraphs
- h = h.replace(/<p([^>]*)>&nbsp;<\/p>/gi, '<p$1 mce_keep="true">&nbsp;</p>'); // Keep empty paragraphs
-
- // Remove first comment
- e.innerHTML = tinyMCE.uniqueTag + h;
- e.firstChild.removeNode(true);
-
- // Remove weird auto generated empty paragraphs unless it's supposed to be there
- nl = e.getElementsByTagName("p");
- for (i=nl.length-1; i>=0; i--) {
- n = nl[i];
-
- if (n.nodeName == 'P' && !n.hasChildNodes() && !n.mce_keep)
- n.parentNode.removeChild(n);
- }
- } else {
- h = this.fixGeckoBaseHREFBug(1, e, h);
- e.innerHTML = h;
- this.fixGeckoBaseHREFBug(2, e, h);
- }
-};
-
-TinyMCE_Engine.prototype.getOuterHTML = function(e) {
- if (tinyMCE.isMSIE)
- return e.outerHTML;
-
- var d = e.ownerDocument.createElement("body");
- d.appendChild(e);
- return d.innerHTML;
-};
-
-TinyMCE_Engine.prototype.setOuterHTML = function(e, h) {
- if (tinyMCE.isMSIE) {
- e.outerHTML = h;
- return;
- }
-
- var d = e.ownerDocument.createElement("body");
- d.innerHTML = h;
- e.parentNode.replaceChild(d.firstChild, e);
-};
-
-TinyMCE_Engine.prototype._getElementById = function(id, d) {
- var e, i, j, f;
-
- if (typeof(d) == "undefined")
- d = document;
-
- e = d.getElementById(id);
- if (!e) {
- f = d.forms;
-
- for (i=0; i<f.length; i++) {
- for (j=0; j<f[i].elements.length; j++) {
- if (f[i].elements[j].name == id) {
- e = f[i].elements[j];
- break;
- }
- }
- }
- }
-
- return e;
-};
-
-TinyMCE_Engine.prototype.getNodeTree = function(n, na, t, nn) {
- var i;
-
- if (typeof(t) == "undefined" || n.nodeType == t && (typeof(nn) == "undefined" || n.nodeName == nn))
- na[na.length] = n;
-
- if (n.hasChildNodes()) {
- for (i=0; i<n.childNodes.length; i++)
- tinyMCE.getNodeTree(n.childNodes[i], na, t, nn);
- }
-
- return na;
-};
-
-TinyMCE_Engine.prototype.getParentElement = function(node, names, attrib_name, attrib_value) {
- if (typeof(names) == "undefined") {
- if (node.nodeType == 1)
- return node;
-
- // Find parent node that is a element
- while ((node = node.parentNode) != null && node.nodeType != 1) ;
-
- return node;
- }
-
- if (node == null)
- return null;
-
- var namesAr = names.toUpperCase().split(',');
-
- do {
- for (var i=0; i<namesAr.length; i++) {
- if (node.nodeName == namesAr[i] || names == "*") {
- if (typeof(attrib_name) == "undefined")
- return node;
- else if (node.getAttribute(attrib_name)) {
- if (typeof(attrib_value) == "undefined") {
- if (node.getAttribute(attrib_name) != "")
- return node;
- } else if (node.getAttribute(attrib_name) == attrib_value)
- return node;
- }
- }
- }
- } while ((node = node.parentNode) != null);
-
- return null;
-};
-
-TinyMCE_Engine.prototype.getAttrib = function(elm, name, default_value) {
- if (typeof(default_value) == "undefined")
- default_value = "";
-
- // Not a element
- if (!elm || elm.nodeType != 1)
- return default_value;
-
- var v = elm.getAttribute(name);
-
- // Try className for class attrib
- if (name == "class" && !v)
- v = elm.className;
-
- // Workaround for a issue with Firefox 1.5rc2+
- if (tinyMCE.isGecko && name == "src" && elm.src != null && elm.src != "")
- v = elm.src;
-
- // Workaround for a issue with Firefox 1.5rc2+
- if (tinyMCE.isGecko && name == "href" && elm.href != null && elm.href != "")
- v = elm.href;
-
- if (name == "http-equiv" && tinyMCE.isMSIE)
- v = elm.httpEquiv;
-
- if (name == "style" && !tinyMCE.isOpera)
- v = elm.style.cssText;
-
- return (v && v != "") ? v : default_value;
-};
-
-TinyMCE_Engine.prototype.setAttrib = function(element, name, value, fix_value) {
- if (typeof(value) == "number" && value != null)
- value = "" + value;
-
- if (fix_value) {
- if (value == null)
- value = "";
-
- var re = new RegExp('[^0-9%]', 'g');
- value = value.replace(re, '');
- }
-
- if (name == "style")
- element.style.cssText = value;
-
- if (name == "class")
- element.className = value;
-
- if (value != null && value != "" && value != -1)
- element.setAttribute(name, value);
- else
- element.removeAttribute(name);
-};
-
-TinyMCE_Engine.prototype.setStyleAttrib = function(elm, name, value) {
- eval('elm.style.' + name + '=value;');
-
- // Style attrib deleted
- if (tinyMCE.isMSIE && value == null || value == '') {
- var str = tinyMCE.serializeStyle(tinyMCE.parseStyle(elm.style.cssText));
- elm.style.cssText = str;
- elm.setAttribute("style", str);
- }
-};
-
-TinyMCE_Engine.prototype.switchClass = function(ei, c) {
- var e;
-
- if (tinyMCE.switchClassCache[ei])
- e = tinyMCE.switchClassCache[ei];
- else
- e = tinyMCE.switchClassCache[ei] = document.getElementById(ei);
-
- if (e) {
- // Keep tile mode
- if (tinyMCE.settings.button_tile_map && e.className && e.className.indexOf('mceTiledButton') == 0)
- c = 'mceTiledButton ' + c;
-
- e.className = c;
- }
-};
-
-TinyMCE_Engine.prototype.getAbsPosition = function(n) {
- var p = {absLeft : 0, absTop : 0};
-
- while (n) {
- p.absLeft += n.offsetLeft;
- p.absTop += n.offsetTop;
- n = n.offsetParent;
- }
-
- return p;
-};
-
-TinyMCE_Engine.prototype.prevNode = function(e, n) {
- var a = n.split(','), i;
-
- while ((e = e.previousSibling) != null) {
- for (i=0; i<a.length; i++) {
- if (e.nodeName == a[i])
- return e;
- }
- }
-
- return null;
-};
-
-TinyMCE_Engine.prototype.nextNode = function(e, n) {
- var a = n.split(','), i;
-
- while ((e = e.nextSibling) != null) {
- for (i=0; i<a.length; i++) {
- if (e.nodeName == a[i])
- return e;
- }
- }
-
- return null;
-};
-
-/* file:jscripts/tiny_mce/classes/TinyMCE_URL.class.js */
-
-TinyMCE_Engine.prototype.parseURL = function(url_str) {
- var urlParts = new Array();
-
- if (url_str) {
- var pos, lastPos;
-
- // Parse protocol part
- pos = url_str.indexOf('://');
- if (pos != -1) {
- urlParts['protocol'] = url_str.substring(0, pos);
- lastPos = pos + 3;
- }
-
- // Find port or path start
- for (var i=lastPos; i<url_str.length; i++) {
- var chr = url_str.charAt(i);
-
- if (chr == ':')
- break;
-
- if (chr == '/')
- break;
- }
- pos = i;
-
- // Get host
- urlParts['host'] = url_str.substring(lastPos, pos);
-
- // Get port
- urlParts['port'] = "";
- lastPos = pos;
- if (url_str.charAt(pos) == ':') {
- pos = url_str.indexOf('/', lastPos);
- urlParts['port'] = url_str.substring(lastPos+1, pos);
- }
-
- // Get path
- lastPos = pos;
- pos = url_str.indexOf('?', lastPos);
-
- if (pos == -1)
- pos = url_str.indexOf('#', lastPos);
-
- if (pos == -1)
- pos = url_str.length;
-
- urlParts['path'] = url_str.substring(lastPos, pos);
-
- // Get query
- lastPos = pos;
- if (url_str.charAt(pos) == '?') {
- pos = url_str.indexOf('#');
- pos = (pos == -1) ? url_str.length : pos;
- urlParts['query'] = url_str.substring(lastPos+1, pos);
- }
-
- // Get anchor
- lastPos = pos;
- if (url_str.charAt(pos) == '#') {
- pos = url_str.length;
- urlParts['anchor'] = url_str.substring(lastPos+1, pos);
- }
- }
-
- return urlParts;
-};
-
-TinyMCE_Engine.prototype.serializeURL = function(up) {
- var o = "";
-
- if (up['protocol'])
- o += up['protocol'] + "://";
-
- if (up['host'])
- o += up['host'];
-
- if (up['port'])
- o += ":" + up['port'];
-
- if (up['path'])
- o += up['path'];
-
- if (up['query'])
- o += "?" + up['query'];
-
- if (up['anchor'])
- o += "#" + up['anchor'];
-
- return o;
-};
-
-TinyMCE_Engine.prototype.convertAbsoluteURLToRelativeURL = function(base_url, url_to_relative) {
- var baseURL = this.parseURL(base_url);
- var targetURL = this.parseURL(url_to_relative);
- var strTok1;
- var strTok2;
- var breakPoint = 0;
- var outPath = "";
- var forceSlash = false;
-
- if (targetURL.path == "")
- targetURL.path = "/";
- else
- forceSlash = true;
-
- // Crop away last path part
- base_url = baseURL.path.substring(0, baseURL.path.lastIndexOf('/'));
- strTok1 = base_url.split('/');
- strTok2 = targetURL.path.split('/');
-
- if (strTok1.length >= strTok2.length) {
- for (var i=0; i<strTok1.length; i++) {
- if (i >= strTok2.length || strTok1[i] != strTok2[i]) {
- breakPoint = i + 1;
- break;
- }
- }
- }
-
- if (strTok1.length < strTok2.length) {
- for (var i=0; i<strTok2.length; i++) {
- if (i >= strTok1.length || strTok1[i] != strTok2[i]) {
- breakPoint = i + 1;
- break;
- }
- }
- }
-
- if (breakPoint == 1)
- return targetURL.path;
-
- for (var i=0; i<(strTok1.length-(breakPoint-1)); i++)
- outPath += "../";
-
- for (var i=breakPoint-1; i<strTok2.length; i++) {
- if (i != (breakPoint-1))
- outPath += "/" + strTok2[i];
- else
- outPath += strTok2[i];
- }
-
- targetURL.protocol = null;
- targetURL.host = null;
- targetURL.port = null;
- targetURL.path = outPath == "" && forceSlash ? "/" : outPath;
-
- // Remove document prefix from local anchors
- var fileName = baseURL.path;
- var pos;
-
- if ((pos = fileName.lastIndexOf('/')) != -1)
- fileName = fileName.substring(pos + 1);
-
- // Is local anchor
- if (fileName == targetURL.path && targetURL.anchor != "")
- targetURL.path = "";
-
- // If empty and not local anchor force slash
- if (targetURL.path == "" && !targetURL.anchor)
- targetURL.path = "/";
-
- return this.serializeURL(targetURL);
-};
-
-TinyMCE_Engine.prototype.convertRelativeToAbsoluteURL = function(base_url, relative_url) {
- var baseURL = this.parseURL(base_url);
- var relURL = this.parseURL(relative_url);
-
- if (relative_url == "" || relative_url.charAt(0) == '/' || relative_url.indexOf('://') != -1 || relative_url.indexOf('mailto:') != -1 || relative_url.indexOf('javascript:') != -1)
- return relative_url;
-
- // Split parts
- baseURLParts = baseURL['path'].split('/');
- relURLParts = relURL['path'].split('/');
-
- // Remove empty chunks
- var newBaseURLParts = new Array();
- for (var i=baseURLParts.length-1; i>=0; i--) {
- if (baseURLParts[i].length == 0)
- continue;
-
- newBaseURLParts[newBaseURLParts.length] = baseURLParts[i];
- }
- baseURLParts = newBaseURLParts.reverse();
-
- // Merge relURLParts chunks
- var newRelURLParts = new Array();
- var numBack = 0;
- for (var i=relURLParts.length-1; i>=0; i--) {
- if (relURLParts[i].length == 0 || relURLParts[i] == ".")
- continue;
-
- if (relURLParts[i] == '..') {
- numBack++;
- continue;
- }
-
- if (numBack > 0) {
- numBack--;
- continue;
- }
-
- newRelURLParts[newRelURLParts.length] = relURLParts[i];
- }
-
- relURLParts = newRelURLParts.reverse();
-
- // Remove end from absolute path
- var len = baseURLParts.length-numBack;
- var absPath = (len <= 0 ? "" : "/") + baseURLParts.slice(0, len).join('/') + "/" + relURLParts.join('/');
- var start = "", end = "";
-
- // Build output URL
- relURL.protocol = baseURL.protocol;
- relURL.host = baseURL.host;
- relURL.port = baseURL.port;
-
- // Re-add trailing slash if it's removed
- if (relURL.path.charAt(relURL.path.length-1) == "/")
- absPath += "/";
-
- relURL.path = absPath;
-
- return this.serializeURL(relURL);
-};
-
-TinyMCE_Engine.prototype.convertURL = function(url, node, on_save) {
- var prot = document.location.protocol;
- var host = document.location.hostname;
- var port = document.location.port;
-
- // Pass through file protocol
- if (prot == "file:")
- return url;
-
- // Something is wrong, remove weirdness
- url = tinyMCE.regexpReplace(url, '(http|https):///', '/');
-
- // Mailto link or anchor (Pass through)
- if (url.indexOf('mailto:') != -1 || url.indexOf('javascript:') != -1 || tinyMCE.regexpReplace(url,'[ \t\r\n\+]|%20','').charAt(0) == "#")
- return url;
-
- // Fix relative/Mozilla
- if (!tinyMCE.isMSIE && !on_save && url.indexOf("://") == -1 && url.charAt(0) != '/')
- return tinyMCE.settings['base_href'] + url;
-
- // Handle relative URLs
- if (on_save && tinyMCE.getParam('relative_urls')) {
- var curl = tinyMCE.convertRelativeToAbsoluteURL(tinyMCE.settings['base_href'], url);
- if (curl.charAt(0) == '/')
- curl = tinyMCE.settings['document_base_prefix'] + curl;
-
- var urlParts = tinyMCE.parseURL(curl);
- var tmpUrlParts = tinyMCE.parseURL(tinyMCE.settings['document_base_url']);
-
- // Force relative
- if (urlParts['host'] == tmpUrlParts['host'] && (urlParts['port'] == tmpUrlParts['port']))
- return tinyMCE.convertAbsoluteURLToRelativeURL(tinyMCE.settings['document_base_url'], curl);
- }
-
- // Handle absolute URLs
- if (!tinyMCE.getParam('relative_urls')) {
- var urlParts = tinyMCE.parseURL(url);
- var baseUrlParts = tinyMCE.parseURL(tinyMCE.settings['base_href']);
-
- // Force absolute URLs from relative URLs
- url = tinyMCE.convertRelativeToAbsoluteURL(tinyMCE.settings['base_href'], url);
-
- // If anchor and path is the same page
- if (urlParts['anchor'] && urlParts['path'] == baseUrlParts['path'])
- return "#" + urlParts['anchor'];
- }
-
- // Remove current domain
- if (tinyMCE.getParam('remove_script_host')) {
- var start = "", portPart = "";
-
- if (port != "")
- portPart = ":" + port;
-
- start = prot + "//" + host + portPart + "/";
-
- if (url.indexOf(start) == 0)
- url = url.substring(start.length-1);
- }
-
- return url;
-};
-
-TinyMCE_Engine.prototype.convertAllRelativeURLs = function(body) {
- // Convert all image URL:s to absolute URL
- var elms = body.getElementsByTagName("img");
- for (var i=0; i<elms.length; i++) {
- var src = tinyMCE.getAttrib(elms[i], 'src');
-
- var msrc = tinyMCE.getAttrib(elms[i], 'mce_src');
- if (msrc != "")
- src = msrc;
-
- if (src != "") {
- src = tinyMCE.convertRelativeToAbsoluteURL(tinyMCE.settings['base_href'], src);
- elms[i].setAttribute("src", src);
- }
- }
-
- // Convert all link URL:s to absolute URL
- var elms = body.getElementsByTagName("a");
- for (var i=0; i<elms.length; i++) {
- var href = tinyMCE.getAttrib(elms[i], 'href');
-
- var mhref = tinyMCE.getAttrib(elms[i], 'mce_href');
- if (mhref != "")
- href = mhref;
-
- if (href && href != "") {
- href = tinyMCE.convertRelativeToAbsoluteURL(tinyMCE.settings['base_href'], href);
- elms[i].setAttribute("href", href);
- }
- }
-};
-
-/* file:jscripts/tiny_mce/classes/TinyMCE_Array.class.js */
-
-TinyMCE_Engine.prototype.clearArray = function(a) {
- for (var k in a)
- a[k] = null;
-
- return a;
-};
-
-/* file:jscripts/tiny_mce/classes/TinyMCE_Event.class.js */
-
-TinyMCE_Engine.prototype._setEventsEnabled = function(node, state) {
- var events = new Array('onfocus','onblur','onclick','ondblclick',
- 'onmousedown','onmouseup','onmouseover','onmousemove',
- 'onmouseout','onkeypress','onkeydown','onkeydown','onkeyup');
-
- var evs = tinyMCE.settings['event_elements'].split(',');
- for (var y=0; y<evs.length; y++){
- var elms = node.getElementsByTagName(evs[y]);
- for (var i=0; i<elms.length; i++) {
- var event = "";
-
- for (var x=0; x<events.length; x++) {
- if ((event = tinyMCE.getAttrib(elms[i], events[x])) != '') {
- event = tinyMCE.cleanupEventStr("" + event);
-
- if (!state)
- event = "return true;" + event;
- else
- event = event.replace(/^return true;/gi, '');
-
- elms[i].removeAttribute(events[x]);
- elms[i].setAttribute(events[x], event);
- }
- }
- }
- }
-};
-
-TinyMCE_Engine.prototype._eventPatch = function(editor_id) {
- var n, inst, win, e;
-
- // Remove odd, error
- if (typeof(tinyMCE) == "undefined")
- return true;
-
- try {
- // Try selected instance first
- if (tinyMCE.selectedInstance) {
- win = tinyMCE.selectedInstance.getWin();
-
- if (win && win.event) {
- e = win.event;
-
- if (!e.target)
- e.target = e.srcElement;
-
- TinyMCE_Engine.prototype.handleEvent(e);
- return;
- }
- }
-
- // Search for it
- for (n in tinyMCE.instances) {
- inst = tinyMCE.instances[n];
-
- if (!tinyMCE.isInstance(inst))
- continue;
-
- tinyMCE.selectedInstance = inst;
- win = inst.getWin();
-
- if (win && win.event) {
- e = win.event;
-
- if (!e.target)
- e.target = e.srcElement;
-
- TinyMCE_Engine.prototype.handleEvent(e);
- return;
- }
- }
- } catch (ex) {
- // Ignore error if iframe is pointing to external URL
- }
-};
-
-TinyMCE_Engine.prototype.unloadHandler = function() {
- tinyMCE.triggerSave(true, true);
-};
-
-TinyMCE_Engine.prototype.addEventHandlers = function(inst) {
- var doc = inst.getDoc();
-
- inst.switchSettings();
-
- if (tinyMCE.isMSIE) {
- tinyMCE.addEvent(doc, "keypress", TinyMCE_Engine.prototype._eventPatch);
- tinyMCE.addEvent(doc, "keyup", TinyMCE_Engine.prototype._eventPatch);
- tinyMCE.addEvent(doc, "keydown", TinyMCE_Engine.prototype._eventPatch);
- tinyMCE.addEvent(doc, "mouseup", TinyMCE_Engine.prototype._eventPatch);
- tinyMCE.addEvent(doc, "click", TinyMCE_Engine.prototype._eventPatch);
- } else {
- tinyMCE.addEvent(doc, "keypress", tinyMCE.handleEvent);
- tinyMCE.addEvent(doc, "keydown", tinyMCE.handleEvent);
- tinyMCE.addEvent(doc, "keyup", tinyMCE.handleEvent);
- tinyMCE.addEvent(doc, "click", tinyMCE.handleEvent);
- tinyMCE.addEvent(doc, "mouseup", tinyMCE.handleEvent);
- tinyMCE.addEvent(doc, "mousedown", tinyMCE.handleEvent);
- tinyMCE.addEvent(doc, "focus", tinyMCE.handleEvent);
- tinyMCE.addEvent(doc, "blur", tinyMCE.handleEvent);
-
- eval('try { doc.designMode = "On"; } catch(e) {}'); // Force designmode
- }
-};
-
-TinyMCE_Engine.prototype.onMouseMove = function() {
- var inst;
-
- if (!tinyMCE.hasMouseMoved) {
- inst = tinyMCE.selectedInstance;
-
- // Workaround for bug #1437457 (Odd MSIE bug)
- if (inst.isFocused) {
- inst.undoBookmark = inst.selection.getBookmark();
- tinyMCE.hasMouseMoved = true;
- }
- }
-
-// tinyMCE.cancelEvent(inst.getWin().event);
-// return false;
-};
-
-TinyMCE_Engine.prototype.cancelEvent = function(e) {
- if (tinyMCE.isMSIE) {
- e.returnValue = false;
- e.cancelBubble = true;
- } else
- e.preventDefault();
-};
-
-TinyMCE_Engine.prototype.addEvent = function(o, n, h) {
- if (o.attachEvent)
- o.attachEvent("on" + n, h);
- else
- o.addEventListener(n, h, false);
-};
-
-TinyMCE_Engine.prototype.addSelectAccessibility = function(e, s, w) {
- // Add event handlers
- if (!s._isAccessible) {
- s.onkeydown = tinyMCE.accessibleEventHandler;
- s.onblur = tinyMCE.accessibleEventHandler;
- s._isAccessible = true;
- s._win = w;
- }
-
- return false;
-};
-
-TinyMCE_Engine.prototype.accessibleEventHandler = function(e) {
- var win = this._win;
- e = tinyMCE.isMSIE ? win.event : e;
- var elm = tinyMCE.isMSIE ? e.srcElement : e.target;
-
- // Unpiggyback onchange on blur
- if (e.type == "blur") {
- if (elm.oldonchange) {
- elm.onchange = elm.oldonchange;
- elm.oldonchange = null;
- }
-
- return true;
- }
-
- // Piggyback onchange
- if (elm.nodeName == "SELECT" && !elm.oldonchange) {
- elm.oldonchange = elm.onchange;
- elm.onchange = null;
- }
-
- // Execute onchange and remove piggyback
- if (e.keyCode == 13 || e.keyCode == 32) {
- elm.onchange = elm.oldonchange;
- elm.onchange();
- elm.oldonchange = null;
-
- tinyMCE.cancelEvent(e);
- return false;
- }
-
- return true;
-};
-
-/* file:jscripts/tiny_mce/classes/TinyMCE_Selection.class.js */
-
-function TinyMCE_Selection(inst) {
- this.instance = inst;
-};
-
-TinyMCE_Selection.prototype = {
- getSelectedHTML : function() {
- var inst = this.instance;
- var e, r = this.getRng(), h;
-
- if (tinyMCE.isSafari) {
- // Not realy perfect!!
- return r.toString();
- }
-
- e = document.createElement("body");
-
- if (tinyMCE.isGecko)
- e.appendChild(r.cloneContents());
- else
- e.innerHTML = r.htmlText;
-
- h = tinyMCE._cleanupHTML(inst, inst.contentDocument, inst.settings, e, e, false, true, false);
-
- // When editing always use fonts internaly
- if (tinyMCE.getParam("convert_fonts_to_spans"))
- tinyMCE.convertSpansToFonts(inst.getDoc());
-
- return h;
- },
-
- getSelectedText : function() {
- var inst = this.instance;
- var d, r, s, t;
-
- if (tinyMCE.isMSIE) {
- d = inst.getDoc();
-
- if (d.selection.type == "Text") {
- r = d.selection.createRange();
- t = r.text;
- } else
- t = '';
- } else {
- s = this.getSel();
-
- if (s && s.toString)
- t = s.toString();
- else
- t = '';
- }
-
- return t;
- },
-
- getBookmark : function(simple) {
- var rng = this.getRng();
- var doc = this.instance.getDoc();
- var sp, le, s, e, nl, i, si, ei;
- var trng, sx, sy, xx = -999999999;
-
- // Skip Opera for now
- if (tinyMCE.isOpera)
- return null;
-
- sx = doc.body.scrollLeft + doc.documentElement.scrollLeft;
- sy = doc.body.scrollTop + doc.documentElement.scrollTop;
-
- if (tinyMCE.isSafari || tinyMCE.isGecko)
- return {rng : rng, scrollX : sx, scrollY : sy};
-
- if (tinyMCE.isMSIE) {
- if (simple)
- return {rng : rng};
-
- if (rng.item) {
- e = rng.item(0);
-
- nl = doc.getElementsByTagName(e.nodeName);
- for (i=0; i<nl.length; i++) {
- if (e == nl[i]) {
- sp = i;
- break;
- }
- }
-
- return {
- tag : e.nodeName,
- index : sp,
- scrollX : sx,
- scrollY : sy
- };
- } else {
- trng = rng.duplicate();
- trng.collapse(true);
- sp = Math.abs(trng.move('character', xx));
-
- trng = rng.duplicate();
- trng.collapse(false);
- le = Math.abs(trng.move('character', xx)) - sp;
-
- return {
- start : sp,
- length : le,
- scrollX : sx,
- scrollY : sy
- };
- }
- }
-
- if (tinyMCE.isGecko) {
- s = tinyMCE.getParentElement(rng.startContainer);
- for (si=0; si<s.childNodes.length && s.childNodes[si] != rng.startContainer; si++) ;
-
- nl = doc.getElementsByTagName(s.nodeName);
- for (i=0; i<nl.length; i++) {
- if (s == nl[i]) {
- sp = i;
- break;
- }
- }
-
- e = tinyMCE.getParentElement(rng.endContainer);
- for (ei=0; ei<e.childNodes.length && e.childNodes[ei] != rng.endContainer; ei++) ;
-
- nl = doc.getElementsByTagName(e.nodeName);
- for (i=0; i<nl.length; i++) {
- if (e == nl[i]) {
- le = i;
- break;
- }
- }
-
- //tinyMCE.debug(s.nodeName, sp, rng.startOffset, '-' , e.nodeName, le, rng.endOffset);
- //tinyMCE.debug(sx, sy);
-
- return {
- startTag : s.nodeName,
- start : sp,
- startIndex : si,
- endTag : e.nodeName,
- end : le,
- endIndex : ei,
- startOffset : rng.startOffset,
- endOffset : rng.endOffset,
- scrollX : sx,
- scrollY : sy
- };
- }
-
- return null;
- },
-
- moveToBookmark : function(bookmark) {
- var rng, nl, i;
- var inst = this.instance;
- var doc = inst.getDoc();
- var win = inst.getWin();
- var sel = this.getSel();
-
- if (!bookmark)
- return false;
-
- if (tinyMCE.isSafari) {
- sel.setBaseAndExtent(bookmark.startContainer, bookmark.startOffset, bookmark.endContainer, bookmark.endOffset);
- return true;
- }
-
- if (tinyMCE.isMSIE) {
- if (bookmark.rng) {
- bookmark.rng.select();
- return true;
- }
-
- win.focus();
-
- if (bookmark.tag) {
- rng = inst.getBody().createControlRange();
-
- nl = doc.getElementsByTagName(bookmark.tag);
-
- if (nl.length > bookmark.index)
- rng.addElement(nl[bookmark.index]);
- } else {
- rng = inst.getSel().createRange();
- rng.moveToElementText(inst.getBody());
- rng.collapse(true);
- rng.moveStart('character', bookmark.start);
- rng.moveEnd('character', bookmark.length);
- }
-
- rng.select();
-
- win.scrollTo(bookmark.scrollX, bookmark.scrollY);
- return true;
- }
-
- if (tinyMCE.isGecko && bookmark.rng) {
- sel.removeAllRanges();
- sel.addRange(bookmark.rng);
- win.scrollTo(bookmark.scrollX, bookmark.scrollY);
- return true;
- }
-
- if (tinyMCE.isGecko) {
- // try {
- rng = doc.createRange();
-
- nl = doc.getElementsByTagName(bookmark.startTag);
- if (nl.length > bookmark.start)
- rng.setStart(nl[bookmark.start].childNodes[bookmark.startIndex], bookmark.startOffset);
-
- nl = doc.getElementsByTagName(bookmark.endTag);
- if (nl.length > bookmark.end)
- rng.setEnd(nl[bookmark.end].childNodes[bookmark.endIndex], bookmark.endOffset);
-
- sel.removeAllRanges();
- sel.addRange(rng);
- /* } catch {
- // Ignore
- }*/
-
- win.scrollTo(bookmark.scrollX, bookmark.scrollY);
- return true;
- }
-
- return false;
- },
-
- selectNode : function(node, collapse, select_text_node, to_start) {
- var inst = this.instance, sel, rng, nodes;
-
- if (!node)
- return;
-
- if (typeof(collapse) == "undefined")
- collapse = true;
-
- if (typeof(select_text_node) == "undefined")
- select_text_node = false;
-
- if (typeof(to_start) == "undefined")
- to_start = true;
-
- if (tinyMCE.isMSIE) {
- rng = inst.getBody().createTextRange();
-
- try {
- rng.moveToElementText(node);
-
- if (collapse)
- rng.collapse(to_start);
-
- rng.select();
- } catch (e) {
- // Throws illigal agrument in MSIE some times
- }
- } else {
- sel = this.getSel();
-
- if (!sel)
- return;
-
- if (tinyMCE.isSafari) {
- sel.setBaseAndExtent(node, 0, node, node.innerText.length);
-
- if (collapse) {
- if (to_start)
- sel.collapseToStart();
- else
- sel.collapseToEnd();
- }
-
- this.scrollToNode(node);
-
- return;
- }
-
- rng = inst.getDoc().createRange();
-
- if (select_text_node) {
- // Find first textnode in tree
- nodes = tinyMCE.getNodeTree(node, new Array(), 3);
- if (nodes.length > 0)
- rng.selectNodeContents(nodes[0]);
- else
- rng.selectNodeContents(node);
- } else
- rng.selectNode(node);
-
- if (collapse) {
- // Special treatment of textnode collapse
- if (!to_start && node.nodeType == 3) {
- rng.setStart(node, node.nodeValue.length);
- rng.setEnd(node, node.nodeValue.length);
- } else
- rng.collapse(to_start);
- }
-
- sel.removeAllRanges();
- sel.addRange(rng);
- }
-
- this.scrollToNode(node);
-
- // Set selected element
- tinyMCE.selectedElement = null;
- if (node.nodeType == 1)
- tinyMCE.selectedElement = node;
- },
-
- scrollToNode : function(node) {
- var inst = this.instance;
- var pos, doc, scrollX, scrollY, height;
-
- // Scroll to node position
- pos = tinyMCE.getAbsPosition(node);
- doc = inst.getDoc();
- scrollX = doc.body.scrollLeft + doc.documentElement.scrollLeft;
- scrollY = doc.body.scrollTop + doc.documentElement.scrollTop;
- height = tinyMCE.isMSIE ? document.getElementById(inst.editorId).style.pixelHeight : inst.targetElement.clientHeight;
-
- // Only scroll if out of visible area
- if (!tinyMCE.settings['auto_resize'] && !(pos.absTop > scrollY && pos.absTop < (scrollY - 25 + height)))
- inst.contentWindow.scrollTo(pos.absLeft, pos.absTop - height + 25);
- },
-
- getSel : function() {
- var inst = this.instance;
-
- if (tinyMCE.isMSIE && !tinyMCE.isOpera)
- return inst.getDoc().selection;
-
- return inst.contentWindow.getSelection();
- },
-
- getRng : function() {
- var inst = this.instance;
- var sel = this.getSel();
-
- if (sel == null)
- return null;
-
- if (tinyMCE.isMSIE && !tinyMCE.isOpera)
- return sel.createRange();
-
- if (tinyMCE.isSafari && !sel.getRangeAt)
- return '' + window.getSelection();
-
- return sel.getRangeAt(0);
- },
-
- getFocusElement : function() {
- var inst = this.instance;
-
- if (tinyMCE.isMSIE && !tinyMCE.isOpera) {
- var doc = inst.getDoc();
- var rng = doc.selection.createRange();
-
- // if (rng.collapse)
- // rng.collapse(true);
-
- var elm = rng.item ? rng.item(0) : rng.parentElement();
- } else {
- if (inst.isHidden())
- return inst.getBody();
-
- var sel = this.getSel();
- var rng = this.getRng();
-
- if (!sel || !rng)
- return null;
-
- var elm = rng.commonAncestorContainer;
- //var elm = (sel && sel.anchorNode) ? sel.anchorNode : null;
-
- // Handle selection a image or other control like element such as anchors
- if (!rng.collapsed) {
- // Is selection small
- if (rng.startContainer == rng.endContainer) {
- if (rng.startOffset - rng.endOffset < 2) {
- if (rng.startContainer.hasChildNodes())
- elm = rng.startContainer.childNodes[rng.startOffset];
- }
- }
- }
-
- // Get the element parent of the node
- elm = tinyMCE.getParentElement(elm);
-
- //if (tinyMCE.selectedElement != null && tinyMCE.selectedElement.nodeName.toLowerCase() == "img")
- // elm = tinyMCE.selectedElement;
- }
-
- return elm;
- }
-};
-
-/* file:jscripts/tiny_mce/classes/TinyMCE_UndoRedo.class.js */
-
-function TinyMCE_UndoRedo(inst) {
- this.instance = inst;
- this.undoLevels = new Array();
- this.undoIndex = 0;
- this.typingUndoIndex = -1;
- this.undoRedo = true;
-};
-
-TinyMCE_UndoRedo.prototype = {
- add : function(l) {
- var b;
-
- if (l) {
- this.undoLevels[this.undoLevels.length] = l;
- return true;
- }
-
- var inst = this.instance;
-
- if (this.typingUndoIndex != -1) {
- this.undoIndex = this.typingUndoIndex;
- // tinyMCE.debug("Override: " + this.undoIndex);
- }
-
- var newHTML = tinyMCE.trim(inst.getBody().innerHTML);
- if (this.undoLevels[this.undoIndex] && newHTML != this.undoLevels[this.undoIndex].content) {
- //tinyMCE.debug(newHTML, this.undoLevels[this.undoIndex]);
-
- tinyMCE.dispatchCallback(inst, 'onchange_callback', 'onChange', inst);
-
- // Time to compress
- var customUndoLevels = tinyMCE.settings['custom_undo_redo_levels'];
- if (customUndoLevels != -1 && this.undoLevels.length > customUndoLevels) {
- for (var i=0; i<this.undoLevels.length-1; i++) {
- //tinyMCE.debug(this.undoLevels[i] + "=" + this.undoLevels[i+1]);
- this.undoLevels[i] = this.undoLevels[i+1];
- }
-
- this.undoLevels.length--;
- this.undoIndex--;
- }
-
- b = inst.undoBookmark;
- if (!b)
- b = inst.selection.getBookmark();
-
- this.undoIndex++;
- this.undoLevels[this.undoIndex] = {
- content : newHTML,
- bookmark : b
- };
-
- this.undoLevels.length = this.undoIndex + 1;
-
- //tinyMCE.debug("level added" + this.undoIndex);
- return true;
-
- // tinyMCE.debug(this.undoIndex + "," + (this.undoLevels.length-1));
- }
-
- return false;
- },
-
- undo : function() {
- var inst = this.instance;
-
- // Do undo
- if (this.undoIndex > 0) {
- this.undoIndex--;
- tinyMCE.setInnerHTML(inst.getBody(), this.undoLevels[this.undoIndex].content);
- inst.repaint();
- if (inst.settings.custom_undo_redo_restore_selection)
- inst.selection.moveToBookmark(this.undoLevels[this.undoIndex].bookmark);
- }
-
- // tinyMCE.debug("Undo - undo levels:" + this.undoLevels.length + ", undo index: " + this.undoIndex);
- },
-
- redo : function() {
- var inst = this.instance;
-
- tinyMCE.execCommand("mceEndTyping");
-
- if (this.undoIndex < (this.undoLevels.length-1)) {
- this.undoIndex++;
- tinyMCE.setInnerHTML(inst.getBody(), this.undoLevels[this.undoIndex].content);
- inst.repaint();
-// if (this.undoIndex > 0)
-// inst.selection.moveToBookmark(this.undoLevels[this.undoIndex-1].bookmark);
- if (inst.settings.custom_undo_redo_restore_selection)
- inst.selection.moveToBookmark(this.undoLevels[this.undoIndex].bookmark);
- // tinyMCE.debug("Redo - undo levels:" + this.undoLevels.length + ", undo index: " + this.undoIndex);
- }
-
- tinyMCE.triggerNodeChange();
- }
-};
-
-/* file:jscripts/tiny_mce/classes/TinyMCE_ForceParagraphs.class.js */
-
-var TinyMCE_ForceParagraphs = {
- _insertPara : function(inst, e) {
- function isEmpty(para) {
- function isEmptyHTML(html) {
- return html.replace(new RegExp('[ \t\r\n]+', 'g'), '').toLowerCase() == "";
- }
-
- // Check for images
- if (para.getElementsByTagName("img").length > 0)
- return false;
-
- // Check for tables
- if (para.getElementsByTagName("table").length > 0)
- return false;
-
- // Check for HRs
- if (para.getElementsByTagName("hr").length > 0)
- return false;
-
- // Check all textnodes
- var nodes = tinyMCE.getNodeTree(para, new Array(), 3);
- for (var i=0; i<nodes.length; i++) {
- if (!isEmptyHTML(nodes[i].nodeValue))
- return false;
- }
-
- // No images, no tables, no hrs, no text content then it's empty
- return true;
- }
-
- var doc = inst.getDoc();
- var sel = inst.getSel();
- var win = inst.contentWindow;
- var rng = sel.getRangeAt(0);
- var body = doc.body;
- var rootElm = doc.documentElement;
- var blockName = "P";
-
- // tinyMCE.debug(body.innerHTML);
-
- // debug(e.target, sel.anchorNode.nodeName, sel.focusNode.nodeName, rng.startContainer, rng.endContainer, rng.commonAncestorContainer, sel.anchorOffset, sel.focusOffset, rng.toString());
-
- // Setup before range
- var rngBefore = doc.createRange();
- rngBefore.setStart(sel.anchorNode, sel.anchorOffset);
- rngBefore.collapse(true);
-
- // Setup after range
- var rngAfter = doc.createRange();
- rngAfter.setStart(sel.focusNode, sel.focusOffset);
- rngAfter.collapse(true);
-
- // Setup start/end points
- var direct = rngBefore.compareBoundaryPoints(rngBefore.START_TO_END, rngAfter) < 0;
- var startNode = direct ? sel.anchorNode : sel.focusNode;
- var startOffset = direct ? sel.anchorOffset : sel.focusOffset;
- var endNode = direct ? sel.focusNode : sel.anchorNode;
- var endOffset = direct ? sel.focusOffset : sel.anchorOffset;
-
- startNode = startNode.nodeName == "BODY" ? startNode.firstChild : startNode;
- endNode = endNode.nodeName == "BODY" ? endNode.firstChild : endNode;
-
- // tinyMCE.debug(startNode, endNode);
-
- // Get block elements
- var startBlock = tinyMCE.getParentBlockElement(startNode);
- var endBlock = tinyMCE.getParentBlockElement(endNode);
-
- // Use current block name
- if (startBlock != null) {
- blockName = startBlock.nodeName;
-
- // Use P instead
- if (blockName == "TD" || blockName == "TABLE" || (blockName == "DIV" && new RegExp('left|right', 'gi').test(startBlock.style.cssFloat)))
- blockName = "P";
- }
-
- // Within a list use normal behaviour
- if (tinyMCE.getParentElement(startBlock, "OL,UL") != null)
- return false;
-
- // Within a table create new paragraphs
- if ((startBlock != null && startBlock.nodeName == "TABLE") || (endBlock != null && endBlock.nodeName == "TABLE"))
- startBlock = endBlock = null;
-
- // Setup new paragraphs
- var paraBefore = (startBlock != null && startBlock.nodeName == blockName) ? startBlock.cloneNode(false) : doc.createElement(blockName);
- var paraAfter = (endBlock != null && endBlock.nodeName == blockName) ? endBlock.cloneNode(false) : doc.createElement(blockName);
-
- // Is header, then force paragraph under
- if (/^(H[1-6])$/.test(blockName))
- paraAfter = doc.createElement("p");
-
- // Setup chop nodes
- var startChop = startNode;
- var endChop = endNode;
-
- // Get startChop node
- node = startChop;
- do {
- if (node == body || node.nodeType == 9 || tinyMCE.isBlockElement(node))
- break;
-
- startChop = node;
- } while ((node = node.previousSibling ? node.previousSibling : node.parentNode));
-
- // Get endChop node
- node = endChop;
- do {
- if (node == body || node.nodeType == 9 || tinyMCE.isBlockElement(node))
- break;
-
- endChop = node;
- } while ((node = node.nextSibling ? node.nextSibling : node.parentNode));
-
- // Fix when only a image is within the TD
- if (startChop.nodeName == "TD")
- startChop = startChop.firstChild;
-
- if (endChop.nodeName == "TD")
- endChop = endChop.lastChild;
-
- // If not in a block element
- if (startBlock == null) {
- // Delete selection
- rng.deleteContents();
- sel.removeAllRanges();
-
- if (startChop != rootElm && endChop != rootElm) {
- // Insert paragraph before
- rngBefore = rng.cloneRange();
-
- if (startChop == body)
- rngBefore.setStart(startChop, 0);
- else
- rngBefore.setStartBefore(startChop);
-
- paraBefore.appendChild(rngBefore.cloneContents());
-
- // Insert paragraph after
- if (endChop.parentNode.nodeName == blockName)
- endChop = endChop.parentNode;
-
- // If not after image
- //if (rng.startContainer.nodeName != "BODY" && rng.endContainer.nodeName != "BODY")
- rng.setEndAfter(endChop);
-
- if (endChop.nodeName != "#text" && endChop.nodeName != "BODY")
- rngBefore.setEndAfter(endChop);
-
- var contents = rng.cloneContents();
- if (contents.firstChild && (contents.firstChild.nodeName == blockName || contents.firstChild.nodeName == "BODY"))
- paraAfter.innerHTML = contents.firstChild.innerHTML;
- else
- paraAfter.appendChild(contents);
-
- // Check if it's a empty paragraph
- if (isEmpty(paraBefore))
- paraBefore.innerHTML = "&nbsp;";
-
- // Check if it's a empty paragraph
- if (isEmpty(paraAfter))
- paraAfter.innerHTML = "&nbsp;";
-
- // Delete old contents
- rng.deleteContents();
- rngAfter.deleteContents();
- rngBefore.deleteContents();
-
- // Insert new paragraphs
- paraAfter.normalize();
- rngBefore.insertNode(paraAfter);
- paraBefore.normalize();
- rngBefore.insertNode(paraBefore);
-
- // tinyMCE.debug("1: ", paraBefore.innerHTML, paraAfter.innerHTML);
- } else {
- body.innerHTML = "<" + blockName + ">&nbsp;</" + blockName + "><" + blockName + ">&nbsp;</" + blockName + ">";
- paraAfter = body.childNodes[1];
- }
-
- inst.selection.selectNode(paraAfter, true, true);
-
- return true;
- }
-
- // Place first part within new paragraph
- if (startChop.nodeName == blockName)
- rngBefore.setStart(startChop, 0);
- else
- rngBefore.setStartBefore(startChop);
-
- rngBefore.setEnd(startNode, startOffset);
- paraBefore.appendChild(rngBefore.cloneContents());
-
- // Place secound part within new paragraph
- rngAfter.setEndAfter(endChop);
- rngAfter.setStart(endNode, endOffset);
- var contents = rngAfter.cloneContents();
-
- if (contents.firstChild && contents.firstChild.nodeName == blockName) {
- /* var nodes = contents.firstChild.childNodes;
- for (var i=0; i<nodes.length; i++) {
- //tinyMCE.debug(nodes[i].nodeName);
- if (nodes[i].nodeName != "BODY")
- paraAfter.appendChild(nodes[i]);
- }
- */
- paraAfter.innerHTML = contents.firstChild.innerHTML;
- } else
- paraAfter.appendChild(contents);
-
- // Check if it's a empty paragraph
- if (isEmpty(paraBefore))
- paraBefore.innerHTML = "&nbsp;";
-
- // Check if it's a empty paragraph
- if (isEmpty(paraAfter))
- paraAfter.innerHTML = "&nbsp;";
-
- // Create a range around everything
- var rng = doc.createRange();
-
- if (!startChop.previousSibling && startChop.parentNode.nodeName.toUpperCase() == blockName) {
- rng.setStartBefore(startChop.parentNode);
- } else {
- if (rngBefore.startContainer.nodeName.toUpperCase() == blockName && rngBefore.startOffset == 0)
- rng.setStartBefore(rngBefore.startContainer);
- else
- rng.setStart(rngBefore.startContainer, rngBefore.startOffset);
- }
-
- if (!endChop.nextSibling && endChop.parentNode.nodeName.toUpperCase() == blockName)
- rng.setEndAfter(endChop.parentNode);
- else
- rng.setEnd(rngAfter.endContainer, rngAfter.endOffset);
-
- // Delete all contents and insert new paragraphs
- rng.deleteContents();
- rng.insertNode(paraAfter);
- rng.insertNode(paraBefore);
- //tinyMCE.debug("2", paraBefore.innerHTML, paraAfter.innerHTML);
-
- // Normalize
- paraAfter.normalize();
- paraBefore.normalize();
-
- inst.selection.selectNode(paraAfter, true, true);
-
- return true;
- },
-
- _handleBackSpace : function(inst) {
- var r = inst.getRng();
- var sn = r.startContainer;
-
- if (sn && sn.nextSibling && sn.nextSibling.nodeName == "BR")
- sn.nextSibling.parentNode.removeChild(sn.nextSibling);
-
- return false;
- }
-};
-
-/* file:jscripts/tiny_mce/classes/TinyMCE_Layer.class.js */
-
-function TinyMCE_Layer(id, bm) {
- this.id = id;
- this.blockerElement = null;
- this.events = false;
- this.element = null;
- this.blockMode = typeof(bm) != 'undefined' ? bm : true;
-};
-
-TinyMCE_Layer.prototype = {
- moveRelativeTo : function(re, p) {
- var rep = this.getAbsPosition(re);
- var w = parseInt(re.offsetWidth);
- var h = parseInt(re.offsetHeight);
- var e = this.getElement();
- var ew = parseInt(e.offsetWidth);
- var eh = parseInt(e.offsetHeight);
- var x, y;
-
- switch (p) {
- case "tl":
- x = rep.absLeft;
- y = rep.absTop;
- break;
-
- case "tr":
- x = rep.absLeft + w;
- y = rep.absTop;
- break;
-
- case "bl":
- x = rep.absLeft;
- y = rep.absTop + h;
- break;
-
- case "br":
- x = rep.absLeft + w;
- y = rep.absTop + h;
- break;
-
- case "cc":
- x = rep.absLeft + (w / 2) - (ew / 2);
- y = rep.absTop + (h / 2) - (eh / 2);
- break;
- }
-
- this.moveTo(x, y);
- },
-
- moveBy : function(x, y) {
- var e = this.getElement();
- this.moveTo(parseInt(e.style.left) + x, parseInt(e.style.top) + y);
- },
-
- moveTo : function(x, y) {
- var e = this.getElement();
-
- e.style.left = x + "px";
- e.style.top = y + "px";
-
- this.updateBlocker();
- },
-
- resizeBy : function(w, h) {
- var e = this.getElement();
- this.resizeTo(parseInt(e.style.width) + w, parseInt(e.style.height) + h);
- },
-
- resizeTo : function(w, h) {
- var e = this.getElement();
-
- e.style.width = w + "px";
- e.style.height = h + "px";
-
- this.updateBlocker();
- },
-
- show : function() {
- this.getElement().style.display = 'block';
- this.updateBlocker();
- },
-
- hide : function() {
- this.getElement().style.display = 'none';
- this.updateBlocker();
- },
-
- isVisible : function() {
- return this.getElement().style.display == 'block';
- },
-
- getElement : function() {
- if (!this.element)
- this.element = document.getElementById(this.id);
-
- return this.element;
- },
-
- setBlockMode : function(s) {
- this.blockMode = s;
- },
-
- updateBlocker : function() {
- var e, b, x, y, w, h;
-
- b = this.getBlocker();
- if (b) {
- if (this.blockMode) {
- e = this.getElement();
- x = this.parseInt(e.style.left);
- y = this.parseInt(e.style.top);
- w = this.parseInt(e.offsetWidth);
- h = this.parseInt(e.offsetHeight);
-
- b.style.left = x + 'px';
- b.style.top = y + 'px';
- b.style.width = w + 'px';
- b.style.height = h + 'px';
- b.style.display = e.style.display;
- } else
- b.style.display = 'none';
- }
- },
-
- getBlocker : function() {
- var d, b;
-
- if (!this.blockerElement && this.blockMode) {
- d = document;
- b = d.createElement("iframe");
-
- b.style.cssText = 'display: none; position: absolute; left: 0; top: 0';
- b.src = 'javascript:false;';
- b.frameBorder = '0';
- b.scrolling = 'no';
-
- d.body.appendChild(b);
- this.blockerElement = b;
- }
-
- return this.blockerElement;
- },
-
- getAbsPosition : function(n) {
- var p = {absLeft : 0, absTop : 0};
-
- while (n) {
- p.absLeft += n.offsetLeft;
- p.absTop += n.offsetTop;
- n = n.offsetParent;
- }
-
- return p;
- },
-
- create : function(n, c, p) {
- var d = document, e = d.createElement(n);
-
- e.setAttribute('id', this.id);
-
- if (c)
- e.className = c;
-
- if (!p)
- p = d.body;
-
- p.appendChild(e);
-
- return this.element = e;
- },
-/*
- addCSSClass : function(e, c) {
- this.removeCSSClass(e, c);
- var a = this.explode(' ', e.className);
- a[a.length] = c;
- e.className = a.join(' ');
- },
-
- removeCSSClass : function(e, c) {
- var a = this.explode(' ', e.className), i;
-
- for (i=0; i<a.length; i++) {
- if (a[i] == c)
- a[i] = '';
- }
-
- e.className = a.join(' ');
- },
-
- explode : function(d, s) {
- var ar = s.split(d);
- var oar = new Array();
-
- for (var i = 0; i<ar.length; i++) {
- if (ar[i] != "")
- oar[oar.length] = ar[i];
- }
-
- return oar;
- },
-*/
-
- parseInt : function(s) {
- if (s == null || s == '')
- return 0;
-
- return parseInt(s);
- }
-};
-
-/* file:jscripts/tiny_mce/classes/TinyMCE_Menu.class.js */
-
-function TinyMCE_Menu() {
- var id;
-
- if (typeof(tinyMCE.menuCounter) == "undefined")
- tinyMCE.menuCounter = 0;
-
- id = "mc_menu_" + tinyMCE.menuCounter++;
-
- TinyMCE_Layer.call(this, id, true);
-
- this.id = id;
- this.items = new Array();
- this.needsUpdate = true;
-};
-
-// Extends the TinyMCE_Layer class
-TinyMCE_Menu.prototype = tinyMCE.extend(TinyMCE_Layer.prototype, {
- init : function(s) {
- var n;
-
- // Default params
- this.settings = {
- separator_class : 'mceMenuSeparator',
- title_class : 'mceMenuTitle',
- disabled_class : 'mceMenuDisabled',
- menu_class : 'mceMenu',
- drop_menu : true
- };
-
- for (n in s)
- this.settings[n] = s[n];
-
- this.create('div', this.settings.menu_class);
- },
-
- clear : function() {
- this.items = new Array();
- },
-
- addTitle : function(t) {
- this.add({type : 'title', text : t});
- },
-
- addDisabled : function(t) {
- this.add({type : 'disabled', text : t});
- },
-
- addSeparator : function() {
- this.add({type : 'separator'});
- },
-
- addItem : function(t, js) {
- this.add({text : t, js : js});
- },
-
- add : function(mi) {
- this.items[this.items.length] = mi;
- this.needsUpdate = true;
- },
-
- update : function() {
- var e = this.getElement(), h = '', i, t, m = this.items, s = this.settings;
-
- if (this.settings.drop_menu)
- h += '<span class="mceMenuLine"></span>';
-
- h += '<table border="0" cellpadding="0" cellspacing="0">';
-
- for (i=0; i<m.length; i++) {
- t = tinyMCE.xmlEncode(m[i].text);
- c = m[i].class_name ? ' class="' + m[i].class_name + '"' : '';
-
- switch (m[i].type) {
- case 'separator':
- h += '<tr class="' + s.separator_class + '"><td>';
- break;
-
- case 'title':
- h += '<tr class="' + s.title_class + '"><td><span' + c +'>' + t + '</span>';
- break;
-
- case 'disabled':
- h += '<tr class="' + s.disabled_class + '"><td><span' + c +'>' + t + '</span>';
- break;
-
- default:
- h += '<tr><td><a href="javascript:void(0);" onmousedown="' + tinyMCE.xmlEncode(m[i].js) + ';return false;"><span' + c +'>' + t + '</span></a>';
- }
-
- h += '</td></tr>';
- }
-
- h += '</table>';
-
- e.innerHTML = h;
-
- this.needsUpdate = false;
- this.updateBlocker();
- },
-
- show : function() {
- var nl, i;
-
- if (tinyMCE.lastMenu == this)
- return;
-
- if (this.needsUpdate)
- this.update();
-
- if (tinyMCE.lastMenu && tinyMCE.lastMenu != this)
- tinyMCE.lastMenu.hide();
-
- this.parent.show.call(this);
-
- if (!tinyMCE.isOpera) {
- // Accessibility stuff
-/* nl = this.getElement().getElementsByTagName("a");
- if (nl.length > 0)
- nl[0].focus();*/
- }
-
- tinyMCE.lastMenu = this;
- }
-});
-
-/* file:jscripts/tiny_mce/classes/TinyMCE_Debug.class.js */
-
-TinyMCE_Engine.prototype.debug = function() {
- var m = "", e, a, i;
-
- e = document.getElementById("tinymce_debug");
- if (!e) {
- var d = document.createElement("div");
- d.setAttribute("className", "debugger");
- d.className = "debugger";
- d.innerHTML = 'Debug output:<textarea id="tinymce_debug" style="width: 100%; height: 300px" wrap="nowrap" mce_editable="false"></textarea>';
-
- document.body.appendChild(d);
- e = document.getElementById("tinymce_debug");
- }
-
- a = this.debug.arguments;
- for (i=0; i<a.length; i++) {
- m += a[i];
- if (i<a.length-1)
- m += ', ';
- }
-
- e.value += m + "\n";
-};
diff --git a/wp-inst/wp-includes/js/tinymce/tiny_mce_config.php b/wp-inst/wp-includes/js/tinymce/tiny_mce_config.php
deleted file mode 100644
index 651165a..0000000
--- a/wp-inst/wp-includes/js/tinymce/tiny_mce_config.php
+++ /dev/null
@@ -1,86 +0,0 @@
-<?php
- @ require('../../../wp-config.php');
-
- function wp_translate_tinymce_lang($text) {
- if ( ! function_exists('__') ) {
- return $text;
- } else {
- $search1 = "/^tinyMCELang\\[(['\"])(.*)\\1\]( ?= ?)(['\"])(.*)\\4/Uem";
- $replace1 = "'tinyMCELang[\\1\\2\\1]\\3'.stripslashes('\\4').__('\\5').stripslashes('\\4')";
-
- $search2 = "/ : (['\"])(.*)\\1/Uem";
- $replace2 = "' : '.stripslashes('\\1').__('\\2').stripslashes('\\1')";
-
- $search = array($search1, $search2);
- $replace = array($replace1, $replace2);
-
- $text = preg_replace($search, $replace, $text);
-
- return $text;
- }
- }
-
- // Set up init variables
- $valid_elements = 'p/-div[*],-b[*],-font[*],-ul[*],-ol[*],-li[*],*[*]';
- $valid_elements = apply_filters('mce_valid_elements', $valid_elements);
-
- $plugins = array('inlinepopups', 'autosave', 'spellchecker', 'paste', 'wordpress');
- $plugins = apply_filters('mce_plugins', $plugins);
- $plugins = implode($plugins, ',');
-
- $mce_buttons = apply_filters('mce_buttons', array('bold', 'italic', 'strikethrough', 'separator', 'bullist', 'numlist', 'outdent', 'indent', 'separator', 'justifyleft', 'justifycenter', 'justifyright', 'separator', 'link', 'unlink', 'image', 'wp_more', 'separator', 'spellchecker', 'separator', 'code', 'wp_help', 'wp_adv_start', 'wp_adv', 'separator', 'formatselect', 'underline', 'justifyfull', 'forecolor', 'separator', 'pastetext', 'pasteword', 'separator', 'removeformat', 'cleanup', 'separator', 'charmap', 'separator', 'undo', 'redo', 'wp_adv_end'));
- $mce_buttons = implode($mce_buttons, ',');
-
- $mce_buttons_2 = apply_filters('mce_buttons_2', array());
- $mce_buttons_2 = implode($mce_buttons_2, ',');
-
- $mce_buttons_3 = apply_filters('mce_buttons_3', array());
- $mce_buttons_3 = implode($mce_buttons_3, ',');
-
- $mce_browsers = apply_filters('mce_browsers', array('msie', 'gecko', 'opera', 'safari'));
- $mce_browsers = implode($mce_browsers, ',');
-
- $mce_popups_css = get_option('siteurl') . '/wp-includes/js/tinymce/plugins/wordpress/popups.css';
- $mce_css = get_option('siteurl') . '/wp-includes/js/tinymce/plugins/wordpress/wordpress.css';
- $mce_css = apply_filters('mce_css', $mce_css);
-?>
-
-initArray = {
- mode : "specific_textareas",
- editor_selector : "mceEditor",
- width : "100%",
- theme : "advanced",
- theme_advanced_buttons1 : "<?php echo $mce_buttons; ?>",
- theme_advanced_buttons2 : "<?php echo $mce_buttons_2; ?>",
- theme_advanced_buttons3 : "<?php echo $mce_buttons_3; ?>",
- language : "<?php echo strtolower(get_locale()); ?>",
- theme_advanced_toolbar_location : "top",
- theme_advanced_toolbar_align : "left",
- theme_advanced_path_location : "bottom",
- theme_advanced_resizing : true,
- browsers : "<?php echo $mce_browsers; ?>",
- dialog_type : "modal",
- theme_advanced_resize_horizontal : false,
- convert_urls : false,
- relative_urls : false,
- remove_script_host : false,
- force_p_newlines : true,
- force_br_newlines : false,
- convert_newlines_to_brs : false,
- remove_linebreaks : false,
- fix_list_elements : true,
- content_css : "<?php echo $mce_css; ?>",
- valid_elements : "<?php echo $valid_elements; ?>",
- save_callback : 'TinyMCE_wordpressPlugin.saveCallback',
- imp_version : "<?php echo intval($_GET['ver']); ?>",
-<?php do_action('mce_options'); ?>
- plugins : "<?php echo $plugins; ?>"
-};
-
-<?php
- // For people who really REALLY know what they're doing with TinyMCE
- // You can modify initArray to add, remove, change elements of the config before tinyMCE.init
- do_action('tinymce_before_init');
-?>
-
-tinyMCE.init(initArray);
diff --git a/wp-inst/wp-includes/js/tinymce/tiny_mce_gzip.php b/wp-inst/wp-includes/js/tinymce/tiny_mce_gzip.php
deleted file mode 100644
index e975389..0000000
--- a/wp-inst/wp-includes/js/tinymce/tiny_mce_gzip.php
+++ /dev/null
@@ -1,329 +0,0 @@
-<?php
-/**
- * $RCSfile: tiny_mce_gzip.php,v $
- * $Revision: $
- * $Date: $
- *
- * @version 1.08
- * @author Moxiecode
- * @copyright Copyright © 2005-2006, Moxiecode Systems AB, All rights reserved.
- *
- * This file compresses the TinyMCE JavaScript using GZip and
- * enables the browser to do two requests instead of one for each .js file.
- * Notice: This script defaults the button_tile_map option to true for extra performance.
- */
-
-@require_once('../../../wp-config.php');
-
-// gzip_compression();
-
-function wp_tinymce_lang($path) {
- global $language;
-
- $text = '';
-
- // Look for xx_YY.js, xx_yy.js, xx.js
- $file = realpath(sprintf($path, $language));
- if ( file_exists($file) )
- $text = file_get_contents($file);
- $file = realpath(sprintf($path, strtolower($language)));
- if ( file_exists($file) )
- $text = file_get_contents($file);
- $file = realpath(sprintf($path, substr($language, 0, 2)));
- if ( file_exists($file) )
- $text = file_get_contents($file);
-
-
- // Fall back on en.js
- if ( empty($text) )
- $text = file_get_contents(realpath(sprintf($path, 'en')));
-
- // Send lang file through gettext
- if ( function_exists('__') && strtolower(substr($language, 0, 2)) != 'en' ) {
- $search1 = "/^tinyMCELang\\[(['\"])(.*)\\1\]( ?= ?)(['\"])(.*)\\4/Uem";
- $replace1 = "'tinyMCELang[\\1\\2\\1]\\3'.stripslashes('\\4').__('\\5').stripslashes('\\4')";
-
- $search2 = "/\\s:\\s(['\"])(.*)\\1(,|\\s*})/Uem";
- $replace2 = "' : '.stripslashes('\\1').__('\\2foo').stripslashes('\\1').'\\3'";
-
- $search = array($search1, $search2);
- $replace = array($replace1, $replace2);
-
- $text = preg_replace($search, $replace, $text);
-
- return $text;
- }
-
- return $text;
-}
-
-function wp_compact_tinymce_js($text) {
- // This function was custom-made for TinyMCE 2.0, not expected to work with any other JS.
-
- // Strip comments
- $text = preg_replace("!(^|\s+)//.*$!m", '', $text);
- $text = preg_replace("!/\*.*?\*/!s", '', $text);
-
- // Strip leading tabs, carriage returns and unnecessary line breaks.
- $text = preg_replace("!^\t+!m", '', $text);
- $text = str_replace("\r", '', $text);
- $text = preg_replace("!(^|{|}|;|:|\))\n!m", '\\1', $text);
-
- return "$text\n";
-}
-
-
-// General options
-$suffix = ""; // Set to "_src" to use source version
-$expiresOffset = 3600 * 24 * 10; // 10 days util client cache expires
-$diskCache = false; // If you enable this option gzip files will be cached on disk.
-$cacheDir = realpath("."); // Absolute directory path to where cached gz files will be stored
-$debug = false; // Enable this option if you need debuging info
-
-// Headers
-header("Content-type: text/javascript; charset: UTF-8");
-// header("Cache-Control: must-revalidate");
-header("Vary: Accept-Encoding"); // Handle proxies
-header("Expires: " . gmdate("D, d M Y H:i:s", time() + $expiresOffset) . " GMT");
-
-// Get data to load
-$theme = isset($_GET['theme']) ? TinyMCE_cleanInput($_GET['theme']) : "";
-$language = isset($_GET['language']) ? TinyMCE_cleanInput($_GET['language']) : "";
-$plugins = isset($_GET['plugins']) ? TinyMCE_cleanInput($_GET['plugins']) : "";
-$lang = isset($_GET['lang']) ? TinyMCE_cleanInput($_GET['lang']) : "en";
-$index = isset($_GET['index']) ? TinyMCE_cleanInput($_GET['index']) : -1;
-$cacheKey = md5($theme . $language . $plugins . $lang . $index . $debug);
-$cacheFile = $cacheDir == "" ? "" : $cacheDir . "/" . "tinymce_" . $cacheKey . ".gz";
-$cacheData = "";
-
-// Patch older versions of PHP < 4.3.0
-if (!function_exists('file_get_contents')) {
- function file_get_contents($filename) {
- $fd = fopen($filename, 'rb');
- $content = fread($fd, filesize($filename));
- fclose($fd);
- return $content;
- }
-}
-
-// Security check function, can only contain a-z 0-9 , _ - and whitespace.
-function TinyMCE_cleanInput($str) {
- return preg_replace("/[^0-9a-z\-_,]+/i", "", $str); // Remove anything but 0-9,a-z,-_
-}
-
-function TinyMCE_echo($str) {
- global $cacheData, $diskCache;
-
- if ($diskCache)
- $cacheData .= $str;
- else
- echo $str;
-}
-
-// Only gzip the contents if clients and server support it
-$encodings = array();
-
-if (isset($_SERVER['HTTP_ACCEPT_ENCODING']))
- $encodings = explode(',', strtolower(preg_replace("/\s+/", "", $_SERVER['HTTP_ACCEPT_ENCODING'])));
-
-// Check for gzip header or northon internet securities
-if ((in_array('gzip', $encodings) || in_array('x-gzip', $encodings) || isset($_SERVER['---------------'])) && function_exists('ob_gzhandler') && !ini_get('zlib.output_compression')) {
- $enc = in_array('x-gzip', $encodings) ? "x-gzip" : "gzip";
-
- // Use cached file if it exists but not in debug mode
- if (file_exists($cacheFile) && !$debug) {
- header("Content-Encoding: " . $enc);
- echo file_get_contents($cacheFile);
- die;
- }
-
- if (!$diskCache)
- ob_start("ob_gzhandler");
-} else
- $diskCache = false;
-
-if ($index > -1) {
- // Write main script and patch some things
- if ($index == 0) {
- TinyMCE_echo(wp_compact_tinymce_js(file_get_contents(realpath("tiny_mce" . $suffix . ".js")))); // WP
- TinyMCE_echo('TinyMCE.prototype.orgLoadScript = TinyMCE.prototype.loadScript;');
- TinyMCE_echo('TinyMCE.prototype.loadScript = function() {};var realTinyMCE = tinyMCE;');
- } else
- TinyMCE_echo('tinyMCE = realTinyMCE;');
-
- // Do init based on index
- TinyMCE_echo("tinyMCE.init(tinyMCECompressed.configs[" . $index . "]);");
-
- // Load external plugins
- if ($index == 0)
- TinyMCE_echo("tinyMCECompressed.loadPlugins();");
-
- // Load theme, language pack and theme language packs
- if ($theme) {
- TinyMCE_echo(wp_compact_tinymce_js(file_get_contents(realpath("themes/" . $theme . "/editor_template" . $suffix . ".js")))); // WP
- TinyMCE_echo(wp_tinymce_lang("themes/" . $theme . "/langs/%s.js")); // WP
- }
-
- /* WP if ($language) WP */
- TinyMCE_echo(wp_tinymce_lang("langs/%s.js")); // WP
-
- // Load all plugins and their language packs
- $plugins = explode(",", $plugins);
- foreach ($plugins as $plugin) {
- $pluginFile = realpath("plugins/" . $plugin . "/editor_plugin" . $suffix . ".js");
- /* WP $languageFile = realpath("plugins/" . $plugin . "/langs/" . $lang . ".js"); WP */
-
- if ($pluginFile)
- TinyMCE_echo(file_get_contents($pluginFile));
-
- /* WP if ($languageFile) WP */
- TinyMCE_echo(wp_tinymce_lang("plugins/" . $plugin . "/langs/%s.js")); // WP
- }
-
- // Reset tinyMCE compressor engine
- TinyMCE_echo("tinyMCE = tinyMCECompressed;");
-
- // Write to cache
- if ($diskCache) {
- // Calculate compression ratio and debug target output path
- if ($debug) {
- $ratio = round(100 - strlen(gzencode($cacheData, 9, FORCE_GZIP)) / strlen($cacheData) * 100.0);
- TinyMCE_echo("alert('TinyMCE was compressed by " . $ratio . "%.\\nOutput cache file: " . $cacheFile . "');");
- }
-
- $cacheData = gzencode($cacheData, 9, FORCE_GZIP);
-
- // Write to file if possible
- $fp = @fopen($cacheFile, "wb");
- if ($fp) {
- fwrite($fp, $cacheData);
- fclose($fp);
- }
-
- // Output
- header("Content-Encoding: " . $enc);
- echo $cacheData;
- }
-
- die;
-}
-?>
-
-function TinyMCECompressed() {
- this.configs = new Array();
- this.loadedFiles = new Array();
- this.externalPlugins = new Array();
- this.loadAdded = false;
- this.isLoaded = false;
-}
-
-TinyMCECompressed.prototype.init = function(settings) {
- var elements = document.getElementsByTagName('script');
- var scriptURL = "";
-
- for (var i=0; i<elements.length; i++) {
- if (elements[i].src && elements[i].src.indexOf("tiny_mce_gzip.php") != -1) {
- scriptURL = elements[i].src;
- break;
- }
- }
-
- settings["theme"] = typeof(settings["theme"]) != "undefined" ? settings["theme"] : "default";
- settings["plugins"] = typeof(settings["plugins"]) != "undefined" ? settings["plugins"] : "";
- settings["language"] = typeof(settings["language"]) != "undefined" ? settings["language"] : "en";
- settings["button_tile_map"] = typeof(settings["button_tile_map"]) != "undefined" ? settings["button_tile_map"] : true;
- this.configs[this.configs.length] = settings;
- this.settings = settings;
-
- scriptURL += (scriptURL.indexOf('?') == -1) ? '?' : '&';
- scriptURL += "theme=" + escape(this.getOnce(settings["theme"])) + "&language=" + escape(this.getOnce(settings["language"])) + "&plugins=" + escape(this.getOnce(settings["plugins"])) + "&lang=" + settings["language"] + "&index=" + escape(this.configs.length-1);
- document.write('<sc'+'ript language="javascript" type="text/javascript" src="' + scriptURL + '"></script>');
-
- if (!this.loadAdded) {
- tinyMCE.addEvent(window, "DOMContentLoaded", TinyMCECompressed.prototype.onLoad);
- tinyMCE.addEvent(window, "load", TinyMCECompressed.prototype.onLoad);
- this.loadAdded = true;
- }
-}
-
-TinyMCECompressed.prototype.onLoad = function() {
- if (tinyMCE.isLoaded)
- return true;
-
- tinyMCE = realTinyMCE;
- TinyMCE_Engine.prototype.onLoad();
- tinyMCE._addUnloadEvents();
-
- tinyMCE.isLoaded = true;
-}
-
-TinyMCECompressed.prototype.addEvent = function(o, n, h) {
- if (o.attachEvent)
- o.attachEvent("on" + n, h);
- else
- o.addEventListener(n, h, false);
-}
-
-TinyMCECompressed.prototype.getOnce = function(str) {
- var ar = str.replace(/\s+/g, '').split(',');
-
- for (var i=0; i<ar.length; i++) {
- if (ar[i] == '' || ar[i].charAt(0) == '-') {
- ar[i] = null;
- continue;
- }
-
- // Skip load
- for (var x=0; x<this.loadedFiles.length; x++) {
- if (this.loadedFiles[x] == ar[i])
- ar[i] = null;
- }
-
- this.loadedFiles[this.loadedFiles.length] = ar[i];
- }
-
- // Glue
- str = "";
- for (var i=0; i<ar.length; i++) {
- if (ar[i] == null)
- continue;
-
- str += ar[i];
-
- if (i != ar.length-1)
- str += ",";
- }
-
- return str;
-};
-
-TinyMCECompressed.prototype.loadPlugins = function() {
- var i, ar;
-
- TinyMCE.prototype.loadScript = TinyMCE.prototype.orgLoadScript;
- tinyMCE = realTinyMCE;
-
- ar = tinyMCECompressed.externalPlugins;
- for (i=0; i<ar.length; i++)
- tinyMCE.loadPlugin(ar[i].name, ar[i].url);
-
- TinyMCE.prototype.loadScript = function() {};
-};
-
-TinyMCECompressed.prototype.loadPlugin = function(n, u) {
- this.externalPlugins[this.externalPlugins.length] = {name : n, url : u};
-};
-
-TinyMCECompressed.prototype.importPluginLanguagePack = function(n, v) {
- tinyMCE = realTinyMCE;
- TinyMCE.prototype.loadScript = TinyMCE.prototype.orgLoadScript;
- tinyMCE.importPluginLanguagePack(n, v);
-};
-
-TinyMCECompressed.prototype.addPlugin = function(n, p) {
- tinyMCE = realTinyMCE;
- tinyMCE.addPlugin(n, p);
-};
-
-var tinyMCE = new TinyMCECompressed();
-var tinyMCECompressed = tinyMCE;
diff --git a/wp-inst/wp-includes/js/tinymce/tiny_mce_popup.js b/wp-inst/wp-includes/js/tinymce/tiny_mce_popup.js
deleted file mode 100644
index c5864e6..0000000
--- a/wp-inst/wp-includes/js/tinymce/tiny_mce_popup.js
+++ /dev/null
@@ -1,269 +0,0 @@
-
-
-// Some global instances, this will be filled later
-var tinyMCE = null, tinyMCELang = null;
-
-
-function TinyMCE_Popup() {
-};
-
-
-TinyMCE_Popup.prototype.init = function() {
- var win = window.opener ? window.opener : window.dialogArguments;
- var inst;
-
- if (!win) {
- // Try parent
- win = parent.parent;
-
- // Try top
- if (typeof(win.tinyMCE) == "undefined")
- win = top;
- }
-
- window.opener = win;
- this.windowOpener = win;
- this.onLoadEval = "";
-
- // Setup parent references
- tinyMCE = win.tinyMCE;
- tinyMCELang = win.tinyMCELang;
-
- if (!tinyMCE) {
- alert("tinyMCE object reference not found from popup.");
- return;
- }
-
- inst = tinyMCE.selectedInstance;
- this.isWindow = tinyMCE.getWindowArg('mce_inside_iframe', false) == false;
- this.storeSelection = (tinyMCE.isMSIE && !tinyMCE.isOpera) && !this.isWindow && tinyMCE.getWindowArg('mce_store_selection', true);
-
- if (this.isWindow)
- window.focus();
-
- // Store selection
- if (this.storeSelection)
- inst.selectionBookmark = inst.selection.getBookmark(true);
-
- // Setup dir
- if (tinyMCELang['lang_dir'])
- document.dir = tinyMCELang['lang_dir'];
-
- // Setup title
- var re = new RegExp('{|\\\$|}', 'g');
- var title = document.title.replace(re, "");
- if (typeof tinyMCELang[title] != "undefined") {
- var divElm = document.createElement("div");
- divElm.innerHTML = tinyMCELang[title];
- document.title = divElm.innerHTML;
-
- if (tinyMCE.setWindowTitle != null)
- tinyMCE.setWindowTitle(window, divElm.innerHTML);
- }
-
- // Output Popup CSS class
- document.write('<link href="' + tinyMCE.getParam("popups_css") + '" rel="stylesheet" type="text/css">');
-
- tinyMCE.addEvent(window, "load", this.onLoad);
-};
-
-
-TinyMCE_Popup.prototype.onLoad = function() {
- var dir, i, elms, body = document.body;
-
- body.onkeydown = function (e) {
- e = e ? e : window.event;
- if ( e.keyCode == 27 && !e.shiftKey && !e.controlKey && !e.altKey ) {
- tinyMCE.closeWindow(window);
- }
- }
-
- if (tinyMCE.getWindowArg('mce_replacevariables', true))
- body.innerHTML = tinyMCE.applyTemplate(body.innerHTML, tinyMCE.windowArgs);
-
- dir = tinyMCE.selectedInstance.settings['directionality'];
- if (dir == "rtl" && document.forms && document.forms.length > 0) {
- elms = document.forms[0].elements;
- for (i=0; i<elms.length; i++) {
- if ((elms[i].type == "text" || elms[i].type == "textarea") && elms[i].getAttribute("dir") != "ltr")
- elms[i].dir = dir;
- }
- }
-
- if (body.style.display == 'none')
- body.style.display = 'block';
-
- // Execute real onload (Opera fix)
- if (tinyMCEPopup.onLoadEval != "")
- eval(tinyMCEPopup.onLoadEval);
-};
-
-
-TinyMCE_Popup.prototype.executeOnLoad = function(str) {
- if (tinyMCE.isOpera)
- this.onLoadEval = str;
- else
- eval(str);
-};
-
-
-TinyMCE_Popup.prototype.resizeToInnerSize = function() {
- // Netscape 7.1 workaround
- if (this.isWindow && tinyMCE.isNS71) {
- window.resizeBy(0, 10);
- return;
- }
-
- if (this.isWindow) {
- var doc = document;
- var body = doc.body;
- var oldMargin, wrapper, iframe, nodes, dx, dy;
-
- if (body.style.display == 'none')
- body.style.display = 'block';
-
- // Remove margin
- oldMargin = body.style.margin;
- body.style.margin = '0';
-
- // Create wrapper
- wrapper = doc.createElement("div");
- wrapper.id = 'mcBodyWrapper';
- wrapper.style.display = 'none';
- wrapper.style.margin = '0';
-
- // Wrap body elements
- nodes = doc.body.childNodes;
- for (var i=nodes.length-1; i>=0; i--) {
- if (wrapper.hasChildNodes())
- wrapper.insertBefore(nodes[i].cloneNode(true), wrapper.firstChild);
- else
- wrapper.appendChild(nodes[i].cloneNode(true));
-
- nodes[i].parentNode.removeChild(nodes[i]);
- }
-
- // Add wrapper
- doc.body.appendChild(wrapper);
-
- // Create iframe
- iframe = document.createElement("iframe");
- iframe.id = "mcWinIframe";
- iframe.src = document.location.href.toLowerCase().indexOf('https') == -1 ? "about:blank" : tinyMCE.settings['default_document'];
- iframe.width = "100%";
- iframe.height = "100%";
- iframe.style.margin = '0';
-
- // Add iframe
- doc.body.appendChild(iframe);
-
- // Measure iframe
- iframe = document.getElementById('mcWinIframe');
- dx = tinyMCE.getWindowArg('mce_width') - iframe.clientWidth;
- dy = tinyMCE.getWindowArg('mce_height') - iframe.clientHeight;
-
- // Resize window
- // tinyMCE.debug(tinyMCE.getWindowArg('mce_width') + "," + tinyMCE.getWindowArg('mce_height') + " - " + dx + "," + dy);
- window.resizeBy(dx, dy);
-
- // Hide iframe and show wrapper
- body.style.margin = oldMargin;
- iframe.style.display = 'none';
- wrapper.style.display = 'block';
- }
-};
-
-
-TinyMCE_Popup.prototype.resizeToContent = function() {
- var isMSIE = (navigator.appName == "Microsoft Internet Explorer");
- var isOpera = (navigator.userAgent.indexOf("Opera") != -1);
-
- if (isOpera)
- return;
-
- if (isMSIE) {
- try { window.resizeTo(10, 10); } catch (e) {}
-
- var elm = document.body;
- var width = elm.offsetWidth;
- var height = elm.offsetHeight;
- var dx = (elm.scrollWidth - width) + 4;
- var dy = elm.scrollHeight - height;
-
- try { window.resizeBy(dx, dy); } catch (e) {}
- } else {
- window.scrollBy(1000, 1000);
- if (window.scrollX > 0 || window.scrollY > 0) {
- window.resizeBy(window.innerWidth * 2, window.innerHeight * 2);
- window.sizeToContent();
- window.scrollTo(0, 0);
- var x = parseInt(screen.width / 2.0) - (window.outerWidth / 2.0);
- var y = parseInt(screen.height / 2.0) - (window.outerHeight / 2.0);
- window.moveTo(x, y);
- }
- }
-};
-
-
-TinyMCE_Popup.prototype.getWindowArg = function(name, default_value) {
- return tinyMCE.getWindowArg(name, default_value);
-};
-
-
-TinyMCE_Popup.prototype.restoreSelection = function() {
- if (this.storeSelection) {
- var inst = tinyMCE.selectedInstance;
-
- inst.getWin().focus();
-
- if (inst.selectionBookmark)
- inst.selection.moveToBookmark(inst.selectionBookmark);
- }
-};
-
-
-TinyMCE_Popup.prototype.execCommand = function(command, user_interface, value) {
- var inst = tinyMCE.selectedInstance;
-
- this.restoreSelection();
- inst.execCommand(command, user_interface, value);
-
- // Store selection
- if (this.storeSelection)
- inst.selectionBookmark = inst.selection.getBookmark(true);
-};
-
-
-TinyMCE_Popup.prototype.close = function() {
- tinyMCE.closeWindow(window);
-};
-
-
-TinyMCE_Popup.prototype.pickColor = function(e, element_id) {
- tinyMCE.selectedInstance.execCommand('mceColorPicker', true, {
- element_id : element_id,
- document : document,
- window : window,
- store_selection : false
- });
-};
-
-
-TinyMCE_Popup.prototype.openBrowser = function(element_id, type, option) {
- var cb = tinyMCE.getParam(option, tinyMCE.getParam("file_browser_callback"));
- var url = document.getElementById(element_id).value;
-
- tinyMCE.setWindowArg("window", window);
- tinyMCE.setWindowArg("document", document);
-
- // Call to external callback
- if (eval('typeof(tinyMCEPopup.windowOpener.' + cb + ')') == "undefined")
- alert("Callback function: " + cb + " could not be found.");
- else
- eval("tinyMCEPopup.windowOpener." + cb + "(element_id, url, type, window);");
-};
-
-// Setup global instance
-var tinyMCEPopup = new TinyMCE_Popup();
-
-tinyMCEPopup.init();
diff --git a/wp-inst/wp-includes/js/tinymce/utils/form_utils.js b/wp-inst/wp-includes/js/tinymce/utils/form_utils.js
deleted file mode 100644
index 0481815..0000000
--- a/wp-inst/wp-includes/js/tinymce/utils/form_utils.js
+++ /dev/null
@@ -1,209 +0,0 @@
-/**
- * $RCSfile: form_utils.js,v $
- * $Revision: 1.10 $
- * $Date: 2006/03/22 12:21:24 $
- *
- * Various form utilitiy functions.
- *
- * @author Moxiecode
- * @copyright Copyright © 2004-2006, Moxiecode Systems AB, All rights reserved.
- */
-
-function getColorPickerHTML(id, target_form_element) {
- var html = "";
-
- html += '<a id="' + id + '_link" href="javascript:void(0);" onkeydown="pickColor(event,\'' + target_form_element +'\');" onmousedown="pickColor(event,\'' + target_form_element +'\');return false;">';
- html += '<img id="' + id + '" src="../../themes/' + tinyMCE.getParam("theme") + '/images/color.gif"';
- html += ' onmouseover="this.className=\'mceButtonOver\'"';
- html += ' onmouseout="this.className=\'mceButtonNormal\'"';
- html += ' onmousedown="this.className=\'mceButtonDown\'"';
- html += ' width="20" height="16" border="0" title="' + tinyMCE.getLang('lang_browse') + '"';
- html += ' class="mceButtonNormal" alt="' + tinyMCE.getLang('lang_browse') + '" /></a>';
-
- return html;
-}
-
-function pickColor(e, target_form_element) {
- if ((e.keyCode == 32 || e.keyCode == 13) || e.type == "mousedown")
- tinyMCEPopup.pickColor(e, target_form_element);
-}
-
-function updateColor(img_id, form_element_id) {
- document.getElementById(img_id).style.backgroundColor = document.forms[0].elements[form_element_id].value;
-}
-
-function setBrowserDisabled(id, state) {
- var img = document.getElementById(id);
- var lnk = document.getElementById(id + "_link");
-
- if (lnk) {
- if (state) {
- lnk.setAttribute("realhref", lnk.getAttribute("href"));
- lnk.removeAttribute("href");
- tinyMCE.switchClass(img, 'mceButtonDisabled', true);
- } else {
- lnk.setAttribute("href", lnk.getAttribute("realhref"));
- tinyMCE.switchClass(img, 'mceButtonNormal', false);
- }
- }
-}
-
-function getBrowserHTML(id, target_form_element, type, prefix) {
- var option = prefix + "_" + type + "_browser_callback";
- var cb = tinyMCE.getParam(option, tinyMCE.getParam("file_browser_callback"));
- if (cb == null)
- return "";
-
- var html = "";
-
- html += '<a id="' + id + '_link" href="javascript:openBrower(\'' + id + '\',\'' + target_form_element + '\', \'' + type + '\',\'' + option + '\');" onmousedown="return false;">';
- html += '<img id="' + id + '" src="../../themes/' + tinyMCE.getParam("theme") + '/images/browse.gif"';
- html += ' onmouseover="this.className=\'mceButtonOver\';"';
- html += ' onmouseout="this.className=\'mceButtonNormal\';"';
- html += ' onmousedown="this.className=\'mceButtonDown\';"';
- html += ' width="20" height="18" border="0" title="' + tinyMCE.getLang('lang_browse') + '"';
- html += ' class="mceButtonNormal" alt="' + tinyMCE.getLang('lang_browse') + '" /></a>';
-
- return html;
-}
-
-function openBrower(img_id, target_form_element, type, option) {
- var img = document.getElementById(img_id);
-
- if (img.className != "mceButtonDisabled")
- tinyMCEPopup.openBrowser(target_form_element, type, option);
-}
-
-function selectByValue(form_obj, field_name, value, add_custom, ignore_case) {
- if (!form_obj || !form_obj.elements[field_name])
- return;
-
- var sel = form_obj.elements[field_name];
-
- var found = false;
- for (var i=0; i<sel.options.length; i++) {
- var option = sel.options[i];
-
- if (option.value == value || (ignore_case && option.value.toLowerCase() == value.toLowerCase())) {
- option.selected = true;
- found = true;
- } else
- option.selected = false;
- }
-
- if (!found && add_custom && value != '') {
- var option = new Option('Value: ' + value, value);
- option.selected = true;
- sel.options[sel.options.length] = option;
- }
-
- return found;
-}
-
-function getSelectValue(form_obj, field_name) {
- var elm = form_obj.elements[field_name];
-
- if (elm == null || elm.options == null)
- return "";
-
- return elm.options[elm.selectedIndex].value;
-}
-
-function addSelectValue(form_obj, field_name, name, value) {
- var s = form_obj.elements[field_name];
- var o = new Option(name, value);
- s.options[s.options.length] = o;
-}
-
-function addClassesToList(list_id, specific_option) {
- // Setup class droplist
- var styleSelectElm = document.getElementById(list_id);
- var styles = tinyMCE.getParam('theme_advanced_styles', false);
- styles = tinyMCE.getParam(specific_option, styles);
-
- if (styles) {
- var stylesAr = styles.split(';');
-
- for (var i=0; i<stylesAr.length; i++) {
- if (stylesAr != "") {
- var key, value;
-
- key = stylesAr[i].split('=')[0];
- value = stylesAr[i].split('=')[1];
-
- styleSelectElm.options[styleSelectElm.length] = new Option(key, value);
- }
- }
- } else {
- // Use auto impored classes
- var csses = tinyMCE.getCSSClasses(tinyMCE.getWindowArg('editor_id'));
- for (var i=0; i<csses.length; i++)
- styleSelectElm.options[styleSelectElm.length] = new Option(csses[i], csses[i]);
- }
-}
-
-function isVisible(element_id) {
- var elm = document.getElementById(element_id);
-
- return elm && elm.style.display != "none";
-}
-
-function convertRGBToHex(col) {
- var re = new RegExp("rgb\\s*\\(\\s*([0-9]+).*,\\s*([0-9]+).*,\\s*([0-9]+).*\\)", "gi");
-
- var rgb = col.replace(re, "$1,$2,$3").split(',');
- if (rgb.length == 3) {
- r = parseInt(rgb[0]).toString(16);
- g = parseInt(rgb[1]).toString(16);
- b = parseInt(rgb[2]).toString(16);
-
- r = r.length == 1 ? '0' + r : r;
- g = g.length == 1 ? '0' + g : g;
- b = b.length == 1 ? '0' + b : b;
-
- return "#" + r + g + b;
- }
-
- return col;
-}
-
-function convertHexToRGB(col) {
- if (col.indexOf('#') != -1) {
- col = col.replace(new RegExp('[^0-9A-F]', 'gi'), '');
-
- r = parseInt(col.substring(0, 2), 16);
- g = parseInt(col.substring(2, 4), 16);
- b = parseInt(col.substring(4, 6), 16);
-
- return "rgb(" + r + "," + g + "," + b + ")";
- }
-
- return col;
-}
-
-function trimSize(size) {
- return size.replace(new RegExp('[^0-9%]', 'gi'), '');
-}
-
-function getCSSSize(size) {
- size = trimSize(size);
-
- if (size == "")
- return "";
-
- return size.indexOf('%') != -1 ? size : size + "px";
-}
-
-function getStyle(elm, attrib, style) {
- var val = tinyMCE.getAttrib(elm, attrib);
-
- if (val != '')
- return '' + val;
-
- if (typeof(style) == 'undefined')
- style = attrib;
-
- val = eval('elm.style.' + style);
-
- return val == null ? '' : '' + val;
-}
diff --git a/wp-inst/wp-includes/js/tinymce/utils/mclayer.js b/wp-inst/wp-includes/js/tinymce/utils/mclayer.js
deleted file mode 100644
index 0a7837b..0000000
--- a/wp-inst/wp-includes/js/tinymce/utils/mclayer.js
+++ /dev/null
@@ -1,212 +0,0 @@
-/**
- * $RCSfile: mclayer.js,v $
- * $Revision: 1.2 $
- * $Date: 2006/02/06 20:11:09 $
- *
- * Moxiecode floating layer script.
- *
- * @author Moxiecode
- * @copyright Copyright © 2004-2006, Moxiecode Systems AB, All rights reserved.
- */
-
-function MCLayer(id) {
- this.id = id;
- this.settings = new Array();
- this.blockerElement = null;
- this.isMSIE = navigator.appName == "Microsoft Internet Explorer";
- this.events = false;
- this.autoHideCallback = null;
-}
-
-MCLayer.prototype = {
- moveRelativeTo : function(re, p, a) {
- var rep = this.getAbsPosition(re);
- var w = parseInt(re.offsetWidth);
- var h = parseInt(re.offsetHeight);
- var x, y;
-
- switch (p) {
- case "tl":
- break;
-
- case "tr":
- x = rep.absLeft + w;
- y = rep.absTop;
- break;
-
- case "bl":
- break;
-
- case "br":
- break;
- }
-
- this.moveTo(x, y);
- },
-
- moveBy : function(dx, dy) {
- var e = this.getElement();
- var x = parseInt(e.style.left);
- var y = parseInt(e.style.top);
-
- e.style.left = (x + dx) + "px";
- e.style.top = (y + dy) + "px";
-
- this.updateBlocker();
- },
-
- moveTo : function(x, y) {
- var e = this.getElement();
-
- e.style.left = x + "px";
- e.style.top = y + "px";
-
- this.updateBlocker();
- },
-
- show : function() {
- MCLayer.visibleLayer = this;
-
- this.getElement().style.display = 'block';
- this.updateBlocker();
- },
-
- hide : function() {
- this.getElement().style.display = 'none';
- this.updateBlocker();
- },
-
- setAutoHide : function(s, cb) {
- this.autoHideCallback = cb;
- this.registerEventHandlers();
- },
-
- getElement : function() {
- return document.getElementById(this.id);
- },
-
- updateBlocker : function() {
- if (!this.isMSIE)
- return;
-
- var e = this.getElement();
- var b = this.getBlocker();
- var x = this.parseInt(e.style.left);
- var y = this.parseInt(e.style.top);
- var w = this.parseInt(e.offsetWidth);
- var h = this.parseInt(e.offsetHeight);
-
- b.style.left = x + 'px';
- b.style.top = y + 'px';
- b.style.width = w + 'px';
- b.style.height = h + 'px';
- b.style.display = e.style.display;
- },
-
- getBlocker : function() {
- if (!this.blockerElement) {
- var d = document, b = d.createElement("iframe");
-
- b.style.cssText = 'display: none; left: 0px; position: absolute; top: 0';
- b.src = 'javascript:false;';
- b.frameBorder = '0';
- b.scrolling = 'no';
-
- d.body.appendChild(b);
- this.blockerElement = b;
- }
-
- return this.blockerElement;
- },
-
- getAbsPosition : function(n) {
- var p = {absLeft : 0, absTop : 0};
-
- while (n) {
- p.absLeft += n.offsetLeft;
- p.absTop += n.offsetTop;
- n = n.offsetParent;
- }
-
- return p;
- },
-
- registerEventHandlers : function() {
- if (!this.events) {
- var d = document;
-
- this.addEvent(d, 'mousedown', MCLayer.prototype.onMouseDown);
-
- this.events = true;
- }
- },
-
- addEvent : function(o, n, h) {
- if (o.attachEvent)
- o.attachEvent("on" + n, h);
- else
- o.addEventListener(n, h, false);
- },
-
- onMouseDown : function(e) {
- e = typeof(e) == "undefined" ? window.event : e;
- var b = document.body;
- var l = MCLayer.visibleLayer;
-
- if (l) {
- var mx = l.isMSIE ? e.clientX + b.scrollLeft : e.pageX;
- var my = l.isMSIE ? e.clientY + b.scrollTop : e.pageY;
- var el = l.getElement();
- var x = parseInt(el.style.left);
- var y = parseInt(el.style.top);
- var w = parseInt(el.offsetWidth);
- var h = parseInt(el.offsetHeight);
-
- if (!(mx > x && mx < x + w && my > y && my < y + h)) {
- MCLayer.visibleLayer = null;
-
- if (l.autoHideCallback && l.autoHideCallback(l, e, mx, my))
- return true;
-
- l.hide();
- }
- }
- },
-
- addCSSClass : function(e, c) {
- this.removeCSSClass(e, c);
- var a = this.explode(' ', e.className);
- a[a.length] = c;
- e.className = a.join(' ');
- },
-
- removeCSSClass : function(e, c) {
- var a = this.explode(' ', e.className), i;
-
- for (i=0; i<a.length; i++) {
- if (a[i] == c)
- a[i] = '';
- }
-
- e.className = a.join(' ');
- },
-
- explode : function(d, s) {
- var ar = s.split(d);
- var oar = new Array();
-
- for (var i = 0; i<ar.length; i++) {
- if (ar[i] != "")
- oar[oar.length] = ar[i];
- }
-
- return oar;
- },
-
- parseInt : function(s) {
- if (s == null || s == '')
- return 0;
-
- return parseInt(s);
- }
-} \ No newline at end of file
diff --git a/wp-inst/wp-includes/js/tinymce/utils/mctabs.js b/wp-inst/wp-includes/js/tinymce/utils/mctabs.js
deleted file mode 100644
index c159360..0000000
--- a/wp-inst/wp-includes/js/tinymce/utils/mctabs.js
+++ /dev/null
@@ -1,76 +0,0 @@
-/**
- * $RCSfile: mctabs.js,v $
- * $Revision: 1.2 $
- * $Date: 2006/02/06 20:11:09 $
- *
- * Moxiecode DHTML Tabs script.
- *
- * @author Moxiecode
- * @copyright Copyright © 2004-2006, Moxiecode Systems AB, All rights reserved.
- */
-
-function MCTabs() {
- this.settings = new Array();
-};
-
-MCTabs.prototype.init = function(settings) {
- this.settings = settings;
-};
-
-MCTabs.prototype.getParam = function(name, default_value) {
- var value = null;
-
- value = (typeof(this.settings[name]) == "undefined") ? default_value : this.settings[name];
-
- // Fix bool values
- if (value == "true" || value == "false")
- return (value == "true");
-
- return value;
-};
-
-MCTabs.prototype.displayTab = function(tab_id, panel_id) {
- var panelElm = document.getElementById(panel_id);
- var panelContainerElm = panelElm ? panelElm.parentNode : null;
- var tabElm = document.getElementById(tab_id);
- var tabContainerElm = tabElm ? tabElm.parentNode : null;
- var selectionClass = this.getParam('selection_class', 'current');
-
- if (tabElm && tabContainerElm) {
- var nodes = tabContainerElm.childNodes;
-
- // Hide all other tabs
- for (var i=0; i<nodes.length; i++) {
- if (nodes[i].nodeName == "LI")
- nodes[i].className = '';
- }
-
- // Show selected tab
- tabElm.className = 'current';
- }
-
- if (panelElm && panelContainerElm) {
- var nodes = panelContainerElm.childNodes;
-
- // Hide all other panels
- for (var i=0; i<nodes.length; i++) {
- if (nodes[i].nodeName == "DIV")
- nodes[i].className = 'panel';
- }
-
- // Show selected panel
- panelElm.className = 'current';
- }
-};
-
-MCTabs.prototype.getAnchor = function() {
- var pos, url = document.location.href;
-
- if ((pos = url.lastIndexOf('#')) != -1)
- return url.substring(pos + 1);
-
- return "";
-};
-
-// Global instance
-var mcTabs = new MCTabs();
diff --git a/wp-inst/wp-includes/js/tinymce/utils/validate.js b/wp-inst/wp-includes/js/tinymce/utils/validate.js
deleted file mode 100644
index 747b62b..0000000
--- a/wp-inst/wp-includes/js/tinymce/utils/validate.js
+++ /dev/null
@@ -1,50 +0,0 @@
-/**
- * $RCSfile: validate.js,v $
- * $Revision: 1.3 $
- * $Date: 2006/02/06 20:11:09 $
- *
- * Various form validation methods.
- *
- * @author Moxiecode
- * @copyright Copyright © 2004-2006, Moxiecode Systems AB, All rights reserved.
- */
-
-function testRegExp(form_name, element_name, re) {
- return new RegExp(re).test(document.forms[form_name].elements[element_name].value);
-}
-
-function validateString(form_name, element_name) {
- return (document.forms[form_name].elements[element_name].value.length > 0);
-}
-
-function validateSelection(form_name, element_name) {
- return (document.forms[form_name].elements[element_name].selectedIndex > 0);
-}
-
-function validateCheckBox(form_name, element_name) {
- return document.forms[form_name].elements[element_name].checked;
-}
-
-function validateCleanString(form_name, element_name) {
- return testRegExp(form_name, element_name, '^[A-Za-z0-9_]+$');
-}
-
-function validateEmail(form_name, element_name) {
- return testRegExp(form_name, element_name, '^[-!#$%&\'*+\\./0-9=?A-Z^_`a-z{|}~]+@[-!#$%&\'*+\\/0-9=?A-Z^_`a-z{|}~]+\.[-!#$%&\'*+\\./0-9=?A-Z^_`a-z{|}~]+$');
-}
-
-function validateAbsUrl(form_name, element_name) {
- return testRegExp(form_name, element_name, '^(news|telnet|nttp|file|http|ftp|https)://[-A-Za-z0-9\\.]+$');
-}
-
-function validateNumber(form_name, element_name, allow_blank) {
- return (!allow_blank && value == '') ? false : testRegExp(form_name, element_name, '^-?[0-9]*\\.?[0-9]*$');
-}
-
-function validateSize(form_name, element_name,) {
- return testRegExp(form_name, element_name, '^[0-9]+(px|%)?$');
-}
-
-function validateID(form_name, element_name,) {
- return testRegExp(form_name, element_name, '^[A-Za-z_]([A-Za-z0-9_])*$');
-}
diff --git a/wp-inst/wp-includes/js/tinymce/wp-mce-help.php b/wp-inst/wp-includes/js/tinymce/wp-mce-help.php
deleted file mode 100644
index ffe385f..0000000
--- a/wp-inst/wp-includes/js/tinymce/wp-mce-help.php
+++ /dev/null
@@ -1,170 +0,0 @@
-<?php
-
-require_once('../../../wp-config.php');
-
-?>
-<!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><?php _e('Rich Editor Help') ?></title>
-<link rel="stylesheet" href="<?php echo get_settings('siteurl') ?>/wp-admin/wp-admin.css?version=<?php bloginfo('version'); ?>" type="text/css" />
-<style type="text/css">
- #wphead {
- padding-top: 5px;
- padding-bottom: 5px;
- padding-left: 15px;
- font-size: 90%;
- }
- #adminmenu {
- padding-top: 2px;
- padding-bottom: 2px;
- padding-left: 15px;
- font-size: 94%;
- }
- #user_info {
- margin-top: 15px;
- }
- h2 {
- font-size: 2em;
- border-bottom-width: .5em;
- margin-top: 12px;
- margin-bottom: 2px;
- }
- h3 {
- font-size: 1.1em;
- margin-top: 20px;
- margin-bottom: 0px;
- }
- #flipper {
- margin: 5px 10px 3px;
- }
- #flipper div p {
- margin-top: 0.4em;
- margin-bottom: 0.8em;
- text-align: justify;
- }
- th {
- text-align: center;
- }
- .top th {
- text-decoration: underline;
- }
- .top .key {
- text-align: center;
- width: 36px;
- }
- .top .action {
- text-align: left;
- }
- .align {
- border-left: 3px double #333;
- border-right: 3px double #333;
- }
- #keys p {
- display: inline-block;
- margin: 0px;
- padding: 0px;
- }
- #keys .left { text-align: left; }
- #keys .center { text-align: center; }
- #keys .right { text-align: right; }
- td b {
- font-family: "Times New Roman" Times serif;
- }
- #buttoncontainer {
- text-align: center;
- }
- #buttoncontainer a, #buttoncontainer a:hover {
- border-bottom: 0px;
- }
-</style>
-<script type="text/javascript">
- window.onkeydown = window.onkeypress = function (e) {
- e = e ? e : window.event;
- if ( e.keyCode == 27 && !e.shiftKey && !e.controlKey && !e.altKey ) {
- window.close();
- }
- }
-
- function d(id) { return document.getElementById(id); }
-
- function flipTab(n) {
- for (i=1;i<=4;i++) {
- c = d('content'+i.toString());
- t = d('tab'+i.toString());
- if ( n == i ) {
- c.className = '';
- t.className = 'current';
- } else {
- c.className = 'hidden';
- t.className = '';
- }
- }
- }
-</script>
-</head>
-<body>
-<div class="zerosize"></div>
-<div id="wphead"><h1><?php echo get_bloginfo('blogtitle'); ?></h1></div>
-<div id="user_info"><p><strong><?php _e('Rich Editor Help') ?></strong></p></div>
-<ul id="adminmenu">
- <li><a id="tab1" href="javascript:flipTab(1)" title="<?php _e('Basics of Rich Editing') ?>" accesskey="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"><?php _e('Advanced') ?></a></li>
- <li><a id="tab3" href="javascript:flipTab(3)" title="<?php _e('Hotkeys') ?>" accesskey="3"><?php _e('Hotkeys') ?></a></li>
- <li><a id="tab4" href="javascript:flipTab(4)" title="<?php _e('About the software') ?>" accesskey="4"><?php _e('About') ?></a></li>
-</ul>
-
-<div id="flipper" class="wrap">
-
-<div id="content1">
- <h2><?php _e('Rich Editing Basics') ?></h2>
- <p><?php _e('<em>Rich editing</em>, also called WYSIWYG for What You See Is What You Get, means your text is formatted as you type. The rich editor creates HTML code behind the scenes while you concentrate on writing. Font styles, links and images all appear approximately as they will on the internet.') ?></p>
- <p><?php _e('WordPress includes a rich HTML editor that works well in most web browsers used today. It is powerful but it has limitations. Pasting text from other word processors may not give the results you expect. If you do not like the way the rich editor works, you may turn it off in the Your Profile and Personal Options form, under Users in the admin menu.') ?></p>
-</div>
-
-<div id="content2" class="hidden">
- <h2><?php _e('Advanced Rich Editing') ?></h2>
- <h3><?php _e('Images and Attachments') ?></h3>
- <p><?php _e('There is a button in the editor toolbar for inserting images that are already hosted somewhere on the internet. If you have a URL for an image, click this button and enter the URL in the box which appears.') ?></p>
- <p><?php _e('If you need to upload an image or sound file from your computer, you can use the uploading tool below the editor. The tool will attempt to create a thumbnail-sized image when you upload an image. To insert your uploaded image into the post, first click on the thumbnail to reveal a menu of options. Clicking on a "Using.." or "Linked..." option will change that option. For instance, you might want to use the thumbnail in the post and link it to a page showing the original with a caption. When you have selected the options you like, click "Send to Editor" and your image or file will appear in the post you are editing.</p>') ?>
- <h3><?php _e('HTML in the Rich Editor') ?></h3>
- <p><?php _e('Any HTML entered directly into the rich editor will show up as text when the post is viewed. What you see is what you get. When you want to include HTML elements that cannot be generated with the toolbar buttons, you must enter it by hand in the HTML editor. Examples are tables and &lt;code&gt;. To do this, click the HTML button and edit the code, then click Update. If the code is valid and understood by the editor, you should see it rendered immediately.') ?></p>
-</div>
-
-<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 Alt+&lt;letter>. Macintosh uses Ctrl+&lt;letter>.') ?></p>
- <table id="keys" width="100%" border="0">
- <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>n</th><td><?php _e('Check Spelling') ?></td><th>f</th><td class="align left"><?php _e('Align Left') ?></td></tr>
- <tr><th>j</th><td><?php _e('Justify Text') ?></td><th>c</th><td class="align center"><?php _e('Align Center') ?></td></tr>
- <tr><th>k</th><td><strike><?php _e('Strikethrough') ?></strike></td><th>r</th><td class="align right"><?php _e('Align Right') ?></td></tr>
- <tr><th>l</th><td><b>&bull;</b> <?php _e('List') ?></td><th>a</th><td><?php _e('Insert <span class="anchor">Anchor</span>') ?></td></tr>
- <tr><th>o</th><td>1. <?php _e('List') ?></td><th>s</th><td><?php _e('Unlink Anchor') ?></td></tr>
- <tr><th>q</th><td>&rarr;<?php _e('Quote/Indent') ?></td><th>m</th><td><?php _e('Insert Image') ?></td></tr>
- <tr><th>w</th><td>&larr;<?php _e('Unquote/Outdent') ?></td><th>t</th><td><?php _e('Insert "More" Tag') ?></td></tr>
- <tr><th>u</th><td><?php _e('Undo') ?></td><th>e</th><td><?php _e('Edit HTML') ?></td></tr>
- <tr><th>y</th><td><?php _e('Redo') ?></td><th>h</th><td><?php _e('Open Help') ?></td></tr>
- </table>
-</div>
-
-<div id="content4" class="hidden">
- <h2><?php _e('About TinyMCE'); ?></h2>
- <p><?php printf(__('Version: %s'), '2.0RC4') ?></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="'.get_bloginfo('home').'/wp-includes/js/tinymce/license.txt" target="_blank" title="'.__('GNU Library General Public Licence').'">') ?></p>
- <p><?php _e('Copyright &copy; 2005, <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="_new"><img src="http://tinymce.moxiecode.com/images/gotmoxie.png" alt="<?php _e('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="<?php _e('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="<?php _e('Also on freshmeat') ?>" border="0" /></a>
- </div>
-
-</div>
-
-</div>
-
-</body>
-</html>
-
diff --git a/wp-inst/wp-includes/js/tw-sack.js b/wp-inst/wp-includes/js/tw-sack.js
deleted file mode 100644
index f93f2a4..0000000
--- a/wp-inst/wp-includes/js/tw-sack.js
+++ /dev/null
@@ -1,193 +0,0 @@
-/* Simple AJAX Code-Kit (SACK) v1.6.1 */
-/* ©2005 Gregory Wild-Smith */
-/* www.twilightuniverse.com */
-/* Software licenced under a modified X11 licence,
- see documentation or authors website for more details */
-
-function sack(file) {
- this.xmlhttp = null;
-
- this.resetData = function() {
- this.method = "POST";
- this.queryStringSeparator = "?";
- this.argumentSeparator = "&";
- this.URLString = "";
- this.encodeURIString = true;
- this.execute = false;
- this.element = null;
- this.elementObj = null;
- this.requestFile = file;
- this.vars = new Object();
- this.responseStatus = new Array(2);
- };
-
- this.resetFunctions = function() {
- this.onLoading = function() { };
- this.onLoaded = function() { };
- this.onInteractive = function() { };
- this.onCompletion = function() { };
- this.onError = function() { };
- this.onFail = function() { };
- };
-
- this.reset = function() {
- this.resetFunctions();
- this.resetData();
- };
-
- this.createAJAX = function() {
- try {
- this.xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
- } catch (e1) {
- try {
- this.xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
- } catch (e2) {
- this.xmlhttp = null;
- }
- }
-
- if (! this.xmlhttp) {
- if (typeof XMLHttpRequest != "undefined") {
- this.xmlhttp = new XMLHttpRequest();
- } else {
- this.failed = true;
- }
- }
- };
-
- this.setVar = function(name, value){
- this.vars[name] = Array(value, false);
- };
-
- this.encVar = function(name, value, returnvars) {
- if (true == returnvars) {
- return Array(encodeURIComponent(name), encodeURIComponent(value));
- } else {
- this.vars[encodeURIComponent(name)] = Array(encodeURIComponent(value), true);
- }
- }
-
- this.processURLString = function(string, encode) {
- encoded = encodeURIComponent(this.argumentSeparator);
- regexp = new RegExp(this.argumentSeparator + "|" + encoded);
- varArray = string.split(regexp);
- for (i = 0; i < varArray.length; i++){
- urlVars = varArray[i].split("=");
- if (true == encode){
- this.encVar(urlVars[0], urlVars[1]);
- } else {
- this.setVar(urlVars[0], urlVars[1]);
- }
- }
- }
-
- this.createURLString = function(urlstring) {
- if (this.encodeURIString && this.URLString.length) {
- this.processURLString(this.URLString, true);
- }
-
- if (urlstring) {
- if (this.URLString.length) {
- this.URLString += this.argumentSeparator + urlstring;
- } else {
- this.URLString = urlstring;
- }
- }
-
- // prevents caching of URLString
- this.setVar("rndval", new Date().getTime());
-
- urlstringtemp = new Array();
- for (key in this.vars) {
- if (false == this.vars[key][1] && true == this.encodeURIString) {
- encoded = this.encVar(key, this.vars[key][0], true);
- delete this.vars[key];
- this.vars[encoded[0]] = Array(encoded[1], true);
- key = encoded[0];
- }
-
- urlstringtemp[urlstringtemp.length] = key + "=" + this.vars[key][0];
- }
- if (urlstring){
- this.URLString += this.argumentSeparator + urlstringtemp.join(this.argumentSeparator);
- } else {
- this.URLString += urlstringtemp.join(this.argumentSeparator);
- }
- }
-
- this.runResponse = function() {
- eval(this.response);
- }
-
- this.runAJAX = function(urlstring) {
- if (this.failed) {
- this.onFail();
- } else {
- this.createURLString(urlstring);
- if (this.element) {
- this.elementObj = document.getElementById(this.element);
- }
- if (this.xmlhttp) {
- var self = this;
- if (this.method == "GET") {
- totalurlstring = this.requestFile + this.queryStringSeparator + this.URLString;
- this.xmlhttp.open(this.method, totalurlstring, true);
- } else {
- this.xmlhttp.open(this.method, this.requestFile, true);
- try {
- this.xmlhttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded")
- } catch (e) { }
- }
-
- this.xmlhttp.onreadystatechange = function() {
- switch (self.xmlhttp.readyState) {
- case 1:
- self.onLoading();
- break;
- case 2:
- self.onLoaded();
- break;
- case 3:
- self.onInteractive();
- break;
- case 4:
- self.response = self.xmlhttp.responseText;
- self.responseXML = self.xmlhttp.responseXML;
- self.responseStatus[0] = self.xmlhttp.status;
- self.responseStatus[1] = self.xmlhttp.statusText;
-
- if (self.execute) {
- self.runResponse();
- }
-
- if (self.elementObj) {
- elemNodeName = self.elementObj.nodeName;
- elemNodeName.toLowerCase();
- if (elemNodeName == "input"
- || elemNodeName == "select"
- || elemNodeName == "option"
- || elemNodeName == "textarea") {
- self.elementObj.value = self.response;
- } else {
- self.elementObj.innerHTML = self.response;
- }
- }
- if (self.responseStatus[0] == "200") {
- self.onCompletion();
- } else {
- self.onError();
- }
-
- self.URLString = "";
- break;
- }
- };
-
- this.xmlhttp.send(this.URLString);
- }
- }
- };
-
- this.reset();
- this.createAJAX();
-}
diff --git a/wp-inst/wp-includes/kses.php b/wp-inst/wp-includes/kses.php
deleted file mode 100644
index 0fc416e..0000000
--- a/wp-inst/wp-includes/kses.php
+++ /dev/null
@@ -1,823 +0,0 @@
-<?php
-
-// Added wp_ prefix to avoid conflicts with existing kses users
-# kses 0.2.1 - HTML/XHTML filter that only allows some elements and attributes
-# Copyright (C) 2002, 2003 Ulf Harnhammar
-# *** CONTACT INFORMATION ***
-#
-# E-mail: metaur at users dot sourceforge dot net
-# Web page: http://sourceforge.net/projects/kses
-# Paper mail: Ulf Harnhammar
-# Ymergatan 17 C
-# 753 25 Uppsala
-# SWEDEN
-#
-# [kses strips evil scripts!]
-if (!defined('CUSTOM_TAGS'))
- define('CUSTOM_TAGS', false);
-
-// You can override this in your my-hacks.php file
-if (!CUSTOM_TAGS) {
- $allowedposttags = array (
- 'address' => array (),
- 'a' => array (
- 'class' => array (),
- 'href' => array (),
- 'title' => array (),
- 'rel' => array (),
- 'rev' => array (),
- 'name' => array (),
- 'target' => array()),
- 'abbr' => array (
- 'title' => array ()),
- 'acronym' => array (
- 'title' => array ()),
- 'b' => array (),
- 'big' => array (),
- 'blockquote' => array (
- 'cite' => array ()),
- 'br' => array (),
- 'button' => array (
- 'disabled' => array (),
- 'name' => array (),
- 'type' => array (),
- 'value' => array ()),
- 'caption' => array (
- 'align' => array ()),
- 'cite' => array (
- 'dir' => array(),
- 'lang' => array(),
- 'title' => array ()),
- 'code' => array (),
- 'col' => array (
- 'align' => array (),
- 'char' => array (),
- 'charoff' => array (),
- 'span' => array (),
- 'dir' => array(),
- 'valign' => array (),
- 'width' => array ()),
- 'del' => array (
- 'datetime' => array ()),
- 'dd' => array (),
- 'div' => array (
- 'align' => array (),
- 'class' => array (),
- 'dir' => array ()),
- 'dl' => array (),
- 'dt' => array (),
- 'em' => array (),
- 'fieldset' => array (),
- 'font' => array (
- 'color' => array (),
- 'face' => array (),
- 'size' => array ()),
- 'form' => array (
- 'action' => array (),
- 'accept' => array (),
- 'accept-charset' => array (),
- 'enctype' => array (),
- 'method' => array (),
- 'name' => array (),
- 'target' => array ()),
- 'h1' => array (
- 'align' => array ()),
- 'h2' => array (
- 'align' => array ()),
- 'h3' => array (
- 'align' => array ()),
- 'h4' => array (
- 'align' => array ()),
- 'h5' => array (
- 'align' => array ()),
- 'h6' => array (
- 'align' => array ()),
- 'hr' => array (
- 'align' => array (),
- 'noshade' => array (),
- 'size' => array (),
- 'width' => array ()),
- 'i' => array (),
- 'iframe' => array ( // This is filtered to whitelisted domains later according to Andy
- 'longdesc' => array(),
- 'name' => array(),
- 'src' => array(),
- 'frameborder' => array(),
- 'marginwidth' => array(),
- 'marginheight' => array(),
- 'scroll' => array(),
- 'scrolling' => array(),
- 'align' => array(),
- 'height' => array(),
- 'width' => array ()),
- 'img' => array (
- 'alt' => array (),
- 'align' => array (),
- 'border' => array (),
- 'height' => array (),
- 'hspace' => array (),
- 'longdesc' => array (),
- 'vspace' => array (),
- 'src' => array (),
- 'width' => array ()),
- 'ins' => array (
- 'datetime' => array (),
- 'cite' => array ()),
- 'kbd' => array (),
- 'label' => array (
- 'for' => array ()),
- 'legend' => array (
- 'align' => array ()),
- 'li' => array (
- 'align' => array (),
- 'class' => array ()),
- 'p' => array (
- 'class' => array (),
- 'align' => array (),
- 'dir' => array()),
- 'pre' => array (
- 'width' => array ()),
- 'q' => array (
- 'cite' => array ()),
- 's' => array (),
- 'strike' => array (),
- 'strong' => array (),
- 'sub' => array (),
- 'sup' => array (),
- 'table' => array (
- 'align' => array (),
- 'bgcolor' => array (),
- 'border' => array (),
- 'cellpadding' => array (),
- 'cellspacing' => array (),
- 'dir' => array(),
- 'rules' => array (),
- 'summary' => array (),
- 'width' => array ()),
- 'tbody' => array (
- 'align' => array (),
- 'char' => array (),
- 'charoff' => array (),
- 'valign' => array ()),
- 'td' => array (
- 'abbr' => array (),
- 'align' => array (),
- 'axis' => array (),
- 'bgcolor' => array (),
- 'char' => array (),
- 'charoff' => array (),
- 'colspan' => array (),
- 'dir' => array(),
- 'headers' => array (),
- 'height' => array (),
- 'nowrap' => array (),
- 'rowspan' => array (),
- 'scope' => array (),
- 'valign' => array (),
- 'width' => array ()),
- 'textarea' => array (
- 'cols' => array (),
- 'rows' => array (),
- 'disabled' => array (),
- 'name' => array (),
- 'readonly' => array ()),
- 'tfoot' => array (
- 'align' => array (),
- 'char' => array (),
- 'charoff' => array (),
- 'valign' => array ()),
- 'th' => array (
- 'abbr' => array (),
- 'align' => array (),
- 'axis' => array (),
- 'bgcolor' => array (),
- 'char' => array (),
- 'charoff' => array (),
- 'colspan' => array (),
- 'headers' => array (),
- 'height' => array (),
- 'nowrap' => array (),
- 'rowspan' => array (),
- 'scope' => array (),
- 'valign' => array (),
- 'width' => array ()),
- 'thead' => array (
- 'align' => array (),
- 'char' => array (),
- 'charoff' => array (),
- 'valign' => array ()),
- 'title' => array (),
- 'tr' => array (
- 'align' => array (),
- 'bgcolor' => array (),
- 'char' => array (),
- 'charoff' => array (),
- 'valign' => array ()),
- 'tt' => array (),
- 'u' => array (),
- 'ul' => array (),
- 'ol' => array (),
- 'var' => array ());
- $allowedtags = array (
- 'a' => array (
- 'href' => array (),
- 'title' => array ()),
- 'abbr' => array (
- 'title' => array ()),
- 'acronym' => array (
- 'title' => array ()),
- 'b' => array (),
- 'blockquote' => array (
- 'cite' => array ()),
- // 'br' => array(),
- 'cite' => array (),
- 'code' => array (),
- 'del' => array(
- 'datetime' => array ()),
- // 'dd' => array(),
- // 'dl' => array(),
- // 'dt' => array(),
- 'em' => array (), 'i' => array (),
- // 'ins' => array('datetime' => array(), 'cite' => array()),
- // 'li' => array(),
- // 'ol' => array(),
- // 'p' => array(),
- 'q' => array(
- 'cite' => array ()),
- 'strike' => array (),
- 'strong' => array (),
- // 'sub' => array(),
- // 'sup' => array(),
- // 'u' => array(),
- // 'ul' => array(),
- );
-}
-function wp_kses($string, $allowed_html, $allowed_protocols = array ('http', 'https', 'ftp', 'news', 'nntp', 'telnet', 'feed', 'gopher', 'mailto'))
- ###############################################################################
- # This function makes sure that only the allowed HTML element names, attribute
- # names and attribute values plus only sane HTML entities will occur in
- # $string. You have to remove any slashes from PHP's magic quotes before you
- # call this function.
- ###############################################################################
- {
- $string = wp_kses_no_null($string);
- $string = wp_kses_js_entities($string);
- $string = wp_kses_normalize_entities($string);
- $string = wp_kses_hook($string);
- $allowed_html_fixed = wp_kses_array_lc($allowed_html);
- return wp_kses_split($string, $allowed_html_fixed, $allowed_protocols);
-} # function wp_kses
-
-function wp_kses_hook($string)
-###############################################################################
-# You add any kses hooks here.
-###############################################################################
-{
- $string = apply_filters('pre_kses', $string);
- return $string;
-} # function wp_kses_hook
-
-function wp_kses_version()
-###############################################################################
-# This function returns kses' version number.
-###############################################################################
-{
- return '0.2.2';
-} # function wp_kses_version
-
-function wp_kses_split($string, $allowed_html, $allowed_protocols)
-###############################################################################
-# This function searches for HTML tags, no matter how malformed. It also
-# matches stray ">" characters.
-###############################################################################
-{
- return preg_replace('%((<!--.*?(-->|$))|(<[^>]*(>|$)|>))%e',
- "wp_kses_split2('\\1', \$allowed_html, ".'$allowed_protocols)', $string);
-} # function wp_kses_split
-
-function wp_kses_split2($string, $allowed_html, $allowed_protocols)
-###############################################################################
-# This function does a lot of work. It rejects some very malformed things
-# like <:::>. It returns an empty string, if the element isn't allowed (look
-# ma, no strip_tags()!). Otherwise it splits the tag into an element and an
-# attribute list.
-###############################################################################
-{
- $string = wp_kses_stripslashes($string);
-
- if (substr($string, 0, 1) != '<')
- return '&gt;';
- # 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) )
- $string = $newstring;
- if ( $string == '' )
- return '';
- return "<!--{$string}-->";
- }
- # Allow HTML comments
-
- if (!preg_match('%^<\s*(/\s*)?([a-zA-Z0-9]+)([^>]*)>?$%', $string, $matches)) {
- wp_kses_reject(__('Seriously malformed HTML removed'));
- return '';
- # It's seriously malformed
- }
-
- $slash = trim($matches[1]);
- $elem = $matches[2];
- $attrlist = $matches[3];
-
- if (!@ is_array($allowed_html[strtolower($elem)])) {
- wp_kses_reject(sprintf(__('Removed <code>&lt;%1$s%2$s&gt</code> tag'), $slash, $elem));
- return '';
- # They are using a not allowed HTML element
- }
-
- if ($slash != '')
- return "<$slash$elem>";
- # No attributes are allowed for closing elements
-
- return wp_kses_attr("$slash$elem", $attrlist, $allowed_html, $allowed_protocols);
-} # function wp_kses_split2
-
-$kses_messages = array();
-function wp_kses_reject($message) {
- global $kses_messages;
-return; // Disabled
- if ( count($kses_messages) == 0 )
- add_action('save_post', 'wp_kses_save_message');
-
- $kses_messages[] = $message;
-
- return '';
-}
-
-function wp_kses_save_message($id) {
- global $kses_messages;
-
- foreach ( $kses_messages as $text )
- $message .= "$text\n";
-
- $kses_messages[] = "";
-
- update_option('kses_message', $message);
-}
-
-function wp_kses_show_message() {
- $message = get_option('kses_message');
-
- if ( empty($message) )
- return;
-
- echo "<div class='updated fade'>\n";
- echo nl2br($message);
- echo "</div>\n";
-
- update_option('kses_message', '');
-}
-
-
-function wp_kses_attr($element, $attr, $allowed_html, $allowed_protocols)
-###############################################################################
-# This function removes all attributes, if none are allowed for this element.
-# If some are allowed it calls wp_kses_hair() to split them further, and then it
-# builds up new HTML code from the data that kses_hair() returns. It also
-# removes "<" and ">" characters, if there are any left. One more thing it
-# does is to check if the tag has a closing XHTML slash, and if it does,
-# it puts one in the returned code as well.
-###############################################################################
-{
- # Is there a closing XHTML slash at the end of the attributes?
-
- $xhtml_slash = '';
- if (preg_match('%\s/\s*$%', $attr))
- $xhtml_slash = ' /';
-
- # Are any attributes allowed at all for this element?
-
- if (@ count($allowed_html[strtolower($element)]) == 0) {
- if ( ! empty($attr) )
- wp_kses_reject(sprintf(__('All attributes removed from &lt;%s&gt; tag'), $element));
- 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 = '';
-
- foreach ($attrarr as $arreach) {
- if (!@ isset ($allowed_html[strtolower($element)][strtolower($arreach['name'])])) {
- wp_kses_reject(sprintf(__('Attribute <code>%1$s</code> removed from <code>&lt;%2$s&gt;</code> tag'), $arreach['name'], $element));
- continue; # the attribute is not allowed
- }
-
- $current = $allowed_html[strtolower($element)][strtolower($arreach['name'])];
- if ($current == '') {
- wp_kses_reject(sprintf(__('Attribute <code>%1$s</code> removed from <code>&lt;%2$s&gt;</code> tag'), $arreach['name'], $element));
- continue; # the attribute is not allowed
- }
-
- if (!is_array($current))
- $attr2 .= ' '.$arreach['whole'];
- # there are no checks
-
- else {
- # there are some checks
- $ok = true;
- foreach ($current as $currkey => $currval)
- if (!wp_kses_check_attr_val($arreach['value'], $arreach['vless'], $currkey, $currval)) {
- wp_kses_reject(sprintf(__('Attribute <code>%1$s</code> removed from <code>&lt;%2$s&gt;</code> tag due to illegal value'), $arreach['name'], $element));
- $ok = false;
- break;
- }
-
- if ($ok)
- $attr2 .= ' '.$arreach['whole']; # it passed them
- } # if !is_array($current)
- } # foreach
-
- # Remove any "<" or ">" characters
-
- $attr2 = preg_replace('/[<>]/', '', $attr2);
-
- return "<$element$attr2$xhtml_slash>";
-} # function wp_kses_attr
-
-function wp_kses_hair($attr, $allowed_protocols)
-###############################################################################
-# This function does a lot of work. It parses an attribute list into an array
-# with attribute data, and tries to do the right thing even if it gets weird
-# input. It will add quotes around attribute values that don't have any quotes
-# or apostrophes around them, to make it easier to produce HTML code that will
-# conform to W3C's HTML specification. It will also remove bad URL protocols
-# from attribute values.
-###############################################################################
-{
- $attrarr = array ();
- $mode = 0;
- $attrname = '';
-
- # Loop through the whole attribute list
-
- while (strlen($attr) != 0) {
- $working = 0; # Was the last operation successful?
-
- switch ($mode) {
- case 0 : # attribute name, href for instance
-
- if (preg_match('/^([-a-zA-Z]+)/', $attr, $match)) {
- $attrname = $match[1];
- $working = $mode = 1;
- $attr = preg_replace('/^[-a-zA-Z]+/', '', $attr);
- }
-
- break;
-
- case 1 : # equals sign or valueless ("selected")
-
- if (preg_match('/^\s*=\s*/', $attr)) # equals sign
- {
- $working = 1;
- $mode = 2;
- $attr = preg_replace('/^\s*=\s*/', '', $attr);
- break;
- }
-
- if (preg_match('/^\s+/', $attr)) # valueless
- {
- $working = 1;
- $mode = 0;
- $attrarr[] = array ('name' => $attrname, 'value' => '', 'whole' => $attrname, 'vless' => 'y');
- $attr = preg_replace('/^\s+/', '', $attr);
- }
-
- break;
-
- case 2 : # attribute value, a URL after href= for instance
-
- if (preg_match('/^"([^"]*)"(\s+|$)/', $attr, $match))
- # "value"
- {
- $thisval = wp_kses_bad_protocol($match[1], $allowed_protocols);
-
- $attrarr[] = array ('name' => $attrname, 'value' => $thisval, 'whole' => "$attrname=\"$thisval\"", 'vless' => 'n');
- $working = 1;
- $mode = 0;
- $attr = preg_replace('/^"[^"]*"(\s+|$)/', '', $attr);
- break;
- }
-
- if (preg_match("/^'([^']*)'(\s+|$)/", $attr, $match))
- # 'value'
- {
- $thisval = wp_kses_bad_protocol($match[1], $allowed_protocols);
-
- $attrarr[] = array ('name' => $attrname, 'value' => $thisval, 'whole' => "$attrname='$thisval'", 'vless' => 'n');
- $working = 1;
- $mode = 0;
- $attr = preg_replace("/^'[^']*'(\s+|$)/", '', $attr);
- break;
- }
-
- if (preg_match("%^([^\s\"']+)(\s+|$)%", $attr, $match))
- # value
- {
- $thisval = wp_kses_bad_protocol($match[1], $allowed_protocols);
-
- $attrarr[] = array ('name' => $attrname, 'value' => $thisval, 'whole' => "$attrname=\"$thisval\"", 'vless' => 'n');
- # We add quotes to conform to W3C's HTML spec.
- $working = 1;
- $mode = 0;
- $attr = preg_replace("%^[^\s\"']+(\s+|$)%", '', $attr);
- }
-
- break;
- } # switch
-
- if ($working == 0) # not well formed, remove and try again
- {
- $attr = wp_kses_html_error($attr);
- $mode = 0;
- }
- } # while
-
- if ($mode == 1)
- # special case, for when the attribute list ends with a valueless
- # attribute like "selected"
- $attrarr[] = array ('name' => $attrname, 'value' => '', 'whole' => $attrname, 'vless' => 'y');
-
- return $attrarr;
-} # function wp_kses_hair
-
-function wp_kses_check_attr_val($value, $vless, $checkname, $checkvalue)
-###############################################################################
-# This function performs different checks for attribute values. The currently
-# implemented checks are "maxlen", "minlen", "maxval", "minval" and "valueless"
-# with even more checks to come soon.
-###############################################################################
-{
- $ok = true;
-
- switch (strtolower($checkname)) {
- case 'maxlen' :
- # The maxlen check makes sure that the attribute value has a length not
- # greater than the given value. This can be used to avoid Buffer Overflows
- # in WWW clients and various Internet servers.
-
- if (strlen($value) > $checkvalue)
- $ok = false;
- break;
-
- case 'minlen' :
- # The minlen check makes sure that the attribute value has a length not
- # smaller than the given value.
-
- if (strlen($value) < $checkvalue)
- $ok = false;
- break;
-
- case 'maxval' :
- # The maxval check does two things: it checks that the attribute value is
- # an integer from 0 and up, without an excessive amount of zeroes or
- # whitespace (to avoid Buffer Overflows). It also checks that the attribute
- # value is not greater than the given value.
- # This check can be used to avoid Denial of Service attacks.
-
- if (!preg_match('/^\s{0,6}[0-9]{1,6}\s{0,6}$/', $value))
- $ok = false;
- if ($value > $checkvalue)
- $ok = false;
- break;
-
- case 'minval' :
- # The minval check checks that the attribute value is a positive integer,
- # and that it is not smaller than the given value.
-
- if (!preg_match('/^\s{0,6}[0-9]{1,6}\s{0,6}$/', $value))
- $ok = false;
- if ($value < $checkvalue)
- $ok = false;
- break;
-
- case 'valueless' :
- # The valueless check checks if the attribute has a value
- # (like <a href="blah">) or not (<option selected>). If the given value
- # is a "y" or a "Y", the attribute must not have a value.
- # If the given value is an "n" or an "N", the attribute must have one.
-
- if (strtolower($checkvalue) != $vless)
- $ok = false;
- break;
- } # switch
-
- return $ok;
-} # function wp_kses_check_attr_val
-
-function wp_kses_bad_protocol($string, $allowed_protocols)
-###############################################################################
-# This function removes all non-allowed protocols from the beginning of
-# $string. It ignores whitespace and the case of the letters, and it does
-# understand HTML entities. It does its work in a while loop, so it won't be
-# fooled by a string like "javascript:javascript:alert(57)".
-###############################################################################
-{
- $string = wp_kses_no_null($string);
- $string2 = $string.'a';
-
- while ($string != $string2) {
- $string2 = $string;
- $string = wp_kses_bad_protocol_once($string, $allowed_protocols);
- } # while
-
- return $string;
-} # function wp_kses_bad_protocol
-
-function wp_kses_no_null($string)
-###############################################################################
-# This function removes any NULL or chr(173) characters in $string.
-###############################################################################
-{
- $string = preg_replace('/\0+/', '', $string);
- $string = preg_replace('/(\\\\0)+/', '', $string);
-
- return $string;
-} # function wp_kses_no_null
-
-function wp_kses_stripslashes($string)
-###############################################################################
-# This function changes the character sequence \" to just "
-# It leaves all other slashes alone. It's really weird, but the quoting from
-# preg_replace(//e) seems to require this.
-###############################################################################
-{
- return preg_replace('%\\\\"%', '"', $string);
-} # function wp_kses_stripslashes
-
-function wp_kses_array_lc($inarray)
-###############################################################################
-# This function goes through an array, and changes the keys to all lower case.
-###############################################################################
-{
- $outarray = array ();
-
- foreach ($inarray as $inkey => $inval) {
- $outkey = strtolower($inkey);
- $outarray[$outkey] = array ();
-
- foreach ($inval as $inkey2 => $inval2) {
- $outkey2 = strtolower($inkey2);
- $outarray[$outkey][$outkey2] = $inval2;
- } # foreach $inval
- } # foreach $inarray
-
- return $outarray;
-} # function wp_kses_array_lc
-
-function wp_kses_js_entities($string)
-###############################################################################
-# This function removes the HTML JavaScript entities found in early versions of
-# Netscape 4.
-###############################################################################
-{
- return preg_replace('%&\s*\{[^}]*(\}\s*;?|$)%', '', $string);
-} # function wp_kses_js_entities
-
-function wp_kses_html_error($string)
-###############################################################################
-# This function deals with parsing errors in wp_kses_hair(). The general plan is
-# to remove everything to and including some whitespace, but it deals with
-# quotes and apostrophes as well.
-###############################################################################
-{
- return preg_replace('/^("[^"]*("|$)|\'[^\']*(\'|$)|\S)*\s*/', '', $string);
-} # function wp_kses_html_error
-
-function wp_kses_bad_protocol_once($string, $allowed_protocols)
-###############################################################################
-# This function searches for URL protocols at the beginning of $string, while
-# handling whitespace and HTML entities.
-###############################################################################
-{
- return preg_replace('/^((&[^;]*;|[\sA-Za-z0-9])*)'.'(:|&#58;|&#[Xx]3[Aa];)\s*/e', 'wp_kses_bad_protocol_once2("\\1", $allowed_protocols)', $string);
-} # function wp_kses_bad_protocol_once
-
-function wp_kses_bad_protocol_once2($string, $allowed_protocols)
-###############################################################################
-# This function processes URL protocols, checks to see if they're in the white-
-# list or not, and returns different data depending on the answer.
-###############################################################################
-{
- $string2 = wp_kses_decode_entities($string);
- $string2 = preg_replace('/\s/', '', $string2);
- $string2 = wp_kses_no_null($string2);
- $string2 = strtolower($string2);
-
- $allowed = false;
- foreach ($allowed_protocols as $one_protocol)
- if (strtolower($one_protocol) == $string2) {
- $allowed = true;
- break;
- }
-
- if ($allowed)
- return "$string2:";
- else
- return '';
-} # function wp_kses_bad_protocol_once2
-
-function wp_kses_normalize_entities($string)
-###############################################################################
-# This function normalizes HTML entities. It will convert "AT&T" to the correct
-# "AT&amp;T", "&#00058;" to "&#58;", "&#XYZZY;" to "&amp;#XYZZY;" and so on.
-###############################################################################
-{
- # Disarm all entities by converting & to &amp;
-
- $string = str_replace('&', '&amp;', $string);
-
- # Change back the allowed entities in our entity whitelist
-
- $string = preg_replace('/&amp;([A-Za-z][A-Za-z0-9]{0,19});/', '&\\1;', $string);
- $string = preg_replace('/&amp;#0*([0-9]{1,5});/e', 'wp_kses_normalize_entities2("\\1")', $string);
- $string = preg_replace('/&amp;#([Xx])0*(([0-9A-Fa-f]{2}){1,2});/', '&#\\1\\2;', $string);
-
- return $string;
-} # function wp_kses_normalize_entities
-
-function wp_kses_normalize_entities2($i)
-###############################################################################
-# This function helps wp_kses_normalize_entities() to only accept 16 bit values
-# and nothing more for &#number; entities.
-###############################################################################
-{
- return (($i > 65535) ? "&amp;#$i;" : "&#$i;");
-} # function wp_kses_normalize_entities2
-
-function wp_kses_decode_entities($string)
-###############################################################################
-# This function decodes numeric HTML entities (&#65; and &#x41;). It doesn't
-# do anything with other entities like &auml;, but we don't need them in the
-# URL protocol whitelisting system anyway.
-###############################################################################
-{
- $string = preg_replace('/&#([0-9]+);/e', 'chr("\\1")', $string);
- $string = preg_replace('/&#[Xx]([0-9A-Fa-f]+);/e', 'chr(hexdec("\\1"))', $string);
-
- return $string;
-} # function wp_kses_decode_entities
-
-function wp_filter_kses($data) {
- global $allowedtags;
- return addslashes( wp_kses(stripslashes( $data ), $allowedtags) );
-}
-
-function wp_filter_post_kses($data) {
- global $allowedposttags;
- return addslashes ( wp_kses(stripslashes( $data ), $allowedposttags) );
-}
-
-function wp_filter_nohtml_kses($data) {
- return addslashes ( wp_kses(stripslashes( $data ), array()) );
-}
-
-function kses_init_filters() {
- // Normal filtering.
- add_filter('pre_comment_content', 'wp_filter_kses');
- add_filter('title_save_pre', 'wp_filter_kses');
-
- // Post filtering
- add_filter('content_save_pre', 'wp_filter_post_kses');
- add_filter('pre_comment_author', 'wp_filter_kses');
- add_action('admin_notices', 'wp_kses_show_message');
-}
-
-function kses_remove_filters() {
- // Normal filtering.
- remove_filter('pre_comment_content', 'wp_filter_kses');
- remove_filter('title_save_pre', 'wp_filter_kses');
-
- // Post filtering
- remove_filter('content_save_pre', 'wp_filter_post_kses');
-}
-
-function wp_filter_post_display_kses($data) {
- global $allowedposttags;
- return addslashes( wp_kses(stripslashes( $data ), $allowedtags) );
-}
-
-function kses_init() {
- kses_remove_filters();
-
- kses_init_filters();
-}
-
-add_action('init', 'kses_init');
-add_action('set_current_user', 'kses_init');
-?>
diff --git a/wp-inst/wp-includes/l10n.php b/wp-inst/wp-includes/l10n.php
deleted file mode 100644
index ba77c23..0000000
--- a/wp-inst/wp-includes/l10n.php
+++ /dev/null
@@ -1,97 +0,0 @@
-<?php
-
-if ( defined('WPLANG') && '' != constant('WPLANG') ) {
- include_once(ABSPATH . 'wp-includes/streams.php');
- include_once(ABSPATH . 'wp-includes/gettext.php');
-}
-
-function get_locale() {
- global $locale;
-
- if (isset($locale))
- return $locale;
-
- // WPLANG is defined in wp-config.
- if (defined('WPLANG'))
- $locale = WPLANG;
-
- if (empty($locale))
- $locale = 'en_US';
-
- $locale = apply_filters('locale', $locale);
-
- return $locale;
-}
-
-// Return a translated string.
-function __($text, $domain = 'default') {
- global $l10n;
-
- if (isset($l10n[$domain]))
- return apply_filters('gettext', $l10n[$domain]->translate($text), $text);
- else
- return $text;
-}
-
-// Echo a translated string.
-function _e($text, $domain = 'default') {
- global $l10n;
-
- if (isset($l10n[$domain]))
- echo apply_filters('gettext', $l10n[$domain]->translate($text), $text);
- else
- echo $text;
-}
-
-// Return the plural form.
-function __ngettext($single, $plural, $number, $domain = 'default') {
- global $l10n;
-
- if (isset($l10n[$domain])) {
- return $l10n[$domain]->ngettext($single, $plural, $number);
- } else {
- if ($number != 1)
- return $plural;
- else
- return $single;
- }
-}
-
-function load_textdomain($domain, $mofile) {
- global $l10n;
-
- if (isset($l10n[$domain]))
- return;
-
- if ( is_readable($mofile))
- $input = new CachedFileReader($mofile);
- else
- return;
-
- $l10n[$domain] = new gettext_reader($input);
-}
-
-function load_default_textdomain() {
- global $l10n;
-
- $locale = get_locale();
- $mofile = ABSPATH . "wp-includes/languages/$locale.mo";
-
- load_textdomain('default', $mofile);
-}
-
-function load_plugin_textdomain($domain, $path = 'wp-content/plugins') {
- $locale = get_locale();
-
- $mofile = ABSPATH . "$path/$domain-$locale.mo";
- load_textdomain($domain, $mofile);
-}
-
-function load_theme_textdomain($domain) {
- $locale = get_locale();
-
- $mofile = get_template_directory() . "/$locale.mo";
- load_textdomain($domain, $mofile);
-}
-
-?> \ No newline at end of file
diff --git a/wp-inst/wp-includes/link-template.php b/wp-inst/wp-includes/link-template.php
deleted file mode 100644
index 81f4d7c..0000000
--- a/wp-inst/wp-includes/link-template.php
+++ /dev/null
@@ -1,513 +0,0 @@
-<?php
-
-
-function the_permalink() {
- echo apply_filters('the_permalink', get_permalink());
-}
-
-
-function permalink_link() { // For backwards compatibility
- echo apply_filters('the_permalink', get_permalink());
-}
-
-
-function permalink_anchor($mode = 'id') {
- global $post;
- switch ( strtolower($mode) ) {
- case 'title':
- $title = sanitize_title($post->post_title) . '-' . $id;
- echo '<a id="'.$title.'"></a>';
- break;
- case 'id':
- default:
- echo '<a id="post-' . $post->ID . '"></a>';
- break;
- }
-}
-
-
-function get_permalink($id = 0) {
- $rewritecode = array(
- '%year%',
- '%monthnum%',
- '%day%',
- '%hour%',
- '%minute%',
- '%second%',
- '%postname%',
- '%post_id%',
- '%category%',
- '%author%',
- '%pagename%'
- );
-
- $post = &get_post($id);
- if ( $post->post_type == 'page' )
- return get_page_link($post->ID);
- elseif ($post->post_type == 'attachment')
- return get_attachment_link($post->ID);
-
- $permalink = get_settings('permalink_structure');
-
- if ( '' != $permalink && 'draft' != $post->post_status ) {
- $unixtime = strtotime($post->post_date);
-
- $category = '';
- if ( strstr($permalink, '%category%') ) {
- $cats = get_the_category($post->ID);
- $category = $cats[0]->category_nicename;
- if ( $parent=$cats[0]->category_parent )
- $category = get_category_parents($parent, FALSE, '/', TRUE) . $category;
- }
-
- $authordata = get_userdata($post->post_author);
- $author = $authordata->user_nicename;
- $date = explode(" ",date('Y m d H i s', $unixtime));
- $rewritereplace =
- array(
- $date[0],
- $date[1],
- $date[2],
- $date[3],
- $date[4],
- $date[5],
- $post->post_name,
- $post->ID,
- $category,
- $author,
- $post->post_name,
- );
- return apply_filters('post_link', get_settings('home') . str_replace($rewritecode, $rewritereplace, $permalink), $post);
- } else { // if they're not using the fancy permalink option
- $permalink = get_settings('home') . '/?p=' . $post->ID;
- return apply_filters('post_link', $permalink, $post);
- }
-}
-
-// get permalink from post ID
-function post_permalink($post_id = 0, $mode = '') { // $mode legacy
- return get_permalink($post_id);
-}
-
-function get_page_link($id = false) {
- global $post, $wp_rewrite;
-
- if ( !$id )
- $id = $post->ID;
-
- $pagestruct = $wp_rewrite->get_page_permastruct();
-
- if ( '' != $pagestruct && 'draft' != $post->post_status ) {
- $link = get_page_uri($id);
- $link = str_replace('%pagename%', $link, $pagestruct);
- $link = get_settings('home') . "/$link/";
- } else {
- $link = get_settings('home') . "/?page_id=$id";
- }
-
- if ( 'page' == get_option('show_on_front') && $id == get_option('page_on_front') )
- $link = get_settings('home');
-
- return apply_filters('page_link', $link, $id);
-}
-
-function get_attachment_link($id = false) {
- global $post, $wp_rewrite;
-
- $link = false;
-
- if (! $id) {
- $id = $post->ID;
- }
-
- $object = get_post($id);
- if ( $wp_rewrite->using_permalinks() && ($object->post_parent > 0) ) {
- $parent = get_post($object->post_parent);
- $parentlink = get_permalink($object->post_parent);
- if (! strstr($parentlink, '?') )
- $link = trim($parentlink, '/') . '/' . $object->post_name . '/';
- }
-
- if (! $link ) {
- $link = get_bloginfo('home') . "/?attachment_id=$id";
- }
-
- return apply_filters('attachment_link', $link, $id);
-}
-
-function get_year_link($year) {
- global $wp_rewrite;
- if ( !$year )
- $year = gmdate('Y', time()+(get_settings('gmt_offset') * 3600));
- $yearlink = $wp_rewrite->get_year_permastruct();
- if ( !empty($yearlink) ) {
- $yearlink = str_replace('%year%', $year, $yearlink);
- return apply_filters('year_link', get_settings('home') . trailingslashit($yearlink), $year);
- } else {
- return apply_filters('year_link', get_settings('home') . '/?m=' . $year, $year);
- }
-}
-
-function get_month_link($year, $month) {
- global $wp_rewrite;
- if ( !$year )
- $year = gmdate('Y', time()+(get_settings('gmt_offset') * 3600));
- if ( !$month )
- $month = gmdate('m', time()+(get_settings('gmt_offset') * 3600));
- $monthlink = $wp_rewrite->get_month_permastruct();
- if ( !empty($monthlink) ) {
- $monthlink = str_replace('%year%', $year, $monthlink);
- $monthlink = str_replace('%monthnum%', zeroise(intval($month), 2), $monthlink);
- return apply_filters('month_link', get_settings('home') . trailingslashit($monthlink), $year, $month);
- } else {
- return apply_filters('month_link', get_settings('home') . '/?m=' . $year . zeroise($month, 2), $year, $month);
- }
-}
-
-function get_day_link($year, $month, $day) {
- global $wp_rewrite;
- if ( !$year )
- $year = gmdate('Y', time()+(get_settings('gmt_offset') * 3600));
- if ( !$month )
- $month = gmdate('m', time()+(get_settings('gmt_offset') * 3600));
- if ( !$day )
- $day = gmdate('j', time()+(get_settings('gmt_offset') * 3600));
-
- $daylink = $wp_rewrite->get_day_permastruct();
- if ( !empty($daylink) ) {
- $daylink = str_replace('%year%', $year, $daylink);
- $daylink = str_replace('%monthnum%', zeroise(intval($month), 2), $daylink);
- $daylink = str_replace('%day%', zeroise(intval($day), 2), $daylink);
- return apply_filters('day_link', get_settings('home') . trailingslashit($daylink), $year, $month, $day);
- } else {
- return apply_filters('day_link', get_settings('home') . '/?m=' . $year . zeroise($month, 2) . zeroise($day, 2), $year, $month, $day);
- }
-}
-
-function get_feed_link($feed='rss2') {
- global $wp_rewrite;
- $do_perma = 0;
- $feed_url = get_settings('siteurl');
- $comment_feed_url = $feed_url;
-
- $permalink = $wp_rewrite->get_feed_permastruct();
- if ( '' != $permalink ) {
- if ( false !== strpos($feed, 'comments_') ) {
- $feed = str_replace('comments_', '', $feed);
- $permalink = $wp_rewrite->get_comment_feed_permastruct();
- }
-
- if ( 'rss2' == $feed )
- $feed = '';
-
- $permalink = str_replace('%feed%', $feed, $permalink);
- $permalink = preg_replace('#/+#', '/', "/$permalink/");
- $output = get_settings('home') . $permalink;
- } else {
- if ( false !== strpos($feed, 'comments_') )
- $feed = str_replace('comments_', 'comments-', $feed);
-
- $output = get_settings('home') . "/?feed={$feed}";
- }
-
- return apply_filters('feed_link', $output, $feed);
-}
-
-function edit_post_link($link = 'Edit This', $before = '', $after = '') {
- global $post;
-
- if ( is_attachment() )
- return;
-
- if( $post->post_type == 'page' ) {
- if ( ! current_user_can('edit_page', $post->ID) )
- return;
- $file = 'page';
- } else {
- if ( ! current_user_can('edit_post', $post->ID) )
- return;
- $file = 'post';
- }
-
- $location = get_settings('siteurl') . "/wp-admin/{$file}.php?action=edit&amp;post=$post->ID";
- echo $before . "<a href=\"$location\">$link</a>" . $after;
-}
-
-function edit_comment_link($link = 'Edit This', $before = '', $after = '') {
- global $post, $comment;
-
- if( $post->post_type == 'page' ){
- if ( ! current_user_can('edit_page', $post->ID) )
- return;
- } else {
- if ( ! current_user_can('edit_post', $post->ID) )
- return;
- }
-
- $location = get_settings('siteurl') . "/wp-admin/comment.php?action=editcomment&amp;comment=$comment->comment_ID";
- echo $before . "<a href='$location'>$link</a>" . $after;
-}
-
-// Navigation links
-
-function get_previous_post($in_same_cat = false, $excluded_categories = '') {
- global $post, $wpdb;
-
- if( !is_single() || is_attachment() )
- return null;
-
- $current_post_date = $post->post_date;
-
- $join = '';
- if ( $in_same_cat ) {
- $join = " INNER JOIN $wpdb->post2cat ON $wpdb->posts.ID= $wpdb->post2cat.post_id ";
- $cat_array = get_the_category($post->ID);
- $join .= ' AND (category_id = ' . intval($cat_array[0]->cat_ID);
- for ( $i = 1; $i < (count($cat_array)); $i++ ) {
- $join .= ' OR category_id = ' . intval($cat_array[$i]->cat_ID);
- }
- $join .= ')';
- }
-
- $sql_exclude_cats = '';
- if ( !empty($excluded_categories) ) {
- $blah = explode(' and ', $excluded_categories);
- foreach ( $blah as $category ) {
- $category = intval($category);
- $sql_cat_ids = " OR pc.category_ID = '$category'";
- }
- $posts_in_ex_cats = $wpdb->get_col("SELECT p.ID FROM $wpdb->posts p LEFT JOIN $wpdb->post2cat pc ON pc.post_id=p.ID WHERE 1 = 0 $sql_cat_ids GROUP BY p.ID");
- $posts_in_ex_cats_sql = 'AND ID NOT IN (' . implode($posts_in_ex_cats, ',') . ')';
- }
-
- return @$wpdb->get_row("SELECT ID, post_title FROM $wpdb->posts $join WHERE post_date < '$current_post_date' AND post_type = 'post' AND post_status = 'publish' $posts_in_ex_cats_sql ORDER BY post_date DESC LIMIT 1");
-}
-
-function get_next_post($in_same_cat = false, $excluded_categories = '') {
- global $post, $wpdb;
-
- if( !is_single() || is_attachment() )
- return null;
-
- $current_post_date = $post->post_date;
-
- $join = '';
- if ( $in_same_cat ) {
- $join = " INNER JOIN $wpdb->post2cat ON $wpdb->posts.ID= $wpdb->post2cat.post_id ";
- $cat_array = get_the_category($post->ID);
- $join .= ' AND (category_id = ' . intval($cat_array[0]->cat_ID);
- for ( $i = 1; $i < (count($cat_array)); $i++ ) {
- $join .= ' OR category_id = ' . intval($cat_array[$i]->cat_ID);
- }
- $join .= ')';
- }
-
- $sql_exclude_cats = '';
- if ( !empty($excluded_categories) ) {
- $blah = explode(' and ', $excluded_categories);
- foreach ( $blah as $category ) {
- $category = intval($category);
- $sql_cat_ids = " OR pc.category_ID = '$category'";
- }
- $posts_in_ex_cats = $wpdb->get_col("SELECT p.ID from $wpdb->posts p LEFT JOIN $wpdb->post2cat pc ON pc.post_id = p.ID WHERE 1 = 0 $sql_cat_ids GROUP BY p.ID");
- $posts_in_ex_cats_sql = 'AND ID NOT IN (' . implode($posts_in_ex_cats, ',') . ')';
- }
-
- return @$wpdb->get_row("SELECT ID,post_title FROM $wpdb->posts $join WHERE post_date > '$current_post_date' AND post_type = 'post' AND post_status = 'publish' $posts_in_ex_cats_sql AND ID != $post->ID ORDER BY post_date ASC LIMIT 1");
-}
-
-
-function previous_post_link($format='&laquo; %link', $link='%title', $in_same_cat = false, $excluded_categories = '') {
-
- if ( is_attachment() )
- $post = & get_post($GLOBALS['post']->post_parent);
- else
- $post = get_previous_post($in_same_cat, $excluded_categories);
-
- if ( !$post )
- return;
-
- $title = apply_filters('the_title', $post->post_title, $post);
- $string = '<a href="'.get_permalink($post->ID).'">';
- $link = str_replace('%title', $title, $link);
- $link = $pre . $string . $link . '</a>';
-
- $format = str_replace('%link', $link, $format);
-
- echo $format;
-}
-
-function next_post_link($format='%link &raquo;', $link='%title', $in_same_cat = false, $excluded_categories = '') {
- $post = get_next_post($in_same_cat, $excluded_categories);
-
- if ( !$post )
- return;
-
- $title = apply_filters('the_title', $post->post_title, $post);
- $string = '<a href="'.get_permalink($post->ID).'">';
- $link = str_replace('%title', $title, $link);
- $link = $string . $link . '</a>';
- $format = str_replace('%link', $link, $format);
-
- echo $format;
-}
-
-function get_pagenum_link($pagenum = 1) {
- global $wp_rewrite;
-
- $qstr = wp_specialchars($_SERVER['REQUEST_URI']);
-
- $page_querystring = "paged";
- $page_modstring = "page/";
- $page_modregex = "page/?";
- $permalink = 0;
-
- $home_root = parse_url(get_settings('home'));
- $home_root = $home_root['path'];
- $home_root = trailingslashit($home_root);
- $qstr = preg_replace('|^'. $home_root . '|', '', $qstr);
- $qstr = preg_replace('|^/+|', '', $qstr);
-
- $index = $_SERVER['PHP_SELF'];
- $index = preg_replace('|^'. $home_root . '|', '', $index);
- $index = preg_replace('|^/+|', '', $index);
-
- // if we already have a QUERY style page string
- if ( stristr( $qstr, $page_querystring ) ) {
- $replacement = "$page_querystring=$pagenum";
- $qstr = preg_replace("/".$page_querystring."[^\d]+\d+/", $replacement, $qstr);
- // if we already have a mod_rewrite style page string
- } elseif ( preg_match( '|'.$page_modregex.'\d+|', $qstr ) ) {
- $permalink = 1;
- $qstr = preg_replace('|'.$page_modregex.'\d+|',"$page_modstring$pagenum",$qstr);
-
- // if we don't have a page string at all ...
- // lets see what sort of URL we have...
- } else {
- // we need to know the way queries are being written
- // if there's a querystring_start (a "?" usually), it's definitely not mod_rewritten
- if ( stristr( $qstr, '?' ) ) {
- // so append the query string (using &, since we already have ?)
- $qstr .= '&amp;' . $page_querystring . '=' . $pagenum;
- // otherwise, it could be rewritten, OR just the default index ...
- } elseif( '' != get_settings('permalink_structure') && ! is_admin() ) {
- $permalink = 1;
- $index = $wp_rewrite->index;
- // If it's not a path info permalink structure, trim the index.
- if ( !$wp_rewrite->using_index_permalinks() ) {
- $qstr = preg_replace("#/*" . $index . "/*#", '/', $qstr);
- } else {
- // If using path info style permalinks, make sure the index is in
- // the URI.
- if ( strpos($qstr, $index) === false )
- $qstr = '/' . $index . $qstr;
- }
-
- $qstr = trailingslashit($qstr) . $page_modstring . $pagenum;
- } else {
- $qstr = $index . '?' . $page_querystring . '=' . $pagenum;
- }
- }
-
- $qstr = preg_replace('|^/+|', '', $qstr);
- if ( $permalink )
- $qstr = trailingslashit($qstr);
- $qstr = preg_replace('/&([^#])(?![a-z]{1,8};)/', '&#038;$1', trailingslashit( get_settings('home') ) . $qstr );
-
- // showing /page/1/ or ?paged=1 is redundant
- if ( 1 === $pagenum ) {
- $qstr = str_replace('page/1/', '', $qstr); // for mod_rewrite style
- $qstr = remove_query_arg('paged', $qstr); // for query style
- }
- return str_replace( "wp-inst/", "", $qstr );
-}
-
-function next_posts($max_page = 0) { // original by cfactor at cooltux.org
- global $paged, $pagenow;
-
- if ( !is_single() ) {
- if ( !$paged )
- $paged = 1;
- $nextpage = intval($paged) + 1;
- if ( !$max_page || $max_page >= $nextpage )
- echo get_pagenum_link($nextpage);
- }
-}
-
-function next_posts_link($label='Next Page &raquo;', $max_page=0) {
- global $paged, $wpdb;
- if ( !$max_page ) {
- $max_page = _max_num_pages();
- }
- if ( !$paged )
- $paged = 1;
- $nextpage = intval($paged) + 1;
- if ( (! is_single()) && (empty($paged) || $nextpage <= $max_page) ) {
- echo '<a href="';
- next_posts($max_page);
- echo '">'. preg_replace('/&([^#])(?![a-z]{1,8};)/', '&#038;$1', $label) .'</a>';
- }
-}
-
-
-function previous_posts() { // original by cfactor at cooltux.org
- global $paged, $pagenow;
-
- if ( !is_single() ) {
- $nextpage = intval($paged) - 1;
- if ( $nextpage < 1 )
- $nextpage = 1;
- echo get_pagenum_link($nextpage);
- }
-}
-
-
-function previous_posts_link($label='&laquo; Previous Page') {
- global $paged;
- if ( (!is_single()) && ($paged > 1) ) {
- echo '<a href="';
- previous_posts();
- echo '">'. preg_replace('/&([^#])(?![a-z]{1,8};)/', '&#038;$1', $label) .'</a>';
- }
-}
-
-function _max_num_pages() {
- static $max_num_pages;
- global $wpdb, $wp_query;
-
- if (isset($max_num_pages)) return $max_num_pages;
-
- if ( 'posts' == get_query_var('what_to_show') ) {
- preg_match('#FROM\s(.*)\sORDER BY#siU', $wp_query->request, $matches);
- $fromwhere = $matches[1];
- $numposts = $wpdb->get_var("SELECT COUNT(DISTINCT ID) FROM $fromwhere");
- $max_num_pages = ceil($numposts / get_option('posts_per_page'));
- } else {
- preg_match('#FROM\s(.*)\sORDER BY#siU', $wp_query->request, $matches);
- $fromwhere = preg_replace('/( AND )?post_date >= (\'|\")(.*?)(\'|\")( AND post_date <= (\'\")(.*?)(\'\"))?/siU', '', $matches[1]);
- $num_days = $wpdb->query("SELECT DISTINCT post_date FROM $fromwhere GROUP BY year(post_date), month(post_date), dayofmonth(post_date)");
- $max_num_pages = ceil($num_days / get_option('posts_per_page'));
- }
-
- return $max_num_pages;
-}
-
-function posts_nav_link($sep=' &#8212; ', $prelabel='&laquo; Previous Page', $nxtlabel='Next Page &raquo;') {
- if ( !is_single() ) {
- $max_num_pages = _max_num_pages();
- $paged = get_query_var('paged');
-
- //only have sep if there's both prev and next results
- if ($paged < 2 || $paged >= $max_num_pages) {
- $sep = '';
- }
-
- if ( $max_num_pages > 1 ) {
- previous_posts_link($prelabel);
- echo preg_replace('/&([^#])(?![a-z]{1,8};)/', '&#038;$1', $sep);
- next_posts_link($nxtlabel);
- }
- }
-}
-
-?>
diff --git a/wp-inst/wp-includes/locale.php b/wp-inst/wp-includes/locale.php
deleted file mode 100644
index 9fc37a4..0000000
--- a/wp-inst/wp-includes/locale.php
+++ /dev/null
@@ -1,131 +0,0 @@
-<?php
-
-// Date and Time
-
-class WP_Locale {
- var $weekday;
- var $weekday_initial;
- var $weekday_abbrev;
-
- var $month;
- var $month_abbrev;
-
- var $meridiem;
-
- function init() {
- // The Weekdays
- $this->weekday[0] = __('Sunday');
- $this->weekday[1] = __('Monday');
- $this->weekday[2] = __('Tuesday');
- $this->weekday[3] = __('Wednesday');
- $this->weekday[4] = __('Thursday');
- $this->weekday[5] = __('Friday');
- $this->weekday[6] = __('Saturday');
-
- // The first letter of each day. The _%day%_initial suffix is a hack to make
- // sure the day initials are unique.
- $this->weekday_initial[__('Sunday')] = __('S_Sunday_initial');
- $this->weekday_initial[__('Monday')] = __('M_Monday_initial');
- $this->weekday_initial[__('Tuesday')] = __('T_Tuesday_initial');
- $this->weekday_initial[__('Wednesday')] = __('W_Wednesday_initial');
- $this->weekday_initial[__('Thursday')] = __('T_Thursday_initial');
- $this->weekday_initial[__('Friday')] = __('F_Friday_initial');
- $this->weekday_initial[__('Saturday')] = __('S_Saturday_initial');
-
- foreach ($this->weekday_initial as $weekday_ => $weekday_initial_) {
- $this->weekday_initial[$weekday_] = preg_replace('/_.+_initial$/', '', $weekday_initial_);
- }
-
- // Abbreviations for each day.
- $this->weekday_abbrev[__('Sunday')] = __('Sun');
- $this->weekday_abbrev[__('Monday')] = __('Mon');
- $this->weekday_abbrev[__('Tuesday')] = __('Tue');
- $this->weekday_abbrev[__('Wednesday')] = __('Wed');
- $this->weekday_abbrev[__('Thursday')] = __('Thu');
- $this->weekday_abbrev[__('Friday')] = __('Fri');
- $this->weekday_abbrev[__('Saturday')] = __('Sat');
-
- // The Months
- $this->month['01'] = __('January');
- $this->month['02'] = __('February');
- $this->month['03'] = __('March');
- $this->month['04'] = __('April');
- $this->month['05'] = __('May');
- $this->month['06'] = __('June');
- $this->month['07'] = __('July');
- $this->month['08'] = __('August');
- $this->month['09'] = __('September');
- $this->month['10'] = __('October');
- $this->month['11'] = __('November');
- $this->month['12'] = __('December');
-
- // Abbreviations for each month. Uses the same hack as above to get around the
- // 'May' duplication.
- $this->month_abbrev[__('January')] = __('Jan_January_abbreviation');
- $this->month_abbrev[__('February')] = __('Feb_February_abbreviation');
- $this->month_abbrev[__('March')] = __('Mar_March_abbreviation');
- $this->month_abbrev[__('April')] = __('Apr_April_abbreviation');
- $this->month_abbrev[__('May')] = __('May_May_abbreviation');
- $this->month_abbrev[__('June')] = __('Jun_June_abbreviation');
- $this->month_abbrev[__('July')] = __('Jul_July_abbreviation');
- $this->month_abbrev[__('August')] = __('Aug_August_abbreviation');
- $this->month_abbrev[__('September')] = __('Sep_September_abbreviation');
- $this->month_abbrev[__('October')] = __('Oct_October_abbreviation');
- $this->month_abbrev[__('November')] = __('Nov_November_abbreviation');
- $this->month_abbrev[__('December')] = __('Dec_December_abbreviation');
-
- foreach ($this->month_abbrev as $month_ => $month_abbrev_) {
- $this->month_abbrev[$month_] = preg_replace('/_.+_abbreviation$/', '', $month_abbrev_);
- }
-
- // The Meridiems
- $this->meridiem['am'] = __('am');
- $this->meridiem['pm'] = __('pm');
- $this->meridiem['AM'] = __('AM');
- $this->meridiem['PM'] = __('PM');
- }
-
- function get_weekday($weekday_number) {
- return $this->weekday[$weekday_number];
- }
-
- function get_weekday_initial($weekday_name) {
- return $this->weekday_initial[$weekday_name];
- }
-
- function get_weekday_abbrev($weekday_name) {
- return $this->weekday_abbrev[$weekday_name];
- }
-
- function get_month($month_number) {
- return $this->month[zeroise($month_number, 2)];
- }
-
- function get_month_initial($month_name) {
- return $this->month_initial[$month_name];
- }
-
- function get_month_abbrev($month_name) {
- return $this->month_abbrev[$month_name];
- }
-
- function get_meridiem($meridiem) {
- return $this->meridiem[$meridiem];
- }
-
- // Global variables are deprecated. For backwards compatibility only.
- function register_globals() {
- $GLOBALS['weekday'] = $this->weekday;
- $GLOBALS['weekday_initial'] = $this->weekday_initial;
- $GLOBALS['weekday_abbrev'] = $this->weekday_abbrev;
- $GLOBALS['month'] = $this->month;
- $GLOBALS['month_abbrev'] = $this->month_abbrev;
- }
-
- function WP_Locale() {
- $this->init();
- $this->register_globals();
- }
-}
-
-?>
diff --git a/wp-inst/wp-includes/pluggable.php b/wp-inst/wp-includes/pluggable.php
deleted file mode 100644
index 4d6f061..0000000
--- a/wp-inst/wp-includes/pluggable.php
+++ /dev/null
@@ -1,541 +0,0 @@
-<?php
-
- /* These functions can be replaced via plugins. They are loaded after
- plugins are loaded. */
-
-if ( !function_exists('set_current_user') ) :
-function set_current_user($id, $name = '') {
- return wp_set_current_user($id, $name);
-}
-endif;
-
-if ( !function_exists('wp_set_current_user') ) :
-function wp_set_current_user($id, $name = '') {
- global $current_user;
-
- if ( isset($current_user) && ($id == $current_user->ID) )
- return $current_user;
-
- $current_user = new WP_User($id, $name);
-
- setup_userdata($current_user->ID);
-
- do_action('set_current_user');
-
- return $current_user;
-}
-endif;
-
-if ( !function_exists('wp_get_current_user') ) :
-function wp_get_current_user() {
- global $current_user;
-
- get_currentuserinfo();
-
- return $current_user;
-}
-endif;
-
-if ( !function_exists('get_currentuserinfo') ) :
-function get_currentuserinfo() {
- global $current_user;
-
- if ( defined('XMLRPC_REQUEST') && XMLRPC_REQUEST )
- return false;
-
- if ( ! empty($current_user) )
- return;
-
- if ( empty($_COOKIE[USER_COOKIE]) || empty($_COOKIE[PASS_COOKIE]) ||
- !wp_login($_COOKIE[USER_COOKIE], $_COOKIE[PASS_COOKIE], true) ) {
- wp_set_current_user(0);
- return false;
- }
-
- $user_login = $_COOKIE[USER_COOKIE];
- wp_set_current_user(0, $user_login);
-}
-endif;
-
-if ( !function_exists('get_userdata') ) :
-function get_userdata( $user_id ) {
- global $wpdb;
- $user_id = (int) $user_id;
- if ( $user_id == 0 )
- return false;
-
- $user = wp_cache_get($user_id, 'users');
-
- if ( $user )
- return $user;
-
- if ( !$user = $wpdb->get_row("SELECT * FROM $wpdb->users WHERE ID = '$user_id' LIMIT 1") )
- return false;
-
- $wpdb->hide_errors();
- $metavalues = $wpdb->get_results("SELECT meta_key, meta_value FROM $wpdb->usermeta WHERE user_id = '$user_id'");
- $wpdb->show_errors();
-
- if ($metavalues) {
- foreach ( $metavalues as $meta ) {
- @ $value = unserialize($meta->meta_value);
- if ($value === FALSE)
- $value = $meta->meta_value;
- $user->{$meta->meta_key} = $value;
-
- // We need to set user_level from meta, not row
- if ( $wpdb->prefix . 'user_level' == $meta->meta_key )
- $user->user_level = $meta->meta_value;
- } // end foreach
- } //end if
-
- // For backwards compat.
- if ( isset($user->first_name) )
- $user->user_firstname = $user->first_name;
- if ( isset($user->last_name) )
- $user->user_lastname = $user->last_name;
- if ( isset($user->description) )
- $user->user_description = $user->description;
-
- wp_cache_add($user_id, $user, 'users');
- wp_cache_add($user->user_login, $user, 'userlogins');
-
- return $user;
-}
-endif;
-
-if ( !function_exists('update_user_cache') ) :
-function update_user_cache() {
- return true;
-}
-endif;
-
-if ( !function_exists('get_userdatabylogin') ) :
-function get_userdatabylogin($user_login) {
- global $wpdb;
- $user_login = sanitize_user( $user_login );
-
- if ( empty( $user_login ) )
- return false;
-
- $userdata = wp_cache_get($user_login, 'userlogins');
- if ( $userdata )
- return $userdata;
-
- if ( !$user = $wpdb->get_row("SELECT * FROM $wpdb->users WHERE user_login = '$user_login'") )
- return false;
-
- $wpdb->hide_errors();
- $metavalues = $wpdb->get_results("SELECT meta_key, meta_value FROM $wpdb->usermeta WHERE user_id = '$user->ID'");
- $wpdb->show_errors();
-
- if ($metavalues) {
- foreach ( $metavalues as $meta ) {
- @ $value = unserialize($meta->meta_value);
- if ($value === FALSE)
- $value = $meta->meta_value;
- $user->{$meta->meta_key} = $value;
-
- // We need to set user_level from meta, not row
- if ( $wpdb->prefix . 'user_level' == $meta->meta_key )
- $user->user_level = $meta->meta_value;
- }
- }
-
- // For backwards compat.
- if ( isset($user->first_name) )
- $user->user_firstname = $user->first_name;
- if ( isset($user->last_name) )
- $user->user_lastname = $user->last_name;
- if ( isset($user->description) )
- $user->user_description = $user->description;
-
- if( is_site_admin( $user_login ) == true ) {
- $user->user_level = 10;
- $cap_key = $wpdb->prefix . 'capabilities';
- $user->{$cap_key} = array( 'administrator' => '1' );
- }
-
- wp_cache_add($user->ID, $user, 'users');
- wp_cache_add($user->user_login, $user, 'userlogins');
-
- return $user;
-
-}
-endif;
-
-if ( !function_exists('wp_mail') ) :
-function wp_mail($to, $subject, $message, $headers = '') {
- if( $headers == '' ) {
- $headers = "MIME-Version: 1.0\n" .
- "From: " . get_settings('admin_email') . "\n" .
- "Content-Type: text/plain; charset=\"" . get_settings('blog_charset') . "\"\n";
- }
-
- return @mail($to, $subject, $message, $headers);
-}
-endif;
-
-if ( !function_exists('wp_login') ) :
-function wp_login($username, $password, $already_md5 = false) {
- global $wpdb, $error;
-
- if ( '' == $username )
- return false;
-
- if ( '' == $password ) {
- $error = __('<strong>Error</strong>: The password field is empty.');
- return false;
- }
-
- $login = get_userdatabylogin($username);
- //$login = $wpdb->get_row("SELECT ID, user_login, user_pass FROM $wpdb->users WHERE user_login = '$username'");
-
- if (!$login) {
- $error = __('<strong>Error</strong>: Wrong username.');
- return false;
- } else {
- // If the password is already_md5, it has been double hashed.
- // Otherwise, it is plain text.
- if ( ($already_md5 && md5($login->user_pass) == $password) || ($login->user_login == $username && $login->user_pass == md5($password)) ) {
- return true;
- } else {
- $error = __('<strong>Error</strong>: Incorrect password.');
- $pwd = '';
- return false;
- }
- }
-}
-endif;
-
-if ( !function_exists('is_user_logged_in') ) :
-function is_user_logged_in() {
- $user = wp_get_current_user();
-
- if ( $user->id == 0 )
- return false;
-
- return true;
-}
-endif;
-
-if ( !function_exists('auth_redirect') ) :
-function auth_redirect() {
- // Checks if a user is logged in, if not redirects them to the login page
- if ( (!empty($_COOKIE[USER_COOKIE]) &&
- !wp_login($_COOKIE[USER_COOKIE], $_COOKIE[PASS_COOKIE], true)) ||
- (empty($_COOKIE[USER_COOKIE])) ) {
- nocache_headers();
-
- header('Location: ' . get_settings('siteurl') . '/wp-login.php?redirect_to=' . urlencode($_SERVER['REQUEST_URI']));
- exit();
- }
-}
-endif;
-
-if ( !function_exists('check_admin_referer') ) :
-function check_admin_referer($action = -1) {
- global $pagenow, $menu, $submenu, $parent_file, $submenu_file;;
- $adminurl = strtolower(get_settings('siteurl')).'/wp-admin';
- $referer = strtolower($_SERVER['HTTP_REFERER']);
- if ( !wp_verify_nonce($_REQUEST['_wpnonce'], $action) &&
- !(-1 == $action && strstr($referer, $adminurl)) ) {
- if ( $referer )
- $adminurl = $referer;
- $title = __('WordPress Confirmation');
- require_once(ABSPATH . '/wp-admin/admin-header.php');
- // Remove extra layer of slashes.
- $_POST = stripslashes_deep($_POST );
- if ( $_POST ) {
- $q = http_build_query($_POST);
- $q = explode( ini_get('arg_separator.output'), $q);
- $html .= "\t<form method='post' action='$pagenow'>\n";
- foreach ( (array) $q as $a ) {
- $v = substr(strstr($a, '='), 1);
- $k = substr($a, 0, -(strlen($v)+1));
- $html .= "\t\t<input type='hidden' name='" . wp_specialchars( urldecode($k), 1 ) . "' value='" . wp_specialchars( urldecode($v), 1 ) . "' />\n";
- }
- $html .= "\t\t<input type='hidden' name='_wpnonce' value='" . wp_create_nonce($action) . "' />\n";
- $html .= "\t\t<div id='message' class='confirm fade'>\n\t\t<p>" . __('Are you sure you want to do this?') . "</p>\n\t\t<p><a href='$adminurl'>" . __('No') . "</a> <input type='submit' value='" . __('Yes') . "' /></p>\n\t\t</div>\n\t</form>\n";
- } else {
- $html .= "\t<div id='message' class='confirm fade'>\n\t<p>" . __('Are you sure you want to do this?') . "</p>\n\t<p><a href='$adminurl'>" . __('No') . "</a> <a href='" . add_query_arg( '_wpnonce', wp_create_nonce($action), $_SERVER['REQUEST_URI'] ) . "'>" . __('Yes') . "</a></p>\n\t</div>\n";
- }
- $html .= "</body>\n</html>";
- echo $html;
- include_once(ABSPATH . '/wp-admin/admin-footer.php');
- die();
- }
- do_action('check_admin_referer', $action);
-}endif;
-
-if ( !function_exists('check_ajax_referer') ) :
-function check_ajax_referer() {
- $cookie = explode('; ', urldecode(empty($_POST['cookie']) ? $_GET['cookie'] : $_POST['cookie'])); // AJAX scripts must pass cookie=document.cookie
- foreach ( $cookie as $tasty ) {
- if ( false !== strpos($tasty, USER_COOKIE) )
- $user = substr(strstr($tasty, '='), 1);
- if ( false !== strpos($tasty, PASS_COOKIE) )
- $pass = substr(strstr($tasty, '='), 1);
- }
- if ( !wp_login( $user, $pass, true ) )
- die('-1');
- do_action('check_ajax_referer');
-}
-endif;
-
-// Cookie safe redirect. Works around IIS Set-Cookie bug.
-// http://support.microsoft.com/kb/q176113/
-if ( !function_exists('wp_redirect') ) :
-function wp_redirect($location) {
- global $is_IIS;
-
- $location = str_replace( array("\n", "\r"), '', $location);
-
- if ($is_IIS)
- header("Refresh: 0;url=$location");
- else
- header("Location: $location");
-}
-endif;
-
-if ( !function_exists('wp_get_cookie_login') ):
-function wp_get_cookie_login() {
- if ( empty($_COOKIE[USER_COOKIE]) || empty($_COOKIE[PASS_COOKIE]) )
- return false;
-
- return array('login' => $_COOKIE[USER_COOKIE], 'password' => $_COOKIE[PASS_COOKIE]);
-}
-
-endif;
-
-if ( !function_exists('wp_setcookie') ) :
-function wp_setcookie($username, $password, $already_md5 = false, $home = '', $siteurl = '', $remember = false) {
- if ( !$already_md5 )
- $password = md5( md5($password) ); // Double hash the password in the cookie.
-
- if ( empty($home) )
- $cookiepath = COOKIEPATH;
- else
- $cookiepath = preg_replace('|https?://[^/]+|i', '', $home . '/' );
-
- if ( empty($siteurl) ) {
- $sitecookiepath = SITECOOKIEPATH;
- $cookiehash = COOKIEHASH;
- } else {
- $sitecookiepath = preg_replace('|https?://[^/]+|i', '', $siteurl . '/' );
- $cookiehash = md5($siteurl);
- }
-
- if ( $remember )
- $expire = time() + 31536000;
- else
- $expire = 0;
-
- setcookie(USER_COOKIE, $username, $expire, $cookiepath, COOKIE_DOMAIN);
- setcookie(PASS_COOKIE, $password, $expire, $cookiepath, COOKIE_DOMAIN);
-
- if ( $cookiepath != $sitecookiepath ) {
- setcookie(USER_COOKIE, $username, $expire, $sitecookiepath, COOKIE_DOMAIN);
- setcookie(PASS_COOKIE, $password, $expire, $sitecookiepath, COOKIE_DOMAIN);
- }
-}
-endif;
-
-if ( !function_exists('wp_clearcookie') ) :
-function wp_clearcookie() {
- setcookie(USER_COOKIE, ' ', time() - 31536000, COOKIEPATH, COOKIE_DOMAIN);
- setcookie(PASS_COOKIE, ' ', time() - 31536000, COOKIEPATH, COOKIE_DOMAIN);
- setcookie(USER_COOKIE, ' ', time() - 31536000, SITECOOKIEPATH, COOKIE_DOMAIN);
- setcookie(PASS_COOKIE, ' ', time() - 31536000, SITECOOKIEPATH, COOKIE_DOMAIN);
-}
-endif;
-
-if ( ! function_exists('wp_notify_postauthor') ) :
-function wp_notify_postauthor($comment_id, $comment_type='') {
- global $wpdb;
-
- $comment = get_comment($comment_id);
- $post = get_post($comment->comment_post_ID);
- $user = get_userdata( $post->post_author );
-
- if ('' == $user->user_email) return false; // If there's no email to send the comment to
-
- $comment_author_domain = gethostbyaddr($comment->comment_author_IP);
-
- $blogname = get_settings('blogname');
-
- if ( empty( $comment_type ) ) $comment_type = 'comment';
-
- if ('comment' == $comment_type) {
- $notify_message = sprintf( __('New comment on your post #%1$s "%2$s"'), $comment->comment_post_ID, $post->post_title ) . "\r\n";
- $notify_message .= sprintf( __('Author : %1$s (IP: %2$s , %3$s)'), $comment->comment_author, $comment->comment_author_IP, $comment_author_domain ) . "\r\n";
- $notify_message .= sprintf( __('E-mail : %s'), $comment->comment_author_email ) . "\r\n";
- $notify_message .= sprintf( __('URI : %s'), $comment->comment_author_url ) . "\r\n";
- $notify_message .= sprintf( __('Whois : http://ws.arin.net/cgi-bin/whois.pl?queryinput=%s'), $comment->comment_author_IP ) . "\r\n";
- $notify_message .= __('Comment: ') . "\r\n" . $comment->comment_content . "\r\n\r\n";
- $notify_message .= __('You can see all comments on this post here: ') . "\r\n";
- $subject = sprintf( __('[%1$s] Comment: "%2$s"'), $blogname, $post->post_title );
- } elseif ('trackback' == $comment_type) {
- $notify_message = sprintf( __('New trackback on your post #%1$s "%2$s"'), $comment->comment_post_ID, $post->post_title ) . "\r\n";
- $notify_message .= sprintf( __('Website: %1$s (IP: %2$s , %3$s)'), $comment->comment_author, $comment->comment_author_IP, $comment_author_domain ) . "\r\n";
- $notify_message .= sprintf( __('URI : %s'), $comment->comment_author_url ) . "\r\n";
- $notify_message .= __('Excerpt: ') . "\r\n" . $comment->comment_content . "\r\n\r\n";
- $notify_message .= __('You can see all trackbacks on this post here: ') . "\r\n";
- $subject = sprintf( __('[%1$s] Trackback: "%2$s"'), $blogname, $post->post_title );
- } elseif ('pingback' == $comment_type) {
- $notify_message = sprintf( __('New pingback on your post #%1$s "%2$s"'), $comment->comment_post_ID, $post->post_title ) . "\r\n";
- $notify_message .= sprintf( __('Website: %1$s (IP: %2$s , %3$s)'), $comment->comment_author, $comment->comment_author_IP, $comment_author_domain ) . "\r\n";
- $notify_message .= sprintf( __('URI : %s'), $comment->comment_author_url ) . "\r\n";
- $notify_message .= __('Excerpt: ') . "\r\n" . sprintf('[...] %s [...]', $comment->comment_content ) . "\r\n\r\n";
- $notify_message .= __('You can see all pingbacks on this post here: ') . "\r\n";
- $subject = sprintf( __('[%1$s] Pingback: "%2$s"'), $blogname, $post->post_title );
- }
- $notify_message .= get_permalink($comment->comment_post_ID) . "#comments\r\n\r\n";
- $notify_message .= sprintf( __('To delete this comment, visit: %s'), get_settings('siteurl').'/wp-admin/comment.php?action=confirmdeletecomment&p='.$comment->comment_post_ID."&comment=$comment_id" ) . "\r\n";
- $notify_message .= sprintf( __('To mark this comment as spam, visit: %s'), get_settings('siteurl').'/wp-admin/comment.php?action=confirmdeletecomment&delete_type=spam&p='.$comment->comment_post_ID."&comment=$comment_id" ) . "\r\n";
-
- $admin_email = get_settings('admin_email');
-
- if ( '' == $comment->comment_author ) {
- $from = "From: \"$blogname\" <$admin_email>";
- if ( '' != $comment->comment_author_email )
- $reply_to = "Reply-To: $comment->comment_author_email";
- } else {
- $from = "From: \"$comment->comment_author\" <$admin_email>";
- if ( '' != $comment->comment_author_email )
- $reply_to = "Reply-To: \"$comment->comment_author_email\" <$comment->comment_author_email>";
- }
-
- $message_headers = "MIME-Version: 1.0\n"
- . "$from\n"
- . "Content-Type: text/plain; charset=\"" . get_settings('blog_charset') . "\"\n";
-
- if ( isset($reply_to) )
- $message_headers .= $reply_to . "\n";
-
- $notify_message = apply_filters('comment_notification_text', $notify_message, $comment_id);
- $subject = apply_filters('comment_notification_subject', $subject, $comment_id);
- $message_headers = apply_filters('comment_notification_headers', $message_headers, $comment_id);
-
- @wp_mail($user->user_email, $subject, $notify_message, $message_headers);
-
- return true;
-}
-endif;
-
-/* wp_notify_moderator
- notifies the moderator of the blog (usually the admin)
- about a new comment that waits for approval
- always returns true
- */
-if ( !function_exists('wp_notify_moderator') ) :
-function wp_notify_moderator($comment_id) {
- global $wpdb;
-
- if( get_settings( "moderation_notify" ) == 0 )
- return true;
-
- $comment = $wpdb->get_row("SELECT * FROM $wpdb->comments WHERE comment_ID='$comment_id' LIMIT 1");
- $post = $wpdb->get_row("SELECT * FROM $wpdb->posts WHERE ID='$comment->comment_post_ID' LIMIT 1");
-
- $comment_author_domain = gethostbyaddr($comment->comment_author_IP);
- $comments_waiting = $wpdb->get_var("SELECT count(comment_ID) FROM $wpdb->comments WHERE comment_approved = '0'");
-
- $notify_message = sprintf( __('A new comment on the post #%1$s "%2$s" is waiting for your approval'), $post->ID, $post->post_title ) . "\r\n";
- $notify_message .= get_permalink($comment->comment_post_ID) . "\r\n\r\n";
- $notify_message .= sprintf( __('Author : %1$s (IP: %2$s , %3$s)'), $comment->comment_author, $comment->comment_author_IP, $comment_author_domain ) . "\r\n";
- $notify_message .= sprintf( __('E-mail : %s'), $comment->comment_author_email ) . "\r\n";
- $notify_message .= sprintf( __('URI : %s'), $comment->comment_author_url ) . "\r\n";
- $notify_message .= sprintf( __('Whois : http://ws.arin.net/cgi-bin/whois.pl?queryinput=%s'), $comment->comment_author_IP ) . "\r\n";
- $notify_message .= __('Comment: ') . "\r\n" . $comment->comment_content . "\r\n\r\n";
- $notify_message .= sprintf( __('To approve this comment, visit: %s'), get_settings('siteurl').'/wp-admin/comment.php?action=mailapprovecomment&p='.$comment->comment_post_ID."&comment=$comment_id" ) . "\r\n";
- $notify_message .= sprintf( __('To delete this comment, visit: %s'), get_settings('siteurl').'/wp-admin/comment.php?action=confirmdeletecomment&p='.$comment->comment_post_ID."&comment=$comment_id" ) . "\r\n";
- $notify_message .= sprintf( __('To mark this comment as spam, visit: %s'), get_settings('siteurl').'/wp-admin/comment.php?action=confirmdeletecomment&delete_type=spam&p='.$comment->comment_post_ID."&comment=$comment_id" ) . "\r\n";
- $notify_message .= sprintf( __('Currently %s comments are waiting for approval. Please visit the moderation panel:'), $comments_waiting ) . "\r\n";
- $notify_message .= get_settings('siteurl') . "/wp-admin/moderation.php\r\n";
-
- $subject = sprintf( __('[%1$s] Please moderate: "%2$s"'), get_settings('blogname'), $post->post_title );
- $admin_email = get_settings('admin_email');
-
- $notify_message = apply_filters('comment_moderation_text', $notify_message, $comment_id);
- $subject = apply_filters('comment_moderation_subject', $subject, $comment_id);
-
- @wp_mail($admin_email, $subject, $notify_message);
-
- return true;
-}
-endif;
-
-if ( !function_exists('wp_new_user_notification') ) :
-function wp_new_user_notification($user_id, $plaintext_pass = '') {
- $user = new WP_User($user_id);
-
- $user_login = stripslashes($user->user_login);
- $user_email = stripslashes($user->user_email);
-
- $message = sprintf(__('New user registration on your blog %s:'), get_settings('blogname')) . "\r\n\r\n";
- $message .= sprintf(__('Username: %s'), $user_login) . "\r\n\r\n";
- $message .= sprintf(__('E-mail: %s'), $user_email) . "\r\n";
-
- @wp_mail(get_settings('admin_email'), sprintf(__('[%s] New User Registration'), get_settings('blogname')), $message);
-
- if ( empty($plaintext_pass) )
- return;
-
- $message = sprintf(__('Username: %s'), $user_login) . "\r\n";
- $message .= sprintf(__('Password: %s'), $plaintext_pass) . "\r\n";
- $message .= get_settings('siteurl') . "/wp-login.php\r\n";
-
- wp_mail($user_email, sprintf(__('[%s] Your username and password'), get_settings('blogname')), $message);
-
-}
-endif;
-
-if ( !function_exists('wp_verify_nonce') ) :
-function wp_verify_nonce($nonce, $action = -1) {
- $user = wp_get_current_user();
- $uid = $user->id;
-
- $i = ceil(time() / 43200);
-
- //Allow for expanding range, but only do one check if we can
- if( substr(wp_hash($i . $action . $uid), -12, 10) == $nonce || substr(wp_hash(($i - 1) . $action . $uid), -12, 10) == $nonce )
- return true;
- return false;
-}
-endif;
-
-if ( !function_exists('wp_create_nonce') ) :
-function wp_create_nonce($action = -1) {
- $user = wp_get_current_user();
- $uid = $user->id;
-
- $i = ceil(time() / 43200);
-
- return substr(wp_hash($i . $action . $uid), -12, 10);
-}
-endif;
-
-if ( !function_exists('wp_salt') ) :
-function wp_salt() {
- $salt = get_option('secret');
- if ( empty($salt) )
- $salt = DB_PASSWORD . DB_USER . DB_NAME . DB_HOST . ABSPATH;
-
- return $salt;
-}
-endif;
-
-if ( !function_exists('wp_hash') ) :
-function wp_hash($data) {
- $salt = wp_salt();
-
- if ( function_exists('hash_hmac') ) {
- return hash_hmac('md5', $data, $salt);
- } else {
- return md5($data . $salt);
- }
-}
-endif;
-
-?>
diff --git a/wp-inst/wp-includes/plugin.php b/wp-inst/wp-includes/plugin.php
deleted file mode 100644
index 266c271..0000000
--- a/wp-inst/wp-includes/plugin.php
+++ /dev/null
@@ -1,168 +0,0 @@
-<?php
-
-//
-// Filter functions, the core of the WP plugin architecture.
-//
-
-function add_filter($tag, $function_to_add, $priority = 10, $accepted_args = 1) {
- global $wp_filter;
-
- // check that we don't already have the same filter at the same priority
- if ( isset($wp_filter[$tag]["$priority"]) ) {
- foreach($wp_filter[$tag]["$priority"] as $filter) {
- // uncomment if we want to match function AND accepted_args
- // if ( $filter == array($function, $accepted_args) ) {
- if ( $filter['function'] == $function_to_add ) {
- return true;
- }
- }
- }
-
- // So the format is wp_filter['tag']['array of priorities']['array of ['array (functions, accepted_args)]']
- $wp_filter[$tag]["$priority"][] = array('function'=>$function_to_add, 'accepted_args'=>$accepted_args);
- return true;
-}
-
-function apply_filters($tag, $string) {
- global $wp_filter;
-
- $args = array_slice(func_get_args(), 2);
-
- merge_filters($tag);
-
- if ( !isset($wp_filter[$tag]) ) {
- return $string;
- }
- foreach ($wp_filter[$tag] as $priority => $functions) {
- if ( !is_null($functions) ) {
- foreach($functions as $function) {
-
- $all_args = array_merge(array($string), $args);
- $function_name = $function['function'];
- $accepted_args = $function['accepted_args'];
-
- if ( $accepted_args == 1 )
- $the_args = array($string);
- elseif ( $accepted_args > 1 )
- $the_args = array_slice($all_args, 0, $accepted_args);
- elseif ( $accepted_args == 0 )
- $the_args = NULL;
- else
- $the_args = $all_args;
-
- $string = call_user_func_array($function_name, $the_args);
- }
- }
- }
- return $string;
-}
-
-
-function merge_filters($tag) {
- global $wp_filter;
- if ( isset($wp_filter['all']) ) {
- foreach ($wp_filter['all'] as $priority => $functions) {
- if ( isset($wp_filter[$tag][$priority]) )
- $wp_filter[$tag][$priority] = array_merge($wp_filter['all'][$priority], $wp_filter[$tag][$priority]);
- else
- $wp_filter[$tag][$priority] = array_merge($wp_filter['all'][$priority], array());
- $wp_filter[$tag][$priority] = array_unique($wp_filter[$tag][$priority]);
- }
- }
-
- if ( isset($wp_filter[$tag]) )
- ksort( $wp_filter[$tag] );
-}
-
-
-
-function remove_filter($tag, $function_to_remove, $priority = 10, $accepted_args = 1) {
- global $wp_filter;
-
- // rebuild the list of filters
- if ( isset($wp_filter[$tag]["$priority"]) ) {
- $new_function_list = array();
- foreach($wp_filter[$tag]["$priority"] as $filter) {
- if ( $filter['function'] != $function_to_remove ) {
- $new_function_list[] = $filter;
- }
- }
- $wp_filter[$tag]["$priority"] = $new_function_list;
- }
- return true;
-}
-
-//
-// Action functions
-//
-
-function add_action($tag, $function_to_add, $priority = 10, $accepted_args = 1) {
- add_filter($tag, $function_to_add, $priority, $accepted_args);
-}
-
-function do_action($tag, $arg = '') {
- global $wp_filter;
- $extra_args = array_slice(func_get_args(), 2);
- if ( is_array($arg) )
- $args = array_merge($arg, $extra_args);
- else
- $args = array_merge(array($arg), $extra_args);
-
- merge_filters($tag);
-
- if ( !isset($wp_filter[$tag]) ) {
- return;
- }
- foreach ($wp_filter[$tag] as $priority => $functions) {
- if ( !is_null($functions) ) {
- foreach($functions as $function) {
-
- $function_name = $function['function'];
- $accepted_args = $function['accepted_args'];
-
- if ( $accepted_args == 1 ) {
- if ( is_array($arg) )
- $the_args = $arg;
- else
- $the_args = array($arg);
- } elseif ( $accepted_args > 1 ) {
- $the_args = array_slice($args, 0, $accepted_args);
- } elseif ( $accepted_args == 0 ) {
- $the_args = NULL;
- } else {
- $the_args = $args;
- }
-
- $string = call_user_func_array($function_name, $the_args);
- }
- }
- }
-}
-
-function remove_action($tag, $function_to_remove, $priority = 10, $accepted_args = 1) {
- remove_filter($tag, $function_to_remove, $priority, $accepted_args);
-}
-
-//
-// Functions for handling plugins.
-//
-
-function plugin_basename($file) {
- $file = preg_replace('|\\\\+|', '\\\\', $file);
- $file = preg_replace('/^.*wp-content[\\\\\/]plugins[\\\\\/]/', '', $file);
- return $file;
-}
-
-function register_activation_hook($file, $function) {
- $file = plugin_basename($file);
-
- add_action('activate_' . $file, $function);
-}
-
-function register_deactivation_hook($file, $function) {
- $file = plugin_basename($file);
-
- add_action('deactivate_' . $file, $function);
-}
-
-?>
diff --git a/wp-inst/wp-includes/post-template.php b/wp-inst/wp-includes/post-template.php
deleted file mode 100644
index 1c18980..0000000
--- a/wp-inst/wp-includes/post-template.php
+++ /dev/null
@@ -1,444 +0,0 @@
-<?php
-
-//
-// "The Loop" post functions
-//
-
-function the_ID() {
- global $id;
- echo $id;
-}
-
-
-function get_the_ID() {
- global $id;
- return $id;
-}
-
-
-function the_title($before = '', $after = '', $echo = true) {
- $title = get_the_title();
- if ( strlen($title) > 0 ) {
- $title = apply_filters('the_title', $before . $title . $after, $before, $after);
- if ( $echo )
- echo $title;
- else
- return $title;
- }
-}
-
-
-function get_the_title($id = 0) {
- $post = &get_post($id);
-
- $title = $post->post_title;
- if ( !empty($post->post_password) )
- $title = sprintf(__('Protected: %s'), $title);
-
- return $title;
-}
-
-function the_guid( $id = 0 ) {
- echo get_the_guid($id);
-}
-
-function get_the_guid( $id = 0 ) {
- $post = &get_post($id);
-
- return apply_filters('get_the_guid', $post->guid);
-}
-
-function the_content($more_link_text = '(more...)', $stripteaser = 0, $more_file = '') {
- $content = get_the_content($more_link_text, $stripteaser, $more_file);
- $content = apply_filters('the_content', $content);
- $content = str_replace(']]>', ']]&gt;', $content);
- echo $content;
-}
-
-
-function get_the_content($more_link_text = '(more...)', $stripteaser = 0, $more_file = '') {
- global $id, $post, $more, $single, $withcomments, $page, $pages, $multipage, $numpages;
- global $preview;
- global $pagenow;
- $output = '';
-
- if ( !empty($post->post_password) ) { // if there's a password
- if ( stripslashes($_COOKIE['wp-postpass_'.COOKIEHASH]) != $post->post_password ) { // and it doesn't match the cookie
- $output = get_the_password_form();
- return $output;
- }
- }
-
- if ( $more_file != '' )
- $file = $more_file;
- else
- $file = $pagenow; //$_SERVER['PHP_SELF'];
-
- $content = $pages[$page-1];
- $content = explode('<!--more-->', $content, 2);
- if ( (false !== strpos($post->post_content, '<!--noteaser-->') && ((!$multipage) || ($page==1))) )
- $stripteaser = 1;
- $teaser = $content[0];
- if ( ($more) && ($stripteaser) )
- $teaser = '';
- $output .= $teaser;
- if ( count($content) > 1 ) {
- if ( $more )
- $output .= '<a id="more-'.$id.'"></a>'.$content[1];
- else
- $output = balanceTags($output . ' <a href="'. get_permalink() . "#more-$id\">$more_link_text</a>");
- }
- if ( $preview ) // preview fix for javascript bug with foreign languages
- $output = preg_replace('/\%u([0-9A-F]{4,4})/e', "'&#'.base_convert('\\1',16,10).';'", $output);
-
- return $output;
-}
-
-
-function the_excerpt() {
- echo apply_filters('the_excerpt', get_the_excerpt());
-}
-
-
-function get_the_excerpt($fakeit = true) {
- global $id, $post;
- $output = '';
- $output = $post->post_excerpt;
- if ( !empty($post->post_password) ) { // if there's a password
- if ( $_COOKIE['wp-postpass_'.COOKIEHASH] != $post->post_password ) { // and it doesn't match the cookie
- $output = __('There is no excerpt because this is a protected post.');
- return $output;
- }
- }
-
- return apply_filters('get_the_excerpt', $output);
-}
-
-
-function wp_link_pages($args = '') {
- parse_str($args, $r);
- if ( !isset($r['before']) )
- $r['before'] = '<p>' . __('Pages:');
- if ( !isset($r['after']) )
- $r['after'] = '</p>';
- if ( !isset($r['next_or_number']) )
- $r['next_or_number'] = 'number';
- if ( !isset($r['nextpagelink']) )
- $r['nextpagelink'] = 'Next page';
- if ( !isset($r['previouspagelink']) )
- $r['previouspagelink'] = 'Previous page';
- if ( !isset($r['pagelink']) )
- $r['pagelink'] = '%';
- if ( !isset($r['more_file']) )
- $r['more_file'] = '';
-
- link_pages($r['before'], $r['after'], $r['next_or_number'], $r['nextpagelink'], $r['previouspagelink'], $r['pagelink'], $r['more_file']);
-}
-
-
-function link_pages($before='<br />', $after='<br />', $next_or_number='number', $nextpagelink='next page', $previouspagelink='previous page', $pagelink='%', $more_file='') {
- global $id, $page, $numpages, $multipage, $more, $pagenow;
- if ( $more_file != '' )
- $file = $more_file;
- else
- $file = $pagenow;
- if ( $multipage ) {
- if ( 'number' == $next_or_number ) {
- echo $before;
- for ( $i = 1; $i < ($numpages+1); $i = $i + 1 ) {
- $j = str_replace('%',"$i",$pagelink);
- echo ' ';
- if ( ($i != $page) || ((!$more) && ($page==1)) ) {
- if ( '' == get_settings('permalink_structure') )
- echo '<a href="' . get_permalink() . '&amp;page=' . $i . '">';
- else
- echo '<a href="' . trailingslashit( get_permalink() ) . $i . '/">';
- }
- echo $j;
- if ( ($i != $page) || ((!$more) && ($page==1)) )
- echo '</a>';
- }
- echo $after;
- } else {
- if ( $more ) {
- echo $before;
- $i = $page - 1;
- if ( $i && $more ) {
- if ( '' == get_settings('permalink_structure') )
- echo '<a href="' . get_permalink() . '&amp;page=' . $i . '">'.$previouspagelink.'</a>';
- else
- echo '<a href="' . get_permalink() . $i . '/">'.$previouspagelink.'</a>';
- }
- $i = $page + 1;
- if ( $i <= $numpages && $more ) {
- if ( '' == get_settings('permalink_structure') )
- echo '<a href="'.get_permalink() . '&amp;page=' . $i . '">'.$nextpagelink.'</a>';
- else
- echo '<a href="'.get_permalink().$i.'/">'.$nextpagelink.'</a>';
- }
- echo $after;
- }
- }
- }
-}
-
-
-//
-// Post-meta: Custom per-post fields.
-//
-
-
-function post_custom( $key = '' ) {
- $custom = get_post_custom();
-
- if ( 1 == count($custom[$key]) )
- return $custom[$key][0];
- else
- return $custom[$key];
-}
-
-
-// this will probably change at some point...
-function the_meta() {
- global $id, $post_meta_cache;
-
- if ( $keys = get_post_custom_keys() ) {
- echo "<ul class='post-meta'>\n";
- foreach ( $keys as $key ) {
- $keyt = trim($key);
- if ( '_' == $keyt{0} )
- continue;
- $values = array_map('trim', get_post_custom_values($key));
- $value = implode($values,', ');
- echo "<li><span class='post-meta-key'>$key:</span> $value</li>\n";
- }
- echo "</ul>\n";
- }
-}
-
-
-//
-// Pages
-//
-
-function wp_dropdown_pages($args = '') {
- if ( is_array($args) )
- $r = &$args;
- else
- parse_str($args, $r);
-
- $defaults = array('depth' => 0, 'child_of' => 0, 'selected' => 0, 'echo' => 1,
- 'name' => 'page_id', 'show_option_none' => '');
- $r = array_merge($defaults, $r);
- extract($r);
-
- $pages = get_pages($r);
- $output = '';
-
- if ( ! empty($pages) ) {
- $output = "<select name='$name'>\n";
- if ( $show_option_none )
- $output .= "\t<option value=''>$show_option_none</option>\n";
- $output .= walk_page_dropdown_tree($pages, $depth, $r);
- $output .= "</select>\n";
- }
-
- $output = apply_filters('wp_dropdown_pages', $output);
-
- if ( $echo )
- echo $output;
-
- return $output;
-}
-
-function wp_list_pages($args = '') {
- if ( is_array($args) )
- $r = &$args;
- else
- parse_str($args, $r);
-
- $defaults = array('depth' => 0, 'show_date' => '', 'date_format' => get_settings('date_format'),
- 'child_of' => 0, 'title_li' => __('Pages'), 'echo' => 1);
- $r = array_merge($defaults, $r);
-
- $output = '';
-
- // Query pages.
- $pages = get_pages($r);
-
- if ( !empty($pages) ) {
- if ( $r['title_li'] )
- $output .= '<li class="pagenav">' . $r['title_li'] . '<ul>';
-
- global $wp_query;
- $current_page = $wp_query->get_queried_object_id();
- $output .= walk_page_tree($pages, $r['depth'], $current_page, $r['show_date'], $r['date_format']);
-
- if ( $r['title_li'] )
- $output .= '</ul></li>';
- }
-
- $output = apply_filters('wp_list_pages', $output);
-
- if ( $r['echo'] )
- echo $output;
- else
- return $output;
-}
-
-//
-// Page helpers
-//
-
-function walk_page_tree() {
- $walker = new Walker_Page;
- $args = func_get_args();
- return call_user_func_array(array(&$walker, 'walk'), $args);
-}
-
-function walk_page_dropdown_tree() {
- $walker = new Walker_PageDropdown;
- $args = func_get_args();
- return call_user_func_array(array(&$walker, 'walk'), $args);
-}
-
-//
-// Attachments
-//
-
-function the_attachment_link($id = 0, $fullsize = false, $max_dims = false) {
- echo get_the_attachment_link($id, $fullsize, $max_dims);
-}
-
-function get_the_attachment_link($id = 0, $fullsize = false, $max_dims = false) {
- $id = (int) $id;
- $_post = & get_post($id);
-
- if ( ('attachment' != $_post->post_type) || ('' == $_post->guid) )
- return __('Missing Attachment');
-
- if (! empty($_post->guid) ) {
- $innerHTML = get_attachment_innerHTML($_post->ID, $fullsize, $max_dims);
-
- return "<a href=\"{$_post->guid}\" title=\"{$_post->post_title}\" >{$innerHTML}</a>";
-
- } else {
- $p .= __('Missing attachment');
- }
- return $p;
-}
-
-function get_attachment_icon($id = 0, $fullsize = false, $max_dims = false) {
- $id = (int) $id;
- $post = & get_post($id);
-
- $mime = $post->post_mime_type;
-
- $imagedata = get_post_meta($post->ID, '_wp_attachment_metadata', true);
-
- $file = get_post_meta($post->ID, '_wp_attached_file', true);
-
- if ( !$fullsize && !empty($imagedata['thumb'])
- && ($thumbfile = str_replace(basename($file), $imagedata['thumb'], $file))
- && file_exists($thumbfile) ) {
-
- // We have a thumbnail desired, specified and existing
-
- $src = str_replace(basename($post->guid), $imagedata['thumb'], $post->guid);
- $src_file = $thumbfile;
- $class = 'attachmentthumb';
-
- } elseif ( substr($mime, 0, 6) == 'image/'
- && file_exists($file) ) {
-
- // We have an image without a thumbnail
-
- $src = $post->guid;
- $src_file = & $file;
- $class = 'attachmentimage';
- } elseif (! empty($mime) ) {
-
- // No thumb, no image. We'll look for a mime-related icon instead.
- $icon_dir = apply_filters('icon_dir', get_template_directory().'/images');
- $icon_dir_uri = apply_filters('icon_dir_uri', get_template_directory_uri().'/images');
-
- $types = array(substr($mime, 0, strpos($mime, '/')), substr($mime, strpos($mime, '/') + 1), str_replace('/', '_', $mime));
- $exts = array('jpg', 'gif', 'png');
- foreach ($types as $type) {
- foreach ($exts as $ext) {
- $src_file = "$icon_dir/$type.$ext";
- if ( file_exists($src_file) ) {
- $src = "$icon_dir_uri/$type.$ext";
- break 2;
- }
- }
- }
- }
-
- if (! isset($src) )
- return false;
-
- // Do we need to constrain the image?
- if ( ($max_dims = apply_filters('attachment_max_dims', $max_dims)) && file_exists($src_file) ) {
-
- $imagesize = getimagesize($src_file);
-
- if (($imagesize[0] > $max_dims[0]) || $imagesize[1] > $max_dims[1] ) {
- $actual_aspect = $imagesize[0] / $imagesize[1];
- $desired_aspect = $max_dims[0] / $max_dims[1];
-
- if ( $actual_aspect >= $desired_aspect ) {
- $height = $actual_aspect * $max_dims[0];
- $constraint = "width=\"{$max_dims[0]}\" ";
- $post->iconsize = array($max_dims[0], $height);
- } else {
- $width = $max_dims[1] / $actual_aspect;
- $constraint = "height=\"{$max_dims[1]}\" ";
- $post->iconsize = array($width, $max_dims[1]);
- }
- } else {
- $post->iconsize = array($imagesize[0], $imagesize[1]);
- }
- }
-
- $icon = "<img src=\"{$src}\" title=\"{$post->post_title}\" alt=\"{$post->post_title}\" {$constraint}/>";
-
- return apply_filters('attachment_icon', $icon, $post->ID);
-}
-
-function get_attachment_innerHTML($id = 0, $fullsize = false, $max_dims = false) {
- $id = (int) $id;
-
- if ( $innerHTML = get_attachment_icon($id, $fullsize, $max_dims))
- return $innerHTML;
-
- $post = & get_post($id);
-
- $innerHTML = $post->post_title;
-
- return apply_filters('attachment_innerHTML', $innerHTML, $post->ID);
-}
-
-function prepend_attachment($content) {
- $p = '<p class="attachment">';
- $p .= get_the_attachment_link(false, true, array(400, 300));
- $p .= '</p>';
- $p = apply_filters('prepend_attachment', $p);
-
- return "$p\n$content";
-}
-
-//
-// Misc
-//
-
-function get_the_password_form() {
- $output = '<form action="' . get_settings('siteurl') . '/wp-pass.php" method="post">
- <p>' . __("This post is password protected. To view it please enter your password below:") . '</p>
- <p><label>' . __("Password:") . ' <input name="post_password" type="password" size="20" /></label> <input type="submit" name="Submit" value="' . __("Submit") . '" /></p>
- </form>
- ';
- return $output;
-}
-
-?>
diff --git a/wp-inst/wp-includes/post.php b/wp-inst/wp-includes/post.php
deleted file mode 100644
index ce1a227..0000000
--- a/wp-inst/wp-includes/post.php
+++ /dev/null
@@ -1,1302 +0,0 @@
-<?php
-
-//
-// Post functions
-//
-
-function get_attached_file($attachment_id) {
- return get_post_meta($attachment_id, '_wp_attached_file', true);
-}
-
-function &get_children($post = 0, $output = OBJECT) {
- global $post_cache, $wpdb;
-
- if ( empty($post) ) {
- if ( isset($GLOBALS['post']) )
- $post_parent = & $GLOBALS['post']->post_parent;
- else
- return false;
- } elseif ( is_object($post) ) {
- $post_parent = $post->post_parent;
- } else {
- $post_parent = $post;
- }
-
- $post_parent = (int) $post_parent;
-
- $query = "SELECT * FROM $wpdb->posts WHERE post_parent = $post_parent";
-
- $children = $wpdb->get_results($query);
-
- if ( $children ) {
- foreach ( $children as $key => $child ) {
- $post_cache[$child->ID] =& $children[$key];
- $kids[$child->ID] =& $children[$key];
- }
- } else {
- return false;
- }
-
- if ( $output == OBJECT ) {
- return $kids;
- } elseif ( $output == ARRAY_A ) {
- foreach ( $kids as $kid )
- $weeuns[$kid->ID] = get_object_vars($kids[$kid->ID]);
- return $weeuns;
- } elseif ( $output == ARRAY_N ) {
- foreach ( $kids as $kid )
- $babes[$kid->ID] = array_values(get_object_vars($kids[$kid->ID]));
- return $babes;
- } else {
- return $kids;
- }
-}
-
-// get extended entry info (<!--more-->)
-function get_extended($post) {
- list($main,$extended) = explode('<!--more-->', $post, 2);
-
- // Strip leading and trailing whitespace
- $main = preg_replace('/^[\s]*(.*)[\s]*$/','\\1',$main);
- $extended = preg_replace('/^[\s]*(.*)[\s]*$/','\\1',$extended);
-
- return array('main' => $main, 'extended' => $extended);
-}
-
-// Retrieves post data given a post ID or post object.
-// Handles post caching.
-function &get_post(&$post, $output = OBJECT) {
- global $post_cache, $wpdb;
-
- if ( empty($post) ) {
- if ( isset($GLOBALS['post']) )
- $_post = & $GLOBALS['post'];
- else
- $_post = null;
- } elseif ( is_object($post) ) {
- if ( 'page' == $post->post_type )
- return get_page($post, $output);
- if ( !isset($post_cache[$post->ID]) )
- $post_cache[$post->ID] = &$post;
- $_post = & $post_cache[$post->ID];
- } else {
- if ( $_post = wp_cache_get($post, 'pages') )
- return get_page($_post, $output);
- elseif ( isset($post_cache[$post]) )
- $_post = & $post_cache[$post];
- else {
- $query = "SELECT * FROM $wpdb->posts WHERE ID = '$post' LIMIT 1";
- $_post = & $wpdb->get_row($query);
- if ( 'page' == $_post->post_type )
- return get_page($_post, $output);
- $post_cache[$post] = & $_post;
- }
- }
-
- if ( defined(WP_IMPORTING) )
- unset($post_cache);
-
- if ( $output == OBJECT ) {
- return $_post;
- } elseif ( $output == ARRAY_A ) {
- return get_object_vars($_post);
- } elseif ( $output == ARRAY_N ) {
- return array_values(get_object_vars($_post));
- } else {
- return $_post;
- }
-}
-
-// Takes a post ID, returns its mime type.
-function get_post_mime_type($ID = '') {
- $post = & get_post($ID);
-
- if ( is_object($post) )
- return $post->post_mime_type;
-
- return false;
-}
-
-function get_post_status($ID = '') {
- $post = get_post($ID);
-
- if ( is_object($post) ) {
- if ( ('attachment' == $post->post_type) && $post->post_parent && ($post->ID != $post->post_parent) )
- return get_post_status($post->post_parent);
- else
- return $post->post_status;
- }
-
- return false;
-}
-
-function get_post_type($post = false) {
- global $wpdb, $posts;
-
- if ( false === $post )
- $post = $posts[0];
- elseif ( (int) $post )
- $post = get_post($post, OBJECT);
-
- if ( is_object($post) )
- return $post->post_type;
-
- return false;
-}
-
-function get_posts($args) {
- global $wpdb;
-
- if ( is_array($args) )
- $r = &$args;
- else
- parse_str($args, $r);
-
- $defaults = array('numberposts' => 5, 'offset' => 0, 'category' => '',
- 'orderby' => 'post_date', 'order' => 'DESC', 'include' => '', 'exclude' => '', 'meta_key' => '', 'meta_value' =>'');
- $r = array_merge($defaults, $r);
- extract($r);
-
- $inclusions = '';
- if ( !empty($include) ) {
- $offset = 0; //ignore offset, category, exclude, meta_key, and meta_value params if using include
- $category = '';
- $exclude = '';
- $meta_key = '';
- $meta_value = '';
- $incposts = preg_split('/[\s,]+/',$include);
- $numberposts = count($incposts); // only the number of posts included
- if ( count($incposts) ) {
- foreach ( $incposts as $incpost ) {
- if (empty($inclusions))
- $inclusions = ' AND ( ID = ' . intval($incpost) . ' ';
- else
- $inclusions .= ' OR ID = ' . intval($incpost) . ' ';
- }
- }
- }
- if (!empty($inclusions))
- $inclusions .= ')';
-
- $exclusions = '';
- if ( !empty($exclude) ) {
- $exposts = preg_split('/[\s,]+/',$exclude);
- if ( count($exposts) ) {
- foreach ( $exposts as $expost ) {
- if (empty($exclusions))
- $exclusions = ' AND ( ID <> ' . intval($expost) . ' ';
- else
- $exclusions .= ' AND ID <> ' . intval($expost) . ' ';
- }
- }
- }
- if (!empty($exclusions))
- $exclusions .= ')';
-
- $query ="SELECT DISTINCT * FROM $wpdb->posts " ;
- $query .= ( empty( $category ) ? "" : ", $wpdb->post2cat " ) ;
- $query .= ( empty( $meta_key ) ? "" : ", $wpdb->postmeta " ) ;
- $query .= " WHERE (post_type = 'post' AND post_status = 'publish') $exclusions $inclusions " ;
- $query .= ( empty( $category ) ? "" : "AND ($wpdb->posts.ID = $wpdb->post2cat.post_id AND $wpdb->post2cat.category_id = " . $category. ") " ) ;
- $query .= ( empty( $meta_key ) | empty($meta_value) ? "" : " AND ($wpdb->posts.ID = $wpdb->postmeta.post_id AND $wpdb->postmeta.meta_key = '$meta_key' AND $wpdb->postmeta.meta_value = '$meta_value' )" ) ;
- $query .= " GROUP BY $wpdb->posts.ID ORDER BY " . $orderby . " " . $order . " LIMIT " . $offset . ',' . $numberposts ;
-
- $posts = $wpdb->get_results($query);
-
- update_post_caches($posts);
-
- return $posts;
-}
-
-//
-// Post meta functions
-//
-
-function add_post_meta($post_id, $key, $value, $unique = false) {
- global $wpdb, $post_meta_cache;
-
- if ( $unique ) {
- if ( $wpdb->get_var("SELECT meta_key FROM $wpdb->postmeta WHERE meta_key
-= '$key' AND post_id = '$post_id'") ) {
- return false;
- }
- }
-
- $original = $value;
- if ( is_array($value) || is_object($value) )
- $value = $wpdb->escape(serialize($value));
-
- $wpdb->query("INSERT INTO $wpdb->postmeta (post_id,meta_key,meta_value) VALUES ('$post_id','$key','$value')");
-
- $post_meta_cache['$post_id'][$key][] = $original;
-
- return true;
-}
-
-function delete_post_meta($post_id, $key, $value = '') {
- global $wpdb, $post_meta_cache;
-
- if ( empty($value) ) {
- $meta_id = $wpdb->get_var("SELECT meta_id FROM $wpdb->postmeta WHERE
-post_id = '$post_id' AND meta_key = '$key'");
- } else {
- $meta_id = $wpdb->get_var("SELECT meta_id FROM $wpdb->postmeta WHERE
-post_id = '$post_id' AND meta_key = '$key' AND meta_value = '$value'");
- }
-
- if ( !$meta_id )
- return false;
-
- if ( empty($value) ) {
- $wpdb->query("DELETE FROM $wpdb->postmeta WHERE post_id = '$post_id'
-AND meta_key = '$key'");
- unset($post_meta_cache['$post_id'][$key]);
- } else {
- $wpdb->query("DELETE FROM $wpdb->postmeta WHERE post_id = '$post_id'
-AND meta_key = '$key' AND meta_value = '$value'");
- $cache_key = $post_meta_cache['$post_id'][$key];
- if ($cache_key) foreach ( $cache_key as $index => $data )
- if ( $data == $value )
- unset($post_meta_cache['$post_id'][$key][$index]);
- }
-
- unset($post_meta_cache['$post_id'][$key]);
-
- return true;
-}
-
-function get_post_meta($post_id, $key, $single = false) {
- global $wpdb, $post_meta_cache;
-
- if ( isset($post_meta_cache[$post_id][$key]) ) {
- if ( $single ) {
- return maybe_unserialize( $post_meta_cache[$post_id][$key][0] );
- } else {
- return maybe_unserialize( $post_meta_cache[$post_id][$key] );
- }
- }
-
- $metalist = $wpdb->get_results("SELECT meta_value FROM $wpdb->postmeta WHERE post_id = '$post_id' AND meta_key = '$key'", ARRAY_N);
-
- $values = array();
- if ( $metalist ) {
- foreach ($metalist as $metarow) {
- $values[] = $metarow[0];
- }
- }
-
- if ( $single ) {
- if ( count($values) ) {
- $return = maybe_unserialize( $values[0] );
- } else {
- return '';
- }
- } else {
- $return = $values;
- }
-
- return maybe_unserialize($return);
-}
-
-function update_post_meta($post_id, $key, $value, $prev_value = '') {
- global $wpdb, $post_meta_cache;
-
- $original_value = $value;
- if ( is_array($value) || is_object($value) )
- $value = $wpdb->escape(serialize($value));
-
- $original_prev = $prev_value;
- if ( is_array($prev_value) || is_object($prev_value) )
- $prev_value = $wpdb->escape(serialize($prev_value));
-
- if (! $wpdb->get_var("SELECT meta_key FROM $wpdb->postmeta WHERE meta_key
-= '$key' AND post_id = '$post_id'") ) {
- return false;
- }
-
- if ( empty($prev_value) ) {
- $wpdb->query("UPDATE $wpdb->postmeta SET meta_value = '$value' WHERE
-meta_key = '$key' AND post_id = '$post_id'");
- $cache_key = $post_meta_cache['$post_id'][$key];
- if ( !empty($cache_key) )
- foreach ($cache_key as $index => $data)
- $post_meta_cache['$post_id'][$key][$index] = $original_value;
- } else {
- $wpdb->query("UPDATE $wpdb->postmeta SET meta_value = '$value' WHERE
-meta_key = '$key' AND post_id = '$post_id' AND meta_value = '$prev_value'");
- $cache_key = $post_meta_cache['$post_id'][$key];
- if ( !empty($cache_key) )
- foreach ($cache_key as $index => $data)
- if ( $data == $original_prev )
- $post_meta_cache['$post_id'][$key][$index] = $original_value;
- }
-
- return true;
-}
-
-
-function get_post_custom( $post_id = 0 ) {
- global $id, $post_meta_cache, $wpdb;
-
- if ( ! $post_id )
- $post_id = $id;
-
- if ( isset($post_meta_cache[$post_id]) )
- return $post_meta_cache[$post_id];
-
- if ( $meta_list = $wpdb->get_results("SELECT post_id, meta_key, meta_value FROM $wpdb->postmeta WHERE post_id = '$post_id' ORDER BY post_id, meta_key", ARRAY_A) ) {
- // Change from flat structure to hierarchical:
- $post_meta_cache = array();
- foreach ( $meta_list as $metarow ) {
- $mpid = $metarow['post_id'];
- $mkey = $metarow['meta_key'];
- $mval = $metarow['meta_value'];
-
- // Force subkeys to be array type:
- if ( !isset($post_meta_cache[$mpid]) || !is_array($post_meta_cache[$mpid]) )
- $post_meta_cache[$mpid] = array();
-
- if ( !isset($post_meta_cache[$mpid]["$mkey"]) || !is_array($post_meta_cache[$mpid]["$mkey"]) )
- $post_meta_cache[$mpid]["$mkey"] = array();
-
- // Add a value to the current pid/key:
- $post_meta_cache[$mpid][$mkey][] = $mval;
- }
- return $post_meta_cache[$mpid];
- }
-}
-
-function get_post_custom_keys( $post_id = 0 ) {
- $custom = get_post_custom( $post_id );
-
- if ( ! is_array($custom) )
- return;
-
- if ( $keys = array_keys($custom) )
- return $keys;
-}
-
-
-function get_post_custom_values( $key = '', $post_id = 0 ) {
- $custom = get_post_custom($post_id);
-
- return $custom[$key];
-}
-
-function wp_delete_post($postid = 0) {
- global $wpdb, $wp_rewrite;
- $postid = (int) $postid;
-
- if ( !$post = $wpdb->get_row("SELECT * FROM $wpdb->posts WHERE ID = $postid") )
- return $post;
-
- if ( 'attachment' == $post->post_type )
- return wp_delete_attachment($postid);
-
- do_action('delete_post', $postid);
-
- if ( 'publish' == $post->post_status && 'post' == $post->post_type ) {
- $categories = wp_get_post_categories($post->ID);
- if( is_array( $categories ) ) {
- foreach ( $categories as $cat_id ) {
- $wpdb->query("UPDATE $wpdb->categories SET category_count = category_count - 1 WHERE cat_ID = '$cat_id'");
- wp_cache_delete($cat_id, 'category');
- }
- }
- }
-
- if ( 'page' == $post->post_type )
- $wpdb->query("UPDATE $wpdb->posts SET post_parent = $post->post_parent WHERE post_parent = $postid AND post_type = 'page'");
-
- $wpdb->query("DELETE FROM $wpdb->posts WHERE ID = $postid");
-
- $wpdb->query("DELETE FROM $wpdb->comments WHERE comment_post_ID = $postid");
-
- $wpdb->query("DELETE FROM $wpdb->post2cat WHERE post_id = $postid");
-
- $wpdb->query("DELETE FROM $wpdb->postmeta WHERE post_id = $postid");
-
- if ( 'page' == $post->type ) {
- wp_cache_delete('all_page_ids', 'pages');
- $wp_rewrite->flush_rules();
- }
-
- return $post;
-}
-
-function wp_get_post_categories($post_ID = 0) {
- global $wpdb;
-
- $post_ID = (int) $post_ID;
-
- $sql = "SELECT category_id
- FROM $wpdb->post2cat
- WHERE post_id = '$post_ID'
- ORDER BY category_id";
-
- $result = $wpdb->get_col($sql);
-
- if ( !$result )
- $result = array();
-
- return array_unique($result);
-}
-
-function wp_get_recent_posts($num = 10) {
- global $wpdb;
-
- // Set the limit clause, if we got a limit
- if ($num) {
- $limit = "LIMIT $num";
- }
-
- $sql = "SELECT * FROM $wpdb->posts WHERE post_type = 'post' ORDER BY post_date DESC $limit";
- $result = $wpdb->get_results($sql,ARRAY_A);
-
- return $result?$result:array();
-}
-
-function wp_get_single_post($postid = 0, $mode = OBJECT) {
- global $wpdb;
-
- $post = get_post($postid, $mode);
-
- // Set categories
- if($mode == OBJECT) {
- $post->post_category = wp_get_post_categories($postid);
- }
- else {
- $post['post_category'] = wp_get_post_categories($postid);
- }
-
- return $post;
-}
-
-function wp_insert_post($postarr = array()) {
- global $wpdb, $wp_rewrite, $allowedtags, $user_ID;
-
- if ( is_object($postarr) )
- $postarr = get_object_vars($postarr);
-
- // export array as variables
- extract($postarr);
-
- // Are we updating or creating?
- $update = false;
- if ( !empty($ID) ) {
- $update = true;
- $post = & get_post($ID);
- $previous_status = $post->post_status;
- }
-
- // Get the basics.
- $post_content = apply_filters('content_save_pre', $post_content);
- $post_excerpt = apply_filters('excerpt_save_pre', $post_excerpt);
- $post_title = apply_filters('title_save_pre', $post_title);
- $post_category = apply_filters('category_save_pre', $post_category);
- $post_status = apply_filters('status_save_pre', $post_status);
- $post_name = apply_filters('name_save_pre', $post_name);
- $comment_status = apply_filters('comment_status_pre', $comment_status);
- $ping_status = apply_filters('ping_status_pre', $ping_status);
-
- // Make sure we set a valid category
- if (0 == count($post_category) || !is_array($post_category)) {
- $post_category = array(get_option('default_category'));
- }
- $post_cat = $post_category[0];
-
- if ( empty($post_author) )
- $post_author = $user_ID;
-
- if ( empty($post_status) )
- $post_status = 'draft';
-
- if ( empty($post_type) )
- $post_type = 'post';
-
- // Get the post ID.
- if ( $update )
- $post_ID = $ID;
-
- // Create a valid post name. Drafts are allowed to have an empty
- // post name.
- if ( empty($post_name) ) {
- if ( 'draft' != $post_status )
- $post_name = sanitize_title($post_title);
- } else {
- $post_name = sanitize_title($post_name);
- }
-
-
- // If the post date is empty (due to having been new or a draft) and status is not 'draft', set date to now
- if (empty($post_date)) {
- if ( 'draft' != $post_status )
- $post_date = current_time('mysql');
- }
-
- if (empty($post_date_gmt)) {
- if ( 'draft' != $post_status )
- $post_date_gmt = get_gmt_from_date($post_date);
- }
-
- if ( 'publish' == $post_status ) {
- $now = gmdate('Y-m-d H:i:59');
- if ( mysql2date('U', $post_date_gmt) > mysql2date('U', $now) )
- $post_status = 'future';
- }
-
- if ( empty($comment_status) ) {
- if ( $update )
- $comment_status = 'closed';
- else
- $comment_status = get_settings('default_comment_status');
- }
- if ( empty($ping_status) )
- $ping_status = get_settings('default_ping_status');
- if ( empty($post_pingback) )
- $post_pingback = get_option('default_pingback_flag');
-
- if ( isset($to_ping) )
- $to_ping = preg_replace('|\s+|', "\n", $to_ping);
- else
- $to_ping = '';
-
- if ( ! isset($pinged) )
- $pinged = '';
-
- if ( isset($post_parent) )
- $post_parent = (int) $post_parent;
- else
- $post_parent = 0;
-
- if ( isset($menu_order) )
- $menu_order = (int) $menu_order;
- else
- $menu_order = 0;
-
- if ( !isset($post_password) )
- $post_password = '';
-
- if ( 'draft' != $post_status ) {
- $post_name_check = $wpdb->get_var("SELECT post_name FROM $wpdb->posts WHERE post_name = '$post_name' AND post_type = '$post_type' AND ID != '$post_ID' AND post_parent = '$post_parent' LIMIT 1");
-
- if ($post_name_check) {
- $suffix = 2;
- while ($post_name_check) {
- $alt_post_name = $post_name . "-$suffix";
- $post_name_check = $wpdb->get_var("SELECT post_name FROM $wpdb->posts WHERE post_name = '$alt_post_name' AND post_type = '$post_type' AND ID != '$post_ID' AND post_parent = '$post_parent' LIMIT 1");
- $suffix++;
- }
- $post_name = $alt_post_name;
- }
- }
-
- if ($update) {
- $wpdb->query(
- "UPDATE IGNORE $wpdb->posts SET
- post_author = '$post_author',
- post_date = '$post_date',
- post_date_gmt = '$post_date_gmt',
- post_content = '$post_content',
- post_content_filtered = '$post_content_filtered',
- post_title = '$post_title',
- post_excerpt = '$post_excerpt',
- post_status = '$post_status',
- post_type = '$post_type',
- comment_status = '$comment_status',
- ping_status = '$ping_status',
- post_password = '$post_password',
- post_name = '$post_name',
- to_ping = '$to_ping',
- pinged = '$pinged',
- post_modified = '".current_time('mysql')."',
- post_modified_gmt = '".current_time('mysql',1)."',
- post_parent = '$post_parent',
- menu_order = '$menu_order'
- WHERE ID = $post_ID");
- } else {
- $wpdb->query(
- "INSERT IGNORE INTO $wpdb->posts
- (post_author, post_date, post_date_gmt, post_content, post_content_filtered, post_title, post_excerpt, post_status, post_type, comment_status, ping_status, post_password, post_name, to_ping, pinged, post_modified, post_modified_gmt, post_parent, menu_order, post_mime_type)
- VALUES
- ('$post_author', '$post_date', '$post_date_gmt', '$post_content', '$post_content_filtered', '$post_title', '$post_excerpt', '$post_status', '$post_type', '$comment_status', '$ping_status', '$post_password', '$post_name', '$to_ping', '$pinged', '$post_date', '$post_date_gmt', '$post_parent', '$menu_order', '$post_mime_type')");
- $post_ID = $wpdb->insert_id;
- }
-
- if ( empty($post_name) && 'draft' != $post_status ) {
- $post_name = sanitize_title($post_title, $post_ID);
- $wpdb->query( "UPDATE $wpdb->posts SET post_name = '$post_name' WHERE ID = '$post_ID'" );
- }
-
- wp_set_post_categories($post_ID, $post_category);
-
- if ( 'page' == $post_type ) {
- clean_page_cache($post_ID);
- wp_cache_delete($post_ID, 'pages');
- } else {
- clean_post_cache($post_ID);
- }
-
- // Set GUID
- if ( ! $update )
- $wpdb->query("UPDATE $wpdb->posts SET guid = '" . get_permalink($post_ID) . "' WHERE ID = '$post_ID'");
-
- if ( $update) {
- if ($previous_status != 'publish' && $post_status == 'publish') {
- // Reset GUID if transitioning to publish.
- $wpdb->query("UPDATE $wpdb->posts SET guid = '" . get_permalink($post_ID) . "' WHERE ID = '$post_ID'");
- do_action('private_to_published', $post_ID);
- }
-
- do_action('edit_post', $post_ID);
- }
-
- if ($post_status == 'publish' && $post_type == 'post') {
- do_action('publish_post', $post_ID);
-
- if ( !defined('WP_IMPORTING') ) {
- if ( $post_pingback )
- $result = $wpdb->query("
- INSERT INTO $wpdb->postmeta
- (post_id,meta_key,meta_value)
- VALUES ('$post_ID','_pingme','1')
- ");
- $result = $wpdb->query("
- INSERT INTO $wpdb->postmeta
- (post_id,meta_key,meta_value)
- VALUES ('$post_ID','_encloseme','1')
- ");
- wp_schedule_single_event(time(), 'do_pings');
- }
- } else if ($post_type == 'page') {
- wp_cache_delete('all_page_ids', 'pages');
- $wp_rewrite->flush_rules();
-
- if ( !empty($page_template) )
- if ( ! update_post_meta($post_ID, '_wp_page_template', $page_template))
- add_post_meta($post_ID, '_wp_page_template', $page_template, true);
-
- if ( $post_status == 'publish' )
- do_action('publish_page', $post_ID);
- }
-
- if ( 'future' == $post_status ) {
- wp_schedule_single_event(mysql2date('U', $post_date), 'publish_future_post', $post_ID);
- }
-
- do_action('save_post', $post_ID);
- do_action('wp_insert_post', $post_ID);
-
- return $post_ID;
-}
-
-function wp_update_post($postarr = array()) {
- global $wpdb;
-
- if ( is_object($postarr) )
- $postarr = get_object_vars($postarr);
-
- // First, get all of the original fields
- $post = wp_get_single_post($postarr['ID'], ARRAY_A);
-
- // Escape data pulled from DB.
- $post = add_magic_quotes($post);
-
- // Passed post category list overwrites existing category list if not empty.
- if ( isset($postarr['post_category']) && is_array($postarr['post_category'])
- && 0 != count($postarr['post_category']) )
- $post_cats = $postarr['post_category'];
- else
- $post_cats = $post['post_category'];
-
- // Drafts shouldn't be assigned a date unless explicitly done so by the user
- if ( 'draft' == $post['post_status'] && empty($postarr['edit_date']) && empty($postarr['post_date']) &&
- ('0000-00-00 00:00:00' == $post['post_date']) )
- $clear_date = true;
- else
- $clear_date = false;
-
- // Merge old and new fields with new fields overwriting old ones.
- $postarr = array_merge($post, $postarr);
- $postarr['post_category'] = $post_cats;
- if ( $clear_date ) {
- $postarr['post_date'] = '';
- $postarr['post_date_gmt'] = '';
- }
-
- if ($postarr['post_type'] == 'attachment')
- return wp_insert_attachment($postarr);
-
- return wp_insert_post($postarr);
-}
-
-function wp_publish_post($post_id) {
- $post = get_post($post_id);
-
- if ( empty($post) )
- return;
-
- if ( 'publish' == $post->post_status )
- return;
-
- return wp_update_post(array('post_status' => 'publish', 'ID' => $post_id));
-}
-
-function wp_set_post_categories($post_ID = 0, $post_categories = array()) {
- global $wpdb;
- // If $post_categories isn't already an array, make it one:
- if (!is_array($post_categories) || 0 == count($post_categories))
- $post_categories = array(get_option('default_category'));
-
- $post_categories = array_unique($post_categories);
-
- // First the old categories
- $old_categories = $wpdb->get_col("
- SELECT category_id
- FROM $wpdb->post2cat
- WHERE post_id = $post_ID");
-
- if (!$old_categories) {
- $old_categories = array();
- } else {
- $old_categories = array_unique($old_categories);
- }
-
- // Delete any?
- $delete_cats = array_diff($old_categories,$post_categories);
-
- if ($delete_cats) {
- foreach ($delete_cats as $del) {
- $wpdb->query("
- DELETE FROM $wpdb->post2cat
- WHERE category_id = $del
- AND post_id = $post_ID
- ");
- }
- }
-
- // Add any?
- $add_cats = array_diff($post_categories, $old_categories);
-
- if ($add_cats) {
- foreach ($add_cats as $new_cat) {
- $wpdb->query("
- INSERT INTO $wpdb->post2cat (post_id, category_id)
- VALUES ($post_ID, $new_cat)");
- }
- }
-
- // Update category counts.
- $all_affected_cats = array_unique(array_merge($post_categories, $old_categories));
- foreach ( $all_affected_cats as $cat_id ) {
- $count = $wpdb->get_var("SELECT COUNT(*) FROM $wpdb->post2cat, $wpdb->posts WHERE $wpdb->posts.ID=$wpdb->post2cat.post_id AND post_status = 'publish' AND post_type = 'post' AND category_id = '$cat_id'");
- $wpdb->query("UPDATE $wpdb->categories SET category_count = '$count' WHERE cat_ID = '$cat_id'");
- wp_cache_delete($cat_id, 'category');
- }
-} // wp_set_post_categories()
-
-//
-// Trackback and ping functions
-//
-
-function add_ping($post_id, $uri) { // Add a URI to those already pung
- global $wpdb;
- $pung = $wpdb->get_var("SELECT pinged FROM $wpdb->posts WHERE ID = $post_id");
- $pung = trim($pung);
- $pung = preg_split('/\s/', $pung);
- $pung[] = $uri;
- $new = implode("\n", $pung);
- $new = apply_filters('add_ping', $new);
- return $wpdb->query("UPDATE $wpdb->posts SET pinged = '$new' WHERE ID = $post_id");
-}
-
-function get_enclosed($post_id) { // Get enclosures already enclosed for a post
- global $wpdb;
- $custom_fields = get_post_custom( $post_id );
- $pung = array();
- if ( !is_array( $custom_fields ) )
- return $pung;
-
- foreach ( $custom_fields as $key => $val ) {
- if ( 'enclosure' != $key || !is_array( $val ) )
- continue;
- foreach( $val as $enc ) {
- $enclosure = split( "\n", $enc );
- $pung[] = trim( $enclosure[ 0 ] );
- }
- }
- $pung = apply_filters('get_enclosed', $pung);
- return $pung;
-}
-
-function get_pung($post_id) { // Get URIs already pung for a post
- global $wpdb;
- $pung = $wpdb->get_var("SELECT pinged FROM $wpdb->posts WHERE ID = $post_id");
- $pung = trim($pung);
- $pung = preg_split('/\s/', $pung);
- $pung = apply_filters('get_pung', $pung);
- return $pung;
-}
-
-function get_to_ping($post_id) { // Get any URIs in the todo list
- global $wpdb;
- $to_ping = $wpdb->get_var("SELECT to_ping FROM $wpdb->posts WHERE ID = $post_id");
- $to_ping = trim($to_ping);
- $to_ping = preg_split('/\s/', $to_ping, -1, PREG_SPLIT_NO_EMPTY);
- $to_ping = apply_filters('get_to_ping', $to_ping);
- return $to_ping;
-}
-
-// do trackbacks for a list of urls
-// accepts a comma-separated list of trackback urls and a post id
-function trackback_url_list($tb_list, $post_id) {
- if (!empty($tb_list)) {
- // get post data
- $postdata = wp_get_single_post($post_id, ARRAY_A);
-
- // import postdata as variables
- extract($postdata);
-
- // form an excerpt
- $excerpt = strip_tags($post_excerpt?$post_excerpt:$post_content);
-
- if (strlen($excerpt) > 255) {
- $excerpt = substr($excerpt,0,252) . '...';
- }
-
- $trackback_urls = explode(',', $tb_list);
- foreach($trackback_urls as $tb_url) {
- $tb_url = trim($tb_url);
- trackback($tb_url, stripslashes($post_title), $excerpt, $post_id);
- }
- }
-}
-
-//
-// Page functions
-//
-
-function get_all_page_ids() {
- global $wpdb;
-
- if ( ! $page_ids = wp_cache_get('all_page_ids', 'pages') ) {
- $page_ids = $wpdb->get_col("SELECT ID FROM $wpdb->posts WHERE post_type = 'page'");
- wp_cache_add('all_page_ids', $page_ids, 'pages');
- }
-
- return $page_ids;
-}
-
-
-// Retrieves page data given a page ID or page object.
-// Handles page caching.
-function &get_page(&$page, $output = OBJECT) {
- global $wpdb;
-
- if ( empty($page) ) {
- if ( isset($GLOBALS['page']) ) {
- $_page = & $GLOBALS['page'];
- wp_cache_add($_page->ID, $_page, 'pages');
- } else {
- $_page = null;
- }
- } elseif ( is_object($page) ) {
- if ( 'post' == $page->post_type )
- return get_post($page, $output);
- wp_cache_add($page->ID, $page, 'pages');
- $_page = $page;
- } else {
- if ( isset($GLOBALS['page']) && ($page == $GLOBALS['page']->ID) ) {
- $_page = & $GLOBALS['page'];
- wp_cache_add($_page->ID, $_page, 'pages');
- } elseif ( $_page = $GLOBALS['post_cache'][$page] ) {
- return get_post($page, $output);
- } elseif ( $_page = wp_cache_get($page, 'pages') ) {
- // Got it.
- } else {
- $query = "SELECT * FROM $wpdb->posts WHERE ID= '$page' LIMIT 1";
- $_page = & $wpdb->get_row($query);
- if ( 'post' == $_page->post_type )
- return get_post($_page, $output);
- wp_cache_add($_page->ID, $_page, 'pages');
- }
- }
-
- if ( $output == OBJECT ) {
- return $_page;
- } elseif ( $output == ARRAY_A ) {
- return get_object_vars($_page);
- } elseif ( $output == ARRAY_N ) {
- return array_values(get_object_vars($_page));
- } else {
- return $_page;
- }
-}
-
-function get_page_by_path($page_path, $output = OBJECT) {
- global $wpdb;
- $page_path = rawurlencode(urldecode($page_path));
- $page_path = str_replace('%2F', '/', $page_path);
- $page_path = str_replace('%20', ' ', $page_path);
- $page_paths = '/' . trim($page_path, '/');
- $leaf_path = sanitize_title(basename($page_paths));
- $page_paths = explode('/', $page_paths);
- foreach($page_paths as $pathdir)
- $full_path .= ($pathdir!=''?'/':'') . sanitize_title($pathdir);
-
- $pages = $wpdb->get_results("SELECT ID, post_name, post_parent FROM $wpdb->posts WHERE post_name = '$leaf_path' AND post_type='page'");
-
- if ( empty($pages) )
- return NULL;
-
- foreach ($pages as $page) {
- $path = '/' . $leaf_path;
- $curpage = $page;
- while ($curpage->post_parent != 0) {
- $curpage = $wpdb->get_row("SELECT ID, post_name, post_parent FROM $wpdb->posts WHERE ID = '$curpage->post_parent' and post_type='page'");
- $path = '/' . $curpage->post_name . $path;
- }
-
- if ( $path == $full_path )
- return get_page($page->ID, $output);
- }
-
- return NULL;
-}
-
-function &get_page_children($page_id, $pages) {
- global $page_cache;
-
- if ( empty($pages) )
- $pages = &$page_cache;
-
- $page_list = array();
- foreach ( $pages as $page ) {
- if ( $page->post_parent == $page_id ) {
- $page_list[] = $page;
- if ( $children = get_page_children($page->ID, $pages) )
- $page_list = array_merge($page_list, $children);
- }
- }
- return $page_list;
-}
-
-//fetches the pages returned as a FLAT list, but arranged in order of their hierarchy, i.e., child parents
-//immediately follow their parents
-function get_page_hierarchy($posts, $parent = 0) {
- $result = array ( );
- if ($posts) { foreach ($posts as $post) {
- if ($post->post_parent == $parent) {
- $result[$post->ID] = $post->post_name;
- $children = get_page_hierarchy($posts, $post->ID);
- $result += $children; //append $children to $result
- }
- } }
- return $result;
-}
-
-function get_page_uri($page_id) {
- $page = get_page($page_id);
- $uri = urldecode($page->post_name);
-
- // A page cannot be it's own parent.
- if ( $page->post_parent == $page->ID )
- return $uri;
-
- while ($page->post_parent != 0) {
- $page = get_page($page->post_parent);
- $uri = urldecode($page->post_name) . "/" . $uri;
- }
-
- return $uri;
-}
-
-function &get_pages($args = '') {
- global $wpdb;
-
- if ( is_array($args) )
- $r = &$args;
- else
- parse_str($args, $r);
-
- $defaults = array('child_of' => 0, 'sort_order' => 'ASC', 'sort_column' => 'post_title',
- 'hierarchical' => 1, 'exclude' => '', 'include' => '', 'meta_key' => '', 'meta_value' => '');
- $r = array_merge($defaults, $r);
- extract($r);
-
- $inclusions = '';
- if ( !empty($include) ) {
- $child_of = 0; //ignore child_of, exclude, meta_key, and meta_value params if using include
- $exclude = '';
- $meta_key = '';
- $meta_value = '';
- $incpages = preg_split('/[\s,]+/',$include);
- if ( count($incpages) ) {
- foreach ( $incpages as $incpage ) {
- if (empty($inclusions))
- $inclusions = ' AND ( ID = ' . intval($incpage) . ' ';
- else
- $inclusions .= ' OR ID = ' . intval($incpage) . ' ';
- }
- }
- }
- if (!empty($inclusions))
- $inclusions .= ')';
-
- $exclusions = '';
- if ( !empty($exclude) ) {
- $expages = preg_split('/[\s,]+/',$exclude);
- if ( count($expages) ) {
- foreach ( $expages as $expage ) {
- if (empty($exclusions))
- $exclusions = ' AND ( ID <> ' . intval($expage) . ' ';
- else
- $exclusions .= ' AND ID <> ' . intval($expage) . ' ';
- }
- }
- }
- if (!empty($exclusions))
- $exclusions .= ')';
-
- $query = "SELECT * FROM $wpdb->posts " ;
- $query .= ( empty( $meta_key ) ? "" : ", $wpdb->postmeta " ) ;
- $query .= " WHERE (post_type = 'page' AND post_status = 'publish') $exclusions $inclusions " ;
- $query .= ( empty( $meta_key ) | empty($meta_value) ? "" : " AND ($wpdb->posts.ID = $wpdb->postmeta.post_id AND $wpdb->postmeta.meta_key = '$meta_key' AND $wpdb->postmeta.meta_value = '$meta_value' )" ) ;
- $query .= " ORDER BY " . $sort_column . " " . $sort_order ;
-
- $pages = $wpdb->get_results($query);
- $pages = apply_filters('get_pages', $pages, $r);
-
- if ( empty($pages) )
- return array();
-
- // Update cache.
- update_page_cache($pages);
-
- if ( $child_of || $hierarchical )
- $pages = & get_page_children($child_of, $pages);
-
- return $pages;
-}
-
-function generate_page_uri_index() {
- 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'"));
- //now reverse it, because we need parents after children for rewrite rules to work properly
- $posts = array_reverse($posts, true);
-
- $page_uris = array();
- $page_attachment_uris = array();
-
- if ($posts) {
-
- foreach ($posts as $id => $post) {
-
- // URI => page name
- $uri = get_page_uri($id);
- $attachments = $wpdb->get_results("SELECT ID, post_name, post_parent FROM $wpdb->posts WHERE post_type = 'attachment' AND post_parent = '$id'");
- if ( $attachments ) {
- foreach ( $attachments as $attachment ) {
- $attach_uri = get_page_uri($attachment->ID);
- $page_attachment_uris[$attach_uri] = $attachment->ID;
- }
- }
-
- $page_uris[$uri] = $id;
- }
-
- update_option('page_uris', $page_uris);
-
- if ( $page_attachment_uris )
- update_option('page_attachment_uris', $page_attachment_uris);
- }
-}
-
-//
-// Attachment functions
-//
-
-function wp_insert_attachment($object, $file = false, $post_parent = 0) {
- global $wpdb, $user_ID;
-
- if ( is_object($object) )
- $object = get_object_vars($object);
-
- // Export array as variables
- extract($object);
-
- // Get the basics.
- $post_content = apply_filters('content_save_pre', $post_content);
- $post_excerpt = apply_filters('excerpt_save_pre', $post_excerpt);
- $post_title = apply_filters('title_save_pre', $post_title);
- $post_category = apply_filters('category_save_pre', $post_category);
- $post_name = apply_filters('name_save_pre', $post_name);
- $comment_status = apply_filters('comment_status_pre', $comment_status);
- $ping_status = apply_filters('ping_status_pre', $ping_status);
- $post_mime_type = apply_filters('post_mime_type_pre', $post_mime_type);
-
- // Make sure we set a valid category
- if (0 == count($post_category) || !is_array($post_category)) {
- $post_category = array(get_option('default_category'));
- }
- $post_cat = $post_category[0];
-
- if ( empty($post_author) )
- $post_author = $user_ID;
-
- $post_type = 'attachment';
- $post_status = 'inherit';
-
- // Are we updating or creating?
- $update = false;
- if ( !empty($ID) ) {
- $update = true;
- $post_ID = $ID;
- }
-
- // Create a valid post name.
- if ( empty($post_name) )
- $post_name = sanitize_title($post_title);
- else
- $post_name = sanitize_title($post_name);
-
- if (empty($post_date))
- $post_date = current_time('mysql');
- if (empty($post_date_gmt))
- $post_date_gmt = current_time('mysql', 1);
-
- if ( empty($comment_status) ) {
- if ( $update )
- $comment_status = 'closed';
- else
- $comment_status = get_settings('default_comment_status');
- }
- if ( empty($ping_status) )
- $ping_status = get_settings('default_ping_status');
- if ( empty($post_pingback) )
- $post_pingback = get_option('default_pingback_flag');
-
- if ( isset($to_ping) )
- $to_ping = preg_replace('|\s+|', "\n", $to_ping);
- else
- $to_ping = '';
-
- if ( isset($post_parent) )
- $post_parent = (int) $post_parent;
- else
- $post_parent = 0;
-
- if ( isset($menu_order) )
- $menu_order = (int) $menu_order;
- else
- $menu_order = 0;
-
- if ( !isset($post_password) )
- $post_password = '';
-
- if ( isset($to_ping) )
- $to_ping = preg_replace('|\s+|', "\n", $to_ping);
- else
- $to_ping = '';
-
- if ( ! isset($pinged) )
- $pinged = '';
-
- if ($update) {
- $wpdb->query(
- "UPDATE $wpdb->posts SET
- post_author = '$post_author',
- post_date = '$post_date',
- post_date_gmt = '$post_date_gmt',
- post_content = '$post_content',
- post_content_filtered = '$post_content_filtered',
- post_title = '$post_title',
- post_excerpt = '$post_excerpt',
- post_status = '$post_status',
- post_type = '$post_type',
- comment_status = '$comment_status',
- ping_status = '$ping_status',
- post_password = '$post_password',
- post_name = '$post_name',
- to_ping = '$to_ping',
- pinged = '$pinged',
- post_modified = '".current_time('mysql')."',
- post_modified_gmt = '".current_time('mysql',1)."',
- post_parent = '$post_parent',
- menu_order = '$menu_order',
- post_mime_type = '$post_mime_type',
- guid = '$guid'
- WHERE ID = $post_ID");
- } else {
- $wpdb->query(
- "INSERT INTO $wpdb->posts
- (post_author, post_date, post_date_gmt, post_content, post_content_filtered, post_title, post_excerpt, post_status, post_type, comment_status, ping_status, post_password, post_name, to_ping, pinged, post_modified, post_modified_gmt, post_parent, menu_order, post_mime_type, guid)
- VALUES
- ('$post_author', '$post_date', '$post_date_gmt', '$post_content', '$post_content_filtered', '$post_title', '$post_excerpt', '$post_status', '$post_type', '$comment_status', '$ping_status', '$post_password', '$post_name', '$to_ping', '$pinged', '$post_date', '$post_date_gmt', '$post_parent', '$menu_order', '$post_mime_type', '$guid')");
- $post_ID = $wpdb->insert_id;
- }
-
- if ( empty($post_name) ) {
- $post_name = sanitize_title($post_title, $post_ID);
- $wpdb->query( "UPDATE $wpdb->posts SET post_name = '$post_name' WHERE ID = '$post_ID'" );
- }
-
- wp_set_post_categories($post_ID, $post_category);
-
- if ( $file )
- add_post_meta($post_ID, '_wp_attached_file', $file );
-
- clean_post_cache($post_ID);
-
- if ( $update) {
- do_action('edit_attachment', $post_ID);
- } else {
- do_action('add_attachment', $post_ID);
- }
-
- return $post_ID;
-}
-
-function wp_delete_attachment($postid) {
- global $wpdb;
- $postid = (int) $postid;
-
- if ( !$post = $wpdb->get_row("SELECT * FROM $wpdb->posts WHERE ID = '$postid'") )
- return $post;
-
- if ( 'attachment' != $post->post_type )
- return false;
-
- $meta = get_post_meta($postid, '_wp_attachment_metadata', true);
- $file = get_post_meta($postid, '_wp_attached_file', true);
-
- $wpdb->query("DELETE FROM $wpdb->posts WHERE ID = '$postid'");
-
- $wpdb->query("DELETE FROM $wpdb->comments WHERE comment_post_ID = '$postid'");
-
- $wpdb->query("DELETE FROM $wpdb->post2cat WHERE post_id = '$postid'");
-
- $wpdb->query("DELETE FROM $wpdb->postmeta WHERE post_id = '$postid'");
-
- if ( ! empty($meta['thumb']) ) {
- // Don't delete the thumb if another attachment uses it
- if (! $wpdb->get_row("SELECT meta_id FROM $wpdb->postmeta WHERE meta_key = '_wp_attachment_metadata' AND meta_value LIKE '%".$wpdb->escape($meta['thumb'])."%' AND post_id <> $postid")) {
- $thumbfile = str_replace(basename($file), $meta['thumb'], $file);
- $thumbfile = apply_filters('wp_delete_file', $thumbfile);
- @ unlink($thumbfile);
- }
- }
-
- $file = apply_filters('wp_delete_file', $file);
-
- if ( ! empty($file) )
- @ unlink($file);
-
- do_action('delete_attachment', $postid);
-
- return $post;
-}
-
-?>
diff --git a/wp-inst/wp-includes/query.php b/wp-inst/wp-includes/query.php
deleted file mode 100644
index ae6ecbe..0000000
--- a/wp-inst/wp-includes/query.php
+++ /dev/null
@@ -1,1091 +0,0 @@
-<?php
-
-/*
- * The Big Query.
- */
-
-function get_query_var($var) {
- global $wp_query;
-
- return $wp_query->get($var);
-}
-
-function &query_posts($query) {
- global $wp_query;
- return $wp_query->query($query);
-}
-
-/*
- * Query type checks.
- */
-
-function is_admin () {
- global $wp_query;
-
- return ( $wp_query->is_admin || strstr($_SERVER['REQUEST_URI'], 'wp-admin/') );
-}
-
-function is_archive () {
- global $wp_query;
-
- return $wp_query->is_archive;
-}
-
-function is_attachment () {
- global $wp_query;
-
- return $wp_query->is_attachment;
-}
-
-function is_author ($author = '') {
- global $wp_query;
-
- if ( !$wp_query->is_author )
- return false;
-
- if ( empty($author) )
- return true;
-
- $author_obj = $wp_query->get_queried_object();
-
- if ( $author == $author_obj->ID )
- return true;
- elseif ( $author == $author_obj->nickname )
- return true;
- elseif ( $author == $author_obj->user_nicename )
- return true;
-
- return false;
-}
-
-function is_category ($category = '') {
- global $wp_query;
-
- if ( !$wp_query->is_category )
- return false;
-
- if ( empty($category) )
- return true;
-
- $cat_obj = $wp_query->get_queried_object();
-
- if ( $category == $cat_obj->cat_ID )
- return true;
- else if ( $category == $cat_obj->cat_name )
- return true;
- elseif ( $category == $cat_obj->category_nicename )
- return true;
-
- return false;
-}
-
-function is_comments_popup () {
- global $wp_query;
-
- return $wp_query->is_comments_popup;
-}
-
-function is_date () {
- global $wp_query;
-
- return $wp_query->is_date;
-}
-
-function is_day () {
- global $wp_query;
-
- return $wp_query->is_day;
-}
-
-function is_feed () {
- global $wp_query;
-
- return $wp_query->is_feed;
-}
-
-function is_home () {
- global $wp_query;
-
- return $wp_query->is_home;
-}
-
-function is_month () {
- global $wp_query;
-
- return $wp_query->is_month;
-}
-
-function is_page ($page = '') {
- global $wp_query;
-
- if ( !$wp_query->is_page )
- return false;
-
- if ( empty($page) )
- return true;
-
- $page_obj = $wp_query->get_queried_object();
-
- if ( $page == $page_obj->ID )
- return true;
- elseif ( $page == $page_obj->post_title )
- return true;
- else if ( $page == $page_obj->post_name )
- return true;
-
- return false;
-}
-
-function is_paged () {
- global $wp_query;
-
- return $wp_query->is_paged;
-}
-
-function is_plugin_page() {
- global $plugin_page;
-
- if ( isset($plugin_page) )
- return true;
-
- return false;
-}
-
-function is_preview() {
- global $wp_query;
-
- return $wp_query->is_preview;
-}
-
-function is_robots() {
- global $wp_query;
-
- return $wp_query->is_robots;
-}
-
-function is_search () {
- global $wp_query;
-
- return $wp_query->is_search;
-}
-
-function is_single ($post = '') {
- global $wp_query;
-
- if ( !$wp_query->is_single )
- return false;
-
- if ( empty( $post) )
- return true;
-
- $post_obj = $wp_query->get_queried_object();
-
- if ( $post == $post_obj->ID )
- return true;
- elseif ( $post == $post_obj->post_title )
- return true;
- elseif ( $post == $post_obj->post_name )
- return true;
-
- return false;
-}
-
-function is_time () {
- global $wp_query;
-
- return $wp_query->is_time;
-}
-
-function is_trackback () {
- global $wp_query;
-
- return $wp_query->is_trackback;
-}
-
-function is_year () {
- global $wp_query;
-
- return $wp_query->is_year;
-}
-
-function is_404 () {
- global $wp_query;
-
- return $wp_query->is_404;
-}
-
-/*
- * The Loop. Post loop control.
- */
-
-function have_posts() {
- global $wp_query;
-
- return $wp_query->have_posts();
-}
-
-function in_the_loop() {
- global $wp_query;
-
- return $wp_query->in_the_loop;
-}
-
-function rewind_posts() {
- global $wp_query;
-
- return $wp_query->rewind_posts();
-}
-
-function the_post() {
- global $wp_query;
-
- $wp_query->the_post();
-}
-
-/*
- * WP_Query
- */
-
-class WP_Query {
- var $query;
- var $query_vars;
- var $queried_object;
- var $queried_object_id;
- var $request;
-
- var $posts;
- var $post_count = 0;
- var $current_post = -1;
- var $in_the_loop = false;
- var $post;
-
- var $is_single = false;
- var $is_preview = false;
- var $is_page = false;
- var $is_archive = false;
- var $is_date = false;
- var $is_year = false;
- var $is_month = false;
- var $is_day = false;
- var $is_time = false;
- var $is_author = false;
- var $is_category = false;
- var $is_search = false;
- var $is_feed = false;
- var $is_trackback = false;
- var $is_home = false;
- var $is_404 = false;
- var $is_comments_popup = false;
- var $is_admin = false;
- var $is_attachment = false;
- var $is_robots = false;
-
- function init_query_flags() {
- $this->is_single = false;
- $this->is_page = false;
- $this->is_archive = false;
- $this->is_date = false;
- $this->is_year = false;
- $this->is_month = false;
- $this->is_day = false;
- $this->is_time = false;
- $this->is_author = false;
- $this->is_category = false;
- $this->is_search = false;
- $this->is_feed = false;
- $this->is_trackback = false;
- $this->is_home = false;
- $this->is_404 = false;
- $this->is_paged = false;
- $this->is_admin = false;
- $this->is_attachment = false;
- $this->is_robots = false;
- }
-
- function init () {
- unset($this->posts);
- unset($this->query);
- unset($this->query_vars);
- unset($this->queried_object);
- unset($this->queried_object_id);
- $this->post_count = 0;
- $this->current_post = -1;
- $this->in_the_loop = false;
-
- $this->init_query_flags();
- }
-
- // Reparse the query vars.
- function parse_query_vars() {
- $this->parse_query('');
- }
-
- // Parse a query string and set query type booleans.
- function parse_query ($query) {
- if ( !empty($query) || !isset($this->query) ) {
- $this->init();
- parse_str($query, $qv);
- $this->query = $query;
- $this->query_vars = $qv;
- }
-
- if ( ! empty($qv['robots']) ) {
- $this->is_robots = true;
- return;
- }
-
- if ('404' == $qv['error']) {
- $this->is_404 = true;
- if ( !empty($query) ) {
- do_action('parse_query', array(&$this));
- }
- return;
- }
-
- $qv['m'] = (int) $qv['m'];
- $qv['p'] = (int) $qv['p'];
-
- // Compat. Map subpost to attachment.
- if ( '' != $qv['subpost'] )
- $qv['attachment'] = $qv['subpost'];
- if ( '' != $qv['subpost_id'] )
- $qv['attachment_id'] = $qv['subpost_id'];
-
- if ( ('' != $qv['attachment']) || (int) $qv['attachment_id'] ) {
- $this->is_single = true;
- $this->is_attachment = true;
- } elseif ('' != $qv['name']) {
- $this->is_single = true;
- } elseif ( $qv['p'] ) {
- $this->is_single = true;
- } elseif (('' != $qv['hour']) && ('' != $qv['minute']) &&('' != $qv['second']) && ('' != $qv['year']) && ('' != $qv['monthnum']) && ('' != $qv['day'])) {
- // If year, month, day, hour, minute, and second are set, a single
- // post is being queried.
- $this->is_single = true;
- } elseif ('' != $qv['static'] || '' != $qv['pagename'] || '' != $qv['page_id']) {
- $this->is_page = true;
- $this->is_single = false;
- } elseif (!empty($qv['s'])) {
- $this->is_search = true;
- } else {
- // Look for archive queries. Dates, categories, authors.
-
- if ( (int) $qv['second']) {
- $this->is_time = true;
- $this->is_date = true;
- }
-
- if ( (int) $qv['minute']) {
- $this->is_time = true;
- $this->is_date = true;
- }
-
- if ( (int) $qv['hour']) {
- $this->is_time = true;
- $this->is_date = true;
- }
-
- if ( (int) $qv['day']) {
- if (! $this->is_date) {
- $this->is_day = true;
- $this->is_date = true;
- }
- }
-
- if ( (int) $qv['monthnum']) {
- if (! $this->is_date) {
- $this->is_month = true;
- $this->is_date = true;
- }
- }
-
- if ( (int) $qv['year']) {
- if (! $this->is_date) {
- $this->is_year = true;
- $this->is_date = true;
- }
- }
-
- if ( (int) $qv['m']) {
- $this->is_date = true;
- if (strlen($qv['m']) > 9) {
- $this->is_time = true;
- } else if (strlen($qv['m']) > 7) {
- $this->is_day = true;
- } else if (strlen($qv['m']) > 5) {
- $this->is_month = true;
- } else {
- $this->is_year = true;
- }
- }
-
- if ('' != $qv['w']) {
- $this->is_date = true;
- }
-
- if (empty($qv['cat']) || ($qv['cat'] == '0')) {
- $this->is_category = false;
- } else {
- if (stristr($qv['cat'],'-')) {
- $this->is_category = false;
- } else {
- $this->is_category = true;
- }
- }
-
- if ('' != $qv['category_name']) {
- $this->is_category = true;
- }
-
- if ((empty($qv['author'])) || ($qv['author'] == '0')) {
- $this->is_author = false;
- } else {
- $this->is_author = true;
- }
-
- if ('' != $qv['author_name']) {
- $this->is_author = true;
- }
-
- if ( ($this->is_date || $this->is_author || $this->is_category)) {
- $this->is_archive = true;
- }
- }
-
- if ('' != $qv['feed']) {
- $this->is_feed = true;
- }
-
- if ('' != $qv['tb']) {
- $this->is_trackback = true;
- }
-
- if ('' != $qv['paged']) {
- $this->is_paged = true;
- }
-
- if ('' != $qv['comments_popup']) {
- $this->is_comments_popup = true;
- }
-
- //if we're previewing inside the write screen
- if ('' != $qv['preview']) {
- $this->is_preview = true;
- }
-
- if (strstr($_SERVER['PHP_SELF'], 'wp-admin/')) {
- $this->is_admin = true;
- }
-
- if ( ! ($this->is_attachment || $this->is_archive || $this->is_single || $this->is_page || $this->is_search || $this->is_feed || $this->is_trackback || $this->is_404 || $this->is_admin || $this->is_comments_popup)) {
- $this->is_home = true;
- }
-
- if ( !empty($query) ) {
- do_action('parse_query', array(&$this));
- }
- }
-
- function set_404() {
- $this->init_query_flags();
- $this->is_404 = true;
- }
-
- function get($query_var) {
- if (isset($this->query_vars[$query_var])) {
- return $this->query_vars[$query_var];
- }
-
- return '';
- }
-
- function set($query_var, $value) {
- $this->query_vars[$query_var] = $value;
- }
-
- function &get_posts() {
- global $wpdb, $pagenow, $user_ID;
-
- do_action('pre_get_posts', array(&$this));
-
- // Shorthand.
- $q = &$this->query_vars;
-
- // First let's clear some variables
- $distinct = '';
- $whichcat = '';
- $whichauthor = '';
- $whichpage = '';
- $result = '';
- $where = '';
- $limits = '';
- $join = '';
-
- if ( !isset($q['post_type']) )
- $q['post_type'] = 'post';
- $post_type = $q['post_type'];
- if ( !isset($q['posts_per_page']) || $q['posts_per_page'] == 0 )
- $q['posts_per_page'] = get_settings('posts_per_page');
- if ( !isset($q['what_to_show']) )
- $q['what_to_show'] = get_settings('what_to_show');
- if ( isset($q['showposts']) && $q['showposts'] ) {
- $q['showposts'] = (int) $q['showposts'];
- $q['posts_per_page'] = $q['showposts'];
- }
- if ( (isset($q['posts_per_archive_page']) && $q['posts_per_archive_page'] != 0) && ($this->is_archive || $this->is_search) )
- $q['posts_per_page'] = $q['posts_per_archive_page'];
- if ( !isset($q['nopaging']) ) {
- if ($q['posts_per_page'] == -1) {
- $q['nopaging'] = true;
- } else {
- $q['nopaging'] = false;
- }
- }
- if ( $this->is_feed ) {
- $q['posts_per_page'] = get_settings('posts_per_rss');
- $q['what_to_show'] = 'posts';
- }
-
- if ( $this->is_home && (empty($this->query) || $q['preview'] == 'true') && ( 'page' == get_option('show_on_front') ) && get_option('page_on_front') ) {
- $this->is_page = true;
- $this->is_home = false;
- $q['page_id'] = get_option('page_on_front');
- }
-
- if (isset($q['page'])) {
- $q['page'] = trim($q['page'], '/');
- $q['page'] = (int) $q['page'];
- }
-
- $add_hours = intval(get_settings('gmt_offset'));
- $add_minutes = intval(60 * (get_settings('gmt_offset') - $add_hours));
- $wp_posts_post_date_field = "post_date"; // "DATE_ADD(post_date, INTERVAL '$add_hours:$add_minutes' HOUR_MINUTE)";
-
- // If a month is specified in the querystring, load that month
- if ( (int) $q['m'] ) {
- $q['m'] = '' . preg_replace('|[^0-9]|', '', $q['m']);
- $where .= ' AND YEAR(post_date)=' . substr($q['m'], 0, 4);
- if (strlen($q['m'])>5)
- $where .= ' AND MONTH(post_date)=' . substr($q['m'], 4, 2);
- if (strlen($q['m'])>7)
- $where .= ' AND DAYOFMONTH(post_date)=' . substr($q['m'], 6, 2);
- if (strlen($q['m'])>9)
- $where .= ' AND HOUR(post_date)=' . substr($q['m'], 8, 2);
- if (strlen($q['m'])>11)
- $where .= ' AND MINUTE(post_date)=' . substr($q['m'], 10, 2);
- if (strlen($q['m'])>13)
- $where .= ' AND SECOND(post_date)=' . substr($q['m'], 12, 2);
- }
-
- if ( (int) $q['hour'] ) {
- $q['hour'] = '' . intval($q['hour']);
- $where .= " AND HOUR(post_date)='" . $q['hour'] . "'";
- }
-
- if ( (int) $q['minute'] ) {
- $q['minute'] = '' . intval($q['minute']);
- $where .= " AND MINUTE(post_date)='" . $q['minute'] . "'";
- }
-
- if ( (int) $q['second'] ) {
- $q['second'] = '' . intval($q['second']);
- $where .= " AND SECOND(post_date)='" . $q['second'] . "'";
- }
-
- if ( (int) $q['year'] ) {
- $q['year'] = '' . intval($q['year']);
- $where .= " AND YEAR(post_date)='" . $q['year'] . "'";
- }
-
- if ( (int) $q['monthnum'] ) {
- $q['monthnum'] = '' . intval($q['monthnum']);
- $where .= " AND MONTH(post_date)='" . $q['monthnum'] . "'";
- }
-
- if ( (int) $q['day'] ) {
- $q['day'] = '' . intval($q['day']);
- $where .= " AND DAYOFMONTH(post_date)='" . $q['day'] . "'";
- }
-
- // Compat. Map subpost to attachment.
- if ( '' != $q['subpost'] )
- $q['attachment'] = $q['subpost'];
- if ( '' != $q['subpost_id'] )
- $q['attachment_id'] = $q['subpost_id'];
-
- if ('' != $q['name']) {
- $q['name'] = sanitize_title($q['name']);
- $where .= " AND post_name = '" . $q['name'] . "'";
- } else if ('' != $q['pagename']) {
- $reqpage = get_page_by_path($q['pagename']);
- if ( !empty($reqpage) )
- $reqpage = $reqpage->ID;
- else
- $reqpage = 0;
-
- if ( ('page' == get_option('show_on_front') ) && ( $reqpage == get_option('page_for_posts') ) ) {
- $this->is_page = false;
- $this->is_home = true;
- } else {
- $q['pagename'] = str_replace('%2F', '/', urlencode(urldecode($q['pagename'])));
- $page_paths = '/' . trim($q['pagename'], '/');
- $q['pagename'] = sanitize_title(basename($page_paths));
- $q['name'] = $q['pagename'];
- $where .= " AND (ID = '$reqpage')";
- }
- } elseif ('' != $q['attachment']) {
- $q['attachment'] = str_replace('%2F', '/', urlencode(urldecode($q['attachment'])));
- $attach_paths = '/' . trim($q['attachment'], '/');
- $q['attachment'] = sanitize_title(basename($attach_paths));
- $q['name'] = $q['attachment'];
- $where .= " AND post_name = '" . $q['attachment'] . "'";
- }
-
- if ( (int) $q['w'] ) {
- $q['w'] = ''.intval($q['w']);
- $where .= " AND WEEK(post_date, 1)='" . $q['w'] . "'";
- }
-
- if ( intval($q['comments_popup']) )
- $q['p'] = intval($q['comments_popup']);
-
- // If a attachment is requested by number, let it supercede any post number.
- if ( ($q['attachment_id'] != '') && (intval($q['attachment_id']) != 0) )
- $q['p'] = (int) $q['attachment_id'];
-
- // If a post number is specified, load that post
- if (($q['p'] != '') && intval($q['p']) != 0) {
- $q['p'] = (int) $q['p'];
- $where = ' AND ID = ' . $q['p'];
- }
-
- if (($q['page_id'] != '') && (intval($q['page_id']) != 0)) {
- $q['page_id'] = intval($q['page_id']);
- if ( ('page' == get_option('show_on_front') ) && ( $q['page_id'] == get_option('page_for_posts') ) ) {
- $this->is_page = false;
- $this->is_home = true;
- } else {
- $q['p'] = $q['page_id'];
- $where = ' AND ID = '.$q['page_id'];
- }
- }
-
- // If a search pattern is specified, load the posts that match
- if (!empty($q['s'])) {
- $q['s'] = addslashes_gpc($q['s']);
- $search = ' AND (';
- $q['s'] = preg_replace('/, +/', ' ', $q['s']);
- $q['s'] = str_replace(',', ' ', $q['s']);
- $q['s'] = str_replace('"', ' ', $q['s']);
- $q['s'] = trim($q['s']);
- if ($q['exact']) {
- $n = '';
- } else {
- $n = '%';
- }
- if (!$q['sentence']) {
- $s_array = explode(' ',$q['s']);
- $q['search_terms'] = $s_array;
- $search .= '((post_title LIKE \''.$n.$s_array[0].$n.'\') OR (post_content LIKE \''.$n.$s_array[0].$n.'\'))';
- for ( $i = 1; $i < count($s_array); $i = $i + 1) {
- $search .= ' AND ((post_title LIKE \''.$n.$s_array[$i].$n.'\') OR (post_content LIKE \''.$n.$s_array[$i].$n.'\'))';
- }
- $search .= ' OR (post_title LIKE \''.$n.$q['s'].$n.'\') OR (post_content LIKE \''.$n.$q['s'].$n.'\')';
- $search .= ')';
- } else {
- $search = ' AND ((post_title LIKE \''.$n.$q['s'].$n.'\') OR (post_content LIKE \''.$n.$q['s'].$n.'\'))';
- }
- }
-
- // Category stuff
-
- if ((empty($q['cat'])) || ($q['cat'] == '0') ||
- // Bypass cat checks if fetching specific posts
- ( $this->is_single || $this->is_page )) {
- $whichcat='';
- } else {
- $q['cat'] = ''.urldecode($q['cat']).'';
- $q['cat'] = addslashes_gpc($q['cat']);
- $join = " LEFT JOIN $wpdb->post2cat ON ($wpdb->posts.ID = $wpdb->post2cat.post_id) ";
- $cat_array = preg_split('/[,\s]+/', $q['cat']);
- $in_cats = $out_cats = $out_posts = '';
- foreach ( $cat_array as $cat ) {
- $cat = intval($cat);
- $in = strstr($cat, '-') ? false : true;
- $cat = trim($cat, '-');
- if ( $in )
- $in_cats .= "$cat, " . get_category_children($cat, '', ', ');
- else
- $out_cats .= "$cat, " . get_category_children($cat, '', ', ');
- }
- $in_cats = substr($in_cats, 0, -2);
- $out_cats = substr($out_cats, 0, -2);
- if ( strlen($in_cats) > 0 )
- $in_cats = " AND category_id IN ($in_cats)";
- if ( strlen($out_cats) > 0 ) {
- $ids = $wpdb->get_col("SELECT post_id FROM $wpdb->post2cat WHERE category_id IN ($out_cats)");
- if ( is_array($ids) && count($ids > 0) ) {
- foreach ( $ids as $id )
- $out_posts .= "$id, ";
- $out_posts = substr($out_posts, 0, -2);
- }
- if ( strlen($out_posts) > 0 )
- $out_cats = " AND ID NOT IN ($out_posts)";
- }
- $whichcat = $in_cats . $out_cats;
- $distinct = 'DISTINCT';
- }
-
- // Category stuff for nice URIs
-
- global $cache_categories;
- if ('' != $q['category_name']) {
- $reqcat = get_category_by_path($q['category_name']);
- $q['category_name'] = str_replace('%2F', '/', urlencode(urldecode($q['category_name'])));
- $cat_paths = '/' . trim($q['category_name'], '/');
- $q['category_name'] = sanitize_title(basename($cat_paths));
-
- $cat_paths = '/' . trim(urldecode($q['category_name']), '/');
- $q['category_name'] = sanitize_title(basename($cat_paths));
- $cat_paths = explode('/', $cat_paths);
- foreach($cat_paths as $pathdir)
- $cat_path .= ($pathdir!=''?'/':'') . sanitize_title($pathdir);
-
- //if we don't match the entire hierarchy fallback on just matching the nicename
- if ( empty($reqcat) )
- $reqcat = get_category_by_path($q['category_name'], false);
-
- if ( !empty($reqcat) )
- $reqcat = $reqcat->cat_ID;
- else
- $reqcat = 0;
-
- $q['cat'] = $reqcat;
-
- $tables = ", $wpdb->post2cat, $wpdb->categories";
- $join = " LEFT JOIN $wpdb->post2cat ON ($wpdb->posts.ID = $wpdb->post2cat.post_id) LEFT JOIN $wpdb->categories ON ($wpdb->post2cat.category_id = $wpdb->categories.cat_ID) ";
- $whichcat = " AND category_id IN ({$q['cat']}, ";
- $whichcat .= get_category_children($q['cat'], '', ', ');
- $whichcat = substr($whichcat, 0, -2);
- $whichcat .= ")";
- $distinct = 'DISTINCT';
- }
-
- // Author/user stuff
-
- if ((empty($q['author'])) || ($q['author'] == '0')) {
- $whichauthor='';
- } else {
- $q['author'] = ''.urldecode($q['author']).'';
- $q['author'] = addslashes_gpc($q['author']);
- if (stristr($q['author'], '-')) {
- $eq = '!=';
- $andor = 'AND';
- $q['author'] = explode('-', $q['author']);
- $q['author'] = ''.intval($q['author'][1]);
- } else {
- $eq = '=';
- $andor = 'OR';
- }
- $author_array = preg_split('/[,\s]+/', $q['author']);
- $whichauthor .= ' AND (post_author '.$eq.' '.intval($author_array[0]);
- for ($i = 1; $i < (count($author_array)); $i = $i + 1) {
- $whichauthor .= ' '.$andor.' post_author '.$eq.' '.intval($author_array[$i]);
- }
- $whichauthor .= ')';
- }
-
- // Author stuff for nice URIs
-
- if ('' != $q['author_name']) {
- if (stristr($q['author_name'],'/')) {
- $q['author_name'] = explode('/',$q['author_name']);
- if ($q['author_name'][count($q['author_name'])-1]) {
- $q['author_name'] = $q['author_name'][count($q['author_name'])-1];#no trailing slash
- } else {
- $q['author_name'] = $q['author_name'][count($q['author_name'])-2];#there was a trailling slash
- }
- }
- $q['author_name'] = sanitize_title($q['author_name']);
- $q['author'] = $wpdb->get_var("SELECT ID FROM $wpdb->users WHERE user_nicename='".$q['author_name']."'");
- $whichauthor .= ' AND (post_author = '.intval($q['author']).')';
- }
-
- $where .= $search.$whichcat.$whichauthor;
-
- if ((empty($q['order'])) || ((strtoupper($q['order']) != 'ASC') && (strtoupper($q['order']) != 'DESC'))) {
- $q['order']='DESC';
- }
-
- // Order by
- if (empty($q['orderby'])) {
- $q['orderby'] = 'post_date '.$q['order'];
- } else {
- // Used to filter values
- $allowed_keys = array('author', 'date', 'category', 'title', 'modified', 'menu_order');
- $q['orderby'] = urldecode($q['orderby']);
- $q['orderby'] = addslashes_gpc($q['orderby']);
- $orderby_array = explode(' ',$q['orderby']);
- if ( empty($orderby_array) )
- $orderby_array[] = $q['orderby'];
- $q['orderby'] = '';
- for ($i = 0; $i < count($orderby_array); $i++) {
- // Only allow certain values for safety
- $orderby = $orderby_array[$i];
- if ( 'menu_order' != $orderby )
- $orderby = 'post_' . $orderby;
- if ( in_array($orderby_array[$i], $allowed_keys) )
- $q['orderby'] .= (($i == 0) ? '' : ',') . "$orderby {$q['order']}";
- }
- if ( empty($q['orderby']) )
- $q['orderby'] = 'post_date '.$q['order'];
- }
-
- if ( $this->is_attachment ) {
- $where .= ' AND (post_type = "attachment")';
- } elseif ($this->is_page) {
- $where .= ' AND (post_type = "page")';
- } elseif ($this->is_single) {
- $where .= ' AND (post_type = "post")';
- } else {
- $where .= " AND (post_type = '$post_type' AND (post_status = 'publish'";
-
- if ( is_admin() ) {
- $where .= " OR post_status = 'future' OR post_status = 'draft'";
-
- if ( is_user_logged_in() ) {
- if ( 'post' == $post_type )
- $cap = 'edit_private_posts';
- else
- $cap = 'edit_private_pages';
-
- if ( current_user_can($cap) )
- $where .= "OR post_status = 'private'";
- else
- $where .= " OR post_author = $user_ID AND post_status = 'private'";
- }
- }
-
- $where .= '))';
- }
-
- // Apply filters on where and join prior to paging so that any
- // manipulations to them are reflected in the paging by day queries.
- $where = apply_filters('posts_where', $where);
- $join = apply_filters('posts_join', $join);
-
- // Paging
- if (empty($q['nopaging']) && ! $this->is_single && ! $this->is_page) {
- $page = $q['paged'];
- if (empty($page)) {
- $page = 1;
- }
-
- if (($q['what_to_show'] == 'posts')) {
- if ( empty($q['offset']) ) {
- $pgstrt = '';
- $pgstrt = (intval($page) -1) * $q['posts_per_page'] . ', ';
- $limits = 'LIMIT '.$pgstrt.$q['posts_per_page'];
- } else { // we're ignoring $page and using 'offset'
- $pgstrt = intval($q['offset']) . ', ';
- $limits = 'LIMIT ' . $pgstrt . $q['posts_per_page'];
- }
- } elseif ($q['what_to_show'] == 'days') {
- $startrow = $q['posts_per_page'] * (intval($page)-1);
- $start_date = $wpdb->get_var("SELECT max(post_date) FROM $wpdb->posts $join WHERE (1=1) $where GROUP BY year(post_date), month(post_date), dayofmonth(post_date) ORDER BY post_date DESC LIMIT $startrow,1");
- $endrow = $startrow + $q['posts_per_page'] - 1;
- $end_date = $wpdb->get_var("SELECT min(post_date) FROM $wpdb->posts $join WHERE (1=1) $where GROUP BY year(post_date), month(post_date), dayofmonth(post_date) ORDER BY post_date DESC LIMIT $endrow,1");
-
- if ($page > 1) {
- $where .= " AND post_date >= '$end_date' AND post_date <= '$start_date'";
- } else {
- $where .= " AND post_date >= '$end_date'";
- }
- }
- }
-
- // Apply post-paging filters on where and join. Only plugins that
- // manipulate paging queries should use these hooks.
- $where = apply_filters('posts_where_paged', $where);
- $groupby = '';
- $groupby = apply_filters('posts_groupby', $groupby);
- if ( ! empty($groupby) )
- $groupby = 'GROUP BY ' . $groupby;
- $join = apply_filters('posts_join_paged', $join);
- $orderby = apply_filters('posts_orderby', $q['orderby']);
- $distinct = apply_filters('posts_distinct', $distinct);
- $fields = apply_filters('posts_fields', "$wpdb->posts.*");
- $request = " SELECT $distinct $fields FROM $wpdb->posts $join WHERE 1=1 $where $groupby ORDER BY $orderby $limits";
- $this->request = apply_filters('posts_request', $request);
-
- $this->posts = $wpdb->get_results($this->request);
-
- // Check post status to determine if post should be displayed.
- if ( !empty($this->posts) && ($this->is_single || $this->is_page) ) {
- $status = get_post_status($this->posts[0]);
- //$type = get_post_type($this->posts[0]);
- if ( ('publish' != $status) ) {
- if ( ! is_user_logged_in() ) {
- // User must be logged in to view unpublished posts.
- $this->posts = array();
- } else {
- if ('draft' == $status) {
- // User must have edit permissions on the draft to preview.
- if (! current_user_can('edit_post', $this->posts[0]->ID)) {
- $this->posts = array();
- } else {
- $this->is_preview = true;
- $this->posts[0]->post_date = current_time('mysql');
- }
- } else if ('future' == $status) {
- $this->is_preview = true;
- if (!current_user_can('edit_post', $this->posts[0]->ID)) {
- $this->posts = array ( );
- }
- } else {
- if (! current_user_can('read_post', $this->posts[0]->ID))
- $this->posts = array();
- }
- }
- }
- }
-
- update_post_caches($this->posts);
-
- $this->posts = apply_filters('the_posts', $this->posts);
- $this->post_count = count($this->posts);
- if ($this->post_count > 0) {
- $this->post = $this->posts[0];
- }
-
- return $this->posts;
- }
-
- function next_post() {
-
- $this->current_post++;
-
- $this->post = $this->posts[$this->current_post];
- return $this->post;
- }
-
- function the_post() {
- global $post;
- $this->in_the_loop = true;
- $post = $this->next_post();
- setup_postdata($post);
-
- if ( $this->current_post == 0 ) // loop has just started
- do_action('loop_start');
- }
-
- function have_posts() {
- if ($this->current_post + 1 < $this->post_count) {
- return true;
- } elseif ($this->current_post + 1 == $this->post_count) {
- do_action('loop_end');
- // Do some cleaning up after the loop
- $this->rewind_posts();
- }
-
- $this->in_the_loop = false;
- return false;
- }
-
- function rewind_posts() {
- $this->current_post = -1;
- if ($this->post_count > 0) {
- $this->post = $this->posts[0];
- }
- }
-
- function &query($query) {
- $this->parse_query($query);
- return $this->get_posts();
- }
-
- function get_queried_object() {
- if (isset($this->queried_object)) {
- return $this->queried_object;
- }
-
- $this->queried_object = NULL;
- $this->queried_object_id = 0;
-
- if ($this->is_category) {
- $cat = $this->get('cat');
- $category = &get_category($cat);
- $this->queried_object = &$category;
- $this->queried_object_id = $cat;
- } else if ($this->is_single) {
- $this->queried_object = $this->post;
- $this->queried_object_id = $this->post->ID;
- } else if ($this->is_page) {
- $this->queried_object = $this->post;
- $this->queried_object_id = $this->post->ID;
- } else if ($this->is_author) {
- $author_id = $this->get('author');
- $author = get_userdata($author_id);
- $this->queried_object = $author;
- $this->queried_object_id = $author_id;
- }
-
- return $this->queried_object;
- }
-
- function get_queried_object_id() {
- $this->get_queried_object();
-
- if (isset($this->queried_object_id)) {
- return $this->queried_object_id;
- }
-
- return 0;
- }
-
- function WP_Query ($query = '') {
- if (! empty($query)) {
- $this->query($query);
- }
- }
-}
-
-//
-// Private helper functions
-//
-
-// Setup global post data.
-function setup_postdata($post) {
- global $id, $postdata, $authordata, $day, $page, $pages, $multipage, $more, $numpages, $wp_query;
- global $pagenow;
-
- $id = $post->ID;
-
- $authordata = get_userdata($post->post_author);
-
- $day = mysql2date('d.m.y', $post->post_date);
- $currentmonth = mysql2date('m', $post->post_date);
- $numpages = 1;
- $page = get_query_var('page');
- if ( !$page )
- $page = 1;
- if ( is_single() || is_page() )
- $more = 1;
- $content = $post->post_content;
- if ( preg_match('/<!--nextpage-->/', $content) ) {
- if ( $page > 1 )
- $more = 1;
- $multipage = 1;
- $content = str_replace("\n<!--nextpage-->\n", '<!--nextpage-->', $content);
- $content = str_replace("\n<!--nextpage-->", '<!--nextpage-->', $content);
- $content = str_replace("<!--nextpage-->\n", '<!--nextpage-->', $content);
- $pages = explode('<!--nextpage-->', $content);
- $numpages = count($pages);
- } else {
- $pages[0] = $post->post_content;
- $multipage = 0;
- }
- return true;
-}
-
-?>
diff --git a/wp-inst/wp-includes/registration.php b/wp-inst/wp-includes/registration.php
deleted file mode 100644
index f2a00e9..0000000
--- a/wp-inst/wp-includes/registration.php
+++ /dev/null
@@ -1,176 +0,0 @@
-<?php
-
-function username_exists( $username ) {
- global $wpdb;
- $username = sanitize_user( $username );
- $user = get_userdatabylogin($username);
- if ( $user )
- return $user->ID;
-
- return null;
-}
-
-function email_exists( $email ) {
- global $wpdb;
- $email = addslashes( $email );
- return $wpdb->get_var("SELECT ID FROM $wpdb->users WHERE user_email = '$email'");
-}
-
-function validate_username( $username ) {
- $name = sanitize_user($username, true);
- $valid = true;
-
- if ( $name != $username )
- $valid = false;
-
- return apply_filters('validate_username', $valid, $username);
-}
-
-function wp_insert_user($userdata) {
- global $wpdb;
-
- extract($userdata);
-
- // Are we updating or creating?
- if ( !empty($ID) ) {
- $ID = (int) $ID;
- $update = true;
- } else {
- $update = false;
- // Password is not hashed when creating new user.
- $user_pass = md5($user_pass);
- }
-
- $user_login = sanitize_user($user_login, true);
- $user_login = apply_filters('pre_user_login', $user_login);
-
- if ( empty($user_nicename) )
- $user_nicename = sanitize_title( $user_login );
- $user_nicename = apply_filters('pre_user_nicename', $user_nicename);
-
- if ( empty($user_url) )
- $user_url = '';
- $user_url = apply_filters('pre_user_url', $user_url);
-
- if ( empty($user_email) )
- $user_email = '';
- $user_email = apply_filters('pre_user_email', $user_email);
-
- if ( empty($display_name) )
- $display_name = $user_login;
- $display_name = apply_filters('pre_user_display_name', $display_name);
-
- if ( empty($nickname) )
- $nickname = $user_login;
- $nickname = apply_filters('pre_user_nickname', $nickname);
-
- if ( empty($first_name) )
- $first_name = '';
- $first_name = apply_filters('pre_user_first_name', $first_name);
-
- if ( empty($last_name) )
- $last_name = '';
- $last_name = apply_filters('pre_user_last_name', $last_name);
-
- if ( empty($description) )
- $description = '';
- $description = apply_filters('pre_user_description', $description);
-
- if ( empty($user_registered) )
- $user_registered = gmdate('Y-m-d H:i:s');
-
- if ( $update ) {
- $query = "UPDATE $wpdb->users SET user_pass='$user_pass', user_email='$user_email', user_url='$user_url', user_nicename = '$user_nicename', display_name = '$display_name' WHERE ID = '$ID'";
- $query = apply_filters('update_user_query', $query);
- $wpdb->query( $query );
- $user_id = $ID;
- } else {
- $query = "INSERT INTO $wpdb->users
- (user_login, user_pass, user_email, user_url, user_registered, user_nicename, display_name)
- VALUES
- ('$user_login', '$user_pass', '$user_email', '$user_url', '$user_registered', '$user_nicename', '$display_name')";
- $query = apply_filters('create_user_query', $query);
- $wpdb->query( $query );
- $user_id = $wpdb->insert_id;
- }
-
- update_usermeta( $user_id, 'first_name', $first_name);
- update_usermeta( $user_id, 'last_name', $last_name);
- update_usermeta( $user_id, 'nickname', $nickname );
- update_usermeta( $user_id, 'description', $description );
- update_usermeta( $user_id, 'jabber', $jabber );
- update_usermeta( $user_id, 'aim', $aim );
- update_usermeta( $user_id, 'yim', $yim );
-
- if ( $update && isset($role) ) {
- $user = new WP_User($user_id);
- $user->set_role($role);
- }
-
- if ( !$update ) {
- $user = new WP_User($user_id);
- $user->set_role(get_settings('default_role'));
- }
-
- wp_cache_delete($user_id, 'users');
- wp_cache_delete($user_login, 'userlogins');
-
- if ( $update )
- do_action('profile_update', $user_id);
- else
- do_action('user_register', $user_id);
-
- return $user_id;
-}
-
-function wp_update_user($userdata) {
- global $wpdb;
-
- $ID = (int) $userdata['ID'];
-
- // First, get all of the original fields
- $user = get_userdata($ID);
-
- // Escape data pulled from DB.
- $user = add_magic_quotes(get_object_vars($user));
-
- // If password is changing, hash it now.
- if ( ! empty($userdata['user_pass']) ) {
- $plaintext_pass = $userdata['user_pass'];
- $userdata['user_pass'] = md5($userdata['user_pass']);
- }
-
- // Merge old and new fields with new fields overwriting old ones.
- $userdata = array_merge($user, $userdata);
- $user_id = wp_insert_user($userdata);
-
- // Update the cookies if the password changed.
- $current_user = wp_get_current_user();
- if( $current_user->id == $ID ) {
- if ( isset($plaintext_pass) ) {
- wp_clearcookie();
- wp_setcookie($userdata['user_login'], $plaintext_pass);
- }
- }
-
- return $user_id;
-}
-
-function wp_create_user( $username, $password, $email = '') {
- global $wpdb;
-
- $user_login = $wpdb->escape( $username );
- $user_email = $wpdb->escape( $email );
- $user_pass = $password;
-
- $userdata = compact('user_login', 'user_email', 'user_pass');
- return wp_insert_user($userdata);
-}
-
-
-function create_user( $username, $password, $email ) {
- return wp_create_user( $username, $password, $email );
-}
-
-
-?>
diff --git a/wp-inst/wp-includes/rewrite.php b/wp-inst/wp-includes/rewrite.php
deleted file mode 100644
index 178ee07..0000000
--- a/wp-inst/wp-includes/rewrite.php
+++ /dev/null
@@ -1,891 +0,0 @@
-<?php
-
-/* WP_Rewrite API
-*******************************************************************************/
-
-//Add a straight rewrite rule
-function add_rewrite_rule($regex, $redirect) {
- global $wp_rewrite;
- $wp_rewrite->add_rule($regex, $redirect);
-}
-
-//Add a new tag (like %postname%)
-//warning: you must call this on init or earlier, otherwise the query var addition stuff won't work
-function add_rewrite_tag($tagname, $regex) {
- //validation
- if (strlen($tagname) < 3 || $tagname{0} != '%' || $tagname{strlen($tagname)-1} != '%') {
- return;
- }
-
- $qv = trim($tagname, '%');
-
- global $wp_rewrite, $wp;
- $wp->add_query_var($qv);
- $wp_rewrite->add_rewrite_tag($tagname, $regex, $qv . '=');
-}
-
-//Add a new feed type like /atom1/
-function add_feed($feedname, $function) {
- global $wp_rewrite;
- if (!in_array($feedname, $wp_rewrite->feeds)) { //override the file if it is
- $wp_rewrite->feeds[] = $feedname;
- }
- $hook = 'do_feed_' . $feedname;
- remove_action($hook, $function, 10, 1);
- add_action($hook, $function, 10, 1);
- return $hook;
-}
-
-define('EP_PERMALINK', 1 );
-define('EP_ATTACHMENT', 2 );
-define('EP_DATE', 4 );
-define('EP_YEAR', 8 );
-define('EP_MONTH', 16 );
-define('EP_DAY', 32 );
-define('EP_ROOT', 64 );
-define('EP_COMMENTS', 128 );
-define('EP_SEARCH', 256 );
-define('EP_CATEGORIES', 512 );
-define('EP_AUTHORS', 1024);
-define('EP_PAGES', 2048);
-//pseudo-places
-define('EP_NONE', 0 );
-define('EP_ALL', 255);
-
-//and an endpoint, like /trackback/
-function add_rewrite_endpoint($name, $places) {
- global $wp_rewrite;
- $wp_rewrite->add_endpoint($name, $places);
-}
-
-// examine a url (supposedly from this blog) and try to
-// determine the post ID it represents.
-function url_to_postid($url) {
- global $wp_rewrite;
-
- // First, check to see if there is a 'p=N' or 'page_id=N' to match against
- preg_match('#[?&](p|page_id)=(\d+)#', $url, $values);
- $id = intval($values[2]);
- if ( $id ) return $id;
-
- // Check to see if we are using rewrite rules
- $rewrite = $wp_rewrite->wp_rewrite_rules();
-
- // Not using rewrite rules, and 'p=N' and 'page_id=N' methods failed, so we're out of options
- if ( empty($rewrite) )
- return 0;
-
- // $url cleanup by Mark Jaquith
- // This fixes things like #anchors, ?query=strings, missing 'www.',
- // added 'www.', or added 'index.php/' that will mess up our WP_Query
- // and return a false negative
-
- // Get rid of the #anchor
- $url_split = explode('#', $url);
- $url = $url_split[0];
-
- // Get rid of URI ?query=string
- $url_split = explode('?', $url);
- $url = $url_split[0];
-
- // Add 'www.' if it is absent and should be there
- if ( false !== strpos(get_settings('home'), '://www.') && false === strpos($url, '://www.') )
- $url = str_replace('://', '://www.', $url);
-
- // Strip 'www.' if it is present and shouldn't be
- if ( false === strpos(get_settings('home'), '://www.') )
- $url = str_replace('://www.', '://', $url);
-
- // Strip 'index.php/' if we're not using path info permalinks
- if ( false === strpos($rewrite, 'index.php/') )
- $url = str_replace('index.php/', '', $url);
-
- if ( false !== strpos($url, get_settings('home')) ) {
- // Chop off http://domain.com
- $url = str_replace(get_settings('home'), '', $url);
- } else {
- // Chop off /path/to/blog
- $home_path = parse_url(get_settings('home'));
- $home_path = $home_path['path'];
- $url = str_replace($home_path, '', $url);
- }
-
- // Trim leading and lagging slashes
- $url = trim($url, '/');
-
- $request = $url;
-
- // Done with cleanup
-
- // Look for matches.
- $request_match = $request;
- foreach ($rewrite as $match => $query) {
- // If the requesting file is the anchor of the match, prepend it
- // to the path info.
- if ( (! empty($url)) && (strpos($match, $url) === 0) ) {
- $request_match = $url . '/' . $request;
- }
-
- if ( preg_match("!^$match!", $request_match, $matches) ) {
- // Got a match.
- // Trim the query of everything up to the '?'.
- $query = preg_replace("!^.+\?!", '', $query);
-
- // Substitute the substring matches into the query.
- eval("\$query = \"$query\";");
- $query = new WP_Query($query);
- if ( $query->is_single || $query->is_page )
- return $query->post->ID;
- else
- return 0;
- }
- }
- return 0;
-}
-
-/* WP_Rewrite class
-*******************************************************************************/
-
-class WP_Rewrite {
- var $permalink_structure;
- var $category_base;
- var $category_structure;
- var $author_base = 'author';
- var $author_structure;
- var $date_structure;
- var $page_structure;
- var $search_base = 'search';
- var $search_structure;
- var $comments_base = 'comments';
- var $feed_base = 'feed';
- var $comments_feed_structure;
- var $feed_structure;
- var $front;
- var $root = '';
- var $index = 'index.php';
- var $matches = '';
- var $rules;
- var $extra_rules; //those not generated by the class, see add_rewrite_rule()
- var $non_wp_rules; //rules that don't redirect to WP's index.php
- var $endpoints;
- var $use_verbose_rules = false;
- var $rewritecode =
- array(
- '%year%',
- '%monthnum%',
- '%day%',
- '%hour%',
- '%minute%',
- '%second%',
- '%postname%',
- '%post_id%',
- '%category%',
- '%author%',
- '%pagename%',
- '%search%'
- );
-
- var $rewritereplace =
- array(
- '([0-9]{4})',
- '([0-9]{1,2})',
- '([0-9]{1,2})',
- '([0-9]{1,2})',
- '([0-9]{1,2})',
- '([0-9]{1,2})',
- '([^/]+)',
- '([0-9]+)',
- '(.+?)',
- '([^/]+)',
- '([^/]+)',
- '(.+)'
- );
-
- var $queryreplace =
- array (
- 'year=',
- 'monthnum=',
- 'day=',
- 'hour=',
- 'minute=',
- 'second=',
- 'name=',
- 'p=',
- 'category_name=',
- 'author_name=',
- 'pagename=',
- 's='
- );
-
- var $feeds = array ( 'feed', 'rdf', 'rss', 'rss2', 'atom' );
-
- function using_permalinks() {
- if (empty($this->permalink_structure))
- return false;
- else
- return true;
- }
-
- function using_index_permalinks() {
- if (empty($this->permalink_structure)) {
- return false;
- }
-
- // If the index is not in the permalink, we're using mod_rewrite.
- if (preg_match('#^/*' . $this->index . '#', $this->permalink_structure)) {
- return true;
- }
-
- return false;
- }
-
- function using_mod_rewrite_permalinks() {
- if ( $this->using_permalinks() && ! $this->using_index_permalinks())
- return true;
- else
- return false;
- }
-
- function preg_index($number) {
- $match_prefix = '$';
- $match_suffix = '';
-
- if (! empty($this->matches)) {
- $match_prefix = '$' . $this->matches . '[';
- $match_suffix = ']';
- }
-
- return "$match_prefix$number$match_suffix";
- }
-
- function page_rewrite_rules() {
- $uris = get_settings('page_uris');
- $attachment_uris = get_settings('page_attachment_uris');
-
- $rewrite_rules = array();
- $page_structure = $this->get_page_permastruct();
- if( is_array( $attachment_uris ) ) {
- foreach ($attachment_uris as $uri => $pagename) {
- $this->add_rewrite_tag('%pagename%', "($uri)", 'attachment=');
- $rewrite_rules = array_merge($rewrite_rules, $this->generate_rewrite_rules($page_structure, EP_PAGES));
- }
- }
- if( is_array( $uris ) ) {
- foreach ($uris as $uri => $pagename) {
- $this->add_rewrite_tag('%pagename%', "($uri)", 'pagename=');
- $rewrite_rules = array_merge($rewrite_rules, $this->generate_rewrite_rules($page_structure, EP_PAGES));
- }
- }
-
- return $rewrite_rules;
- }
-
- function get_date_permastruct() {
- if (isset($this->date_structure)) {
- return $this->date_structure;
- }
-
- if (empty($this->permalink_structure)) {
- $this->date_structure = '';
- return false;
- }
-
- // The date permalink must have year, month, and day separated by slashes.
- $endians = array('%year%/%monthnum%/%day%', '%day%/%monthnum%/%year%', '%monthnum%/%day%/%year%');
-
- $this->date_structure = '';
- $date_endian = '';
-
- foreach ($endians as $endian) {
- if (false !== strpos($this->permalink_structure, $endian)) {
- $date_endian= $endian;
- break;
- }
- }
-
- if ( empty($date_endian) )
- $date_endian = '%year%/%monthnum%/%day%';
-
- // Do not allow the date tags and %post_id% to overlap in the permalink
- // structure. If they do, move the date tags to $front/date/.
- $front = $this->front;
- preg_match_all('/%.+?%/', $this->permalink_structure, $tokens);
- $tok_index = 1;
- foreach ($tokens[0] as $token) {
- if ( ($token == '%post_id%') && ($tok_index <= 3) ) {
- $front = $front . 'date/';
- break;
- }
- }
-
- $this->date_structure = $front . $date_endian;
-
- return $this->date_structure;
- }
-
- function get_year_permastruct() {
- $structure = $this->get_date_permastruct($this->permalink_structure);
-
- if (empty($structure)) {
- return false;
- }
-
- $structure = str_replace('%monthnum%', '', $structure);
- $structure = str_replace('%day%', '', $structure);
-
- $structure = preg_replace('#/+#', '/', $structure);
-
- return $structure;
- }
-
- function get_month_permastruct() {
- $structure = $this->get_date_permastruct($this->permalink_structure);
-
- if (empty($structure)) {
- return false;
- }
-
- $structure = str_replace('%day%', '', $structure);
-
- $structure = preg_replace('#/+#', '/', $structure);
-
- return $structure;
- }
-
- function get_day_permastruct() {
- return $this->get_date_permastruct($this->permalink_structure);
- }
-
- function get_category_permastruct() {
- if (isset($this->category_structure)) {
- return $this->category_structure;
- }
-
- if (empty($this->permalink_structure)) {
- $this->category_structure = '';
- return false;
- }
-
- if (empty($this->category_base))
- $this->category_structure = $this->front . 'category/';
- else
- $this->category_structure = $this->category_base . '/';
-
- $this->category_structure .= '%category%';
-
- return $this->category_structure;
- }
-
- function get_author_permastruct() {
- if (isset($this->author_structure)) {
- return $this->author_structure;
- }
-
- if (empty($this->permalink_structure)) {
- $this->author_structure = '';
- return false;
- }
-
- $this->author_structure = $this->front . $this->author_base . '/%author%';
-
- return $this->author_structure;
- }
-
- function get_search_permastruct() {
- if (isset($this->search_structure)) {
- return $this->search_structure;
- }
-
- if (empty($this->permalink_structure)) {
- $this->search_structure = '';
- return false;
- }
-
- $this->search_structure = $this->root . $this->search_base . '/%search%';
-
- return $this->search_structure;
- }
-
- function get_page_permastruct() {
- if (isset($this->page_structure)) {
- return $this->page_structure;
- }
-
- if (empty($this->permalink_structure)) {
- $this->page_structure = '';
- return false;
- }
-
- $this->page_structure = $this->root . '%pagename%';
-
- return $this->page_structure;
- }
-
- function get_feed_permastruct() {
- if (isset($this->feed_structure)) {
- return $this->feed_structure;
- }
-
- if (empty($this->permalink_structure)) {
- $this->feed_structure = '';
- return false;
- }
-
- $this->feed_structure = $this->root . $this->feed_base . '/%feed%';
-
- return $this->feed_structure;
- }
-
- function get_comment_feed_permastruct() {
- if (isset($this->comment_feed_structure)) {
- return $this->comment_feed_structure;
- }
-
- if (empty($this->permalink_structure)) {
- $this->comment_feed_structure = '';
- return false;
- }
-
- $this->comment_feed_structure = $this->root . $this->comments_base . '/' . $this->feed_base . '/%feed%';
-
- return $this->comment_feed_structure;
- }
-
- function add_rewrite_tag($tag, $pattern, $query) {
- // If the tag already exists, replace the existing pattern and query for
- // that tag, otherwise add the new tag, pattern, and query to the end of
- // the arrays.
- $position = array_search($tag, $this->rewritecode);
- if (FALSE !== $position && NULL !== $position) {
- $this->rewritereplace[$position] = $pattern;
- $this->queryreplace[$position] = $query;
- } else {
- $this->rewritecode[] = $tag;
- $this->rewritereplace[] = $pattern;
- $this->queryreplace[] = $query;
- }
- }
-
- //the main WP_Rewrite function. generate the rules from permalink structure
- function generate_rewrite_rules($permalink_structure, $ep_mask = EP_NONE, $paged = true, $feed = true, $forcomments = false, $walk_dirs = true, $endpoints = true) {
- //build a regex to match the feed section of URLs, something like (feed|atom|rss|rss2)/?
- $feedregex2 = '';
- foreach ($this->feeds as $feed_name) {
- $feedregex2 .= $feed_name . '|';
- }
- $feedregex2 = '(' . trim($feedregex2, '|') . ')/?$';
- //$feedregex is identical but with /feed/ added on as well, so URLs like <permalink>/feed/atom
- //and <permalink>/atom are both possible
- $feedregex = $this->feed_base . '/' . $feedregex2;
-
- //build a regex to match the trackback and page/xx parts of URLs
- $trackbackregex = 'trackback/?$';
- $pageregex = 'page/?([0-9]{1,})/?$';
-
- //build up an array of endpoint regexes to append => queries to append
- if ($endpoints) {
- $ep_query_append = array ();
- foreach ($this->endpoints as $endpoint) {
- //match everything after the endpoint name, but allow for nothing to appear there
- $epmatch = $endpoint[1] . '(/(.*))?/?$';
- //this will be appended on to the rest of the query for each dir
- $epquery = '&' . $endpoint[1] . '=';
- $ep_query_append[$epmatch] = array ( $endpoint[0], $epquery );
- }
- }
-
- //get everything up to the first rewrite tag
- $front = substr($permalink_structure, 0, strpos($permalink_structure, '%'));
- //build an array of the tags (note that said array ends up being in $tokens[0])
- preg_match_all('/%.+?%/', $permalink_structure, $tokens);
-
- $num_tokens = count($tokens[0]);
-
- $index = $this->index; //probably 'index.php'
- $feedindex = $index;
- $trackbackindex = $index;
- //build a list from the rewritecode and queryreplace arrays, that will look something like
- //tagname=$matches[i] where i is the current $i
- for ($i = 0; $i < $num_tokens; ++$i) {
- if (0 < $i) {
- $queries[$i] = $queries[$i - 1] . '&';
- }
-
- $query_token = str_replace($this->rewritecode, $this->queryreplace, $tokens[0][$i]) . $this->preg_index($i+1);
- $queries[$i] .= $query_token;
- }
-
- //get the structure, minus any cruft (stuff that isn't tags) at the front
- $structure = $permalink_structure;
- if ($front != '/') {
- $structure = str_replace($front, '', $structure);
- }
- //create a list of dirs to walk over, making rewrite rules for each level
- //so for example, a $structure of /%year%/%month%/%postname% would create
- //rewrite rules for /%year%/, /%year%/%month%/ and /%year%/%month%/%postname%
- $structure = trim($structure, '/');
- if ($walk_dirs) {
- $dirs = explode('/', $structure);
- } else {
- $dirs[] = $structure;
- }
- $num_dirs = count($dirs);
-
- //strip slashes from the front of $front
- $front = preg_replace('|^/+|', '', $front);
-
- //the main workhorse loop
- $post_rewrite = array();
- $struct = $front;
- for ($j = 0; $j < $num_dirs; ++$j) {
- //get the struct for this dir, and trim slashes off the front
- $struct .= $dirs[$j] . '/'; //accumulate. see comment near explode('/', $structure) above
- $struct = ltrim($struct, '/');
- //replace tags with regexes
- $match = str_replace($this->rewritecode, $this->rewritereplace, $struct);
- //make a list of tags, and store how many there are in $num_toks
- $num_toks = preg_match_all('/%.+?%/', $struct, $toks);
- //get the 'tagname=$matches[i]'
- $query = $queries[$num_toks - 1];
-
- //set up $ep_mask_specific which is used to match more specific URL types
- switch ($dirs[$j]) {
- case '%year%': $ep_mask_specific = EP_YEAR; break;
- case '%monthnum%': $ep_mask_specific = EP_MONTH; break;
- case '%day%': $ep_mask_specific = EP_DAY; break;
- }
-
- //create query for /page/xx
- $pagematch = $match . $pageregex;
- $pagequery = $index . '?' . $query . '&paged=' . $this->preg_index($num_toks + 1);
-
- //create query for /feed/(feed|atom|rss|rss2|rdf)
- $feedmatch = $match . $feedregex;
- $feedquery = $feedindex . '?' . $query . '&feed=' . $this->preg_index($num_toks + 1);
-
- //create query for /(feed|atom|rss|rss2|rdf) (see comment near creation of $feedregex)
- $feedmatch2 = $match . $feedregex2;
- $feedquery2 = $feedindex . '?' . $query . '&feed=' . $this->preg_index($num_toks + 1);
-
- //if asked to, turn the feed queries into comment feed ones
- if ($forcomments) {
- $feedquery .= '&withcomments=1';
- $feedquery2 .= '&withcomments=1';
- }
-
- //start creating the array of rewrites for this dir
- $rewrite = array();
- if ($feed) //...adding on /feed/ regexes => queries
- $rewrite = array($feedmatch => $feedquery, $feedmatch2 => $feedquery2);
- if ($paged) //...and /page/xx ones
- $rewrite = array_merge($rewrite, array($pagematch => $pagequery));
-
- //if we've got some tags in this dir
- if ($num_toks) {
- $post = false;
- $page = false;
-
- //check to see if this dir is permalink-level: i.e. the structure specifies an
- //individual post. Do this by checking it contains at least one of 1) post name,
- //2) post ID, 3) page name, 4) timestamp (year, month, day, hour, second and
- //minute all present). Set these flags now as we need them for the endpoints.
- if (strstr($struct, '%postname%') || strstr($struct, '%post_id%')
- || strstr($struct, '%pagename%')
- || (strstr($struct, '%year%') && strstr($struct, '%monthnum%') && strstr($struct, '%day%') && strstr($struct, '%hour%') && strstr($struct, '%minute') && strstr($struct, '%second%'))) {
- $post = true;
- if ( strstr($struct, '%pagename%') )
- $page = true;
- }
-
- //do endpoints
- if ($endpoints) {
- foreach ($ep_query_append as $regex => $ep) {
- //add the endpoints on if the mask fits
- if ($ep[0] & $ep_mask || $ep[0] & $ep_mask_specific) {
- $rewrite[$match . $regex] = $index . '?' . $query . $ep[1] . $this->preg_index($num_toks + 2);
- }
- }
- }
-
- //if we're creating rules for a permalink, do all the endpoints like attachments etc
- if ($post) {
- $post = true;
- //create query and regex for trackback
- $trackbackmatch = $match . $trackbackregex;
- $trackbackquery = $trackbackindex . '?' . $query . '&tb=1';
- //trim slashes from the end of the regex for this dir
- $match = rtrim($match, '/');
- //get rid of brackets
- $submatchbase = str_replace(array('(',')'),'',$match);
-
- //add a rule for at attachments, which take the form of <permalink>/some-text
- $sub1 = $submatchbase . '/([^/]+)/';
- $sub1tb = $sub1 . $trackbackregex; //add trackback regex <permalink>/trackback/...
- $sub1feed = $sub1 . $feedregex; //and <permalink>/feed/(atom|...)
- $sub1feed2 = $sub1 . $feedregex2; //and <permalink>/(feed|atom...)
- //add an ? as we don't have to match that last slash, and finally a $ so we
- //match to the end of the URL
-
- //add another rule to match attachments in the explicit form:
- //<permalink>/attachment/some-text
- $sub2 = $submatchbase . '/attachment/([^/]+)/';
- $sub2tb = $sub2 . $trackbackregex; //and add trackbacks <permalink>/attachment/trackback
- $sub2feed = $sub2 . $feedregex; //feeds, <permalink>/attachment/feed/(atom|...)
- $sub2feed2 = $sub2 . $feedregex2; //and feeds again on to this <permalink>/attachment/(feed|atom...)
-
- //create queries for these extra tag-ons we've just dealt with
- $subquery = $index . '?attachment=' . $this->preg_index(1);
- $subtbquery = $subquery . '&tb=1';
- $subfeedquery = $subquery . '&feed=' . $this->preg_index(2);
-
- //do endpoints for attachments
- if ($endpoint) { foreach ($ep_query_append as $regex => $ep) {
- if ($ep[0] & EP_ATTACHMENT) {
- $rewrite[$sub1 . $regex] = $subquery . '?' . $ep[1] . $this->preg_index(2);
- $rewrite[$sub2 . $regex] = $subquery . '?' . $ep[1] . $this->preg_index(2);
- }
- } }
-
- //now we've finished with endpoints, finish off the $sub1 and $sub2 matches
- $sub1 .= '?$';
- $sub2 .= '?$';
-
- //allow URLs like <permalink>/2 for <permalink>/page/2
- $match = $match . '(/[0-9]+)?/?$';
- $query = $index . '?' . $query . '&page=' . $this->preg_index($num_toks + 1);
- } else { //not matching a permalink so this is a lot simpler
- //close the match and finalise the query
- $match .= '?$';
- $query = $index . '?' . $query;
- }
-
- //create the final array for this dir by joining the $rewrite array (which currently
- //only contains rules/queries for trackback, pages etc) to the main regex/query for
- //this dir
- $rewrite = array_merge($rewrite, array($match => $query));
-
- //if we're matching a permalink, add those extras (attachments etc) on
- if ($post) {
- //add trackback
- $rewrite = array_merge(array($trackbackmatch => $trackbackquery), $rewrite);
-
- //add regexes/queries for attachments, attachment trackbacks and so on
- if ( ! $page ) //require <permalink>/attachment/stuff form for pages because of confusion with subpages
- $rewrite = array_merge($rewrite, array($sub1 => $subquery, $sub1tb => $subtbquery, $sub1feed => $subfeedquery, $sub1feed2 => $subfeedquery));
- $rewrite = array_merge($rewrite, array($sub2 => $subquery, $sub2tb => $subtbquery, $sub2feed => $subfeedquery, $sub2feed2 => $subfeedquery));
- }
- } //if($num_toks)
- //add the rules for this dir to the accumulating $post_rewrite
- $post_rewrite = array_merge($rewrite, $post_rewrite);
- } //foreach ($dir)
- return $post_rewrite; //the finished rules. phew!
- }
-
- function generate_rewrite_rule($permalink_structure, $walk_dirs = false) {
- return $this->generate_rewrite_rules($permalink_structure, EP_NONE, false, false, false, $walk_dirs);
- }
-
- /* rewrite_rules
- * Construct rewrite matches and queries from permalink structure.
- * Returns an associate array of matches and queries.
- */
- function rewrite_rules() {
- $rewrite = array();
-
- if (empty($this->permalink_structure)) {
- return $rewrite;
- }
-
- // robots.txt
- $robots_rewrite = array('robots.txt$' => $this->index . '?robots=1');
-
- // Post
- $post_rewrite = $this->generate_rewrite_rules($this->permalink_structure, EP_PERMALINK);
- $post_rewrite = apply_filters('post_rewrite_rules', $post_rewrite);
-
- // Date
- $date_rewrite = $this->generate_rewrite_rules($this->get_date_permastruct(), EP_DATE);
- $date_rewrite = apply_filters('date_rewrite_rules', $date_rewrite);
-
- // Root
- $root_rewrite = $this->generate_rewrite_rules($this->root . '/', EP_ROOT);
- $root_rewrite = apply_filters('root_rewrite_rules', $root_rewrite);
-
- // Comments
- $comments_rewrite = $this->generate_rewrite_rules($this->root . $this->comments_base, EP_COMMENTS, true, true, true, false);
- $comments_rewrite = apply_filters('comments_rewrite_rules', $comments_rewrite);
-
- // Search
- $search_structure = $this->get_search_permastruct();
- $search_rewrite = $this->generate_rewrite_rules($search_structure, EP_SEARCH);
- $search_rewrite = apply_filters('search_rewrite_rules', $search_rewrite);
-
- // Categories
- $category_rewrite = $this->generate_rewrite_rules($this->get_category_permastruct(), EP_CATEGORIES);
- $category_rewrite = apply_filters('category_rewrite_rules', $category_rewrite);
-
- // Authors
- $author_rewrite = $this->generate_rewrite_rules($this->get_author_permastruct(), EP_AUTHORS);
- $author_rewrite = apply_filters('author_rewrite_rules', $author_rewrite);
-
- // Pages
- $page_rewrite = $this->page_rewrite_rules();
- $page_rewrite = apply_filters('page_rewrite_rules', $page_rewrite);
-
- // Put them together.
- $this->rules = array_merge($robots_rewrite, $page_rewrite, $root_rewrite, $comments_rewrite, $search_rewrite, $category_rewrite, $author_rewrite, $date_rewrite, $post_rewrite, $this->extra_rules);
-
- do_action('generate_rewrite_rules', array(&$this));
- $this->rules = apply_filters('rewrite_rules_array', $this->rules);
-
- return $this->rules;
- }
-
- function wp_rewrite_rules() {
- $this->rules = get_option('rewrite_rules');
- if ( empty($this->rules) ) {
- $this->matches = 'matches';
- $this->rewrite_rules();
- update_option('rewrite_rules', $this->rules);
- }
-
- return $this->rules;
- }
-
- function mod_rewrite_rules() {
- if ( ! $this->using_permalinks()) {
- return '';
- }
-
- $site_root = parse_url(get_settings('siteurl'));
- $site_root = trailingslashit($site_root['path']);
-
- $home_root = parse_url(get_settings('home'));
- $home_root = trailingslashit($home_root['path']);
-
- $rules = "<IfModule mod_rewrite.c>\n";
- $rules .= "RewriteEngine On\n";
- $rules .= "RewriteBase $home_root\n";
-
- //add in the rules that don't redirect to WP's index.php (and thus shouldn't be handled by WP at all)
- foreach ($this->non_wp_rules as $match => $query) {
- // Apache 1.3 does not support the reluctant (non-greedy) modifier.
- $match = str_replace('.+?', '.+', $match);
-
- // If the match is unanchored and greedy, prepend rewrite conditions
- // to avoid infinite redirects and eclipsing of real files.
- if ($match == '(.+)/?$' || $match == '([^/]+)/?$' ) {
- //nada.
- }
-
- $rules .= 'RewriteRule ^' . $match . ' ' . $home_root . $query . " [QSA,L]\n";
- }
-
- if ($this->use_verbose_rules) {
- $this->matches = '';
- $rewrite = $this->rewrite_rules();
- $num_rules = count($rewrite);
- $rules .= "RewriteCond %{REQUEST_FILENAME} -f [OR]\n" .
- "RewriteCond %{REQUEST_FILENAME} -d\n" .
- "RewriteRule ^.*$ - [S=$num_rules]\n";
-
- foreach ($rewrite as $match => $query) {
- // Apache 1.3 does not support the reluctant (non-greedy) modifier.
- $match = str_replace('.+?', '.+', $match);
-
- // If the match is unanchored and greedy, prepend rewrite conditions
- // to avoid infinite redirects and eclipsing of real files.
- if ($match == '(.+)/?$' || $match == '([^/]+)/?$' ) {
- //nada.
- }
-
- if (strstr($query, $this->index)) {
- $rules .= 'RewriteRule ^' . $match . ' ' . $home_root . $query . " [QSA,L]\n";
- } else {
- $rules .= 'RewriteRule ^' . $match . ' ' . $site_root . $query . " [QSA,L]\n";
- }
- }
- } else {
- $rules .= "RewriteCond %{REQUEST_FILENAME} !-f\n" .
- "RewriteCond %{REQUEST_FILENAME} !-d\n" .
- "RewriteRule . {$home_root}{$this->index} [L]\n";
- }
-
- $rules .= "</IfModule>\n";
-
- $rules = apply_filters('mod_rewrite_rules', $rules);
- $rules = apply_filters('rewrite_rules', $rules); // Deprecated
-
- return $rules;
- }
-
- //Add a straight rewrite rule
- function add_rule($regex, $redirect) {
- //get everything up to the first ?
- $index = (strpos($redirect, '?') == false ? strlen($redirect) : strpos($redirect, '?'));
- $front = substr($redirect, 0, $index);
- if ($front != $this->index) { //it doesn't redirect to WP's index.php
- $this->add_external_rule($regex, $redirect);
- } else {
- $this->extra_rules[$regex] = $redirect;
- }
- }
-
- //add a rule that doesn't redirect to index.php
- function add_external_rule($regex, $redirect) {
- $this->non_wp_rules[$regex] = $redirect;
- }
-
- //add an endpoint, like /trackback/, to be inserted after certain URL types (specified in $places)
- function add_endpoint($name, $places) {
- global $wp;
- $this->endpoints[] = array ( $places, $name );
- $wp->add_query_var($name);
- }
-
- function flush_rules() {
- generate_page_uri_index();
- delete_option('rewrite_rules');
- $this->wp_rewrite_rules();
- if ( function_exists('save_mod_rewrite_rules') )
- save_mod_rewrite_rules();
- }
-
- function init() {
- $this->extra_rules = $this->non_wp_rules = $this->endpoints = array();
- $this->permalink_structure = get_settings('permalink_structure');
- $this->front = substr($this->permalink_structure, 0, strpos($this->permalink_structure, '%'));
- $this->root = '';
- if ($this->using_index_permalinks()) {
- $this->root = $this->index . '/';
- }
- $this->category_base = get_settings('category_base');
- unset($this->category_structure);
- unset($this->author_structure);
- unset($this->date_structure);
- unset($this->page_structure);
- unset($this->search_structure);
- unset($this->feed_structure);
- unset($this->comment_feed_structure);
- }
-
- function set_permalink_structure($permalink_structure) {
- if ($permalink_structure != $this->permalink_structure) {
- update_option('permalink_structure', $permalink_structure);
- $this->init();
- }
- }
-
- function set_category_base($category_base) {
- if ($category_base != $this->category_base) {
- update_option('category_base', $category_base);
- $this->init();
- }
- }
-
- function WP_Rewrite() {
- $this->init();
- }
-}
-
-?>
diff --git a/wp-inst/wp-includes/rss.php b/wp-inst/wp-includes/rss.php
deleted file mode 100644
index 2f99d3f..0000000
--- a/wp-inst/wp-includes/rss.php
+++ /dev/null
@@ -1,861 +0,0 @@
-<?php
-/*
- * Project: MagpieRSS: a simple RSS integration tool
- * File: A compiled file for RSS syndication
- * Author: Kellan Elliott-McCrea <kellan@protest.net>
- * Version: 0.51
- * License: GPL
- */
-
-define('RSS', 'RSS');
-define('ATOM', 'Atom');
-define('MAGPIE_USER_AGENT', 'WordPress/' . $wp_version);
-
-class MagpieRSS {
- var $parser;
- var $current_item = array(); // item currently being parsed
- var $items = array(); // collection of parsed items
- var $channel = array(); // hash of channel fields
- var $textinput = array();
- var $image = array();
- var $feed_type;
- var $feed_version;
-
- // parser variables
- var $stack = array(); // parser stack
- var $inchannel = false;
- var $initem = false;
- var $incontent = false; // if in Atom <content mode="xml"> field
- var $intextinput = false;
- var $inimage = false;
- var $current_field = '';
- var $current_namespace = false;
-
- //var $ERROR = "";
-
- var $_CONTENT_CONSTRUCTS = array('content', 'summary', 'info', 'title', 'tagline', 'copyright');
-
- function MagpieRSS ($source) {
-
- # if PHP xml isn't compiled in, die
- #
- if ( !function_exists('xml_parser_create') )
- trigger_error( "Failed to load PHP's XML Extension. http://www.php.net/manual/en/ref.xml.php" );
-
- $parser = @xml_parser_create();
-
- if ( !is_resource($parser) )
- trigger_error( "Failed to create an instance of PHP's XML parser. http://www.php.net/manual/en/ref.xml.php");
-
-
- $this->parser = $parser;
-
- # pass in parser, and a reference to this object
- # setup handlers
- #
- xml_set_object( $this->parser, $this );
- xml_set_element_handler($this->parser,
- 'feed_start_element', 'feed_end_element' );
-
- xml_set_character_data_handler( $this->parser, 'feed_cdata' );
-
- $status = xml_parse( $this->parser, $source );
-
- if (! $status ) {
- $errorcode = xml_get_error_code( $this->parser );
- if ( $errorcode != XML_ERROR_NONE ) {
- $xml_error = xml_error_string( $errorcode );
- $error_line = xml_get_current_line_number($this->parser);
- $error_col = xml_get_current_column_number($this->parser);
- $errormsg = "$xml_error at line $error_line, column $error_col";
-
- $this->error( $errormsg );
- }
- }
-
- xml_parser_free( $this->parser );
-
- $this->normalize();
- }
-
- function feed_start_element($p, $element, &$attrs) {
- $el = $element = strtolower($element);
- $attrs = array_change_key_case($attrs, CASE_LOWER);
-
- // check for a namespace, and split if found
- $ns = false;
- if ( strpos( $element, ':' ) ) {
- list($ns, $el) = split( ':', $element, 2);
- }
- if ( $ns and $ns != 'rdf' ) {
- $this->current_namespace = $ns;
- }
-
- # if feed type isn't set, then this is first element of feed
- # identify feed from root element
- #
- if (!isset($this->feed_type) ) {
- if ( $el == 'rdf' ) {
- $this->feed_type = RSS;
- $this->feed_version = '1.0';
- }
- elseif ( $el == 'rss' ) {
- $this->feed_type = RSS;
- $this->feed_version = $attrs['version'];
- }
- elseif ( $el == 'feed' ) {
- $this->feed_type = ATOM;
- $this->feed_version = $attrs['version'];
- $this->inchannel = true;
- }
- return;
- }
-
- if ( $el == 'channel' )
- {
- $this->inchannel = true;
- }
- elseif ($el == 'item' or $el == 'entry' )
- {
- $this->initem = true;
- if ( isset($attrs['rdf:about']) ) {
- $this->current_item['about'] = $attrs['rdf:about'];
- }
- }
-
- // if we're in the default namespace of an RSS feed,
- // record textinput or image fields
- elseif (
- $this->feed_type == RSS and
- $this->current_namespace == '' and
- $el == 'textinput' )
- {
- $this->intextinput = true;
- }
-
- elseif (
- $this->feed_type == RSS and
- $this->current_namespace == '' and
- $el == 'image' )
- {
- $this->inimage = true;
- }
-
- # handle atom content constructs
- elseif ( $this->feed_type == ATOM and in_array($el, $this->_CONTENT_CONSTRUCTS) )
- {
- // avoid clashing w/ RSS mod_content
- if ($el == 'content' ) {
- $el = 'atom_content';
- }
-
- $this->incontent = $el;
-
-
- }
-
- // if inside an Atom content construct (e.g. content or summary) field treat tags as text
- elseif ($this->feed_type == ATOM and $this->incontent )
- {
- // if tags are inlined, then flatten
- $attrs_str = join(' ',
- array_map('map_attrs',
- array_keys($attrs),
- array_values($attrs) ) );
-
- $this->append_content( "<$element $attrs_str>" );
-
- array_unshift( $this->stack, $el );
- }
-
- // Atom support many links per containging element.
- // Magpie treats link elements of type rel='alternate'
- // as being equivalent to RSS's simple link element.
- //
- elseif ($this->feed_type == ATOM and $el == 'link' )
- {
- if ( isset($attrs['rel']) and $attrs['rel'] == 'alternate' )
- {
- $link_el = 'link';
- }
- else {
- $link_el = 'link_' . $attrs['rel'];
- }
-
- $this->append($link_el, $attrs['href']);
- }
- // set stack[0] to current element
- else {
- array_unshift($this->stack, $el);
- }
- }
-
-
-
- function feed_cdata ($p, $text) {
-
- if ($this->feed_type == ATOM and $this->incontent)
- {
- $this->append_content( $text );
- }
- else {
- $current_el = join('_', array_reverse($this->stack));
- $this->append($current_el, $text);
- }
- }
-
- function feed_end_element ($p, $el) {
- $el = strtolower($el);
-
- if ( $el == 'item' or $el == 'entry' )
- {
- $this->items[] = $this->current_item;
- $this->current_item = array();
- $this->initem = false;
- }
- elseif ($this->feed_type == RSS and $this->current_namespace == '' and $el == 'textinput' )
- {
- $this->intextinput = false;
- }
- elseif ($this->feed_type == RSS and $this->current_namespace == '' and $el == 'image' )
- {
- $this->inimage = false;
- }
- elseif ($this->feed_type == ATOM and in_array($el, $this->_CONTENT_CONSTRUCTS) )
- {
- $this->incontent = false;
- }
- elseif ($el == 'channel' or $el == 'feed' )
- {
- $this->inchannel = false;
- }
- elseif ($this->feed_type == ATOM and $this->incontent ) {
- // balance tags properly
- // note: i don't think this is actually neccessary
- if ( $this->stack[0] == $el )
- {
- $this->append_content("</$el>");
- }
- else {
- $this->append_content("<$el />");
- }
-
- array_shift( $this->stack );
- }
- else {
- array_shift( $this->stack );
- }
-
- $this->current_namespace = false;
- }
-
- function concat (&$str1, $str2="") {
- if (!isset($str1) ) {
- $str1="";
- }
- $str1 .= $str2;
- }
-
- function append_content($text) {
- if ( $this->initem ) {
- $this->concat( $this->current_item[ $this->incontent ], $text );
- }
- elseif ( $this->inchannel ) {
- $this->concat( $this->channel[ $this->incontent ], $text );
- }
- }
-
- // smart append - field and namespace aware
- function append($el, $text) {
- if (!$el) {
- return;
- }
- if ( $this->current_namespace )
- {
- if ( $this->initem ) {
- $this->concat(
- $this->current_item[ $this->current_namespace ][ $el ], $text);
- }
- elseif ($this->inchannel) {
- $this->concat(
- $this->channel[ $this->current_namespace][ $el ], $text );
- }
- elseif ($this->intextinput) {
- $this->concat(
- $this->textinput[ $this->current_namespace][ $el ], $text );
- }
- elseif ($this->inimage) {
- $this->concat(
- $this->image[ $this->current_namespace ][ $el ], $text );
- }
- }
- else {
- if ( $this->initem ) {
- $this->concat(
- $this->current_item[ $el ], $text);
- }
- elseif ($this->intextinput) {
- $this->concat(
- $this->textinput[ $el ], $text );
- }
- elseif ($this->inimage) {
- $this->concat(
- $this->image[ $el ], $text );
- }
- elseif ($this->inchannel) {
- $this->concat(
- $this->channel[ $el ], $text );
- }
-
- }
- }
-
- function normalize () {
- // if atom populate rss fields
- if ( $this->is_atom() ) {
- $this->channel['descripton'] = $this->channel['tagline'];
- for ( $i = 0; $i < count($this->items); $i++) {
- $item = $this->items[$i];
- if ( isset($item['summary']) )
- $item['description'] = $item['summary'];
- if ( isset($item['atom_content']))
- $item['content']['encoded'] = $item['atom_content'];
-
- $this->items[$i] = $item;
- }
- }
- elseif ( $this->is_rss() ) {
- $this->channel['tagline'] = $this->channel['description'];
- for ( $i = 0; $i < count($this->items); $i++) {
- $item = $this->items[$i];
- if ( isset($item['description']))
- $item['summary'] = $item['description'];
- if ( isset($item['content']['encoded'] ) )
- $item['atom_content'] = $item['content']['encoded'];
-
- $this->items[$i] = $item;
- }
- }
- }
-
- function is_rss () {
- if ( $this->feed_type == RSS ) {
- return $this->feed_version;
- }
- else {
- return false;
- }
- }
-
- function is_atom() {
- if ( $this->feed_type == ATOM ) {
- return $this->feed_version;
- }
- else {
- return false;
- }
- }
-
- function map_attrs($k, $v) {
- return "$k=\"$v\"";
- }
-
- function error( $errormsg, $lvl = E_USER_WARNING ) {
- // append PHP's error message if track_errors enabled
- if ( isset($php_errormsg) ) {
- $errormsg .= " ($php_errormsg)";
- }
- if ( MAGPIE_DEBUG ) {
- trigger_error( $errormsg, $lvl);
- } else {
- error_log( $errormsg, 0);
- }
- }
-
-}
-
-function map_attrs($k, $v) {
- return "$k=\"$v\"";
-}
-
-require_once( dirname(__FILE__) . '/class-snoopy.php');
-
-function fetch_rss ($url) {
- // initialize constants
- init();
-
- if ( !isset($url) ) {
- // error("fetch_rss called without a url");
- return false;
- }
-
- // if cache is disabled
- if ( !MAGPIE_CACHE_ON ) {
- // fetch file, and parse it
- $resp = _fetch_remote_file( $url );
- if ( is_success( $resp->status ) ) {
- return _response_to_rss( $resp );
- }
- else {
- // error("Failed to fetch $url and cache is off");
- return false;
- }
- }
- // else cache is ON
- else {
- // Flow
- // 1. check cache
- // 2. if there is a hit, make sure its fresh
- // 3. if cached obj fails freshness check, fetch remote
- // 4. if remote fails, return stale object, or error
-
- $cache = new RSSCache( MAGPIE_CACHE_DIR, MAGPIE_CACHE_AGE );
-
- if (MAGPIE_DEBUG and $cache->ERROR) {
- debug($cache->ERROR, E_USER_WARNING);
- }
-
-
- $cache_status = 0; // response of check_cache
- $request_headers = array(); // HTTP headers to send with fetch
- $rss = 0; // parsed RSS object
- $errormsg = 0; // errors, if any
-
- if (!$cache->ERROR) {
- // return cache HIT, MISS, or STALE
- $cache_status = $cache->check_cache( $url );
- }
-
- // if object cached, and cache is fresh, return cached obj
- if ( $cache_status == 'HIT' ) {
- $rss = $cache->get( $url );
- if ( isset($rss) and $rss ) {
- $rss->from_cache = 1;
- if ( MAGPIE_DEBUG > 1) {
- debug("MagpieRSS: Cache HIT", E_USER_NOTICE);
- }
- return $rss;
- }
- }
-
- // else attempt a conditional get
-
- // setup headers
- if ( $cache_status == 'STALE' ) {
- $rss = $cache->get( $url );
- if ( $rss->etag and $rss->last_modified ) {
- $request_headers['If-None-Match'] = $rss->etag;
- $request_headers['If-Last-Modified'] = $rss->last_modified;
- }
- }
-
- $resp = _fetch_remote_file( $url, $request_headers );
-
- if (isset($resp) and $resp) {
- if ($resp->status == '304' ) {
- // we have the most current copy
- if ( MAGPIE_DEBUG > 1) {
- debug("Got 304 for $url");
- }
- // reset cache on 304 (at minutillo insistent prodding)
- $cache->set($url, $rss);
- return $rss;
- }
- elseif ( is_success( $resp->status ) ) {
- $rss = _response_to_rss( $resp );
- if ( $rss ) {
- if (MAGPIE_DEBUG > 1) {
- debug("Fetch successful");
- }
- // add object to cache
- $cache->set( $url, $rss );
- return $rss;
- }
- }
- else {
- $errormsg = "Failed to fetch $url. ";
- if ( $resp->error ) {
- # compensate for Snoopy's annoying habbit to tacking
- # on '\n'
- $http_error = substr($resp->error, 0, -2);
- $errormsg .= "(HTTP Error: $http_error)";
- }
- else {
- $errormsg .= "(HTTP Response: " . $resp->response_code .')';
- }
- }
- }
- else {
- $errormsg = "Unable to retrieve RSS file for unknown reasons.";
- }
-
- // else fetch failed
-
- // attempt to return cached object
- if ($rss) {
- if ( MAGPIE_DEBUG ) {
- debug("Returning STALE object for $url");
- }
- return $rss;
- }
-
- // else we totally failed
- // error( $errormsg );
-
- return false;
-
- } // end if ( !MAGPIE_CACHE_ON ) {
-} // end fetch_rss()
-
-function _fetch_remote_file ($url, $headers = "" ) {
- // Snoopy is an HTTP client in PHP
- $client = new Snoopy();
- $client->agent = MAGPIE_USER_AGENT;
- $client->read_timeout = MAGPIE_FETCH_TIME_OUT;
- $client->use_gzip = MAGPIE_USE_GZIP;
- if (is_array($headers) ) {
- $client->rawheaders = $headers;
- }
-
- @$client->fetch($url);
- return $client;
-
-}
-
-function _response_to_rss ($resp) {
- $rss = new MagpieRSS( $resp->results );
-
- // if RSS parsed successfully
- if ( $rss and !$rss->ERROR) {
-
- // find Etag, and Last-Modified
- foreach($resp->headers as $h) {
- // 2003-03-02 - Nicola Asuni (www.tecnick.com) - fixed bug "Undefined offset: 1"
- if (strpos($h, ": ")) {
- list($field, $val) = explode(": ", $h, 2);
- }
- else {
- $field = $h;
- $val = "";
- }
-
- if ( $field == 'ETag' ) {
- $rss->etag = $val;
- }
-
- if ( $field == 'Last-Modified' ) {
- $rss->last_modified = $val;
- }
- }
-
- return $rss;
- } // else construct error message
- else {
- $errormsg = "Failed to parse RSS file.";
-
- if ($rss) {
- $errormsg .= " (" . $rss->ERROR . ")";
- }
- // error($errormsg);
-
- return false;
- } // end if ($rss and !$rss->error)
-}
-
-/*=======================================================================*\
- Function: init
- Purpose: setup constants with default values
- check for user overrides
-\*=======================================================================*/
-function init () {
- if ( defined('MAGPIE_INITALIZED') ) {
- return;
- }
- else {
- define('MAGPIE_INITALIZED', 1);
- }
-
- if ( !defined('MAGPIE_CACHE_ON') ) {
- define('MAGPIE_CACHE_ON', 1);
- }
-
- if ( !defined('MAGPIE_CACHE_DIR') ) {
- define('MAGPIE_CACHE_DIR', './cache');
- }
-
- if ( !defined('MAGPIE_CACHE_AGE') ) {
- define('MAGPIE_CACHE_AGE', 60*60); // one hour
- }
-
- if ( !defined('MAGPIE_CACHE_FRESH_ONLY') ) {
- define('MAGPIE_CACHE_FRESH_ONLY', 0);
- }
-
- if ( !defined('MAGPIE_DEBUG') ) {
- define('MAGPIE_DEBUG', 0);
- }
-
- if ( !defined('MAGPIE_USER_AGENT') ) {
- $ua = 'WordPress/' . $wp_version;
-
- if ( MAGPIE_CACHE_ON ) {
- $ua = $ua . ')';
- }
- else {
- $ua = $ua . '; No cache)';
- }
-
- define('MAGPIE_USER_AGENT', $ua);
- }
-
- if ( !defined('MAGPIE_FETCH_TIME_OUT') ) {
- define('MAGPIE_FETCH_TIME_OUT', 2); // 2 second timeout
- }
-
- // use gzip encoding to fetch rss files if supported?
- if ( !defined('MAGPIE_USE_GZIP') ) {
- define('MAGPIE_USE_GZIP', true);
- }
-}
-
-function is_info ($sc) {
- return $sc >= 100 && $sc < 200;
-}
-
-function is_success ($sc) {
- return $sc >= 200 && $sc < 300;
-}
-
-function is_redirect ($sc) {
- return $sc >= 300 && $sc < 400;
-}
-
-function is_error ($sc) {
- return $sc >= 400 && $sc < 600;
-}
-
-function is_client_error ($sc) {
- return $sc >= 400 && $sc < 500;
-}
-
-function is_server_error ($sc) {
- return $sc >= 500 && $sc < 600;
-}
-
-class RSSCache {
- var $BASE_CACHE = 'wp-content/cache'; // where the cache files are stored
- var $MAX_AGE = 43200; // when are files stale, default twelve hours
- var $ERROR = ''; // accumulate error messages
-
- function RSSCache ($base='', $age='') {
- if ( $base ) {
- $this->BASE_CACHE = $base;
- }
- if ( $age ) {
- $this->MAX_AGE = $age;
- }
-
- }
-
-/*=======================================================================*\
- Function: set
- Purpose: add an item to the cache, keyed on url
- Input: url from wich the rss file was fetched
- Output: true on sucess
-\*=======================================================================*/
- function set ($url, $rss) {
- global $wpdb;
- $cache_option = 'rss_' . $this->file_name( $url );
- $cache_timestamp = 'rss_' . $this->file_name( $url ) . '_ts';
-
- if ( !$wpdb->get_var("SELECT option_name FROM $wpdb->options WHERE option_name = '$cache_option'") )
- add_option($cache_option, '', '', 'no');
- if ( !$wpdb->get_var("SELECT option_name FROM $wpdb->options WHERE option_name = '$cache_timestamp'") )
- add_option($cache_timestamp, '', '', 'no');
-
- update_option($cache_option, $rss);
- update_option($cache_timestamp, time() );
-
- return $cache_option;
- }
-
-/*=======================================================================*\
- Function: get
- Purpose: fetch an item from the cache
- Input: url from wich the rss file was fetched
- Output: cached object on HIT, false on MISS
-\*=======================================================================*/
- function get ($url) {
- $this->ERROR = "";
- $cache_option = 'rss_' . $this->file_name( $url );
-
- if ( ! get_option( $cache_option ) ) {
- $this->debug(
- "Cache doesn't contain: $url (cache option: $cache_option)"
- );
- return 0;
- }
-
- $rss = get_option( $cache_option );
-
- return $rss;
- }
-
-/*=======================================================================*\
- Function: check_cache
- Purpose: check a url for membership in the cache
- and whether the object is older then MAX_AGE (ie. STALE)
- Input: url from wich the rss file was fetched
- Output: cached object on HIT, false on MISS
-\*=======================================================================*/
- function check_cache ( $url ) {
- $this->ERROR = "";
- $cache_option = $this->file_name( $url );
- $cache_timestamp = 'rss_' . $this->file_name( $url ) . '_ts';
-
- if ( $mtime = get_option($cache_timestamp) ) {
- // find how long ago the file was added to the cache
- // and whether that is longer then MAX_AGE
- $age = time() - $mtime;
- if ( $this->MAX_AGE > $age ) {
- // object exists and is current
- return 'HIT';
- }
- else {
- // object exists but is old
- return 'STALE';
- }
- }
- else {
- // object does not exist
- return 'MISS';
- }
- }
-
-/*=======================================================================*\
- Function: serialize
-\*=======================================================================*/
- function serialize ( $rss ) {
- return serialize( $rss );
- }
-
-/*=======================================================================*\
- Function: unserialize
-\*=======================================================================*/
- function unserialize ( $data ) {
- return unserialize( $data );
- }
-
-/*=======================================================================*\
- Function: file_name
- Purpose: map url to location in cache
- Input: url from wich the rss file was fetched
- Output: a file name
-\*=======================================================================*/
- function file_name ($url) {
- return md5( $url );
- }
-
-/*=======================================================================*\
- Function: error
- Purpose: register error
-\*=======================================================================*/
- function error ($errormsg, $lvl=E_USER_WARNING) {
- // append PHP's error message if track_errors enabled
- if ( isset($php_errormsg) ) {
- $errormsg .= " ($php_errormsg)";
- }
- $this->ERROR = $errormsg;
- if ( MAGPIE_DEBUG ) {
- trigger_error( $errormsg, $lvl);
- }
- else {
- error_log( $errormsg, 0);
- }
- }
- function debug ($debugmsg, $lvl=E_USER_NOTICE) {
- if ( MAGPIE_DEBUG ) {
- $this->error("MagpieRSS [debug] $debugmsg", $lvl);
- }
- }
-}
-
-function parse_w3cdtf ( $date_str ) {
-
- # regex to match wc3dtf
- $pat = "/(\d{4})-(\d{2})-(\d{2})T(\d{2}):(\d{2})(:(\d{2}))?(?:([-+])(\d{2}):?(\d{2})|(Z))?/";
-
- if ( preg_match( $pat, $date_str, $match ) ) {
- list( $year, $month, $day, $hours, $minutes, $seconds) =
- array( $match[1], $match[2], $match[3], $match[4], $match[5], $match[6]);
-
- # calc epoch for current date assuming GMT
- $epoch = gmmktime( $hours, $minutes, $seconds, $month, $day, $year);
-
- $offset = 0;
- if ( $match[10] == 'Z' ) {
- # zulu time, aka GMT
- }
- else {
- list( $tz_mod, $tz_hour, $tz_min ) =
- array( $match[8], $match[9], $match[10]);
-
- # zero out the variables
- if ( ! $tz_hour ) { $tz_hour = 0; }
- if ( ! $tz_min ) { $tz_min = 0; }
-
- $offset_secs = (($tz_hour*60)+$tz_min)*60;
-
- # is timezone ahead of GMT? then subtract offset
- #
- if ( $tz_mod == '+' ) {
- $offset_secs = $offset_secs * -1;
- }
-
- $offset = $offset_secs;
- }
- $epoch = $epoch + $offset;
- return $epoch;
- }
- else {
- return -1;
- }
- }
-function wp_rss ($url, $num) {
- //ini_set("display_errors", false); uncomment to suppress php errors thrown if the feed is not returned.
- $num_items = $num;
- $rss = fetch_rss($url);
- if ( $rss ) {
- echo "<ul>";
- $rss->items = array_slice($rss->items, 0, $num_items);
- foreach ($rss->items as $item ) {
- echo "<li>\n";
- echo "<a href='$item[link]' title='$item[description]'>";
- echo htmlentities($item['title']);
- echo "</a><br />\n";
- echo "</li>\n";
- }
- echo "</ul>";
- }
- else {
- echo "an error has occured the feed is probably down, try again later.";
- }
-}
-
-function get_rss ($uri, $num = 5) { // Like get posts, but for RSS
- $rss = fetch_rss($url);
- if ( $rss ) {
- $rss->items = array_slice($rss->items, 0, $num_items);
- foreach ($rss->items as $item ) {
- echo "<li>\n";
- echo "<a href='$item[link]' title='$item[description]'>";
- echo htmlentities($item['title']);
- echo "</a><br />\n";
- echo "</li>\n";
- }
- return $posts;
- } else {
- return false;
- }
-}
-?>
diff --git a/wp-inst/wp-includes/script-loader.php b/wp-inst/wp-includes/script-loader.php
deleted file mode 100644
index f7be9e0..0000000
--- a/wp-inst/wp-includes/script-loader.php
+++ /dev/null
@@ -1,235 +0,0 @@
-<?php
-class WP_Scripts {
- var $scripts = array();
- var $queue = array();
- var $printed = array();
- var $args = array();
-
- function WP_Scripts() {
- $this->default_scripts();
- }
-
- function default_scripts() {
- $this->add( 'dbx', '/wp-includes/js/dbx.js', false, '2.02' );
- $this->add( 'fat', '/wp-includes/js/fat.js', false, '1.0-RC1_3660' );
- $this->add( 'sack', '/wp-includes/js/tw-sack.js', false, '1.6.1' );
- $this->add( 'quicktags', '/wp-includes/js/quicktags.js', false, '3517' );
- $this->add( 'colorpicker', '/wp-includes/js/colorpicker.js', false, '3517' );
- $this->add( 'tiny_mce', '/wp-includes/js/tinymce/tiny_mce_gzip.php', false, '04162006' );
- $this->add( 'wp_tiny_mce', '/wp-includes/js/tinymce/tiny_mce_config.php', array('tiny_mce'), '04162006' );
- if ( is_admin() ) {
- $this->add( 'dbx-admin-key', '/wp-admin/dbx-admin-key-js.php', array('dbx'), '3651' );
- $this->add( 'listman', '/wp-admin/list-manipulation-js.php', array('sack', 'fat'), '3850' ); // Make changeset # the correct one
- $this->add( 'ajaxcat', '/wp-admin/cat-js.php', array('listman'), '3684' );
- $this->add( 'admin-categories', '/wp-admin/categories.js', array('listman'), '3684' );
- $this->add( 'admin-custom-fields', '/wp-admin/custom-fields.js', array('listman'), '3733' );
- $this->add( 'admin-comments', '/wp-admin/edit-comments.js', array('listman'), '3850' ); // Make changeset # the correct one
- $this->add( 'admin-users', '/wp-admin/users.js', array('listman'), '3684' );
- $this->add( 'xfn', '/wp-admin/xfn.js', false, '3517' );
- }
- }
-
- /**
- * Prints script tags
- *
- * Prints the scripts passed to it or the print queue. Also prints all necessary dependencies.
- *
- * @param mixed handles (optional) Scripts to be printed. (void) prints queue, (string) prints that script, (array of strings) prints those scripts.
- * @return array Scripts that have been printed
- */
- function print_scripts( $handles = false ) {
- // Print the queue if nothing is passed. If a string is passed, print that script. If an array is passed, print those scripts.
- $handles = false === $handles ? $this->queue : (array) $handles;
- $handles = $this->all_deps( $handles );
- $this->_print_scripts( $handles );
- return $this->printed;
- }
-
- /**
- * Internally used helper function for printing script tags
- *
- * @param array handles Hierarchical array of scripts to be printed
- * @see WP_Scripts::all_deps()
- */
- function _print_scripts( $handles ) {
- global $wp_db_version;
-
- foreach( array_keys($handles) as $handle ) {
- if ( !$handles[$handle] )
- return;
- elseif ( is_array($handles[$handle]) )
- $this->_print_scripts( $handles[$handle] );
- if ( !in_array($handle, $this->printed) && isset($this->scripts[$handle]) ) {
- $ver = $this->scripts[$handle]->ver ? $this->scripts[$handle]->ver : $wp_db_version;
- if ( isset($this->args[$handle]) )
- $ver .= '&' . $this->args[$handle];
- $src = 0 === strpos($this->scripts[$handle]->src, 'http://') ? $this->scripts[$handle]->src : get_settings( 'siteurl' ) . $this->scripts[$handle]->src;
- echo "<script type='text/javascript' src='$src?ver=$ver'></script>\n";
- $this->printed[] = $handle;
- }
- }
- }
-
-
- /**
- * Determines dependencies of scripts
- *
- * Recursively builds hierarchical array of script dependencies. Does NOT catch infinite loops.
- *
- * @param mixed handles Accepts (string) script name or (array of strings) script names
- * @param bool recursion Used internally when function calls itself
- * @return array Hierarchical array of dependencies
- */
- function all_deps( $handles, $recursion = false ) {
- if ( ! $handles = (array) $handles )
- return array();
- $return = array();
- foreach ( $handles as $handle ) {
- $handle = explode('?', $handle);
- if ( isset($handle[1]) )
- $this->args[$handle[0]] = $handle[1];
- $handle = $handle[0];
- if ( is_null($return[$handle]) ) // Prime the return array with $handles
- $return[$handle] = true;
- if ( $this->scripts[$handle]->deps ) {
- if ( false !== $return[$handle] && array_diff($this->scripts[$handle]->deps, array_keys($this->scripts)) )
- $return[$handle] = false; // Script required deps which don't exist
- else
- $return[$handle] = $this->all_deps( $this->scripts[$handle]->deps, true ); // Build the hierarchy
- }
- if ( $recursion && false === $return[$handle] )
- return false; // Cut the branch
- }
- return $return;
- }
-
- /**
- * Adds script
- *
- * Adds the script only if no script of that name already exists
- *
- * @param string handle Script name
- * @param string src Script url
- * @param array deps (optional) Array of script names on which this script depends
- * @param string ver (optional) Script version (used for cache busting)
- * @return array Hierarchical array of dependencies
- */
- function add( $handle, $src, $deps = array(), $ver = false ) {
- if ( isset($this->scripts[$handle]) )
- return false;
- $this->scripts[$handle] = new _WP_Script( $handle, $src, $deps, $ver );
- return true;
- }
-
- function remove( $handles ) {
- foreach ( (array) $handles as $handle )
- unset($this->scripts[$handle]);
- }
-
- function enqueue( $handles ) {
- foreach ( (array) $handles as $handle ) {
- $handle = explode('?', $handle);
- if ( !in_array($handle[0], $this->queue) && isset($this->scripts[$handle[0]]) ) {
- $this->queue[] = $handle[0];
- if ( isset($handle[1]) )
- $this->args[$handle[0]] = $handle[1];
- }
- }
- }
-
- function dequeue( $handles ) {
- foreach ( (array) $handles as $handle )
- unset( $this->queue[$handle] );
- }
-
- function query( $handle, $list = 'scripts' ) { // scripts, queue, or printed
- switch ( $list ) :
- case 'scripts':
- if ( isset($this->scripts[$handle]) )
- return $this->scripts[$handle];
- break;
- default:
- if ( in_array($handle, $this->$list) )
- return true;
- break;
- endswitch;
- return false;
- }
-
-}
-
-class _WP_Script {
- var $handle;
- var $src;
- var $deps = array();
- var $ver = false;
- var $args = false;
-
- function _WP_Script() {
- @list($this->handle, $this->src, $this->deps, $this->ver) = func_get_args();
- if ( !is_array($this->deps) )
- $this->deps = array();
- if ( !$this->ver )
- $this->ver = false;
- }
-}
-
-/**
- * Prints script tags in document head
- *
- * Called by admin-header.php and by wp_head hook. Since it is called by wp_head on every page load,
- * the function does not instantiate the WP_Scripts object unless script names are explicitly passed.
- * Does make use of already instantiated $wp_scripts if present.
- * Use provided wp_print_scripts hook to register/enqueue new scripts.
- *
- * @see WP_Scripts::print_scripts()
- */
-function wp_print_scripts( $handles = false ) {
- do_action( 'wp_print_scripts' );
-
- global $wp_scripts;
- if ( !is_a($wp_scripts, 'WP_Scripts') ) {
- if ( !$handles )
- return array(); // No need to instantiate if nothing's there.
- else
- $wp_scripts = new WP_Scripts();
- }
-
- return $wp_scripts->print_scripts( $handles );
-}
-
-function wp_register_script( $handle, $src, $deps = array(), $ver = false ) {
- global $wp_scripts;
- if ( !is_a($wp_scripts, 'WP_Scripts') )
- $wp_scripts = new WP_Scripts();
-
- $wp_scripts->add( $handle, $src, $deps, $ver );
-}
-
-function wp_deregister_script( $handle ) {
- global $wp_scripts;
- if ( !is_a($wp_scripts, 'WP_Scripts') )
- $wp_scripts = new WP_Scripts();
-
- $wp_scripts->remove( $handle );
-}
-
-/**
- * Equeues script
- *
- * Registers the script if src provided (does NOT overwrite) and enqueues.
- *
- * @see WP_Script::add(), WP_Script::enqueue()
-*/
-function wp_enqueue_script( $handle, $src = false, $deps = array(), $ver = false ) {
- global $wp_scripts;
- if ( !is_a($wp_scripts, 'WP_Scripts') )
- $wp_scripts = new WP_Scripts();
-
- if ( $src ) {
- $_handle = explode('?', $handle);
- $wp_scripts->add( $_handle[0], $src, $deps, $ver );
- }
- $wp_scripts->enqueue( $handle );
-}
-?>
diff --git a/wp-inst/wp-includes/streams.php b/wp-inst/wp-includes/streams.php
deleted file mode 100644
index c69841e..0000000
--- a/wp-inst/wp-includes/streams.php
+++ /dev/null
@@ -1,159 +0,0 @@
-<?php
-/*
- Copyright (c) 2003, 2005 Danilo Segan <danilo@kvota.net>.
-
- This file is part of PHP-gettext.
-
- PHP-gettext 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.
-
- PHP-gettext 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 PHP-gettext; if not, write to the Free Software
- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-
-*/
-
-
-// Simple class to wrap file streams, string streams, etc.
-// seek is essential, and it should be byte stream
-class StreamReader {
- // should return a string [FIXME: perhaps return array of bytes?]
- function read($bytes) {
- return false;
- }
-
- // should return new position
- function seekto($position) {
- return false;
- }
-
- // returns current position
- function currentpos() {
- return false;
- }
-
- // returns length of entire stream (limit for seekto()s)
- function length() {
- return false;
- }
-}
-
-class StringReader {
- var $_pos;
- var $_str;
-
- function StringReader($str='') {
- $this->_str = $str;
- $this->_pos = 0;
- }
-
- function read($bytes) {
- $data = substr($this->_str, $this->_pos, $bytes);
- $this->_pos += $bytes;
- if (strlen($this->_str)<$this->_pos)
- $this->_pos = strlen($this->_str);
-
- return $data;
- }
-
- function seekto($pos) {
- $this->_pos = $pos;
- if (strlen($this->_str)<$this->_pos)
- $this->_pos = strlen($this->_str);
- return $this->_pos;
- }
-
- function currentpos() {
- return $this->_pos;
- }
-
- function length() {
- return strlen($this->_str);
- }
-
-}
-
-
-class FileReader {
- var $_pos;
- var $_fd;
- var $_length;
-
- function FileReader($filename) {
- if (file_exists($filename)) {
-
- $this->_length=filesize($filename);
- $this->_pos = 0;
- $this->_fd = fopen($filename,'rb');
- if (!$this->_fd) {
- $this->error = 3; // Cannot read file, probably permissions
- return false;
- }
- } else {
- $this->error = 2; // File doesn't exist
- return false;
- }
- }
-
- function read($bytes) {
- if ($bytes) {
- fseek($this->_fd, $this->_pos);
- $data = fread($this->_fd, $bytes);
- $this->_pos = ftell($this->_fd);
-
- return $data;
- } else return '';
- }
-
- function seekto($pos) {
- fseek($this->_fd, $pos);
- $this->_pos = ftell($this->_fd);
- return $this->_pos;
- }
-
- function currentpos() {
- return $this->_pos;
- }
-
- function length() {
- return $this->_length;
- }
-
- function close() {
- fclose($this->_fd);
- }
-
-}
-
-// Preloads entire file in memory first, then creates a StringReader
-// over it (it assumes knowledge of StringReader internals)
-class CachedFileReader extends StringReader {
- function CachedFileReader($filename) {
- if (file_exists($filename)) {
-
- $length=filesize($filename);
- $fd = fopen($filename,'rb');
-
- if (!$fd) {
- $this->error = 3; // Cannot read file, probably permissions
- return false;
- }
- $this->_str = fread($fd, $length);
- fclose($fd);
-
- } else {
- $this->error = 2; // File doesn't exist
- return false;
- }
- }
-}
-
-
-?> \ No newline at end of file
diff --git a/wp-inst/wp-includes/template-loader.php b/wp-inst/wp-includes/template-loader.php
deleted file mode 100644
index 8b44d89..0000000
--- a/wp-inst/wp-includes/template-loader.php
+++ /dev/null
@@ -1,73 +0,0 @@
-<?php
-if ( defined('WP_USE_THEMES') && constant('WP_USE_THEMES') ) {
- do_action('template_redirect');
- if ( is_robots() ) {
- do_action('do_robots');
- exit;
- } else if ( is_feed() ) {
- do_feed();
- exit;
- } else if ( is_trackback() ) {
- include(ABSPATH . '/wp-trackback.php');
- exit;
- } else if ( is_404() && $template = get_404_template() ) {
- include($template);
- exit;
- } else if ( is_search() && $template = get_search_template() ) {
- include($template);
- exit;
- } else if ( is_home() && $template = get_home_template() ) {
- include($template);
- exit;
- } else if ( is_attachment() && $template = get_attachment_template() ) {
- include($template);
- exit;
- } else if ( is_single() && $template = get_single_template() ) {
- if ( is_attachment() )
- add_filter('the_content', 'prepend_attachment');
- include($template);
- exit;
- } else if ( is_page() && $template = get_page_template() ) {
- if ( is_attachment() )
- add_filter('the_content', 'prepend_attachment');
- include($template);
- exit;
- } else if ( is_category() && $template = get_category_template()) {
- include($template);
- exit;
- } else if ( is_author() && $template = get_author_template() ) {
- include($template);
- exit;
- } else if ( is_date() && $template = get_date_template() ) {
- include($template);
- exit;
- } else if ( is_archive() && $template = get_archive_template() ) {
- include($template);
- exit;
- } else if ( is_comments_popup() && $template = get_comments_popup_template() ) {
- include($template);
- exit;
- } else if ( is_paged() && $template = get_paged_template() ) {
- include($template);
- exit;
- } else if ( file_exists(TEMPLATEPATH . "/index.php") ) {
- if ( is_attachment() )
- add_filter('the_content', 'prepend_attachment');
- include(TEMPLATEPATH . "/index.php");
- exit;
- }
-} else {
- // Process feeds and trackbacks even if not using themes.
- if ( is_robots() ) {
- do_action('do_robots');
- exit;
- } else if ( is_feed() ) {
- do_feed();
- exit;
- } else if ( is_trackback() ) {
- include(ABSPATH . '/wp-trackback.php');
- exit;
- }
-}
-
-?>
diff --git a/wp-inst/wp-includes/theme.php b/wp-inst/wp-includes/theme.php
deleted file mode 100644
index 182d148..0000000
--- a/wp-inst/wp-includes/theme.php
+++ /dev/null
@@ -1,378 +0,0 @@
-<?php
-/*
- * Theme/template/stylesheet functions.
- */
-
-function get_stylesheet() {
- return apply_filters('stylesheet', get_settings('stylesheet'));
-}
-
-function get_stylesheet_directory() {
- $stylesheet = get_stylesheet();
- $stylesheet_dir = get_theme_root() . "/$stylesheet";
- return apply_filters('stylesheet_directory', $stylesheet_dir, $stylesheet);
-}
-
-function get_stylesheet_directory_uri() {
- $stylesheet = rawurlencode( get_stylesheet() );
- $stylesheet_dir_uri = get_theme_root_uri() . "/$stylesheet";
- return apply_filters('stylesheet_directory_uri', $stylesheet_dir_uri, $stylesheet);
-}
-
-function get_stylesheet_uri() {
- $stylesheet_dir_uri = get_stylesheet_directory_uri();
- $stylesheet_uri = $stylesheet_dir_uri . "/style.css";
- return apply_filters('stylesheet_uri', $stylesheet_uri, $stylesheet_dir_uri);
-}
-
-function get_template() {
- $template = get_settings('template');
- if (!file_exists(get_theme_root() . "/$template")) { //works for dirs too
- update_option('template', 'default');
- update_option('stylesheet', 'default');
- }
- return apply_filters('template', get_settings('template'));
-}
-
-function get_template_directory() {
- $template = get_template();
- $template_dir = get_theme_root() . "/$template";
- return apply_filters('template_directory', $template_dir, $template);
-}
-
-function get_template_directory_uri() {
- $template = get_template();
- $template_dir_uri = get_theme_root_uri() . "/$template";
- return apply_filters('template_directory_uri', $template_dir_uri, $template);
-}
-
-function get_theme_data($theme_file) {
- $theme_data = implode('', file($theme_file));
- preg_match("|Theme Name:(.*)|i", $theme_data, $theme_name);
- preg_match("|Theme URI:(.*)|i", $theme_data, $theme_uri);
- preg_match("|Description:(.*)|i", $theme_data, $description);
- preg_match("|Author:(.*)|i", $theme_data, $author_name);
- preg_match("|Author URI:(.*)|i", $theme_data, $author_uri);
- preg_match("|Template:(.*)|i", $theme_data, $template);
- if ( preg_match("|Version:(.*)|i", $theme_data, $version) )
- $version = $version[1];
- else
- $version ='';
- if ( preg_match("|Status:(.*)|i", $theme_data, $status) )
- $status = $status[1];
- else
- $status ='publish';
-
- $description = wptexturize($description[1]);
-
- $name = $theme_name[1];
- $name = trim($name);
- $theme = $name;
-
- if ( '' == $author_uri[1] ) {
- $author = $author_name[1];
- } else {
- $author = '<a href="' . $author_uri[1] . '" title="' . __('Visit author homepage') . '">' . $author_name[1] . '</a>';
- }
-
- return array('Name' => $name, 'Title' => $theme, 'Description' => $description, 'Author' => $author, 'Version' => $version, 'Template' => $template[1], 'Status' => $status);
-}
-
-function get_themes() {
- global $wp_themes;
- global $wp_broken_themes;
-
- if ( isset($wp_themes) )
- return $wp_themes;
-
- $themes = array();
- $wp_broken_themes = array();
- $theme_root = get_theme_root();
- $theme_loc = str_replace(ABSPATH, '', $theme_root);
-
- // Files in wp-content/themes directory
- $themes_dir = @ dir($theme_root);
- if ( $themes_dir ) {
- while(($theme_dir = $themes_dir->read()) !== false) {
- if ( is_dir($theme_root . '/' . $theme_dir) && is_readable($theme_root . '/' . $theme_dir) ) {
- if ( $theme_dir{0} == '.' || $theme_dir == '..' || $theme_dir == 'CVS' ) {
- continue;
- }
- $stylish_dir = @ dir($theme_root . '/' . $theme_dir);
- $found_stylesheet = false;
- while (($theme_file = $stylish_dir->read()) !== false) {
- if ( $theme_file == 'style.css' ) {
- $theme_files[] = $theme_dir . '/' . $theme_file;
- $found_stylesheet = true;
- break;
- }
- }
- if ( !$found_stylesheet ) {
- $wp_broken_themes[$theme_dir] = array('Name' => $theme_dir, 'Title' => $theme_dir, 'Description' => __('Stylesheet is missing.'));
- }
- }
- }
- }
-
- if ( !$themes_dir || !$theme_files ) {
- return $themes;
- }
-
- sort($theme_files);
-
- foreach($theme_files as $theme_file) {
- if ( ! is_readable("$theme_root/$theme_file") ) {
- $wp_broken_themes[$theme_file] = array('Name' => $theme_file, 'Title' => $theme_file, 'Description' => __('File not readable.'));
- continue;
- }
-
- $theme_data = get_theme_data("$theme_root/$theme_file");
-
- $name = $theme_data['Name'];
- $title = $theme_data['Title'];
- $description = wptexturize($theme_data['Description']);
- $version = $theme_data['Version'];
- $author = $theme_data['Author'];
- $template = $theme_data['Template'];
- $stylesheet = dirname($theme_file);
-
- foreach (array('png', 'gif', 'jpg', 'jpeg') as $ext) {
- if (file_exists("$theme_root/$stylesheet/screenshot.$ext")) {
- $screenshot = "screenshot.$ext";
- break;
- }
- }
-
- if ( empty($name) ) {
- $name = dirname($theme_file);
- $title = $name;
- }
-
- if ( empty($template) ) {
- if ( file_exists(dirname("$theme_root/$theme_file/index.php")) ) {
- $template = dirname($theme_file);
- } else {
- continue;
- }
- }
-
- $template = trim($template);
-
- if ( !file_exists("$theme_root/$template/index.php") ) {
- $wp_broken_themes[$name] = array('Name' => $name, 'Title' => $title, 'Description' => __('Template is missing.'));
- continue;
- }
-
- $stylesheet_files = array();
- $stylesheet_dir = @ dir("$theme_root/$stylesheet");
- if ( $stylesheet_dir ) {
- while(($file = $stylesheet_dir->read()) !== false) {
- if ( !preg_match('|^\.+$|', $file) && preg_match('|\.css$|', $file) )
- $stylesheet_files[] = "$theme_loc/$stylesheet/$file";
- }
- }
-
- $template_files = array();
- $template_dir = @ dir("$theme_root/$template");
- if ( $template_dir ) {
- while(($file = $template_dir->read()) !== false) {
- if ( !preg_match('|^\.+$|', $file) && preg_match('|\.php$|', $file) )
- $template_files[] = "$theme_loc/$template/$file";
- }
- }
-
- $template_dir = dirname($template_files[0]);
- $stylesheet_dir = dirname($stylesheet_files[0]);
-
- if ( empty($template_dir) )
- $template_dir = '/';
- if ( empty($stylesheet_dir) )
- $stylesheet_dir = '/';
-
- // 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 Default and Classic themes always trump their pretenders.
- if ( isset($themes[$name]) ) {
- if ( ('WordPress Default' == $name || 'WordPress Classic' == $name) &&
- ('default' == $stylesheet || 'classic' == $stylesheet) ) {
- // If another theme has claimed to be one of our default themes, move
- // them aside.
- $suffix = $themes[$name]['Stylesheet'];
- $new_name = "$name/$suffix";
- $themes[$new_name] = $themes[$name];
- $themes[$new_name]['Name'] = $new_name;
- } else {
- $name = "$name/$stylesheet";
- }
- }
-
- $themes[$name] = array('Name' => $name, 'Title' => $title, 'Description' => $description, 'Author' => $author, 'Version' => $version, 'Template' => $template, 'Stylesheet' => $stylesheet, 'Template Files' => $template_files, 'Stylesheet Files' => $stylesheet_files, 'Template Dir' => $template_dir, 'Stylesheet Dir' => $stylesheet_dir, 'Status' => $theme_data['Status'], 'Screenshot' => $screenshot);
- }
-
- // Resolve theme dependencies.
- $theme_names = array_keys($themes);
-
- foreach ($theme_names as $theme_name) {
- $themes[$theme_name]['Parent Theme'] = '';
- if ( $themes[$theme_name]['Stylesheet'] != $themes[$theme_name]['Template'] ) {
- foreach ($theme_names as $parent_theme_name) {
- if ( ($themes[$parent_theme_name]['Stylesheet'] == $themes[$parent_theme_name]['Template']) && ($themes[$parent_theme_name]['Template'] == $themes[$theme_name]['Template']) ) {
- $themes[$theme_name]['Parent Theme'] = $themes[$parent_theme_name]['Name'];
- break;
- }
- }
- }
- }
-
- $wp_themes = $themes;
-
- return $themes;
-}
-
-function get_theme($theme) {
- $themes = get_themes();
-
- if ( array_key_exists($theme, $themes) )
- return $themes[$theme];
-
- return NULL;
-}
-
-function get_current_theme() {
- $themes = get_themes();
- $theme_names = array_keys($themes);
- $current_template = get_settings('template');
- $current_stylesheet = get_settings('stylesheet');
- $current_theme = 'WordPress Default';
-
- if ( $themes ) {
- foreach ($theme_names as $theme_name) {
- if ( $themes[$theme_name]['Stylesheet'] == $current_stylesheet &&
- $themes[$theme_name]['Template'] == $current_template ) {
- $current_theme = $themes[$theme_name]['Name'];
- break;
- }
- }
- }
-
- return $current_theme;
-}
-
-function get_theme_root() {
- return apply_filters('theme_root', ABSPATH . "wp-content/themes");
-}
-
-function get_theme_root_uri() {
- return apply_filters('theme_root_uri', get_settings('siteurl') . "/wp-content/themes", get_settings('siteurl'));
-}
-
-function get_query_template($type) {
- $template = '';
- if ( file_exists(TEMPLATEPATH . "/{$type}.php") )
- $template = TEMPLATEPATH . "/{$type}.php";
-
- return apply_filters("{$type}_template", $template);
-}
-
-function get_404_template() {
- return get_query_template('404');
-}
-
-function get_archive_template() {
- return get_query_template('archive');
-}
-
-function get_author_template() {
- return get_query_template('author');
-}
-
-function get_category_template() {
- $template = '';
- if ( file_exists(TEMPLATEPATH . "/category-" . get_query_var('cat') . '.php') )
- $template = TEMPLATEPATH . "/category-" . get_query_var('cat') . '.php';
- else if ( file_exists(TEMPLATEPATH . "/category.php") )
- $template = TEMPLATEPATH . "/category.php";
-
- return apply_filters('category_template', $template);
-}
-
-function get_date_template() {
- return get_query_template('date');
-}
-
-function get_home_template() {
- $template = '';
-
- if ( file_exists(TEMPLATEPATH . "/home.php") )
- $template = TEMPLATEPATH . "/home.php";
- else if ( file_exists(TEMPLATEPATH . "/index.php") )
- $template = TEMPLATEPATH . "/index.php";
-
- return apply_filters('home_template', $template);
-}
-
-function get_page_template() {
- global $wp_query;
-
- $id = $wp_query->post->ID;
- $template = get_post_meta($id, '_wp_page_template', true);
-
- if ( 'default' == $template )
- $template = '';
-
- if ( ! empty($template) && file_exists(TEMPLATEPATH . "/$template") )
- $template = TEMPLATEPATH . "/$template";
- else if ( file_exists(TEMPLATEPATH . "/page.php") )
- $template = TEMPLATEPATH . "/page.php";
- else
- $template = '';
-
- return apply_filters('page_template', $template);
-}
-
-function get_paged_template() {
- return get_query_template('paged');
-}
-
-function get_search_template() {
- return get_query_template('search');
-}
-
-function get_single_template() {
- return get_query_template('single');
-}
-
-function get_attachment_template() {
- global $posts;
- $type = explode('/', $posts[0]->post_mime_type);
- if ( $template = get_query_template($type[0]) )
- return $template;
- elseif ( $template = get_query_template($type[1]) )
- return $template;
- elseif ( $template = get_query_template("$type[0]_$type[1]") )
- return $template;
- else
- return get_query_template('attachment');
-}
-
-function get_comments_popup_template() {
- if ( file_exists( TEMPLATEPATH . '/comments-popup.php') )
- $template = TEMPLATEPATH . '/comments-popup.php';
- else
- $template = get_theme_root() . '/default/comments-popup.php';
-
- return apply_filters('comments_popup_template', $template);
-}
-
-function load_template($file) {
- global $posts, $post, $wp_did_header, $wp_did_template_redirect, $wp_query,
- $wp_rewrite, $wpdb, $wp_version, $wp, $id, $comment;
-
- if( is_array( $wp_query->query_vars ) )
- extract($wp_query->query_vars);
-
- require_once($file);
-}
-
-?>
diff --git a/wp-inst/wp-includes/user.php b/wp-inst/wp-includes/user.php
deleted file mode 100644
index bdf537d..0000000
--- a/wp-inst/wp-includes/user.php
+++ /dev/null
@@ -1,169 +0,0 @@
-<?php
-
-function get_profile($field, $user = false) {
- global $wpdb;
- if ( !$user )
- $user = $wpdb->escape($_COOKIE[USER_COOKIE]);
- return $wpdb->get_var("SELECT $field FROM $wpdb->users WHERE user_login = '$user'");
-}
-
-function get_usernumposts($userid) {
- global $wpdb;
- return $wpdb->get_var("SELECT COUNT(*) FROM $wpdb->posts WHERE post_author = '$userid' AND post_type = 'post' AND post_status = 'publish'");
-}
-
-// TODO: xmlrpc only. Maybe move to xmlrpc.php.
-function user_pass_ok($user_login,$user_pass) {
- global $cache_userdata;
- if ( empty($cache_userdata[$user_login]) ) {
- $userdata = get_userdatabylogin($user_login);
- } else {
- $userdata = $cache_userdata[$user_login];
- }
- return (md5($user_pass) == $userdata->user_pass);
-}
-
-//
-// User option functions
-//
-
-function get_user_option( $option, $user = 0 ) {
- global $wpdb;
-
- if ( empty($user) )
- $user = wp_get_current_user();
- else
- $user = get_userdata($user);
-
- if ( isset( $user->{$wpdb->prefix . $option} ) ) // Blog specific
- return $user->{$wpdb->prefix . $option};
- elseif ( isset( $user->{$option} ) ) // User specific and cross-blog
- return $user->{$option};
- else // Blog global
- return get_option( $option );
-}
-
-function update_user_option( $user_id, $option_name, $newvalue, $global = false ) {
- global $wpdb;
- if ( !$global )
- $option_name = $wpdb->prefix . $option_name;
- return update_usermeta( $user_id, $option_name, $newvalue );
-}
-
-//
-// User meta functions
-//
-
-function delete_usermeta( $user_id, $meta_key, $meta_value = '' ) {
- global $wpdb;
- if ( !is_numeric( $user_id ) )
- return false;
- $meta_key = preg_replace('|[^a-z0-9_]|i', '', $meta_key);
-
- if ( is_array($meta_value) || is_object($meta_value) )
- $meta_value = serialize($meta_value);
- $meta_value = trim( $meta_value );
-
- if ( ! empty($meta_value) )
- $wpdb->query("DELETE FROM $wpdb->usermeta WHERE user_id = '$user_id' AND meta_key = '$meta_key' AND meta_value = '$meta_value'");
- else
- $wpdb->query("DELETE FROM $wpdb->usermeta WHERE user_id = '$user_id' AND meta_key = '$meta_key'");
-
- $user = get_userdata($user_id);
- wp_cache_delete($user_id, 'users');
- wp_cache_delete($user->user_login, 'userlogins');
-
- return true;
-}
-
-function get_usermeta( $user_id, $meta_key = '') {
- global $wpdb;
- $user_id = (int) $user_id;
-
- if ( !empty($meta_key) ) {
- $meta_key = preg_replace('|a-z0-9_|i', '', $meta_key);
- $metas = $wpdb->get_results("SELECT meta_key, meta_value FROM $wpdb->usermeta WHERE user_id = '$user_id' AND meta_key = '$meta_key'");
- } else {
- $metas = $wpdb->get_results("SELECT meta_key, meta_value FROM $wpdb->usermeta WHERE user_id = '$user_id'");
- }
-
- if ( empty($metas) ) {
- if ( empty($meta_key) )
- return array();
- else
- return '';
- }
-
- foreach ($metas as $index => $meta) {
- @ $value = unserialize($meta->meta_value);
- if ( $value === FALSE )
- $value = $meta->meta_value;
-
- $values[] = $value;
- }
-
- if ( count($values) == 1 )
- return $values[0];
- else
- return $values;
-}
-
-function update_usermeta( $user_id, $meta_key, $meta_value ) {
- global $wpdb;
- if ( !is_numeric( $user_id ) )
- return false;
- $meta_key = preg_replace('|[^a-z0-9_]|i', '', $meta_key);
-
- if ( is_array($meta_value) || is_object($meta_value) )
- $meta_value = serialize($meta_value);
- $meta_value = trim( $meta_value );
-
- if (empty($meta_value)) {
- return delete_usermeta($user_id, $meta_key);
- }
-
- $cur = $wpdb->get_row("SELECT * FROM $wpdb->usermeta WHERE user_id = '$user_id' AND meta_key = '$meta_key'");
- if ( !$cur ) {
- $wpdb->query("INSERT INTO $wpdb->usermeta ( user_id, meta_key, meta_value )
- VALUES
- ( '$user_id', '$meta_key', '$meta_value' )");
- } else if ( $cur->meta_value != $meta_value ) {
- $wpdb->query("UPDATE $wpdb->usermeta SET meta_value = '$meta_value' WHERE user_id = '$user_id' AND meta_key = '$meta_key'");
- } else {
- return false;
- }
-
- $user = get_userdata($user_id);
- wp_cache_delete($user_id, 'users');
- wp_cache_delete($user->user_login, 'userlogins');
-
- return true;
-}
-
-//
-// Private helper functions
-//
-
-// Setup global user vars. Used by set_current_user() for back compat.
-function setup_userdata($user_id = '') {
- global $user_login, $userdata, $user_level, $user_ID, $user_email, $user_url, $user_pass_md5, $user_identity;
-
- if ( '' == $user_id )
- $user = wp_get_current_user();
- else
- $user = new WP_User($user_id);
-
- if ( 0 == $user->ID )
- return;
-
- $userdata = $user->data;
- $user_login = $user->user_login;
- $user_level = $user->user_level;
- $user_ID = $user->ID;
- $user_email = $user->user_email;
- $user_url = $user->user_url;
- $user_pass_md5 = md5($user->user_pass);
- $user_identity = $user->display_name;
-}
-
-?> \ No newline at end of file
diff --git a/wp-inst/wp-includes/vars.php b/wp-inst/wp-includes/vars.php
deleted file mode 100644
index bb1a18b..0000000
--- a/wp-inst/wp-includes/vars.php
+++ /dev/null
@@ -1,100 +0,0 @@
-<?php
-
-// On which page are we ?
-if (preg_match('#([^/]+.php)#', $PHP_SELF, $self_matches)) {
- $pagenow = $self_matches[1];
-} else if (strstr($PHP_SELF, '?')) {
- $pagenow = explode('/', $PHP_SELF);
- $pagenow = trim($pagenow[(sizeof($pagenow)-1)]);
- $pagenow = explode('?', $pagenow);
- $pagenow = $pagenow[0];
-} else {
- $pagenow = 'index.php';
-}
-
-// Simple browser detection
-$is_lynx = 0; $is_gecko = 0; $is_winIE = 0; $is_macIE = 0; $is_opera = 0; $is_NS4 = 0;
-
-if (preg_match('/Lynx/', $_SERVER['HTTP_USER_AGENT'])) {
- $is_lynx = 1;
-} elseif (preg_match('/Gecko/', $_SERVER['HTTP_USER_AGENT'])) {
- $is_gecko = 1;
-} elseif ((preg_match('/MSIE/', $_SERVER['HTTP_USER_AGENT'])) && (preg_match('/Win/', $_SERVER['HTTP_USER_AGENT']))) {
- $is_winIE = 1;
-} elseif ((preg_match('/MSIE/', $_SERVER['HTTP_USER_AGENT'])) && (preg_match('/Mac/', $_SERVER['HTTP_USER_AGENT']))) {
- $is_macIE = 1;
-} elseif (preg_match('/Opera/', $_SERVER['HTTP_USER_AGENT'])) {
- $is_opera = 1;
-} elseif ((preg_match('/Nav/', $_SERVER['HTTP_USER_AGENT']) ) || (preg_match('/Mozilla\/4\./', $_SERVER['HTTP_USER_AGENT']))) {
- $is_NS4 = 1;
-}
-$is_IE = (($is_macIE) || ($is_winIE));
-
-// Server detection
-$is_apache = ( strstr($_SERVER['SERVER_SOFTWARE'], 'Apache') || strstr($_SERVER['SERVER_SOFTWARE'], 'LiteSpeed') ) ? 1 : 0;
-$is_IIS = strstr($_SERVER['SERVER_SOFTWARE'], 'Microsoft-IIS') ? 1 : 0;
-
-// On OS X Server, $_SERVER['REMOTE_ADDR'] is the server's address. Workaround this
-// by using $_SERVER['HTTP_PC_REMOTE_ADDR'], which *is* the remote address.
-if ( isset($_SERVER['HTTP_PC_REMOTE_ADDR']) )
- $_SERVER['REMOTE_ADDR'] = $_SERVER['HTTP_PC_REMOTE_ADDR'];
-
-// if the config file does not provide the smilies array, let's define it here
-if (!isset($wpsmiliestrans)) {
- $wpsmiliestrans = array(
- ':mrgreen:' => 'icon_mrgreen.gif',
- ':neutral:' => 'icon_neutral.gif',
- ':twisted:' => 'icon_twisted.gif',
- ':arrow:' => 'icon_arrow.gif',
- ':shock:' => 'icon_eek.gif',
- ':smile:' => 'icon_smile.gif',
- ' :???:' => 'icon_confused.gif',
- ':cool:' => 'icon_cool.gif',
- ':evil:' => 'icon_evil.gif',
- ':grin:' => 'icon_biggrin.gif',
- ':idea:' => 'icon_idea.gif',
- ':oops:' => 'icon_redface.gif',
- ':razz:' => 'icon_razz.gif',
- ':roll:' => 'icon_rolleyes.gif',
- ':wink:' => 'icon_wink.gif',
- ':cry:' => 'icon_cry.gif',
- ':eek:' => 'icon_surprised.gif',
- ':lol:' => 'icon_lol.gif',
- ':mad:' => 'icon_mad.gif',
- ':sad:' => 'icon_sad.gif',
- ' 8-)' => 'icon_cool.gif',
- ' 8-O' => 'icon_eek.gif',
- ' :-(' => 'icon_sad.gif',
- ' :-)' => 'icon_smile.gif',
- ' :-?' => 'icon_confused.gif',
- ' :-D' => 'icon_biggrin.gif',
- ' :-P' => 'icon_razz.gif',
- ' :-o' => 'icon_surprised.gif',
- ' :-x' => 'icon_mad.gif',
- ' :-|' => 'icon_neutral.gif',
- ' ;-)' => 'icon_wink.gif',
- ' 8)' => 'icon_cool.gif',
- ' 8O' => 'icon_eek.gif',
- ' :(' => 'icon_sad.gif',
- ' :)' => 'icon_smile.gif',
- ' :?' => 'icon_confused.gif',
- ' :D' => 'icon_biggrin.gif',
- ' :P' => 'icon_razz.gif',
- ' :o' => 'icon_surprised.gif',
- ' :x' => 'icon_mad.gif',
- ' :|' => 'icon_neutral.gif',
- ' ;)' => 'icon_wink.gif',
- ':!:' => 'icon_exclaim.gif',
- ':?:' => 'icon_question.gif',
- );
-}
-
-
-// generates smilies' search & replace arrays
-foreach($wpsmiliestrans as $smiley => $img) {
- $wp_smiliessearch[] = $smiley;
- $smiley_masked = htmlspecialchars( trim($smiley) , ENT_QUOTES);
- $wp_smiliesreplace[] = " <img src='" . get_settings('siteurl') . "/wp-includes/images/smilies/$img' alt='$smiley_masked' class='wp-smiley' /> ";
-}
-
-?>
diff --git a/wp-inst/wp-includes/version.php b/wp-inst/wp-includes/version.php
deleted file mode 100644
index 49fffa5..0000000
--- a/wp-inst/wp-includes/version.php
+++ /dev/null
@@ -1,8 +0,0 @@
-<?php
-
-// This holds the version number in a separate file so we can bump it without cluttering the SVN
-
-$wp_version = 'wordpress-mu-1.0'; // Let's just avoid confusion
-$wp_db_version = 3845;
-
-?>
diff --git a/wp-inst/wp-includes/wp-db.php b/wp-inst/wp-includes/wp-db.php
deleted file mode 100644
index 142a3ec..0000000
--- a/wp-inst/wp-includes/wp-db.php
+++ /dev/null
@@ -1,433 +0,0 @@
-<?php
-// WordPress DB Class
-
-// ORIGINAL CODE FROM:
-// Justin Vincent (justin@visunet.ie)
-// http://php.justinvincent.com
-
-define('EZSQL_VERSION', 'WP1.25');
-define('OBJECT', 'OBJECT', true);
-define('ARRAY_A', 'ARRAY_A', false);
-define('ARRAY_N', 'ARRAY_N', false);
-
-if (!defined('SAVEQUERIES'))
- define('SAVEQUERIES', false);
-
-class wpdb {
-
- var $show_errors = true;
- var $num_queries = 0;
- var $last_query;
- var $col_info;
- var $queries;
-
- // Our tables
- var $posts;
- var $users;
- var $categories;
- var $post2cat;
- var $comments;
- var $links;
- var $link2cat;
- var $linkcategories;
- var $options;
- var $optiontypes;
- var $optionvalues;
- var $optiongroups;
- var $optiongroup_options;
- var $postmeta;
-
- // ==================================================================
- // DB Constructor - connects to the server and selects a database
-
- function wpdb($dbuser, $dbpassword, $dbname, $dbhost) {
-
- if( defined( "WP_USE_MULTIPLE_DB" ) && CONSTANT( "WP_USE_MULTIPLE_DB" ) == true ) {
- $this->db_connect();
- return true;
- }
-
- $this->dbh = @mysql_connect($dbhost, $dbuser, $dbpassword);
- if (!$this->dbh) {
- $this->bail("
-<h1>Error establishing a database connection</h1>
-<p>This either means that the username and password information in your <code>wp-config.php</code> file is incorrect or we can't contact the database server at <code>$dbhost</code>. This could mean your host's database server is down.</p>
-<ul>
- <li>Are you sure you have the correct username and password?</li>
- <li>Are you sure that you have typed the correct hostname?</li>
- <li>Are you sure that the database server is running?</li>
-</ul>
-<p>If you're unsure what these terms mean you should probably contact your host. If you still need help you can always visit the <a href='http://wordpress.org/support/'>WordPress Support Forums</a>.</p>
-");
- }
-
- $this->select($dbname, $this->dbh);
- }
-
- // ==================================================================
- // Select a DB (if another one needs to be selected)
-
- function select($db, &$dbh) {
- if (!@mysql_select_db($db, $dbh)) {
- $this->bail("
-<h1>Can&#8217;t select database</h1>
-<p>We were able to connect to the database server (which means your username and password is okay) but not able to select the <code>$db</code> database.</p>
-<ul>
-<li>Are you sure it exists?</li>
-<li>On some systems the name of your database is prefixed with your username, so it would be like username_wordpress. Could that be the problem?</li>
-</ul>
-<p>If you don't know how to setup a database you should <strong>contact your host</strong>. If all else fails you may find help at the <a href='http://wordpress.org/support/'>WordPress Support Forums</a>.</p>");
- }
- }
-
- // ====================================================================
- // Format a string correctly for safe insert under all PHP conditions
-
- function escape($string) {
- return addslashes( $string ); // Disable rest for now, causing problems
- if( !$this->dbh || version_compare( phpversion(), '4.3.0' ) == '-1' )
- return mysql_escape_string( $string );
- else
- return mysql_real_escape_string( $string, $this->dbh );
- }
-
- // ==================================================================
- // Print SQL/DB error.
-
- function print_error($str = '') {
- global $EZSQL_ERROR;
- if (!$str) $str = mysql_error();
- $EZSQL_ERROR[] =
- array ('query' => $this->last_query, 'error_str' => $str);
-
- // Is error output turned on or not..
- if ( $this->show_errors ) {
- // If there is an error then take note of it
- print "<div id='error'>
- <p class='wpdberror'><strong>WordPress database error:</strong> [$str]<br />
- <code>$this->last_query</code></p>
- </div>";
- } else {
- return false;
- }
- }
-
- // ==================================================================
- // Turn error handling on or off..
-
- function show_errors() {
- $this->show_errors = true;
- }
-
- function hide_errors() {
- $this->show_errors = false;
- }
-
- // ==================================================================
- // Kill cached query results
-
- function flush() {
- $this->last_result = null;
- $this->col_info = null;
- $this->last_query = null;
- }
-
- function db_connect( $query = "SELECT" ) {
- global $db_list, $global_db_list;
- if( is_array( $db_list ) == false )
- return true;
-
- if( $this->blogs != '' && preg_match("/(" . $this->blogs . "|" . $this->users . "|" . $this->usermeta . "|" . $this->site . "|" . $this->sitemeta . "|" . $this->sitecategories . ")/i",$query) ) {
- $action = 'global';
- $details = $global_db_list[ mt_rand( 0, count( $global_db_list ) -1 ) ];
- $this->db_global = $details;
- } elseif ( preg_match("/^\\s*(alter table|create|insert|delete|update|replace) /i",$query) ) {
- $action = 'write';
- $details = $db_list[ 'write' ][ mt_rand( 0, count( $db_list[ 'write' ] ) -1 ) ];
- $this->db_write = $details;
- } else {
- $action = '';
- $details = $db_list[ 'read' ][ mt_rand( 0, count( $db_list[ 'read' ] ) -1 ) ];
- $this->db_read = $details;
- }
-
- $dbhname = "dbh" . $action;
- $this->$dbhname = @mysql_connect( $details[ 'db_host' ], $details[ 'db_user' ], $details[ 'db_password' ] );
- if (!$this->$dbhname ) {
- $this->bail("
-<h1>Error establishing a database connection</h1>
-<p>This either means that the username and password information in your <code>wp-config.php</code> file is incorrect or we can't contact the database server at <code>$dbhost</code>. This could mean your host's database server is down.</p>
-<ul>
- <li>Are you sure you have the correct username and password?</li>
- <li>Are you sure that you have typed the correct hostname?</li>
- <li>Are you sure that the database server is running?</li>
-</ul>
-<p>If you're unsure what these terms mean you should probably contact your host. If you still need help you can always visit the <a href='http://wordpress.org/support/'>WordPress Support Forums</a>.</p>
-");
- }
- $this->select( $details[ 'db_name' ], $this->$dbhname );
- }
-
- // ==================================================================
- // Basic Query - see docs for more detail
-
- function query($query) {
- // initialise return
- $return_val = 0;
- $this->flush();
-
- // Log how the function was called
- $this->func_call = "\$db->query(\"$query\")";
-
- // Keep track of the last query for debug..
- $this->last_query = $query;
-
- // Perform the query via std mysql_query function..
- if (SAVEQUERIES)
- $this->timer_start();
-
- // use $this->dbh for read ops, and $this->dbhwrite for write ops
- // use $this->dbhglobal for gloal table ops
- unset( $dbh );
- if( defined( "WP_USE_MULTIPLE_DB" ) && CONSTANT( "WP_USE_MULTIPLE_DB" ) == true ) {
- if( $this->blogs != '' && preg_match("/(" . $this->blogs . "|" . $this->users . "|" . $this->usermeta . "|" . $this->site . "|" . $this->sitemeta . "|" . $this->sitecategories . ")/i",$query) ) {
- if( false == isset( $this->dbhglobal ) ) {
- $this->db_connect( $query );
- }
- $dbh =& $this->dbhglobal;
- $this->last_db_used = "global";
- } elseif ( preg_match("/^\\s*(alter table|create|insert|delete|update|replace) /i",$query) ) {
- if( false == isset( $this->dbhwrite ) ) {
- $this->db_connect( $query );
- }
- $dbh =& $this->dbhwrite;
- $this->last_db_used = "write";
- } else {
- $dbh =& $this->dbh;
- $this->last_db_used = "read";
- }
- } else {
- $dbh =& $this->dbh;
- $this->last_db_used = "other/read";
- }
-
- $this->result = @mysql_query($query, $dbh);
- ++$this->num_queries;
-
- if (SAVEQUERIES)
- $this->queries[] = array( $query, $this->timer_stop() );
-
- // If there is an error then take note of it..
- if( $dbh ) {
- if ( mysql_error( $dbh ) ) {
- $this->print_error( mysql_error( $dbh ));
- return false;
- }
- }
-
- if ( preg_match("/^\\s*(insert|delete|update|replace) /i",$query) ) {
- $this->rows_affected = mysql_affected_rows($dbh);
- // Take note of the insert_id
- if ( preg_match("/^\\s*(insert|replace) /i",$query) ) {
- $this->insert_id = mysql_insert_id($dbh);
- }
- // Return number of rows affected
- $return_val = $this->rows_affected;
- } else {
- $i = 0;
- while ($i < @mysql_num_fields($this->result)) {
- $this->col_info[$i] = @mysql_fetch_field($this->result);
- $i++;
- }
- $num_rows = 0;
- while ( $row = @mysql_fetch_object($this->result) ) {
- $this->last_result[$num_rows] = $row;
- $num_rows++;
- }
-
- @mysql_free_result($this->result);
-
- // Log number of rows the query returned
- $this->num_rows = $num_rows;
-
- // Return number of rows selected
- $return_val = $this->num_rows;
- }
-
- return $return_val;
- }
-
- // ==================================================================
- // Get one variable from the DB - see docs for more detail
-
- function get_var($query=null, $x = 0, $y = 0) {
- $this->func_call = "\$db->get_var(\"$query\",$x,$y)";
- if ( $query )
- $this->query($query);
-
- // Extract var out of cached results based x,y vals
- if ( $this->last_result[$y] ) {
- $values = array_values(get_object_vars($this->last_result[$y]));
- }
-
- // If there is a value return it else return null
- return (isset($values[$x]) && $values[$x]!=='') ? $values[$x] : null;
- }
-
- // ==================================================================
- // Get one row from the DB - see docs for more detail
-
- function get_row($query = null, $output = OBJECT, $y = 0) {
- $this->func_call = "\$db->get_row(\"$query\",$output,$y)";
- if ( $query )
- $this->query($query);
-
- if ( $output == OBJECT ) {
- return $this->last_result[$y] ? $this->last_result[$y] : null;
- } elseif ( $output == ARRAY_A ) {
- return $this->last_result[$y] ? get_object_vars($this->last_result[$y]) : null;
- } elseif ( $output == ARRAY_N ) {
- return $this->last_result[$y] ? array_values(get_object_vars($this->last_result[$y])) : null;
- } else {
- $this->print_error(" \$db->get_row(string query, output type, int offset) -- Output type must be one of: OBJECT, ARRAY_A, ARRAY_N");
- }
- }
-
- // ==================================================================
- // Function to get 1 column from the cached result set based in X index
- // se docs for usage and info
-
- function get_col($query = null , $x = 0) {
- if ( $query )
- $this->query($query);
-
- // Extract the column values
- for ( $i=0; $i < count($this->last_result); $i++ ) {
- $new_array[$i] = $this->get_var(null, $x, $i);
- }
- return $new_array;
- }
-
- // ==================================================================
- // Return the the query as a result set - see docs for more details
-
- function get_results($query = null, $output = OBJECT) {
- $this->func_call = "\$db->get_results(\"$query\", $output)";
-
- if ( $query )
- $this->query($query);
-
- // Send back array of objects. Each row is an object
- if ( $output == OBJECT ) {
- return $this->last_result;
- } elseif ( $output == ARRAY_A || $output == ARRAY_N ) {
- if ( $this->last_result ) {
- $i = 0;
- foreach( $this->last_result as $row ) {
- $new_array[$i] = (array) $row;
- if ( $output == ARRAY_N ) {
- $new_array[$i] = array_values($new_array[$i]);
- }
- $i++;
- }
- return $new_array;
- } else {
- return null;
- }
- }
- }
-
-
- // ==================================================================
- // Function to get column meta data info pertaining to the last query
- // see docs for more info and usage
-
- function get_col_info($info_type = 'name', $col_offset = -1) {
- if ( $this->col_info ) {
- if ( $col_offset == -1 ) {
- $i = 0;
- foreach($this->col_info as $col ) {
- $new_array[$i] = $col->{$info_type};
- $i++;
- }
- return $new_array;
- } else {
- return $this->col_info[$col_offset]->{$info_type};
- }
- }
- }
-
- function timer_start() {
- $mtime = microtime();
- $mtime = explode(' ', $mtime);
- $this->time_start = $mtime[1] + $mtime[0];
- return true;
- }
-
- function timer_stop($precision = 3) {
- $mtime = microtime();
- $mtime = explode(' ', $mtime);
- $time_end = $mtime[1] + $mtime[0];
- $time_total = $time_end - $this->time_start;
- return $time_total;
- }
-
- function bail($message) { // Just wraps errors in a nice header and footer
- if ( !$this->show_errors )
- return false;
- header( 'Content-Type: text/html; charset=utf-8');
- echo <<<HEAD
- <!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>WordPress &rsaquo; Error</title>
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <style media="screen" type="text/css">
- <!--
- html {
- background: #eee;
- }
- body {
- background: #fff;
- color: #000;
- font-family: Georgia, "Times New Roman", Times, serif;
- margin-left: 25%;
- margin-right: 25%;
- padding: .2em 2em;
- }
-
- h1 {
- color: #006;
- font-size: 18px;
- font-weight: lighter;
- }
-
- h2 {
- font-size: 16px;
- }
-
- p, li, dt {
- line-height: 140%;
- padding-bottom: 2px;
- }
-
- ul, ol {
- padding: 5px 5px 5px 20px;
- }
- #logo {
- margin-bottom: 2em;
- }
- -->
- </style>
- </head>
- <body>
- <h1 id="logo"><img alt="WordPress" src="http://static.wordpress.org/logo.png" /></h1>
-HEAD;
- echo $message;
- echo "</body></html>";
- die();
- }
-}
-
-$wpdb = new wpdb(DB_USER, DB_PASSWORD, DB_NAME, DB_HOST);
-?>
diff --git a/wp-inst/wp-includes/wpmu-functions.php b/wp-inst/wp-includes/wpmu-functions.php
deleted file mode 100644
index 4dd1269..0000000
--- a/wp-inst/wp-includes/wpmu-functions.php
+++ /dev/null
@@ -1,1340 +0,0 @@
-<?PHP
-/*
- Helper functions for WPMU
-*/
-
-
-function wpmu_update_blogs_date() {
- global $wpdb;
-
- $wpdb->query( "UPDATE {$wpdb->blogs} SET last_updated = NOW() WHERE blog_id = '{$wpdb->blogid}'" );
- refresh_blog_details( $wpdb->blogid );
-}
-
-add_action('comment_post', 'wpmu_update_blogs_date');
-add_action('delete_post', 'wpmu_update_blogs_date');
-add_action('delete_comment', 'wpmu_update_blogs_date');
-add_action('private_to_published', 'wpmu_update_blogs_date');
-add_action('publish_phone', 'wpmu_update_blogs_date');
-add_action('publish_post', 'wpmu_update_blogs_date');
-add_action('trackback_post', 'wpmu_update_blogs_date');
-add_action('wp_set_comment_status', 'wpmu_update_blogs_date');
-
-/*
- Determines if the available space defined by the admin has been exceeded by the user
-*/
-/**
- * Returns how much space is available (also shows a picture) for the current client blog, retrieving the value from the master blog 'main' option table
- *
- * @param string $action
- * @return string
- */
-function wpmu_checkAvailableSpace($action) {
- // Using the action.
- // Set the action to 'not-writable' to block the upload
- global $wpblog, $blog_id;
-
- // Default space allowed is 10 MB
- $spaceAllowed = get_site_option("blog_upload_space" );
- if( $spaceAllowed == false )
- $spaceAllowed = 10;
-
- $dirName = ABSPATH."wp-content/blogs.dir/".$blog_id."/files/";
-
- $dir = dir($dirName);
- $size = 0;
-
- while($file = $dir->read()) {
- if ($file != '.' && $file != '..') {
- if (is_dir($file)) {
- $size += dirsize($dirName . '/' . $file);
- } else {
- $size += filesize($dirName . '/' . $file);
- }
- }
- }
- $dir->close();
- $size = $size / 1024 / 1024;
-
- ?>
- Space Available (<?php printf( "%2.2f", ( ($spaceAllowed-$size) ) ) ?><i>MB)</i>
- <?php
-
- if (($spaceAllowed-$size)>0) {
- return $action;
- } else {
- // No space left
- return 'not-writable';
- }
-}
-add_filter('fileupload_init','wpmu_checkAvailableSpace');
-
-if( defined( "WP_INSTALLING" ) == false ) {
- header( "X-totalblogs: " . get_blog_count() );
- header( "X-rootblog: http://" . $current_site->domain . $current_site->path );
- header( "X-created-on: " . $current_blog->registered );
-
- if( empty( $WPMU_date ) == false )
- header( "X-wpmu-date: $WPMU_date" );
-}
-
-
-function get_blogaddress_by_id( $blog_id ) {
- global $hostname, $domain, $base, $wpdb;
-
- $bloginfo = get_blog_details( $blog_id, false ); // only get bare details!
-
- return get_real_siteurl( $bloginfo->domain, $bloginfo->path );
-}
-
-function get_blogaddress_by_name( $blogname ) {
- global $hostname, $domain, $base, $wpdb;
-
- if( defined( "VHOST" ) && constant( "VHOST" ) == 'yes' ) {
- if( $blogname == 'main' )
- $blogname = 'www';
- return "http://".$blogname.".".$domain.$base;
- } else {
- return "http://".$hostname.$base.$blogname;
- }
-}
-
-function get_blogaddress_by_domain( $domain, $path ){
- if( defined( "VHOST" ) && constant( "VHOST" ) == 'yes' ) {
- $url = "http://".$domain.$path;
- } else {
- if( $domain != $_SERVER[ 'HTTP_HOST' ] ) {
- $blogname = substr( $domain, 0, strpos( $domain, '.' ) );
- if( $blogname != 'www.' ) {
- $url = 'http://' . substr( $domain, strpos( $domain, '.' ) + 1 ) . $path . $blogname . '/';
- } else { // we're installing the main blog
- $url = 'http://' . substr( $domain, strpos( $domain, '.' ) + 1 ) . $path;
- }
- } else { // main blog
- $url = 'http://' . $domain . $path;
- }
- }
-
- return $url;
-}
-
-function get_sitestats() {
- global $wpdb, $basedomain, $base;
-
- $stats[ 'blogs' ] = get_blog_count();
-
- $count_ts = get_site_option( "get_user_count_ts" );
- if( time() - $count_ts > 3600 ) {
- $count = $wpdb->get_var( "SELECT count(*) as c FROM {$wpdb->users}" );
- update_site_option( "user_count", $count );
- update_site_option( "user_count_ts", time() );
- } else {
- $count = get_site_option( "user_count" );
- }
- $stats[ 'users' ] = $count;
-
- return $stats;
-}
-
-function get_admin_users_for_domain( $sitedomain = '', $path = '' ) {
- global $domain, $base, $basedomain, $wpdb, $wpmuBaseTablePrefix;
- if( $sitedomain == '' ) {
- $sitedomain = $basedomain;
- $path = $base;
- $site_id = $wpdb->siteid;
- } else {
- $query = "SELECT id FROM ".$wpdb->site." WHERE domain = '".$sitedomain."' AND path = '".$path."'";
- $site_id = $wpdb->get_var( $query );
- }
- if( $site_id != false ) {
- $query = "SELECT ID, user_login, user_pass FROM ".$wpdb->users.", ".$wpdb->sitemeta." WHERE meta_key = 'admin_user_id' AND ".$wpdb->users.".ID = ".$wpdb->sitemeta.".meta_value AND ".$wpdb->sitemeta.".site_id = '".$site_id."'";
- $details = $wpdb->get_results( $query, ARRAY_A );
- } else {
- $details = false;
- }
-
- return $details;
-}
-
-function get_user_details( $username ) {
- global $wpdb;
-
- return $wpdb->get_row( "SELECT * FROM $wpdb->users WHERE user_login = '$username'" );
-}
-
-function get_blog_details( $id, $all = true ) {
- global $wpdb, $wpmuBaseTablePrefix;
-
- $details = wp_cache_get( $id, 'blog-details' );
-
- if ( $details )
- return unserialize( $details );
-
- $details = $wpdb->get_row( "SELECT * FROM $wpdb->blogs WHERE blog_id = '$id' /* get_blog_details */" );
-
- if ( !$details )
- return false;
-
- if( $all == true ) {
- $details->blogname = get_blog_option($id, 'blogname');
- $details->siteurl = get_blog_option($id, 'siteurl');
- $details->post_count = get_blog_option($id, 'post_count');
-
- wp_cache_set( $id, serialize( $details ), 'blog-details' );
-
- $key = md5( $details->domain . $details->path );
- wp_cache_set( $key, serialize( $details ), 'blog-lookup' );
- }
-
- return $details;
-}
-
-function refresh_blog_details( $id ) {
- global $wpdb, $wpmuBaseTablePrefix;
-
- $details = get_blog_details( $id );
- wp_cache_delete( $id , 'blog-details' );
-
- $key = md5( $details->domain . $details->path );
- wp_cache_delete( $key , 'blog-lookup' );
-
- //return $details;
-}
-
-function get_current_user_id() {
- global $current_user;
- return $current_user->ID;
-}
-
-function is_site_admin( $user_login = false ) {
- global $wpdb, $current_user;
-
- if ( !$current_user && !$user_login )
- return false;
-
- if ( $user_login )
- $user_login = sanitize_user( $user_login );
- else
- $user_login = $current_user->user_login;
-
- $site_admins = get_site_option( 'site_admins', array('admin') );
- if( in_array( $user_login, $site_admins ) )
- return true;
-
- return false;
-}
-
-function get_site_option( $option, $default = false, $use_cache = true ) {
- global $wpdb;
-
- if( $use_cache == true ) {
- $value = wp_cache_get($option, 'site-options');
- } else {
- $value = false;
- }
-
- if ( false === $value ) {
- $value = $wpdb->get_var("SELECT meta_value FROM $wpdb->sitemeta WHERE meta_key = '$option' AND site_id = '$wpdb->siteid'");
- if ( ! is_null($value) ) {
- wp_cache_set($option, $value, 'site-options');
- } elseif ( $default ) {
- return $default;
- } else {
- return false;
- }
- }
-
- $value = stripslashes( $value );
- @ $kellogs = unserialize($value);
- if ( $kellogs !== FALSE )
- return $kellogs;
- else
- return $value;
-}
-
-function add_site_option( $key, $value ) {
- global $wpdb;
-
- $exists = $wpdb->get_var("SELECT meta_value FROM $wpdb->sitemeta WHERE meta_key = '$key' AND site_id = '$wpdb->siteid'");
-
- if ( null !== $exists ) // If we already have it
- return false;
-
- if ( is_array($value) || is_object($value) )
- $value = serialize($value);
- $value = $wpdb->escape( $value );
- wp_cache_delete($key, 'site-options');
- $wpdb->query( "INSERT INTO $wpdb->sitemeta ( site_id , meta_key , meta_value ) VALUES ( '$wpdb->siteid', '$key', '$value')" );
- return $wpdb->insert_id;
-}
-
-function update_site_option( $key, $value ) {
- global $wpdb;
-
- if ( $value == get_site_option( $key ) )
- return;
-
- if ( is_array($value) || is_object($value) )
- $value = serialize($value);
- $value = $wpdb->escape( $value );
-
- if ( get_site_option( $key, false, false ) == false )
- add_site_option( $key, $value );
-
- $wpdb->query( "UPDATE $wpdb->sitemeta SET meta_value = '".$wpdb->escape( $value )."' WHERE meta_key = '$key'" );
- wp_cache_delete( $key, 'site-options' );
-}
-
-function get_blog_option( $id, $key, $default='na' ) {
- global $wpdb, $wpmuBaseTablePrefix, $blog_id;
-
- $current_blog_id = $blog_id;
- $current_options_table = $wpdb->options;
- $wpdb->options = $wpmuBaseTablePrefix . $id . "_options";
- $blog_id = $id;
- $opt = get_option( $key );
- $blog_id = $current_blog_id;
- $wpdb->options = $current_options_table;
-
- return $opt;
-}
-
-function add_blog_option( $id, $key, $value ) {
- global $wpdb, $wpmuBaseTablePrefix, $blog_id;
-
- $current_blog_id = $blog_id;
- $current_options_table = $wpdb->options;
- $wpdb->options = $wpmuBaseTablePrefix . $id . "_options";
- $blog_id = $id;
- $opt = add_option( $key, $value );
- $blog_id = $current_blog_id;
- $wpdb->options = $current_options_table;
-}
-
-
-function update_blog_option( $id, $key, $value ) {
- global $wpdb, $wpmuBaseTablePrefix, $blog_id;
-
- $current_blog_id = $blog_id;
- $current_options_table = $wpdb->options;
- $wpdb->options = $wpmuBaseTablePrefix . $id . "_options";
- $blog_id = $id;
- $opt = update_option( $key, $value );
- $blog_id = $current_blog_id;
- $wpdb->options = $current_options_table;
- refresh_blog_details( $id );
-}
-
-function switch_to_blog( $new_blog ) {
- global $tmpoldblogdetails, $wpdb, $wpmuBaseTablePrefix, $table_prefix, $cache_settings, $category_cache, $cache_categories, $post_cache, $wp_object_cache, $blog_id, $switched, $wp_roles;
-
- // backup
- $tmpoldblogdetails[ 'blogid' ] = $wpdb->blogid;
- $tmpoldblogdetails[ 'posts' ] = $wpdb->posts;
- $tmpoldblogdetails[ 'categories' ] = $wpdb->categories;
- $tmpoldblogdetails[ 'post2cat' ] = $wpdb->post2cat;
- $tmpoldblogdetails[ 'comments' ] = $wpdb->comments;
- $tmpoldblogdetails[ 'links' ] = $wpdb->links;
- $tmpoldblogdetails[ 'link2cat' ] = $wpdb->link2cat;
- $tmpoldblogdetails[ 'linkcategories' ] = $wpdb->linkcategories;
- $tmpoldblogdetails[ 'options' ] = $wpdb->options;
- $tmpoldblogdetails[ 'postmeta' ] = $wpdb->postmeta;
- $tmpoldblogdetails[ 'prefix' ] = $wpdb->prefix;
- $tmpoldblogdetails[ 'cache_settings' ] = $cache_settings;
- $tmpoldblogdetails[ 'category_cache' ] = $category_cache;
- $tmpoldblogdetails[ 'cache_categories' ] = $cache_categories;
- $tmpoldblogdetails[ 'table_prefix' ] = $table_prefix;
- $tmpoldblogdetails[ 'post_cache' ] = $post_cache;
- $tmpoldblogdetails[ 'wp_object_cache' ] = $wp_object_cache;
- $tmpoldblogdetails[ 'blog_id' ] = $blog_id;
-
- // fix the new prefix.
- $table_prefix = $wpmuBaseTablePrefix . $new_blog . "_";
- $wpdb->prefix = $table_prefix;
- $wpdb->blogid = $new_blog;
- $wpdb->posts = $table_prefix . 'posts';
- $wpdb->categories = $table_prefix . 'categories';
- $wpdb->post2cat = $table_prefix . 'post2cat';
- $wpdb->comments = $table_prefix . 'comments';
- $wpdb->links = $table_prefix . 'links';
- $wpdb->link2cat = $table_prefix . 'link2cat';
- $wpdb->linkcategories = $table_prefix . 'linkcategories';
- $wpdb->options = $table_prefix . 'options';
- $wpdb->postmeta = $table_prefix . 'postmeta';
- $blog_id = $new_blog;
-
- $cache_settings = array();
- unset( $cache_settings );
- unset( $category_cache );
- unset( $cache_categories );
- unset( $post_cache );
- //unset( $wp_object_cache );
- //$wp_object_cache = new WP_Object_Cache();
- //$wp_object_cache->cache_enabled = false;
- wp_cache_flush();
- wp_cache_close();
- $wpdb->hide_errors();
- $wp_roles->_init();
- $wpdb->show_errors();
- wp_cache_init();
-
- do_action('switch_blog', $blog_id, $tmpoldblogdetails[ 'blog_id' ]);
-
- $switched = true;
-}
-
-function restore_current_blog() {
- global $table_prefix, $tmpoldblogdetails, $wpdb, $wpmuBaseTablePrefix, $cache_settings, $category_cache, $cache_categories, $post_cache, $wp_object_cache, $blog_id, $switched, $wp_roles;
- // backup
- $wpdb->blogid = $tmpoldblogdetails[ 'blogid' ];
- $wpdb->posts = $tmpoldblogdetails[ 'posts' ];
- $wpdb->categories = $tmpoldblogdetails[ 'categories' ];
- $wpdb->post2cat = $tmpoldblogdetails[ 'post2cat' ];
- $wpdb->comments = $tmpoldblogdetails[ 'comments' ];
- $wpdb->links = $tmpoldblogdetails[ 'links' ];
- $wpdb->link2cat = $tmpoldblogdetails[ 'link2cat' ];
- $wpdb->linkcategories = $tmpoldblogdetails[ 'linkcategories' ];
- $wpdb->options = $tmpoldblogdetails[ 'options' ];
- $wpdb->postmeta = $tmpoldblogdetails[ 'postmeta' ];
- $wpdb->prefix = $tmpoldblogdetails[ 'prefix' ];
- $cache_settings = $tmpoldblogdetails[ 'cache_settings' ];
- $category_cache = $tmpoldblogdetails[ 'category_cache' ];
- $cache_categories = $tmpoldblogdetails[ 'cache_categories' ];
- $table_prefix = $tmpoldblogdetails[ 'table_prefix' ];
- $post_cache = $tmpoldblogdetails[ 'post_cache' ];
- $wp_object_cache = $tmpoldblogdetails[ 'wp_object_cache' ];
- $prev_blog_id = $blog_id;
- $blog_id = $tmpoldblogdetails[ 'blog_id' ];
- unset( $tmpoldblogdetails );
- wp_cache_flush();
- wp_cache_close();
- $wp_roles->_init();
- wp_cache_init();
-
- do_action('switch_blog', $blog_id, $prev_blog_id);
-
- $switched = false;
-}
-
-function get_users_of_blog( $id = '' ) {
- global $wpdb, $wpmuBaseTablePrefix;
- if ( empty($id) )
- $id = $wpdb->blogid;
- $users = $wpdb->get_results( "SELECT user_id, user_login, user_email, meta_value FROM $wpdb->users, $wpdb->usermeta WHERE " . $wpdb->users . ".ID = " . $wpdb->usermeta . ".user_id AND meta_key = '" . $wpmuBaseTablePrefix . $id . "_capabilities' ORDER BY {$wpdb->usermeta}.user_id" );
- return $users;
-}
-
-function get_blogs_of_user( $id ) {
- global $wpdb, $wpmuBaseTablePrefix;
-
- $user = get_userdata( $id );
- $blogs = array();
-
- $i = 0;
- foreach ( $user as $key => $value ) {
- if ( strstr( $key, '_capabilities') && strstr( $key, 'wp_') ) {
- preg_match('/wp_(\d+)_capabilities/', $key, $match);
- $blog = get_blog_details( $match[1] );
- if ( $blog && isset( $blog->domain ) ) {
- $blogs[$match[1]]->userblog_id = $match[1];
- $blogs[$match[1]]->domain = $blog->domain;
- $blogs[$match[1]]->path = $blog->path;
- }
- }
- }
-
- return $blogs;
-}
-
-function is_archived( $id ) {
- return get_blog_status($id, 'archived');
-}
-
-function update_archived( $id, $archived ) {
- update_blog_status($id, 'archived', $archived);
-
- return $archived;
-}
-
-function update_blog_status( $id, $pref, $value ) {
- global $wpdb;
-
- $wpdb->query( "UPDATE {$wpdb->blogs} SET {$pref} = '{$value}', last_updated = NOW() WHERE blog_id = '$id'" );
-
- refresh_blog_details($id);
-
- if( $pref == 'spam' ) {
- if( $value == 1 ) {
- do_action( "make_spam_blog", $id );
- } else {
- do_action( "make_ham_blog", $id );
- }
- }
-
- return $value;
-}
-
-function get_blog_status( $id, $pref ) {
- global $wpdb;
-
- $details = get_blog_details( $id );
- if( $details ) {
- return $details->$pref;
- }
-
- return $wpdb->get_var( "SELECT $pref FROM {$wpdb->blogs} WHERE blog_id = '$id'" );
-}
-
-function get_last_updated( $display = false ) {
- global $wpdb;
- $blogs = $wpdb->get_results( "SELECT blog_id, domain, path FROM $wpdb->blogs WHERE site_id = '$wpdb->siteid' AND last_updated != '0000-00-00 00:00:00' ORDER BY last_updated DESC limit 0,40", ARRAY_A );
- if( is_array( $blogs ) ) {
- while( list( $key, $details ) = each( $blogs ) ) {
- if( get_blog_status( $details[ 'blog_id' ], 'archived' ) == '1' )
- unset( $blogs[ $key ] );
- }
- }
-
- return $blogs;
-}
-
-function get_most_active_blogs( $num = 10, $display = true ) {
- global $wpdb;
- $most_active = get_site_option( "most_active" );
- $update = false;
- if( is_array( $most_active ) ) {
- if( ( $most_active[ 'time' ] + 60 ) < time() ) { // cache for 60 seconds.
- $update = true;
- }
- } else {
- $update = true;
- }
-
- if( $update == true ) {
- unset( $most_active );
- $blogs = get_blog_list( 0, 'all', false ); // $blog_id -> $details
- if( is_array( $blogs ) ) {
- reset( $blogs );
- while( list( $key, $details ) = each( $blogs ) ) {
- $most_active[ $details[ 'blog_id' ] ] = $details[ 'postcount' ];
- $blog_list[ $details[ 'blog_id' ] ] = $details; // array_slice() removes keys!!
- }
- arsort( $most_active );
- reset( $most_active );
- while( list( $key, $details ) = each( $most_active ) ) {
- $t[ $key ] = $blog_list[ $key ];
- }
- unset( $most_active );
- $most_active = $t;
- }
- update_site_option( "most_active", $most_active );
- }
-
- if( $display == true ) {
- if( is_array( $most_active ) ) {
- reset( $most_active );
- while( list( $key, $details ) = each( $most_active ) ) {
- $url = "http://" . $details[ 'domain' ] . $details[ 'path' ];
- print "<li>" . $details[ 'postcount' ] . " <a href='$url'>$url</a></li>";
- }
- }
- }
-
- return array_slice( $most_active, 0, $num );
-}
-
-function get_blog_list( $start = 0, $num = 10, $display = true ) {
- global $wpdb, $wpmuBaseTablePrefix;
-
- $blogs = get_site_option( "blog_list" );
- $update = false;
- if( is_array( $blogs ) ) {
- if( ( $blogs[ 'time' ] + 60 ) < time() ) { // cache for 60 seconds.
- $update = true;
- }
- } else {
- $update = true;
- }
-
- if( $update == true ) {
- unset( $blogs );
- $blogs = $wpdb->get_results( "SELECT blog_id, domain, path FROM $wpdb->blogs WHERE site_id = '$wpdb->siteid' ORDER BY registered DESC", ARRAY_A );
- if( is_array( $blogs ) ) {
- while( list( $key, $details ) = each( $blogs ) ) {
- if( is_archived( $details[ 'blog_id' ] ) == '1' )
- unset( $blogs[ $key ] );
-
- $blog_list[ $details[ 'blog_id' ] ] = $details;
- $blog_list[ $details[ 'blog_id' ] ][ 'postcount' ] = $wpdb->get_var( "SELECT count(*) FROM " . $wpmuBaseTablePrefix . $details[ 'blog_id' ] . "_posts WHERE post_status='publish' AND post_type='post'" );
- }
- unset( $blogs );
- $blogs = $blog_list;
- }
- update_site_option( "blog_list", $blogs );
- }
-
- if( $num == 'all' ) {
- return array_slice( $blogs, $start, count( $blogs ) );
- } else {
- return array_slice( $blogs, $start, $num );
- }
-}
-
-function get_blog_count( $id = 0 ) {
- global $wpdb;
-
-/*
- if( $id == 0 )
- $id = $wpdb->siteid;
-
- $count_ts = get_site_option( "blog_count_ts" );
- if( time() - $count_ts > 86400 ) {
- $count = $wpdb->get_var( "SELECT count(*) as c FROM $wpdb->blogs WHERE site_id = '$id' AND spam='0' AND deleted='0' and archived='0'" );
- update_site_option( "blog_count", $count );
- update_site_option( "blog_count_ts", time() );
- } else {
-
- }
-*/
-
- $count = get_site_option( "blog_count" );
-
- return $count;
-}
-
-function get_blog_post( $blog_id, $post_id ) {
- global $wpdb, $wpmuBaseTablePrefix;
-
- $cache = wpmu_get_cache( $blog_id."-".$post_id, "get_blog_post" );
- if( is_array( $cache ) && ( time() - $cache[ 'time' ] ) < 10 ) {
- $post = $cache[ 'value' ];
- } else {
- $post = $wpdb->get_row( "SELECT * FROM {$wpmuBaseTablePrefix}{$blog_id}_posts WHERE ID = '{$post_id}'" );
- wpmu_update_cache( $blog_id."-".$post_id, $post, "get_blog_post" );
- }
-
- return $post;
-
-}
-
-function add_user_to_blog( $blog_id, $user_id, $role ) {
- global $wpdb;
-
- $switch = false;
-
- if ( empty($blog_id) )
- $blog_id = $wpdb->blogid;
-
- if ( $blog_id != $wpdb->blogid ) {
- $switch = true;
- switch_to_blog($blog_id);
- }
-
- $user = new WP_User($user_id);
-
- if ( empty($user) )
- return new WP_Error('user_does_not_exist', __('That user does not exist.'));
-
- if ( !get_usermeta($user_id, 'primary_blog') ) {
- update_usermeta($user_id, 'primary_blog', $blog_id);
- $details = get_blog_details($blog_id);
- update_usermeta($user_id, 'source_domain', $details->domain);
- }
-
- if ( empty($user->user_url) ) {
- $userdata = array();
- $userdata['ID'] = $user->id;
- $userdata['user_url'] = get_blogaddress_by_id($blog_id);
- wp_update_user($userdata);
- }
-
- $user->set_role($role);
-
- do_action('add_user_to_blog', $user_id, $role, $blog_id);
-
- if ( $switch )
- restore_current_blog();
-}
-
-function remove_user_from_blog($user_id, $blog_id = '') {
- global $wpdb;
- if ( empty($blog_id) )
- $blog_id = $wpdb->blogid;
-
- $blog_id = (int) $blog_id;
-
- if ( $blog_id != $wpdb->blogid ) {
- $switch = true;
- switch_to_blog($blog_id);
- }
-
- $user_id = (int) $user_id;
-
- do_action('remove_user_from_blog', $user_id, $blog_id);
-
- // If being removed from the primary blog, set a new primary if the user is assigned
- // to multiple blogs.
- $primary_blog = get_usermeta($user_id, 'primary_blog');
- if ( $primary_blog == $blog_id ) {
- $new_id = '';
- $new_domain = '';
- $blogs = get_blogs_of_user($user_id);
- if ( count($blogs) > 1 ) {
- foreach ( $blogs as $blog ) {
- if ( $blog->userblog_id == $blog_id )
- continue;
- $new_id = $blog->userblog_id;
- $new_domain = $blog->domain;
- break;
- }
- }
- update_usermeta($user_id, 'primary_blog', $new_id);
- update_usermeta($user_id, 'source_domain', $new_domain);
- }
-
- wp_revoke_user($user_id);
-
- $blogs = get_blogs_of_user($user_id);
- if ( count($blogs) == 0 ) {
- update_usermeta($user_id, 'primary_blog', '');
- update_usermeta($user_id, 'source_domain', '');
- }
-
- if ( $switch )
- restore_current_blog();
-}
-
-function create_empty_blog( $domain, $path, $weblog_title, $site_id = 1 ) {
- global $wpdb, $table_prefix, $wp_queries, $wpmuBaseTablePrefix, $current_site;
-
- $domain = addslashes( $domain );
- $weblog_title = addslashes( $weblog_title );
-
- if( empty($path) )
- $path = '/';
-
- // Check if the domain has been used already. We should return an error message.
- if ( domain_exists($domain, $path, $site_id) )
- return 'error: Blog URL already taken.';
-
- // Need to backup wpdb table names, and create a new wp_blogs entry for new blog.
- // Need to get blog_id from wp_blogs, and create new table names.
- // Must restore table names at the end of function.
-
- if ( ! $blog_id = insert_blog($domain, $path, $site_id) )
- return "error: problem creating blog entry";
-
- switch_to_blog($blog_id);
-
- install_blog($blog_id);
-
- restore_current_blog();
-
- return true;
-}
-
-function get_blog_permalink( $blog_id, $post_id ) {
- global $wpdb, $cache_settings;
-
- $cache = wpmu_get_cache( $blog_id."-".$post_id, "permalink" );
- if( is_array( $cache ) && ( time() - $cache[ 'time' ] ) < 30 ) { // cache for 30 seconds
- $link = $cache[ 'value' ];
- } else {
- switch_to_blog( $blog_id );
- $link = get_permalink( $post_id );
- restore_current_blog();
- wpmu_update_cache( $blog_id."-".$post_id, $link, "permalink" );
- }
- return $link;
-}
-function wpmu_update_cache( $key, $value, $path ) {
- if( defined( "WPMU_CACHE_PATH" ) ) {
- @mkdir( CONSTANT( "WPMU_CACHE_PATH" ) . "/$path/", 0700 );
- @mkdir( CONSTANT( "WPMU_CACHE_PATH" ) . "/$path/temp/", 0700 );
- $cache_path = CONSTANT( "WPMU_CACHE_PATH" ) . "/$path/" . md5( $key );
- $tmpfname = tempnam( CONSTANT( "WPMU_CACHE_PATH" ) . "/$path/temp/", "tempname");
- $handle = fopen($tmpfname, "w");
- $cache = array( "value" => $value, "time" => time() );
- fwrite( $handle, serialize( $cache ) );
- fclose($handle);
- if( file_exists( $cache_path ) )
- @unlink( $cache_path );
- rename( $tmpfname, $cache_path );
- }
-}
-
-function wpmu_get_cache( $key, $path ) {
- if( defined( "WPMU_CACHE_PATH" ) ) {
- $cache_path = CONSTANT( "WPMU_CACHE_PATH" ) . "/$path/" . md5( $key );
- if ( @file_exists( $cache_path ) ) {
- $cache = unserialize( @file_get_contents( $cache_path ) );
- return $cache;
- } else {
- return false;
- }
- } else {
- return false;
- }
-}
-
-// wpmu admin functions
-
-function wpmu_admin_do_redirect( $url = '' ) {
- if( isset( $_GET[ 'redirect' ] ) ) {
- if( substr( $_GET[ 'redirect' ], 0, 2 ) == 's_' ) {
- header( "Location: {$url}?updated=true&action=blogs&s=". wp_specialchars( substr( $_GET[ 'redirect' ], 2 ) ) );
- die();
- }
- } elseif( isset( $_POST[ 'redirect' ] ) ) {
- $url = $_POST[ 'redirect' ];
- if( strpos( $url, 'updated=true' ) === false ) {
- if( strpos( $url, '?' ) === true ) {
- $url .= '&updated=true';
- } else {
- $url .= '?updated=true';
- }
- }
- header( "Location: {$url}" );
- die();
- } else {
- header( "Location: {$url}?updated=true" );
- die();
- }
-}
-
-function wpmu_admin_redirect_url() {
- if( isset( $_GET[ 's' ] ) ) {
- return "s_".$_GET[ 's' ];
- }
-}
-
-function is_blog_user() {
- global $current_user, $wpdb, $wpmuBaseTablePrefix;
-
- $cap_key = $wpmuBaseTablePrefix . $wpdb->blogid . '_capabilities';
-
- if ( is_array($current_user->$cap_key) && in_array(1, $current_user->$cap_key) )
- return true;
-
- return false;
-}
-
-function validate_email( $email, $check_domain = true) {
- if (ereg('^[-!#$%&\'*+\\./0-9=?A-Z^_`a-z{|}~]+'.'@'.
- '[-!#$%&\'*+\\/0-9=?A-Z^_`a-z{|}~]+\.'.
- '[-!#$%&\'*+\\./0-9=?A-Z^_`a-z{|}~]+$', $email))
- {
- if ($check_domain && function_exists('checkdnsrr')) {
- list (, $domain) = explode('@', $email);
-
- if (checkdnsrr($domain.'.', 'MX') || checkdnsrr($domain.'.', 'A')) {
- return true;
- }
- return false;
- }
- return true;
- }
- return false;
-}
-
-function wpmu_validate_user_signup($user_name, $user_email) {
- global $wpdb;
-
- $errors = new WP_Error();
-
- $user_name = sanitize_title($user_name);
-
- if ( empty( $user_name ) )
- $errors->add('user_name', __("Please enter a username"));
-
- preg_match( "/[a-zA-Z0-9]+/", $user_name, $maybe );
-
- if( $user_name != $maybe[0] ) {
- $errors->add('user_name', __("Only letters and numbers allowed"));
- }
-
- $illegal_names = get_site_option( "illegal_names" );
- if( in_array( $user_name, $illegal_names ) == true ) {
- $errors->add('user_name', __("That username is not allowed"));
- }
-
- if( strlen( $user_name ) < 4 ) {
- $errors->add('user_name', __("Username must be at least 4 characters"));
- }
-
- if ( strpos( " " . $user_name, "_" ) != false )
- $errors->add('user_name', __("Sorry, usernames may not contain the character '_'!"));
-
- // all numeric?
- preg_match( '/[0-9]*/', $user_name, $match );
- if ( $match[0] == $user_name )
- $errors->add('user_name', __("Sorry, usernames must have letters too!"));
-
- if ( !is_email( $user_email ) )
- $errors->add('user_email', __("Please enter a correct email address"));
-
- if ( !validate_email( $user_email ) )
- $errors->add('user_email', __("Please check your email address."));
-
- $limited_email_domains = get_site_option( 'limited_email_domains' );
- if ( is_array( $limited_email_domains ) && empty( $limited_email_domains ) == false ) {
- $emaildomain = substr( $user_email, 1 + strpos( $user_email, '@' ) );
- if( in_array( $emaildomain, $limited_email_domains ) == false ) {
- $errors->add('user_email', __("Sorry, that email address is not allowed!"));
- }
- }
-
- // Check if the username has been used already.
- if ( username_exists($user_name) )
- $errors->add('user_name', __("Sorry, that username already exists!"));
-
- // Check if the email address has been used already.
- if ( email_exists($user_email) )
- $errors->add('user_email', __("Sorry, that email address is already used!"));
-
- // Has someone already signed up for this username?
- // TODO: Check email too?
- $signup = $wpdb->get_row("SELECT * FROM $wpdb->signups WHERE user_login = '$user_name'");
- if ( ! empty($signup) ) {
- $registered_at = mysql2date('U', $signup->registered);
- $now = current_time( 'timestamp', true );
- $diff = $now - $registered_at;
- // If registered more than two days ago, cancel registration and let this signup go through.
- if ( $diff > 172800 ) {
- $wpdb->query("DELETE FROM $wpdb->signups WHERE user_login = '$user_name'");
- } else {
- $errors->add('user_name', __("That username is currently reserved but may be available in a couple days."));
- }
- }
-
- $result = array('user_name' => $user_name, 'user_email' => $user_email, 'errors' => $errors);
-
- return apply_filters('wpmu_validate_user_signup', $result);
-}
-
-function wpmu_validate_blog_signup($blog_id, $blog_title, $user = '') {
- global $wpdb, $domain, $base;
-
- $errors = new WP_Error();
- $illegal_names = get_site_option( "illegal_names" );
- if( $illegal_names == false ) {
- $illegal_names = array( "www", "web", "root", "admin", "main", "invite", "administrator" );
- add_site_option( "illegal_names", $illegal_names );
- }
-
- $blog_id = sanitize_title($blog_id);
-
- if ( empty( $blog_id ) )
- $errors->add('blog_id', __("Please enter a blog name"));
-
- preg_match( "/[a-zA-Z0-9]+/", $blog_id, $maybe );
- if( $blog_id != $maybe[0] ) {
- $errors->add('blog_id', __("Only letters and numbers allowed"));
- }
- if( in_array( $blog_id, $illegal_names ) == true ) {
- $errors->add('blog_id', __("That name is not allowed"));
- }
- if( strlen( $blog_id ) < 4 ) {
- $errors->add('blog_id', __("Blog name must be at least 4 characters"));
- }
-
- if ( strpos( " " . $blog_id, "_" ) != false )
- $errors->add('blog_id', __("Sorry, blog names may not contain the character '_'!"));
-
- // all numeric?
- preg_match( '/[0-9]*/', $blog_id, $match );
- if ( $match[0] == $blog_id )
- $errors->add('blog_id', __("Sorry, blog names must have letters too!"));
-
- $blog_id = apply_filters( "newblog_id", $blog_id );
-
- $blog_title = stripslashes( $blog_title );
-
- if ( empty( $blog_title ) )
- $errors->add('blog_title', __("Please enter a blog title"));
-
- // Check if the domain/path has been used already.
- if( constant( "VHOST" ) == 'yes' ) {
- $mydomain = "$blog_id.$domain";
- $path = $base;
- } else {
- $mydomain = "$domain";
- $path = $base.$blog_id.'/';
- }
- if ( domain_exists($mydomain, $path) )
- $errors->add('blog_id', __("Sorry, that blog already exists!"));
-
- if ( username_exists($blog_id) ) {
- if ( !is_object($user) && ( $user->user_login != $blog_id ) )
- $errors->add('blog_id', __("Sorry, that blog is reserved!"));
- }
-
- // Has someone already signed up for this domain?
- // TODO: Check email too?
- $signup = $wpdb->get_row("SELECT * FROM $wpdb->signups WHERE domain = '$mydomain' AND path = '$path'");
- if ( ! empty($signup) ) {
- $registered_at = mysql2date('U', $signup->registered);
- $now = current_time( 'timestamp', true );
- $diff = $now - $registered_at;
- // If registered more than two days ago, cancel registration and let this signup go through.
- if ( $diff > 172800 ) {
- $wpdb->query("DELETE FROM $wpdb->signups WHERE domain = '$mydomain' AND path = '$path'");
- } else {
- $errors->add('blog_id', __("That blog is currently reserved but may be available in a couple days."));
- }
- }
-
- $result = array('domain' => $mydomain, 'path' => $path, 'blog_id' => $blog_id, 'blog_title' => $blog_title,
- 'errors' => $errors);
-
- return apply_filters('wpmu_validate_blog_signup', $result);
-}
-
-// Record signup information for future activation. wpmu_validate_signup() should be run
-// on the inputs before calling wpmu_signup().
-function wpmu_signup_blog($domain, $path, $title, $user, $user_email, $meta = '') {
- global $wpdb;
-
- $key = substr( md5( time() . rand() . $domain ), 0, 16 );
- $registered = current_time('mysql', true);
- $meta = serialize($meta);
- $domain = $wpdb->escape($domain);
- $path = $wpdb->escape($path);
- $title = $wpdb->escape($title);
- $wpdb->query( "INSERT INTO $wpdb->signups ( domain, path, title, user_login, user_email, registered, activation_key, meta )
- VALUES ( '$domain', '$path', '$title', '$user', '$user_email', '$registered', '$key', '$meta' )" );
-
- wpmu_signup_blog_notification($domain, $path, $title, $user, $user_email, $key, $meta);
-}
-
-function wpmu_signup_user($user, $user_email, $meta = '') {
- global $wpdb;
-
- $key = substr( md5( time() . rand() . $user_email ), 0, 16 );
- $registered = current_time('mysql', true);
- $meta = serialize($meta);
- $wpdb->query( "INSERT INTO $wpdb->signups ( domain, path, title, user_login, user_email, registered, activation_key, meta )
- VALUES ( '', '', '', '$user', '$user_email', '$registered', '$key', '$meta' )" );
-
- wpmu_signup_user_notification($user, $user_email, $key, $meta);
-}
-
-// Notify user of signup success.
-function wpmu_signup_blog_notification($domain, $path, $title, $user, $user_email, $key, $meta = '') {
- global $current_site;
- // Send email with activation link.
- if( constant( "VHOST" ) == 'no' ) {
- $activate_url = "http://" . $current_site->domain . $current_site->path . "wp-activate.php?key=$key";
- } else {
- $activate_url = "http://{$domain}{$path}/wp-activate.php?key=$key";
- }
- $message_headers = 'From: ' . stripslashes($title) . ' <support@' . $_SERVER[ 'SERVER_NAME' ] . '>';
- $message = sprintf(__("To activate your blog, please click the following link:\n\n%s\n\nAfter you activate, you will receive *another email* with your login.\n\nAfter you activate, you can visit your blog here:\n\n%s"), $activate_url, "http://$domain.$path");
- // TODO: Don't hard code activation link.
- $subject = sprintf(__('Activate %s'), $domain.$path);
- wp_mail($user_email, $subject, $message, $message_headers);
-}
-
-function wpmu_signup_user_notification($user, $user_email, $key, $meta = '') {
- // Send email with activation link.
- $message_headers = 'From: ' . stripslashes($user) . ' <support@' . $_SERVER[ 'SERVER_NAME' ] . '>';
- $message = sprintf(__("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"),
- "http://{$_SERVER[ 'SERVER_NAME' ]}/wp-activate.php?key=$key", "http://{$_SERVER[ 'SERVER_NAME' ]}");
- // TODO: Don't hard code activation link.
- $subject = sprintf(__('Activate %s'), $user);
- wp_mail($user_email, $subject, $message, $message_headers);
-}
-
-function wpmu_activate_signup($key) {
- global $wpdb;
-
- $result = array();
- $signup = $wpdb->get_row("SELECT * FROM $wpdb->signups WHERE activation_key = '$key'");
-
- if ( empty($signup) )
- return new WP_Error('invalid_key', __('Invalid activation key.'));
-
- if ( $signup->active )
- return new WP_Error('already_active', __('The blog is already active.'));
-
- $user_login = $wpdb->escape($signup->user_login);
- $user_email = $wpdb->escape($signup->user_email);
- $password = generate_random_password();
-
- $user_id = username_exists($user_login);
-
- if ( ! $user_id )
- $user_id = wpmu_create_user($user_login, $password, $user_email);
-
- if ( ! $user_id )
- return new WP_Error('create_user', __('Could not create user'));
-
- $now = current_time('mysql', true);
-
- if ( empty($signup->domain) ) {
- $wpdb->query("UPDATE $wpdb->signups SET active = '1', activated = '$now' WHERE activation_key = '$key'");
- wpmu_welcome_user_notification($user_id, $password, $meta);
- do_action('wpmu_activate_user', $user_id, $password, $meta);
- return array('user_id' => $user_id, 'password' => $password, 'meta' => $meta);
- }
-
- $meta = unserialize($signup->meta);
- $blog_id = wpmu_create_blog($signup->domain, $signup->path, $signup->title, $user_id, $meta);
-
- // TODO: What to do if we create a user but cannot create a blog?
- if ( is_wp_error($blog_id) )
- return $blog_id;
-
- $wpdb->query("UPDATE $wpdb->signups SET active = '1', activated = '$now' WHERE activation_key = '$key'");
-
- wpmu_welcome_notification($blog_id, $user_id, $password, $signup->title, $meta);
-
- do_action('wpmu_activate_blog', $blog_id, $user_id, $password, $signup->title, $meta);
-
- return array('blog_id' => $blog_id, 'user_id' => $user_id, 'password' => $password, 'title' => $signup->title, 'meta' => $meta);
-}
-
-function generate_random_password() {
- $random_password = substr(md5(uniqid(microtime())), 0, 6);
- $random_password = apply_filters('random_password', $random_password);
- return $random_password;
-}
-
-function wpmu_create_user( $user_name, $password, $email) {
- if ( username_exists($user_name) )
- return false;
-
- // Check if the email address has been used already.
- if ( email_exists($email) )
- return false;
-
-
- $user_id = wp_create_user( $user_name, $password, $email );
- $user = new WP_User($user_id);
- // Newly created users have no roles or caps until they are added to a blog.
- update_user_option($user_id, 'capabilities', '');
- update_user_option($user_id, 'user_level', '');
-
- do_action( 'wpmu_new_user', $user_id );
-
- return $user_id;
-}
-
-function wpmu_create_blog($domain, $path, $title, $user_id, $meta = '', $site_id = 1) {
- $domain = addslashes( $domain );
- $title = addslashes( $title );
- $user_id = (int) $user_id;
-
- if( empty($path) )
- $path = '/';
-
- // Check if the domain has been used already. We should return an error message.
- if ( domain_exists($domain, $path, $site_id) )
- return new WP_Error('blog_taken', __('Blog already exists.'));
-
- // Need to backup wpdb table names, and create a new wp_blogs entry for new blog.
- // Need to get blog_id from wp_blogs, and create new table names.
- // Must restore table names at the end of function.
-
- if ( ! $blog_id = insert_blog($domain, $path, $site_id) )
- return new WP_Error('insert_blog', __('Could not create blog.'));
-
- //define( "WP_INSTALLING", true );
- switch_to_blog($blog_id);
-
- install_blog($blog_id, $title);
-
- install_blog_defaults($blog_id, $user_id);
-
- add_user_to_blog($blog_id, $user_id, 'administrator');
-
- restore_current_blog();
-
- if ( is_array($meta) ) foreach ($meta as $key => $value)
- update_blog_option( $blog_id, $key, $value );
-
- do_action( 'wpmu_new_blog', $blog_id, $user_id );
-
- return $blog_id;
-}
-
-function domain_exists($domain, $path, $site_id = 1) {
- global $wpdb;
- return $wpdb->get_var("SELECT blog_id FROM $wpdb->blogs WHERE domain = '$domain' AND path = '$path' AND site_id = '$site_id'" );
-}
-
-function insert_blog($domain, $path, $site_id) {
- global $wpdb;
- $path = trailingslashit( $path );
- $query = "INSERT INTO $wpdb->blogs ( blog_id, site_id, domain, path, registered ) VALUES ( NULL, '$site_id', '$domain', '$path', NOW( ))";
- $result = $wpdb->query( $query );
- if ( ! $result )
- return false;
-
- $id = $wpdb->insert_id;
- refresh_blog_details($id);
- return $id;
-}
-
-// Install an empty blog. wpdb should already be switched.
-function install_blog($blog_id, $blog_title = '') {
- global $wpdb, $table_prefix, $wp_roles;
- $wpdb->hide_errors();
-
- require_once( ABSPATH . 'wp-admin/upgrade-functions.php');
- $installed = $wpdb->get_results("SELECT * FROM $wpdb->posts");
- if ($installed) die(__('<h1>Already Installed</h1><p>You appear to have already installed WordPress. To reinstall please clear your old database tables first.</p>') . '</body></html>');
-
- $url = get_blogaddress_by_id($blog_id);
- error_log("install_blog - ID: $blog_id URL: $url Title: $blog_title ", 0);
-
- // Set everything up
- make_db_current_silent();
- populate_options();
- populate_roles();
- $wp_roles->_init();
- // fix url.
- update_option('siteurl', $url);
- update_option('home', $url);
- update_option('fileupload_url', $url . "files" );
- update_option('blogname', $blog_title);
-
- $wpdb->query("UPDATE $wpdb->options SET option_value = '".$blog_title."' WHERE option_name = 'blogname'");
- $wpdb->query("UPDATE $wpdb->options SET option_value = '' WHERE option_name = 'admin_email'");
-
- // Default category
- $wpdb->query("INSERT INTO $wpdb->categories (cat_ID, cat_name, category_nicename) VALUES ('0', '".addslashes(__('Uncategorized'))."', '".sanitize_title(__('Uncategorized'))."')");
-
- // remove all perms
- $wpdb->query( "DELETE FROM ".$wpdb->usermeta." WHERE meta_key = '".$table_prefix."user_level'" );
- $wpdb->query( "DELETE FROM ".$wpdb->usermeta." WHERE meta_key = '".$table_prefix."capabilities'" );
-
- $wpdb->show_errors();
-}
-
-function install_blog_defaults($blog_id, $user_id) {
- global $wpdb, $wp_rewrite, $current_site, $table_prefix, $wpmuBaseTablePrefix;
-
- $wpdb->hide_errors();
-
- // Default links
- $wpdb->query("INSERT INTO $wpdb->linkcategories (cat_id, cat_name) VALUES (1, '".addslashes(__('Blogroll'))."')");
- $wpdb->query("INSERT INTO $wpdb->links (link_url, link_name, link_category, link_owner, link_rss) VALUES ('http://wordpress.com/', 'WordPress.com', 1, '$user_id', 'http://wordpress.com/feed/');");
- $wpdb->query("INSERT INTO $wpdb->links (link_url, link_name, link_category, link_owner, link_rss) VALUES ('http://wordpress.org/', 'WordPress.org', 1, '$user_id', 'http://wordpress.org/development/feed/');");
-
- // First post
- $now = date('Y-m-d H:i:s');
- $now_gmt = gmdate('Y-m-d H:i:s');
- $first_post = get_site_option( 'first_post' );
- if( $first_post == false )
- $first_post = stripslashes( __( 'Welcome to <a href="SITE_URL">SITE_NAME</a>. This is your first post. Edit or delete it, then start blogging!' ) );
-
- $first_post = str_replace( "SITE_URL", "http://" . $current_site->domain . $current_site->path, $first_post );
- $first_post = str_replace( "SITE_NAME", $current_site->site_name, $first_post );
- $first_post = stripslashes( $first_post );
-
- $wpdb->query("INSERT INTO $wpdb->posts (post_author, post_date, post_date_gmt, post_content, post_title, post_category, post_name, post_modified, post_modified_gmt, comment_count) VALUES ('".$user_id."', '$now', '$now_gmt', '".addslashes($first_post)."', '".addslashes(__('Hello world!'))."', '0', '".addslashes(__('hello-world'))."', '$now', '$now_gmt', '1')");
- $wpdb->query( "INSERT INTO $wpdb->post2cat (`rel_id`, `post_id`, `category_id`) VALUES (1, 1, 1)" );
- update_option( "post_count", 1 );
-
- // First page
- $wpdb->query("INSERT INTO $wpdb->posts (post_author, post_date, post_date_gmt, post_content, post_excerpt, post_title, post_category, post_name, post_modified, post_modified_gmt, post_status, post_type, to_ping, pinged, post_content_filtered) VALUES ('$user_id', '$now', '$now_gmt', '".$wpdb->escape(__('This is an example of a WordPress page, you could edit this to put information about yourself or your site so readers know where you are coming from. You can create as many pages like this one or sub-pages as you like and manage all of your content inside of WordPress.'))."', '', '".$wpdb->escape(__('About'))."', '0', '".$wpdb->escape(__('about'))."', '$now', '$now_gmt', 'publish', 'page', '', '', '')");
- $wpdb->query( "INSERT INTO $wpdb->post2cat (`rel_id`, `post_id`, `category_id`) VALUES (2, 2, 1)" );
- // Flush rules to pick up the new page.
- $wp_rewrite->init();
- $wp_rewrite->flush_rules();
-
- // Default comment
- $wpdb->query("INSERT INTO $wpdb->comments (comment_post_ID, comment_author, comment_author_email, comment_author_url, comment_author_IP, comment_date, comment_date_gmt, comment_content) VALUES ('1', '".addslashes(__('Mr WordPress'))."', '', 'http://" . $current_site->domain . $current_site->path . "', '127.0.0.1', '$now', '$now_gmt', '".addslashes(__('Hi, this is a comment.<br />To delete a comment, just log in, and view the posts\' comments, there you will have the option to edit or delete them.'))."')");
-
- $user = new WP_User($user_id);
- $wpdb->query("UPDATE $wpdb->options SET option_value = '$user->user_email' WHERE option_name = 'admin_email'");
-
- // Remove all perms except for the login user.
- $wpdb->query( "DELETE FROM ".$wpdb->usermeta." WHERE user_id != '".$user_id."' AND meta_key = '".$table_prefix."user_level'" );
- $wpdb->query( "DELETE FROM ".$wpdb->usermeta." WHERE user_id != '".$user_id."' AND meta_key = '".$table_prefix."capabilities'" );
- // Delete any caps that snuck into the previously active blog. (Hardcoded to blog 1 for now.) TODO: Get previous_blog_id.
- if ( $user_id != 1 )
- $wpdb->query( "DELETE FROM ".$wpdb->usermeta." WHERE user_id = '".$user_id."' AND meta_key = '" . $wpmuBaseTablePrefix . "1_capabilities'" );
-
- $wpdb->show_errors();
-}
-
-function wpmu_welcome_notification($blog_id, $user_id, $password, $title, $meta = '') {
- global $current_site;
-
- $welcome_email = stripslashes( get_site_option( 'welcome_email' ) );
- if( $welcome_email == false )
- $welcome_email = stripslashes( __( "Dear User,
-
-Your new SITE_NAME blog has been successfully set up at:
-BLOG_URL
-
-You can log in to the administrator account with the following information:
-Username: USERNAME
-Password: PASSWORD
-Login Here: BLOG_URLwp-login.php
-
-We hope you enjoy your new weblog.
-Thanks!
-
---The WordPress Team
-SITE_NAME" ) );
-
- $url = get_blogaddress_by_id($blog_id);
- $user = new WP_User($user_id);
-
- $welcome_email = str_replace( "SITE_NAME", $current_site->site_name, $welcome_email );
- $welcome_email = str_replace( "BLOG_URL", $url, $welcome_email );
- $welcome_email = str_replace( "USERNAME", $user->user_login, $welcome_email );
- $welcome_email = str_replace( "PASSWORD", $password, $welcome_email );
-
- $welcome_email = apply_filters( "update_welcome_email", $welcome_email, $blog_id, $user_id, $password, $title, $meta);
- $message_headers = 'From: ' . $title . ' <support@' . $_SERVER[ 'SERVER_NAME' ] . '>';
- $message = $welcome_email;
- if( empty( $current_site->site_name ) )
- $current_site->site_name = "WordPress MU";
- $subject = sprintf(__('New %s Blog: %s'), $current_site->site_name, $title);
- wp_mail($user->user_email, $subject, $message, $message_headers);
-}
-
-function wpmu_welcome_user_notification($user_id, $password, $meta = '') {
- global $current_site;
-
- $welcome_email = __( "Dear User,
-
-Your new account is setup.
-
-You can log in with the following information:
-Username: USERNAME
-Password: PASSWORD
-
-Thanks!
-
---The WordPress Team
-SITE_NAME" );
-
- $user = new WP_User($user_id);
-
- $welcome_email = apply_filters( "update_welcome_user_email", $welcome_email, $user_id, $password, $meta);
- $welcome_email = str_replace( "SITE_NAME", $current_site->site_name, $welcome_email );
- $welcome_email = str_replace( "USERNAME", $user->user_login, $welcome_email );
- $welcome_email = str_replace( "PASSWORD", $password, $welcome_email );
-
- $message_headers = 'From: ' . $title . ' <support@' . $_SERVER[ 'SERVER_NAME' ] . '>';
- $message = $welcome_email;
- if( empty( $current_site->site_name ) )
- $current_site->site_name = "WordPress MU";
- $subject = sprintf(__('New %s User: %s'), $current_site->site_name, $user->user_login);
- wp_mail($user->user_email, $subject, $message, $message_headers);
-}
-
-function get_real_siteurl( $domain, $path ) {
- if( defined( "VHOST" ) && constant( "VHOST" ) == 'yes' ) {
- return "http://" . $domain . $path;
- } else {
- return get_blogaddress_by_domain($domain, $path);
- }
-}
-
-?>
diff --git a/wp-inst/wp-links-opml.php b/wp-inst/wp-links-opml.php
deleted file mode 100644
index cfbb274..0000000
--- a/wp-inst/wp-links-opml.php
+++ /dev/null
@@ -1,50 +0,0 @@
-<?php
-
-if (empty($wp)) {
- require_once('./wp-config.php');
- wp();
-}
-
-header('Content-type: text/xml; charset=' . get_settings('blog_charset'), true);
-$link_cat = $_GET['link_cat'];
-if ((empty ($link_cat)) || ($link_cat == 'all') || ($link_cat == '0')) {
- $link_cat = '';
-} else { // be safe
- $link_cat = '' . urldecode($link_cat) . '';
- $link_cat = intval($link_cat);
-}
-?><?php echo '<?xml version="1.0"?'.">\n"; ?>
-<!-- generator="wordpress/<?php bloginfo_rss('version') ?>" -->
-<opml version="1.0">
- <head>
- <title>Links for <?php echo get_bloginfo('name').$cat_name ?></title>
- <dateCreated><?php echo gmdate("D, d M Y H:i:s"); ?> GMT</dateCreated>
- </head>
- <body>
-<?php
-
-if (empty ($link_cat))
- $cats = get_categories("type=link&hierarchical=0");
-else
- $cats = array (get_category($link_cat));
-
-foreach ((array) $cats as $cat) {
-?>
-<outline type="category" title="<?php echo wp_specialchars($cat->cat_name); ?>">
-<?php
-
- $bookmarks = get_bookmarks("category={$cat->cat_ID}");
- foreach ((array) $bookmarks as $bookmark) {
-?>
- <outline text="<?php echo wp_specialchars($bookmark->link_name); ?>" type="link" xmlUrl="<?php echo wp_specialchars($bookmark->link_rss); ?>" htmlUrl="<?php echo wp_specialchars($bookmark->link_url); ?>" updated="<?php if ('0000-00-00 00:00:00' != $bookmark->link_updated) echo $bookmark->link_updated; ?>" />
-<?php
-
- }
-?>
-</outline>
-<?php
-
-}
-?>
-</body>
-</opml>
diff --git a/wp-inst/wp-login.php b/wp-inst/wp-login.php
deleted file mode 100644
index 86c5912..0000000
--- a/wp-inst/wp-login.php
+++ /dev/null
@@ -1,263 +0,0 @@
-<?php
-require( dirname(__FILE__) . '/wp-config.php' );
-
-$action = $_REQUEST['action'];
-$error = '';
-
-if ( isset($_GET['key']) )
- $action = 'resetpass';
-
-nocache_headers();
-
-header('Content-Type: '.get_bloginfo('html_type').'; charset='.get_bloginfo('charset'));
-
-if ( defined('RELOCATE') ) { // Move flag is set
- if ( isset( $_SERVER['PATH_INFO'] ) && ($_SERVER['PATH_INFO'] != $_SERVER['PHP_SELF']) )
- $_SERVER['PHP_SELF'] = str_replace( $_SERVER['PATH_INFO'], '', $_SERVER['PHP_SELF'] );
-
- $schema = ( isset($_SERVER['HTTPS']) && strtolower($_SERVER['HTTPS']) == 'on' ) ? 'https://' : 'http://';
- if ( dirname($schema . $_SERVER['HTTP_HOST'] . $_SERVER['PHP_SELF']) != get_settings('siteurl') )
- update_option('siteurl', dirname($schema . $_SERVER['HTTP_HOST'] . $_SERVER['PHP_SELF']) );
-}
-
-switch($action) {
-
-case 'logout':
-
- wp_clearcookie();
- do_action('wp_logout');
- nocache_headers();
-
- $redirect_to = 'wp-login.php';
- if ( isset($_REQUEST['redirect_to']) )
- $redirect_to = preg_replace('|[^a-z0-9-~+_.?#=&;,/:]|i', '', $_REQUEST['redirect_to']);
-
- wp_redirect($redirect_to);
- exit();
-
-break;
-
-case 'lostpassword':
-do_action('lost_password');
-?>
-<!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>WordPress &raquo; <?php _e('Lost Password') ?></title>
- <meta http-equiv="Content-Type" content="<?php bloginfo('html_type'); ?>; charset=<?php bloginfo('charset'); ?>" />
- <link rel="stylesheet" href="<?php echo get_settings('siteurl'); ?>/wp-admin/wp-admin.css" type="text/css" />
- <script type="text/javascript">
- function focusit() {
- // focus on first input field
- document.getElementById('user_login').focus();
- }
- window.onload = focusit;
- </script>
- <style type="text/css">
- #user_login, #email, #submit {
- font-size: 1.7em;
- }
- </style>
-</head>
-<body>
-<div id="login">
-<h1><a href="http://<?php echo $current_site->domain . $current_site->path ?>"><?php echo $current_site->site_name ?></a></h1>
-<p><?php _e('Please enter your information here. We will send you a new password.') ?></p>
-<?php
-if ($error)
- echo "<div id='login_error'>$error</div>";
-?>
-
-<form name="lostpass" action="wp-login.php" method="post" id="lostpass">
-<p>
-<input type="hidden" name="action" value="retrievepassword" />
-<label><?php _e('Username:') ?><br />
-<input type="text" name="user_login" id="user_login" value="" size="20" tabindex="1" /></label></p>
-<p><label><?php _e('E-mail:') ?><br />
-<input type="text" name="email" id="email" value="" size="25" tabindex="2" /></label><br />
-</p>
-<p class="submit"><input type="submit" name="submit" id="submit" value="<?php _e('Retrieve Password &raquo;'); ?>" tabindex="3" /></p>
-</form>
-<ul>
- <li><a href="<?php bloginfo('home'); ?>/" title="<?php _e('Are you lost?') ?>">&laquo; <?php _e('Back to blog') ?></a></li>
-<?php if (get_settings('users_can_register')) : ?>
- <li><a href="<?php bloginfo('wpurl'); ?>/wp-register.php"><?php _e('Register') ?></a></li>
-<?php endif; ?>
- <li><a href="<?php bloginfo('wpurl'); ?>/wp-login.php"><?php _e('Login') ?></a></li>
-</ul>
-</div>
-</body>
-</html>
-<?php
-break;
-
-case 'retrievepassword':
- $user_data = get_userdatabylogin($_POST['user_login']);
- // redefining user_login ensures we return the right case in the email
- $user_login = $user_data->user_login;
- $user_email = $user_data->user_email;
-
- if (!$user_email || $user_email != $_POST['email'])
- die(sprintf(__('Sorry, that user does not seem to exist in our database. Perhaps you have the wrong username or e-mail address? <a href="%s">Try again</a>.'), 'wp-login.php?action=lostpassword'));
-
-do_action('retreive_password', $user_login); // Misspelled and deprecated.
-do_action('retrieve_password', $user_login);
-
- // Generate something random for a password... md5'ing current time with a rand salt
- $key = substr( md5( uniqid( microtime() ) ), 0, 8);
- // now insert the new pass md5'd into the db
- $wpdb->query("UPDATE $wpdb->users SET user_activation_key = '$key' WHERE user_login = '$user_login'");
- $message = __('Someone has asked to reset the password for the following site and username.') . "\r\n\r\n";
- $message .= get_option('siteurl') . "\r\n\r\n";
- $message .= sprintf(__('Username: %s'), $user_login) . "\r\n\r\n";
- $message .= __('To reset your password visit the following address, otherwise just ignore this email and nothing will happen.') . "\r\n\r\n";
- $message .= get_settings('siteurl') . "/wp-login.php?action=rp&key=$key\r\n";
-
- $m = wp_mail($user_email, sprintf(__('[%s] Password Reset'), get_settings('blogname')), $message);
-
- if ($m == false) {
- echo '<p>' . __('The e-mail could not be sent.') . "<br />\n";
- echo __('Possible reason: your host may have disabled the mail() function...') . "</p>";
- die();
- } else {
- echo '<p>' . sprintf(__("The e-mail was sent successfully to %s's e-mail address."), $user_login) . '<br />';
- echo "<a href='wp-login.php' title='" . __('Check your e-mail first, of course') . "'>" . __('Click here to login!') . '</a></p>';
- die();
- }
-
-break;
-
-case 'resetpass' :
-case 'rp' :
- // Generate something random for a password... md5'ing current time with a rand salt
- $key = preg_replace('/a-z0-9/i', '', $_GET['key']);
- if ( empty($key) )
- die( __('Sorry, that key does not appear to be valid.') );
- $user = $wpdb->get_row("SELECT * FROM $wpdb->users WHERE user_activation_key = '$key'");
- if ( !$user )
- die( __('Sorry, that key does not appear to be valid.') );
-
- do_action('password_reset');
-
- $new_pass = substr( md5( uniqid( microtime() ) ), 0, 7);
- $wpdb->query("UPDATE $wpdb->users SET user_pass = MD5('$new_pass'), user_activation_key = '' WHERE user_login = '$user->user_login'");
- wp_cache_delete($user->ID, 'users');
- wp_cache_delete($user->user_login, 'userlogins');
- $message = sprintf(__('Username: %s'), $user->user_login) . "\r\n";
- $message .= sprintf(__('Password: %s'), $new_pass) . "\r\n";
- $message .= get_settings('siteurl') . "/wp-login.php\r\n";
-
- $m = wp_mail($user->user_email, sprintf(__('[%s] Your new password'), get_settings('blogname')), $message);
-
- if ($m == false) {
- echo '<p>' . __('The e-mail could not be sent.') . "<br />\n";
- echo __('Possible reason: your host may have disabled the mail() function...') . '</p>';
- die();
- } else {
- echo '<p>' . sprintf(__('Your new password is in the mail.'), $user_login) . '<br />';
- echo "<a href='wp-login.php' title='" . __('Check your e-mail first, of course') . "'>" . __('Click here to login!') . '</a></p>';
- // send a copy of password change notification to the admin
- $message = sprintf(__('Password Lost and Changed for user: %s'), $user->user_login) . "\r\n";
- wp_mail(get_settings('admin_email'), sprintf(__('[%s] Password Lost/Change'), get_settings('blogname')), $message);
- die();
- }
-break;
-
-case 'login' :
-default:
-
- $user_login = '';
- $user_pass = '';
- $using_cookie = false;
- if ( !isset( $_REQUEST['redirect_to'] ) )
- $redirect_to = 'wp-admin/';
- else
- $redirect_to = $_REQUEST['redirect_to'];
- $redirect_to = preg_replace('|[^a-z0-9-~+_.?#=&;,/:]|i', '', $redirect_to);
-
- if( $_POST ) {
- $user_login = $_POST['log'];
- $user_login = sanitize_user( $user_login );
- $user_pass = $_POST['pwd'];
- $rememberme = $_POST['rememberme'];
- } else {
- $cookie_login = wp_get_cookie_login();
- if ( ! empty($cookie_login) ) {
- $using_cookie = true;
- $user_login = $cookie_login['login'];
- $user_pass = $cookie_login['password'];
- }
- }
-
- do_action('wp_authenticate', array(&$user_login, &$user_pass));
-
- if ( $user_login && $user_pass ) {
- $user = new WP_User(0, $user_login);
-
- // If the user can't edit posts, send them to their profile.
- if ( !$user->has_cap('edit_posts') && ( empty( $redirect_to ) || $redirect_to == 'wp-admin/' ) )
- $redirect_to = get_settings('siteurl') . '/wp-admin/profile.php';
-
- if ( wp_login($user_login, $user_pass, $using_cookie) ) {
- if ( !$using_cookie )
- wp_setcookie($user_login, $user_pass, false, '', '', $rememberme);
- do_action('wp_login', $user_login);
- wp_redirect($redirect_to);
- exit;
- } else {
- if ( $using_cookie )
- $error = __('Your session has expired.');
- }
- }
-?>
-<!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>WordPress &rsaquo; <?php _e('Login') ?></title>
- <meta http-equiv="Content-Type" content="<?php bloginfo('html_type'); ?>; charset=<?php bloginfo('charset'); ?>" />
- <link rel="stylesheet" href="<?php bloginfo('wpurl'); ?>/wp-admin/wp-admin.css" type="text/css" />
- <script type="text/javascript">
- function focusit() {
- document.getElementById('log').focus();
- }
- window.onload = focusit;
- </script>
-</head>
-<body>
-
-<div id="login">
-<h1><a href="http://<?php echo $current_site->domain . $current_site->path ?>"><?php echo $current_site->site_name ?></a></h1>
-<?php
-if ( $error ) {
- echo "<div id='login_error'>$error</div>";
- echo "<p align='center'><strong>Note:</strong> You must <a href='http://www.google.com/cookies.html'>enable cookies</a> to use WordPress.</p>";
-}
-?>
-
-<form name="loginform" id="loginform" action="wp-login.php" method="post">
-<p><label><?php _e('Username:') ?><br /><input type="text" name="log" id="log" value="<?php echo wp_specialchars(stripslashes($user_login), 1); ?>" size="20" tabindex="1" /></label></p>
-<p><label><?php _e('Password:') ?><br /> <input type="password" name="pwd" id="pwd" value="" size="20" tabindex="2" /></label></p>
-<p>
- <label><input name="rememberme" type="checkbox" id="rememberme" value="forever" tabindex="3" />
- <?php _e('Remember me'); ?></label></p>
-<p class="submit">
- <input type="submit" name="submit" id="submit" value="<?php _e('Login'); ?> &raquo;" tabindex="4" />
- <input type="hidden" name="redirect_to" value="<?php echo $redirect_to; ?>" />
-</p>
-</form>
-<ul>
- <li><a href="<?php bloginfo('home'); ?>/" title="<?php _e('Are you lost?') ?>">&laquo; <?php _e('Back to blog') ?></a></li>
-<?php if (get_settings('users_can_register')) : ?>
- <li><a href="<?php bloginfo('wpurl'); ?>/wp-register.php"><?php _e('Register') ?></a></li>
-<?php endif; ?>
- <li><a href="<?php bloginfo('wpurl'); ?>/wp-login.php?action=lostpassword" title="<?php _e('Password Lost and Found') ?>"><?php _e('Lost your password?') ?></a></li>
-</ul>
-</div>
-
-</body>
-</html>
-<?php
-
-break;
-} // end action switch
-?>
diff --git a/wp-inst/wp-mail.php b/wp-inst/wp-mail.php
deleted file mode 100644
index 2512907..0000000
--- a/wp-inst/wp-mail.php
+++ /dev/null
@@ -1,166 +0,0 @@
-<?php
-require(dirname(__FILE__) . '/wp-config.php');
-
-require_once(ABSPATH.WPINC.'/class-pop3.php');
-
-error_reporting(2037);
-
-$time_difference = get_settings('gmt_offset') * 3600;
-
-$phone_delim = '::';
-
-$pop3 = new POP3();
-
-if (!$pop3->connect(get_settings('mailserver_url'), get_settings('mailserver_port'))) :
- echo "Ooops $pop3->ERROR <br />\n";
- exit;
-endif;
-
-$count = $pop3->login(get_settings('mailserver_login'), get_settings('mailserver_pass'));
-if (0 == $count) die(__('There doesn&#8217;t seem to be any new mail.'));
-
-
-for ($i=1; $i <= $count; $i++) :
-
- $message = $pop3->get($i);
-
- $content = '';
- $content_type = '';
- $boundary = '';
- $bodysignal = 0;
- $dmonths = array('Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun',
- 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec');
- foreach ($message as $line) :
- if (strlen($line) < 3) $bodysignal = 1;
-
- if ($bodysignal) {
- $content .= $line;
- } else {
- if (preg_match('/Content-Type: /i', $line)) {
- $content_type = trim($line);
- $content_type = substr($content_type, 14, strlen($content_type)-14);
- $content_type = explode(';', $content_type);
- $content_type = $content_type[0];
- }
- if (($content_type == 'multipart/alternative') && (preg_match('/boundary="/', $line)) && ($boundary == '')) {
- $boundary = trim($line);
- $boundary = explode('"', $boundary);
- $boundary = $boundary[1];
- }
- if (preg_match('/Subject: /i', $line)) {
- $subject = trim($line);
- $subject = substr($subject, 9, strlen($subject)-9);
- $subject = wp_iso_descrambler($subject);
- // Captures any text in the subject before $phone_delim as the subject
- $subject = explode($phone_delim, $subject);
- $subject = $subject[0];
- }
-
- // Set the author using the email address (To or Reply-To, the last used)
- // otherwise use the site admin
- if (preg_match('/From: /', $line) | preg_match('Reply-To: /', $line)) {
- $author=trim($line);
- if ( ereg("([a-zA-Z0-9\_\-\.]+@[\a-zA-z0-9\_\-\.]+)", $author , $regs) ) {
- $author = $regs[1];
- echo "Author = {$author} <p>";
- $author = $wpdb->escape($author);
- $result = $wpdb->get_row("SELECT ID FROM $wpdb->users WHERE user_email='$author' LIMIT 1");
- if (!$result)
- $post_author = 1;
- else
- $post_author = $result->ID;
- } else
- $post_author = 1;
- }
-
- if (preg_match('/Date: /i', $line)) { // of the form '20 Mar 2002 20:32:37'
- $ddate = trim($line);
- $ddate = str_replace('Date: ', '', $ddate);
- if (strpos($ddate, ',')) {
- $ddate = trim(substr($ddate, strpos($ddate, ',')+1, strlen($ddate)));
- }
- $date_arr = explode(' ', $ddate);
- $date_time = explode(':', $date_arr[3]);
-
- $ddate_H = $date_time[0];
- $ddate_i = $date_time[1];
- $ddate_s = $date_time[2];
-
- $ddate_m = $date_arr[1];
- $ddate_d = $date_arr[0];
- $ddate_Y = $date_arr[2];
- for ($j=0; $j<12; $j++) {
- if ($ddate_m == $dmonths[$j]) {
- $ddate_m = $j+1;
- }
- }
-
- $time_zn = intval($date_arr[4]) * 36;
- $ddate_U = gmmktime($ddate_H, $ddate_i, $ddate_s, $ddate_m, $ddate_d, $ddate_Y);
- $ddate_U = $ddate_U - $time_zn;
- $post_date = gmdate('Y-m-d H:i:s', $ddate_U + $time_difference);
- $post_date_gmt = gmdate('Y-m-d H:i:s', $ddate_U);
- }
- }
- endforeach;
-
- $subject = trim(str_replace(get_settings('subjectprefix'), '', $subject));
-
- if ($content_type == 'multipart/alternative') {
- $content = explode('--'.$boundary, $content);
- $content = $content[2];
- $content = explode('Content-Transfer-Encoding: quoted-printable', $content);
- $content = strip_tags($content[1], '<img><p><br><i><b><u><em><strong><strike><font><span><div>');
- }
- $content = trim($content);
- // Captures any text in the body after $phone_delim as the body
- $content = explode($phone_delim, $content);
- $content[1] ? $content = $content[1] : $content = $content[0];
-
- echo "<p><b>Content-type:</b> $content_type, <b>boundary:</b> $boundary</p>\n";
- echo "<p><b>Raw content:</b><br /><pre>".$content.'</pre></p>';
-
- $content = trim($content);
-
- $post_content = apply_filters('phone_content', $content);
-
- $post_title = xmlrpc_getposttitle($content);
-
- if ($post_title == '') $post_title = $subject;
-
- if (empty($post_categories)) $post_categories[] = get_settings('default_email_category');
-
- $post_category = $post_categories;
-
- // or maybe we should leave the choice to email drafts? propose a way
- $post_status = 'publish';
-
- $post_data = compact('post_content','post_title','post_date','post_date_gmt','post_author','post_category', 'post_status');
- $post_data = add_magic_quotes($post_data);
-
- $post_ID = wp_insert_post($post_data);
-
- if (!$post_ID) {
- // we couldn't post, for whatever reason. better move forward to the next email
- continue;
- }
-
- do_action('publish_phone', $post_ID);
-
- echo "\n<p><b>Author:</b> $post_author</p>";
- echo "\n<p><b>Posted title:</b> $post_title<br />";
- echo "\n<b>Posted content:</b><br /><pre>".$content.'</pre></p>';
-
- if(!$pop3->delete($i)) {
- echo '<p>Oops '.$pop3->ERROR.'</p></div>';
- $pop3->reset();
- exit;
- } else {
- echo "<p>Mission complete, message <strong>$i</strong> deleted.</p>";
- }
-
-endfor;
-
-$pop3->quit();
-
-?>
diff --git a/wp-inst/wp-pass.php b/wp-inst/wp-pass.php
deleted file mode 100644
index d7d23a6..0000000
--- a/wp-inst/wp-pass.php
+++ /dev/null
@@ -1,11 +0,0 @@
-<?php
-require( dirname(__FILE__) . '/wp-config.php');
-
-if ( get_magic_quotes_gpc() )
- $_POST['post_password'] = stripslashes($_POST['post_password']);
-
-// 10 days
-setcookie('wp-postpass_' . COOKIEHASH, $_POST['post_password'], time() + 864000, COOKIEPATH);
-
-wp_redirect($_SERVER['HTTP_REFERER']);
-?> \ No newline at end of file
diff --git a/wp-inst/wp-rdf.php b/wp-inst/wp-rdf.php
deleted file mode 100644
index a38d1ea..0000000
--- a/wp-inst/wp-rdf.php
+++ /dev/null
@@ -1,57 +0,0 @@
-<?php /* RDF 1.0 generator, original version by garym@teledyn.com */
-
-if (empty($wp)) {
- require_once('wp-config.php');
- wp('feed=rdf');
-}
-
-header('Content-type: application/rdf+xml; charset=' . get_settings('blog_charset'), true);
-$more = 1;
-
-?>
-<?php echo '<?xml version="1.0" encoding="'.get_settings('blog_charset').'"?'.'>'; ?>
-<!-- generator="wordpress/<?php echo $wp_version ?>" -->
-<rdf:RDF
- xmlns="http://purl.org/rss/1.0/"
- xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
- xmlns:dc="http://purl.org/dc/elements/1.1/"
- xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
- xmlns:admin="http://webns.net/mvcb/"
- xmlns:content="http://purl.org/rss/1.0/modules/content/"
- <?php do_action('rdf_ns'); ?>
->
-<channel rdf:about="<?php bloginfo_rss("url") ?>">
- <title><?php bloginfo_rss('name') ?></title>
- <link><?php bloginfo_rss('url') ?></link>
- <description><?php bloginfo_rss('description') ?></description>
- <dc:date><?php echo mysql2date('Y-m-d\TH:i:s\Z', get_lastpostmodified('GMT'), false); ?></dc:date>
- <admin:generatorAgent rdf:resource="http://wordpress.org/?v=<?php echo $wp_version ?>"/>
- <sy:updatePeriod>hourly</sy:updatePeriod>
- <sy:updateFrequency>1</sy:updateFrequency>
- <sy:updateBase>2000-01-01T12:00+00:00</sy:updateBase>
- <?php do_action('rdf_header'); ?>
- <items>
- <rdf:Seq>
- <?php while (have_posts()): the_post(); ?>
- <rdf:li rdf:resource="<?php permalink_single_rss() ?>"/>
- <?php endwhile; ?>
- </rdf:Seq>
- </items>
-</channel>
-<?php rewind_posts(); while (have_posts()): the_post(); ?>
-<item rdf:about="<?php permalink_single_rss() ?>">
- <title><?php the_title_rss() ?></title>
- <link><?php permalink_single_rss() ?></link>
- <dc:date><?php echo mysql2date('Y-m-d\TH:i:s\Z', $post->post_date_gmt, false); ?></dc:date>
- <dc:creator><?php the_author() ?></dc:creator>
- <?php the_category_rss('rdf') ?>
-<?php if (get_settings('rss_use_excerpt')) : ?>
- <description><?php the_excerpt_rss() ?></description>
-<?php else : ?>
- <description><?php the_content_rss('', 0, '', get_settings('rss_excerpt_length'), 2) ?></description>
- <content:encoded><![CDATA[<?php the_content('', 0, '') ?>]]></content:encoded>
-<?php endif; ?>
- <?php do_action('rdf_item'); ?>
-</item>
-<?php endwhile; ?>
-</rdf:RDF>
diff --git a/wp-inst/wp-register.php b/wp-inst/wp-register.php
deleted file mode 100644
index 7c8adb3..0000000
--- a/wp-inst/wp-register.php
+++ /dev/null
@@ -1,159 +0,0 @@
-<?php
-require('./wp-config.php');
-require_once( ABSPATH . WPINC . '/registration.php');
-
-$action = $_REQUEST['action'];
-if ( !get_settings('users_can_register') )
- $action = 'disabled';
-
-header( 'Content-Type: ' . get_bloginfo('html_type') . '; charset=' . get_bloginfo('charset') );
-
-switch( $action ) {
-
-case 'register':
-
- $user_login = sanitize_user( $_POST['user_login'] );
- $user_email = $_POST['user_email'];
-
- $errors = array();
-
- if ( $user_login == '' )
- $errors['user_login'] = __('<strong>ERROR</strong>: Please enter a username.');
-
- /* checking e-mail address */
- if ($user_email == '') {
- $errors['user_email'] = __('<strong>ERROR</strong>: Please type your e-mail address.');
- } else if (!is_email($user_email)) {
- $errors['user_email'] = __('<strong>ERROR</strong>: The email address isn&#8217;t correct.');
- $user_email = '';
- }
-
- if ( ! validate_username($user_login) ) {
- $errors['user_login'] = __('<strong>ERROR</strong>: This username is invalid. Please enter a valid username.');
- $user_login = '';
- }
-
- if ( username_exists( $user_login ) )
- $errors['user_login'] = __('<strong>ERROR</strong>: This username is already registered, please choose another one.');
-
- if ( email_exists( $user_email ) )
- $errors['user_email'] = __('<strong>ERROR</strong>: This email is already registered, please choose another one.');
-
- if ( 0 == count($errors) ) {
- $password = substr( md5( uniqid( microtime() ) ), 0, 7);
-
- $user_id = wp_create_user( $user_login, $password, $user_email );
- if ( !$user_id )
- $errors['user_id'] = sprintf(__('<strong>ERROR</strong>: Couldn&#8217;t register you... please contact the <a href="mailto:%s">webmaster</a> !'), get_settings('admin_email'));
- else
- wp_new_user_notification($user_id, $password);
- }
-
- if ( 0 == count($errors) ) {
-
- ?>
-<!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>WordPress &raquo; <?php _e('Registration Complete') ?></title>
- <meta http-equiv="Content-Type" content="<?php bloginfo('html_type'); ?>; charset=<?php echo get_settings('blog_charset'); ?>" />
- <link rel="stylesheet" href="wp-admin/wp-admin.css" type="text/css" />
- <style type="text/css">
- .submit {
- font-size: 1.7em;
- }
- </style>
-</head>
-<body>
-
-<div id="login">
- <h2><?php _e('Registration Complete') ?></h2>
- <p><?php printf(__('Username: %s'), "<strong>" . wp_specialchars($user_login) . "</strong>") ?><br />
- <?php printf(__('Password: %s'), '<strong>' . __('emailed to you') . '</strong>') ?> <br />
- <?php printf(__('E-mail: %s'), "<strong>" . wp_specialchars($user_email) . "</strong>") ?></p>
- <p class="submit"><a href="wp-login.php"><?php _e('Login &raquo;'); ?></a></p>
-</div>
-</body>
-</html>
-
- <?php
- break;
- }
-
-default:
-
-?>
-<!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>WordPress &raquo; <?php _e('Registration Form') ?></title>
- <meta http-equiv="Content-Type" content="<?php bloginfo('html_type'); ?>; charset=<?php echo get_settings('blog_charset'); ?>" />
- <link rel="stylesheet" href="wp-admin/wp-admin.css" type="text/css" />
- <style type="text/css">
- #user_email, #user_login, #submit {
- font-size: 1.7em;
- }
- </style>
-</head>
-
-<body>
-<div id="login">
-<h1><a href="http://wordpress.org/">WordPress</a></h1>
-<h2><?php _e('Register for this blog') ?></h2>
-<?php if ( isset($errors) ) : ?>
-<div class="error">
- <p>
- <?php
- foreach($errors as $error) echo "$error<br />";
- ?>
- </p>
-</div>
-<?php endif; ?>
-<form method="post" action="wp-register.php" id="registerform">
- <p><input type="hidden" name="action" value="register" />
- <label for="user_login"><?php _e('Username:') ?></label><br /> <input type="text" name="user_login" id="user_login" size="20" maxlength="20" value="<?php echo wp_specialchars($user_login); ?>" /><br /></p>
- <p><label for="user_email"><?php _e('E-mail:') ?></label><br /> <input type="text" name="user_email" id="user_email" size="25" maxlength="100" value="<?php echo wp_specialchars($user_email); ?>" /></p>
- <p><?php _e('A password will be emailed to you.') ?></p>
- <p class="submit"><input type="submit" value="<?php _e('Register &raquo;') ?>" id="submit" name="submit" /></p>
-</form>
-<ul>
- <li><a href="<?php bloginfo('home'); ?>/" title="<?php _e('Are you lost?') ?>">&laquo; <?php _e('Back to blog') ?></a></li>
- <li><a href="<?php bloginfo('wpurl'); ?>/wp-login.php"><?php _e('Login') ?></a></li>
- <li><a href="<?php bloginfo('wpurl'); ?>/wp-login.php?action=lostpassword" title="<?php _e('Password Lost and Found') ?>"><?php _e('Lost your password?') ?></a></li>
-</ul>
-</div>
-
-</body>
-</html>
-<?php
-
-break;
-
-case 'disabled':
-
- ?>
-<!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>WordPress &raquo; <?php _e('Registration Currently Disabled') ?></title>
- <meta http-equiv="Content-Type" content="<?php bloginfo('html_type'); ?>; charset=<?php echo get_settings('blog_charset'); ?>" />
- <link rel="stylesheet" href="wp-admin/wp-admin.css" type="text/css">
-</head>
-
-<body>
-
-<div id="login">
- <h2><?php _e('Registration Disabled') ?></h2>
- <p><?php _e('User registration is currently not allowed.') ?><br />
- <a href="<?php echo get_settings('home'); ?>/" title="<?php _e('Go back to the blog') ?>"><?php _e('Home') ?></a>
- </p>
-</div>
-
-</body>
-</html>
-
- <?php
-break;
-
-}
-?>
diff --git a/wp-inst/wp-rss.php b/wp-inst/wp-rss.php
deleted file mode 100644
index aa4a636..0000000
--- a/wp-inst/wp-rss.php
+++ /dev/null
@@ -1,37 +0,0 @@
-<?php
-
-if (empty($wp)) {
- require_once('wp-config.php');
- wp('feed=rss');
-}
-
-header('Content-type: text/xml; charset=' . get_settings('blog_charset'), true);
-$more = 1;
-
-?>
-<?php echo '<?xml version="1.0" encoding="'.get_settings('blog_charset').'"?'.'>'; ?>
-<!-- generator="wordpress/<?php echo $wp_version ?>" -->
-<rss version="0.92">
-<channel>
- <title><?php bloginfo_rss('name') ?></title>
- <link><?php bloginfo_rss('url') ?></link>
- <description><?php bloginfo_rss('description') ?></description>
- <lastBuildDate><?php echo mysql2date('D, d M Y H:i:s +0000', get_lastpostmodified('GMT'), false); ?></lastBuildDate>
- <docs>http://backend.userland.com/rss092</docs>
- <language><?php echo get_option('rss_language'); ?></language>
- <?php do_action('rss_head'); ?>
-
-<?php $items_count = 0; if ($posts) { foreach ($posts as $post) { start_wp(); ?>
- <item>
- <title><?php the_title_rss() ?></title>
-<?php if (get_settings('rss_use_excerpt')) { ?>
- <description><![CDATA[<?php the_excerpt_rss() ?>]]></description>
-<?php } else { // use content ?>
- <description><?php the_content_rss('', 0, '', get_settings('rss_excerpt_length')) ?></description>
-<?php } ?>
- <link><?php permalink_single_rss() ?></link>
- <?php do_action('rss_item'); ?>
- </item>
-<?php $items_count++; if (($items_count == get_settings('posts_per_rss')) && empty($m)) { break; } } } ?>
-</channel>
-</rss>
diff --git a/wp-inst/wp-rss2.php b/wp-inst/wp-rss2.php
deleted file mode 100644
index 4316ceb..0000000
--- a/wp-inst/wp-rss2.php
+++ /dev/null
@@ -1,56 +0,0 @@
-<?php
-
-if (empty($wp)) {
- require_once('wp-config.php');
- wp('feed=rss2');
-}
-
-header('Content-type: text/xml; charset=' . get_settings('blog_charset'), true);
-$more = 1;
-
-?>
-<?php echo '<?xml version="1.0" encoding="'.get_settings('blog_charset').'"?'.'>'; ?>
-
-<!-- generator="wordpress/<?php bloginfo_rss('version') ?>" -->
-<rss version="2.0"
- xmlns:content="http://purl.org/rss/1.0/modules/content/"
- xmlns:wfw="http://wellformedweb.org/CommentAPI/"
- xmlns:dc="http://purl.org/dc/elements/1.1/"
- <?php do_action('rss2_ns'); ?>
->
-
-<channel>
- <title><?php bloginfo_rss('name'); ?></title>
- <link><?php bloginfo_rss('url') ?></link>
- <description><?php bloginfo_rss("description") ?></description>
- <pubDate><?php echo mysql2date('D, d M Y H:i:s +0000', get_lastpostmodified('GMT'), false); ?></pubDate>
- <generator>http://wordpress.org/?v=<?php bloginfo_rss('version'); ?></generator>
- <language><?php echo get_option('rss_language'); ?></language>
- <?php do_action('rss2_head'); ?>
- <?php $items_count = 0; if ($posts) { foreach ($posts as $post) { start_wp(); ?>
- <item>
- <title><?php the_title_rss() ?></title>
- <link><?php permalink_single_rss() ?></link>
- <comments><?php comments_link(); ?></comments>
- <pubDate><?php echo mysql2date('D, d M Y H:i:s +0000', get_post_time('Y-m-d H:i:s', true), false); ?></pubDate>
- <dc:creator><?php the_author() ?></dc:creator>
- <?php the_category_rss() ?>
-
- <guid isPermaLink="false"><?php the_guid(); ?></guid>
-<?php if (get_settings('rss_use_excerpt')) : ?>
- <description><![CDATA[<?php the_excerpt_rss() ?>]]></description>
-<?php else : ?>
- <description><![CDATA[<?php the_excerpt_rss() ?>]]></description>
- <?php if ( strlen( $post->post_content ) > 0 ) : ?>
- <content:encoded><![CDATA[<?php the_content('', 0, '') ?>]]></content:encoded>
- <?php else : ?>
- <content:encoded><![CDATA[<?php the_excerpt_rss() ?>]]></content:encoded>
- <?php endif; ?>
-<?php endif; ?>
- <wfw:commentRss><?php echo comments_rss(); ?></wfw:commentRss>
-<?php rss_enclosure(); ?>
- <?php do_action('rss2_item'); ?>
- </item>
- <?php $items_count++; if (($items_count == get_settings('posts_per_rss')) && !is_date()) { break; } } } ?>
-</channel>
-</rss>
diff --git a/wp-inst/wp-settings.php b/wp-inst/wp-settings.php
deleted file mode 100644
index a7cb2b4..0000000
--- a/wp-inst/wp-settings.php
+++ /dev/null
@@ -1,288 +0,0 @@
-<?php
-if( defined( 'ABSPATH' ) == false )
- die();
-
-// Turn register globals off
-function unregister_GLOBALS() {
- if ( !ini_get('register_globals') )
- return;
-
- if ( isset($_REQUEST['GLOBALS']) )
- die('GLOBALS overwrite attempt detected');
-
- // Variables that shouldn't be unset
- $noUnset = array('GLOBALS', '_GET', '_POST', '_COOKIE', '_REQUEST', '_SERVER', '_ENV', '_FILES', 'table_prefix');
-
- $input = array_merge($_GET, $_POST, $_COOKIE, $_SERVER, $_ENV, $_FILES, isset($_SESSION) && is_array($_SESSION) ? $_SESSION : array());
- foreach ( $input as $k => $v )
- if ( !in_array($k, $noUnset) && isset($GLOBALS[$k]) )
- unset($GLOBALS[$k]);
-}
-
-unregister_GLOBALS();
-
-$HTTP_USER_AGENT = getenv('HTTP_USER_AGENT');
-unset( $wp_filter, $cache_userdata, $cache_lastcommentmodified, $cache_lastpostdate, $cache_settings, $category_cache, $cache_categories );
-
-if ( ! isset($blog_id) )
- $blog_id = 0;
-
-// Fix for IIS, which doesn't set REQUEST_URI
-if ( empty( $_SERVER['REQUEST_URI'] ) ) {
- $_SERVER['REQUEST_URI'] = $_SERVER['SCRIPT_NAME']; // Does this work under CGI?
-
- // Append the query string if it exists and isn't null
- if (isset($_SERVER['QUERY_STRING']) && !empty($_SERVER['QUERY_STRING'])) {
- $_SERVER['REQUEST_URI'] .= '?' . $_SERVER['QUERY_STRING'];
- }
-}
-
-// Fix for PHP as CGI hosts that set SCRIPT_FILENAME to something ending in php.cgi for all requests
-if ( isset($_SERVER['SCRIPT_FILENAME']) && ( strpos($_SERVER['SCRIPT_FILENAME'], 'php.cgi') == strlen($_SERVER['SCRIPT_FILENAME']) - 7 ) )
- $_SERVER['SCRIPT_FILENAME'] = $_SERVER['PATH_TRANSLATED'];
-
-// Fix for Dreamhost and other PHP as CGI hosts
-if ( strstr( $_SERVER['SCRIPT_NAME'], 'php.cgi' ) )
- unset($_SERVER['PATH_INFO']);
-
-// Fix empty PHP_SELF
-$PHP_SELF = $_SERVER['PHP_SELF'];
-if ( empty($PHP_SELF) )
- $_SERVER['PHP_SELF'] = $PHP_SELF = preg_replace("/(\?.*)?$/",'',$_SERVER["REQUEST_URI"]);
-
-if ( !(phpversion() >= '4.1') )
- die( 'Your server is running PHP version ' . phpversion() . ' but WordPress requires at least 4.1' );
-
-if ( !extension_loaded('mysql') )
- die( 'Your PHP installation appears to be missing the MySQL which is required for WordPress.' );
-
-function timer_start() {
- global $timestart;
- $mtime = explode(' ', microtime() );
- $mtime = $mtime[1] + $mtime[0];
- $timestart = $mtime;
- return true;
-}
-timer_start();
-
-// Change to E_ALL for development/debugging
-error_reporting(E_ALL ^ E_NOTICE);
-
-// For an advanced caching plugin to use, static because you would only want one
-if ( defined('WP_CACHE') )
- require (ABSPATH . 'wp-content/advanced-cache.php');
-
-define('WPINC', 'wp-includes');
-require_once (ABSPATH . WPINC . '/wp-db.php');
-
-$wpdb->blogs = $table_prefix . 'blogs';
-$wpdb->users = $table_prefix . 'users';
-$wpdb->usermeta = $table_prefix . 'usermeta';
-$wpdb->site = $table_prefix . 'site';
-$wpdb->sitemeta = $table_prefix . 'sitemeta';
-$wpdb->sitecategories = $table_prefix . 'sitecategories';
-$wpdb->signups = $table_prefix . 'signups';
-
-require_once ( ABSPATH . 'wpmu-settings.php' );
-$wpdb->siteid = $site_id;
-$wpdb->blogid = $blog_id;
-$wpdb->posts = $table_prefix . 'posts';
-$wpdb->categories = $table_prefix . 'categories';
-$wpdb->post2cat = $table_prefix . 'post2cat';
-$wpdb->comments = $table_prefix . 'comments';
-$wpdb->link2cat = $table_prefix . 'link2cat';
-$wpdb->links = $table_prefix . 'links';
-$wpdb->linkcategories = $table_prefix . 'linkcategories';
-$wpdb->options = $table_prefix . 'options';
-$wpdb->postmeta = $table_prefix . 'postmeta';
-$wpdb->prefix = $table_prefix;
-
-if ( defined('CUSTOM_USER_TABLE') )
- $wpdb->users = CUSTOM_USER_TABLE;
-if ( defined('CUSTOM_USER_META_TABLE') )
- $wpdb->usermeta = CUSTOM_USER_META_TABLE;
-
-// We're going to need to keep this around for a few months even though we're not using it internally
-
-$tableposts = $wpdb->posts;
-$tableusers = $wpdb->users;
-$tablecategories = $wpdb->categories;
-$tablepost2cat = $wpdb->post2cat;
-$tablecomments = $wpdb->comments;
-$tablelink2cat = $wpdb->link2cat;
-$tablelinks = $wpdb->links;
-$tablelinkcategories = $wpdb->linkcategories;
-$tableoptions = $wpdb->options;
-$tablepostmeta = $wpdb->postmeta;
-
-if ( file_exists(ABSPATH . 'wp-content/object-cache.php') )
- require (ABSPATH . 'wp-content/object-cache.php');
-else
- require (ABSPATH . WPINC . '/cache.php');
-
-// To disable persistant caching, add the below line to your wp-config.php file, uncommented of course.
-// define('DISABLE_CACHE', true);
-
-wp_cache_init();
-
-if( defined( "BLOGDEFINITION" ) && constant( "BLOGDEFINITION" ) == true )
- return;
-
-define( "UPLOADS", "wp-content/blogs.dir/{$wpdb->blogid}/files" );
-
-require (ABSPATH . WPINC . '/functions.php');
-require (ABSPATH . WPINC . '/plugin.php');
-require (ABSPATH . WPINC . '/default-filters.php');
-require_once (ABSPATH . WPINC . '/l10n.php');
-
-$wpdb->hide_errors();
-$db_check = $wpdb->get_var("SELECT option_value FROM $wpdb->options WHERE option_name = 'siteurl'");
-if ( !$db_check && (!strstr($_SERVER['PHP_SELF'], 'install.php') && !defined('WP_INSTALLING')) ) {
- if ( strstr($_SERVER['PHP_SELF'], 'wp-admin') )
- $link = 'install.php';
- else
- $link = 'wp-admin/install.php';
- die(sprintf(__("It doesn't look like you've installed WP yet. Try running <a href='%s'>install.php</a>."), $link));
-}
-$wpdb->show_errors();
-
-require (ABSPATH . WPINC . '/formatting.php');
-require (ABSPATH . WPINC . '/capabilities.php');
-require (ABSPATH . WPINC . '/classes.php');
-require (ABSPATH . WPINC . '/query.php');
-require (ABSPATH . WPINC . '/theme.php');
-require (ABSPATH . WPINC . '/user.php');
-require (ABSPATH . WPINC . '/general-template.php');
-require (ABSPATH . WPINC . '/link-template.php');
-require (ABSPATH . WPINC . '/author-template.php');
-require (ABSPATH . WPINC . '/post.php');
-require (ABSPATH . WPINC . '/post-template.php');
-require (ABSPATH . WPINC . '/category.php');
-require (ABSPATH . WPINC . '/category-template.php');
-require (ABSPATH . WPINC . '/comment.php');
-require (ABSPATH . WPINC . '/comment-template.php');
-require (ABSPATH . WPINC . '/rewrite.php');
-require (ABSPATH . WPINC . '/feed.php');
-require (ABSPATH . WPINC . '/bookmark.php');
-require (ABSPATH . WPINC . '/bookmark-template.php');
-require (ABSPATH . WPINC . '/kses.php');
-require (ABSPATH . WPINC . '/cron.php');
-require (ABSPATH . WPINC . '/version.php');
-require (ABSPATH . WPINC . '/deprecated.php');
-require (ABSPATH . WPINC . '/script-loader.php');
-
-require_once( ABSPATH . WPINC . '/wpmu-functions.php' );
-
-if( defined( "WP_INSTALLING" ) == false ) {
- $current_site->site_name = get_site_option('site_name');
-}
-
-if( $current_site->site_name == false ) {
- $current_site->site_name = ucfirst( $current_site->domain );
-}
-
-if( defined( "WP_INSTALLING" ) == false ) {
- $locale = get_option( "WPLANG" );
- if( $locale == false )
- $locale = get_site_option( "WPLANG" );
-}
-
-$wpdb->hide_errors();
-$plugins = glob( ABSPATH . 'wp-content/mu-plugins/*.php' );
-if( is_array( $plugins ) ) {
- foreach ( $plugins as $plugin ) {
- if( is_file( $plugin ) )
- include_once( $plugin );
- }
-}
-$wpdb->show_errors();
-
-if ( '1' == $current_blog->deleted )
- graceful_fail('This user has elected to delete their account and the content is no longer available.');
-
-if ( '2' == $current_blog->deleted )
- graceful_fail("This blog has not been activated yet. If you are having problems activating your blog, please contact <a href='mailto:support@{$current_site->domain}'>support@{$current_site->domain}</a>.");
-
-if( $current_blog->archived == '1' )
- graceful_fail( 'This blog has been archived or suspended.' );
-
-if( $current_blog->spam == '1' )
- graceful_fail( 'This blog has been archived or suspended.' );
-
-if (!strstr($_SERVER['PHP_SELF'], 'install.php') && !strstr($_SERVER['PHP_SELF'], 'wp-admin/import')) :
- // Used to guarantee unique hash cookies
- $cookiehash = ''; // Remove in 1.4
- define('COOKIEHASH', '');
-endif;
-
-if ( !defined('USER_COOKIE') )
- define('USER_COOKIE', 'wordpressuser');
-if ( !defined('PASS_COOKIE') )
- define('PASS_COOKIE', 'wordpresspass');
-if ( !defined('COOKIEPATH') )
- define('COOKIEPATH', preg_replace('|https?://[^/]+|i', '', get_settings('home') . '/' ) );
-if ( !defined('SITECOOKIEPATH') )
- define('SITECOOKIEPATH', preg_replace('|https?://[^/]+|i', '', get_settings('siteurl') . '/' ) );
-if ( !defined('COOKIE_DOMAIN') )
- define('COOKIE_DOMAIN', false);
-
-require (ABSPATH . WPINC . '/vars.php');
-
-if ( get_settings('active_plugins') ) {
- $current_plugins = get_settings('active_plugins');
- if ( is_array($current_plugins) ) {
- foreach ($current_plugins as $plugin) {
- if ('' != $plugin && file_exists(ABSPATH . 'wp-content/plugins/' . $plugin))
- include_once(ABSPATH . 'wp-content/plugins/' . $plugin);
- }
- }
-}
-
-require (ABSPATH . WPINC . '/pluggable.php');
-
-if ( defined('WP_CACHE') && function_exists('wp_cache_postload') )
- wp_cache_postload();
-
-do_action('plugins_loaded');
-
-// If already slashed, strip.
-if ( get_magic_quotes_gpc() ) {
- $_GET = stripslashes_deep($_GET );
- $_POST = stripslashes_deep($_POST );
- $_COOKIE = stripslashes_deep($_COOKIE);
-}
-
-// Escape with wpdb.
-$_GET = add_magic_quotes($_GET );
-$_POST = add_magic_quotes($_POST );
-$_COOKIE = add_magic_quotes($_COOKIE);
-$_SERVER = add_magic_quotes($_SERVER);
-
-$wp_query = new WP_Query();
-$wp_rewrite = new WP_Rewrite();
-$wp = new WP();
-
-define('TEMPLATEPATH', get_template_directory());
-
-// Load the default text localization domain.
-load_default_textdomain();
-
-// Pull in locale data after loading text domain.
-require_once(ABSPATH . WPINC . '/locale.php');
-
-$wp_locale = new WP_Locale();
-
-// Load functions for active theme.
-if ( file_exists(TEMPLATEPATH . "/functions.php") )
- include(TEMPLATEPATH . "/functions.php");
-
-function shutdown_action_hook() {
- do_action('shutdown');
- wp_cache_close();
-}
-register_shutdown_function('shutdown_action_hook');
-
-// Everything is loaded and initialized.
-do_action('init');
-
-?>
diff --git a/wp-inst/wp-signup.php b/wp-inst/wp-signup.php
deleted file mode 100644
index 671e3e6..0000000
--- a/wp-inst/wp-signup.php
+++ /dev/null
@@ -1,345 +0,0 @@
-<?php
-
-require ('wp-config.php');
-
-require_once( ABSPATH . WPINC . '/registration.php');
-
-do_action("signup_header");
-if( $current_blog->domain != $current_site->domain ) {
- header( "Location: http://" . $current_site->domain . $current_site->path . "wp-signup.php" );
- die();
-}
-
-get_header();
-?>
-<div id="content" class="widecolumn">
-<style type="text/css">
-form { margin-top: 2em; }
-#submit, #blog_title, #user_email {
- width: 90%;
- font-size: 24px;
-}
-.error {
- background-color: #f66;
-}
-</style>
-<?php
-function show_blog_form($blog_id = '', $blog_title = '', $errors = '') {
- global $current_site;
-
- // Blog name/Username
- if ( $errors->get_error_message('blog_id') )
- print '<tr class="error">';
- else
- print '<tr>';
-
- if( constant( "VHOST" ) == 'no' )
- echo '<th valign="top">' . __('Blog Name:') . '</th><td>';
- else
- echo '<th valign="top">' . __('Blog Domain:') . '</th><td>';
-
- if ( $errmsg = $errors->get_error_message('blog_id') ) {
- ?><p><strong><?php echo $errmsg ?></strong></p><?php
- }
- if( constant( "VHOST" ) == 'no' ) {
- print '<span style="font-size: 20px">' . $current_site->domain . $current_site->path . '</span><input name="blog_id" type="text" id="blog_id" value="'.$blog_id.'" maxlength="50" style="width:40%; text-align: left; font-size: 20px;" /><br />';
- } else {
- print '<input name="blog_id" type="text" id="blog_id" value="'.$blog_id.'" maxlength="50" style="width:40%; text-align: right; font-size: 20px;" /><span style="font-size: 20px">' . $current_site->domain . $current_site->path . '</span><br />';
- }
- if ( !is_user_logged_in() ) {
- print '(<strong>Your address will be ';
- if( constant( "VHOST" ) == 'no' ) {
- print $current_site->domain . $current_site->path . 'blogname';
- } else {
- print 'domain.' . $current_site->domain . $current_site->path;
- }
- print '.</strong> Must be at least 4 characters, letters and numbers only. It cannot be changed so choose carefully!)</td> </tr>';
- }
-
- // Blog Title
- if ( $errors->get_error_message('blog_title')) {
- print '<tr class="error">';
- } else {
- print '<tr>';
- }
-?><th valign="top" width="120">Blog Title:</th><td><?php
-
- if ( $errmsg = $errors->get_error_message('blog_title') ) {
-?><p><strong><?php echo $errmsg ?></strong></p><?php
- }
- print '<input name="blog_title" type="text" id="blog_title" value="'.wp_specialchars($blog_title, 1).'" /></td>
- </tr>';
-?>
-<tr>
-<th scope="row" valign="top">Privacy:</th>
-<td><label><input type="checkbox" name="blog_public" value="1" checked="checked" /> <?php _e('I would like my blog to appear in search engines like Google and Technorati, and in public listings around this site.'); ?></label></td>
-</tr>
-<?php
-}
-
-function validate_blog_form() {
- if ( is_user_logged_in() )
- $user = wp_get_current_user();
- else
- $user = '';
-
- $result = wpmu_validate_blog_signup($_POST['blog_id'], $_POST['blog_title'], $user);
-
- return $result;
-}
-
-function show_user_form($user_name = '', $user_email = '', $errors = '') {
- // Blog name/Username
- if ( $errors->get_error_message('user_name') ) {
- print '<tr class="error">';
- } else {
- print '<tr>';
- }
-
- echo '<th valign="top">' . __('Username:') . '</th><td>';
-
- if ( $errmsg = $errors->get_error_message('user_name') ) {
- ?><p><strong><?php echo $errmsg ?></strong></p><?php
- }
-
- print '<input name="user_name" type="text" id="user_name" value="'.$user_name.'" maxlength="50" style="width:50%; font-size: 30px;" /><br />';
- print '(Must be at least 4 characters, letters and numbers only.)</td> </tr>';
-
- // User Email
- if ( $errors->get_error_message('user_email') ) {
- print '<tr class="error">';
- } else {
- print '<tr>';
- }
-?><th valign="top">Email&nbsp;Address:</th><td><?php
-
- if ( $errmsg = $errors->get_error_message('user_email') ) {
-?><p><strong><?php echo $errmsg ?></strong></p><?php
- }
- print '
- <input name="user_email" type="text" id="user_email" value="'.wp_specialchars($user_email, 1).'" maxlength="200" /><br /> (We&#8217;ll send your password to this address, so <strong>triple-check it</strong>.)</td>
- </tr>';
-
- if ( $errmsg = $errors->get_error_message('generic') )
- print '<tr class="error"> <th colspan="2">'.$errmsg.'</th> </tr>';
-}
-
-function validate_user_form() {
- $result = wpmu_validate_user_signup($_POST['user_name'], $_POST['user_email']);
-
- return $result;
-}
-
-function signup_another_blog($blog_id = '', $blog_title = '', $errors = '') {
- global $current_user, $wpdb, $domain, $current_site;
-
- if ( ! is_wp_error($errors) )
- $errors = new WP_Error();
-
- echo '<h2>' . sprintf( __('Get <em>another</em> %s blog in seconds'), $current_site->site_name ) . '</h2>';
-
- if ( $errors->get_error_code() ) {
- print "<p>There was a problem, please correct the form below and try again.</p>";
- }
-
-?>
-<p>Welcome back, <?php echo $current_user->display_name; ?>. By filling out the form below, you can <strong>add another blog to your account</strong>. There is no limit to the number of blogs you can have, so create to your heart's content, but blog responsibly.</p>
-<p>Here are the blogs you already have:</p>
-<ul>
-<?php
- $blogs = get_blogs_of_user($current_user->ID);
-
- if ( ! empty($blogs) ) foreach ( $blogs as $blog ) {
- echo "<li><a href='" . $blog->domain . $blog->path . "'>" . $blog->domain . $blog->path . "</a></li>";
- }
-?>
-</ul>
-<p><?php _e("If you&#8217;re not going to use a great blog domain, leave it for a new user. Now have at it!") ?></p>
-<form name="setupform" id="setupform" method="post" action="wp-signup.php">
-<input type="hidden" name="stage" value="gimmeanotherblog">
-<table border="0" width="100%" cellpadding="9">
-<?php
- show_blog_form($blog_id, $blog_title, $errors);
-?>
-<tr>
-<th scope="row" valign="top">&nbsp;</th>
-<td><input id="submit" type="submit" name="Submit" class="submit" value="Create Blog &raquo;" /></td>
-</tr>
-</table>
-</form>
-<?php
-}
-
-function validate_another_blog_signup() {
- global $current_user, $current_site;
-
- $result = validate_blog_form();
- extract($result);
-
- if ( $errors->get_error_code() ) {
- signup_another_blog($blog_id, $blog_title, $errors);
- return;
- }
-
- $public = (int) $_POST['blog_public'];
- $meta = array ('lang_id' => 'en', 'public' => $public);
-
- wpmu_create_blog($domain, $current_site->path, $blog_title, $current_user->id, $meta);
- confirm_another_blog_signup($domain, $current_site->path, $blog_title, $current_user->user_login, $current_user->user_email, $meta);
-}
-
-function confirm_another_blog_signup($domain, $path, $blog_title, $user_name, $user_email, $meta) {
-?>
-<h2><?php printf(__('%s Is Yours'), $domain.$path ) ?></h2>
-<p><?php printf(__('<a href="http://%1$s">http://%2$s</a> is your new blog. <a href="%3$s">Login</a> as "%4$s" using your existing password.'), $domain.$path, $domain.$path, $domain.$path . "wp-login.php", $user_name) ?></p>
-<?php
- do_action('signup_finished');
-}
-
-function signup_user($user_name = '', $user_email = '', $errors = '') {
- global $current_site;
-
- if ( ! is_wp_error($errors) )
- $errors = new WP_Error();
-?>
-<h2><?php printf( __('Get your own %s account in seconds'), $current_site->site_name ) ?></h2>
-<p>Fill out this one-step form and you'll be blogging seconds later!</p>
-<form name="setupform" id="setupform" method="post" action="wp-signup.php">
-<input type="hidden" name="stage" value="validate-user-signup">
-<table border="0" width="100%" cellpadding="9">
-<?php show_user_form($user_name, $user_email, $errors); ?>
-<th scope="row" valign="top">&nbsp;</th>
-<td>
-<p>
-<input id="signupblog" type="radio" name="signup_for" value="blog" checked="checked" />
-<label for="signupblog">Gimme a blog! (Like username.<?php echo $current_site->domain ?>)</label>
-<br />
-<input id="signupuser" type="radio" name="signup_for" value="user" />
-<label for="signupuser">Just a username, please.</label>
-</p>
-</td>
-</tr>
-<tr>
-<th scope="row" valign="top">&nbsp;</th>
-<td><input id="submit" type="submit" name="Submit" class="submit" value="Next &raquo;" /></td>
-</tr>
-</table>
-</form>
-<?php
-
-}
-
-function validate_user_signup() {
- $result = validate_user_form();
- extract($result);
-
- if ( $errors->get_error_code() ) {
- signup_user($user_name, $user_email, $errors);
- return;
- }
-
- if ( 'blog' == $_POST['signup_for'] ) {
- signup_blog($user_name, $user_email);
- return;
- }
-
- wpmu_signup_user($user_name, $user_email);
-
- confirm_user_signup($user_name, $user_email);
-}
-
-function confirm_user_signup($user_name, $user_email) {
-?>
-<h2><?php printf(__('%s Is Your New Username'), $user_name) ?></h2>
-<p><?php _e('But, before you can start using your new username, <strong>you must activate it</strong>.') ?></p>
-<p><?php printf(__('Check your inbox at <strong>%1$s</strong> and click the link given. '), $user_email) ?></p>
-<p><?php _e('If you do not activate your username within two days, you will have to sign up again.'); ?></p>
-<?php
-}
-
-function signup_blog($user_name = '', $user_email = '', $blog_id = '', $blog_title = '', $errors = '') {
- if ( ! is_wp_error($errors) )
- $errors = new WP_Error();
-
- if ( empty($blog_id) )
- $blog_id = $user_name;
-?>
-<form name="setupform" id="setupform" method="post" action="wp-signup.php">
-<input type="hidden" name="stage" value="validate-blog-signup">
-<input type="hidden" name="user_name" value="<?php echo $user_name ?>">
-<input type="hidden" name="user_email" value="<?php echo $user_email ?>">
-<table border="0" width="100%" cellpadding="9">
-<?php show_blog_form($blog_id, $blog_title, $errors); ?>
-<tr>
-<th scope="row" valign="top">&nbsp;</th>
-<td><input id="submit" type="submit" name="Submit" class="submit" value="Signup &raquo;" /></td>
-</tr>
-</table>
-</form>
-<?php
-}
-
-function validate_blog_signup() {
- // Re-validate user info.
- $result = wpmu_validate_user_signup($_POST['user_name'], $_POST['user_email']);
- extract($result);
-
- if ( $errors->get_error_code() ) {
- signup_user($user_name, $user_email, $errors);
- return;
- }
-
- $result = wpmu_validate_blog_signup($_POST['blog_id'], $_POST['blog_title']);
- extract($result);
-
- if ( $errors->get_error_code() ) {
- signup_blog($user_name, $user_email, $blog_id, $blog_title, $errors);
- return;
- }
-
- $public = (int) $_POST['blog_public'];
- $meta = array ('lang_id' => 'en', 'public' => $public);
-
- wpmu_signup_blog($domain, $path, $blog_title, $user_name, $user_email, $meta);
-
- confirm_blog_signup($domain, $path, $blog_title, $user_name, $user_email, $meta);
-}
-
-function confirm_blog_signup($domain, $path, $blog_title, $user_name, $user_email, $meta) {
-?>
-<h2><?php printf(__('%s Is Yours'), $domain.$path) ?></h2>
-<p><?php _e('But, before you can start using your blog, <strong>you must activate it</strong>.') ?></p>
-<p><?php printf(__('Check your inbox at <strong>%1$s</strong> and click the link given. '), $user_email) ?></p>
-<p><?php _e('If you do not activate your blog within two days, you will have to sign up again.'); ?></p>
-<?php
- do_action('signup_finished');
-}
-
-// Main
-$blog_id = isset($_GET['new']) ? strtolower(preg_replace('/^-|-$|[^-a-zA-Z0-9]/', '', $_GET['new'])) : null;
-
-switch ($_POST['stage']) {
- case 'validate-user-signup' :
- validate_user_signup();
- break;
- case 'validate-blog-signup':
- validate_blog_signup();
- break;
- case 'gimmeanotherblog':
- validate_another_blog_signup();
- break;
- default :
- if ( is_user_logged_in() )
- signup_another_blog($blog_id);
- else
- signup_user();
-
- if ($blog_id) {
-?><p><em>The blog you were looking for, <strong><?php echo $blog_id ?>.<?php echo $current_site->domain ?></strong> doesn't exist but you can create it now!</em></p><?php
- }
- break;
-}
-?>
-</div>
-
-<?php get_footer(); ?>
diff --git a/wp-inst/wp-trackback.php b/wp-inst/wp-trackback.php
deleted file mode 100644
index 00eabeb..0000000
--- a/wp-inst/wp-trackback.php
+++ /dev/null
@@ -1,98 +0,0 @@
-<?php
-
-if (empty($wp)) {
- require_once('wp-config.php');
- wp('tb=1');
-}
-
-function trackback_response($error = 0, $error_message = '') {
- header('Content-Type: text/xml; charset=' . get_option('blog_charset') );
- if ($error) {
- echo '<?xml version="1.0" encoding="utf-8"?'.">\n";
- echo "<response>\n";
- echo "<error>1</error>\n";
- echo "<message>$error_message</message>\n";
- echo "</response>";
- die();
- } else {
- echo '<?xml version="1.0" encoding="utf-8"?'.">\n";
- echo "<response>\n";
- echo "<error>0</error>\n";
- echo "</response>";
- }
-}
-
-// trackback is done by a POST
-$request_array = 'HTTP_POST_VARS';
-
-if ( !$_GET['tb_id'] ) {
- $tb_id = explode('/', $_SERVER['REQUEST_URI']);
- $tb_id = intval( $tb_id[ count($tb_id) - 1 ] );
-}
-
-$tb_url = $_POST['url'];
-$title = $_POST['title'];
-$excerpt = $_POST['excerpt'];
-$blog_name = $_POST['blog_name'];
-$charset = $_POST['charset'];
-
-if ($charset)
- $charset = strtoupper( trim($charset) );
-else
- $charset = 'ASCII, UTF-8, ISO-8859-1, JIS, EUC-JP, SJIS';
-
-if ( function_exists('mb_convert_encoding') ) { // For international trackbacks
- $title = mb_convert_encoding($title, get_settings('blog_charset'), $charset);
- $excerpt = mb_convert_encoding($excerpt, get_settings('blog_charset'), $charset);
- $blog_name = mb_convert_encoding($blog_name, get_settings('blog_charset'), $charset);
-}
-
-if ( is_single() || is_page() )
- $tb_id = $posts[0]->ID;
-
-if ( !intval( $tb_id ) )
- trackback_response(1, 'I really need an ID for this to work.');
-
-if (empty($title) && empty($tb_url) && empty($blog_name)) {
- // If it doesn't look like a trackback at all...
- header('Location: ' . get_permalink($tb_id));
- exit;
-}
-
-if ( !empty($tb_url) && !empty($title) && !empty($tb_url) ) {
- header('Content-Type: text/xml; charset=' . get_option('blog_charset') );
-
- $pingstatus = $wpdb->get_var("SELECT ping_status FROM $wpdb->posts WHERE ID = $tb_id");
-
- if ( 'open' != $pingstatus )
- trackback_response(1, 'Sorry, trackbacks are closed for this item.');
-
- $title = wp_specialchars( strip_tags( $title ) );
- $excerpt = strip_tags($excerpt);
- if ( function_exists('mb_strcut') ) { // For international trackbacks
- $excerpt = mb_strcut($excerpt, 0, 252, get_settings('blog_charset')) . '...';
- $title = mb_strcut($title, 0, 250, get_settings('blog_charset')) . '...';
- } else {
- $excerpt = (strlen($excerpt) > 255) ? substr($excerpt, 0, 252) . '...' : $excerpt;
- $title = (strlen($title) > 250) ? substr($title, 0, 250) . '...' : $title;
- }
-
- $comment_post_ID = $tb_id;
- $comment_author = $blog_name;
- $comment_author_email = '';
- $comment_author_url = $tb_url;
- $comment_content = "<strong>$title</strong>\n\n$excerpt";
- $comment_type = 'trackback';
-
- $dupe = $wpdb->get_results("SELECT * FROM $wpdb->comments WHERE comment_post_ID = '$comment_post_ID' AND comment_author_url = '$comment_author_url'");
- if ( $dupe )
- trackback_response(1, 'We already have a ping from that URI for this post.');
-
- $commentdata = compact('comment_post_ID', 'comment_author', 'comment_author_email', 'comment_author_url', 'comment_content', 'comment_type');
-
- wp_new_comment($commentdata);
-
- do_action('trackback_post', $wpdb->insert_id);
- trackback_response(0);
-}
-?>
diff --git a/wp-inst/wpmu-settings.php b/wp-inst/wpmu-settings.php
deleted file mode 100644
index a2f2959..0000000
--- a/wp-inst/wpmu-settings.php
+++ /dev/null
@@ -1,119 +0,0 @@
-<?php
-if( defined( 'ABSPATH' ) == false )
- die();
-
-$wpmuBaseTablePrefix = $table_prefix;
-
-$domain = addslashes( $_SERVER['HTTP_HOST'] );
-if( substr( $domain, 0, 4 ) == 'www.' )
- $domain = substr( $domain, 4 );
-$domain = preg_replace('/:.*$/', '', $domain); // Strip ports
-
-$path = preg_replace( '|([a-z0-9-]+.php.*)|', '', $_SERVER['REQUEST_URI'] );
-$path = str_replace ( '/wp-admin/', '/', $path );
-$path = preg_replace( '|(/[a-z0-9-]+?/).*|', '$1', $path );
-
-$wpdb->hide_errors();
-
-// Get site and blog details
-if( defined( "WP_INSTALLING" ) == false ) {
- if( constant( 'VHOST' ) == 'yes' ) {
- $current_blog = $wpdb->get_row("SELECT * FROM $wpdb->blogs WHERE domain = '$domain'");
- if( $current_blog != null )
- $current_site = $wpdb->get_row("SELECT * FROM $wpdb->site WHERE id='{$current_blog->site_id}'");
- } else {
- $path = substr( $_SERVER[ 'REQUEST_URI' ], 0, 1 + strpos( $_SERVER[ 'REQUEST_URI' ], '/', 1 ) );
- $current_site = $wpdb->get_row( "SELECT * FROM $wpdb->site WHERE domain = '$domain' AND path='$path'" );
- if( $current_site == null ) {
- $path = '/';
- $current_site = $wpdb->get_row( "SELECT * FROM $wpdb->site WHERE domain = '$domain' AND path='$path'" );
- if( $current_site == null )
- die( "No WPMU site defined on this host." );
- }
- $blogname = htmlspecialchars( str_replace( $path, '', $_SERVER[ 'REQUEST_URI' ] ) );
- $blogname = substr( $blogname, 0, strpos( $blogname, '/' ) );
- if( $blogname == '' || $blogname == 'blog' || $blogname == 'wp-admin' ) {
- $current_blog = $wpdb->get_row("SELECT * FROM $wpdb->blogs WHERE domain = '$domain' AND path = '$path'");
- } else {
- $current_blog = $wpdb->get_row("SELECT * FROM $wpdb->blogs WHERE domain = '$blogname.$domain' AND path = '$path'");
- }
- }
-
- if( $current_blog == false || $current_site == false )
- is_installed();
-
- $blog_id = $current_blog->blog_id;
- $public = $current_blog->public;
- $site_id = $current_blog->site_id;
-
- if( $site_id == 0 )
- $site_id = 1;
-
- $current_site->site_name = $wpdb->get_var( "SELECT meta_value FROM $wpdb->sitemeta WHERE site_id = '$site_id' AND meta_key = 'site_name'" );
-}
-if( $blog_id == false ) {
- // no blog found, are we installing? Check if the table exists.
- if ( defined('WP_INSTALLING') ) {
- $query = "SELECT blog_id FROM ".$wpdb->blogs." limit 0,1";
- $blog_id = $wpdb->get_var( $query );
- if( $blog_id == false ) {
- // table doesn't exist. This is the first blog
- $blog_id = 1;
- } else {
- // table exists
- // don't create record at this stage. we're obviously installing so it doesn't matter what the table vars below are like.
- // default to using the "main" blog.
- $blog_id = 1;
- }
- } else {
- $check = $wpdb->get_results( "SELECT * FROM $wpdb->site" );
- if( $check == false ) {
- $msg = ': DB Tables Missing';
- } else {
- $msg = '';
- }
- die( "No Blog by that name on this system." . $msg );
- }
-}
-
-$wpdb->show_errors();
-
-if( '0' == $current_blog->public ) {
- // This just means the blog shouldn't show up in google, etc. Only to registered members
-}
-
-if( $current_blog->archived == '1' ) {
- die( 'This blog has been archived or suspended.' );
-}
-
-if( $current_blog->spam == '1' ) {
- die( 'This blog has been archived or suspended.' );
-}
-
-function is_installed() {
- global $wpdb, $domain, $path;
- $base = stripslashes( $base );
- if( defined( "WP_INSTALLING" ) == false ) {
- $check = $wpdb->get_results( "SELECT * FROM $wpdb->site" );
- if( $check == false ) {
- $msg = '<strong>Database Tables Missing.</strong><br /> The table <em>' . DB_NAME . '::' . $wpdb->site . '</em> is missing. Delete the .htaccess file and run the installer again!<br />';
- } else {
- $msg = '<strong>Could Not Find Blog!</strong><br />';
- $msg .= "Searched for <em>" . $domain . $path . "</em> in " . DB_NAME . "::" . $wpdb->blogs . " table. Is that right?<br />";
- }
- $msg .= "Please check that your database contains the following tables:<ul>
- <li> $wpdb->blogs </li>
- <li> $wpdb->users </li>
- <li> $wpdb->usermeta </li>
- <li> $wpdb->site </li>
- <li> $wpdb->sitemeta </li>
- <li> $wpdb->sitecategories </li>
- </ul>";
- $msg .= "If you suspect a problem please report it to <a href='http://mu.wordpress.org/forums/'>support forums</a>!";
- die( "<h1>Fatal Error</h1> " . $msg );
- }
-}
-
-$table_prefix = $table_prefix . $blog_id . '_';
-
-?>
diff --git a/wp-inst/xmlrpc.php b/wp-inst/xmlrpc.php
deleted file mode 100644
index 0b7e1a4..0000000
--- a/wp-inst/xmlrpc.php
+++ /dev/null
@@ -1,1289 +0,0 @@
-<?php
-
-define('XMLRPC_REQUEST', true);
-
-// Some browser-embedded clients send cookies. We don't want them.
-$_COOKIE = array();
-
-# fix for mozBlog and other cases where '<?xml' isn't on the very first line
-if ( isset($HTTP_RAW_POST_DATA) )
- $HTTP_RAW_POST_DATA = trim($HTTP_RAW_POST_DATA);
-
-include('./wp-config.php');
-
-if ( isset( $_GET['rsd'] ) ) { // http://archipelago.phrasewise.com/rsd
-header('Content-type: text/xml; charset=' . get_settings('blog_charset'), true);
-
-?>
-<?php echo '<?xml version="1.0" encoding="'.get_settings('blog_charset').'"?'.'>'; ?>
-<rsd version="1.0" xmlns="http://archipelago.phrasewise.com/rsd">
- <service>
- <engineName>WordPress</engineName>
- <engineLink>http://wordpress.org/</engineLink>
- <homePageLink><?php bloginfo_rss('url') ?></homePageLink>
- <apis>
- <api name="Movable Type" blogID="1" preferred="true" apiLink="<?php bloginfo_rss('url') ?>/xmlrpc.php" />
- <api name="MetaWeblog" blogID="1" preferred="false" apiLink="<?php bloginfo_rss('url') ?>/xmlrpc.php" />
- <api name="Blogger" blogID="1" preferred="false" apiLink="<?php bloginfo_rss('url') ?>/xmlrpc.php" />
- </apis>
- </service>
-</rsd>
-<?php
-exit;
-}
-
-include_once(ABSPATH . WPINC . '/class-IXR.php');
-
-// Turn off all warnings and errors.
-// error_reporting(0);
-
-$post_default_title = ""; // posts submitted via the xmlrpc interface get that title
-
-$xmlrpc_logging = 0;
-
-function logIO($io,$msg) {
- global $xmlrpc_logging;
- if ($xmlrpc_logging) {
- $fp = fopen("../xmlrpc.log","a+");
- $date = gmdate("Y-m-d H:i:s ");
- $iot = ($io == "I") ? " Input: " : " Output: ";
- fwrite($fp, "\n\n".$date.$iot.$msg);
- fclose($fp);
- }
- return true;
- }
-
-function starify($string) {
- $i = strlen($string);
- return str_repeat('*', $i);
-}
-
-logIO("I", $HTTP_RAW_POST_DATA);
-
-
-function mkdir_p($target) {
- // from php.net/mkdir user contributed notes
- if (file_exists($target)) {
- if (!is_dir($target)) {
- return false;
- } else {
- return true;
- }
- }
-
- // Attempting to create the directory may clutter up our display.
- if (@mkdir($target)) {
- return true;
- }
-
- // If the above failed, attempt to create the parent node, then try again.
- if (mkdir_p(dirname($target))) {
- return mkdir_p($target);
- }
-
- return false;
-}
-
-
-class wp_xmlrpc_server extends IXR_Server {
-
- function wp_xmlrpc_server() {
- $this->methods = array(
- // Blogger API
- 'blogger.getUsersBlogs' => 'this:blogger_getUsersBlogs',
- 'blogger.getUserInfo' => 'this:blogger_getUserInfo',
- 'blogger.getPost' => 'this:blogger_getPost',
- 'blogger.getRecentPosts' => 'this:blogger_getRecentPosts',
- 'blogger.getTemplate' => 'this:blogger_getTemplate',
- 'blogger.setTemplate' => 'this:blogger_setTemplate',
- 'blogger.newPost' => 'this:blogger_newPost',
- 'blogger.editPost' => 'this:blogger_editPost',
- 'blogger.deletePost' => 'this:blogger_deletePost',
-
- // MetaWeblog API (with MT extensions to structs)
- 'metaWeblog.newPost' => 'this:mw_newPost',
- 'metaWeblog.editPost' => 'this:mw_editPost',
- 'metaWeblog.getPost' => 'this:mw_getPost',
- 'metaWeblog.getRecentPosts' => 'this:mw_getRecentPosts',
- 'metaWeblog.getCategories' => 'this:mw_getCategories',
- 'metaWeblog.newMediaObject' => 'this:mw_newMediaObject',
-
- // MetaWeblog API aliases for Blogger API
- // see http://www.xmlrpc.com/stories/storyReader$2460
- 'metaWeblog.deletePost' => 'this:blogger_deletePost',
- 'metaWeblog.getTemplate' => 'this:blogger_getTemplate',
- 'metaWeblog.setTemplate' => 'this:blogger_setTemplate',
- 'metaWeblog.getUsersBlogs' => 'this:blogger_getUsersBlogs',
-
- // MovableType API
- 'mt.getCategoryList' => 'this:mt_getCategoryList',
- 'mt.getRecentPostTitles' => 'this:mt_getRecentPostTitles',
- 'mt.getPostCategories' => 'this:mt_getPostCategories',
- 'mt.setPostCategories' => 'this:mt_setPostCategories',
- 'mt.supportedMethods' => 'this:mt_supportedMethods',
- 'mt.supportedTextFilters' => 'this:mt_supportedTextFilters',
- 'mt.getTrackbackPings' => 'this:mt_getTrackbackPings',
- 'mt.publishPost' => 'this:mt_publishPost',
-
- // PingBack
- 'pingback.ping' => 'this:pingback_ping',
- 'pingback.extensions.getPingbacks' => 'this:pingback_extensions_getPingbacks',
-
- 'demo.sayHello' => 'this:sayHello',
- 'demo.addTwoNumbers' => 'this:addTwoNumbers'
- );
- $this->methods = apply_filters('xmlrpc_methods', $this->methods);
- $this->IXR_Server($this->methods);
- }
-
- function sayHello($args) {
- return 'Hello!';
- }
-
- function addTwoNumbers($args) {
- $number1 = $args[0];
- $number2 = $args[1];
- return $number1 + $number2;
- }
-
- function login_pass_ok($user_login, $user_pass) {
- if (!user_pass_ok($user_login, $user_pass)) {
- $this->error = new IXR_Error(403, 'Bad login/pass combination.');
- return false;
- }
- return true;
- }
-
- function escape(&$array) {
- global $wpdb;
-
- foreach ($array as $k => $v) {
- if (is_array($v)) {
- $this->escape($array[$k]);
- } else if (is_object($v)) {
- //skip
- } else {
- $array[$k] = $wpdb->escape($v);
- }
- }
- }
-
- /* Blogger API functions
- * specs on http://plant.blogger.com/api and http://groups.yahoo.com/group/bloggerDev/
- */
-
-
- /* blogger.getUsersBlogs will make more sense once we support multiple blogs */
- function blogger_getUsersBlogs($args) {
-
- $this->escape($args);
-
- $user_login = $args[1];
- $user_pass = $args[2];
-
- if (!$this->login_pass_ok($user_login, $user_pass)) {
- return $this->error;
- }
-
- set_current_user(0, $user_login);
- $is_admin = current_user_can('level_8');
-
- $struct = array(
- 'isAdmin' => $is_admin,
- 'url' => get_settings('home') . '/',
- 'blogid' => '1',
- 'blogName' => get_settings('blogname')
- );
-
- return array($struct);
- }
-
-
- /* blogger.getUsersInfo gives your client some info about you, so you don't have to */
- function blogger_getUserInfo($args) {
-
- $this->escape($args);
-
- $user_login = $args[1];
- $user_pass = $args[2];
-
- if (!$this->login_pass_ok($user_login, $user_pass)) {
- return $this->error;
- }
-
- $user_data = get_userdatabylogin($user_login);
-
- $struct = array(
- 'nickname' => $user_data->nickname,
- 'userid' => $user_data->ID,
- 'url' => $user_data->user_url,
- 'email' => $user_data->user_email,
- 'lastname' => $user_data->last_name,
- 'firstname' => $user_data->first_name
- );
-
- return $struct;
- }
-
-
- /* blogger.getPost ...gets a post */
- function blogger_getPost($args) {
-
- $this->escape($args);
-
- $post_ID = $args[1];
- $user_login = $args[2];
- $user_pass = $args[3];
-
- if (!$this->login_pass_ok($user_login, $user_pass)) {
- return $this->error;
- }
-
- $user_data = get_userdatabylogin($user_login);
- $post_data = wp_get_single_post($post_ID, ARRAY_A);
-
- $categories = implode(',', wp_get_post_categories($post_ID));
-
- $content = '<title>'.stripslashes($post_data['post_title']).'</title>';
- $content .= '<category>'.$categories.'</category>';
- $content .= stripslashes($post_data['post_content']);
-
- $struct = array(
- 'userid' => $post_data['post_author'],
- 'dateCreated' => new IXR_Date(mysql2date('Ymd\TH:i:s', $post_data['post_date'])),
- 'content' => $content,
- 'postid' => $post_data['ID']
- );
-
- return $struct;
- }
-
-
- /* blogger.getRecentPosts ...gets recent posts */
- function blogger_getRecentPosts($args) {
-
- global $wpdb;
-
- $this->escape($args);
-
- $blog_ID = $args[1]; /* though we don't use it yet */
- $user_login = $args[2];
- $user_pass = $args[3];
- $num_posts = $args[4];
-
- if (!$this->login_pass_ok($user_login, $user_pass)) {
- return $this->error;
- }
-
- $posts_list = wp_get_recent_posts($num_posts);
-
- if (!$posts_list) {
- $this->error = new IXR_Error(500, 'Either there are no posts, or something went wrong.');
- return $this->error;
- }
-
- foreach ($posts_list as $entry) {
-
- $post_date = mysql2date('Ymd\TH:i:s', $entry['post_date']);
- $categories = implode(',', wp_get_post_categories($entry['ID']));
-
- $content = '<title>'.stripslashes($entry['post_title']).'</title>';
- $content .= '<category>'.$categories.'</category>';
- $content .= stripslashes($entry['post_content']);
-
- $struct[] = array(
- 'userid' => $entry['post_author'],
- 'dateCreated' => new IXR_Date($post_date),
- 'content' => $content,
- 'postid' => $entry['ID'],
- );
-
- }
-
- $recent_posts = array();
- for ($j=0; $j<count($struct); $j++) {
- array_push($recent_posts, $struct[$j]);
- }
-
- return $recent_posts;
- }
-
-
- /* blogger.getTemplate returns your blog_filename */
- function blogger_getTemplate($args) {
-
- $this->escape($args);
-
- $blog_ID = $args[1];
- $user_login = $args[2];
- $user_pass = $args[3];
- $template = $args[4]; /* could be 'main' or 'archiveIndex', but we don't use it */
-
- if (!$this->login_pass_ok($user_login, $user_pass)) {
- return $this->error;
- }
-
- set_current_user(0, $user_login);
- if ( !current_user_can('edit_themes') ) {
- return new IXR_Error(401, 'Sorry, this user can not edit the template.');
- }
-
- /* warning: here we make the assumption that the weblog's URI is on the same server */
- $filename = get_settings('home') . '/';
- $filename = preg_replace('#https?://.+?/#', $_SERVER['DOCUMENT_ROOT'].'/', $filename);
-
- $f = fopen($filename, 'r');
- $content = fread($f, filesize($filename));
- fclose($f);
-
- /* so it is actually editable with a windows/mac client */
- // FIXME: (or delete me) do we really want to cater to bad clients at the expense of good ones by BEEPing up their line breaks? commented. $content = str_replace("\n", "\r\n", $content);
-
- return $content;
- }
-
-
- /* blogger.setTemplate updates the content of blog_filename */
- function blogger_setTemplate($args) {
-
- $this->escape($args);
-
- $blog_ID = $args[1];
- $user_login = $args[2];
- $user_pass = $args[3];
- $content = $args[4];
- $template = $args[5]; /* could be 'main' or 'archiveIndex', but we don't use it */
-
- if (!$this->login_pass_ok($user_login, $user_pass)) {
- return $this->error;
- }
-
- set_current_user(0, $user_login);
- if ( !current_user_can('edit_themes') ) {
- return new IXR_Error(401, 'Sorry, this user can not edit the template.');
- }
-
- /* warning: here we make the assumption that the weblog's URI is on the same server */
- $filename = get_settings('home') . '/';
- $filename = preg_replace('#https?://.+?/#', $_SERVER['DOCUMENT_ROOT'].'/', $filename);
-
- if ($f = fopen($filename, 'w+')) {
- fwrite($f, $content);
- fclose($f);
- } else {
- return new IXR_Error(500, 'Either the file is not writable, or something wrong happened. The file has not been updated.');
- }
-
- return true;
- }
-
-
- /* blogger.newPost ...creates a new post */
- function blogger_newPost($args) {
-
- global $wpdb;
-
- $this->escape($args);
-
- $blog_ID = $args[1]; /* though we don't use it yet */
- $user_login = $args[2];
- $user_pass = $args[3];
- $content = $args[4];
- $publish = $args[5];
-
- if (!$this->login_pass_ok($user_login, $user_pass)) {
- return $this->error;
- }
-
- $cap = ($publish) ? 'publish_posts' : 'edit_posts';
- $user = set_current_user(0, $user_login);
- if ( !current_user_can($cap) )
- return new IXR_Error(401, 'Sorry, you can not post on this weblog or category.');
-
- $post_status = ($publish) ? 'publish' : 'draft';
-
- $post_author = $user->ID;
-
- $post_title = xmlrpc_getposttitle($content);
- $post_category = xmlrpc_getpostcategory($content);
- $post_content = xmlrpc_removepostdata($content);
-
- $post_date = current_time('mysql');
- $post_date_gmt = current_time('mysql', 1);
-
- $post_data = compact('blog_ID', 'post_author', 'post_date', 'post_date_gmt', 'post_content', 'post_title', 'post_category', 'post_status');
-
- $post_ID = wp_insert_post($post_data);
-
- if (!$post_ID) {
- return new IXR_Error(500, 'Sorry, your entry could not be posted. Something wrong happened.');
- }
-
- logIO('O', "Posted ! ID: $post_ID");
-
- return $post_ID;
- }
-
-
- /* blogger.editPost ...edits a post */
- function blogger_editPost($args) {
-
- global $wpdb;
-
- $this->escape($args);
-
- $post_ID = $args[1];
- $user_login = $args[2];
- $user_pass = $args[3];
- $content = $args[4];
- $publish = $args[5];
-
- if (!$this->login_pass_ok($user_login, $user_pass)) {
- return $this->error;
- }
-
- $actual_post = wp_get_single_post($post_ID,ARRAY_A);
-
- if (!$actual_post) {
- return new IXR_Error(404, 'Sorry, no such post.');
- }
-
- $this->escape($actual_post);
-
- set_current_user(0, $user_login);
- if ( !current_user_can('edit_post', $post_ID) )
- return new IXR_Error(401, 'Sorry, you do not have the right to edit this post.');
-
- extract($actual_post);
-
- $post_title = xmlrpc_getposttitle($content);
- $post_category = xmlrpc_getpostcategory($content);
- $post_content = xmlrpc_removepostdata($content);
-
- $postdata = compact('ID', 'post_content', 'post_title', 'post_category', 'post_status', 'post_excerpt');
-
- $result = wp_update_post($postdata);
-
- if (!$result) {
- return new IXR_Error(500, 'For some strange yet very annoying reason, this post could not be edited.');
- }
-
- return true;
- }
-
-
- /* blogger.deletePost ...deletes a post */
- function blogger_deletePost($args) {
-
- global $wpdb;
-
- $this->escape($args);
-
- $post_ID = $args[1];
- $user_login = $args[2];
- $user_pass = $args[3];
- $publish = $args[4];
-
- if (!$this->login_pass_ok($user_login, $user_pass)) {
- return $this->error;
- }
-
- $actual_post = wp_get_single_post($post_ID,ARRAY_A);
-
- if (!$actual_post) {
- return new IXR_Error(404, 'Sorry, no such post.');
- }
-
- set_current_user(0, $user_login);
- if ( !current_user_can('edit_post', $post_ID) )
- return new IXR_Error(401, 'Sorry, you do not have the right to delete this post.');
-
- $result = wp_delete_post($post_ID);
-
- if (!$result) {
- return new IXR_Error(500, 'For some strange yet very annoying reason, this post could not be deleted.');
- }
-
- return true;
- }
-
-
-
- /* MetaWeblog API functions
- * specs on wherever Dave Winer wants them to be
- */
-
- /* metaweblog.newPost creates a post */
- function mw_newPost($args) {
-
- global $wpdb, $post_default_category;
-
- $this->escape($args);
-
- $blog_ID = $args[0]; // we will support this in the near future
- $user_login = $args[1];
- $user_pass = $args[2];
- $content_struct = $args[3];
- $publish = $args[4];
-
- if (!$this->login_pass_ok($user_login, $user_pass)) {
- return $this->error;
- }
-
- $user = set_current_user(0, $user_login);
- if ( !current_user_can('publish_posts') )
- return new IXR_Error(401, 'Sorry, you can not post on this weblog or category.');
-
- $post_author = $user->ID;
-
- $post_title = $content_struct['title'];
- $post_content = apply_filters( 'content_save_pre', $content_struct['description'] );
- $post_status = $publish ? 'publish' : 'draft';
-
- $post_excerpt = $content_struct['mt_excerpt'];
- $post_more = $content_struct['mt_text_more'];
-
- $comment_status = (empty($content_struct['mt_allow_comments'])) ?
- get_settings('default_comment_status')
- : $content_struct['mt_allow_comments'];
-
- $ping_status = (empty($content_struct['mt_allow_pings'])) ?
- get_settings('default_ping_status')
- : $content_struct['mt_allow_pings'];
-
- if ($post_more) {
- $post_content = $post_content . "\n<!--more-->\n" . $post_more;
- }
-
- $to_ping = $content_struct['mt_tb_ping_urls'];
-
- // Do some timestamp voodoo
- $dateCreatedd = $content_struct['dateCreated'];
- if (!empty($dateCreatedd)) {
- $dateCreated = $dateCreatedd->getIso();
- $post_date = get_date_from_gmt(iso8601_to_datetime($dateCreated));
- $post_date_gmt = iso8601_to_datetime($dateCreated, GMT);
- } else {
- $post_date = current_time('mysql');
- $post_date_gmt = current_time('mysql', 1);
- }
-
- $catnames = $content_struct['categories'];
- logIO('O', 'Post cats: ' . printr($catnames,true));
- $post_category = array();
-
- if (is_array($catnames)) {
- foreach ($catnames as $cat) {
- $post_category[] = get_cat_ID($cat);
- }
- }
-
- // We've got all the data -- post it:
- $postdata = compact('post_author', 'post_date', 'post_date_gmt', 'post_content', 'post_title', 'post_category', 'post_status', 'post_excerpt', 'comment_status', 'ping_status', 'to_ping');
-
- $post_ID = wp_insert_post($postdata);
-
- if (!$post_ID) {
- return new IXR_Error(500, 'Sorry, your entry could not be posted. Something wrong happened.');
- }
-
- logIO('O', "Posted ! ID: $post_ID");
-
- return strval($post_ID);
- }
-
-
- /* metaweblog.editPost ...edits a post */
- function mw_editPost($args) {
-
- global $wpdb, $post_default_category;
-
- $this->escape($args);
-
- $post_ID = $args[0];
- $user_login = $args[1];
- $user_pass = $args[2];
- $content_struct = $args[3];
- $publish = $args[4];
-
- if (!$this->login_pass_ok($user_login, $user_pass)) {
- return $this->error;
- }
-
- set_current_user(0, $user_login);
- if ( !current_user_can('edit_post', $post_ID) )
- return new IXR_Error(401, 'Sorry, you can not edit this post.');
-
- $postdata = wp_get_single_post($post_ID, ARRAY_A);
- extract($postdata);
- $this->escape($postdata);
-
- $post_title = $content_struct['title'];
- $post_content = apply_filters( 'content_save_pre', $content_struct['description'] );
- $catnames = $content_struct['categories'];
-
- $post_category = array();
-
- if (is_array($catnames)) {
- foreach ($catnames as $cat) {
- $post_category[] = get_cat_ID($cat);
- }
- }
-
- $post_excerpt = $content_struct['mt_excerpt'];
- $post_more = $content_struct['mt_text_more'];
- $post_status = $publish ? 'publish' : 'draft';
-
- if ($post_more) {
- $post_content = $post_content . "\n<!--more-->\n" . $post_more;
- }
-
- $to_ping = $content_struct['mt_tb_ping_urls'];
-
- $comment_status = (empty($content_struct['mt_allow_comments'])) ?
- get_settings('default_comment_status')
- : $content_struct['mt_allow_comments'];
-
- $ping_status = (empty($content_struct['mt_allow_pings'])) ?
- get_settings('default_ping_status')
- : $content_struct['mt_allow_pings'];
-
- // Do some timestamp voodoo
- $dateCreatedd = $content_struct['dateCreated'];
- if (!empty($dateCreatedd)) {
- $dateCreated = $dateCreatedd->getIso();
- $post_date = get_date_from_gmt(iso8601_to_datetime($dateCreated));
- $post_date_gmt = iso8601_to_datetime($dateCreated, GMT);
- } else {
- $post_date = $postdata['post_date'];
- $post_date_gmt = $postdata['post_date_gmt'];
- }
-
- // We've got all the data -- post it:
- $newpost = compact('ID', 'post_content', 'post_title', 'post_category', 'post_status', 'post_excerpt', 'comment_status', 'ping_status', 'post_date', 'post_date_gmt', 'to_ping');
-
- $result = wp_update_post($newpost);
- if (!$result) {
- return new IXR_Error(500, 'Sorry, your entry could not be edited. Something wrong happened.');
- }
-
- logIO('O',"(MW) Edited ! ID: $post_ID");
-
- return true;
- }
-
-
- /* metaweblog.getPost ...returns a post */
- function mw_getPost($args) {
-
- global $wpdb;
-
- $this->escape($args);
-
- $post_ID = $args[0];
- $user_login = $args[1];
- $user_pass = $args[2];
-
- if (!$this->login_pass_ok($user_login, $user_pass)) {
- return $this->error;
- }
-
- $postdata = wp_get_single_post($post_ID, ARRAY_A);
-
- if ($postdata['post_date'] != '') {
-
- $post_date = mysql2date('Ymd\TH:i:s', $postdata['post_date']);
-
- $categories = array();
- $catids = wp_get_post_categories($post_ID);
- foreach($catids as $catid) {
- $categories[] = get_cat_name($catid);
- }
-
- $post = get_extended($postdata['post_content']);
- $link = post_permalink($postdata['ID']);
-
- $allow_comments = ('open' == $postdata['comment_status']) ? 1 : 0;
- $allow_pings = ('open' == $postdata['ping_status']) ? 1 : 0;
-
- $resp = array(
- 'dateCreated' => new IXR_Date($post_date),
- 'userid' => $postdata['post_author'],
- 'postid' => $postdata['ID'],
- 'description' => $post['main'],
- 'title' => $postdata['post_title'],
- 'link' => $link,
- 'permaLink' => $link,
-// commented out because no other tool seems to use this
-// 'content' => $entry['post_content'],
- 'categories' => $categories,
- 'mt_excerpt' => $postdata['post_excerpt'],
- 'mt_text_more' => $post['extended'],
- 'mt_allow_comments' => $allow_comments,
- 'mt_allow_pings' => $allow_pings
- );
-
- return $resp;
- } else {
- return new IXR_Error(404, 'Sorry, no such post.');
- }
- }
-
-
- /* metaweblog.getRecentPosts ...returns recent posts */
- function mw_getRecentPosts($args) {
-
- $this->escape($args);
-
- $blog_ID = $args[0];
- $user_login = $args[1];
- $user_pass = $args[2];
- $num_posts = $args[3];
-
- if (!$this->login_pass_ok($user_login, $user_pass)) {
- return $this->error;
- }
-
- $posts_list = wp_get_recent_posts($num_posts);
-
- if (!$posts_list) {
- $this->error = new IXR_Error(500, 'Either there are no posts, or something went wrong.');
- return $this->error;
- }
-
- foreach ($posts_list as $entry) {
-
- $post_date = mysql2date('Ymd\TH:i:s', $entry['post_date']);
- $categories = array();
- $catids = wp_get_post_categories($entry['ID']);
- foreach($catids as $catid) {
- $categories[] = get_cat_name($catid);
- }
-
- $post = get_extended($entry['post_content']);
- $link = post_permalink($entry['ID']);
-
- $allow_comments = ('open' == $entry['comment_status']) ? 1 : 0;
- $allow_pings = ('open' == $entry['ping_status']) ? 1 : 0;
-
- $struct[] = array(
- 'dateCreated' => new IXR_Date($post_date),
- 'userid' => $entry['post_author'],
- 'postid' => $entry['ID'],
- 'description' => $post['main'],
- 'title' => $entry['post_title'],
- 'link' => $link,
- 'permaLink' => $link,
-// commented out because no other tool seems to use this
-// 'content' => $entry['post_content'],
- 'categories' => $categories,
- 'mt_excerpt' => $entry['post_excerpt'],
- 'mt_text_more' => $post['extended'],
- 'mt_allow_comments' => $allow_comments,
- 'mt_allow_pings' => $allow_pings
- );
-
- }
-
- $recent_posts = array();
- for ($j=0; $j<count($struct); $j++) {
- array_push($recent_posts, $struct[$j]);
- }
-
- return $recent_posts;
- }
-
-
- /* metaweblog.getCategories ...returns the list of categories on a given weblog */
- function mw_getCategories($args) {
-
- global $wpdb;
-
- $this->escape($args);
-
- $blog_ID = $args[0];
- $user_login = $args[1];
- $user_pass = $args[2];
-
- if (!$this->login_pass_ok($user_login, $user_pass)) {
- return $this->error;
- }
-
- $categories_struct = array();
-
- // FIXME: can we avoid using direct SQL there?
- if ($cats = $wpdb->get_results("SELECT cat_ID,cat_name FROM $wpdb->categories", ARRAY_A)) {
- foreach ($cats as $cat) {
- $struct['categoryId'] = $cat['cat_ID'];
- $struct['description'] = $cat['cat_name'];
- $struct['categoryName'] = $cat['cat_name'];
- $struct['htmlUrl'] = wp_specialchars(get_category_link($cat['cat_ID']));
- $struct['rssUrl'] = wp_specialchars(get_category_rss_link(false, $cat['cat_ID'], $cat['cat_name']));
-
- $categories_struct[] = $struct;
- }
- }
-
- return $categories_struct;
- }
-
-
- /* metaweblog.newMediaObject uploads a file, following your settings */
- function mw_newMediaObject($args) {
- // adapted from a patch by Johann Richard
- // http://mycvs.org/archives/2004/06/30/file-upload-to-wordpress-in-ecto/
-
- global $wpdb;
-
- $blog_ID = $wpdb->escape($args[0]);
- $user_login = $wpdb->escape($args[1]);
- $user_pass = $wpdb->escape($args[2]);
- $data = $args[3];
-
- $name = $data['name'];
- $type = $data['type'];
- $bits = $data['bits'];
-
- logIO('O', '(MW) Received '.strlen($bits).' bytes');
-
- if ( !$this->login_pass_ok($user_login, $user_pass) )
- return $this->error;
-
- set_current_user(0, $user_login);
- if ( !current_user_can('upload_files') ) {
- logIO('O', '(MW) User does not have upload_files capability');
- $this->error = new IXR_Error(401, 'You are not allowed to upload files to this site.');
- return $this->error;
- }
-
- $upload = wp_upload_bits($name, $type, $bits);
- if ( ! empty($upload['error']) ) {
- logIO('O', '(MW) Could not write file '.$name);
- return new IXR_Error(500, 'Could not write file '.$name);
- }
-
- return array('url' => $upload['url']);
- }
-
-
- /* MovableType API functions
- * specs on http://www.movabletype.org/docs/mtmanual_programmatic.html
- */
-
- /* mt.getRecentPostTitles ...returns recent posts' titles */
- function mt_getRecentPostTitles($args) {
-
- $this->escape($args);
-
- $blog_ID = $args[0];
- $user_login = $args[1];
- $user_pass = $args[2];
- $num_posts = $args[3];
-
- if (!$this->login_pass_ok($user_login, $user_pass)) {
- return $this->error;
- }
-
- $posts_list = wp_get_recent_posts($num_posts);
-
- if (!$posts_list) {
- $this->error = new IXR_Error(500, 'Either there are no posts, or something went wrong.');
- return $this->error;
- }
-
- foreach ($posts_list as $entry) {
-
- $post_date = mysql2date('Ymd\TH:i:s', $entry['post_date']);
-
- $struct[] = array(
- 'dateCreated' => new IXR_Date($post_date),
- 'userid' => $entry['post_author'],
- 'postid' => $entry['ID'],
- 'title' => $entry['post_title'],
- );
-
- }
-
- $recent_posts = array();
- for ($j=0; $j<count($struct); $j++) {
- array_push($recent_posts, $struct[$j]);
- }
-
- return $recent_posts;
- }
-
-
- /* mt.getCategoryList ...returns the list of categories on a given weblog */
- function mt_getCategoryList($args) {
-
- global $wpdb;
-
- $this->escape($args);
-
- $blog_ID = $args[0];
- $user_login = $args[1];
- $user_pass = $args[2];
-
- if (!$this->login_pass_ok($user_login, $user_pass)) {
- return $this->error;
- }
-
- $categories_struct = array();
-
- // FIXME: can we avoid using direct SQL there?
- if ($cats = $wpdb->get_results("SELECT cat_ID, cat_name FROM $wpdb->categories", ARRAY_A)) {
- foreach ($cats as $cat) {
- $struct['categoryId'] = $cat['cat_ID'];
- $struct['categoryName'] = $cat['cat_name'];
-
- $categories_struct[] = $struct;
- }
- }
-
- return $categories_struct;
- }
-
-
- /* mt.getPostCategories ...returns a post's categories */
- function mt_getPostCategories($args) {
-
- $this->escape($args);
-
- $post_ID = $args[0];
- $user_login = $args[1];
- $user_pass = $args[2];
-
- if (!$this->login_pass_ok($user_login, $user_pass)) {
- return $this->error;
- }
-
- $categories = array();
- $catids = wp_get_post_categories(intval($post_ID));
- // first listed category will be the primary category
- $isPrimary = true;
- foreach($catids as $catid) {
- $categories[] = array(
- 'categoryName' => get_cat_name($catid),
- 'categoryId' => $catid,
- 'isPrimary' => $isPrimary
- );
- $isPrimary = false;
- }
-
- return $categories;
- }
-
-
- /* mt.setPostCategories ...sets a post's categories */
- function mt_setPostCategories($args) {
-
- $this->escape($args);
-
- $post_ID = $args[0];
- $user_login = $args[1];
- $user_pass = $args[2];
- $categories = $args[3];
-
- if (!$this->login_pass_ok($user_login, $user_pass)) {
- return $this->error;
- }
-
- set_current_user(0, $user_login);
- if ( !current_user_can('edit_post', $post_ID) )
- return new IXR_Error(401, 'Sorry, you can not edit this post.');
-
- foreach($categories as $cat) {
- $catids[] = $cat['categoryId'];
- }
-
- wp_set_post_categories($post_ID, $catids);
-
- return true;
- }
-
-
- /* mt.supportedMethods ...returns an array of methods supported by this server */
- function mt_supportedMethods($args) {
-
- $supported_methods = array();
- foreach($this->methods as $key=>$value) {
- $supported_methods[] = $key;
- }
-
- return $supported_methods;
- }
-
-
- /* mt.supportedTextFilters ...returns an empty array because we don't
- support per-post text filters yet */
- function mt_supportedTextFilters($args) {
- return array();
- }
-
-
- /* mt.getTrackbackPings ...returns trackbacks sent to a given post */
- function mt_getTrackbackPings($args) {
-
- global $wpdb;
-
- $post_ID = intval($args);
-
- $actual_post = wp_get_single_post($post_ID, ARRAY_A);
-
- if (!$actual_post) {
- return new IXR_Error(404, 'Sorry, no such post.');
- }
-
- $comments = $wpdb->get_results("SELECT comment_author_url, comment_content, comment_author_IP, comment_type FROM $wpdb->comments WHERE comment_post_ID = $post_ID");
-
- if (!$comments) {
- return array();
- }
-
- $trackback_pings = array();
- foreach($comments as $comment) {
- if ( 'trackback' == $comment->comment_type ) {
- $content = $comment->comment_content;
- $title = substr($content, 8, (strpos($content, '</strong>') - 8));
- $trackback_pings[] = array(
- 'pingTitle' => $title,
- 'pingURL' => $comment->comment_author_url,
- 'pingIP' => $comment->comment_author_IP
- );
- }
- }
-
- return $trackback_pings;
- }
-
-
- /* mt.publishPost ...sets a post's publish status to 'publish' */
- function mt_publishPost($args) {
-
- $this->escape($args);
-
- $post_ID = $args[0];
- $user_login = $args[1];
- $user_pass = $args[2];
-
- if (!$this->login_pass_ok($user_login, $user_pass)) {
- return $this->error;
- }
-
- set_current_user(0, $user_login);
- if ( !current_user_can('edit_post', $post_ID) )
- return new IXR_Error(401, 'Sorry, you can not edit this post.');
-
- $postdata = wp_get_single_post($post_ID,ARRAY_A);
-
- $postdata['post_status'] = 'publish';
-
- // retain old cats
- $cats = wp_get_post_categories($post_ID);
- $postdata['post_category'] = $cats;
- $this->escape($postdata);
-
- $result = wp_update_post($postdata);
-
- return $result;
- }
-
-
-
- /* PingBack functions
- * specs on www.hixie.ch/specs/pingback/pingback
- */
-
- /* pingback.ping gets a pingback and registers it */
- function pingback_ping($args) {
- global $wpdb, $wp_version;
-
- $this->escape($args);
-
- $pagelinkedfrom = $args[0];
- $pagelinkedto = $args[1];
-
- $title = '';
-
- $pagelinkedfrom = str_replace('&amp;', '&', $pagelinkedfrom);
- $pagelinkedto = preg_replace('#&([^amp\;])#is', '&amp;$1', $pagelinkedto);
-
- $error_code = -1;
-
- // Check if the page linked to is in our site
- $pos1 = strpos($pagelinkedto, str_replace(array('http://www.','http://','https://www.','https://'), '', get_settings('home')));
- if( !$pos1 )
- return new IXR_Error(0, 'Is there no link to us?');
-
- // let's find which post is linked to
- // FIXME: does url_to_postid() cover all these cases already?
- // if so, then let's use it and drop the old code.
- $urltest = parse_url($pagelinkedto);
- if ($post_ID = url_to_postid($pagelinkedto)) {
- $way = 'url_to_postid()';
- } elseif (preg_match('#p/[0-9]{1,}#', $urltest['path'], $match)) {
- // the path defines the post_ID (archives/p/XXXX)
- $blah = explode('/', $match[0]);
- $post_ID = $blah[1];
- $way = 'from the path';
- } elseif (preg_match('#p=[0-9]{1,}#', $urltest['query'], $match)) {
- // the querystring defines the post_ID (?p=XXXX)
- $blah = explode('=', $match[0]);
- $post_ID = $blah[1];
- $way = 'from the querystring';
- } elseif (isset($urltest['fragment'])) {
- // an #anchor is there, it's either...
- if (intval($urltest['fragment'])) {
- // ...an integer #XXXX (simpliest case)
- $post_ID = $urltest['fragment'];
- $way = 'from the fragment (numeric)';
- } elseif (preg_match('/post-[0-9]+/',$urltest['fragment'])) {
- // ...a post id in the form 'post-###'
- $post_ID = preg_replace('/[^0-9]+/', '', $urltest['fragment']);
- $way = 'from the fragment (post-###)';
- } elseif (is_string($urltest['fragment'])) {
- // ...or a string #title, a little more complicated
- $title = preg_replace('/[^a-z0-9]/i', '.', $urltest['fragment']);
- $sql = "SELECT ID FROM $wpdb->posts WHERE post_title RLIKE '$title'";
- if (! ($post_ID = $wpdb->get_var($sql)) ) {
- // returning unknown error '0' is better than die()ing
- return new IXR_Error(0, '');
- }
- $way = 'from the fragment (title)';
- }
- } else {
- // TODO: Attempt to extract a post ID from the given URL
- return new IXR_Error(33, 'The specified target URI cannot be used as a target. It either doesn\'t exist, or it is not a pingback-enabled resource.');
- }
- $post_ID = (int) $post_ID;
-
-
- logIO("O","(PB) URI='$pagelinkedto' ID='$post_ID' Found='$way'");
-
- $post = get_post($post_ID);
-
- if ( !$post ) // Post_ID not found
- return new IXR_Error(33, 'The specified target URI cannot be used as a target. It either doesn\'t exist, or it is not a pingback-enabled resource.');
-
- if ( $post_ID == url_to_postid($pagelinkedfrom) )
- return new IXR_Error(0, 'The source URI and the target URI cannot both point to the same resource.');
-
- // Check if pings are on
- if ( 'closed' == $post->ping_status )
- return new IXR_Error(33, 'The specified target URI cannot be used as a target. It either doesn\'t exist, or it is not a pingback-enabled resource.');
-
- // Let's check that the remote site didn't already pingback this entry
- $result = $wpdb->get_results("SELECT * FROM $wpdb->comments WHERE comment_post_ID = '$post_ID' AND comment_author_url = '$pagelinkedfrom'");
-
- if ( $wpdb->num_rows ) // We already have a Pingback from this URL
- return new IXR_Error(48, 'The pingback has already been registered.');
-
- // very stupid, but gives time to the 'from' server to publish !
- sleep(1);
-
- // Let's check the remote site
- $linea = wp_remote_fopen( $pagelinkedfrom );
- if ( !$linea )
- return new IXR_Error(16, 'The source URI does not exist.');
-
- // Work around bug in strip_tags():
- $linea = str_replace('<!DOC', '<DOC', $linea);
- $linea = preg_replace( '/[\s\r\n\t]+/', ' ', $linea ); // normalize spaces
- $linea = preg_replace( "/ <(h1|h2|h3|h4|h5|h6|p|th|td|li|dt|dd|pre|caption|input|textarea|button|body)[^>]*>/", "\n\n", $linea );
-
- preg_match('|<title>([^<]*?)</title>|is', $linea, $matchtitle);
- $title = $matchtitle[1];
- if ( empty( $title ) )
- return new IXR_Error(32, 'We cannot find a title on that page.');
-
- $linea = strip_tags( $linea, '<a>' ); // just keep the tag we need
-
- $p = explode( "\n\n", $linea );
-
- $sem_regexp_pb = "/(\\/|\\\|\*|\?|\+|\.|\^|\\$|\(|\)|\[|\]|\||\{|\})/";
- $sem_regexp_fix = "\\\\$1";
- $link = preg_replace( $sem_regexp_pb, $sem_regexp_fix, $pagelinkedfrom );
-
- $finished = false;
- foreach ( $p as $para ) {
- if ( $finished )
- continue;
- if ( strstr( $para, $pagelinkedto ) ) {
- $context = preg_replace( "/.*<a[^>]+".$link."[^>]*>([^>]+)<\/a>.*/", "$1", $para );
- $excerpt = strip_tags( $para );
- $excerpt = trim( $excerpt );
- $use = preg_quote( $context );
- $excerpt = preg_replace("|.*?\s(.{0,100}$use.{0,100})\s|s", "$1", $excerpt);
- $finished = true;
- }
- }
-
- if ( empty($context) ) // URL pattern not found
- return new IXR_Error(17, 'The source URI does not contain a link to the target URI, and so cannot be used as a source.');
-
- $pagelinkedfrom = preg_replace('#&([^amp\;])#is', '&amp;$1', $pagelinkedfrom);
-
- $context = '[...] ' . wp_specialchars( $excerpt ) . ' [...]';
- $original_pagelinkedfrom = $pagelinkedfrom;
- $pagelinkedfrom = $wpdb->escape( $pagelinkedfrom );
- $original_title = $title;
-
- $comment_post_ID = $post_ID;
- $comment_author = $title;
- $comment_author_url = $pagelinkedfrom;
- $comment_content = $context;
- $comment_type = 'pingback';
-
- $commentdata = compact('comment_post_ID', 'comment_author', 'comment_author_url', 'comment_content', 'comment_type');
-
- wp_new_comment($commentdata);
- do_action('pingback_post', $wpdb->insert_id);
-
- return "Pingback from $pagelinkedfrom to $pagelinkedto registered. Keep the web talking! :-)";
- }
-
-
- /* pingback.extensions.getPingbacks returns an array of URLs
- that pingbacked the given URL
- specs on http://www.aquarionics.com/misc/archives/blogite/0198.html */
- function pingback_extensions_getPingbacks($args) {
-
- global $wpdb;
-
- $this->escape($args);
-
- $url = $args;
-
- $post_ID = url_to_postid($url);
- if (!$post_ID) {
- // We aren't sure that the resource is available and/or pingback enabled
- return new IXR_Error(33, 'The specified target URI cannot be used as a target. It either doesn\'t exist, or it is not a pingback-enabled resource.');
- }
-
- $actual_post = wp_get_single_post($post_ID, ARRAY_A);
-
- if (!$actual_post) {
- // No such post = resource not found
- return new IXR_Error(32, 'The specified target URI does not exist.');
- }
-
- $comments = $wpdb->get_results("SELECT comment_author_url, comment_content, comment_author_IP, comment_type FROM $wpdb->comments WHERE comment_post_ID = $post_ID");
-
- if (!$comments) {
- return array();
- }
-
- $pingbacks = array();
- foreach($comments as $comment) {
- if ( 'pingback' == $comment->comment_type )
- $pingbacks[] = $comment->comment_author_url;
- }
-
- return $pingbacks;
- }
-}
-
-
-$wp_xmlrpc_server = new wp_xmlrpc_server();
-
-?>