Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse files

Revert 16805 that was so not what I meant to do

git-svn-id: https://core.svn.wordpress.org/tags/3.0.2@16806 1a063a9b-81f0-0310-95a4-ce76da25c4cd
  • Loading branch information...
commit 1bb22fdc94f24cc53af537f56487b2af4fc5d74f 1 parent 2b7e4e0
Peter Westwood westi authored
Showing with 0 additions and 35,368 deletions.
  1. +0 −18 3.0/index.php
  2. +0 −281 3.0/license.txt
  3. +0 −109 3.0/readme.html
  4. +0 −104 3.0/wp-activate.php
  5. +0 −1,535 3.0/wp-admin/admin-ajax.php
  6. +0 −43 3.0/wp-admin/admin-footer.php
  7. +0 −16 3.0/wp-admin/admin-functions.php
  8. +0 −157 3.0/wp-admin/admin-header.php
  9. +0 −33 3.0/wp-admin/admin-post.php
  10. +0 −218 3.0/wp-admin/admin.php
  11. +0 −63 3.0/wp-admin/async-upload.php
  12. +0 −288 3.0/wp-admin/comment.php
  13. +0 −1  3.0/wp-admin/css/colors-classic-rtl.css
  14. +0 −79 3.0/wp-admin/css/colors-classic-rtl.dev.css
  15. +0 −1  3.0/wp-admin/css/colors-classic.css
  16. +0 −1,729 3.0/wp-admin/css/colors-classic.dev.css
  17. +0 −1  3.0/wp-admin/css/colors-fresh-rtl.css
  18. +0 −78 3.0/wp-admin/css/colors-fresh-rtl.dev.css
  19. +0 −1  3.0/wp-admin/css/colors-fresh.css
  20. +0 −1,696 3.0/wp-admin/css/colors-fresh.dev.css
  21. +0 −1  3.0/wp-admin/css/dashboard-rtl.css
  22. +0 −110 3.0/wp-admin/css/dashboard-rtl.dev.css
  23. +0 −1  3.0/wp-admin/css/dashboard.css
  24. +0 −405 3.0/wp-admin/css/dashboard.dev.css
  25. +0 −7 3.0/wp-admin/css/farbtastic-rtl.css
  26. +0 −32 3.0/wp-admin/css/farbtastic.css
  27. +0 −1  3.0/wp-admin/css/global-rtl.css
  28. +0 −83 3.0/wp-admin/css/global-rtl.dev.css
  29. +0 −1  3.0/wp-admin/css/global.css
  30. +0 −486 3.0/wp-admin/css/global.dev.css
  31. +0 −1  3.0/wp-admin/css/ie-rtl.css
  32. +0 −156 3.0/wp-admin/css/ie-rtl.dev.css
  33. +0 −1  3.0/wp-admin/css/ie.css
  34. +0 −464 3.0/wp-admin/css/ie.dev.css
  35. +0 −1  3.0/wp-admin/css/install-rtl.css
  36. +0 −23 3.0/wp-admin/css/install-rtl.dev.css
  37. +0 −1  3.0/wp-admin/css/install.css
  38. +0 −212 3.0/wp-admin/css/install.dev.css
  39. +0 −1  3.0/wp-admin/css/login-rtl.css
  40. +0 −29 3.0/wp-admin/css/login-rtl.dev.css
  41. +0 −1  3.0/wp-admin/css/login.css
  42. +0 −139 3.0/wp-admin/css/login.dev.css
  43. +0 −1  3.0/wp-admin/css/media-rtl.css
  44. +0 −85 3.0/wp-admin/css/media-rtl.dev.css
  45. +0 −1  3.0/wp-admin/css/media.css
  46. +0 −383 3.0/wp-admin/css/media.dev.css
  47. +0 −1  3.0/wp-admin/css/ms.css
  48. +0 −44 3.0/wp-admin/css/ms.dev.css
  49. +0 −1  3.0/wp-admin/css/nav-menu-rtl.css
  50. +0 −206 3.0/wp-admin/css/nav-menu-rtl.dev.css
  51. +0 −1  3.0/wp-admin/css/nav-menu.css
  52. +0 −570 3.0/wp-admin/css/nav-menu.dev.css
  53. +0 −1  3.0/wp-admin/css/plugin-install-rtl.css
  54. +0 −43 3.0/wp-admin/css/plugin-install-rtl.dev.css
  55. +0 −1  3.0/wp-admin/css/plugin-install.css
  56. +0 −157 3.0/wp-admin/css/plugin-install.dev.css
  57. +0 −1  3.0/wp-admin/css/press-this-rtl.css
  58. +0 −130 3.0/wp-admin/css/press-this-rtl.dev.css
  59. +0 −1  3.0/wp-admin/css/press-this.css
  60. +0 −618 3.0/wp-admin/css/press-this.dev.css
  61. +0 −1  3.0/wp-admin/css/theme-editor-rtl.css
  62. +0 −3  3.0/wp-admin/css/theme-editor-rtl.dev.css
  63. +0 −1  3.0/wp-admin/css/theme-editor.css
  64. +0 −72 3.0/wp-admin/css/theme-editor.dev.css
  65. +0 −1  3.0/wp-admin/css/theme-install.css
  66. +0 −145 3.0/wp-admin/css/theme-install.dev.css
  67. +0 −1  3.0/wp-admin/css/widgets-rtl.css
  68. +0 −10 3.0/wp-admin/css/widgets-rtl.dev.css
  69. +0 −1  3.0/wp-admin/css/widgets.css
  70. +0 −370 3.0/wp-admin/css/widgets.dev.css
  71. +0 −1  3.0/wp-admin/css/wp-admin-rtl.css
  72. +0 −672 3.0/wp-admin/css/wp-admin-rtl.dev.css
  73. +0 −1  3.0/wp-admin/css/wp-admin.css
  74. +0 −3,766 3.0/wp-admin/css/wp-admin.dev.css
  75. +0 −359 3.0/wp-admin/custom-background.php
  76. +0 −721 3.0/wp-admin/custom-header.php
  77. +0 −239 3.0/wp-admin/edit-attachment-rows.php
  78. +0 −490 3.0/wp-admin/edit-comments.php
  79. +0 −317 3.0/wp-admin/edit-form-advanced.php
  80. +0 −147 3.0/wp-admin/edit-form-comment.php
  81. +0 −237 3.0/wp-admin/edit-link-categories.php
  82. +0 −92 3.0/wp-admin/edit-link-category-form.php
  83. +0 −127 3.0/wp-admin/edit-link-form.php
  84. +0 −34 3.0/wp-admin/edit-post-rows.php
  85. +0 −80 3.0/wp-admin/edit-tag-form.php
  86. +0 −451 3.0/wp-admin/edit-tags.php
  87. +0 −466 3.0/wp-admin/edit.php
  88. +0 −149 3.0/wp-admin/export.php
  89. +0 −51 3.0/wp-admin/gears-manifest.php
  90. BIN  3.0/wp-admin/images/align-center.png
  91. BIN  3.0/wp-admin/images/align-left.png
  92. BIN  3.0/wp-admin/images/align-none.png
  93. BIN  3.0/wp-admin/images/align-right.png
  94. BIN  3.0/wp-admin/images/archive-link.png
  95. BIN  3.0/wp-admin/images/blue-grad.png
  96. BIN  3.0/wp-admin/images/bubble_bg-rtl.gif
  97. BIN  3.0/wp-admin/images/bubble_bg.gif
  98. BIN  3.0/wp-admin/images/button-grad-active-vs.png
  99. BIN  3.0/wp-admin/images/button-grad-active.png
  100. BIN  3.0/wp-admin/images/button-grad-vs.png
  101. BIN  3.0/wp-admin/images/button-grad.png
  102. BIN  3.0/wp-admin/images/comment-grey-bubble.png
  103. BIN  3.0/wp-admin/images/date-button.gif
  104. BIN  3.0/wp-admin/images/ed-bg-vs.gif
  105. BIN  3.0/wp-admin/images/ed-bg.gif
  106. BIN  3.0/wp-admin/images/fade-butt.png
  107. BIN  3.0/wp-admin/images/fav-arrow-rtl.gif
  108. BIN  3.0/wp-admin/images/fav-arrow-vs-rtl.gif
  109. BIN  3.0/wp-admin/images/fav-arrow-vs.gif
  110. BIN  3.0/wp-admin/images/fav-arrow.gif
  111. BIN  3.0/wp-admin/images/fav-top-vs.gif
  112. BIN  3.0/wp-admin/images/fav-vs.png
  113. BIN  3.0/wp-admin/images/fav.png
  114. BIN  3.0/wp-admin/images/generic.png
  115. BIN  3.0/wp-admin/images/gray-grad.png
  116. BIN  3.0/wp-admin/images/icons32-vs.png
  117. BIN  3.0/wp-admin/images/icons32.png
  118. BIN  3.0/wp-admin/images/imgedit-icons.png
  119. BIN  3.0/wp-admin/images/list-vs.png
  120. BIN  3.0/wp-admin/images/list.png
  121. BIN  3.0/wp-admin/images/loading-publish.gif
  122. BIN  3.0/wp-admin/images/loading.gif
  123. BIN  3.0/wp-admin/images/logo-ghost.png
  124. BIN  3.0/wp-admin/images/logo-login.gif
  125. BIN  3.0/wp-admin/images/logo.gif
  126. BIN  3.0/wp-admin/images/marker.png
  127. BIN  3.0/wp-admin/images/mask.png
  128. BIN  3.0/wp-admin/images/media-button-image.gif
  129. BIN  3.0/wp-admin/images/media-button-music.gif
  130. BIN  3.0/wp-admin/images/media-button-other.gif
  131. BIN  3.0/wp-admin/images/media-button-video.gif
  132. BIN  3.0/wp-admin/images/menu-arrows.gif
  133. BIN  3.0/wp-admin/images/menu-bits-rtl-vs.gif
  134. BIN  3.0/wp-admin/images/menu-bits-rtl.gif
  135. BIN  3.0/wp-admin/images/menu-bits-vs.gif
  136. BIN  3.0/wp-admin/images/menu-bits.gif
  137. BIN  3.0/wp-admin/images/menu-dark-rtl.gif
  138. BIN  3.0/wp-admin/images/menu-dark.gif
  139. BIN  3.0/wp-admin/images/menu-vs.png
  140. BIN  3.0/wp-admin/images/menu.png
  141. BIN  3.0/wp-admin/images/no.png
  142. BIN  3.0/wp-admin/images/required.gif
  143. BIN  3.0/wp-admin/images/resize.gif
  144. BIN  3.0/wp-admin/images/screen-options-right-up.gif
  145. BIN  3.0/wp-admin/images/screen-options-right.gif
  146. BIN  3.0/wp-admin/images/se.png
  147. BIN  3.0/wp-admin/images/star.gif
  148. BIN  3.0/wp-admin/images/toggle-arrow-rtl.gif
  149. BIN  3.0/wp-admin/images/toggle-arrow.gif
  150. BIN  3.0/wp-admin/images/visit-site-button-grad-vs.gif
  151. BIN  3.0/wp-admin/images/visit-site-button-grad.gif
  152. BIN  3.0/wp-admin/images/wheel.png
  153. BIN  3.0/wp-admin/images/white-grad-active.png
  154. BIN  3.0/wp-admin/images/white-grad.png
  155. BIN  3.0/wp-admin/images/widgets-arrow.gif
  156. BIN  3.0/wp-admin/images/wordpress-logo.png
  157. BIN  3.0/wp-admin/images/wp-logo-vs.png
  158. BIN  3.0/wp-admin/images/wp-logo.png
  159. BIN  3.0/wp-admin/images/wpspin_dark.gif
  160. BIN  3.0/wp-admin/images/wpspin_light.gif
  161. BIN  3.0/wp-admin/images/xit.gif
  162. BIN  3.0/wp-admin/images/yes.png
  163. +0 −141 3.0/wp-admin/import.php
  164. +0 −63 3.0/wp-admin/includes/admin.php
  165. +0 −268 3.0/wp-admin/includes/bookmark.php
  166. +0 −190 3.0/wp-admin/includes/class-ftp-pure.php
  167. +0 −250 3.0/wp-admin/includes/class-ftp-sockets.php
  168. +0 −906 3.0/wp-admin/includes/class-ftp.php
  169. +0 −5,687 3.0/wp-admin/includes/class-pclzip.php
  170. +0 −321 3.0/wp-admin/includes/class-wp-filesystem-base.php
  171. +0 −361 3.0/wp-admin/includes/class-wp-filesystem-direct.php
  172. +0 −387 3.0/wp-admin/includes/class-wp-filesystem-ftpext.php
  173. +0 −327 3.0/wp-admin/includes/class-wp-filesystem-ftpsockets.php
  174. +0 −383 3.0/wp-admin/includes/class-wp-filesystem-ssh2.php
  175. +0 −311 3.0/wp-admin/includes/class-wp-importer.php
  176. +0 −1,455 3.0/wp-admin/includes/class-wp-upgrader.php
  177. +0 −167 3.0/wp-admin/includes/comment.php
  178. +0 −493 3.0/wp-admin/includes/continents-cities.php
  179. +0 −1,042 3.0/wp-admin/includes/dashboard.php
  180. +0 −200 3.0/wp-admin/includes/deprecated.php
  181. +0 −409 3.0/wp-admin/includes/export.php
  182. +0 −1,050 3.0/wp-admin/includes/file.php
  183. +0 −667 3.0/wp-admin/includes/image-edit.php
  184. +0 −341 3.0/wp-admin/includes/image.php
  185. +0 −92 3.0/wp-admin/includes/import.php
Sorry, we could not display the entire diff because too many files (752) changed.
18 3.0/index.php
View
@@ -1,18 +0,0 @@
-<?php
-/**
- * Front to the WordPress application. This file doesn't do anything, but loads
- * wp-blog-header.php which does and tells WordPress to load the theme.
- *
- * @package WordPress
- */
-
-/**
- * Tells WordPress to load the WordPress theme and output it.
- *
- * @var bool
- */
-define('WP_USE_THEMES', true);
-
-/** Loads the WordPress Environment and Template */
-require('./wp-blog-header.php');
-?>
281 3.0/license.txt
View
@@ -1,281 +0,0 @@
- GNU GENERAL PUBLIC LICENSE
- Version 2, June 1991
-
- Copyright (C) 1989, 1991 Free Software Foundation, Inc.
- 51 Franklin St, Fifth Floor, Boston, MA 02110, USA
-
- Everyone is permitted to copy and distribute verbatim copies
- of this license document, but changing it is not allowed.
-
- Preamble
-
- The licenses for most software are designed to take away your
-freedom to share and change it. By contrast, the GNU General Public
-License is intended to guarantee your freedom to share and change free
-software--to make sure the software is free for all its users. This
-General Public License applies to most of the Free Software
-Foundation's software and to any other program whose authors commit to
-using it. (Some other Free Software Foundation software is covered by
-the GNU Library General Public License instead.) You can apply it to
-your programs, too.
-
- When we speak of free software, we are referring to freedom, not
-price. Our General Public Licenses are designed to make sure that you
-have the freedom to distribute copies of free software (and charge for
-this service if you wish), that you receive source code or can get it
-if you want it, that you can change the software or use pieces of it
-in new free programs; and that you know you can do these things.
-
- To protect your rights, we need to make restrictions that forbid
-anyone to deny you these rights or to ask you to surrender the rights.
-These restrictions translate to certain responsibilities for you if you
-distribute copies of the software, or if you modify it.
-
- For example, if you distribute copies of such a program, whether
-gratis or for a fee, you must give the recipients all the rights that
-you have. You must make sure that they, too, receive or can get the
-source code. And you must show them these terms so they know their
-rights.
-
- We protect your rights with two steps: (1) copyright the software, and
-(2) offer you this license which gives you legal permission to copy,
-distribute and/or modify the software.
-
- Also, for each author's protection and ours, we want to make certain
-that everyone understands that there is no warranty for this free
-software. If the software is modified by someone else and passed on, we
-want its recipients to know that what they have is not the original, so
-that any problems introduced by others will not reflect on the original
-authors' reputations.
-
- Finally, any free program is threatened constantly by software
-patents. We wish to avoid the danger that redistributors of a free
-program will individually obtain patent licenses, in effect making the
-program proprietary. To prevent this, we have made it clear that any
-patent must be licensed for everyone's free use or not licensed at all.
-
- The precise terms and conditions for copying, distribution and
-modification follow.
-
- GNU GENERAL PUBLIC LICENSE
- TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
-
- 0. This License applies to any program or other work which contains
-a notice placed by the copyright holder saying it may be distributed
-under the terms of this General Public License. The "Program", below,
-refers to any such program or work, and a "work based on the Program"
-means either the Program or any derivative work under copyright law:
-that is to say, a work containing the Program or a portion of it,
-either verbatim or with modifications and/or translated into another
-language. (Hereinafter, translation is included without limitation in
-the term "modification".) Each licensee is addressed as "you".
-
-Activities other than copying, distribution and modification are not
-covered by this License; they are outside its scope. The act of
-running the Program is not restricted, and the output from the Program
-is covered only if its contents constitute a work based on the
-Program (independent of having been made by running the Program).
-Whether that is true depends on what the Program does.
-
- 1. You may copy and distribute verbatim copies of the Program's
-source code as you receive it, in any medium, provided that you
-conspicuously and appropriately publish on each copy an appropriate
-copyright notice and disclaimer of warranty; keep intact all the
-notices that refer to this License and to the absence of any warranty;
-and give any other recipients of the Program a copy of this License
-along with the Program.
-
-You may charge a fee for the physical act of transferring a copy, and
-you may at your option offer warranty protection in exchange for a fee.
-
- 2. You may modify your copy or copies of the Program or any portion
-of it, thus forming a work based on the Program, and copy and
-distribute such modifications or work under the terms of Section 1
-above, provided that you also meet all of these conditions:
-
- a) You must cause the modified files to carry prominent notices
- stating that you changed the files and the date of any change.
-
- b) You must cause any work that you distribute or publish, that in
- whole or in part contains or is derived from the Program or any
- part thereof, to be licensed as a whole at no charge to all third
- parties under the terms of this License.
-
- c) If the modified program normally reads commands interactively
- when run, you must cause it, when started running for such
- interactive use in the most ordinary way, to print or display an
- announcement including an appropriate copyright notice and a
- notice that there is no warranty (or else, saying that you provide
- a warranty) and that users may redistribute the program under
- these conditions, and telling the user how to view a copy of this
- License. (Exception: if the Program itself is interactive but
- does not normally print such an announcement, your work based on
- the Program is not required to print an announcement.)
-
-These requirements apply to the modified work as a whole. If
-identifiable sections of that work are not derived from the Program,
-and can be reasonably considered independent and separate works in
-themselves, then this License, and its terms, do not apply to those
-sections when you distribute them as separate works. But when you
-distribute the same sections as part of a whole which is a work based
-on the Program, the distribution of the whole must be on the terms of
-this License, whose permissions for other licensees extend to the
-entire whole, and thus to each and every part regardless of who wrote it.
-Thus, it is not the intent of this section to claim rights or contest
-your rights to work written entirely by you; rather, the intent is to
-exercise the right to control the distribution of derivative or
-collective works based on the Program.
-
-In addition, mere aggregation of another work not based on the Program
-with the Program (or with a work based on the Program) on a volume of
-a storage or distribution medium does not bring the other work under
-the scope of this License.
-
- 3. You may copy and distribute the Program (or a work based on it,
-under Section 2) in object code or executable form under the terms of
-Sections 1 and 2 above provided that you also do one of the following:
-
- a) Accompany it with the complete corresponding machine-readable
- source code, which must be distributed under the terms of Sections
- 1 and 2 above on a medium customarily used for software interchange; or,
-
- b) Accompany it with a written offer, valid for at least three
- years, to give any third party, for a charge no more than your
- cost of physically performing source distribution, a complete
- machine-readable copy of the corresponding source code, to be
- distributed under the terms of Sections 1 and 2 above on a medium
- customarily used for software interchange; or,
-
- c) Accompany it with the information you received as to the offer
- to distribute corresponding source code. (This alternative is
- allowed only for noncommercial distribution and only if you
- received the program in object code or executable form with such
- an offer, in accord with Subsection b above.)
-
-The source code for a work means the preferred form of the work for
-making modifications to it. For an executable work, complete source
-code means all the source code for all modules it contains, plus any
-associated interface definition files, plus the scripts used to
-control compilation and installation of the executable. However, as a
-special exception, the source code distributed need not include
-anything that is normally distributed (in either source or binary
-form) with the major components (compiler, kernel, and so on) of the
-operating system on which the executable runs, unless that component
-itself accompanies the executable.
-
-If distribution of executable or object code is made by offering
-access to copy from a designated place, then offering equivalent
-access to copy the source code from the same place counts as
-distribution of the source code, even though third parties are not
-compelled to copy the source along with the object code.
-
- 4. You may not copy, modify, sublicense, or distribute the Program
-except as expressly provided under this License. Any attempt
-otherwise to copy, modify, sublicense or distribute the Program is
-void, and will automatically terminate your rights under this License.
-However, parties who have received copies, or rights, from you under
-this License will not have their licenses terminated so long as such
-parties remain in full compliance.
-
- 5. You are not required to accept this License, since you have not
-signed it. However, nothing else grants you permission to modify or
-distribute the Program or its derivative works. These actions are
-prohibited by law if you do not accept this License. Therefore, by
-modifying or distributing the Program (or any work based on the
-Program), you indicate your acceptance of this License to do so, and
-all its terms and conditions for copying, distributing or modifying
-the Program or works based on it.
-
- 6. Each time you redistribute the Program (or any work based on the
-Program), the recipient automatically receives a license from the
-original licensor to copy, distribute or modify the Program subject to
-these terms and conditions. You may not impose any further
-restrictions on the recipients' exercise of the rights granted herein.
-You are not responsible for enforcing compliance by third parties to
-this License.
-
- 7. If, as a consequence of a court judgment or allegation of patent
-infringement or for any other reason (not limited to patent issues),
-conditions are imposed on you (whether by court order, agreement or
-otherwise) that contradict the conditions of this License, they do not
-excuse you from the conditions of this License. If you cannot
-distribute so as to satisfy simultaneously your obligations under this
-License and any other pertinent obligations, then as a consequence you
-may not distribute the Program at all. For example, if a patent
-license would not permit royalty-free redistribution of the Program by
-all those who receive copies directly or indirectly through you, then
-the only way you could satisfy both it and this License would be to
-refrain entirely from distribution of the Program.
-
-If any portion of this section is held invalid or unenforceable under
-any particular circumstance, the balance of the section is intended to
-apply and the section as a whole is intended to apply in other
-circumstances.
-
-It is not the purpose of this section to induce you to infringe any
-patents or other property right claims or to contest validity of any
-such claims; this section has the sole purpose of protecting the
-integrity of the free software distribution system, which is
-implemented by public license practices. Many people have made
-generous contributions to the wide range of software distributed
-through that system in reliance on consistent application of that
-system; it is up to the author/donor to decide if he or she is willing
-to distribute software through any other system and a licensee cannot
-impose that choice.
-
-This section is intended to make thoroughly clear what is believed to
-be a consequence of the rest of this License.
-
- 8. If the distribution and/or use of the Program is restricted in
-certain countries either by patents or by copyrighted interfaces, the
-original copyright holder who places the Program under this License
-may add an explicit geographical distribution limitation excluding
-those countries, so that distribution is permitted only in or among
-countries not thus excluded. In such case, this License incorporates
-the limitation as if written in the body of this License.
-
- 9. The Free Software Foundation may publish revised and/or new versions
-of the General Public License from time to time. Such new versions will
-be similar in spirit to the present version, but may differ in detail to
-address new problems or concerns.
-
-Each version is given a distinguishing version number. If the Program
-specifies a version number of this License which applies to it and "any
-later version", you have the option of following the terms and conditions
-either of that version or of any later version published by the Free
-Software Foundation. If the Program does not specify a version number of
-this License, you may choose any version ever published by the Free Software
-Foundation.
-
- 10. If you wish to incorporate parts of the Program into other free
-programs whose distribution conditions are different, write to the author
-to ask for permission. For software which is copyrighted by the Free
-Software Foundation, write to the Free Software Foundation; we sometimes
-make exceptions for this. Our decision will be guided by the two goals
-of preserving the free status of all derivatives of our free software and
-of promoting the sharing and reuse of software generally.
-
- NO WARRANTY
-
- 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
-FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
-OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
-PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
-OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
-MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
-TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
-PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
-REPAIR OR CORRECTION.
-
- 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
-WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
-REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
-INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
-OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
-TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
-YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
-PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
-POSSIBILITY OF SUCH DAMAGES.
-
- END OF TERMS AND CONDITIONS
-
109 3.0/readme.html
View
@@ -1,109 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>WordPress &#8250; ReadMe</title>
- <link rel="stylesheet" href="wp-admin/css/install.css?ver=20100228" type="text/css" />
-</head>
-<body>
-<h1 id="logo">
- <a href="http://wordpress.org/"><img alt="WordPress" src="wp-admin/images/wordpress-logo.png" width="250" height="68" /></a>
- <br /> Version 3.0.3
-</h1>
-<p style="text-align: center">Semantic Personal Publishing Platform</p>
-
-<h1>First Things First</h1>
-<p>Welcome. WordPress is a very special project to me. Every developer and contributor adds something unique to the mix, and together we create something beautiful that I'm proud to be a part of. Thousands of hours have gone into WordPress, and we're dedicated to making it better every day. Thank you for making it part of your world.</p>
-<p style="text-align: right">&#8212; Matt Mullenweg</p>
-
-<h1>Installation: Famous 5-minute install</h1>
-<ol>
- <li>Unzip the package in an empty directory and upload everything.</li>
- <li>Open <span class="file"><a href="wp-admin/install.php">wp-admin/install.php</a></span> in your browser. It will take you through the process to set up a <code>wp-config.php</code> file with your database connection details.
- <ol>
- <li>If for some reason this doesn't work, don't worry. It doesn't work on all web hosts. Open up <code>wp-config-sample.php</code> with a text editor like WordPad or similar and fill in your database connection details.</li>
- <li>Save the file as <code>wp-config.php</code> and upload it.</li>
- <li>Open <span class="file"><a href="wp-admin/install.php">wp-admin/install.php</a></span> in your browser.</li>
- </ol>
- </li>
- <li>Once the configuration file is set up, the installer will set up the tables needed for your blog. If there is an error, double check your <code>wp-config.php</code> file, and try again. If it fails again, please go to the <a href="http://wordpress.org/support/" title="WordPress support">support forums</a> with as much data as you can gather.</li>
- <li><strong>If you did not enter a password, note the password given to you.</strong> If you did not provide a username, it will be <code>admin</code>.</li>
- <li>The installer should then send you to the <a href="wp-login.php">login page</a>. Sign in with the username and password you chose during the installation. If a password was generated for you, you can then click on 'Profile' to change the password.</li>
-</ol>
-
-<h1>Upgrading</h1>
-<h2>Using the Automatic Upgrader</h2>
-<p>If you are upgrading from version 2.7 or higher, you can use the automatic upgrader:</p>
-<ol>
- <li>Open the <span class="file"><a href="wp-admin/update-core.php">wp-admin/update-core.php</a></span> in your browser and follow the instructions.</li>
- <li>You wanted more, perhaps? That's it!</li>
-</ol>
-
-<h2>Upgrading Manually</h2>
-<ol>
- <li>Before you upgrade anything, make sure you have backup copies of any files you may have modified such as <code>index.php</code>.</li>
- <li>Delete your old WordPress files, saving ones you've modified.</li>
- <li>Upload the new files.</li>
- <li>Point your browser to <span class="file"><a href="wp-admin/upgrade.php">/wp-admin/upgrade.php</a>.</span></li>
-</ol>
-
-<h2>Theme Template Changes</h2>
-<p>If you have customized your theme templates, you may have to make some changes across major versions.</p>
-
-<h1>Migrating from other systems</h1>
-<p>WordPress can <a href="http://codex.wordpress.org/Importing_Content">import from a number of systems</a>. First you need to get WordPress installed and working as described above, before using <a href="wp-admin/import.php" title="Import to WordPress">our import tools</a>.</p>
-
-<h1>System Requirements</h1>
-<ul>
- <li><a href="http://php.net/">PHP</a> version <strong>4.3</strong> or higher.</li>
- <li><a href="http://www.mysql.com/">MySQL</a> version <strong>4.1.2</strong> or higher.</li>
-</ul>
-
-<h2>System Recommendations</h2>
-<ul>
- <li>The <a href="http://httpd.apache.org/docs/2.2/mod/mod_rewrite.html">mod_rewrite</a> Apache module.</li>
- <li>A link to <a href="http://wordpress.org/">http://wordpress.org</a> on your site.</li>
-</ul>
-
-<h1>Online Resources</h1>
-<p>If you have any questions that aren't addressed in this document, please take advantage of WordPress' numerous online resources:</p>
-<dl>
- <dt><a href="http://codex.wordpress.org/">The WordPress Codex</a></dt>
- <dd>The Codex is the encyclopedia of all things WordPress. It is the most comprehensive source of information for WordPress available.</dd>
- <dt><a href="http://wordpress.org/news/">The WordPress Blog</a></dt>
- <dd>This is where you'll find the latest updates and news related to WordPress. Recent WordPress news appears in your administrative dashboard by default.</dd>
- <dt><a href="http://planet.wordpress.org/">WordPress Planet</a></dt>
- <dd>The WordPress Planet is a news aggregator that brings together posts from WordPress blogs around the web.</dd>
- <dt><a href="http://wordpress.org/support/">WordPress Support Forums</a></dt>
- <dd>If you've looked everywhere and still can't find an answer, the support forums are very active and have a large community ready to help. To help them help you be sure to use a descriptive thread title and describe your question in as much detail as possible.</dd>
- <dt><a href="http://codex.wordpress.org/IRC">WordPress <abbr title="Internet Relay Chat">IRC</abbr> Channel</a></dt>
- <dd>There is an online chat channel that is used for discussion among people who use WordPress and occasionally support topics. The above wiki page should point you in the right direction. (<a href="irc://irc.freenode.net/wordpress">irc.freenode.net #wordpress</a>)</dd>
-</dl>
-
-<h1><abbr title="eXtensible Markup Language">XML</abbr>-<abbr title="Remote Procedure Call">RPC</abbr> and Atom Interface</h1>
-<p>You can post to your WordPress blog with tools like <a href="http://download.live.com/writer">Windows Live Writer</a>, <a href="http://illuminex.com/ecto/">Ecto</a>, <a href="http://bloggar.com/">w.bloggar</a>, <a href="http://radio.userland.com/">Radio Userland</a> (which means you can use Radio's email-to-blog feature), <a href="http://www.newzcrawler.com/">NewzCrawler</a>, and other tools that support the blogging <abbr title="application programming interface">API</abbr>s! :) You can read more about <a href="http://codex.wordpress.org/XML-RPC_Support"><abbr>XML</abbr>-<abbr>RPC</abbr> support on the Codex</a>.</p>
-
-<h1>Post via Email</h1>
-<p>You can post from an email client! To set this up go to your &quot;Writing&quot; options screen and fill in the connection details for your secret <abbr title="Post Office Protocol version 3">POP3</abbr> account. Then you need to set up <code>wp-mail.php</code> to execute periodically to check the mailbox for new posts. You can do it with <a href="http://en.wikipedia.org/wiki/Cron">cron</a>-jobs, or if your host doesn't support it you can look into the various website-monitoring services, and make them check your <code>wp-mail.php</code> <abbr title="Uniform Resource Locator">URL</abbr>.</p>
-<p>Posting is easy: Any email sent to the address you specify will be posted, with the subject as the title. It is best to keep the address discrete. The script will <em>delete</em> emails that are successfully posted.</p>
-
-<h1>User Roles</h1>
-<p>We introduced a very flexible roles system in version 2.0. You can <a href="http://codex.wordpress.org/Roles_and_Capabilities" title="WordPress roles and capabilities">read more about Roles and Capabilities on the Codex</a>.</p>
-
-<h1>Final Notes</h1>
-<ul>
- <li>If you have any suggestions, ideas, or comments, or if you (gasp!) found a bug, join us in the <a href="http://wordpress.org/support/">Support Forums</a>.</li>
- <li>WordPress has a robust plugin <abbr title="application programming interface">API</abbr> that makes extending the code easy. If you are a developer interested in utilizing this, see the <a href="http://codex.wordpress.org/Plugin_API" title="WordPress plugin API">plugin documentation in the Codex</a>. You shouldn't modify any of the core code.</li>
-</ul>
-
-<h1>Share the Love</h1>
-<p>WordPress has no multi-million dollar marketing campaign or celebrity sponsors, but we do have something even better&#8212;you. If you enjoy WordPress please consider telling a friend, setting it up for someone less knowledgable than yourself, or writing the author of a media article that overlooks us.</p>
-
-<p>WordPress is the official continuation of <a href="http://cafelog.com/">b2/caf&#233;log</a>, which came from Michel V. The work has been continued by the <a href="http://wordpress.org/about/">WordPress developers</a>. If you would like to support WordPress, please consider <a href="http://wordpress.org/donate/" title="Donate to WordPress">donating</a>.</p>
-
-<h1>Copyright</h1>
-<p>WordPress is released under the <abbr title="GNU Public License">GPL</abbr> (see <a href="license.txt">license.txt</a>).</p>
-
-
-</body>
-</html>
104 3.0/wp-activate.php
View
@@ -1,104 +0,0 @@
-<?php
-define( "WP_INSTALLING", true );
-
-/** Sets up the WordPress Environment. */
-require( dirname(__FILE__) . '/wp-load.php' );
-
-require( './wp-blog-header.php' );
-
-if ( !is_multisite() ) {
- wp_redirect( get_option( 'siteurl' ) . "/wp-login.php?action=register" );
- die();
-}
-
-require_once( ABSPATH . WPINC . '/registration.php');
-
-if ( is_object( $wp_object_cache ) )
- $wp_object_cache->cache_enabled = false;
-
-do_action("activate_header");
-
-function do_activate_header() {
- do_action("activate_wp_head");
-}
-add_action( 'wp_head', 'do_activate_header' );
-
-function wpmu_activate_stylesheet() {
- ?>
- <style type="text/css">
- form { margin-top: 2em; }
- #submit, #key { width: 90%; font-size: 24px; }
- #language { margin-top: .5em; }
- .error { background: #f66; }
- span.h3 { padding:0 8px; font-size:1.3em; font-family:'Trebuchet MS','Lucida Grande',Verdana,Arial,Sans-Serif; font-weight:700; color:#333333; }
- </style>
- <?php
-}
-add_action( 'wp_head', 'wpmu_activate_stylesheet' );
-
-get_header();
-?>
-
-<div id="content" class="widecolumn">
- <?php if ( empty($_GET['key']) && empty($_POST['key']) ) { ?>
-
- <h2><?php _e('Activation Key Required') ?></h2>
- <form name="activateform" id="activateform" method="post" action="<?php echo network_site_url('wp-activate.php'); ?>">
- <p>
- <label for="key"><?php _e('Activation Key:') ?></label>
- <br /><input type="text" name="key" id="key" value="" size="50" />
- </p>
- <p class="submit">
- <input id="submit" type="submit" name="Submit" class="submit" value="<?php esc_attr_e('Activate') ?>" />
- </p>
- </form>
-
- <?php } else {
-
- $key = !empty($_GET['key']) ? $_GET['key'] : $_POST['key'];
- $result = wpmu_activate_signup($key);
- if ( is_wp_error($result) ) {
- if ( 'already_active' == $result->get_error_code() || 'blog_taken' == $result->get_error_code() ) {
- $signup = $result->get_error_data();
- ?>
- <h2><?php _e('Your account is now active!'); ?></h2>
- <?php
- echo '<p class="lead-in">';
- if ( $signup->domain . $signup->path == '' ) {
- printf( __('Your account has been activated. You may now <a href="%1$s">login</a> to the site using your chosen username of &#8220;%2$s&#8221;. Please check your email inbox at %3$s for your password and login instructions. If you do not receive an email, please check your junk or spam folder. If you still do not receive an email within an hour, you can <a href="%4$s">reset your password</a>.'), network_site_url( 'wp-login.php', 'login' ), $signup->user_login, $signup->user_email, network_site_url( 'wp-login.php?action=lostpassword', 'login' ) );
- } else {
- printf( __('Your site at <a href="%1$s">%2$s</a> is active. You may now log in to your site using your chosen username of &#8220;%3$s&#8221;. Please check your email inbox at %4$s for your password and login instructions. If you do not receive an email, please check your junk or spam folder. If you still do not receive an email within an hour, you can <a href="%5$s">reset your password</a>.'), 'http://' . $signup->domain, $signup->domain, $signup->user_login, $signup->user_email, network_site_url( 'wp-login.php?action=lostpassword' ) );
- }
- echo '</p>';
- } else {
- ?>
- <h2><?php _e('An error occurred during the activation'); ?></h2>
- <?php
- echo '<p>'.$result->get_error_message().'</p>';
- }
- } else {
- extract($result);
- $url = get_blogaddress_by_id( (int) $blog_id);
- $user = new WP_User( (int) $user_id);
- ?>
- <h2><?php _e('Your account is now active!'); ?></h2>
-
- <div id="signup-welcome">
- <p><span class="h3"><?php _e('Username:'); ?></span> <?php echo $user->user_login ?></p>
- <p><span class="h3"><?php _e('Password:'); ?></span> <?php echo $password; ?></p>
- </div>
-
- <?php if ( $url != network_home_url('', 'http') ) : ?>
- <p class="view"><?php printf( __('Your account is now activated. <a href="%1$s">View your site</a> or <a href="%2$s">Login</a>'), $url, $url . 'wp-login.php' ); ?></p>
- <?php else: ?>
- <p class="view"><?php printf( __('Your account is now activated. <a href="%1$s">Login</a> or go back to the <a href="%2$s">homepage</a>.' ), network_site_url('wp-login.php', 'login'), network_home_url() ); ?></p>
- <?php endif;
- }
- }
- ?>
-</div>
-<script type="text/javascript">
- var key_input = document.getElementById('key');
- key_input && key_input.focus();
-</script>
-<?php get_footer(); ?>
1,535 3.0/wp-admin/admin-ajax.php
View
@@ -1,1535 +0,0 @@
-<?php
-/**
- * WordPress AJAX Process Execution.
- *
- * @package WordPress
- * @subpackage Administration
- */
-
-/**
- * Executing AJAX process.
- *
- * @since unknown
- */
-define('DOING_AJAX', true);
-define('WP_ADMIN', true);
-
-require_once('../wp-load.php');
-
-if ( ! isset( $_REQUEST['action'] ) )
- die('-1');
-
-require_once('./includes/admin.php');
-@header('Content-Type: text/html; charset=' . get_option('blog_charset'));
-send_nosniff_header();
-
-do_action('admin_init');
-
-if ( ! is_user_logged_in() ) {
-
- if ( isset( $_POST['action'] ) && $_POST['action'] == 'autosave' ) {
- $id = isset($_POST['post_ID'])? (int) $_POST['post_ID'] : 0;
-
- if ( ! $id )
- die('-1');
-
- $message = sprintf( __('<strong>ALERT: You are logged out!</strong> Could not save draft. <a href="%s" target="_blank">Please log in again.</a>'), wp_login_url() );
- $x = new WP_Ajax_Response( array(
- 'what' => 'autosave',
- 'id' => $id,
- 'data' => $message
- ) );
- $x->send();
- }
-
- if ( !empty( $_REQUEST['action'] ) )
- do_action( 'wp_ajax_nopriv_' . $_REQUEST['action'] );
-
- die('-1');
-}
-
-if ( isset( $_GET['action'] ) ) :
-switch ( $action = $_GET['action'] ) :
-case 'ajax-tag-search' :
- if ( !current_user_can( 'edit_posts' ) )
- die('-1');
-
- $s = $_GET['q']; // is this slashed already?
-
- if ( isset($_GET['tax']) )
- $taxonomy = sanitize_title($_GET['tax']);
- else
- die('0');
-
- if ( false !== strpos( $s, ',' ) ) {
- $s = explode( ',', $s );
- $s = $s[count( $s ) - 1];
- }
- $s = trim( $s );
- if ( strlen( $s ) < 2 )
- die; // require 2 chars for matching
-
- $results = $wpdb->get_col( "SELECT t.name FROM $wpdb->term_taxonomy AS tt INNER JOIN $wpdb->terms AS t ON tt.term_id = t.term_id WHERE tt.taxonomy = '$taxonomy' AND t.name LIKE ('%" . $s . "%')" );
-
- echo join( $results, "\n" );
- die;
- break;
-case 'wp-compression-test' :
- if ( !current_user_can( 'manage_options' ) )
- die('-1');
-
- if ( ini_get('zlib.output_compression') || 'ob_gzhandler' == ini_get('output_handler') ) {
- update_site_option('can_compress_scripts', 0);
- die('0');
- }
-
- if ( isset($_GET['test']) ) {
- 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' );
- header('Content-Type: application/x-javascript; charset=UTF-8');
- $force_gzip = ( defined('ENFORCE_GZIP') && ENFORCE_GZIP );
- $test_str = '"wpCompressionTest Lorem ipsum dolor sit amet consectetuer mollis sapien urna ut a. Eu nonummy condimentum fringilla tempor pretium platea vel nibh netus Maecenas. Hac molestie amet justo quis pellentesque est ultrices interdum nibh Morbi. Cras mattis pretium Phasellus ante ipsum ipsum ut sociis Suspendisse Lorem. Ante et non molestie. Porta urna Vestibulum egestas id congue nibh eu risus gravida sit. Ac augue auctor Ut et non a elit massa id sodales. Elit eu Nulla at nibh adipiscing mattis lacus mauris at tempus. Netus nibh quis suscipit nec feugiat eget sed lorem et urna. Pellentesque lacus at ut massa consectetuer ligula ut auctor semper Pellentesque. Ut metus massa nibh quam Curabitur molestie nec mauris congue. Volutpat molestie elit justo facilisis neque ac risus Ut nascetur tristique. Vitae sit lorem tellus et quis Phasellus lacus tincidunt nunc Fusce. Pharetra wisi Suspendisse mus sagittis libero lacinia Integer consequat ac Phasellus. Et urna ac cursus tortor aliquam Aliquam amet tellus volutpat Vestibulum. Justo interdum condimentum In augue congue tellus sollicitudin Quisque quis nibh."';
-
- if ( 1 == $_GET['test'] ) {
- echo $test_str;
- die;
- } elseif ( 2 == $_GET['test'] ) {
- if ( !isset($_SERVER['HTTP_ACCEPT_ENCODING']) )
- die('-1');
- if ( false !== stripos( $_SERVER['HTTP_ACCEPT_ENCODING'], 'deflate') && function_exists('gzdeflate') && ! $force_gzip ) {
- header('Content-Encoding: deflate');
- $out = gzdeflate( $test_str, 1 );
- } elseif ( false !== stripos( $_SERVER['HTTP_ACCEPT_ENCODING'], 'gzip') && function_exists('gzencode') ) {
- header('Content-Encoding: gzip');
- $out = gzencode( $test_str, 1 );
- } else {
- die('-1');
- }
- echo $out;
- die;
- } elseif ( 'no' == $_GET['test'] ) {
- update_site_option('can_compress_scripts', 0);
- } elseif ( 'yes' == $_GET['test'] ) {
- update_site_option('can_compress_scripts', 1);
- }
- }
-
- die('0');
- break;
-case 'imgedit-preview' :
- $post_id = intval($_GET['postid']);
- if ( empty($post_id) || !current_user_can('edit_post', $post_id) )
- die('-1');
-
- check_ajax_referer( "image_editor-$post_id" );
-
- include_once( ABSPATH . 'wp-admin/includes/image-edit.php' );
- if ( ! stream_preview_image($post_id) )
- die('-1');
-
- die();
- break;
-case 'menu-quick-search':
- if ( ! current_user_can( 'edit_theme_options' ) )
- die('-1');
-
- require_once ABSPATH . 'wp-admin/includes/nav-menu.php';
-
- _wp_ajax_menu_quick_search( $_REQUEST );
-
- exit;
- break;
-case 'oembed-cache' :
- $return = ( $wp_embed->cache_oembed( $_GET['post'] ) ) ? '1' : '0';
- die( $return );
- break;
-default :
- do_action( 'wp_ajax_' . $_GET['action'] );
- die('0');
- break;
-endswitch;
-endif;
-
-/**
- * Sends back current comment total and new page links if they need to be updated.
- *
- * Contrary to normal success AJAX response ("1"), die with time() on success.
- *
- * @since 2.7
- *
- * @param int $comment_id
- * @return die
- */
-function _wp_ajax_delete_comment_response( $comment_id ) {
- $total = (int) @$_POST['_total'];
- $per_page = (int) @$_POST['_per_page'];
- $page = (int) @$_POST['_page'];
- $url = esc_url_raw( @$_POST['_url'] );
- // JS didn't send us everything we need to know. Just die with success message
- if ( !$total || !$per_page || !$page || !$url )
- die( (string) time() );
-
- if ( --$total < 0 ) // Take the total from POST and decrement it (since we just deleted one)
- $total = 0;
-
- if ( 0 != $total % $per_page && 1 != mt_rand( 1, $per_page ) ) // Only do the expensive stuff on a page-break, and about 1 other time per page
- die( (string) time() );
-
- $post_id = 0;
- $status = 'total_comments'; // What type of comment count are we looking for?
- $parsed = parse_url( $url );
- if ( isset( $parsed['query'] ) ) {
- parse_str( $parsed['query'], $query_vars );
- if ( !empty( $query_vars['comment_status'] ) )
- $status = $query_vars['comment_status'];
- if ( !empty( $query_vars['p'] ) )
- $post_id = (int) $query_vars['p'];
- }
-
- $comment_count = wp_count_comments($post_id);
- $time = time(); // The time since the last comment count
-
- if ( isset( $comment_count->$status ) ) // We're looking for a known type of comment count
- $total = $comment_count->$status;
- // else use the decremented value from above
-
- $page_links = paginate_links( array(
- 'base' => add_query_arg( 'apage', '%#%', $url ),
- 'format' => '',
- 'prev_text' => __('&laquo;'),
- 'next_text' => __('&raquo;'),
- 'total' => ceil($total / $per_page),
- 'current' => $page
- ) );
- $x = new WP_Ajax_Response( array(
- 'what' => 'comment',
- 'id' => $comment_id, // here for completeness - not used
- 'supplemental' => array(
- 'pageLinks' => $page_links,
- 'total' => $total,
- 'time' => $time
- )
- ) );
- $x->send();
-}
-
-function _wp_ajax_add_hierarchical_term() {
- $action = $_POST['action'];
- $taxonomy = get_taxonomy(substr($action, 4));
- check_ajax_referer( $action, '_ajax_nonce-add-' . $taxonomy->name );
- if ( !current_user_can( $taxonomy->cap->edit_terms ) )
- die('-1');
- $names = explode(',', $_POST['new'.$taxonomy->name]);
- $parent = isset($_POST['new'.$taxonomy->name.'_parent']) ? (int) $_POST['new'.$taxonomy->name.'_parent'] : 0;
- if ( 0 > $parent )
- $parent = 0;
- if ( $taxonomy->name == 'category' )
- $post_category = isset($_POST['post_category']) ? (array) $_POST['post_category'] : array();
- else
- $post_category = ( isset($_POST['tax_input']) && isset($_POST['tax_input'][$taxonomy->name]) ) ? (array) $_POST['tax_input'][$taxonomy->name] : array();
- $checked_categories = array_map( 'absint', (array) $post_category );
- $popular_ids = wp_popular_terms_checklist($taxonomy->name, 0, 10, false);
-
- foreach ( $names as $cat_name ) {
- $cat_name = trim($cat_name);
- $category_nicename = sanitize_title($cat_name);
- if ( '' === $category_nicename )
- continue;
- if ( !($cat_id = term_exists($cat_name, $taxonomy->name, $parent)) ) {
- $new_term = wp_insert_term($cat_name, $taxonomy->name, array('parent' => $parent));
- $cat_id = $new_term['term_id'];
- }
- $checked_categories[] = $cat_id;
- if ( $parent ) // Do these all at once in a second
- continue;
- $category = get_term( $cat_id, $taxonomy->name );
- ob_start();
- wp_terms_checklist( 0, array( 'taxonomy' => $taxonomy->name, 'descendants_and_self' => $cat_id, 'selected_cats' => $checked_categories, 'popular_cats' => $popular_ids ));
- $data = ob_get_contents();
- ob_end_clean();
- $add = array(
- 'what' => $taxonomy->name,
- 'id' => $cat_id,
- 'data' => str_replace( array("\n", "\t"), '', $data),
- 'position' => -1
- );
- }
-
- if ( $parent ) { // Foncy - replace the parent and all its children
- $parent = get_term( $parent, $taxonomy->name );
- $term_id = $parent->term_id;
-
- while ( $parent->parent ) { // get the top parent
- $parent = &get_term( $parent->parent, $taxonomy->name );
- if ( is_wp_error( $parent ) )
- break;
- $term_id = $parent->term_id;
- }
-
- ob_start();
- wp_terms_checklist( 0, array('taxonomy' => $taxonomy->name, 'descendants_and_self' => $term_id, 'selected_cats' => $checked_categories, 'popular_cats' => $popular_ids));
- $data = ob_get_contents();
- ob_end_clean();
- $add = array(
- 'what' => $taxonomy->name,
- 'id' => $term_id,
- 'data' => str_replace( array("\n", "\t"), '', $data),
- 'position' => -1
- );
- }
-
- ob_start();
- wp_dropdown_categories( array(
- 'taxonomy' => $taxonomy->name, 'hide_empty' => 0, 'name' => 'new'.$taxonomy->name.'_parent', 'orderby' => 'name',
- 'hierarchical' => 1, 'show_option_none' => '&mdash; '.$taxonomy->labels->parent_item.' &mdash;'
- ) );
- $sup = ob_get_contents();
- ob_end_clean();
- $add['supplemental'] = array( 'newcat_parent' => $sup );
-
- $x = new WP_Ajax_Response( $add );
- $x->send();
-}
-
-$id = isset($_POST['id'])? (int) $_POST['id'] : 0;
-switch ( $action = $_POST['action'] ) :
-case 'delete-comment' : // On success, die with time() instead of 1
- if ( !$comment = get_comment( $id ) )
- die( (string) time() );
- if ( !current_user_can( 'edit_post', $comment->comment_post_ID ) )
- die('-1');
-
- check_ajax_referer( "delete-comment_$id" );
- $status = wp_get_comment_status( $comment->comment_ID );
-
- if ( isset($_POST['trash']) && 1 == $_POST['trash'] ) {
- if ( 'trash' == $status )
- die( (string) time() );
- $r = wp_trash_comment( $comment->comment_ID );
- } elseif ( isset($_POST['untrash']) && 1 == $_POST['untrash'] ) {
- if ( 'trash' != $status )
- die( (string) time() );
- $r = wp_untrash_comment( $comment->comment_ID );
- } elseif ( isset($_POST['spam']) && 1 == $_POST['spam'] ) {
- if ( 'spam' == $status )
- die( (string) time() );
- $r = wp_spam_comment( $comment->comment_ID );
- } elseif ( isset($_POST['unspam']) && 1 == $_POST['unspam'] ) {
- if ( 'spam' != $status )
- die( (string) time() );
- $r = wp_unspam_comment( $comment->comment_ID );
- } elseif ( isset($_POST['delete']) && 1 == $_POST['delete'] ) {
- $r = wp_delete_comment( $comment->comment_ID );
- } else {
- die('-1');
- }
-
- if ( $r ) // Decide if we need to send back '1' or a more complicated response including page links and comment counts
- _wp_ajax_delete_comment_response( $comment->comment_ID );
- die( '0' );
- break;
-case 'delete-tag' :
- $tag_id = (int) $_POST['tag_ID'];
- check_ajax_referer( "delete-tag_$tag_id" );
-
- $taxonomy = !empty($_POST['taxonomy']) ? $_POST['taxonomy'] : 'post_tag';
- $tax = get_taxonomy($taxonomy);
-
- if ( !current_user_can( $tax->cap->delete_terms ) )
- die('-1');
-
- $tag = get_term( $tag_id, $taxonomy );
- if ( !$tag || is_wp_error( $tag ) )
- die('1');
-
- if ( wp_delete_term($tag_id, $taxonomy))
- die('1');
- else
- die('0');
- break;
-case 'delete-link-cat' :
- check_ajax_referer( "delete-link-category_$id" );
- if ( !current_user_can( 'manage_categories' ) )
- die('-1');
-
- $cat = get_term( $id, 'link_category' );
- if ( !$cat || is_wp_error( $cat ) )
- die('1');
-
- $cat_name = get_term_field('name', $id, 'link_category');
-
- $default = get_option('default_link_category');
-
- // Don't delete the default cats.
- if ( $id == $default ) {
- $x = new WP_AJAX_Response( array(
- 'what' => 'link-cat',
- 'id' => $id,
- 'data' => new WP_Error( 'default-link-cat', sprintf(__("Can&#8217;t delete the <strong>%s</strong> category: this is the default one"), $cat_name) )
- ) );
- $x->send();
- }
-
- $r = wp_delete_term($id, 'link_category', array('default' => $default));
- if ( !$r )
- die('0');
- if ( is_wp_error($r) ) {
- $x = new WP_AJAX_Response( array(
- 'what' => 'link-cat',
- 'id' => $id,
- 'data' => $r
- ) );
- $x->send();
- }
- die('1');
- break;
-case 'delete-link' :
- check_ajax_referer( "delete-bookmark_$id" );
- if ( !current_user_can( 'manage_links' ) )
- die('-1');
-
- $link = get_bookmark( $id );
- if ( !$link || is_wp_error( $link ) )
- die('1');
-
- if ( wp_delete_link( $id ) )
- die('1');
- else
- die('0');
- break;
-case 'delete-meta' :
- check_ajax_referer( "delete-meta_$id" );
- if ( !$meta = get_post_meta_by_id( $id ) )
- die('1');
-
- 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' :
- check_ajax_referer( "{$action}_$id" );
- if ( !current_user_can( 'delete_post', $id ) )
- die('-1');
-
- if ( !get_post( $id ) )
- die('1');
-
- if ( wp_delete_post( $id ) )
- die('1');
- else
- die('0');
- break;
-case 'trash-post' :
-case 'untrash-post' :
- check_ajax_referer( "{$action}_$id" );
- if ( !current_user_can( 'delete_post', $id ) )
- die('-1');
-
- if ( !get_post( $id ) )
- die('1');
-
- if ( 'trash-post' == $action )
- $done = wp_trash_post( $id );
- else
- $done = wp_untrash_post( $id );
-
- if ( $done )
- die('1');
-
- die('0');
- break;
-case 'delete-page' :
- check_ajax_referer( "{$action}_$id" );
- if ( !current_user_can( 'delete_page', $id ) )
- die('-1');
-
- if ( !get_page( $id ) )
- die('1');
-
- if ( wp_delete_post( $id ) )
- die('1');
- else
- die('0');
- break;
-case 'dim-comment' : // On success, die with time() instead of 1
-
- if ( !$comment = get_comment( $id ) ) {
- $x = new WP_Ajax_Response( array(
- 'what' => 'comment',
- 'id' => new WP_Error('invalid_comment', sprintf(__('Comment %d does not exist'), $id))
- ) );
- $x->send();
- }
-
- if ( !current_user_can( 'edit_post', $comment->comment_post_ID ) && !current_user_can( 'moderate_comments' ) )
- die('-1');
-
- $current = wp_get_comment_status( $comment->comment_ID );
- if ( $_POST['new'] == $current )
- die( (string) time() );
-
- check_ajax_referer( "approve-comment_$id" );
- if ( in_array( $current, array( 'unapproved', 'spam' ) ) )
- $result = wp_set_comment_status( $comment->comment_ID, 'approve', true );
- else
- $result = wp_set_comment_status( $comment->comment_ID, 'hold', true );
-
- if ( is_wp_error($result) ) {
- $x = new WP_Ajax_Response( array(
- 'what' => 'comment',
- 'id' => $result
- ) );
- $x->send();
- }
-
- // Decide if we need to send back '1' or a more complicated response including page links and comment counts
- _wp_ajax_delete_comment_response( $comment->comment_ID );
- die( '0' );
- break;
-case 'add-link-category' : // On the Fly
- check_ajax_referer( $action );
- if ( !current_user_can( 'manage_categories' ) )
- die('-1');
- $names = explode(',', $_POST['newcat']);
- $x = new WP_Ajax_Response();
- foreach ( $names as $cat_name ) {
- $cat_name = trim($cat_name);
- $slug = sanitize_title($cat_name);
- if ( '' === $slug )
- continue;
- if ( !$cat_id = term_exists( $cat_name, 'link_category' ) ) {
- $cat_id = wp_insert_term( $cat_name, 'link_category' );
- }
- $cat_id = $cat_id['term_id'];
- $cat_name = esc_html(stripslashes($cat_name));
- $x->add( array(
- 'what' => 'link-category',
- 'id' => $cat_id,
- 'data' => "<li id='link-category-$cat_id'><label for='in-link-category-$cat_id' class='selectit'><input value='" . esc_attr($cat_id) . "' type='checkbox' checked='checked' name='link_category[]' id='in-link-category-$cat_id'/> $cat_name</label></li>",
- 'position' => -1
- ) );
- }
- $x->send();
- break;
-case 'add-link-cat' : // From Blogroll -> Categories
- check_ajax_referer( 'add-link-category' );
- if ( !current_user_can( 'manage_categories' ) )
- die('-1');
-
- if ( '' === trim($_POST['name']) ) {
- $x = new WP_Ajax_Response( array(
- 'what' => 'link-cat',
- 'id' => new WP_Error( 'name', __('You did not enter a category name.') )
- ) );
- $x->send();
- }
-
- $r = wp_insert_term($_POST['name'], 'link_category', $_POST );
- if ( is_wp_error( $r ) ) {
- $x = new WP_AJAX_Response( array(
- 'what' => 'link-cat',
- 'id' => $r
- ) );
- $x->send();
- }
-
- extract($r, EXTR_SKIP);
-
- if ( !$link_cat = link_cat_row( $term_id ) )
- die('0');
-
- $x = new WP_Ajax_Response( array(
- 'what' => 'link-cat',
- 'id' => $term_id,
- 'position' => -1,
- 'data' => $link_cat
- ) );
- $x->send();
- break;
-case 'add-tag' : // From Manage->Tags
- check_ajax_referer( 'add-tag' );
- $post_type = !empty($_POST['post_type']) ? $_POST['post_type'] : 'post';
- $taxonomy = !empty($_POST['taxonomy']) ? $_POST['taxonomy'] : 'post_tag';
- $tax = get_taxonomy($taxonomy);
-
- $x = new WP_Ajax_Response();
-
- if ( !current_user_can( $tax->cap->edit_terms ) )
- die('-1');
-
- $tag = wp_insert_term($_POST['tag-name'], $taxonomy, $_POST );
-
- if ( !$tag || is_wp_error($tag) || (!$tag = get_term( $tag['term_id'], $taxonomy )) ) {
- $message = __('An error has occured. Please reload the page and try again.');
- if ( is_wp_error($tag) && $tag->get_error_message() )
- $message = $tag->get_error_message();
-
- $x->add( array(
- 'what' => 'taxonomy',
- 'data' => new WP_Error('error', $message )
- ) );
- $x->send();
- }
-
- if ( isset($_POST['screen']) )
- set_current_screen($_POST['screen']);
-
- $level = 0;
- $tag_full_name = false;
- $tag_full_name = $tag->name;
- if ( is_taxonomy_hierarchical($taxonomy) ) {
- $_tag = $tag;
- while ( $_tag->parent ) {
- $_tag = get_term( $_tag->parent, $taxonomy );
- $tag_full_name = $_tag->name . ' &#8212; ' . $tag_full_name;
- $level++;
- }
- $noparents = _tag_row( $tag, $level, $taxonomy );
- }
- $tag->name = $tag_full_name;
- $parents = _tag_row( $tag, 0, $taxonomy);
-
- $x->add( array(
- 'what' => 'taxonomy',
- 'supplemental' => compact('parents', 'noparents')
- ) );
- $x->add( array(
- 'what' => 'term',
- 'position' => $level,
- 'supplemental' => get_term( $tag->term_id, $taxonomy, ARRAY_A ) //Refetch as $tag has been contaminated by the full name.
- ) );
- $x->send();
- break;
-case 'get-tagcloud' :
- if ( !current_user_can( 'edit_posts' ) )
- die('-1');
-
- if ( isset($_POST['tax']) )
- $taxonomy = sanitize_title($_POST['tax']);
- else
- die('0');
-
- $tags = get_terms( $taxonomy, array( 'number' => 45, 'orderby' => 'count', 'order' => 'DESC' ) );
-
- if ( empty( $tags ) ) {
- $tax = get_taxonomy( $taxonomy );
- die( isset( $tax->no_tagcloud ) ? $tax->no_tagcloud : __('No tags found!') );
- }
-
- if ( is_wp_error($tags) )
- die($tags->get_error_message());
-
- foreach ( $tags as $key => $tag ) {
- $tags[ $key ]->link = '#';
- $tags[ $key ]->id = $tag->term_id;
- }
-
- // We need raw tag names here, so don't filter the output
- $return = wp_generate_tag_cloud( $tags, array('filter' => 0) );
-
- if ( empty($return) )
- die('0');
-
- echo $return;
-
- exit;
- break;
-case 'add-comment' :
- check_ajax_referer( $action );
- if ( !current_user_can( 'edit_posts' ) )
- die('-1');
- $search = isset($_POST['s']) ? $_POST['s'] : false;
- $status = isset($_POST['comment_status']) ? $_POST['comment_status'] : 'all';
- $per_page = isset($_POST['per_page']) ? (int) $_POST['per_page'] + 8 : 28;
- $start = isset($_POST['page']) ? ( intval($_POST['page']) * $per_page ) -1 : $per_page - 1;
- if ( 1 > $start )
- $start = 27;
-
- $mode = isset($_POST['mode']) ? $_POST['mode'] : 'detail';
- $p = isset($_POST['p']) ? $_POST['p'] : 0;
- $comment_type = isset($_POST['comment_type']) ? $_POST['comment_type'] : '';
- list($comments, $total) = _wp_get_comment_list( $status, $search, $start, 1, $p, $comment_type );
-
- if ( get_option('show_avatars') )
- add_filter( 'comment_author', 'floated_admin_avatar' );
-
- if ( !$comments )
- die('1');
- $x = new WP_Ajax_Response();
- foreach ( (array) $comments as $comment ) {
- get_comment( $comment );
- ob_start();
- _wp_comment_row( $comment->comment_ID, $mode, $status, true, true );
- $comment_list_item = ob_get_contents();
- ob_end_clean();
- $x->add( array(
- 'what' => 'comment',
- 'id' => $comment->comment_ID,
- 'data' => $comment_list_item
- ) );
- }
- $x->send();
- break;
-case 'get-comments' :
- check_ajax_referer( $action );
-
- $post_ID = (int) $_POST['post_ID'];
- if ( !current_user_can( 'edit_post', $post_ID ) )
- die('-1');
-
- $start = isset($_POST['start']) ? intval($_POST['start']) : 0;
- $num = isset($_POST['num']) ? intval($_POST['num']) : 10;
-
- list($comments, $total) = _wp_get_comment_list( false, false, $start, $num, $post_ID );
-
- if ( !$comments )
- die('1');
-
- $comment_list_item = '';
- $x = new WP_Ajax_Response();
- foreach ( (array) $comments as $comment ) {
- get_comment( $comment );
- ob_start();
- _wp_comment_row( $comment->comment_ID, 'single', false, false );
- $comment_list_item .= ob_get_contents();
- ob_end_clean();
- }
- $x->add( array(
- 'what' => 'comments',
- 'data' => $comment_list_item
- ) );
- $x->send();
- break;
-case 'replyto-comment' :
- check_ajax_referer( $action, '_ajax_nonce-replyto-comment' );
-
- $comment_post_ID = (int) $_POST['comment_post_ID'];
- if ( !current_user_can( 'edit_post', $comment_post_ID ) )
- die('-1');
-
- $status = $wpdb->get_var( $wpdb->prepare("SELECT post_status FROM $wpdb->posts WHERE ID = %d", $comment_post_ID) );
-
- if ( empty($status) )
- die('1');
- elseif ( in_array($status, array('draft', 'pending', 'trash') ) )
- die( __('Error: you are replying to a comment on a draft post.') );
-
- $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);
- $comment_content = trim($_POST['content']);
- if ( current_user_can('unfiltered_html') ) {
- if ( wp_create_nonce('unfiltered-html-comment_' . $comment_post_ID) != $_POST['_wp_unfiltered_html_comment'] ) {
- kses_remove_filters(); // start with a clean slate
- kses_init_filters(); // set up the filters
- }
- }
- } else {
- die( __('Sorry, you must be logged in to reply to a comment.') );
- }
-
- if ( '' == $comment_content )
- die( __('Error: please type a comment.') );
-
- $comment_parent = absint($_POST['comment_ID']);
- $commentdata = compact('comment_post_ID', 'comment_author', 'comment_author_email', 'comment_author_url', 'comment_content', 'comment_type', 'comment_parent', 'user_ID');
-
- $comment_id = wp_new_comment( $commentdata );
- $comment = get_comment($comment_id);
- if ( ! $comment ) die('1');
-
- $modes = array( 'single', 'detail', 'dashboard' );
- $mode = isset($_POST['mode']) && in_array( $_POST['mode'], $modes ) ? $_POST['mode'] : 'detail';
- $position = ( isset($_POST['position']) && (int) $_POST['position']) ? (int) $_POST['position'] : '-1';
- $checkbox = ( isset($_POST['checkbox']) && true == $_POST['checkbox'] ) ? 1 : 0;
-
- if ( get_option('show_avatars') && 'single' != $mode )
- add_filter( 'comment_author', 'floated_admin_avatar' );
-
- $x = new WP_Ajax_Response();
-
- ob_start();
- if ( 'dashboard' == $mode ) {
- require_once( ABSPATH . 'wp-admin/includes/dashboard.php' );
- _wp_dashboard_recent_comments_row( $comment, false );
- } else {
- _wp_comment_row( $comment->comment_ID, $mode, false, $checkbox );
- }
- $comment_list_item = ob_get_contents();
- ob_end_clean();
-
- $x->add( array(
- 'what' => 'comment',
- 'id' => $comment->comment_ID,
- 'data' => $comment_list_item,
- 'position' => $position
- ));
-
- $x->send();
- break;
-case 'edit-comment' :
- check_ajax_referer( 'replyto-comment', '_ajax_nonce-replyto-comment' );
-
- $comment_post_ID = (int) $_POST['comment_post_ID'];
- if ( ! current_user_can( 'edit_post', $comment_post_ID ) )
- die('-1');
-
- if ( '' == $_POST['content'] )
- die( __('Error: please type a comment.') );
-
- $comment_id = (int) $_POST['comment_ID'];
- $_POST['comment_status'] = $_POST['status'];
- edit_comment();
-
- $mode = ( isset($_POST['mode']) && 'single' == $_POST['mode'] ) ? 'single' : 'detail';
- $position = ( isset($_POST['position']) && (int) $_POST['position']) ? (int) $_POST['position'] : '-1';
- $checkbox = ( isset($_POST['checkbox']) && true == $_POST['checkbox'] ) ? 1 : 0;
- $comments_listing = isset($_POST['comments_listing']) ? $_POST['comments_listing'] : '';
-
- if ( get_option('show_avatars') && 'single' != $mode )
- add_filter( 'comment_author', 'floated_admin_avatar' );
-
- $x = new WP_Ajax_Response();
-
- ob_start();
- _wp_comment_row( $comment_id, $mode, $comments_listing, $checkbox );
- $comment_list_item = ob_get_contents();
- ob_end_clean();
-
- $x->add( array(
- 'what' => 'edit_comment',
- 'id' => $comment->comment_ID,
- 'data' => $comment_list_item,
- 'position' => $position
- ));
-
- $x->send();
- break;
-case 'add-menu-item' :
- if ( ! current_user_can( 'edit_theme_options' ) )
- die('-1');
-
- check_ajax_referer( 'add-menu_item', 'menu-settings-column-nonce' );
-
- require_once ABSPATH . 'wp-admin/includes/nav-menu.php';
-
- $item_ids = wp_save_nav_menu_items( 0, $_POST['menu-item'] );
- if ( is_wp_error( $item_ids ) )
- die('-1');
-
- foreach ( (array) $item_ids as $menu_item_id ) {
- $menu_obj = get_post( $menu_item_id );
- if ( ! empty( $menu_obj->ID ) ) {
- $menu_obj = wp_setup_nav_menu_item( $menu_obj );
- $menu_obj->label = $menu_obj->title; // don't show "(pending)" in ajax-added items
- $menu_items[] = $menu_obj;
- }
- }
-
- if ( ! empty( $menu_items ) ) {
- $args = array(
- 'after' => '',
- 'before' => '',
- 'link_after' => '',
- 'link_before' => '',
- 'walker' => new Walker_Nav_Menu_Edit,
- );
- echo walk_nav_menu_tree( $menu_items, 0, (object) $args );
- }
- break;
-case 'add-meta' :
- check_ajax_referer( 'add-meta', '_ajax_nonce-add-meta' );
- $c = 0;
- $pid = (int) $_POST['post_id'];
- $post = get_post( $pid );
-
- if ( isset($_POST['metakeyselect']) || isset($_POST['metakeyinput']) ) {
- if ( !current_user_can( 'edit_post', $pid ) )
- die('-1');
- if ( isset($_POST['metakeyselect']) && '#NONE#' == $_POST['metakeyselect'] && empty($_POST['metakeyinput']) )
- die('1');
- if ( $post->post_status == 'auto-draft' ) {
- $save_POST = $_POST; // Backup $_POST
- $_POST = array(); // Make it empty for edit_post()
- $_POST['action'] = 'draft'; // Warning fix
- $_POST['post_ID'] = $pid;
- $_POST['post_type'] = $post->post_type;
- $_POST['post_status'] = 'draft';
- $now = current_time('timestamp', 1);
- $_POST['post_title'] = sprintf('Draft created on %s at %s', date(get_option('date_format'), $now), date(get_option('time_format'), $now));
-
- if ( $pid = edit_post() ) {
- if ( is_wp_error( $pid ) ) {
- $x = new WP_Ajax_Response( array(
- 'what' => 'meta',
- 'data' => $pid
- ) );
- $x->send();
- }
- $_POST = $save_POST; // Now we can restore original $_POST again
- if ( !$mid = add_meta( $pid ) )
- die(__('Please provide a custom field value.'));
- } else {
- die('0');
- }
- } else if ( !$mid = add_meta( $pid ) ) {
- die(__('Please provide a custom field value.'));
- }
-
- $meta = get_post_meta_by_id( $mid );
- $pid = (int) $meta->post_id;
- $meta = get_object_vars( $meta );
- $x = new WP_Ajax_Response( array(
- 'what' => 'meta',
- 'id' => $mid,
- 'data' => _list_meta_row( $meta, $c ),
- 'position' => 1,
- 'supplemental' => array('postid' => $pid)
- ) );
- } else { // Update?
- $mid = (int) array_pop( $var_by_ref = array_keys($_POST['meta']) );
- $key = $_POST['meta'][$mid]['key'];
- $value = $_POST['meta'][$mid]['value'];
- if ( '' == trim($key) )
- die(__('Please provide a custom field name.'));
- if ( '' == trim($value) )
- die(__('Please provide a custom field value.'));
- if ( !$meta = get_post_meta_by_id( $mid ) )
- die('0'); // if meta doesn't exist
- if ( !current_user_can( 'edit_post', $meta->post_id ) )
- die('-1');
- if ( $meta->meta_value != stripslashes($value) || $meta->meta_key != stripslashes($key) ) {
- if ( !$u = update_meta( $mid, $key, $value ) )
- die('0'); // We know meta exists; we also know it's unchanged (or DB error, in which case there are bigger problems).
- }
-
- $key = stripslashes($key);
- $value = stripslashes($value);
- $x = new WP_Ajax_Response( array(
- 'what' => 'meta',
- 'id' => $mid, 'old_id' => $mid,
- 'data' => _list_meta_row( array(
- 'meta_key' => $key,
- 'meta_value' => $value,
- 'meta_id' => $mid
- ), $c ),
- 'position' => 0,
- 'supplemental' => array('postid' => $meta->post_id)
- ) );
- }
- $x->send();
- break;
-case 'add-user' :
- check_ajax_referer( $action );
- if ( !current_user_can('create_users') )
- die('-1');
- require_once(ABSPATH . WPINC . '/registration.php');
- if ( !$user_id = add_user() )
- die('0');
- elseif ( is_wp_error( $user_id ) ) {
- $x = new WP_Ajax_Response( array(
- 'what' => 'user',
- 'id' => $user_id
- ) );
- $x->send();
- }
- $user_object = new WP_User( $user_id );
-
- $x = new WP_Ajax_Response( array(
- 'what' => 'user',
- 'id' => $user_id,
- 'data' => user_row( $user_object, '', $user_object->roles[0] ),
- 'supplemental' => array(
- 'show-link' => sprintf(__( 'User <a href="#%s">%s</a> added' ), "user-$user_id", $user_object->user_login),
- 'role' => $user_object->roles[0]
- )
- ) );
- $x->send();
- break;
-case 'autosave' : // The name of this action is hardcoded in edit_post()
- define( 'DOING_AUTOSAVE', true );
-
- $nonce_age = check_ajax_referer( 'autosave', 'autosavenonce' );
-
- $_POST['post_category'] = explode(",", $_POST['catslist']);
- if ( $_POST['post_type'] == 'page' || empty($_POST['post_category']) )
- unset($_POST['post_category']);
-
- $do_autosave = (bool) $_POST['autosave'];
- $do_lock = true;
-
- $data = '';
- /* translators: draft saved date format, see http://php.net/date */
- $draft_saved_date_format = __('g:i:s a');
- /* translators: %s: date and time */
- $message = sprintf( __('Draft saved at %s.'), date_i18n( $draft_saved_date_format ) );
-
- $supplemental = array();
- if ( isset($login_grace_period) )
- $supplemental['session_expired'] = add_query_arg( 'interim-login', 1, wp_login_url() );
-
- $id = $revision_id = 0;
-
- $post_ID = (int) $_POST['post_ID'];
- $_POST['ID'] = $post_ID;
- $post = get_post($post_ID);
- if ( 'auto-draft' == $post->post_status )
- $_POST['post_status'] = 'draft';
-
- if ( $last = wp_check_post_lock( $post->ID ) ) {
- $do_autosave = $do_lock = false;
-
- $last_user = get_userdata( $last );
- $last_user_name = $last_user ? $last_user->display_name : __( 'Someone' );
- $data = new WP_Error( 'locked', sprintf(
- $_POST['post_type'] == 'page' ? __( 'Autosave disabled: %s is currently editing this page.' ) : __( 'Autosave disabled: %s is currently editing this post.' ),
- esc_html( $last_user_name )
- ) );
-
- $supplemental['disable_autosave'] = 'disable';
- }
-
- if ( 'page' == $post->post_type ) {
- if ( !current_user_can('edit_page', $post_ID) )
- die(__('You are not allowed to edit this page.'));
- } else {
- if ( !current_user_can('edit_post', $post_ID) )
- die(__('You are not allowed to edit this post.'));
- }
-
- if ( $do_autosave ) {
- // Drafts and auto-drafts are just overwritten by autosave
- if ( 'auto-draft' == $post->post_status || 'draft' == $post->post_status ) {
- $id = edit_post();
- } else { // Non drafts are not overwritten. The autosave is stored in a special post revision.
- $revision_id = wp_create_post_autosave( $post->ID );
- if ( is_wp_error($revision_id) )
- $id = $revision_id;
- else
- $id = $post->ID;
- }
- $data = $message;
- } else {
- if ( isset( $_POST['auto_draft'] ) && '1' == $_POST['auto_draft'] )
- $id = 0; // This tells us it didn't actually save
- else
- $id = $post->ID;
- }
-
- if ( $do_lock && ( isset( $_POST['auto_draft'] ) && ( $_POST['auto_draft'] != '1' ) ) && $id && is_numeric($id) )
- wp_set_post_lock( $id );
-
- if ( $nonce_age == 2 ) {
- $supplemental['replace-autosavenonce'] = wp_create_nonce('autosave');
- $supplemental['replace-getpermalinknonce'] = wp_create_nonce('getpermalink');
- $supplemental['replace-samplepermalinknonce'] = wp_create_nonce('samplepermalink');
- $supplemental['replace-closedpostboxesnonce'] = wp_create_nonce('closedpostboxes');
- if ( $id ) {
- if ( $_POST['post_type'] == 'post' )
- $supplemental['replace-_wpnonce'] = wp_create_nonce('update-post_' . $id);
- elseif ( $_POST['post_type'] == 'page' )
- $supplemental['replace-_wpnonce'] = wp_create_nonce('update-page_' . $id);
- }
- }
-
- $x = new WP_Ajax_Response( array(
- 'what' => 'autosave',
- 'id' => $id,
- 'data' => $id ? $data : '',
- 'supplemental' => $supplemental
- ) );
- $x->send();
- break;
-case 'closed-postboxes' :
- check_ajax_referer( 'closedpostboxes', 'closedpostboxesnonce' );
- $closed = isset( $_POST['closed'] ) ? explode( ',', $_POST['closed']) : array();
- $closed = array_filter($closed);
-
- $hidden = isset( $_POST['hidden'] ) ? explode( ',', $_POST['hidden']) : array();
- $hidden = array_filter($hidden);
-
- $page = isset( $_POST['page'] ) ? $_POST['page'] : '';
-
- if ( !preg_match( '/^[a-z_-]+$/', $page ) )
- die('-1');
-
- if ( ! $user = wp_get_current_user() )
- die('-1');
-
- if ( is_array($closed) )
- update_user_option($user->ID, "closedpostboxes_$page", $closed, true);
-
- if ( is_array($hidden) ) {
- $hidden = array_diff( $hidden, array('submitdiv', 'linksubmitdiv', 'manage-menu', 'create-menu') ); // postboxes that are always shown
- update_user_option($user->ID, "metaboxhidden_$page", $hidden, true);
- }
-
- die('1');
- break;
-case 'hidden-columns' :
- check_ajax_referer( 'screen-options-nonce', 'screenoptionnonce' );
- $hidden = isset( $_POST['hidden'] ) ? $_POST['hidden'] : '';
- $hidden = explode( ',', $_POST['hidden'] );
- $page = isset( $_POST['page'] ) ? $_POST['page'] : '';
-
- if ( !preg_match( '/^[a-z_-]+$/', $page ) )
- die('-1');
-
- if ( ! $user = wp_get_current_user() )
- die('-1');
-
- if ( is_array($hidden) )
- update_user_option($user->ID, "manage{$page}columnshidden", $hidden, true);
-
- die('1');
- break;
-case 'menu-get-metabox' :
- if ( ! current_user_can( 'edit_theme_options' ) )
- die('-1');
-
- require_once ABSPATH . 'wp-admin/includes/nav-menu.php';
-
- if ( isset( $_POST['item-type'] ) && 'post_type' == $_POST['item-type'] ) {
- $type = 'posttype';
- $callback = 'wp_nav_menu_item_post_type_meta_box';
- $items = (array) get_post_types( array( 'show_in_nav_menus' => true ), 'object' );
- } elseif ( isset( $_POST['item-type'] ) && 'taxonomy' == $_POST['item-type'] ) {
- $type = 'taxonomy';
- $callback = 'wp_nav_menu_item_taxonomy_meta_box';
- $items = (array) get_taxonomies( array( 'show_ui' => true ), 'object' );
- }
-
- if ( ! empty( $_POST['item-object'] ) && isset( $items[$_POST['item-object']] ) ) {
- $item = apply_filters( 'nav_menu_meta_box_object', $items[ $_POST['item-object'] ] );
- ob_start();
- call_user_func_array($callback, array(
- null,
- array(
- 'id' => 'add-' . $item->name,
- 'title' => $item->labels->name,
- 'callback' => $callback,
- 'args' => $item,
- )
- ));
-
- $markup = ob_get_clean();
-
- echo json_encode(array(
- 'replace-id' => $type . '-' . $item->name,
- 'markup' => $markup,
- ));
- }
-
- exit;
- break;
-case 'menu-quick-search':
- if ( ! current_user_can( 'edit_theme_options' ) )
- die('-1');
-
- require_once ABSPATH . 'wp-admin/includes/nav-menu.php';
-
- _wp_ajax_menu_quick_search( $_REQUEST );
-
- exit;
- break;
-case 'menu-locations-save':
- if ( ! current_user_can( 'edit_theme_options' ) )
- die('-1');
- check_ajax_referer( 'add-menu_item', 'menu-settings-column-nonce' );
- if ( ! isset( $_POST['menu-locations'] ) )
- die('0');
- set_theme_mod( 'nav_menu_locations', array_map( 'absint', $_POST['menu-locations'] ) );
- die('1');
- break;
-case 'meta-box-order':
- check_ajax_referer( 'meta-box-order' );
- $order = isset( $_POST['order'] ) ? (array) $_POST['order'] : false;
- $page_columns = isset( $_POST['page_columns'] ) ? (int) $_POST['page_columns'] : 0;
- $page = isset( $_POST['page'] ) ? $_POST['page'] : '';
-
- if ( !preg_match( '/^[a-z_-]+$/', $page ) )
- die('-1');
-
- if ( ! $user = wp_get_current_user() )
- die('-1');
-
- if ( $order )
- update_user_option($user->ID, "meta-box-order_$page", $order, true);
-
- if ( $page_columns )
- update_user_option($user->ID, "screen_layout_$page", $page_columns, true);
-
- die('1');
- break;
-case 'get-permalink':
- check_ajax_referer( 'getpermalink', 'getpermalinknonce' );
- $post_id = isset($_POST['post_id'])? intval($_POST['post_id']) : 0;
- die(add_query_arg(array('preview' => 'true'), get_permalink($post_id)));
-break;
-case 'sample-permalink':
- check_ajax_referer( 'samplepermalink', 'samplepermalinknonce' );
- $post_id = isset($_POST['post_id'])? intval($_POST['post_id']) : 0;
- $title = isset($_POST['new_title'])? $_POST['new_title'] : '';
- $slug = isset($_POST['new_slug'])? $_POST['new_slug'] : null;
- die(get_sample_permalink_html($post_id, $title, $slug));
-break;
-case 'inline-save':
- check_ajax_referer( 'inlineeditnonce', '_inline_edit' );
-
- if ( ! isset($_POST['post_ID']) || ! ( $post_ID = (int) $_POST['post_ID'] ) )
- exit;
-
- 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.') );
- }
-
- if ( isset($_POST['screen']) )
- set_current_screen($_POST['screen']);
-
- if ( $last = wp_check_post_lock( $post_ID ) ) {
- $last_user = get_userdata( $last );
- $last_user_name = $last_user ? $last_user->display_name : __( 'Someone' );
- printf( $_POST['post_type'] == 'page' ? __( 'Saving is disabled: %s is currently editing this page.' ) : __( 'Saving is disabled: %s is currently editing this post.' ), esc_html( $last_user_name ) );
- exit;
- }
-
- $data = &$_POST;
-
- $post = get_post( $post_ID, ARRAY_A );
- $post = add_magic_quotes($post); //since it is from db
-
- $data['content'] = $post['post_content'];
- $data['excerpt'] = $post['post_excerpt'];
-
- // rename
- $data['user_ID'] = $GLOBALS['user_ID'];
-
- if ( isset($data['post_parent']) )
- $data['parent_id'] = $data['post_parent'];
-
- // status
- if ( isset($data['keep_private']) && 'private' == $data['keep_private'] )
- $data['post_status'] = 'private';
- else
- $data['post_status'] = $data['_status'];
-
- if ( empty($data['comment_status']) )
- $data['comment_status'] = 'closed';
- if ( empty($data['ping_status']) )
- $data['ping_status'] = 'closed';
-
- // update the post
- edit_post();
-
- if ( in_array( $_POST['post_type'], get_post_types( array( 'show_ui' => true ) ) ) ) {
- $post = array();
- $post[] = get_post($_POST['post_ID']);
- if ( is_post_type_hierarchical( $_POST['post_type'] ) ) {
- page_rows( $post );
- } else {
- $mode = $_POST['post_view'];
- post_rows( $post );
- }
- }
-
- exit;
- break;
-case 'inline-save-tax':
- check_ajax_referer( 'taxinlineeditnonce', '_inline_edit' );
-
- $taxonomy = !empty($_POST['taxonomy']) ? $_POST['taxonomy'] : false;
- if ( ! $taxonomy )
- die( __('Cheatin&#8217; uh?') );
- $tax = get_taxonomy($taxonomy);
-
- if ( ! current_user_can( $tax->cap->edit_terms ) )
- die( __('Cheatin&#8217; uh?') );
-
- if ( ! isset($_POST['tax_ID']) || ! ( $id = (int) $_POST['tax_ID'] ) )
- die(-1);
-
- switch ($_POST['tax_type']) {
- case 'link-cat' :
- $updated = wp_update_term($id, 'link_category', $_POST);
-
- if ( $updated && !is_wp_error($updated) )
- echo link_cat_row($updated['term_id']);
- else
- die( __('Category not updated.') );
-
- break;
- case 'tag' :
- $taxonomy = !empty($_POST['taxonomy']) ? $_POST['taxonomy'] : 'post_tag';
-
- $tag = get_term( $id, $taxonomy );
- $_POST['description'] = $tag->description;
-
- $updated = wp_update_term($id, $taxonomy, $_POST);
- if ( $updated && !is_wp_error($updated) ) {
- $tag = get_term( $updated['term_id'], $taxonomy );
- if ( !$tag || is_wp_error( $tag ) ) {
- if ( is_wp_error($tag) && $tag->get_error_message() )
- die( $tag->get_error_message() );
- die( __('Item not updated.') );
- }
-
- set_current_screen( 'edit-' . $taxonomy );
-
- echo _tag_row($tag, 0, $taxonomy);
- } else {
- if ( is_wp_error($updated) && $updated->get_error_message() )
- die( $updated->get_error_message() );
- die( __('Item not updated.') );
- }
-
- break;
- }
-
- exit;
- break;
-case 'find_posts':
- check_ajax_referer( 'find-posts' );
-
- if ( empty($_POST['ps']) )
- exit;
-
- if ( !empty($_POST['post_type']) && in_array( $_POST['post_type'], get_post_types() ) )
- $what = $_POST['post_type'];
- else
- $what = 'post';
-
- $s = stripslashes($_POST['ps']);
- preg_match_all('/".*?("|$)|((?<=[\\s",+])|^)[^\\s",+]+/', $s, $matches);
- $search_terms = array_map('_search_terms_tidy', $matches[0]);
-
- $searchand = $search = '';
- foreach ( (array) $search_terms as $term ) {
- $term = addslashes_gpc($term);
- $search .= "{$searchand}(($wpdb->posts.post_title LIKE '%{$term}%') OR ($wpdb->posts.post_content LIKE '%{$term}%'))";
- $searchand = ' AND ';
- }
- $term = $wpdb->escape($s);
- if ( count($search_terms) > 1 && $search_terms[0] != $s )
- $search .= " OR ($wpdb->posts.post_title LIKE '%{$term}%') OR ($wpdb->posts.post_content LIKE '%{$term}%')";
-
- $posts = $wpdb->get_results( "SELECT ID, post_title, post_status, post_date FROM $wpdb->posts WHERE post_type = '$what' AND post_status IN ('draft', 'publish') AND ($search) ORDER BY post_date_gmt DESC LIMIT 50" );
-
- if ( ! $posts ) {
- $posttype = get_post_type_object($what);
- exit($posttype->labels->not_found);
- }
-
- $html = '<table class="widefat" cellspacing="0"><thead><tr><th class="found-radio"><br /></th><th>'.__('Title').'</th><th>'.__('Date').'</th><th>'.__('Status').'</th></tr></thead><tbody>';
- foreach ( $posts as $post ) {
-
- switch ( $post->post_status ) {
- case 'publish' :
- case 'private' :
- $stat = __('Published');
- break;
- case 'future' :
- $stat = __('Scheduled');
- break;
- case 'pending' :
- $stat = __('Pending Review');
- break;
- case 'draft' :
- $stat = __('Draft');
- break;
- }
-
- if ( '0000-00-00 00:00:00' == $post->post_date ) {
- $time = '';
- } else {
- /* translators: date format in table columns, see http://php.net/date */
- $time = mysql2date(__('Y/m/d'), $post->post_date);
- }
-
- $html .= '<tr class="found-posts"><td class="found-radio"><input type="radio" id="found-'.$post->ID.'" name="found_post_id" value="' . esc_attr($post->ID) . '"></td>';
- $html .= '<td><label for="found-'.$post->ID.'">'.esc_html( $post->post_title ).'</label></td><td>'.esc_html( $time ).'</td><td>'.esc_html( $stat ).'</td></tr>'."\n\n";
- }
- $html .= '</tbody></table>';
-
- $x = new WP_Ajax_Response();
- $x->add( array(
- 'what' => $what,
- 'data' => $html
- ));
- $x->send();
-
- break;
-case 'lj-importer' :
- check_ajax_referer( 'lj-api-import' );
- if ( !current_user_can( 'publish_posts' ) )
- die('-1');
- if ( empty( $_POST['step'] ) )
- die( '-1' );
- define('WP_IMPORTING', true);
- include( ABSPATH . 'wp-admin/import/livejournal.php' );
- $result = $lj_api_import->{ 'step' . ( (int) $_POST['step'] ) }();
- if ( is_wp_error( $result ) )
- echo $result->get_error_message();
- die;
- break;
-case 'widgets-order' :
- check_ajax_referer( 'save-sidebar-widgets', 'savewidgets' );
-
- if ( !current_user_can('edit_theme_options') )
- die('-1');
-
- unset( $_POST['savewidgets'], $_POST['action'] );
-
- // save widgets order for all sidebars
- if ( is_array($_POST['sidebars']) ) {
- $sidebars = array();
- foreach ( $_POST['sidebars'] as $key => $val ) {
- $sb = array();
- if ( !empty($val) ) {
- $val = explode(',', $val);
- foreach ( $val as $k => $v ) {
- if ( strpos($v, 'widget-') === false )
- continue;
-
- $sb[$k] = substr($v, strpos($v, '_') + 1);
- }
- }
- $sidebars[$key] = $sb;
- }
- wp_set_sidebars_widgets($sidebars);
- die('1');