boot-cli 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1413) hide show
  1. checksums.yaml +7 -0
  2. data/bin/boot +9 -0
  3. data/lib/Boot/Lib/Commands/Config.rb +28 -0
  4. data/lib/Boot/Lib/Commands/Help.rb +17 -0
  5. data/lib/Boot/Lib/Commands/New.rb +77 -0
  6. data/lib/Boot/Lib/Commands/Template.rb +87 -0
  7. data/lib/Boot/Lib/Commands/Version.rb +15 -0
  8. data/lib/Boot/Lib/Core/Config.rb +84 -0
  9. data/lib/Boot/Lib/Core/InvalidConfigException.rb +4 -0
  10. data/lib/Boot/Lib/Core/InvalidTemplateException.rb +4 -0
  11. data/lib/Boot/Lib/Core/SubCommand.rb +61 -0
  12. data/lib/Boot/Lib/Core/Template.rb +375 -0
  13. data/lib/Boot/Lib/autoload.rb +23 -0
  14. data/lib/boot-default-config.json +1 -0
  15. data/lib/boot.rb +60 -0
  16. data/lib/template.json-schema +144 -0
  17. data/lib/templates/.document +1 -0
  18. data/lib/templates/.gitmodules +3 -0
  19. data/lib/templates/README.md +3 -0
  20. data/lib/templates/c/static/ext/__dummy-file__ +0 -0
  21. data/lib/templates/c/static/src/main.c +0 -0
  22. data/lib/templates/c/template.json +24 -0
  23. data/lib/templates/gitignores/Actionscript.gitignore +11 -0
  24. data/lib/templates/gitignores/Ada.gitignore +5 -0
  25. data/lib/templates/gitignores/Agda.gitignore +1 -0
  26. data/lib/templates/gitignores/Android.gitignore +27 -0
  27. data/lib/templates/gitignores/AppEngine.gitignore +2 -0
  28. data/lib/templates/gitignores/AppceleratorTitanium.gitignore +3 -0
  29. data/lib/templates/gitignores/ArchLinuxPackages.gitignore +14 -0
  30. data/lib/templates/gitignores/Autotools.gitignore +14 -0
  31. data/lib/templates/gitignores/C++.gitignore +28 -0
  32. data/lib/templates/gitignores/C.gitignore +32 -0
  33. data/lib/templates/gitignores/CFWheels.gitignore +12 -0
  34. data/lib/templates/gitignores/CMake.gitignore +5 -0
  35. data/lib/templates/gitignores/CONTRIBUTING.md +34 -0
  36. data/lib/templates/gitignores/CUDA.gitignore +6 -0
  37. data/lib/templates/gitignores/CakePHP.gitignore +13 -0
  38. data/lib/templates/gitignores/ChefCookbook.gitignore +9 -0
  39. data/lib/templates/gitignores/Clojure.gitignore +12 -0
  40. data/lib/templates/gitignores/CodeIgniter.gitignore +6 -0
  41. data/lib/templates/gitignores/CommonLisp.gitignore +3 -0
  42. data/lib/templates/gitignores/Composer.gitignore +6 -0
  43. data/lib/templates/gitignores/Concrete5.gitignore +3 -0
  44. data/lib/templates/gitignores/Coq.gitignore +3 -0
  45. data/lib/templates/gitignores/CraftCMS.gitignore +3 -0
  46. data/lib/templates/gitignores/DM.gitignore +5 -0
  47. data/lib/templates/gitignores/Dart.gitignore +14 -0
  48. data/lib/templates/gitignores/Delphi.gitignore +57 -0
  49. data/lib/templates/gitignores/Drupal.gitignore +36 -0
  50. data/lib/templates/gitignores/EPiServer.gitignore +4 -0
  51. data/lib/templates/gitignores/Eagle.gitignore +36 -0
  52. data/lib/templates/gitignores/Elisp.gitignore +5 -0
  53. data/lib/templates/gitignores/Elixir.gitignore +4 -0
  54. data/lib/templates/gitignores/Erlang.gitignore +10 -0
  55. data/lib/templates/gitignores/ExpressionEngine.gitignore +19 -0
  56. data/lib/templates/gitignores/ExtJs.gitignore +4 -0
  57. data/lib/templates/gitignores/Fancy.gitignore +2 -0
  58. data/lib/templates/gitignores/Finale.gitignore +13 -0
  59. data/lib/templates/gitignores/ForceDotCom.gitignore +4 -0
  60. data/lib/templates/gitignores/Fortran.gitignore +28 -0
  61. data/lib/templates/gitignores/FuelPHP.gitignore +2 -0
  62. data/lib/templates/gitignores/GWT.gitignore +28 -0
  63. data/lib/templates/gitignores/Gcov.gitignore +5 -0
  64. data/lib/templates/gitignores/GitBook.gitignore +16 -0
  65. data/lib/templates/gitignores/Global/Anjuta.gitignore +3 -0
  66. data/lib/templates/gitignores/Global/Archives.gitignore +27 -0
  67. data/lib/templates/gitignores/Global/BricxCC.gitignore +4 -0
  68. data/lib/templates/gitignores/Global/CVS.gitignore +4 -0
  69. data/lib/templates/gitignores/Global/Cloud9.gitignore +3 -0
  70. data/lib/templates/gitignores/Global/CodeKit.gitignore +3 -0
  71. data/lib/templates/gitignores/Global/DartEditor.gitignore +2 -0
  72. data/lib/templates/gitignores/Global/Dreamweaver.gitignore +3 -0
  73. data/lib/templates/gitignores/Global/Eclipse.gitignore +36 -0
  74. data/lib/templates/gitignores/Global/EiffelStudio.gitignore +2 -0
  75. data/lib/templates/gitignores/Global/Emacs.gitignore +32 -0
  76. data/lib/templates/gitignores/Global/Ensime.gitignore +4 -0
  77. data/lib/templates/gitignores/Global/Espresso.gitignore +1 -0
  78. data/lib/templates/gitignores/Global/FlexBuilder.gitignore +3 -0
  79. data/lib/templates/gitignores/Global/IPythonNotebook.gitignore +2 -0
  80. data/lib/templates/gitignores/Global/JDeveloper.gitignore +13 -0
  81. data/lib/templates/gitignores/Global/JetBrains.gitignore +46 -0
  82. data/lib/templates/gitignores/Global/KDevelop4.gitignore +2 -0
  83. data/lib/templates/gitignores/Global/Kate.gitignore +3 -0
  84. data/lib/templates/gitignores/Global/Lazarus.gitignore +15 -0
  85. data/lib/templates/gitignores/Global/LibreOffice.gitignore +2 -0
  86. data/lib/templates/gitignores/Global/Linux.gitignore +7 -0
  87. data/lib/templates/gitignores/Global/LyX.gitignore +4 -0
  88. data/lib/templates/gitignores/Global/Matlab.gitignore +16 -0
  89. data/lib/templates/gitignores/Global/Mercurial.gitignore +3 -0
  90. data/lib/templates/gitignores/Global/MicrosoftOffice.gitignore +10 -0
  91. data/lib/templates/gitignores/Global/ModelSim.gitignore +23 -0
  92. data/lib/templates/gitignores/Global/Momentics.gitignore +8 -0
  93. data/lib/templates/gitignores/Global/MonoDevelop.gitignore +8 -0
  94. data/lib/templates/gitignores/Global/NetBeans.gitignore +8 -0
  95. data/lib/templates/gitignores/Global/Ninja.gitignore +2 -0
  96. data/lib/templates/gitignores/Global/NotepadPP.gitignore +2 -0
  97. data/lib/templates/gitignores/Global/OSX.gitignore +24 -0
  98. data/lib/templates/gitignores/Global/README.md +10 -0
  99. data/lib/templates/gitignores/Global/Redcar.gitignore +1 -0
  100. data/lib/templates/gitignores/Global/Redis.gitignore +3 -0
  101. data/lib/templates/gitignores/Global/SBT.gitignore +9 -0
  102. data/lib/templates/gitignores/Global/SVN.gitignore +1 -0
  103. data/lib/templates/gitignores/Global/SlickEdit.gitignore +11 -0
  104. data/lib/templates/gitignores/Global/SublimeText.gitignore +14 -0
  105. data/lib/templates/gitignores/Global/SynopsysVCS.gitignore +23 -0
  106. data/lib/templates/gitignores/Global/Tags.gitignore +14 -0
  107. data/lib/templates/gitignores/Global/TextMate.gitignore +3 -0
  108. data/lib/templates/gitignores/Global/TortoiseGit.gitignore +2 -0
  109. data/lib/templates/gitignores/Global/Vagrant.gitignore +1 -0
  110. data/lib/templates/gitignores/Global/Vim.gitignore +6 -0
  111. data/lib/templates/gitignores/Global/VirtualEnv.gitignore +9 -0
  112. data/lib/templates/gitignores/Global/WebMethods.gitignore +14 -0
  113. data/lib/templates/gitignores/Global/Windows.gitignore +18 -0
  114. data/lib/templates/gitignores/Global/Xcode.gitignore +14 -0
  115. data/lib/templates/gitignores/Global/XilinxISE.gitignore +57 -0
  116. data/lib/templates/gitignores/Go.gitignore +24 -0
  117. data/lib/templates/gitignores/Gradle.gitignore +8 -0
  118. data/lib/templates/gitignores/Grails.gitignore +33 -0
  119. data/lib/templates/gitignores/Haskell.gitignore +16 -0
  120. data/lib/templates/gitignores/IGORPro.gitignore +5 -0
  121. data/lib/templates/gitignores/Idris.gitignore +2 -0
  122. data/lib/templates/gitignores/Java.gitignore +12 -0
  123. data/lib/templates/gitignores/Jboss.gitignore +19 -0
  124. data/lib/templates/gitignores/Jekyll.gitignore +3 -0
  125. data/lib/templates/gitignores/Joomla.gitignore +525 -0
  126. data/lib/templates/gitignores/Jython.gitignore +2 -0
  127. data/lib/templates/gitignores/KiCAD.gitignore +11 -0
  128. data/lib/templates/gitignores/Kohana.gitignore +2 -0
  129. data/lib/templates/gitignores/LICENSE +19 -0
  130. data/lib/templates/gitignores/LabVIEW.gitignore +16 -0
  131. data/lib/templates/gitignores/Laravel.gitignore +4 -0
  132. data/lib/templates/gitignores/Leiningen.gitignore +12 -0
  133. data/lib/templates/gitignores/LemonStand.gitignore +21 -0
  134. data/lib/templates/gitignores/Lilypond.gitignore +6 -0
  135. data/lib/templates/gitignores/Lithium.gitignore +2 -0
  136. data/lib/templates/gitignores/Lua.gitignore +41 -0
  137. data/lib/templates/gitignores/Magento.gitignore +126 -0
  138. data/lib/templates/gitignores/Maven.gitignore +9 -0
  139. data/lib/templates/gitignores/Mercury.gitignore +13 -0
  140. data/lib/templates/gitignores/MetaProgrammingSystem.gitignore +16 -0
  141. data/lib/templates/gitignores/Meteor.gitignore +2 -0
  142. data/lib/templates/gitignores/Nanoc.gitignore +10 -0
  143. data/lib/templates/gitignores/Nim.gitignore +1 -0
  144. data/lib/templates/gitignores/Node.gitignore +27 -0
  145. data/lib/templates/gitignores/OCaml.gitignore +20 -0
  146. data/lib/templates/gitignores/Objective-C.gitignore +26 -0
  147. data/lib/templates/gitignores/Opa.gitignore +13 -0
  148. data/lib/templates/gitignores/OpenCart.gitignore +11 -0
  149. data/lib/templates/gitignores/OracleForms.gitignore +8 -0
  150. data/lib/templates/gitignores/Packer.gitignore +5 -0
  151. data/lib/templates/gitignores/Perl.gitignore +20 -0
  152. data/lib/templates/gitignores/Phalcon.gitignore +2 -0
  153. data/lib/templates/gitignores/PlayFramework.gitignore +17 -0
  154. data/lib/templates/gitignores/Plone.gitignore +18 -0
  155. data/lib/templates/gitignores/Prestashop.gitignore +25 -0
  156. data/lib/templates/gitignores/Processing.gitignore +7 -0
  157. data/lib/templates/gitignores/Python.gitignore +57 -0
  158. data/lib/templates/gitignores/Qooxdoo.gitignore +5 -0
  159. data/lib/templates/gitignores/Qt.gitignore +34 -0
  160. data/lib/templates/gitignores/R.gitignore +13 -0
  161. data/lib/templates/gitignores/README.md +79 -0
  162. data/lib/templates/gitignores/ROS.gitignore +47 -0
  163. data/lib/templates/gitignores/Rails.gitignore +35 -0
  164. data/lib/templates/gitignores/RhodesRhomobile.gitignore +9 -0
  165. data/lib/templates/gitignores/Ruby.gitignore +35 -0
  166. data/lib/templates/gitignores/Rust.gitignore +11 -0
  167. data/lib/templates/gitignores/SCons.gitignore +2 -0
  168. data/lib/templates/gitignores/Sass.gitignore +2 -0
  169. data/lib/templates/gitignores/Scala.gitignore +17 -0
  170. data/lib/templates/gitignores/Scrivener.gitignore +7 -0
  171. data/lib/templates/gitignores/Sdcc.gitignore +8 -0
  172. data/lib/templates/gitignores/SeamGen.gitignore +26 -0
  173. data/lib/templates/gitignores/SketchUp.gitignore +1 -0
  174. data/lib/templates/gitignores/Stella.gitignore +12 -0
  175. data/lib/templates/gitignores/SugarCRM.gitignore +25 -0
  176. data/lib/templates/gitignores/Swift.gitignore +33 -0
  177. data/lib/templates/gitignores/Symfony.gitignore +37 -0
  178. data/lib/templates/gitignores/SymphonyCMS.gitignore +6 -0
  179. data/lib/templates/gitignores/TeX.gitignore +126 -0
  180. data/lib/templates/gitignores/Textpattern.gitignore +11 -0
  181. data/lib/templates/gitignores/TurboGears2.gitignore +20 -0
  182. data/lib/templates/gitignores/Typo3.gitignore +18 -0
  183. data/lib/templates/gitignores/Umbraco.gitignore +17 -0
  184. data/lib/templates/gitignores/Unity.gitignore +21 -0
  185. data/lib/templates/gitignores/VVVV.gitignore +6 -0
  186. data/lib/templates/gitignores/VisualStudio.gitignore +196 -0
  187. data/lib/templates/gitignores/Waf.gitignore +3 -0
  188. data/lib/templates/gitignores/WordPress.gitignore +13 -0
  189. data/lib/templates/gitignores/Xojo.gitignore +11 -0
  190. data/lib/templates/gitignores/Yeoman.gitignore +6 -0
  191. data/lib/templates/gitignores/Yii.gitignore +6 -0
  192. data/lib/templates/gitignores/ZendFramework.gitignore +20 -0
  193. data/lib/templates/gitignores/Zephir.gitignore +26 -0
  194. data/lib/templates/templates/boot-template/static/static/___dummy-file___ +1 -0
  195. data/lib/templates/templates/boot-template/static/template.json +7 -0
  196. data/lib/templates/templates/boot-template/template.json +17 -0
  197. data/lib/templates/templates/c/builder/makefile +12 -0
  198. data/lib/templates/templates/c/builder/makefile-pch +12 -0
  199. data/lib/templates/templates/c/misc/main.h +1 -0
  200. data/lib/templates/templates/c/static/lib/___dummy-file___ +1 -0
  201. data/lib/templates/templates/c/static/src/main.c +4 -0
  202. data/lib/templates/templates/c/template.json +32 -0
  203. data/lib/templates/templates/c/vcs/.gitignore +1 -0
  204. data/lib/templates/templates/c/vcs/.svnignore +1 -0
  205. data/lib/templates/templates/gem/Gemfile +3 -0
  206. data/lib/templates/templates/gem/gemname-git.gemspec +13 -0
  207. data/lib/templates/templates/gem/static/[[!gemname]].gemspec +13 -0
  208. data/lib/templates/templates/gem/static/bin/[[!gemname]] +1 -0
  209. data/lib/templates/templates/gem/static/lib/[[!gemname]].rb +0 -0
  210. data/lib/templates/templates/gem/static/test/test_helper.rb +0 -0
  211. data/lib/templates/templates/gem/template.json +33 -0
  212. data/lib/templates/templates/wordpress-plugin/static/wp-content/plugins/[[!plugin-name]]/[[!plugin-name]].php +11 -0
  213. data/lib/templates/templates/wordpress-plugin/template.json +26 -0
  214. data/lib/templates/templates/wordpress-plugin/vcs/git/gitignore.gitignore +1 -0
  215. data/lib/templates/templates/wordpress-theme/static/wp-content/themes/[[!theme-name]]/index.php +1 -0
  216. data/lib/templates/templates/wordpress-theme/static/wp-content/themes/[[!theme-name]]/style.css +12 -0
  217. data/lib/templates/templates/wordpress-theme/template.json +26 -0
  218. data/lib/templates/templates/wordpress-theme/vcs/git/gitignore.gitignore +1 -0
  219. data/lib/templates/wordpress/index.php +17 -0
  220. data/lib/templates/wordpress/license.txt +385 -0
  221. data/lib/templates/wordpress/readme.html +98 -0
  222. data/lib/templates/wordpress/wp-activate.php +131 -0
  223. data/lib/templates/wordpress/wp-admin/about.php +166 -0
  224. data/lib/templates/wordpress/wp-admin/admin-ajax.php +99 -0
  225. data/lib/templates/wordpress/wp-admin/admin-footer.php +99 -0
  226. data/lib/templates/wordpress/wp-admin/admin-functions.php +15 -0
  227. data/lib/templates/wordpress/wp-admin/admin-header.php +249 -0
  228. data/lib/templates/wordpress/wp-admin/admin-post.php +71 -0
  229. data/lib/templates/wordpress/wp-admin/admin.php +361 -0
  230. data/lib/templates/wordpress/wp-admin/async-upload.php +115 -0
  231. data/lib/templates/wordpress/wp-admin/comment.php +330 -0
  232. data/lib/templates/wordpress/wp-admin/credits.php +192 -0
  233. data/lib/templates/wordpress/wp-admin/css/about-rtl.css +454 -0
  234. data/lib/templates/wordpress/wp-admin/css/about.css +454 -0
  235. data/lib/templates/wordpress/wp-admin/css/admin-menu-rtl.css +935 -0
  236. data/lib/templates/wordpress/wp-admin/css/admin-menu.css +935 -0
  237. data/lib/templates/wordpress/wp-admin/css/color-picker-rtl.css +127 -0
  238. data/lib/templates/wordpress/wp-admin/css/color-picker-rtl.min.css +1 -0
  239. data/lib/templates/wordpress/wp-admin/css/color-picker.css +127 -0
  240. data/lib/templates/wordpress/wp-admin/css/color-picker.min.css +1 -0
  241. data/lib/templates/wordpress/wp-admin/css/colors/_admin.scss +521 -0
  242. data/lib/templates/wordpress/wp-admin/css/colors/_mixins.scss +43 -0
  243. data/lib/templates/wordpress/wp-admin/css/colors/_variables.scss +58 -0
  244. data/lib/templates/wordpress/wp-admin/css/colors/blue/colors-rtl.css +330 -0
  245. data/lib/templates/wordpress/wp-admin/css/colors/blue/colors-rtl.min.css +1 -0
  246. data/lib/templates/wordpress/wp-admin/css/colors/blue/colors.css +330 -0
  247. data/lib/templates/wordpress/wp-admin/css/colors/blue/colors.min.css +1 -0
  248. data/lib/templates/wordpress/wp-admin/css/colors/blue/colors.scss +11 -0
  249. data/lib/templates/wordpress/wp-admin/css/colors/coffee/colors-rtl.css +330 -0
  250. data/lib/templates/wordpress/wp-admin/css/colors/coffee/colors-rtl.min.css +1 -0
  251. data/lib/templates/wordpress/wp-admin/css/colors/coffee/colors.css +330 -0
  252. data/lib/templates/wordpress/wp-admin/css/colors/coffee/colors.min.css +1 -0
  253. data/lib/templates/wordpress/wp-admin/css/colors/coffee/colors.scss +7 -0
  254. data/lib/templates/wordpress/wp-admin/css/colors/ectoplasm/colors-rtl.css +330 -0
  255. data/lib/templates/wordpress/wp-admin/css/colors/ectoplasm/colors-rtl.min.css +1 -0
  256. data/lib/templates/wordpress/wp-admin/css/colors/ectoplasm/colors.css +330 -0
  257. data/lib/templates/wordpress/wp-admin/css/colors/ectoplasm/colors.min.css +1 -0
  258. data/lib/templates/wordpress/wp-admin/css/colors/ectoplasm/colors.scss +8 -0
  259. data/lib/templates/wordpress/wp-admin/css/colors/light/colors-rtl.css +338 -0
  260. data/lib/templates/wordpress/wp-admin/css/colors/light/colors-rtl.min.css +1 -0
  261. data/lib/templates/wordpress/wp-admin/css/colors/light/colors.css +338 -0
  262. data/lib/templates/wordpress/wp-admin/css/colors/light/colors.min.css +1 -0
  263. data/lib/templates/wordpress/wp-admin/css/colors/light/colors.scss +38 -0
  264. data/lib/templates/wordpress/wp-admin/css/colors/midnight/colors-rtl.css +330 -0
  265. data/lib/templates/wordpress/wp-admin/css/colors/midnight/colors-rtl.min.css +1 -0
  266. data/lib/templates/wordpress/wp-admin/css/colors/midnight/colors.css +330 -0
  267. data/lib/templates/wordpress/wp-admin/css/colors/midnight/colors.min.css +1 -0
  268. data/lib/templates/wordpress/wp-admin/css/colors/midnight/colors.scss +5 -0
  269. data/lib/templates/wordpress/wp-admin/css/colors/ocean/colors-rtl.css +330 -0
  270. data/lib/templates/wordpress/wp-admin/css/colors/ocean/colors-rtl.min.css +1 -0
  271. data/lib/templates/wordpress/wp-admin/css/colors/ocean/colors.css +330 -0
  272. data/lib/templates/wordpress/wp-admin/css/colors/ocean/colors.min.css +1 -0
  273. data/lib/templates/wordpress/wp-admin/css/colors/ocean/colors.scss +8 -0
  274. data/lib/templates/wordpress/wp-admin/css/colors/sunrise/colors-rtl.css +330 -0
  275. data/lib/templates/wordpress/wp-admin/css/colors/sunrise/colors-rtl.min.css +1 -0
  276. data/lib/templates/wordpress/wp-admin/css/colors/sunrise/colors.css +330 -0
  277. data/lib/templates/wordpress/wp-admin/css/colors/sunrise/colors.min.css +1 -0
  278. data/lib/templates/wordpress/wp-admin/css/colors/sunrise/colors.scss +6 -0
  279. data/lib/templates/wordpress/wp-admin/css/common-rtl.css +3289 -0
  280. data/lib/templates/wordpress/wp-admin/css/common.css +3289 -0
  281. data/lib/templates/wordpress/wp-admin/css/customize-controls-rtl.css +1191 -0
  282. data/lib/templates/wordpress/wp-admin/css/customize-controls-rtl.min.css +1 -0
  283. data/lib/templates/wordpress/wp-admin/css/customize-controls.css +1191 -0
  284. data/lib/templates/wordpress/wp-admin/css/customize-controls.min.css +1 -0
  285. data/lib/templates/wordpress/wp-admin/css/customize-widgets-rtl.css +636 -0
  286. data/lib/templates/wordpress/wp-admin/css/customize-widgets-rtl.min.css +1 -0
  287. data/lib/templates/wordpress/wp-admin/css/customize-widgets.css +636 -0
  288. data/lib/templates/wordpress/wp-admin/css/customize-widgets.min.css +1 -0
  289. data/lib/templates/wordpress/wp-admin/css/dashboard-rtl.css +1111 -0
  290. data/lib/templates/wordpress/wp-admin/css/dashboard.css +1111 -0
  291. data/lib/templates/wordpress/wp-admin/css/deprecated-media-rtl.css +407 -0
  292. data/lib/templates/wordpress/wp-admin/css/deprecated-media-rtl.min.css +1 -0
  293. data/lib/templates/wordpress/wp-admin/css/deprecated-media.css +407 -0
  294. data/lib/templates/wordpress/wp-admin/css/deprecated-media.min.css +1 -0
  295. data/lib/templates/wordpress/wp-admin/css/edit-rtl.css +1589 -0
  296. data/lib/templates/wordpress/wp-admin/css/edit.css +1589 -0
  297. data/lib/templates/wordpress/wp-admin/css/farbtastic-rtl.css +41 -0
  298. data/lib/templates/wordpress/wp-admin/css/farbtastic.css +41 -0
  299. data/lib/templates/wordpress/wp-admin/css/forms-rtl.css +1175 -0
  300. data/lib/templates/wordpress/wp-admin/css/forms.css +1175 -0
  301. data/lib/templates/wordpress/wp-admin/css/ie-rtl.css +785 -0
  302. data/lib/templates/wordpress/wp-admin/css/ie-rtl.min.css +1 -0
  303. data/lib/templates/wordpress/wp-admin/css/ie.css +785 -0
  304. data/lib/templates/wordpress/wp-admin/css/ie.min.css +1 -0
  305. data/lib/templates/wordpress/wp-admin/css/install-rtl.css +388 -0
  306. data/lib/templates/wordpress/wp-admin/css/install-rtl.min.css +1 -0
  307. data/lib/templates/wordpress/wp-admin/css/install.css +388 -0
  308. data/lib/templates/wordpress/wp-admin/css/install.min.css +1 -0
  309. data/lib/templates/wordpress/wp-admin/css/l10n-rtl.css +111 -0
  310. data/lib/templates/wordpress/wp-admin/css/l10n.css +111 -0
  311. data/lib/templates/wordpress/wp-admin/css/list-tables-rtl.css +1925 -0
  312. data/lib/templates/wordpress/wp-admin/css/list-tables.css +1925 -0
  313. data/lib/templates/wordpress/wp-admin/css/login-rtl.css +265 -0
  314. data/lib/templates/wordpress/wp-admin/css/login-rtl.min.css +1 -0
  315. data/lib/templates/wordpress/wp-admin/css/login.css +265 -0
  316. data/lib/templates/wordpress/wp-admin/css/login.min.css +1 -0
  317. data/lib/templates/wordpress/wp-admin/css/media-rtl.css +1193 -0
  318. data/lib/templates/wordpress/wp-admin/css/media.css +1193 -0
  319. data/lib/templates/wordpress/wp-admin/css/nav-menus-rtl.css +865 -0
  320. data/lib/templates/wordpress/wp-admin/css/nav-menus.css +865 -0
  321. data/lib/templates/wordpress/wp-admin/css/press-this-editor-rtl.css +123 -0
  322. data/lib/templates/wordpress/wp-admin/css/press-this-editor.css +123 -0
  323. data/lib/templates/wordpress/wp-admin/css/press-this-rtl.css +2039 -0
  324. data/lib/templates/wordpress/wp-admin/css/press-this-rtl.min.css +1 -0
  325. data/lib/templates/wordpress/wp-admin/css/press-this.css +2039 -0
  326. data/lib/templates/wordpress/wp-admin/css/press-this.min.css +1 -0
  327. data/lib/templates/wordpress/wp-admin/css/revisions-rtl.css +575 -0
  328. data/lib/templates/wordpress/wp-admin/css/revisions.css +575 -0
  329. data/lib/templates/wordpress/wp-admin/css/themes-rtl.css +1760 -0
  330. data/lib/templates/wordpress/wp-admin/css/themes.css +1760 -0
  331. data/lib/templates/wordpress/wp-admin/css/widgets-rtl.css +579 -0
  332. data/lib/templates/wordpress/wp-admin/css/widgets.css +579 -0
  333. data/lib/templates/wordpress/wp-admin/css/wp-admin-rtl.css +13 -0
  334. data/lib/templates/wordpress/wp-admin/css/wp-admin-rtl.min.css +8 -0
  335. data/lib/templates/wordpress/wp-admin/css/wp-admin.css +13 -0
  336. data/lib/templates/wordpress/wp-admin/css/wp-admin.min.css +8 -0
  337. data/lib/templates/wordpress/wp-admin/custom-background.php +472 -0
  338. data/lib/templates/wordpress/wp-admin/custom-header.php +1303 -0
  339. data/lib/templates/wordpress/wp-admin/customize.php +300 -0
  340. data/lib/templates/wordpress/wp-admin/edit-comments.php +254 -0
  341. data/lib/templates/wordpress/wp-admin/edit-form-advanced.php +668 -0
  342. data/lib/templates/wordpress/wp-admin/edit-form-comment.php +189 -0
  343. data/lib/templates/wordpress/wp-admin/edit-link-form.php +150 -0
  344. data/lib/templates/wordpress/wp-admin/edit-tag-form.php +228 -0
  345. data/lib/templates/wordpress/wp-admin/edit-tags.php +603 -0
  346. data/lib/templates/wordpress/wp-admin/edit.php +338 -0
  347. data/lib/templates/wordpress/wp-admin/export.php +242 -0
  348. data/lib/templates/wordpress/wp-admin/freedoms.php +57 -0
  349. data/lib/templates/wordpress/wp-admin/images/align-center-2x.png +0 -0
  350. data/lib/templates/wordpress/wp-admin/images/align-center.png +0 -0
  351. data/lib/templates/wordpress/wp-admin/images/align-left-2x.png +0 -0
  352. data/lib/templates/wordpress/wp-admin/images/align-left.png +0 -0
  353. data/lib/templates/wordpress/wp-admin/images/align-none-2x.png +0 -0
  354. data/lib/templates/wordpress/wp-admin/images/align-none.png +0 -0
  355. data/lib/templates/wordpress/wp-admin/images/align-right-2x.png +0 -0
  356. data/lib/templates/wordpress/wp-admin/images/align-right.png +0 -0
  357. data/lib/templates/wordpress/wp-admin/images/arrows-2x.png +0 -0
  358. data/lib/templates/wordpress/wp-admin/images/arrows.png +0 -0
  359. data/lib/templates/wordpress/wp-admin/images/bubble_bg-2x.gif +0 -0
  360. data/lib/templates/wordpress/wp-admin/images/bubble_bg.gif +0 -0
  361. data/lib/templates/wordpress/wp-admin/images/comment-grey-bubble-2x.png +0 -0
  362. data/lib/templates/wordpress/wp-admin/images/comment-grey-bubble.png +0 -0
  363. data/lib/templates/wordpress/wp-admin/images/date-button-2x.gif +0 -0
  364. data/lib/templates/wordpress/wp-admin/images/date-button.gif +0 -0
  365. data/lib/templates/wordpress/wp-admin/images/generic.png +0 -0
  366. data/lib/templates/wordpress/wp-admin/images/icons32-2x.png +0 -0
  367. data/lib/templates/wordpress/wp-admin/images/icons32-vs-2x.png +0 -0
  368. data/lib/templates/wordpress/wp-admin/images/icons32-vs.png +0 -0
  369. data/lib/templates/wordpress/wp-admin/images/icons32.png +0 -0
  370. data/lib/templates/wordpress/wp-admin/images/imgedit-icons-2x.png +0 -0
  371. data/lib/templates/wordpress/wp-admin/images/imgedit-icons.png +0 -0
  372. data/lib/templates/wordpress/wp-admin/images/list-2x.png +0 -0
  373. data/lib/templates/wordpress/wp-admin/images/list.png +0 -0
  374. data/lib/templates/wordpress/wp-admin/images/loading.gif +0 -0
  375. data/lib/templates/wordpress/wp-admin/images/marker.png +0 -0
  376. data/lib/templates/wordpress/wp-admin/images/mask.png +0 -0
  377. data/lib/templates/wordpress/wp-admin/images/media-button-2x.png +0 -0
  378. data/lib/templates/wordpress/wp-admin/images/media-button-image.gif +0 -0
  379. data/lib/templates/wordpress/wp-admin/images/media-button-music.gif +0 -0
  380. data/lib/templates/wordpress/wp-admin/images/media-button-other.gif +0 -0
  381. data/lib/templates/wordpress/wp-admin/images/media-button-video.gif +0 -0
  382. data/lib/templates/wordpress/wp-admin/images/media-button.png +0 -0
  383. data/lib/templates/wordpress/wp-admin/images/menu-2x.png +0 -0
  384. data/lib/templates/wordpress/wp-admin/images/menu-vs-2x.png +0 -0
  385. data/lib/templates/wordpress/wp-admin/images/menu-vs.png +0 -0
  386. data/lib/templates/wordpress/wp-admin/images/menu.png +0 -0
  387. data/lib/templates/wordpress/wp-admin/images/no.png +0 -0
  388. data/lib/templates/wordpress/wp-admin/images/post-formats-vs.png +0 -0
  389. data/lib/templates/wordpress/wp-admin/images/post-formats.png +0 -0
  390. data/lib/templates/wordpress/wp-admin/images/post-formats32-vs.png +0 -0
  391. data/lib/templates/wordpress/wp-admin/images/post-formats32.png +0 -0
  392. data/lib/templates/wordpress/wp-admin/images/resize-2x.gif +0 -0
  393. data/lib/templates/wordpress/wp-admin/images/resize-rtl-2x.gif +0 -0
  394. data/lib/templates/wordpress/wp-admin/images/resize-rtl.gif +0 -0
  395. data/lib/templates/wordpress/wp-admin/images/resize.gif +0 -0
  396. data/lib/templates/wordpress/wp-admin/images/se.png +0 -0
  397. data/lib/templates/wordpress/wp-admin/images/sort-2x.gif +0 -0
  398. data/lib/templates/wordpress/wp-admin/images/sort.gif +0 -0
  399. data/lib/templates/wordpress/wp-admin/images/spinner-2x.gif +0 -0
  400. data/lib/templates/wordpress/wp-admin/images/spinner.gif +0 -0
  401. data/lib/templates/wordpress/wp-admin/images/stars-2x.png +0 -0
  402. data/lib/templates/wordpress/wp-admin/images/stars.png +0 -0
  403. data/lib/templates/wordpress/wp-admin/images/w-logo-blue.png +0 -0
  404. data/lib/templates/wordpress/wp-admin/images/w-logo-white.png +0 -0
  405. data/lib/templates/wordpress/wp-admin/images/wheel.png +0 -0
  406. data/lib/templates/wordpress/wp-admin/images/wordpress-logo-white.svg +1 -0
  407. data/lib/templates/wordpress/wp-admin/images/wordpress-logo.png +0 -0
  408. data/lib/templates/wordpress/wp-admin/images/wordpress-logo.svg +1 -0
  409. data/lib/templates/wordpress/wp-admin/images/wpspin_light-2x.gif +0 -0
  410. data/lib/templates/wordpress/wp-admin/images/wpspin_light.gif +0 -0
  411. data/lib/templates/wordpress/wp-admin/images/xit-2x.gif +0 -0
  412. data/lib/templates/wordpress/wp-admin/images/xit.gif +0 -0
  413. data/lib/templates/wordpress/wp-admin/images/yes.png +0 -0
  414. data/lib/templates/wordpress/wp-admin/import.php +130 -0
  415. data/lib/templates/wordpress/wp-admin/includes/admin.php +74 -0
  416. data/lib/templates/wordpress/wp-admin/includes/ajax-actions.php +2973 -0
  417. data/lib/templates/wordpress/wp-admin/includes/bookmark.php +305 -0
  418. data/lib/templates/wordpress/wp-admin/includes/class-ftp-pure.php +190 -0
  419. data/lib/templates/wordpress/wp-admin/includes/class-ftp-sockets.php +250 -0
  420. data/lib/templates/wordpress/wp-admin/includes/class-ftp.php +906 -0
  421. data/lib/templates/wordpress/wp-admin/includes/class-pclzip.php +5687 -0
  422. data/lib/templates/wordpress/wp-admin/includes/class-wp-comments-list-table.php +643 -0
  423. data/lib/templates/wordpress/wp-admin/includes/class-wp-filesystem-base.php +766 -0
  424. data/lib/templates/wordpress/wp-admin/includes/class-wp-filesystem-direct.php +463 -0
  425. data/lib/templates/wordpress/wp-admin/includes/class-wp-filesystem-ftpext.php +513 -0
  426. data/lib/templates/wordpress/wp-admin/includes/class-wp-filesystem-ftpsockets.php +446 -0
  427. data/lib/templates/wordpress/wp-admin/includes/class-wp-filesystem-ssh2.php +505 -0
  428. data/lib/templates/wordpress/wp-admin/includes/class-wp-importer.php +301 -0
  429. data/lib/templates/wordpress/wp-admin/includes/class-wp-links-list-table.php +208 -0
  430. data/lib/templates/wordpress/wp-admin/includes/class-wp-list-table.php +1141 -0
  431. data/lib/templates/wordpress/wp-admin/includes/class-wp-media-list-table.php +556 -0
  432. data/lib/templates/wordpress/wp-admin/includes/class-wp-ms-sites-list-table.php +404 -0
  433. data/lib/templates/wordpress/wp-admin/includes/class-wp-ms-themes-list-table.php +480 -0
  434. data/lib/templates/wordpress/wp-admin/includes/class-wp-ms-users-list-table.php +306 -0
  435. data/lib/templates/wordpress/wp-admin/includes/class-wp-plugin-install-list-table.php +515 -0
  436. data/lib/templates/wordpress/wp-admin/includes/class-wp-plugins-list-table.php +648 -0
  437. data/lib/templates/wordpress/wp-admin/includes/class-wp-posts-list-table.php +1416 -0
  438. data/lib/templates/wordpress/wp-admin/includes/class-wp-press-this.php +1466 -0
  439. data/lib/templates/wordpress/wp-admin/includes/class-wp-terms-list-table.php +513 -0
  440. data/lib/templates/wordpress/wp-admin/includes/class-wp-theme-install-list-table.php +431 -0
  441. data/lib/templates/wordpress/wp-admin/includes/class-wp-themes-list-table.php +285 -0
  442. data/lib/templates/wordpress/wp-admin/includes/class-wp-upgrader-skins.php +783 -0
  443. data/lib/templates/wordpress/wp-admin/includes/class-wp-upgrader.php +3254 -0
  444. data/lib/templates/wordpress/wp-admin/includes/class-wp-users-list-table.php +460 -0
  445. data/lib/templates/wordpress/wp-admin/includes/comment.php +173 -0
  446. data/lib/templates/wordpress/wp-admin/includes/continents-cities.php +493 -0
  447. data/lib/templates/wordpress/wp-admin/includes/dashboard.php +1341 -0
  448. data/lib/templates/wordpress/wp-admin/includes/deprecated.php +1183 -0
  449. data/lib/templates/wordpress/wp-admin/includes/export.php +510 -0
  450. data/lib/templates/wordpress/wp-admin/includes/file.php +1229 -0
  451. data/lib/templates/wordpress/wp-admin/includes/image-edit.php +861 -0
  452. data/lib/templates/wordpress/wp-admin/includes/image.php +600 -0
  453. data/lib/templates/wordpress/wp-admin/includes/import.php +204 -0
  454. data/lib/templates/wordpress/wp-admin/includes/list-table.php +113 -0
  455. data/lib/templates/wordpress/wp-admin/includes/media.php +3083 -0
  456. data/lib/templates/wordpress/wp-admin/includes/menu.php +322 -0
  457. data/lib/templates/wordpress/wp-admin/includes/meta-boxes.php +1132 -0
  458. data/lib/templates/wordpress/wp-admin/includes/misc.php +889 -0
  459. data/lib/templates/wordpress/wp-admin/includes/ms-deprecated.php +77 -0
  460. data/lib/templates/wordpress/wp-admin/includes/ms.php +971 -0
  461. data/lib/templates/wordpress/wp-admin/includes/nav-menu.php +1324 -0
  462. data/lib/templates/wordpress/wp-admin/includes/plugin-install.php +580 -0
  463. data/lib/templates/wordpress/wp-admin/includes/plugin.php +1892 -0
  464. data/lib/templates/wordpress/wp-admin/includes/post.php +1742 -0
  465. data/lib/templates/wordpress/wp-admin/includes/revision.php +378 -0
  466. data/lib/templates/wordpress/wp-admin/includes/schema.php +1046 -0
  467. data/lib/templates/wordpress/wp-admin/includes/screen.php +1185 -0
  468. data/lib/templates/wordpress/wp-admin/includes/taxonomy.php +290 -0
  469. data/lib/templates/wordpress/wp-admin/includes/template.php +2248 -0
  470. data/lib/templates/wordpress/wp-admin/includes/theme-install.php +205 -0
  471. data/lib/templates/wordpress/wp-admin/includes/theme.php +564 -0
  472. data/lib/templates/wordpress/wp-admin/includes/translation-install.php +241 -0
  473. data/lib/templates/wordpress/wp-admin/includes/update-core.php +1190 -0
  474. data/lib/templates/wordpress/wp-admin/includes/update.php +435 -0
  475. data/lib/templates/wordpress/wp-admin/includes/upgrade.php +2410 -0
  476. data/lib/templates/wordpress/wp-admin/includes/user.php +442 -0
  477. data/lib/templates/wordpress/wp-admin/includes/widgets.php +245 -0
  478. data/lib/templates/wordpress/wp-admin/index.php +132 -0
  479. data/lib/templates/wordpress/wp-admin/install-helper.php +198 -0
  480. data/lib/templates/wordpress/wp-admin/install.php +307 -0
  481. data/lib/templates/wordpress/wp-admin/js/accordion.js +75 -0
  482. data/lib/templates/wordpress/wp-admin/js/accordion.min.js +1 -0
  483. data/lib/templates/wordpress/wp-admin/js/bookmarklet.js +166 -0
  484. data/lib/templates/wordpress/wp-admin/js/bookmarklet.min.js +1 -0
  485. data/lib/templates/wordpress/wp-admin/js/color-picker.js +157 -0
  486. data/lib/templates/wordpress/wp-admin/js/color-picker.min.js +1 -0
  487. data/lib/templates/wordpress/wp-admin/js/comment.js +50 -0
  488. data/lib/templates/wordpress/wp-admin/js/comment.min.js +1 -0
  489. data/lib/templates/wordpress/wp-admin/js/common.js +893 -0
  490. data/lib/templates/wordpress/wp-admin/js/common.min.js +1 -0
  491. data/lib/templates/wordpress/wp-admin/js/custom-background.js +75 -0
  492. data/lib/templates/wordpress/wp-admin/js/custom-background.min.js +1 -0
  493. data/lib/templates/wordpress/wp-admin/js/custom-header.js +61 -0
  494. data/lib/templates/wordpress/wp-admin/js/customize-controls.js +3071 -0
  495. data/lib/templates/wordpress/wp-admin/js/customize-controls.min.js +2 -0
  496. data/lib/templates/wordpress/wp-admin/js/customize-widgets.js +2024 -0
  497. data/lib/templates/wordpress/wp-admin/js/customize-widgets.min.js +1 -0
  498. data/lib/templates/wordpress/wp-admin/js/dashboard.js +190 -0
  499. data/lib/templates/wordpress/wp-admin/js/dashboard.min.js +1 -0
  500. data/lib/templates/wordpress/wp-admin/js/edit-comments.js +627 -0
  501. data/lib/templates/wordpress/wp-admin/js/edit-comments.min.js +1 -0
  502. data/lib/templates/wordpress/wp-admin/js/editor-expand.js +1237 -0
  503. data/lib/templates/wordpress/wp-admin/js/editor-expand.min.js +1 -0
  504. data/lib/templates/wordpress/wp-admin/js/editor.js +324 -0
  505. data/lib/templates/wordpress/wp-admin/js/editor.min.js +1 -0
  506. data/lib/templates/wordpress/wp-admin/js/farbtastic.js +276 -0
  507. data/lib/templates/wordpress/wp-admin/js/gallery.js +237 -0
  508. data/lib/templates/wordpress/wp-admin/js/gallery.min.js +1 -0
  509. data/lib/templates/wordpress/wp-admin/js/image-edit.js +633 -0
  510. data/lib/templates/wordpress/wp-admin/js/image-edit.min.js +1 -0
  511. data/lib/templates/wordpress/wp-admin/js/inline-edit-post.js +360 -0
  512. data/lib/templates/wordpress/wp-admin/js/inline-edit-post.min.js +1 -0
  513. data/lib/templates/wordpress/wp-admin/js/inline-edit-tax.js +152 -0
  514. data/lib/templates/wordpress/wp-admin/js/inline-edit-tax.min.js +1 -0
  515. data/lib/templates/wordpress/wp-admin/js/iris.min.js +4 -0
  516. data/lib/templates/wordpress/wp-admin/js/language-chooser.js +26 -0
  517. data/lib/templates/wordpress/wp-admin/js/language-chooser.min.js +1 -0
  518. data/lib/templates/wordpress/wp-admin/js/link.js +69 -0
  519. data/lib/templates/wordpress/wp-admin/js/link.min.js +1 -0
  520. data/lib/templates/wordpress/wp-admin/js/media-gallery.js +26 -0
  521. data/lib/templates/wordpress/wp-admin/js/media-gallery.min.js +1 -0
  522. data/lib/templates/wordpress/wp-admin/js/media-upload.js +69 -0
  523. data/lib/templates/wordpress/wp-admin/js/media-upload.min.js +1 -0
  524. data/lib/templates/wordpress/wp-admin/js/media.js +114 -0
  525. data/lib/templates/wordpress/wp-admin/js/media.min.js +1 -0
  526. data/lib/templates/wordpress/wp-admin/js/nav-menu.js +1237 -0
  527. data/lib/templates/wordpress/wp-admin/js/nav-menu.min.js +1 -0
  528. data/lib/templates/wordpress/wp-admin/js/password-strength-meter.js +75 -0
  529. data/lib/templates/wordpress/wp-admin/js/password-strength-meter.min.js +1 -0
  530. data/lib/templates/wordpress/wp-admin/js/plugin-install.js +72 -0
  531. data/lib/templates/wordpress/wp-admin/js/plugin-install.min.js +1 -0
  532. data/lib/templates/wordpress/wp-admin/js/post.js +926 -0
  533. data/lib/templates/wordpress/wp-admin/js/post.min.js +1 -0
  534. data/lib/templates/wordpress/wp-admin/js/postbox.js +199 -0
  535. data/lib/templates/wordpress/wp-admin/js/postbox.min.js +1 -0
  536. data/lib/templates/wordpress/wp-admin/js/press-this.js +796 -0
  537. data/lib/templates/wordpress/wp-admin/js/press-this.min.js +1 -0
  538. data/lib/templates/wordpress/wp-admin/js/revisions.js +1166 -0
  539. data/lib/templates/wordpress/wp-admin/js/revisions.min.js +1 -0
  540. data/lib/templates/wordpress/wp-admin/js/set-post-thumbnail.js +24 -0
  541. data/lib/templates/wordpress/wp-admin/js/set-post-thumbnail.min.js +1 -0
  542. data/lib/templates/wordpress/wp-admin/js/svg-painter.js +240 -0
  543. data/lib/templates/wordpress/wp-admin/js/svg-painter.min.js +1 -0
  544. data/lib/templates/wordpress/wp-admin/js/tags-box.js +202 -0
  545. data/lib/templates/wordpress/wp-admin/js/tags-box.min.js +1 -0
  546. data/lib/templates/wordpress/wp-admin/js/tags.js +72 -0
  547. data/lib/templates/wordpress/wp-admin/js/tags.min.js +1 -0
  548. data/lib/templates/wordpress/wp-admin/js/theme.js +1726 -0
  549. data/lib/templates/wordpress/wp-admin/js/theme.min.js +1 -0
  550. data/lib/templates/wordpress/wp-admin/js/updates.js +553 -0
  551. data/lib/templates/wordpress/wp-admin/js/updates.min.js +1 -0
  552. data/lib/templates/wordpress/wp-admin/js/user-profile.js +149 -0
  553. data/lib/templates/wordpress/wp-admin/js/user-profile.min.js +1 -0
  554. data/lib/templates/wordpress/wp-admin/js/user-suggest.js +30 -0
  555. data/lib/templates/wordpress/wp-admin/js/user-suggest.min.js +1 -0
  556. data/lib/templates/wordpress/wp-admin/js/widgets.js +494 -0
  557. data/lib/templates/wordpress/wp-admin/js/widgets.min.js +1 -0
  558. data/lib/templates/wordpress/wp-admin/js/word-count.js +44 -0
  559. data/lib/templates/wordpress/wp-admin/js/word-count.min.js +1 -0
  560. data/lib/templates/wordpress/wp-admin/js/wp-fullscreen.js +704 -0
  561. data/lib/templates/wordpress/wp-admin/js/wp-fullscreen.min.js +1 -0
  562. data/lib/templates/wordpress/wp-admin/js/xfn.js +17 -0
  563. data/lib/templates/wordpress/wp-admin/js/xfn.min.js +1 -0
  564. data/lib/templates/wordpress/wp-admin/link-add.php +29 -0
  565. data/lib/templates/wordpress/wp-admin/link-manager.php +99 -0
  566. data/lib/templates/wordpress/wp-admin/link-parse-opml.php +87 -0
  567. data/lib/templates/wordpress/wp-admin/link.php +117 -0
  568. data/lib/templates/wordpress/wp-admin/load-scripts.php +162 -0
  569. data/lib/templates/wordpress/wp-admin/load-styles.php +153 -0
  570. data/lib/templates/wordpress/wp-admin/maint/repair.php +124 -0
  571. data/lib/templates/wordpress/wp-admin/media-new.php +84 -0
  572. data/lib/templates/wordpress/wp-admin/media-upload.php +103 -0
  573. data/lib/templates/wordpress/wp-admin/media.php +146 -0
  574. data/lib/templates/wordpress/wp-admin/menu-header.php +242 -0
  575. data/lib/templates/wordpress/wp-admin/menu.php +269 -0
  576. data/lib/templates/wordpress/wp-admin/moderation.php +12 -0
  577. data/lib/templates/wordpress/wp-admin/ms-admin.php +13 -0
  578. data/lib/templates/wordpress/wp-admin/ms-delete-site.php +94 -0
  579. data/lib/templates/wordpress/wp-admin/ms-edit.php +13 -0
  580. data/lib/templates/wordpress/wp-admin/ms-options.php +12 -0
  581. data/lib/templates/wordpress/wp-admin/ms-sites.php +13 -0
  582. data/lib/templates/wordpress/wp-admin/ms-themes.php +13 -0
  583. data/lib/templates/wordpress/wp-admin/ms-upgrade-network.php +13 -0
  584. data/lib/templates/wordpress/wp-admin/ms-users.php +13 -0
  585. data/lib/templates/wordpress/wp-admin/my-sites.php +143 -0
  586. data/lib/templates/wordpress/wp-admin/nav-menus.php +796 -0
  587. data/lib/templates/wordpress/wp-admin/network.php +580 -0
  588. data/lib/templates/wordpress/wp-admin/network/about.php +16 -0
  589. data/lib/templates/wordpress/wp-admin/network/admin.php +32 -0
  590. data/lib/templates/wordpress/wp-admin/network/credits.php +16 -0
  591. data/lib/templates/wordpress/wp-admin/network/edit.php +42 -0
  592. data/lib/templates/wordpress/wp-admin/network/freedoms.php +16 -0
  593. data/lib/templates/wordpress/wp-admin/network/index.php +79 -0
  594. data/lib/templates/wordpress/wp-admin/network/menu.php +63 -0
  595. data/lib/templates/wordpress/wp-admin/network/plugin-editor.php +16 -0
  596. data/lib/templates/wordpress/wp-admin/network/plugin-install.php +19 -0
  597. data/lib/templates/wordpress/wp-admin/network/plugins.php +16 -0
  598. data/lib/templates/wordpress/wp-admin/network/profile.php +16 -0
  599. data/lib/templates/wordpress/wp-admin/network/settings.php +405 -0
  600. data/lib/templates/wordpress/wp-admin/network/setup.php +16 -0
  601. data/lib/templates/wordpress/wp-admin/network/site-info.php +187 -0
  602. data/lib/templates/wordpress/wp-admin/network/site-new.php +170 -0
  603. data/lib/templates/wordpress/wp-admin/network/site-settings.php +173 -0
  604. data/lib/templates/wordpress/wp-admin/network/site-themes.php +195 -0
  605. data/lib/templates/wordpress/wp-admin/network/site-users.php +317 -0
  606. data/lib/templates/wordpress/wp-admin/network/sites.php +275 -0
  607. data/lib/templates/wordpress/wp-admin/network/theme-editor.php +16 -0
  608. data/lib/templates/wordpress/wp-admin/network/theme-install.php +19 -0
  609. data/lib/templates/wordpress/wp-admin/network/themes.php +323 -0
  610. data/lib/templates/wordpress/wp-admin/network/update-core.php +16 -0
  611. data/lib/templates/wordpress/wp-admin/network/update.php +19 -0
  612. data/lib/templates/wordpress/wp-admin/network/upgrade.php +129 -0
  613. data/lib/templates/wordpress/wp-admin/network/user-edit.php +16 -0
  614. data/lib/templates/wordpress/wp-admin/network/user-new.php +107 -0
  615. data/lib/templates/wordpress/wp-admin/network/users.php +329 -0
  616. data/lib/templates/wordpress/wp-admin/options-discussion.php +306 -0
  617. data/lib/templates/wordpress/wp-admin/options-general.php +387 -0
  618. data/lib/templates/wordpress/wp-admin/options-head.php +18 -0
  619. data/lib/templates/wordpress/wp-admin/options-media.php +136 -0
  620. data/lib/templates/wordpress/wp-admin/options-permalink.php +288 -0
  621. data/lib/templates/wordpress/wp-admin/options-reading.php +182 -0
  622. data/lib/templates/wordpress/wp-admin/options-writing.php +178 -0
  623. data/lib/templates/wordpress/wp-admin/options.php +277 -0
  624. data/lib/templates/wordpress/wp-admin/plugin-editor.php +279 -0
  625. data/lib/templates/wordpress/wp-admin/plugin-install.php +138 -0
  626. data/lib/templates/wordpress/wp-admin/plugins.php +489 -0
  627. data/lib/templates/wordpress/wp-admin/post-new.php +76 -0
  628. data/lib/templates/wordpress/wp-admin/post.php +320 -0
  629. data/lib/templates/wordpress/wp-admin/press-this.php +21 -0
  630. data/lib/templates/wordpress/wp-admin/profile.php +18 -0
  631. data/lib/templates/wordpress/wp-admin/revision.php +135 -0
  632. data/lib/templates/wordpress/wp-admin/setup-config.php +352 -0
  633. data/lib/templates/wordpress/wp-admin/theme-editor.php +241 -0
  634. data/lib/templates/wordpress/wp-admin/theme-install.php +271 -0
  635. data/lib/templates/wordpress/wp-admin/themes.php +422 -0
  636. data/lib/templates/wordpress/wp-admin/tools.php +119 -0
  637. data/lib/templates/wordpress/wp-admin/update-core.php +661 -0
  638. data/lib/templates/wordpress/wp-admin/update.php +272 -0
  639. data/lib/templates/wordpress/wp-admin/upgrade-functions.php +12 -0
  640. data/lib/templates/wordpress/wp-admin/upgrade.php +120 -0
  641. data/lib/templates/wordpress/wp-admin/upload.php +294 -0
  642. data/lib/templates/wordpress/wp-admin/user-edit.php +592 -0
  643. data/lib/templates/wordpress/wp-admin/user-new.php +440 -0
  644. data/lib/templates/wordpress/wp-admin/user/about.php +13 -0
  645. data/lib/templates/wordpress/wp-admin/user/admin.php +32 -0
  646. data/lib/templates/wordpress/wp-admin/user/credits.php +13 -0
  647. data/lib/templates/wordpress/wp-admin/user/freedoms.php +13 -0
  648. data/lib/templates/wordpress/wp-admin/user/index.php +13 -0
  649. data/lib/templates/wordpress/wp-admin/user/menu.php +22 -0
  650. data/lib/templates/wordpress/wp-admin/user/profile.php +13 -0
  651. data/lib/templates/wordpress/wp-admin/user/user-edit.php +13 -0
  652. data/lib/templates/wordpress/wp-admin/users.php +475 -0
  653. data/lib/templates/wordpress/wp-admin/widgets.php +459 -0
  654. data/lib/templates/wordpress/wp-blog-header.php +18 -0
  655. data/lib/templates/wordpress/wp-comments-post.php +167 -0
  656. data/lib/templates/wordpress/wp-config-sample.php +80 -0
  657. data/lib/templates/wordpress/wp-content/index.php +2 -0
  658. data/lib/templates/wordpress/wp-content/plugins/akismet/.htaccess +34 -0
  659. data/lib/templates/wordpress/wp-content/plugins/akismet/_inc/akismet.css +366 -0
  660. data/lib/templates/wordpress/wp-content/plugins/akismet/_inc/akismet.js +160 -0
  661. data/lib/templates/wordpress/wp-content/plugins/akismet/_inc/form.js +30 -0
  662. data/lib/templates/wordpress/wp-content/plugins/akismet/_inc/img/logo-full-2x.png +0 -0
  663. data/lib/templates/wordpress/wp-content/plugins/akismet/akismet.php +59 -0
  664. data/lib/templates/wordpress/wp-content/plugins/akismet/class.akismet-admin.php +885 -0
  665. data/lib/templates/wordpress/wp-content/plugins/akismet/class.akismet-widget.php +110 -0
  666. data/lib/templates/wordpress/wp-content/plugins/akismet/class.akismet.php +1088 -0
  667. data/lib/templates/wordpress/wp-content/plugins/akismet/index.php +2 -0
  668. data/lib/templates/wordpress/wp-content/plugins/akismet/readme.txt +266 -0
  669. data/lib/templates/wordpress/wp-content/plugins/akismet/views/config.php +220 -0
  670. data/lib/templates/wordpress/wp-content/plugins/akismet/views/get.php +5 -0
  671. data/lib/templates/wordpress/wp-content/plugins/akismet/views/notice.php +102 -0
  672. data/lib/templates/wordpress/wp-content/plugins/akismet/views/start.php +95 -0
  673. data/lib/templates/wordpress/wp-content/plugins/akismet/views/stats.php +4 -0
  674. data/lib/templates/wordpress/wp-content/plugins/akismet/views/strict.php +7 -0
  675. data/lib/templates/wordpress/wp-content/plugins/akismet/wrapper.php +213 -0
  676. data/lib/templates/wordpress/wp-content/plugins/index.php +2 -0
  677. data/lib/templates/wordpress/wp-content/themes/index.php +2 -0
  678. data/lib/templates/wordpress/wp-content/themes/twentyfifteen/404.php +30 -0
  679. data/lib/templates/wordpress/wp-content/themes/twentyfifteen/archive.php +64 -0
  680. data/lib/templates/wordpress/wp-content/themes/twentyfifteen/author-bio.php +39 -0
  681. data/lib/templates/wordpress/wp-content/themes/twentyfifteen/comments.php +58 -0
  682. data/lib/templates/wordpress/wp-content/themes/twentyfifteen/content-link.php +60 -0
  683. data/lib/templates/wordpress/wp-content/themes/twentyfifteen/content-none.php +37 -0
  684. data/lib/templates/wordpress/wp-content/themes/twentyfifteen/content-page.php +37 -0
  685. data/lib/templates/wordpress/wp-content/themes/twentyfifteen/content-search.php +37 -0
  686. data/lib/templates/wordpress/wp-content/themes/twentyfifteen/content.php +60 -0
  687. data/lib/templates/wordpress/wp-content/themes/twentyfifteen/css/editor-style.css +493 -0
  688. data/lib/templates/wordpress/wp-content/themes/twentyfifteen/css/ie.css +948 -0
  689. data/lib/templates/wordpress/wp-content/themes/twentyfifteen/css/ie7.css +89 -0
  690. data/lib/templates/wordpress/wp-content/themes/twentyfifteen/footer.php +34 -0
  691. data/lib/templates/wordpress/wp-content/themes/twentyfifteen/functions.php +355 -0
  692. data/lib/templates/wordpress/wp-content/themes/twentyfifteen/genericons/COPYING.txt +9 -0
  693. data/lib/templates/wordpress/wp-content/themes/twentyfifteen/genericons/Genericons.eot +0 -0
  694. data/lib/templates/wordpress/wp-content/themes/twentyfifteen/genericons/Genericons.svg +543 -0
  695. data/lib/templates/wordpress/wp-content/themes/twentyfifteen/genericons/Genericons.ttf +0 -0
  696. data/lib/templates/wordpress/wp-content/themes/twentyfifteen/genericons/Genericons.woff +0 -0
  697. data/lib/templates/wordpress/wp-content/themes/twentyfifteen/genericons/LICENSE.txt +339 -0
  698. data/lib/templates/wordpress/wp-content/themes/twentyfifteen/genericons/README.md +152 -0
  699. data/lib/templates/wordpress/wp-content/themes/twentyfifteen/genericons/example.html +719 -0
  700. data/lib/templates/wordpress/wp-content/themes/twentyfifteen/genericons/genericons.css +209 -0
  701. data/lib/templates/wordpress/wp-content/themes/twentyfifteen/header.php +50 -0
  702. data/lib/templates/wordpress/wp-content/themes/twentyfifteen/image.php +94 -0
  703. data/lib/templates/wordpress/wp-content/themes/twentyfifteen/inc/back-compat.php +63 -0
  704. data/lib/templates/wordpress/wp-content/themes/twentyfifteen/inc/custom-header.php +356 -0
  705. data/lib/templates/wordpress/wp-content/themes/twentyfifteen/inc/customizer.php +715 -0
  706. data/lib/templates/wordpress/wp-content/themes/twentyfifteen/inc/template-tags.php +242 -0
  707. data/lib/templates/wordpress/wp-content/themes/twentyfifteen/index.php +61 -0
  708. data/lib/templates/wordpress/wp-content/themes/twentyfifteen/js/color-scheme-control.js +78 -0
  709. data/lib/templates/wordpress/wp-content/themes/twentyfifteen/js/customize-preview.js +35 -0
  710. data/lib/templates/wordpress/wp-content/themes/twentyfifteen/js/functions.js +162 -0
  711. data/lib/templates/wordpress/wp-content/themes/twentyfifteen/js/html5.js +9 -0
  712. data/lib/templates/wordpress/wp-content/themes/twentyfifteen/js/keyboard-image-navigation.js +22 -0
  713. data/lib/templates/wordpress/wp-content/themes/twentyfifteen/js/skip-link-focus-fix.js +26 -0
  714. data/lib/templates/wordpress/wp-content/themes/twentyfifteen/languages/twentyfifteen.pot +328 -0
  715. data/lib/templates/wordpress/wp-content/themes/twentyfifteen/page.php +38 -0
  716. data/lib/templates/wordpress/wp-content/themes/twentyfifteen/readme.txt +92 -0
  717. data/lib/templates/wordpress/wp-content/themes/twentyfifteen/rtl.css +840 -0
  718. data/lib/templates/wordpress/wp-content/themes/twentyfifteen/screenshot.png +0 -0
  719. data/lib/templates/wordpress/wp-content/themes/twentyfifteen/search.php +53 -0
  720. data/lib/templates/wordpress/wp-content/themes/twentyfifteen/sidebar.php +47 -0
  721. data/lib/templates/wordpress/wp-content/themes/twentyfifteen/single.php +48 -0
  722. data/lib/templates/wordpress/wp-content/themes/twentyfifteen/style.css +5994 -0
  723. data/lib/templates/wordpress/wp-content/themes/twentyfourteen/404.php +32 -0
  724. data/lib/templates/wordpress/wp-content/themes/twentyfourteen/archive.php +74 -0
  725. data/lib/templates/wordpress/wp-content/themes/twentyfourteen/author.php +74 -0
  726. data/lib/templates/wordpress/wp-content/themes/twentyfourteen/category.php +58 -0
  727. data/lib/templates/wordpress/wp-content/themes/twentyfourteen/comments.php +66 -0
  728. data/lib/templates/wordpress/wp-content/themes/twentyfourteen/content-aside.php +62 -0
  729. data/lib/templates/wordpress/wp-content/themes/twentyfourteen/content-audio.php +62 -0
  730. data/lib/templates/wordpress/wp-content/themes/twentyfourteen/content-featured-post.php +34 -0
  731. data/lib/templates/wordpress/wp-content/themes/twentyfourteen/content-gallery.php +62 -0
  732. data/lib/templates/wordpress/wp-content/themes/twentyfourteen/content-image.php +62 -0
  733. data/lib/templates/wordpress/wp-content/themes/twentyfourteen/content-link.php +62 -0
  734. data/lib/templates/wordpress/wp-content/themes/twentyfourteen/content-none.php +31 -0
  735. data/lib/templates/wordpress/wp-content/themes/twentyfourteen/content-page.php +31 -0
  736. data/lib/templates/wordpress/wp-content/themes/twentyfourteen/content-quote.php +62 -0
  737. data/lib/templates/wordpress/wp-content/themes/twentyfourteen/content-video.php +62 -0
  738. data/lib/templates/wordpress/wp-content/themes/twentyfourteen/content.php +71 -0
  739. data/lib/templates/wordpress/wp-content/themes/twentyfourteen/css/editor-style.css +737 -0
  740. data/lib/templates/wordpress/wp-content/themes/twentyfourteen/css/ie.css +1335 -0
  741. data/lib/templates/wordpress/wp-content/themes/twentyfourteen/featured-content.php +39 -0
  742. data/lib/templates/wordpress/wp-content/themes/twentyfourteen/footer.php +28 -0
  743. data/lib/templates/wordpress/wp-content/themes/twentyfourteen/functions.php +519 -0
  744. data/lib/templates/wordpress/wp-content/themes/twentyfourteen/genericons/COPYING.txt +9 -0
  745. data/lib/templates/wordpress/wp-content/themes/twentyfourteen/genericons/Genericons-Regular.otf +0 -0
  746. data/lib/templates/wordpress/wp-content/themes/twentyfourteen/genericons/LICENSE.txt +339 -0
  747. data/lib/templates/wordpress/wp-content/themes/twentyfourteen/genericons/README.txt +123 -0
  748. data/lib/templates/wordpress/wp-content/themes/twentyfourteen/genericons/example.html +464 -0
  749. data/lib/templates/wordpress/wp-content/themes/twentyfourteen/genericons/font/genericons-regular-webfont.eot +0 -0
  750. data/lib/templates/wordpress/wp-content/themes/twentyfourteen/genericons/font/genericons-regular-webfont.svg +135 -0
  751. data/lib/templates/wordpress/wp-content/themes/twentyfourteen/genericons/font/genericons-regular-webfont.ttf +0 -0
  752. data/lib/templates/wordpress/wp-content/themes/twentyfourteen/genericons/font/genericons-regular-webfont.woff +0 -0
  753. data/lib/templates/wordpress/wp-content/themes/twentyfourteen/genericons/genericons.css +197 -0
  754. data/lib/templates/wordpress/wp-content/themes/twentyfourteen/header.php +65 -0
  755. data/lib/templates/wordpress/wp-content/themes/twentyfourteen/image.php +79 -0
  756. data/lib/templates/wordpress/wp-content/themes/twentyfourteen/images/pattern-dark.svg +16 -0
  757. data/lib/templates/wordpress/wp-content/themes/twentyfourteen/images/pattern-light.svg +6 -0
  758. data/lib/templates/wordpress/wp-content/themes/twentyfourteen/inc/back-compat.php +63 -0
  759. data/lib/templates/wordpress/wp-content/themes/twentyfourteen/inc/custom-header.php +147 -0
  760. data/lib/templates/wordpress/wp-content/themes/twentyfourteen/inc/customizer.php +115 -0
  761. data/lib/templates/wordpress/wp-content/themes/twentyfourteen/inc/featured-content.php +531 -0
  762. data/lib/templates/wordpress/wp-content/themes/twentyfourteen/inc/template-tags.php +227 -0
  763. data/lib/templates/wordpress/wp-content/themes/twentyfourteen/inc/widgets.php +269 -0
  764. data/lib/templates/wordpress/wp-content/themes/twentyfourteen/index.php +61 -0
  765. data/lib/templates/wordpress/wp-content/themes/twentyfourteen/js/customizer.js +38 -0
  766. data/lib/templates/wordpress/wp-content/themes/twentyfourteen/js/featured-content-admin.js +9 -0
  767. data/lib/templates/wordpress/wp-content/themes/twentyfourteen/js/functions.js +170 -0
  768. data/lib/templates/wordpress/wp-content/themes/twentyfourteen/js/html5.js +8 -0
  769. data/lib/templates/wordpress/wp-content/themes/twentyfourteen/js/keyboard-image-navigation.js +21 -0
  770. data/lib/templates/wordpress/wp-content/themes/twentyfourteen/js/slider.js +598 -0
  771. data/lib/templates/wordpress/wp-content/themes/twentyfourteen/languages/twentyfourteen.pot +480 -0
  772. data/lib/templates/wordpress/wp-content/themes/twentyfourteen/page-templates/contributors.php +52 -0
  773. data/lib/templates/wordpress/wp-content/themes/twentyfourteen/page-templates/full-width.php +42 -0
  774. data/lib/templates/wordpress/wp-content/themes/twentyfourteen/page.php +48 -0
  775. data/lib/templates/wordpress/wp-content/themes/twentyfourteen/rtl.css +854 -0
  776. data/lib/templates/wordpress/wp-content/themes/twentyfourteen/screenshot.png +0 -0
  777. data/lib/templates/wordpress/wp-content/themes/twentyfourteen/search.php +49 -0
  778. data/lib/templates/wordpress/wp-content/themes/twentyfourteen/sidebar-content.php +16 -0
  779. data/lib/templates/wordpress/wp-content/themes/twentyfourteen/sidebar-footer.php +19 -0
  780. data/lib/templates/wordpress/wp-content/themes/twentyfourteen/sidebar.php +29 -0
  781. data/lib/templates/wordpress/wp-content/themes/twentyfourteen/single.php +40 -0
  782. data/lib/templates/wordpress/wp-content/themes/twentyfourteen/style.css +4321 -0
  783. data/lib/templates/wordpress/wp-content/themes/twentyfourteen/tag.php +60 -0
  784. data/lib/templates/wordpress/wp-content/themes/twentyfourteen/taxonomy-post_format.php +85 -0
  785. data/lib/templates/wordpress/wp-content/themes/twentythirteen/404.php +31 -0
  786. data/lib/templates/wordpress/wp-content/themes/twentythirteen/archive.php +55 -0
  787. data/lib/templates/wordpress/wp-content/themes/twentythirteen/author-bio.php +34 -0
  788. data/lib/templates/wordpress/wp-content/themes/twentythirteen/author.php +62 -0
  789. data/lib/templates/wordpress/wp-content/themes/twentythirteen/category.php +41 -0
  790. data/lib/templates/wordpress/wp-content/themes/twentythirteen/comments.php +59 -0
  791. data/lib/templates/wordpress/wp-content/themes/twentythirteen/content-aside.php +38 -0
  792. data/lib/templates/wordpress/wp-content/themes/twentythirteen/content-audio.php +44 -0
  793. data/lib/templates/wordpress/wp-content/themes/twentythirteen/content-chat.php +38 -0
  794. data/lib/templates/wordpress/wp-content/themes/twentythirteen/content-gallery.php +52 -0
  795. data/lib/templates/wordpress/wp-content/themes/twentythirteen/content-image.php +48 -0
  796. data/lib/templates/wordpress/wp-content/themes/twentythirteen/content-link.php +43 -0
  797. data/lib/templates/wordpress/wp-content/themes/twentythirteen/content-none.php +31 -0
  798. data/lib/templates/wordpress/wp-content/themes/twentythirteen/content-quote.php +34 -0
  799. data/lib/templates/wordpress/wp-content/themes/twentythirteen/content-status.php +32 -0
  800. data/lib/templates/wordpress/wp-content/themes/twentythirteen/content-video.php +48 -0
  801. data/lib/templates/wordpress/wp-content/themes/twentythirteen/content.php +64 -0
  802. data/lib/templates/wordpress/wp-content/themes/twentythirteen/css/editor-style.css +787 -0
  803. data/lib/templates/wordpress/wp-content/themes/twentythirteen/css/ie.css +288 -0
  804. data/lib/templates/wordpress/wp-content/themes/twentythirteen/footer.php +26 -0
  805. data/lib/templates/wordpress/wp-content/themes/twentythirteen/functions.php +552 -0
  806. data/lib/templates/wordpress/wp-content/themes/twentythirteen/genericons/COPYING.txt +9 -0
  807. data/lib/templates/wordpress/wp-content/themes/twentythirteen/genericons/Genericons-Regular.otf +0 -0
  808. data/lib/templates/wordpress/wp-content/themes/twentythirteen/genericons/LICENSE.txt +339 -0
  809. data/lib/templates/wordpress/wp-content/themes/twentythirteen/genericons/README.txt +123 -0
  810. data/lib/templates/wordpress/wp-content/themes/twentythirteen/genericons/example.html +464 -0
  811. data/lib/templates/wordpress/wp-content/themes/twentythirteen/genericons/font/genericons-regular-webfont.eot +0 -0
  812. data/lib/templates/wordpress/wp-content/themes/twentythirteen/genericons/font/genericons-regular-webfont.svg +135 -0
  813. data/lib/templates/wordpress/wp-content/themes/twentythirteen/genericons/font/genericons-regular-webfont.ttf +0 -0
  814. data/lib/templates/wordpress/wp-content/themes/twentythirteen/genericons/font/genericons-regular-webfont.woff +0 -0
  815. data/lib/templates/wordpress/wp-content/themes/twentythirteen/genericons/genericons.css +197 -0
  816. data/lib/templates/wordpress/wp-content/themes/twentythirteen/header.php +51 -0
  817. data/lib/templates/wordpress/wp-content/themes/twentythirteen/image.php +82 -0
  818. data/lib/templates/wordpress/wp-content/themes/twentythirteen/images/dotted-line-2x.png +0 -0
  819. data/lib/templates/wordpress/wp-content/themes/twentythirteen/images/dotted-line-light-2x.png +0 -0
  820. data/lib/templates/wordpress/wp-content/themes/twentythirteen/images/dotted-line-light.png +0 -0
  821. data/lib/templates/wordpress/wp-content/themes/twentythirteen/images/dotted-line.png +0 -0
  822. data/lib/templates/wordpress/wp-content/themes/twentythirteen/images/headers/circle-thumbnail.png +0 -0
  823. data/lib/templates/wordpress/wp-content/themes/twentythirteen/images/headers/circle.png +0 -0
  824. data/lib/templates/wordpress/wp-content/themes/twentythirteen/images/headers/diamond-thumbnail.png +0 -0
  825. data/lib/templates/wordpress/wp-content/themes/twentythirteen/images/headers/diamond.png +0 -0
  826. data/lib/templates/wordpress/wp-content/themes/twentythirteen/images/headers/star-thumbnail.png +0 -0
  827. data/lib/templates/wordpress/wp-content/themes/twentythirteen/images/headers/star.png +0 -0
  828. data/lib/templates/wordpress/wp-content/themes/twentythirteen/images/search-icon-2x.png +0 -0
  829. data/lib/templates/wordpress/wp-content/themes/twentythirteen/images/search-icon.png +0 -0
  830. data/lib/templates/wordpress/wp-content/themes/twentythirteen/inc/back-compat.php +63 -0
  831. data/lib/templates/wordpress/wp-content/themes/twentythirteen/inc/custom-header.php +230 -0
  832. data/lib/templates/wordpress/wp-content/themes/twentythirteen/index.php +38 -0
  833. data/lib/templates/wordpress/wp-content/themes/twentythirteen/js/functions.js +132 -0
  834. data/lib/templates/wordpress/wp-content/themes/twentythirteen/js/html5.js +8 -0
  835. data/lib/templates/wordpress/wp-content/themes/twentythirteen/js/theme-customizer.js +41 -0
  836. data/lib/templates/wordpress/wp-content/themes/twentythirteen/languages/twentythirteen.pot +336 -0
  837. data/lib/templates/wordpress/wp-content/themes/twentythirteen/page.php +50 -0
  838. data/lib/templates/wordpress/wp-content/themes/twentythirteen/rtl.css +766 -0
  839. data/lib/templates/wordpress/wp-content/themes/twentythirteen/screenshot.png +0 -0
  840. data/lib/templates/wordpress/wp-content/themes/twentythirteen/search.php +36 -0
  841. data/lib/templates/wordpress/wp-content/themes/twentythirteen/sidebar-main.php +18 -0
  842. data/lib/templates/wordpress/wp-content/themes/twentythirteen/sidebar.php +22 -0
  843. data/lib/templates/wordpress/wp-content/themes/twentythirteen/single.php +28 -0
  844. data/lib/templates/wordpress/wp-content/themes/twentythirteen/style.css +3227 -0
  845. data/lib/templates/wordpress/wp-content/themes/twentythirteen/tag.php +43 -0
  846. data/lib/templates/wordpress/wp-content/themes/twentythirteen/taxonomy-post_format.php +41 -0
  847. data/lib/templates/wordpress/wp-cron.php +124 -0
  848. data/lib/templates/wordpress/wp-includes/ID3/getid3.lib.php +1376 -0
  849. data/lib/templates/wordpress/wp-includes/ID3/getid3.php +1796 -0
  850. data/lib/templates/wordpress/wp-includes/ID3/license.commercial.txt +27 -0
  851. data/lib/templates/wordpress/wp-includes/ID3/license.txt +29 -0
  852. data/lib/templates/wordpress/wp-includes/ID3/module.audio-video.asf.php +2013 -0
  853. data/lib/templates/wordpress/wp-includes/ID3/module.audio-video.flv.php +745 -0
  854. data/lib/templates/wordpress/wp-includes/ID3/module.audio-video.matroska.php +1751 -0
  855. data/lib/templates/wordpress/wp-includes/ID3/module.audio-video.quicktime.php +2246 -0
  856. data/lib/templates/wordpress/wp-includes/ID3/module.audio-video.riff.php +2586 -0
  857. data/lib/templates/wordpress/wp-includes/ID3/module.audio.ac3.php +474 -0
  858. data/lib/templates/wordpress/wp-includes/ID3/module.audio.dts.php +291 -0
  859. data/lib/templates/wordpress/wp-includes/ID3/module.audio.flac.php +443 -0
  860. data/lib/templates/wordpress/wp-includes/ID3/module.audio.mp3.php +2012 -0
  861. data/lib/templates/wordpress/wp-includes/ID3/module.audio.ogg.php +756 -0
  862. data/lib/templates/wordpress/wp-includes/ID3/module.tag.apetag.php +371 -0
  863. data/lib/templates/wordpress/wp-includes/ID3/module.tag.id3v1.php +360 -0
  864. data/lib/templates/wordpress/wp-includes/ID3/module.tag.id3v2.php +3424 -0
  865. data/lib/templates/wordpress/wp-includes/ID3/module.tag.lyrics3.php +294 -0
  866. data/lib/templates/wordpress/wp-includes/ID3/readme.txt +604 -0
  867. data/lib/templates/wordpress/wp-includes/SimplePie/Author.php +157 -0
  868. data/lib/templates/wordpress/wp-includes/SimplePie/Cache.php +133 -0
  869. data/lib/templates/wordpress/wp-includes/SimplePie/Cache/Base.php +114 -0
  870. data/lib/templates/wordpress/wp-includes/SimplePie/Cache/DB.php +137 -0
  871. data/lib/templates/wordpress/wp-includes/SimplePie/Cache/File.php +173 -0
  872. data/lib/templates/wordpress/wp-includes/SimplePie/Cache/Memcache.php +183 -0
  873. data/lib/templates/wordpress/wp-includes/SimplePie/Cache/MySQL.php +438 -0
  874. data/lib/templates/wordpress/wp-includes/SimplePie/Caption.php +210 -0
  875. data/lib/templates/wordpress/wp-includes/SimplePie/Category.php +157 -0
  876. data/lib/templates/wordpress/wp-includes/SimplePie/Content/Type/Sniffer.php +332 -0
  877. data/lib/templates/wordpress/wp-includes/SimplePie/Copyright.php +130 -0
  878. data/lib/templates/wordpress/wp-includes/SimplePie/Core.php +57 -0
  879. data/lib/templates/wordpress/wp-includes/SimplePie/Credit.php +156 -0
  880. data/lib/templates/wordpress/wp-includes/SimplePie/Decode/HTML/Entities.php +617 -0
  881. data/lib/templates/wordpress/wp-includes/SimplePie/Enclosure.php +1380 -0
  882. data/lib/templates/wordpress/wp-includes/SimplePie/Exception.php +52 -0
  883. data/lib/templates/wordpress/wp-includes/SimplePie/File.php +292 -0
  884. data/lib/templates/wordpress/wp-includes/SimplePie/HTTP/Parser.php +500 -0
  885. data/lib/templates/wordpress/wp-includes/SimplePie/IRI.php +1238 -0
  886. data/lib/templates/wordpress/wp-includes/SimplePie/Item.php +2964 -0
  887. data/lib/templates/wordpress/wp-includes/SimplePie/Locator.php +372 -0
  888. data/lib/templates/wordpress/wp-includes/SimplePie/Misc.php +2247 -0
  889. data/lib/templates/wordpress/wp-includes/SimplePie/Net/IPv6.php +276 -0
  890. data/lib/templates/wordpress/wp-includes/SimplePie/Parse/Date.php +983 -0
  891. data/lib/templates/wordpress/wp-includes/SimplePie/Parser.php +407 -0
  892. data/lib/templates/wordpress/wp-includes/SimplePie/Rating.php +129 -0
  893. data/lib/templates/wordpress/wp-includes/SimplePie/Registry.php +225 -0
  894. data/lib/templates/wordpress/wp-includes/SimplePie/Restriction.php +155 -0
  895. data/lib/templates/wordpress/wp-includes/SimplePie/Sanitize.php +554 -0
  896. data/lib/templates/wordpress/wp-includes/SimplePie/Source.php +611 -0
  897. data/lib/templates/wordpress/wp-includes/SimplePie/XML/Declaration/Parser.php +362 -0
  898. data/lib/templates/wordpress/wp-includes/SimplePie/gzdecode.php +371 -0
  899. data/lib/templates/wordpress/wp-includes/Text/Diff.php +450 -0
  900. data/lib/templates/wordpress/wp-includes/Text/Diff/Engine/native.php +436 -0
  901. data/lib/templates/wordpress/wp-includes/Text/Diff/Engine/shell.php +162 -0
  902. data/lib/templates/wordpress/wp-includes/Text/Diff/Engine/string.php +248 -0
  903. data/lib/templates/wordpress/wp-includes/Text/Diff/Engine/xdiff.php +64 -0
  904. data/lib/templates/wordpress/wp-includes/Text/Diff/Renderer.php +235 -0
  905. data/lib/templates/wordpress/wp-includes/Text/Diff/Renderer/inline.php +206 -0
  906. data/lib/templates/wordpress/wp-includes/admin-bar.php +959 -0
  907. data/lib/templates/wordpress/wp-includes/atomlib.php +352 -0
  908. data/lib/templates/wordpress/wp-includes/author-template.php +453 -0
  909. data/lib/templates/wordpress/wp-includes/bookmark-template.php +298 -0
  910. data/lib/templates/wordpress/wp-includes/bookmark.php +415 -0
  911. data/lib/templates/wordpress/wp-includes/cache.php +714 -0
  912. data/lib/templates/wordpress/wp-includes/canonical.php +587 -0
  913. data/lib/templates/wordpress/wp-includes/capabilities.php +1575 -0
  914. data/lib/templates/wordpress/wp-includes/category-template.php +1459 -0
  915. data/lib/templates/wordpress/wp-includes/category.php +339 -0
  916. data/lib/templates/wordpress/wp-includes/certificates/ca-bundle.crt +3785 -0
  917. data/lib/templates/wordpress/wp-includes/class-IXR.php +1111 -0
  918. data/lib/templates/wordpress/wp-includes/class-feed.php +141 -0
  919. data/lib/templates/wordpress/wp-includes/class-http.php +2276 -0
  920. data/lib/templates/wordpress/wp-includes/class-json.php +936 -0
  921. data/lib/templates/wordpress/wp-includes/class-oembed.php +615 -0
  922. data/lib/templates/wordpress/wp-includes/class-phpass.php +268 -0
  923. data/lib/templates/wordpress/wp-includes/class-phpmailer.php +3265 -0
  924. data/lib/templates/wordpress/wp-includes/class-pop3.php +652 -0
  925. data/lib/templates/wordpress/wp-includes/class-simplepie.php +3119 -0
  926. data/lib/templates/wordpress/wp-includes/class-smtp.php +943 -0
  927. data/lib/templates/wordpress/wp-includes/class-snoopy.php +1256 -0
  928. data/lib/templates/wordpress/wp-includes/class-wp-admin-bar.php +519 -0
  929. data/lib/templates/wordpress/wp-includes/class-wp-ajax-response.php +145 -0
  930. data/lib/templates/wordpress/wp-includes/class-wp-customize-control.php +1378 -0
  931. data/lib/templates/wordpress/wp-includes/class-wp-customize-manager.php +1591 -0
  932. data/lib/templates/wordpress/wp-includes/class-wp-customize-panel.php +333 -0
  933. data/lib/templates/wordpress/wp-includes/class-wp-customize-section.php +453 -0
  934. data/lib/templates/wordpress/wp-includes/class-wp-customize-setting.php +629 -0
  935. data/lib/templates/wordpress/wp-includes/class-wp-customize-widgets.php +1549 -0
  936. data/lib/templates/wordpress/wp-includes/class-wp-editor.php +1492 -0
  937. data/lib/templates/wordpress/wp-includes/class-wp-embed.php +357 -0
  938. data/lib/templates/wordpress/wp-includes/class-wp-error.php +219 -0
  939. data/lib/templates/wordpress/wp-includes/class-wp-http-ixr-client.php +108 -0
  940. data/lib/templates/wordpress/wp-includes/class-wp-image-editor-gd.php +470 -0
  941. data/lib/templates/wordpress/wp-includes/class-wp-image-editor-imagick.php +516 -0
  942. data/lib/templates/wordpress/wp-includes/class-wp-image-editor.php +485 -0
  943. data/lib/templates/wordpress/wp-includes/class-wp-theme.php +1237 -0
  944. data/lib/templates/wordpress/wp-includes/class-wp-walker.php +416 -0
  945. data/lib/templates/wordpress/wp-includes/class-wp-xmlrpc-server.php +5935 -0
  946. data/lib/templates/wordpress/wp-includes/class-wp.php +714 -0
  947. data/lib/templates/wordpress/wp-includes/class.wp-dependencies.php +509 -0
  948. data/lib/templates/wordpress/wp-includes/class.wp-scripts.php +284 -0
  949. data/lib/templates/wordpress/wp-includes/class.wp-styles.php +248 -0
  950. data/lib/templates/wordpress/wp-includes/comment-template.php +2421 -0
  951. data/lib/templates/wordpress/wp-includes/comment.php +3066 -0
  952. data/lib/templates/wordpress/wp-includes/compat.php +149 -0
  953. data/lib/templates/wordpress/wp-includes/cron.php +470 -0
  954. data/lib/templates/wordpress/wp-includes/css/admin-bar-rtl.css +1123 -0
  955. data/lib/templates/wordpress/wp-includes/css/admin-bar-rtl.min.css +1 -0
  956. data/lib/templates/wordpress/wp-includes/css/admin-bar.css +1123 -0
  957. data/lib/templates/wordpress/wp-includes/css/admin-bar.min.css +1 -0
  958. data/lib/templates/wordpress/wp-includes/css/buttons-rtl.css +360 -0
  959. data/lib/templates/wordpress/wp-includes/css/buttons-rtl.min.css +1 -0
  960. data/lib/templates/wordpress/wp-includes/css/buttons.css +360 -0
  961. data/lib/templates/wordpress/wp-includes/css/buttons.min.css +1 -0
  962. data/lib/templates/wordpress/wp-includes/css/dashicons.css +958 -0
  963. data/lib/templates/wordpress/wp-includes/css/dashicons.min.css +1 -0
  964. data/lib/templates/wordpress/wp-includes/css/editor-rtl.css +2143 -0
  965. data/lib/templates/wordpress/wp-includes/css/editor-rtl.min.css +1 -0
  966. data/lib/templates/wordpress/wp-includes/css/editor.css +2143 -0
  967. data/lib/templates/wordpress/wp-includes/css/editor.min.css +1 -0
  968. data/lib/templates/wordpress/wp-includes/css/jquery-ui-dialog-rtl.css +362 -0
  969. data/lib/templates/wordpress/wp-includes/css/jquery-ui-dialog-rtl.min.css +17 -0
  970. data/lib/templates/wordpress/wp-includes/css/jquery-ui-dialog.css +362 -0
  971. data/lib/templates/wordpress/wp-includes/css/jquery-ui-dialog.min.css +17 -0
  972. data/lib/templates/wordpress/wp-includes/css/media-views-rtl.css +2601 -0
  973. data/lib/templates/wordpress/wp-includes/css/media-views-rtl.min.css +8 -0
  974. data/lib/templates/wordpress/wp-includes/css/media-views.css +2601 -0
  975. data/lib/templates/wordpress/wp-includes/css/media-views.min.css +8 -0
  976. data/lib/templates/wordpress/wp-includes/css/wp-auth-check-rtl.css +109 -0
  977. data/lib/templates/wordpress/wp-includes/css/wp-auth-check-rtl.min.css +1 -0
  978. data/lib/templates/wordpress/wp-includes/css/wp-auth-check.css +109 -0
  979. data/lib/templates/wordpress/wp-includes/css/wp-auth-check.min.css +1 -0
  980. data/lib/templates/wordpress/wp-includes/css/wp-pointer-rtl.css +212 -0
  981. data/lib/templates/wordpress/wp-includes/css/wp-pointer-rtl.min.css +1 -0
  982. data/lib/templates/wordpress/wp-includes/css/wp-pointer.css +212 -0
  983. data/lib/templates/wordpress/wp-includes/css/wp-pointer.min.css +1 -0
  984. data/lib/templates/wordpress/wp-includes/date.php +1013 -0
  985. data/lib/templates/wordpress/wp-includes/default-constants.php +323 -0
  986. data/lib/templates/wordpress/wp-includes/default-filters.php +392 -0
  987. data/lib/templates/wordpress/wp-includes/default-widgets.php +1479 -0
  988. data/lib/templates/wordpress/wp-includes/deprecated.php +3493 -0
  989. data/lib/templates/wordpress/wp-includes/feed-atom-comments.php +115 -0
  990. data/lib/templates/wordpress/wp-includes/feed-atom.php +87 -0
  991. data/lib/templates/wordpress/wp-includes/feed-rdf.php +85 -0
  992. data/lib/templates/wordpress/wp-includes/feed-rss.php +46 -0
  993. data/lib/templates/wordpress/wp-includes/feed-rss2-comments.php +101 -0
  994. data/lib/templates/wordpress/wp-includes/feed-rss2.php +117 -0
  995. data/lib/templates/wordpress/wp-includes/feed.php +651 -0
  996. data/lib/templates/wordpress/wp-includes/fonts/dashicons.eot +0 -0
  997. data/lib/templates/wordpress/wp-includes/fonts/dashicons.svg +253 -0
  998. data/lib/templates/wordpress/wp-includes/fonts/dashicons.ttf +0 -0
  999. data/lib/templates/wordpress/wp-includes/fonts/dashicons.woff +0 -0
  1000. data/lib/templates/wordpress/wp-includes/formatting.php +4377 -0
  1001. data/lib/templates/wordpress/wp-includes/functions.php +4847 -0
  1002. data/lib/templates/wordpress/wp-includes/functions.wp-scripts.php +296 -0
  1003. data/lib/templates/wordpress/wp-includes/functions.wp-styles.php +222 -0
  1004. data/lib/templates/wordpress/wp-includes/general-template.php +3159 -0
  1005. data/lib/templates/wordpress/wp-includes/http.php +552 -0
  1006. data/lib/templates/wordpress/wp-includes/images/admin-bar-sprite-2x.png +0 -0
  1007. data/lib/templates/wordpress/wp-includes/images/admin-bar-sprite.png +0 -0
  1008. data/lib/templates/wordpress/wp-includes/images/arrow-pointer-blue-2x.png +0 -0
  1009. data/lib/templates/wordpress/wp-includes/images/arrow-pointer-blue.png +0 -0
  1010. data/lib/templates/wordpress/wp-includes/images/blank.gif +0 -0
  1011. data/lib/templates/wordpress/wp-includes/images/crystal/archive.png +0 -0
  1012. data/lib/templates/wordpress/wp-includes/images/crystal/audio.png +0 -0
  1013. data/lib/templates/wordpress/wp-includes/images/crystal/code.png +0 -0
  1014. data/lib/templates/wordpress/wp-includes/images/crystal/default.png +0 -0
  1015. data/lib/templates/wordpress/wp-includes/images/crystal/document.png +0 -0
  1016. data/lib/templates/wordpress/wp-includes/images/crystal/interactive.png +0 -0
  1017. data/lib/templates/wordpress/wp-includes/images/crystal/license.txt +9 -0
  1018. data/lib/templates/wordpress/wp-includes/images/crystal/spreadsheet.png +0 -0
  1019. data/lib/templates/wordpress/wp-includes/images/crystal/text.png +0 -0
  1020. data/lib/templates/wordpress/wp-includes/images/crystal/video.png +0 -0
  1021. data/lib/templates/wordpress/wp-includes/images/down_arrow-2x.gif +0 -0
  1022. data/lib/templates/wordpress/wp-includes/images/down_arrow.gif +0 -0
  1023. data/lib/templates/wordpress/wp-includes/images/icon-pointer-flag-2x.png +0 -0
  1024. data/lib/templates/wordpress/wp-includes/images/icon-pointer-flag.png +0 -0
  1025. data/lib/templates/wordpress/wp-includes/images/media/archive.png +0 -0
  1026. data/lib/templates/wordpress/wp-includes/images/media/audio.png +0 -0
  1027. data/lib/templates/wordpress/wp-includes/images/media/code.png +0 -0
  1028. data/lib/templates/wordpress/wp-includes/images/media/default.png +0 -0
  1029. data/lib/templates/wordpress/wp-includes/images/media/document.png +0 -0
  1030. data/lib/templates/wordpress/wp-includes/images/media/interactive.png +0 -0
  1031. data/lib/templates/wordpress/wp-includes/images/media/spreadsheet.png +0 -0
  1032. data/lib/templates/wordpress/wp-includes/images/media/text.png +0 -0
  1033. data/lib/templates/wordpress/wp-includes/images/media/video.png +0 -0
  1034. data/lib/templates/wordpress/wp-includes/images/rss-2x.png +0 -0
  1035. data/lib/templates/wordpress/wp-includes/images/rss.png +0 -0
  1036. data/lib/templates/wordpress/wp-includes/images/smilies/frownie.png +0 -0
  1037. data/lib/templates/wordpress/wp-includes/images/smilies/icon_arrow.gif +0 -0
  1038. data/lib/templates/wordpress/wp-includes/images/smilies/icon_biggrin.gif +0 -0
  1039. data/lib/templates/wordpress/wp-includes/images/smilies/icon_confused.gif +0 -0
  1040. data/lib/templates/wordpress/wp-includes/images/smilies/icon_cool.gif +0 -0
  1041. data/lib/templates/wordpress/wp-includes/images/smilies/icon_cry.gif +0 -0
  1042. data/lib/templates/wordpress/wp-includes/images/smilies/icon_eek.gif +0 -0
  1043. data/lib/templates/wordpress/wp-includes/images/smilies/icon_evil.gif +0 -0
  1044. data/lib/templates/wordpress/wp-includes/images/smilies/icon_exclaim.gif +0 -0
  1045. data/lib/templates/wordpress/wp-includes/images/smilies/icon_idea.gif +0 -0
  1046. data/lib/templates/wordpress/wp-includes/images/smilies/icon_lol.gif +0 -0
  1047. data/lib/templates/wordpress/wp-includes/images/smilies/icon_mad.gif +0 -0
  1048. data/lib/templates/wordpress/wp-includes/images/smilies/icon_mrgreen.gif +0 -0
  1049. data/lib/templates/wordpress/wp-includes/images/smilies/icon_neutral.gif +0 -0
  1050. data/lib/templates/wordpress/wp-includes/images/smilies/icon_question.gif +0 -0
  1051. data/lib/templates/wordpress/wp-includes/images/smilies/icon_razz.gif +0 -0
  1052. data/lib/templates/wordpress/wp-includes/images/smilies/icon_redface.gif +0 -0
  1053. data/lib/templates/wordpress/wp-includes/images/smilies/icon_rolleyes.gif +0 -0
  1054. data/lib/templates/wordpress/wp-includes/images/smilies/icon_sad.gif +0 -0
  1055. data/lib/templates/wordpress/wp-includes/images/smilies/icon_smile.gif +0 -0
  1056. data/lib/templates/wordpress/wp-includes/images/smilies/icon_surprised.gif +0 -0
  1057. data/lib/templates/wordpress/wp-includes/images/smilies/icon_twisted.gif +0 -0
  1058. data/lib/templates/wordpress/wp-includes/images/smilies/icon_wink.gif +0 -0
  1059. data/lib/templates/wordpress/wp-includes/images/smilies/mrgreen.png +0 -0
  1060. data/lib/templates/wordpress/wp-includes/images/smilies/rolleyes.png +0 -0
  1061. data/lib/templates/wordpress/wp-includes/images/smilies/simple-smile.png +0 -0
  1062. data/lib/templates/wordpress/wp-includes/images/spinner-2x.gif +0 -0
  1063. data/lib/templates/wordpress/wp-includes/images/spinner.gif +0 -0
  1064. data/lib/templates/wordpress/wp-includes/images/toggle-arrow-2x.png +0 -0
  1065. data/lib/templates/wordpress/wp-includes/images/toggle-arrow.png +0 -0
  1066. data/lib/templates/wordpress/wp-includes/images/uploader-icons-2x.png +0 -0
  1067. data/lib/templates/wordpress/wp-includes/images/uploader-icons.png +0 -0
  1068. data/lib/templates/wordpress/wp-includes/images/wlw/wp-comments.png +0 -0
  1069. data/lib/templates/wordpress/wp-includes/images/wlw/wp-icon.png +0 -0
  1070. data/lib/templates/wordpress/wp-includes/images/wlw/wp-watermark.png +0 -0
  1071. data/lib/templates/wordpress/wp-includes/images/wpicons-2x.png +0 -0
  1072. data/lib/templates/wordpress/wp-includes/images/wpicons.png +0 -0
  1073. data/lib/templates/wordpress/wp-includes/images/wpspin-2x.gif +0 -0
  1074. data/lib/templates/wordpress/wp-includes/images/wpspin.gif +0 -0
  1075. data/lib/templates/wordpress/wp-includes/images/xit-2x.gif +0 -0
  1076. data/lib/templates/wordpress/wp-includes/images/xit.gif +0 -0
  1077. data/lib/templates/wordpress/wp-includes/js/admin-bar.js +379 -0
  1078. data/lib/templates/wordpress/wp-includes/js/admin-bar.min.js +1 -0
  1079. data/lib/templates/wordpress/wp-includes/js/autosave.js +591 -0
  1080. data/lib/templates/wordpress/wp-includes/js/autosave.min.js +1 -0
  1081. data/lib/templates/wordpress/wp-includes/js/backbone.min.js +1 -0
  1082. data/lib/templates/wordpress/wp-includes/js/colorpicker.js +707 -0
  1083. data/lib/templates/wordpress/wp-includes/js/colorpicker.min.js +1 -0
  1084. data/lib/templates/wordpress/wp-includes/js/comment-reply.js +47 -0
  1085. data/lib/templates/wordpress/wp-includes/js/comment-reply.min.js +1 -0
  1086. data/lib/templates/wordpress/wp-includes/js/crop/cropper.css +165 -0
  1087. data/lib/templates/wordpress/wp-includes/js/crop/cropper.js +516 -0
  1088. data/lib/templates/wordpress/wp-includes/js/crop/marqueeHoriz.gif +0 -0
  1089. data/lib/templates/wordpress/wp-includes/js/crop/marqueeVert.gif +0 -0
  1090. data/lib/templates/wordpress/wp-includes/js/customize-base.js +647 -0
  1091. data/lib/templates/wordpress/wp-includes/js/customize-base.min.js +1 -0
  1092. data/lib/templates/wordpress/wp-includes/js/customize-loader.js +259 -0
  1093. data/lib/templates/wordpress/wp-includes/js/customize-loader.min.js +1 -0
  1094. data/lib/templates/wordpress/wp-includes/js/customize-models.js +247 -0
  1095. data/lib/templates/wordpress/wp-includes/js/customize-models.min.js +1 -0
  1096. data/lib/templates/wordpress/wp-includes/js/customize-preview-widgets.js +129 -0
  1097. data/lib/templates/wordpress/wp-includes/js/customize-preview-widgets.min.js +1 -0
  1098. data/lib/templates/wordpress/wp-includes/js/customize-preview.js +171 -0
  1099. data/lib/templates/wordpress/wp-includes/js/customize-preview.min.js +1 -0
  1100. data/lib/templates/wordpress/wp-includes/js/customize-views.js +231 -0
  1101. data/lib/templates/wordpress/wp-includes/js/customize-views.min.js +1 -0
  1102. data/lib/templates/wordpress/wp-includes/js/heartbeat.js +750 -0
  1103. data/lib/templates/wordpress/wp-includes/js/heartbeat.min.js +1 -0
  1104. data/lib/templates/wordpress/wp-includes/js/hoverIntent.js +115 -0
  1105. data/lib/templates/wordpress/wp-includes/js/hoverIntent.min.js +1 -0
  1106. data/lib/templates/wordpress/wp-includes/js/imgareaselect/border-anim-h.gif +0 -0
  1107. data/lib/templates/wordpress/wp-includes/js/imgareaselect/border-anim-v.gif +0 -0
  1108. data/lib/templates/wordpress/wp-includes/js/imgareaselect/imgareaselect.css +41 -0
  1109. data/lib/templates/wordpress/wp-includes/js/imgareaselect/jquery.imgareaselect.js +1205 -0
  1110. data/lib/templates/wordpress/wp-includes/js/imgareaselect/jquery.imgareaselect.min.js +1 -0
  1111. data/lib/templates/wordpress/wp-includes/js/jcrop/Jcrop.gif +0 -0
  1112. data/lib/templates/wordpress/wp-includes/js/jcrop/jquery.Jcrop.min.css +29 -0
  1113. data/lib/templates/wordpress/wp-includes/js/jcrop/jquery.Jcrop.min.js +22 -0
  1114. data/lib/templates/wordpress/wp-includes/js/jquery/jquery-migrate.js +521 -0
  1115. data/lib/templates/wordpress/wp-includes/js/jquery/jquery-migrate.min.js +2 -0
  1116. data/lib/templates/wordpress/wp-includes/js/jquery/jquery.color.min.js +2 -0
  1117. data/lib/templates/wordpress/wp-includes/js/jquery/jquery.form.js +1193 -0
  1118. data/lib/templates/wordpress/wp-includes/js/jquery/jquery.form.min.js +11 -0
  1119. data/lib/templates/wordpress/wp-includes/js/jquery/jquery.hotkeys.js +134 -0
  1120. data/lib/templates/wordpress/wp-includes/js/jquery/jquery.hotkeys.min.js +1 -0
  1121. data/lib/templates/wordpress/wp-includes/js/jquery/jquery.js +5 -0
  1122. data/lib/templates/wordpress/wp-includes/js/jquery/jquery.masonry.min.js +11 -0
  1123. data/lib/templates/wordpress/wp-includes/js/jquery/jquery.query.js +11 -0
  1124. data/lib/templates/wordpress/wp-includes/js/jquery/jquery.schedule.js +36 -0
  1125. data/lib/templates/wordpress/wp-includes/js/jquery/jquery.serialize-object.js +31 -0
  1126. data/lib/templates/wordpress/wp-includes/js/jquery/jquery.table-hotkeys.js +99 -0
  1127. data/lib/templates/wordpress/wp-includes/js/jquery/jquery.table-hotkeys.min.js +1 -0
  1128. data/lib/templates/wordpress/wp-includes/js/jquery/jquery.ui.touch-punch.js +11 -0
  1129. data/lib/templates/wordpress/wp-includes/js/jquery/suggest.js +316 -0
  1130. data/lib/templates/wordpress/wp-includes/js/jquery/suggest.min.js +1 -0
  1131. data/lib/templates/wordpress/wp-includes/js/jquery/ui/accordion.min.js +11 -0
  1132. data/lib/templates/wordpress/wp-includes/js/jquery/ui/autocomplete.min.js +11 -0
  1133. data/lib/templates/wordpress/wp-includes/js/jquery/ui/button.min.js +11 -0
  1134. data/lib/templates/wordpress/wp-includes/js/jquery/ui/core.min.js +11 -0
  1135. data/lib/templates/wordpress/wp-includes/js/jquery/ui/datepicker.min.js +12 -0
  1136. data/lib/templates/wordpress/wp-includes/js/jquery/ui/dialog.min.js +11 -0
  1137. data/lib/templates/wordpress/wp-includes/js/jquery/ui/draggable.min.js +11 -0
  1138. data/lib/templates/wordpress/wp-includes/js/jquery/ui/droppable.min.js +11 -0
  1139. data/lib/templates/wordpress/wp-includes/js/jquery/ui/effect-blind.min.js +11 -0
  1140. data/lib/templates/wordpress/wp-includes/js/jquery/ui/effect-bounce.min.js +11 -0
  1141. data/lib/templates/wordpress/wp-includes/js/jquery/ui/effect-clip.min.js +11 -0
  1142. data/lib/templates/wordpress/wp-includes/js/jquery/ui/effect-drop.min.js +11 -0
  1143. data/lib/templates/wordpress/wp-includes/js/jquery/ui/effect-explode.min.js +11 -0
  1144. data/lib/templates/wordpress/wp-includes/js/jquery/ui/effect-fade.min.js +11 -0
  1145. data/lib/templates/wordpress/wp-includes/js/jquery/ui/effect-fold.min.js +11 -0
  1146. data/lib/templates/wordpress/wp-includes/js/jquery/ui/effect-highlight.min.js +11 -0
  1147. data/lib/templates/wordpress/wp-includes/js/jquery/ui/effect-puff.min.js +11 -0
  1148. data/lib/templates/wordpress/wp-includes/js/jquery/ui/effect-pulsate.min.js +11 -0
  1149. data/lib/templates/wordpress/wp-includes/js/jquery/ui/effect-scale.min.js +11 -0
  1150. data/lib/templates/wordpress/wp-includes/js/jquery/ui/effect-shake.min.js +11 -0
  1151. data/lib/templates/wordpress/wp-includes/js/jquery/ui/effect-size.min.js +11 -0
  1152. data/lib/templates/wordpress/wp-includes/js/jquery/ui/effect-slide.min.js +11 -0
  1153. data/lib/templates/wordpress/wp-includes/js/jquery/ui/effect-transfer.min.js +11 -0
  1154. data/lib/templates/wordpress/wp-includes/js/jquery/ui/effect.min.js +21 -0
  1155. data/lib/templates/wordpress/wp-includes/js/jquery/ui/menu.min.js +11 -0
  1156. data/lib/templates/wordpress/wp-includes/js/jquery/ui/mouse.min.js +11 -0
  1157. data/lib/templates/wordpress/wp-includes/js/jquery/ui/position.min.js +11 -0
  1158. data/lib/templates/wordpress/wp-includes/js/jquery/ui/progressbar.min.js +11 -0
  1159. data/lib/templates/wordpress/wp-includes/js/jquery/ui/resizable.min.js +11 -0
  1160. data/lib/templates/wordpress/wp-includes/js/jquery/ui/selectable.min.js +11 -0
  1161. data/lib/templates/wordpress/wp-includes/js/jquery/ui/selectmenu.min.js +11 -0
  1162. data/lib/templates/wordpress/wp-includes/js/jquery/ui/slider.min.js +11 -0
  1163. data/lib/templates/wordpress/wp-includes/js/jquery/ui/sortable.min.js +11 -0
  1164. data/lib/templates/wordpress/wp-includes/js/jquery/ui/spinner.min.js +11 -0
  1165. data/lib/templates/wordpress/wp-includes/js/jquery/ui/tabs.min.js +11 -0
  1166. data/lib/templates/wordpress/wp-includes/js/jquery/ui/tooltip.min.js +11 -0
  1167. data/lib/templates/wordpress/wp-includes/js/jquery/ui/widget.min.js +11 -0
  1168. data/lib/templates/wordpress/wp-includes/js/json2.js +480 -0
  1169. data/lib/templates/wordpress/wp-includes/js/json2.min.js +1 -0
  1170. data/lib/templates/wordpress/wp-includes/js/masonry.min.js +17 -0
  1171. data/lib/templates/wordpress/wp-includes/js/mce-view.js +881 -0
  1172. data/lib/templates/wordpress/wp-includes/js/mce-view.min.js +1 -0
  1173. data/lib/templates/wordpress/wp-includes/js/media-audiovideo.js +934 -0
  1174. data/lib/templates/wordpress/wp-includes/js/media-audiovideo.min.js +1 -0
  1175. data/lib/templates/wordpress/wp-includes/js/media-editor.js +1114 -0
  1176. data/lib/templates/wordpress/wp-includes/js/media-editor.min.js +1 -0
  1177. data/lib/templates/wordpress/wp-includes/js/media-grid.js +863 -0
  1178. data/lib/templates/wordpress/wp-includes/js/media-grid.min.js +1 -0
  1179. data/lib/templates/wordpress/wp-includes/js/media-models.js +1503 -0
  1180. data/lib/templates/wordpress/wp-includes/js/media-models.min.js +1 -0
  1181. data/lib/templates/wordpress/wp-includes/js/media-views.js +8421 -0
  1182. data/lib/templates/wordpress/wp-includes/js/media-views.min.js +4 -0
  1183. data/lib/templates/wordpress/wp-includes/js/mediaelement/background.png +0 -0
  1184. data/lib/templates/wordpress/wp-includes/js/mediaelement/bigplay.png +0 -0
  1185. data/lib/templates/wordpress/wp-includes/js/mediaelement/bigplay.svg +1 -0
  1186. data/lib/templates/wordpress/wp-includes/js/mediaelement/controls.png +0 -0
  1187. data/lib/templates/wordpress/wp-includes/js/mediaelement/controls.svg +1 -0
  1188. data/lib/templates/wordpress/wp-includes/js/mediaelement/flashmediaelement.swf +0 -0
  1189. data/lib/templates/wordpress/wp-includes/js/mediaelement/froogaloop.min.js +4 -0
  1190. data/lib/templates/wordpress/wp-includes/js/mediaelement/loading.gif +0 -0
  1191. data/lib/templates/wordpress/wp-includes/js/mediaelement/mediaelement-and-player.min.js +28 -0
  1192. data/lib/templates/wordpress/wp-includes/js/mediaelement/mediaelementplayer.min.css +1 -0
  1193. data/lib/templates/wordpress/wp-includes/js/mediaelement/silverlightmediaelement.xap +0 -0
  1194. data/lib/templates/wordpress/wp-includes/js/mediaelement/skipback.png +0 -0
  1195. data/lib/templates/wordpress/wp-includes/js/mediaelement/wp-mediaelement.css +308 -0
  1196. data/lib/templates/wordpress/wp-includes/js/mediaelement/wp-mediaelement.js +34 -0
  1197. data/lib/templates/wordpress/wp-includes/js/mediaelement/wp-playlist.js +175 -0
  1198. data/lib/templates/wordpress/wp-includes/js/plupload/handlers.js +488 -0
  1199. data/lib/templates/wordpress/wp-includes/js/plupload/handlers.min.js +1 -0
  1200. data/lib/templates/wordpress/wp-includes/js/plupload/license.txt +339 -0
  1201. data/lib/templates/wordpress/wp-includes/js/plupload/plupload.flash.swf +0 -0
  1202. data/lib/templates/wordpress/wp-includes/js/plupload/plupload.full.min.js +28 -0
  1203. data/lib/templates/wordpress/wp-includes/js/plupload/plupload.silverlight.xap +0 -0
  1204. data/lib/templates/wordpress/wp-includes/js/plupload/wp-plupload.js +424 -0
  1205. data/lib/templates/wordpress/wp-includes/js/plupload/wp-plupload.min.js +1 -0
  1206. data/lib/templates/wordpress/wp-includes/js/quicktags.js +683 -0
  1207. data/lib/templates/wordpress/wp-includes/js/quicktags.min.js +1 -0
  1208. data/lib/templates/wordpress/wp-includes/js/shortcode.js +356 -0
  1209. data/lib/templates/wordpress/wp-includes/js/shortcode.min.js +1 -0
  1210. data/lib/templates/wordpress/wp-includes/js/swfobject.js +4 -0
  1211. data/lib/templates/wordpress/wp-includes/js/swfupload/handlers.js +376 -0
  1212. data/lib/templates/wordpress/wp-includes/js/swfupload/handlers.min.js +1 -0
  1213. data/lib/templates/wordpress/wp-includes/js/swfupload/license.txt +32 -0
  1214. data/lib/templates/wordpress/wp-includes/js/swfupload/plugins/swfupload.cookies.js +53 -0
  1215. data/lib/templates/wordpress/wp-includes/js/swfupload/plugins/swfupload.queue.js +98 -0
  1216. data/lib/templates/wordpress/wp-includes/js/swfupload/plugins/swfupload.speed.js +342 -0
  1217. data/lib/templates/wordpress/wp-includes/js/swfupload/plugins/swfupload.swfobject.js +105 -0
  1218. data/lib/templates/wordpress/wp-includes/js/swfupload/swfupload.js +980 -0
  1219. data/lib/templates/wordpress/wp-includes/js/swfupload/swfupload.swf +0 -0
  1220. data/lib/templates/wordpress/wp-includes/js/thickbox/loadingAnimation.gif +0 -0
  1221. data/lib/templates/wordpress/wp-includes/js/thickbox/macFFBgHack.png +0 -0
  1222. data/lib/templates/wordpress/wp-includes/js/thickbox/thickbox.css +138 -0
  1223. data/lib/templates/wordpress/wp-includes/js/thickbox/thickbox.js +314 -0
  1224. data/lib/templates/wordpress/wp-includes/js/tinymce/langs/wp-langs-en.js +519 -0
  1225. data/lib/templates/wordpress/wp-includes/js/tinymce/license.txt +504 -0
  1226. data/lib/templates/wordpress/wp-includes/js/tinymce/plugins/charmap/plugin.js +396 -0
  1227. data/lib/templates/wordpress/wp-includes/js/tinymce/plugins/charmap/plugin.min.js +1 -0
  1228. data/lib/templates/wordpress/wp-includes/js/tinymce/plugins/colorpicker/plugin.js +112 -0
  1229. data/lib/templates/wordpress/wp-includes/js/tinymce/plugins/colorpicker/plugin.min.js +1 -0
  1230. data/lib/templates/wordpress/wp-includes/js/tinymce/plugins/compat3x/css/dialog.css +212 -0
  1231. data/lib/templates/wordpress/wp-includes/js/tinymce/plugins/compat3x/plugin.js +304 -0
  1232. data/lib/templates/wordpress/wp-includes/js/tinymce/plugins/compat3x/plugin.min.js +1 -0
  1233. data/lib/templates/wordpress/wp-includes/js/tinymce/plugins/directionality/plugin.js +64 -0
  1234. data/lib/templates/wordpress/wp-includes/js/tinymce/plugins/directionality/plugin.min.js +1 -0
  1235. data/lib/templates/wordpress/wp-includes/js/tinymce/plugins/fullscreen/plugin.js +136 -0
  1236. data/lib/templates/wordpress/wp-includes/js/tinymce/plugins/fullscreen/plugin.min.js +1 -0
  1237. data/lib/templates/wordpress/wp-includes/js/tinymce/plugins/hr/plugin.js +30 -0
  1238. data/lib/templates/wordpress/wp-includes/js/tinymce/plugins/hr/plugin.min.js +1 -0
  1239. data/lib/templates/wordpress/wp-includes/js/tinymce/plugins/image/plugin.js +568 -0
  1240. data/lib/templates/wordpress/wp-includes/js/tinymce/plugins/image/plugin.min.js +1 -0
  1241. data/lib/templates/wordpress/wp-includes/js/tinymce/plugins/lists/plugin.js +813 -0
  1242. data/lib/templates/wordpress/wp-includes/js/tinymce/plugins/lists/plugin.min.js +1 -0
  1243. data/lib/templates/wordpress/wp-includes/js/tinymce/plugins/media/moxieplayer.swf +0 -0
  1244. data/lib/templates/wordpress/wp-includes/js/tinymce/plugins/media/plugin.js +782 -0
  1245. data/lib/templates/wordpress/wp-includes/js/tinymce/plugins/media/plugin.min.js +1 -0
  1246. data/lib/templates/wordpress/wp-includes/js/tinymce/plugins/paste/plugin.js +1606 -0
  1247. data/lib/templates/wordpress/wp-includes/js/tinymce/plugins/paste/plugin.min.js +1 -0
  1248. data/lib/templates/wordpress/wp-includes/js/tinymce/plugins/tabfocus/plugin.js +120 -0
  1249. data/lib/templates/wordpress/wp-includes/js/tinymce/plugins/tabfocus/plugin.min.js +1 -0
  1250. data/lib/templates/wordpress/wp-includes/js/tinymce/plugins/textcolor/plugin.js +282 -0
  1251. data/lib/templates/wordpress/wp-includes/js/tinymce/plugins/textcolor/plugin.min.js +1 -0
  1252. data/lib/templates/wordpress/wp-includes/js/tinymce/plugins/wordpress/plugin.js +754 -0
  1253. data/lib/templates/wordpress/wp-includes/js/tinymce/plugins/wordpress/plugin.min.js +1 -0
  1254. data/lib/templates/wordpress/wp-includes/js/tinymce/plugins/wpautoresize/plugin.js +207 -0
  1255. data/lib/templates/wordpress/wp-includes/js/tinymce/plugins/wpautoresize/plugin.min.js +1 -0
  1256. data/lib/templates/wordpress/wp-includes/js/tinymce/plugins/wpdialogs/plugin.js +92 -0
  1257. data/lib/templates/wordpress/wp-includes/js/tinymce/plugins/wpdialogs/plugin.min.js +1 -0
  1258. data/lib/templates/wordpress/wp-includes/js/tinymce/plugins/wpeditimage/plugin.js +976 -0
  1259. data/lib/templates/wordpress/wp-includes/js/tinymce/plugins/wpeditimage/plugin.min.js +1 -0
  1260. data/lib/templates/wordpress/wp-includes/js/tinymce/plugins/wpemoji/plugin.js +128 -0
  1261. data/lib/templates/wordpress/wp-includes/js/tinymce/plugins/wpemoji/plugin.min.js +1 -0
  1262. data/lib/templates/wordpress/wp-includes/js/tinymce/plugins/wpfullscreen/plugin.js +76 -0
  1263. data/lib/templates/wordpress/wp-includes/js/tinymce/plugins/wpfullscreen/plugin.min.js +1 -0
  1264. data/lib/templates/wordpress/wp-includes/js/tinymce/plugins/wpgallery/plugin.js +112 -0
  1265. data/lib/templates/wordpress/wp-includes/js/tinymce/plugins/wpgallery/plugin.min.js +1 -0
  1266. data/lib/templates/wordpress/wp-includes/js/tinymce/plugins/wplink/plugin.js +50 -0
  1267. data/lib/templates/wordpress/wp-includes/js/tinymce/plugins/wplink/plugin.min.js +1 -0
  1268. data/lib/templates/wordpress/wp-includes/js/tinymce/plugins/wpview/plugin.js +738 -0
  1269. data/lib/templates/wordpress/wp-includes/js/tinymce/plugins/wpview/plugin.min.js +1 -0
  1270. data/lib/templates/wordpress/wp-includes/js/tinymce/skins/lightgray/content.inline.min.css +1 -0
  1271. data/lib/templates/wordpress/wp-includes/js/tinymce/skins/lightgray/content.min.css +1 -0
  1272. data/lib/templates/wordpress/wp-includes/js/tinymce/skins/lightgray/fonts/readme.md +1 -0
  1273. data/lib/templates/wordpress/wp-includes/js/tinymce/skins/lightgray/fonts/tinymce-small.eot +0 -0
  1274. data/lib/templates/wordpress/wp-includes/js/tinymce/skins/lightgray/fonts/tinymce-small.svg +62 -0
  1275. data/lib/templates/wordpress/wp-includes/js/tinymce/skins/lightgray/fonts/tinymce-small.ttf +0 -0
  1276. data/lib/templates/wordpress/wp-includes/js/tinymce/skins/lightgray/fonts/tinymce-small.woff +0 -0
  1277. data/lib/templates/wordpress/wp-includes/js/tinymce/skins/lightgray/fonts/tinymce.eot +0 -0
  1278. data/lib/templates/wordpress/wp-includes/js/tinymce/skins/lightgray/fonts/tinymce.svg +63 -0
  1279. data/lib/templates/wordpress/wp-includes/js/tinymce/skins/lightgray/fonts/tinymce.ttf +0 -0
  1280. data/lib/templates/wordpress/wp-includes/js/tinymce/skins/lightgray/fonts/tinymce.woff +0 -0
  1281. data/lib/templates/wordpress/wp-includes/js/tinymce/skins/lightgray/img/anchor.gif +0 -0
  1282. data/lib/templates/wordpress/wp-includes/js/tinymce/skins/lightgray/img/loader.gif +0 -0
  1283. data/lib/templates/wordpress/wp-includes/js/tinymce/skins/lightgray/img/object.gif +0 -0
  1284. data/lib/templates/wordpress/wp-includes/js/tinymce/skins/lightgray/img/trans.gif +0 -0
  1285. data/lib/templates/wordpress/wp-includes/js/tinymce/skins/lightgray/skin.ie7.min.css +1 -0
  1286. data/lib/templates/wordpress/wp-includes/js/tinymce/skins/lightgray/skin.min.css +1 -0
  1287. data/lib/templates/wordpress/wp-includes/js/tinymce/skins/wordpress/images/audio.png +0 -0
  1288. data/lib/templates/wordpress/wp-includes/js/tinymce/skins/wordpress/images/dashicon-edit.png +0 -0
  1289. data/lib/templates/wordpress/wp-includes/js/tinymce/skins/wordpress/images/dashicon-no.png +0 -0
  1290. data/lib/templates/wordpress/wp-includes/js/tinymce/skins/wordpress/images/embedded.png +0 -0
  1291. data/lib/templates/wordpress/wp-includes/js/tinymce/skins/wordpress/images/gallery-2x.png +0 -0
  1292. data/lib/templates/wordpress/wp-includes/js/tinymce/skins/wordpress/images/gallery.png +0 -0
  1293. data/lib/templates/wordpress/wp-includes/js/tinymce/skins/wordpress/images/more-2x.png +0 -0
  1294. data/lib/templates/wordpress/wp-includes/js/tinymce/skins/wordpress/images/more.png +0 -0
  1295. data/lib/templates/wordpress/wp-includes/js/tinymce/skins/wordpress/images/pagebreak-2x.png +0 -0
  1296. data/lib/templates/wordpress/wp-includes/js/tinymce/skins/wordpress/images/pagebreak.png +0 -0
  1297. data/lib/templates/wordpress/wp-includes/js/tinymce/skins/wordpress/images/playlist-audio.png +0 -0
  1298. data/lib/templates/wordpress/wp-includes/js/tinymce/skins/wordpress/images/playlist-video.png +0 -0
  1299. data/lib/templates/wordpress/wp-includes/js/tinymce/skins/wordpress/images/video.png +0 -0
  1300. data/lib/templates/wordpress/wp-includes/js/tinymce/skins/wordpress/wp-content.css +539 -0
  1301. data/lib/templates/wordpress/wp-includes/js/tinymce/themes/modern/theme.js +617 -0
  1302. data/lib/templates/wordpress/wp-includes/js/tinymce/themes/modern/theme.min.js +1 -0
  1303. data/lib/templates/wordpress/wp-includes/js/tinymce/tiny_mce_popup.js +542 -0
  1304. data/lib/templates/wordpress/wp-includes/js/tinymce/tinymce.min.js +14 -0
  1305. data/lib/templates/wordpress/wp-includes/js/tinymce/utils/editable_selects.js +70 -0
  1306. data/lib/templates/wordpress/wp-includes/js/tinymce/utils/form_utils.js +210 -0
  1307. data/lib/templates/wordpress/wp-includes/js/tinymce/utils/mctabs.js +164 -0
  1308. data/lib/templates/wordpress/wp-includes/js/tinymce/utils/validate.js +252 -0
  1309. data/lib/templates/wordpress/wp-includes/js/tinymce/wp-mce-help.php +142 -0
  1310. data/lib/templates/wordpress/wp-includes/js/tinymce/wp-tinymce.js.gz +0 -0
  1311. data/lib/templates/wordpress/wp-includes/js/tinymce/wp-tinymce.php +39 -0
  1312. data/lib/templates/wordpress/wp-includes/js/tw-sack.js +193 -0
  1313. data/lib/templates/wordpress/wp-includes/js/tw-sack.min.js +1 -0
  1314. data/lib/templates/wordpress/wp-includes/js/twemoji.js +542 -0
  1315. data/lib/templates/wordpress/wp-includes/js/twemoji.min.js +1 -0
  1316. data/lib/templates/wordpress/wp-includes/js/underscore.min.js +5 -0
  1317. data/lib/templates/wordpress/wp-includes/js/utils.js +197 -0
  1318. data/lib/templates/wordpress/wp-includes/js/utils.min.js +1 -0
  1319. data/lib/templates/wordpress/wp-includes/js/wp-a11y.js +46 -0
  1320. data/lib/templates/wordpress/wp-includes/js/wp-a11y.min.js +1 -0
  1321. data/lib/templates/wordpress/wp-includes/js/wp-ajax-response.js +64 -0
  1322. data/lib/templates/wordpress/wp-includes/js/wp-ajax-response.min.js +1 -0
  1323. data/lib/templates/wordpress/wp-includes/js/wp-auth-check.js +114 -0
  1324. data/lib/templates/wordpress/wp-includes/js/wp-auth-check.min.js +1 -0
  1325. data/lib/templates/wordpress/wp-includes/js/wp-backbone.js +386 -0
  1326. data/lib/templates/wordpress/wp-includes/js/wp-backbone.min.js +1 -0
  1327. data/lib/templates/wordpress/wp-includes/js/wp-emoji-loader.js +76 -0
  1328. data/lib/templates/wordpress/wp-includes/js/wp-emoji-loader.min.js +1 -0
  1329. data/lib/templates/wordpress/wp-includes/js/wp-emoji-release.min.js +4 -0
  1330. data/lib/templates/wordpress/wp-includes/js/wp-emoji.js +170 -0
  1331. data/lib/templates/wordpress/wp-includes/js/wp-emoji.min.js +1 -0
  1332. data/lib/templates/wordpress/wp-includes/js/wp-list-revisions.js +24 -0
  1333. data/lib/templates/wordpress/wp-includes/js/wp-list-revisions.min.js +1 -0
  1334. data/lib/templates/wordpress/wp-includes/js/wp-lists.js +469 -0
  1335. data/lib/templates/wordpress/wp-includes/js/wp-lists.min.js +1 -0
  1336. data/lib/templates/wordpress/wp-includes/js/wp-pointer.js +282 -0
  1337. data/lib/templates/wordpress/wp-includes/js/wp-pointer.min.js +1 -0
  1338. data/lib/templates/wordpress/wp-includes/js/wp-util.js +112 -0
  1339. data/lib/templates/wordpress/wp-includes/js/wp-util.min.js +1 -0
  1340. data/lib/templates/wordpress/wp-includes/js/wpdialog.js +19 -0
  1341. data/lib/templates/wordpress/wp-includes/js/wpdialog.min.js +1 -0
  1342. data/lib/templates/wordpress/wp-includes/js/wplink.js +707 -0
  1343. data/lib/templates/wordpress/wp-includes/js/wplink.min.js +1 -0
  1344. data/lib/templates/wordpress/wp-includes/js/zxcvbn-async.js +18 -0
  1345. data/lib/templates/wordpress/wp-includes/js/zxcvbn-async.min.js +1 -0
  1346. data/lib/templates/wordpress/wp-includes/js/zxcvbn.min.js +47 -0
  1347. data/lib/templates/wordpress/wp-includes/kses.php +1543 -0
  1348. data/lib/templates/wordpress/wp-includes/l10n.php +956 -0
  1349. data/lib/templates/wordpress/wp-includes/link-template.php +3631 -0
  1350. data/lib/templates/wordpress/wp-includes/load.php +828 -0
  1351. data/lib/templates/wordpress/wp-includes/locale.php +365 -0
  1352. data/lib/templates/wordpress/wp-includes/media-template.php +1250 -0
  1353. data/lib/templates/wordpress/wp-includes/media.php +3440 -0
  1354. data/lib/templates/wordpress/wp-includes/meta.php +1667 -0
  1355. data/lib/templates/wordpress/wp-includes/ms-blogs.php +946 -0
  1356. data/lib/templates/wordpress/wp-includes/ms-default-constants.php +153 -0
  1357. data/lib/templates/wordpress/wp-includes/ms-default-filters.php +87 -0
  1358. data/lib/templates/wordpress/wp-includes/ms-deprecated.php +349 -0
  1359. data/lib/templates/wordpress/wp-includes/ms-files.php +82 -0
  1360. data/lib/templates/wordpress/wp-includes/ms-functions.php +2433 -0
  1361. data/lib/templates/wordpress/wp-includes/ms-load.php +472 -0
  1362. data/lib/templates/wordpress/wp-includes/ms-settings.php +213 -0
  1363. data/lib/templates/wordpress/wp-includes/nav-menu-template.php +675 -0
  1364. data/lib/templates/wordpress/wp-includes/nav-menu.php +900 -0
  1365. data/lib/templates/wordpress/wp-includes/option.php +1462 -0
  1366. data/lib/templates/wordpress/wp-includes/pluggable-deprecated.php +192 -0
  1367. data/lib/templates/wordpress/wp-includes/pluggable.php +2347 -0
  1368. data/lib/templates/wordpress/wp-includes/plugin.php +907 -0
  1369. data/lib/templates/wordpress/wp-includes/pomo/entry.php +78 -0
  1370. data/lib/templates/wordpress/wp-includes/pomo/mo.php +265 -0
  1371. data/lib/templates/wordpress/wp-includes/pomo/po.php +408 -0
  1372. data/lib/templates/wordpress/wp-includes/pomo/streams.php +241 -0
  1373. data/lib/templates/wordpress/wp-includes/pomo/translations.php +324 -0
  1374. data/lib/templates/wordpress/wp-includes/post-formats.php +232 -0
  1375. data/lib/templates/wordpress/wp-includes/post-template.php +1831 -0
  1376. data/lib/templates/wordpress/wp-includes/post-thumbnail-template.php +160 -0
  1377. data/lib/templates/wordpress/wp-includes/post.php +5937 -0
  1378. data/lib/templates/wordpress/wp-includes/query.php +4725 -0
  1379. data/lib/templates/wordpress/wp-includes/registration-functions.php +7 -0
  1380. data/lib/templates/wordpress/wp-includes/registration.php +7 -0
  1381. data/lib/templates/wordpress/wp-includes/revision.php +657 -0
  1382. data/lib/templates/wordpress/wp-includes/rewrite.php +2195 -0
  1383. data/lib/templates/wordpress/wp-includes/rss-functions.php +9 -0
  1384. data/lib/templates/wordpress/wp-includes/rss.php +936 -0
  1385. data/lib/templates/wordpress/wp-includes/script-loader.php +1090 -0
  1386. data/lib/templates/wordpress/wp-includes/session.php +439 -0
  1387. data/lib/templates/wordpress/wp-includes/shortcodes.php +404 -0
  1388. data/lib/templates/wordpress/wp-includes/taxonomy.php +4726 -0
  1389. data/lib/templates/wordpress/wp-includes/template-loader.php +76 -0
  1390. data/lib/templates/wordpress/wp-includes/template.php +505 -0
  1391. data/lib/templates/wordpress/wp-includes/theme-compat/comments-popup.php +131 -0
  1392. data/lib/templates/wordpress/wp-includes/theme-compat/comments.php +114 -0
  1393. data/lib/templates/wordpress/wp-includes/theme-compat/footer.php +30 -0
  1394. data/lib/templates/wordpress/wp-includes/theme-compat/header.php +49 -0
  1395. data/lib/templates/wordpress/wp-includes/theme-compat/sidebar.php +83 -0
  1396. data/lib/templates/wordpress/wp-includes/theme.php +2048 -0
  1397. data/lib/templates/wordpress/wp-includes/update.php +692 -0
  1398. data/lib/templates/wordpress/wp-includes/user.php +2462 -0
  1399. data/lib/templates/wordpress/wp-includes/vars.php +144 -0
  1400. data/lib/templates/wordpress/wp-includes/version.php +35 -0
  1401. data/lib/templates/wordpress/wp-includes/widgets.php +1720 -0
  1402. data/lib/templates/wordpress/wp-includes/wlwmanifest.xml +43 -0
  1403. data/lib/templates/wordpress/wp-includes/wp-db.php +2949 -0
  1404. data/lib/templates/wordpress/wp-includes/wp-diff.php +544 -0
  1405. data/lib/templates/wordpress/wp-links-opml.php +80 -0
  1406. data/lib/templates/wordpress/wp-load.php +81 -0
  1407. data/lib/templates/wordpress/wp-login.php +987 -0
  1408. data/lib/templates/wordpress/wp-mail.php +260 -0
  1409. data/lib/templates/wordpress/wp-settings.php +374 -0
  1410. data/lib/templates/wordpress/wp-signup.php +732 -0
  1411. data/lib/templates/wordpress/wp-trackback.php +127 -0
  1412. data/lib/templates/wordpress/xmlrpc.php +101 -0
  1413. metadata +1455 -0
@@ -0,0 +1,1667 @@
1
+ <?php
2
+ /**
3
+ * Metadata API
4
+ *
5
+ * Functions for retrieving and manipulating metadata of various WordPress object types. Metadata
6
+ * for an object is a represented by a simple key-value pair. Objects may contain multiple
7
+ * metadata entries that share the same key and differ only in their value.
8
+ *
9
+ * @package WordPress
10
+ * @subpackage Meta
11
+ * @since 2.9.0
12
+ */
13
+
14
+ /**
15
+ * Add metadata for the specified object.
16
+ *
17
+ * @since 2.9.0
18
+ *
19
+ * @global wpdb $wpdb WordPress database abstraction object.
20
+ *
21
+ * @param string $meta_type Type of object metadata is for (e.g., comment, post, or user)
22
+ * @param int $object_id ID of the object metadata is for
23
+ * @param string $meta_key Metadata key
24
+ * @param mixed $meta_value Metadata value. Must be serializable if non-scalar.
25
+ * @param bool $unique Optional, default is false. Whether the specified metadata key should be
26
+ * unique for the object. If true, and the object already has a value for the specified
27
+ * metadata key, no change will be made
28
+ * @return int|bool The meta ID on success, false on failure.
29
+ */
30
+ function add_metadata($meta_type, $object_id, $meta_key, $meta_value, $unique = false) {
31
+ global $wpdb;
32
+
33
+ if ( ! $meta_type || ! $meta_key || ! is_numeric( $object_id ) ) {
34
+ return false;
35
+ }
36
+
37
+ $object_id = absint( $object_id );
38
+ if ( ! $object_id ) {
39
+ return false;
40
+ }
41
+
42
+ $table = _get_meta_table( $meta_type );
43
+ if ( ! $table ) {
44
+ return false;
45
+ }
46
+
47
+ $column = sanitize_key($meta_type . '_id');
48
+
49
+ // expected_slashed ($meta_key)
50
+ $meta_key = wp_unslash($meta_key);
51
+ $meta_value = wp_unslash($meta_value);
52
+ $meta_value = sanitize_meta( $meta_key, $meta_value, $meta_type );
53
+
54
+ /**
55
+ * Filter whether to add metadata of a specific type.
56
+ *
57
+ * The dynamic portion of the hook, `$meta_type`, refers to the meta
58
+ * object type (comment, post, or user). Returning a non-null value
59
+ * will effectively short-circuit the function.
60
+ *
61
+ * @since 3.1.0
62
+ *
63
+ * @param null|bool $check Whether to allow adding metadata for the given type.
64
+ * @param int $object_id Object ID.
65
+ * @param string $meta_key Meta key.
66
+ * @param mixed $meta_value Meta value. Must be serializable if non-scalar.
67
+ * @param bool $unique Whether the specified meta key should be unique
68
+ * for the object. Optional. Default false.
69
+ */
70
+ $check = apply_filters( "add_{$meta_type}_metadata", null, $object_id, $meta_key, $meta_value, $unique );
71
+ if ( null !== $check )
72
+ return $check;
73
+
74
+ if ( $unique && $wpdb->get_var( $wpdb->prepare(
75
+ "SELECT COUNT(*) FROM $table WHERE meta_key = %s AND $column = %d",
76
+ $meta_key, $object_id ) ) )
77
+ return false;
78
+
79
+ $_meta_value = $meta_value;
80
+ $meta_value = maybe_serialize( $meta_value );
81
+
82
+ /**
83
+ * Fires immediately before meta of a specific type is added.
84
+ *
85
+ * The dynamic portion of the hook, `$meta_type`, refers to the meta
86
+ * object type (comment, post, or user).
87
+ *
88
+ * @since 3.1.0
89
+ *
90
+ * @param int $object_id Object ID.
91
+ * @param string $meta_key Meta key.
92
+ * @param mixed $meta_value Meta value.
93
+ */
94
+ do_action( "add_{$meta_type}_meta", $object_id, $meta_key, $_meta_value );
95
+
96
+ $result = $wpdb->insert( $table, array(
97
+ $column => $object_id,
98
+ 'meta_key' => $meta_key,
99
+ 'meta_value' => $meta_value
100
+ ) );
101
+
102
+ if ( ! $result )
103
+ return false;
104
+
105
+ $mid = (int) $wpdb->insert_id;
106
+
107
+ wp_cache_delete($object_id, $meta_type . '_meta');
108
+
109
+ /**
110
+ * Fires immediately after meta of a specific type is added.
111
+ *
112
+ * The dynamic portion of the hook, `$meta_type`, refers to the meta
113
+ * object type (comment, post, or user).
114
+ *
115
+ * @since 2.9.0
116
+ *
117
+ * @param int $mid The meta ID after successful update.
118
+ * @param int $object_id Object ID.
119
+ * @param string $meta_key Meta key.
120
+ * @param mixed $meta_value Meta value.
121
+ */
122
+ do_action( "added_{$meta_type}_meta", $mid, $object_id, $meta_key, $_meta_value );
123
+
124
+ return $mid;
125
+ }
126
+
127
+ /**
128
+ * Update metadata for the specified object. If no value already exists for the specified object
129
+ * ID and metadata key, the metadata will be added.
130
+ *
131
+ * @since 2.9.0
132
+ *
133
+ * @global wpdb $wpdb WordPress database abstraction object.
134
+ *
135
+ * @param string $meta_type Type of object metadata is for (e.g., comment, post, or user)
136
+ * @param int $object_id ID of the object metadata is for
137
+ * @param string $meta_key Metadata key
138
+ * @param mixed $meta_value Metadata value. Must be serializable if non-scalar.
139
+ * @param mixed $prev_value Optional. If specified, only update existing metadata entries with
140
+ * the specified value. Otherwise, update all entries.
141
+ * @return int|bool Meta ID if the key didn't exist, true on successful update, false on failure.
142
+ */
143
+ function update_metadata($meta_type, $object_id, $meta_key, $meta_value, $prev_value = '') {
144
+ global $wpdb;
145
+
146
+ if ( ! $meta_type || ! $meta_key || ! is_numeric( $object_id ) ) {
147
+ return false;
148
+ }
149
+
150
+ $object_id = absint( $object_id );
151
+ if ( ! $object_id ) {
152
+ return false;
153
+ }
154
+
155
+ $table = _get_meta_table( $meta_type );
156
+ if ( ! $table ) {
157
+ return false;
158
+ }
159
+
160
+ $column = sanitize_key($meta_type . '_id');
161
+ $id_column = 'user' == $meta_type ? 'umeta_id' : 'meta_id';
162
+
163
+ // expected_slashed ($meta_key)
164
+ $meta_key = wp_unslash($meta_key);
165
+ $passed_value = $meta_value;
166
+ $meta_value = wp_unslash($meta_value);
167
+ $meta_value = sanitize_meta( $meta_key, $meta_value, $meta_type );
168
+
169
+ /**
170
+ * Filter whether to update metadata of a specific type.
171
+ *
172
+ * The dynamic portion of the hook, `$meta_type`, refers to the meta
173
+ * object type (comment, post, or user). Returning a non-null value
174
+ * will effectively short-circuit the function.
175
+ *
176
+ * @since 3.1.0
177
+ *
178
+ * @param null|bool $check Whether to allow updating metadata for the given type.
179
+ * @param int $object_id Object ID.
180
+ * @param string $meta_key Meta key.
181
+ * @param mixed $meta_value Meta value. Must be serializable if non-scalar.
182
+ * @param mixed $prev_value Optional. If specified, only update existing
183
+ * metadata entries with the specified value.
184
+ * Otherwise, update all entries.
185
+ */
186
+ $check = apply_filters( "update_{$meta_type}_metadata", null, $object_id, $meta_key, $meta_value, $prev_value );
187
+ if ( null !== $check )
188
+ return (bool) $check;
189
+
190
+ // Compare existing value to new value if no prev value given and the key exists only once.
191
+ if ( empty($prev_value) ) {
192
+ $old_value = get_metadata($meta_type, $object_id, $meta_key);
193
+ if ( count($old_value) == 1 ) {
194
+ if ( $old_value[0] === $meta_value )
195
+ return false;
196
+ }
197
+ }
198
+
199
+ $meta_ids = $wpdb->get_col( $wpdb->prepare( "SELECT $id_column FROM $table WHERE meta_key = %s AND $column = %d", $meta_key, $object_id ) );
200
+ if ( empty( $meta_ids ) ) {
201
+ return add_metadata($meta_type, $object_id, $meta_key, $passed_value);
202
+ }
203
+
204
+ $_meta_value = $meta_value;
205
+ $meta_value = maybe_serialize( $meta_value );
206
+
207
+ $data = compact( 'meta_value' );
208
+ $where = array( $column => $object_id, 'meta_key' => $meta_key );
209
+
210
+ if ( !empty( $prev_value ) ) {
211
+ $prev_value = maybe_serialize($prev_value);
212
+ $where['meta_value'] = $prev_value;
213
+ }
214
+
215
+ foreach ( $meta_ids as $meta_id ) {
216
+ /**
217
+ * Fires immediately before updating metadata of a specific type.
218
+ *
219
+ * The dynamic portion of the hook, `$meta_type`, refers to the meta
220
+ * object type (comment, post, or user).
221
+ *
222
+ * @since 2.9.0
223
+ *
224
+ * @param int $meta_id ID of the metadata entry to update.
225
+ * @param int $object_id Object ID.
226
+ * @param string $meta_key Meta key.
227
+ * @param mixed $meta_value Meta value.
228
+ */
229
+ do_action( "update_{$meta_type}_meta", $meta_id, $object_id, $meta_key, $_meta_value );
230
+ }
231
+
232
+ if ( 'post' == $meta_type ) {
233
+ foreach ( $meta_ids as $meta_id ) {
234
+ /**
235
+ * Fires immediately before updating a post's metadata.
236
+ *
237
+ * @since 2.9.0
238
+ *
239
+ * @param int $meta_id ID of metadata entry to update.
240
+ * @param int $object_id Object ID.
241
+ * @param string $meta_key Meta key.
242
+ * @param mixed $meta_value Meta value.
243
+ */
244
+ do_action( 'update_postmeta', $meta_id, $object_id, $meta_key, $meta_value );
245
+ }
246
+ }
247
+
248
+ $result = $wpdb->update( $table, $data, $where );
249
+ if ( ! $result )
250
+ return false;
251
+
252
+ wp_cache_delete($object_id, $meta_type . '_meta');
253
+
254
+ foreach ( $meta_ids as $meta_id ) {
255
+ /**
256
+ * Fires immediately after updating metadata of a specific type.
257
+ *
258
+ * The dynamic portion of the hook, `$meta_type`, refers to the meta
259
+ * object type (comment, post, or user).
260
+ *
261
+ * @since 2.9.0
262
+ *
263
+ * @param int $meta_id ID of updated metadata entry.
264
+ * @param int $object_id Object ID.
265
+ * @param string $meta_key Meta key.
266
+ * @param mixed $meta_value Meta value.
267
+ */
268
+ do_action( "updated_{$meta_type}_meta", $meta_id, $object_id, $meta_key, $_meta_value );
269
+ }
270
+
271
+ if ( 'post' == $meta_type ) {
272
+ foreach ( $meta_ids as $meta_id ) {
273
+ /**
274
+ * Fires immediately after updating a post's metadata.
275
+ *
276
+ * @since 2.9.0
277
+ *
278
+ * @param int $meta_id ID of updated metadata entry.
279
+ * @param int $object_id Object ID.
280
+ * @param string $meta_key Meta key.
281
+ * @param mixed $meta_value Meta value.
282
+ */
283
+ do_action( 'updated_postmeta', $meta_id, $object_id, $meta_key, $meta_value );
284
+ }
285
+ }
286
+
287
+ return true;
288
+ }
289
+
290
+ /**
291
+ * Delete metadata for the specified object.
292
+ *
293
+ * @since 2.9.0
294
+ *
295
+ * @global wpdb $wpdb WordPress database abstraction object.
296
+ *
297
+ * @param string $meta_type Type of object metadata is for (e.g., comment, post, or user)
298
+ * @param int $object_id ID of the object metadata is for
299
+ * @param string $meta_key Metadata key
300
+ * @param mixed $meta_value Optional. Metadata value. Must be serializable if non-scalar. If specified, only delete metadata entries
301
+ * with this value. Otherwise, delete all entries with the specified meta_key.
302
+ * @param bool $delete_all Optional, default is false. If true, delete matching metadata entries
303
+ * for all objects, ignoring the specified object_id. Otherwise, only delete matching
304
+ * metadata entries for the specified object_id.
305
+ * @return bool True on successful delete, false on failure.
306
+ */
307
+ function delete_metadata($meta_type, $object_id, $meta_key, $meta_value = '', $delete_all = false) {
308
+ global $wpdb;
309
+
310
+ if ( ! $meta_type || ! $meta_key || ! is_numeric( $object_id ) && ! $delete_all ) {
311
+ return false;
312
+ }
313
+
314
+ $object_id = absint( $object_id );
315
+ if ( ! $object_id && ! $delete_all ) {
316
+ return false;
317
+ }
318
+
319
+ $table = _get_meta_table( $meta_type );
320
+ if ( ! $table ) {
321
+ return false;
322
+ }
323
+
324
+ $type_column = sanitize_key($meta_type . '_id');
325
+ $id_column = 'user' == $meta_type ? 'umeta_id' : 'meta_id';
326
+ // expected_slashed ($meta_key)
327
+ $meta_key = wp_unslash($meta_key);
328
+ $meta_value = wp_unslash($meta_value);
329
+
330
+ /**
331
+ * Filter whether to delete metadata of a specific type.
332
+ *
333
+ * The dynamic portion of the hook, `$meta_type`, refers to the meta
334
+ * object type (comment, post, or user). Returning a non-null value
335
+ * will effectively short-circuit the function.
336
+ *
337
+ * @since 3.1.0
338
+ *
339
+ * @param null|bool $delete Whether to allow metadata deletion of the given type.
340
+ * @param int $object_id Object ID.
341
+ * @param string $meta_key Meta key.
342
+ * @param mixed $meta_value Meta value. Must be serializable if non-scalar.
343
+ * @param bool $delete_all Whether to delete the matching metadata entries
344
+ * for all objects, ignoring the specified $object_id.
345
+ * Default false.
346
+ */
347
+ $check = apply_filters( "delete_{$meta_type}_metadata", null, $object_id, $meta_key, $meta_value, $delete_all );
348
+ if ( null !== $check )
349
+ return (bool) $check;
350
+
351
+ $_meta_value = $meta_value;
352
+ $meta_value = maybe_serialize( $meta_value );
353
+
354
+ $query = $wpdb->prepare( "SELECT $id_column FROM $table WHERE meta_key = %s", $meta_key );
355
+
356
+ if ( !$delete_all )
357
+ $query .= $wpdb->prepare(" AND $type_column = %d", $object_id );
358
+
359
+ if ( $meta_value )
360
+ $query .= $wpdb->prepare(" AND meta_value = %s", $meta_value );
361
+
362
+ $meta_ids = $wpdb->get_col( $query );
363
+ if ( !count( $meta_ids ) )
364
+ return false;
365
+
366
+ if ( $delete_all )
367
+ $object_ids = $wpdb->get_col( $wpdb->prepare( "SELECT $type_column FROM $table WHERE meta_key = %s", $meta_key ) );
368
+
369
+ /**
370
+ * Fires immediately before deleting metadata of a specific type.
371
+ *
372
+ * The dynamic portion of the hook, `$meta_type`, refers to the meta
373
+ * object type (comment, post, or user).
374
+ *
375
+ * @since 3.1.0
376
+ *
377
+ * @param array $meta_ids An array of metadata entry IDs to delete.
378
+ * @param int $object_id Object ID.
379
+ * @param string $meta_key Meta key.
380
+ * @param mixed $meta_value Meta value.
381
+ */
382
+ do_action( "delete_{$meta_type}_meta", $meta_ids, $object_id, $meta_key, $_meta_value );
383
+
384
+ // Old-style action.
385
+ if ( 'post' == $meta_type ) {
386
+ /**
387
+ * Fires immediately before deleting metadata for a post.
388
+ *
389
+ * @since 2.9.0
390
+ *
391
+ * @param array $meta_ids An array of post metadata entry IDs to delete.
392
+ */
393
+ do_action( 'delete_postmeta', $meta_ids );
394
+ }
395
+
396
+ $query = "DELETE FROM $table WHERE $id_column IN( " . implode( ',', $meta_ids ) . " )";
397
+
398
+ $count = $wpdb->query($query);
399
+
400
+ if ( !$count )
401
+ return false;
402
+
403
+ if ( $delete_all ) {
404
+ foreach ( (array) $object_ids as $o_id ) {
405
+ wp_cache_delete($o_id, $meta_type . '_meta');
406
+ }
407
+ } else {
408
+ wp_cache_delete($object_id, $meta_type . '_meta');
409
+ }
410
+
411
+ /**
412
+ * Fires immediately after deleting metadata of a specific type.
413
+ *
414
+ * The dynamic portion of the hook name, `$meta_type`, refers to the meta
415
+ * object type (comment, post, or user).
416
+ *
417
+ * @since 2.9.0
418
+ *
419
+ * @param array $meta_ids An array of deleted metadata entry IDs.
420
+ * @param int $object_id Object ID.
421
+ * @param string $meta_key Meta key.
422
+ * @param mixed $meta_value Meta value.
423
+ */
424
+ do_action( "deleted_{$meta_type}_meta", $meta_ids, $object_id, $meta_key, $_meta_value );
425
+
426
+ // Old-style action.
427
+ if ( 'post' == $meta_type ) {
428
+ /**
429
+ * Fires immediately after deleting metadata for a post.
430
+ *
431
+ * @since 2.9.0
432
+ *
433
+ * @param array $meta_ids An array of deleted post metadata entry IDs.
434
+ */
435
+ do_action( 'deleted_postmeta', $meta_ids );
436
+ }
437
+
438
+ return true;
439
+ }
440
+
441
+ /**
442
+ * Retrieve metadata for the specified object.
443
+ *
444
+ * @since 2.9.0
445
+ *
446
+ * @param string $meta_type Type of object metadata is for (e.g., comment, post, or user)
447
+ * @param int $object_id ID of the object metadata is for
448
+ * @param string $meta_key Optional. Metadata key. If not specified, retrieve all metadata for
449
+ * the specified object.
450
+ * @param bool $single Optional, default is false. If true, return only the first value of the
451
+ * specified meta_key. This parameter has no effect if meta_key is not specified.
452
+ * @return mixed Single metadata value, or array of values
453
+ */
454
+ function get_metadata($meta_type, $object_id, $meta_key = '', $single = false) {
455
+ if ( ! $meta_type || ! is_numeric( $object_id ) ) {
456
+ return false;
457
+ }
458
+
459
+ $object_id = absint( $object_id );
460
+ if ( ! $object_id ) {
461
+ return false;
462
+ }
463
+
464
+ /**
465
+ * Filter whether to retrieve metadata of a specific type.
466
+ *
467
+ * The dynamic portion of the hook, `$meta_type`, refers to the meta
468
+ * object type (comment, post, or user). Returning a non-null value
469
+ * will effectively short-circuit the function.
470
+ *
471
+ * @since 3.1.0
472
+ *
473
+ * @param null|array|string $value The value get_metadata() should
474
+ * return - a single metadata value,
475
+ * or an array of values.
476
+ * @param int $object_id Object ID.
477
+ * @param string $meta_key Meta key.
478
+ * @param string|array $single Meta value, or an array of values.
479
+ */
480
+ $check = apply_filters( "get_{$meta_type}_metadata", null, $object_id, $meta_key, $single );
481
+ if ( null !== $check ) {
482
+ if ( $single && is_array( $check ) )
483
+ return $check[0];
484
+ else
485
+ return $check;
486
+ }
487
+
488
+ $meta_cache = wp_cache_get($object_id, $meta_type . '_meta');
489
+
490
+ if ( !$meta_cache ) {
491
+ $meta_cache = update_meta_cache( $meta_type, array( $object_id ) );
492
+ $meta_cache = $meta_cache[$object_id];
493
+ }
494
+
495
+ if ( ! $meta_key ) {
496
+ return $meta_cache;
497
+ }
498
+
499
+ if ( isset($meta_cache[$meta_key]) ) {
500
+ if ( $single )
501
+ return maybe_unserialize( $meta_cache[$meta_key][0] );
502
+ else
503
+ return array_map('maybe_unserialize', $meta_cache[$meta_key]);
504
+ }
505
+
506
+ if ($single)
507
+ return '';
508
+ else
509
+ return array();
510
+ }
511
+
512
+ /**
513
+ * Determine if a meta key is set for a given object
514
+ *
515
+ * @since 3.3.0
516
+ *
517
+ * @param string $meta_type Type of object metadata is for (e.g., comment, post, or user)
518
+ * @param int $object_id ID of the object metadata is for
519
+ * @param string $meta_key Metadata key.
520
+ * @return boolean true of the key is set, false if not.
521
+ */
522
+ function metadata_exists( $meta_type, $object_id, $meta_key ) {
523
+ if ( ! $meta_type || ! is_numeric( $object_id ) ) {
524
+ return false;
525
+ }
526
+
527
+ $object_id = absint( $object_id );
528
+ if ( ! $object_id ) {
529
+ return false;
530
+ }
531
+
532
+ /** This filter is documented in wp-includes/meta.php */
533
+ $check = apply_filters( "get_{$meta_type}_metadata", null, $object_id, $meta_key, true );
534
+ if ( null !== $check )
535
+ return (bool) $check;
536
+
537
+ $meta_cache = wp_cache_get( $object_id, $meta_type . '_meta' );
538
+
539
+ if ( !$meta_cache ) {
540
+ $meta_cache = update_meta_cache( $meta_type, array( $object_id ) );
541
+ $meta_cache = $meta_cache[$object_id];
542
+ }
543
+
544
+ if ( isset( $meta_cache[ $meta_key ] ) )
545
+ return true;
546
+
547
+ return false;
548
+ }
549
+
550
+ /**
551
+ * Get meta data by meta ID
552
+ *
553
+ * @since 3.3.0
554
+ *
555
+ * @param string $meta_type Type of object metadata is for (e.g., comment, post, or user)
556
+ * @param int $meta_id ID for a specific meta row
557
+ * @return object Meta object or false.
558
+ */
559
+ function get_metadata_by_mid( $meta_type, $meta_id ) {
560
+ global $wpdb;
561
+
562
+ if ( ! $meta_type || ! is_numeric( $meta_id ) ) {
563
+ return false;
564
+ }
565
+
566
+ $meta_id = absint( $meta_id );
567
+ if ( ! $meta_id ) {
568
+ return false;
569
+ }
570
+
571
+ $table = _get_meta_table( $meta_type );
572
+ if ( ! $table ) {
573
+ return false;
574
+ }
575
+
576
+ $id_column = ( 'user' == $meta_type ) ? 'umeta_id' : 'meta_id';
577
+
578
+ $meta = $wpdb->get_row( $wpdb->prepare( "SELECT * FROM $table WHERE $id_column = %d", $meta_id ) );
579
+
580
+ if ( empty( $meta ) )
581
+ return false;
582
+
583
+ if ( isset( $meta->meta_value ) )
584
+ $meta->meta_value = maybe_unserialize( $meta->meta_value );
585
+
586
+ return $meta;
587
+ }
588
+
589
+ /**
590
+ * Update meta data by meta ID
591
+ *
592
+ * @since 3.3.0
593
+ *
594
+ * @param string $meta_type Type of object metadata is for (e.g., comment, post, or user)
595
+ * @param int $meta_id ID for a specific meta row
596
+ * @param string $meta_value Metadata value
597
+ * @param string $meta_key Optional, you can provide a meta key to update it
598
+ * @return bool True on successful update, false on failure.
599
+ */
600
+ function update_metadata_by_mid( $meta_type, $meta_id, $meta_value, $meta_key = false ) {
601
+ global $wpdb;
602
+
603
+ // Make sure everything is valid.
604
+ if ( ! $meta_type || ! is_numeric( $meta_id ) ) {
605
+ return false;
606
+ }
607
+
608
+ $meta_id = absint( $meta_id );
609
+ if ( ! $meta_id ) {
610
+ return false;
611
+ }
612
+
613
+ $table = _get_meta_table( $meta_type );
614
+ if ( ! $table ) {
615
+ return false;
616
+ }
617
+
618
+ $column = sanitize_key($meta_type . '_id');
619
+ $id_column = 'user' == $meta_type ? 'umeta_id' : 'meta_id';
620
+
621
+ // Fetch the meta and go on if it's found.
622
+ if ( $meta = get_metadata_by_mid( $meta_type, $meta_id ) ) {
623
+ $original_key = $meta->meta_key;
624
+ $object_id = $meta->{$column};
625
+
626
+ // If a new meta_key (last parameter) was specified, change the meta key,
627
+ // otherwise use the original key in the update statement.
628
+ if ( false === $meta_key ) {
629
+ $meta_key = $original_key;
630
+ } elseif ( ! is_string( $meta_key ) ) {
631
+ return false;
632
+ }
633
+
634
+ // Sanitize the meta
635
+ $_meta_value = $meta_value;
636
+ $meta_value = sanitize_meta( $meta_key, $meta_value, $meta_type );
637
+ $meta_value = maybe_serialize( $meta_value );
638
+
639
+ // Format the data query arguments.
640
+ $data = array(
641
+ 'meta_key' => $meta_key,
642
+ 'meta_value' => $meta_value
643
+ );
644
+
645
+ // Format the where query arguments.
646
+ $where = array();
647
+ $where[$id_column] = $meta_id;
648
+
649
+ /** This action is documented in wp-includes/meta.php */
650
+ do_action( "update_{$meta_type}_meta", $meta_id, $object_id, $meta_key, $_meta_value );
651
+
652
+ if ( 'post' == $meta_type ) {
653
+ /** This action is documented in wp-includes/meta.php */
654
+ do_action( 'update_postmeta', $meta_id, $object_id, $meta_key, $meta_value );
655
+ }
656
+
657
+ // Run the update query, all fields in $data are %s, $where is a %d.
658
+ $result = $wpdb->update( $table, $data, $where, '%s', '%d' );
659
+ if ( ! $result )
660
+ return false;
661
+
662
+ // Clear the caches.
663
+ wp_cache_delete($object_id, $meta_type . '_meta');
664
+
665
+ /** This action is documented in wp-includes/meta.php */
666
+ do_action( "updated_{$meta_type}_meta", $meta_id, $object_id, $meta_key, $_meta_value );
667
+
668
+ if ( 'post' == $meta_type ) {
669
+ /** This action is documented in wp-includes/meta.php */
670
+ do_action( 'updated_postmeta', $meta_id, $object_id, $meta_key, $meta_value );
671
+ }
672
+
673
+ return true;
674
+ }
675
+
676
+ // And if the meta was not found.
677
+ return false;
678
+ }
679
+
680
+ /**
681
+ * Delete meta data by meta ID
682
+ *
683
+ * @since 3.3.0
684
+ *
685
+ * @param string $meta_type Type of object metadata is for (e.g., comment, post, or user)
686
+ * @param int $meta_id ID for a specific meta row
687
+ * @return bool True on successful delete, false on failure.
688
+ */
689
+ function delete_metadata_by_mid( $meta_type, $meta_id ) {
690
+ global $wpdb;
691
+
692
+ // Make sure everything is valid.
693
+ if ( ! $meta_type || ! is_numeric( $meta_id ) ) {
694
+ return false;
695
+ }
696
+
697
+ $meta_id = absint( $meta_id );
698
+ if ( ! $meta_id ) {
699
+ return false;
700
+ }
701
+
702
+ $table = _get_meta_table( $meta_type );
703
+ if ( ! $table ) {
704
+ return false;
705
+ }
706
+
707
+ // object and id columns
708
+ $column = sanitize_key($meta_type . '_id');
709
+ $id_column = 'user' == $meta_type ? 'umeta_id' : 'meta_id';
710
+
711
+ // Fetch the meta and go on if it's found.
712
+ if ( $meta = get_metadata_by_mid( $meta_type, $meta_id ) ) {
713
+ $object_id = $meta->{$column};
714
+
715
+ /** This action is documented in wp-includes/meta.php */
716
+ do_action( "delete_{$meta_type}_meta", (array) $meta_id, $object_id, $meta->meta_key, $meta->meta_value );
717
+
718
+ // Old-style action.
719
+ if ( 'post' == $meta_type || 'comment' == $meta_type ) {
720
+ /**
721
+ * Fires immediately before deleting post or comment metadata of a specific type.
722
+ *
723
+ * The dynamic portion of the hook, `$meta_type`, refers to the meta
724
+ * object type (post or comment).
725
+ *
726
+ * @since 3.4.0
727
+ *
728
+ * @param int $meta_id ID of the metadata entry to delete.
729
+ */
730
+ do_action( "delete_{$meta_type}meta", $meta_id );
731
+ }
732
+
733
+ // Run the query, will return true if deleted, false otherwise
734
+ $result = (bool) $wpdb->delete( $table, array( $id_column => $meta_id ) );
735
+
736
+ // Clear the caches.
737
+ wp_cache_delete($object_id, $meta_type . '_meta');
738
+
739
+ /** This action is documented in wp-includes/meta.php */
740
+ do_action( "deleted_{$meta_type}_meta", (array) $meta_id, $object_id, $meta->meta_key, $meta->meta_value );
741
+
742
+ // Old-style action.
743
+ if ( 'post' == $meta_type || 'comment' == $meta_type ) {
744
+ /**
745
+ * Fires immediately after deleting post or comment metadata of a specific type.
746
+ *
747
+ * The dynamic portion of the hook, `$meta_type`, refers to the meta
748
+ * object type (post or comment).
749
+ *
750
+ * @since 3.4.0
751
+ *
752
+ * @param int $meta_ids Deleted metadata entry ID.
753
+ */
754
+ do_action( "deleted_{$meta_type}meta", $meta_id );
755
+ }
756
+
757
+ return $result;
758
+
759
+ }
760
+
761
+ // Meta id was not found.
762
+ return false;
763
+ }
764
+
765
+ /**
766
+ * Update the metadata cache for the specified objects.
767
+ *
768
+ * @since 2.9.0
769
+ *
770
+ * @global wpdb $wpdb WordPress database abstraction object.
771
+ *
772
+ * @param string $meta_type Type of object metadata is for (e.g., comment, post, or user)
773
+ * @param int|array $object_ids array or comma delimited list of object IDs to update cache for
774
+ * @return mixed Metadata cache for the specified objects, or false on failure.
775
+ */
776
+ function update_meta_cache($meta_type, $object_ids) {
777
+ global $wpdb;
778
+
779
+ if ( ! $meta_type || ! $object_ids ) {
780
+ return false;
781
+ }
782
+
783
+ $table = _get_meta_table( $meta_type );
784
+ if ( ! $table ) {
785
+ return false;
786
+ }
787
+
788
+ $column = sanitize_key($meta_type . '_id');
789
+
790
+ if ( !is_array($object_ids) ) {
791
+ $object_ids = preg_replace('|[^0-9,]|', '', $object_ids);
792
+ $object_ids = explode(',', $object_ids);
793
+ }
794
+
795
+ $object_ids = array_map('intval', $object_ids);
796
+
797
+ $cache_key = $meta_type . '_meta';
798
+ $ids = array();
799
+ $cache = array();
800
+ foreach ( $object_ids as $id ) {
801
+ $cached_object = wp_cache_get( $id, $cache_key );
802
+ if ( false === $cached_object )
803
+ $ids[] = $id;
804
+ else
805
+ $cache[$id] = $cached_object;
806
+ }
807
+
808
+ if ( empty( $ids ) )
809
+ return $cache;
810
+
811
+ // Get meta info
812
+ $id_list = join( ',', $ids );
813
+ $id_column = 'user' == $meta_type ? 'umeta_id' : 'meta_id';
814
+ $meta_list = $wpdb->get_results( "SELECT $column, meta_key, meta_value FROM $table WHERE $column IN ($id_list) ORDER BY $id_column ASC", ARRAY_A );
815
+
816
+ if ( !empty($meta_list) ) {
817
+ foreach ( $meta_list as $metarow) {
818
+ $mpid = intval($metarow[$column]);
819
+ $mkey = $metarow['meta_key'];
820
+ $mval = $metarow['meta_value'];
821
+
822
+ // Force subkeys to be array type:
823
+ if ( !isset($cache[$mpid]) || !is_array($cache[$mpid]) )
824
+ $cache[$mpid] = array();
825
+ if ( !isset($cache[$mpid][$mkey]) || !is_array($cache[$mpid][$mkey]) )
826
+ $cache[$mpid][$mkey] = array();
827
+
828
+ // Add a value to the current pid/key:
829
+ $cache[$mpid][$mkey][] = $mval;
830
+ }
831
+ }
832
+
833
+ foreach ( $ids as $id ) {
834
+ if ( ! isset($cache[$id]) )
835
+ $cache[$id] = array();
836
+ wp_cache_add( $id, $cache[$id], $cache_key );
837
+ }
838
+
839
+ return $cache;
840
+ }
841
+
842
+ /**
843
+ * Given a meta query, generates SQL clauses to be appended to a main query.
844
+ *
845
+ * @since 3.2.0
846
+ *
847
+ * @see WP_Meta_Query
848
+ *
849
+ * @param array $meta_query A meta query.
850
+ * @param string $type Type of meta.
851
+ * @param string $primary_table Primary database table name.
852
+ * @param string $primary_id_column Primary ID column name.
853
+ * @param object $context Optional. The main query object
854
+ * @return array Associative array of `JOIN` and `WHERE` SQL.
855
+ */
856
+ function get_meta_sql( $meta_query, $type, $primary_table, $primary_id_column, $context = null ) {
857
+ $meta_query_obj = new WP_Meta_Query( $meta_query );
858
+ return $meta_query_obj->get_sql( $type, $primary_table, $primary_id_column, $context );
859
+ }
860
+
861
+ /**
862
+ * Class for generating SQL clauses that filter a primary query according to metadata keys and values.
863
+ *
864
+ * `WP_Meta_Query` is a helper that allows primary query classes, such as {@see WP_Query} and {@see WP_User_Query},
865
+ * to filter their results by object metadata, by generating `JOIN` and `WHERE` subclauses to be attached
866
+ * to the primary SQL query string.
867
+ *
868
+ * @since 3.2.0
869
+ */
870
+ class WP_Meta_Query {
871
+ /**
872
+ * Array of metadata queries.
873
+ *
874
+ * See {@see WP_Meta_Query::__construct()} for information on meta query arguments.
875
+ *
876
+ * @since 3.2.0
877
+ * @access public
878
+ * @var array
879
+ */
880
+ public $queries = array();
881
+
882
+ /**
883
+ * The relation between the queries. Can be one of 'AND' or 'OR'.
884
+ *
885
+ * @since 3.2.0
886
+ * @access public
887
+ * @var string
888
+ */
889
+ public $relation;
890
+
891
+ /**
892
+ * Database table to query for the metadata.
893
+ *
894
+ * @since 4.1.0
895
+ * @access public
896
+ * @var string
897
+ */
898
+ public $meta_table;
899
+
900
+ /**
901
+ * Column in meta_table that represents the ID of the object the metadata belongs to.
902
+ *
903
+ * @since 4.1.0
904
+ * @access public
905
+ * @var string
906
+ */
907
+ public $meta_id_column;
908
+
909
+ /**
910
+ * Database table that where the metadata's objects are stored (eg $wpdb->users).
911
+ *
912
+ * @since 4.1.0
913
+ * @access public
914
+ * @var string
915
+ */
916
+ public $primary_table;
917
+
918
+ /**
919
+ * Column in primary_table that represents the ID of the object.
920
+ *
921
+ * @since 4.1.0
922
+ * @access public
923
+ * @var string
924
+ */
925
+ public $primary_id_column;
926
+
927
+ /**
928
+ * A flat list of table aliases used in JOIN clauses.
929
+ *
930
+ * @since 4.1.0
931
+ * @access protected
932
+ * @var array
933
+ */
934
+ protected $table_aliases = array();
935
+
936
+ /**
937
+ * A flat list of clauses, keyed by clause 'name'.
938
+ *
939
+ * @since 4.2.0
940
+ * @access protected
941
+ * @var array
942
+ */
943
+ protected $clauses = array();
944
+
945
+ /**
946
+ * Constructor.
947
+ *
948
+ * @since 3.2.0
949
+ * @since 4.2.0 Introduced support for naming query clauses by associative array keys.
950
+ *
951
+ * @access public
952
+ *
953
+ * @param array $meta_query {
954
+ * Array of meta query clauses. When first-order clauses use strings as their array keys, they may be
955
+ * referenced in the 'orderby' parameter of the parent query.
956
+ *
957
+ * @type string $relation Optional. The MySQL keyword used to join
958
+ * the clauses of the query. Accepts 'AND', or 'OR'. Default 'AND'.
959
+ * @type array {
960
+ * Optional. An array of first-order clause parameters, or another fully-formed meta query.
961
+ *
962
+ * @type string $key Meta key to filter by.
963
+ * @type string $value Meta value to filter by.
964
+ * @type string $compare MySQL operator used for comparing the $value. Accepts '=',
965
+ * '!=', '>', '>=', '<', '<=', 'LIKE', 'NOT LIKE', 'IN', 'NOT IN',
966
+ * 'BETWEEN', 'NOT BETWEEN', 'REGEXP', 'NOT REGEXP', or 'RLIKE'.
967
+ * Default is 'IN' when `$value` is an array, '=' otherwise.
968
+ * @type string $type MySQL data type that the meta_value column will be CAST to for
969
+ * comparisons. Accepts 'NUMERIC', 'BINARY', 'CHAR', 'DATE',
970
+ * 'DATETIME', 'DECIMAL', 'SIGNED', 'TIME', or 'UNSIGNED'.
971
+ * Default is 'CHAR'.
972
+ * }
973
+ * }
974
+ */
975
+ public function __construct( $meta_query = false ) {
976
+ if ( !$meta_query )
977
+ return;
978
+
979
+ if ( isset( $meta_query['relation'] ) && strtoupper( $meta_query['relation'] ) == 'OR' ) {
980
+ $this->relation = 'OR';
981
+ } else {
982
+ $this->relation = 'AND';
983
+ }
984
+
985
+ $this->queries = $this->sanitize_query( $meta_query );
986
+ }
987
+
988
+ /**
989
+ * Ensure the 'meta_query' argument passed to the class constructor is well-formed.
990
+ *
991
+ * Eliminates empty items and ensures that a 'relation' is set.
992
+ *
993
+ * @since 4.1.0
994
+ * @access public
995
+ *
996
+ * @param array $queries Array of query clauses.
997
+ * @return array Sanitized array of query clauses.
998
+ */
999
+ public function sanitize_query( $queries ) {
1000
+ $clean_queries = array();
1001
+
1002
+ if ( ! is_array( $queries ) ) {
1003
+ return $clean_queries;
1004
+ }
1005
+
1006
+ foreach ( $queries as $key => $query ) {
1007
+ if ( 'relation' === $key ) {
1008
+ $relation = $query;
1009
+
1010
+ } elseif ( ! is_array( $query ) ) {
1011
+ continue;
1012
+
1013
+ // First-order clause.
1014
+ } elseif ( $this->is_first_order_clause( $query ) ) {
1015
+ if ( isset( $query['value'] ) && array() === $query['value'] ) {
1016
+ unset( $query['value'] );
1017
+ }
1018
+
1019
+ $clean_queries[ $key ] = $query;
1020
+
1021
+ // Otherwise, it's a nested query, so we recurse.
1022
+ } else {
1023
+ $cleaned_query = $this->sanitize_query( $query );
1024
+
1025
+ if ( ! empty( $cleaned_query ) ) {
1026
+ $clean_queries[ $key ] = $cleaned_query;
1027
+ }
1028
+ }
1029
+ }
1030
+
1031
+ if ( empty( $clean_queries ) ) {
1032
+ return $clean_queries;
1033
+ }
1034
+
1035
+ // Sanitize the 'relation' key provided in the query.
1036
+ if ( isset( $relation ) && 'OR' === strtoupper( $relation ) ) {
1037
+ $clean_queries['relation'] = 'OR';
1038
+
1039
+ /*
1040
+ * If there is only a single clause, call the relation 'OR'.
1041
+ * This value will not actually be used to join clauses, but it
1042
+ * simplifies the logic around combining key-only queries.
1043
+ */
1044
+ } elseif ( 1 === count( $clean_queries ) ) {
1045
+ $clean_queries['relation'] = 'OR';
1046
+
1047
+ // Default to AND.
1048
+ } else {
1049
+ $clean_queries['relation'] = 'AND';
1050
+ }
1051
+
1052
+ return $clean_queries;
1053
+ }
1054
+
1055
+ /**
1056
+ * Determine whether a query clause is first-order.
1057
+ *
1058
+ * A first-order meta query clause is one that has either a 'key' or
1059
+ * a 'value' array key.
1060
+ *
1061
+ * @since 4.1.0
1062
+ * @access protected
1063
+ *
1064
+ * @param array $query Meta query arguments.
1065
+ * @return bool Whether the query clause is a first-order clause.
1066
+ */
1067
+ protected function is_first_order_clause( $query ) {
1068
+ return isset( $query['key'] ) || isset( $query['value'] );
1069
+ }
1070
+
1071
+ /**
1072
+ * Constructs a meta query based on 'meta_*' query vars
1073
+ *
1074
+ * @since 3.2.0
1075
+ * @access public
1076
+ *
1077
+ * @param array $qv The query variables
1078
+ */
1079
+ public function parse_query_vars( $qv ) {
1080
+ $meta_query = array();
1081
+
1082
+ /*
1083
+ * For orderby=meta_value to work correctly, simple query needs to be
1084
+ * first (so that its table join is against an unaliased meta table) and
1085
+ * needs to be its own clause (so it doesn't interfere with the logic of
1086
+ * the rest of the meta_query).
1087
+ */
1088
+ $primary_meta_query = array();
1089
+ foreach ( array( 'key', 'compare', 'type' ) as $key ) {
1090
+ if ( ! empty( $qv[ "meta_$key" ] ) ) {
1091
+ $primary_meta_query[ $key ] = $qv[ "meta_$key" ];
1092
+ }
1093
+ }
1094
+
1095
+ // WP_Query sets 'meta_value' = '' by default.
1096
+ if ( isset( $qv['meta_value'] ) && '' !== $qv['meta_value'] && ( ! is_array( $qv['meta_value'] ) || $qv['meta_value'] ) ) {
1097
+ $primary_meta_query['value'] = $qv['meta_value'];
1098
+ }
1099
+
1100
+ $existing_meta_query = isset( $qv['meta_query'] ) && is_array( $qv['meta_query'] ) ? $qv['meta_query'] : array();
1101
+
1102
+ if ( ! empty( $primary_meta_query ) && ! empty( $existing_meta_query ) ) {
1103
+ $meta_query = array(
1104
+ 'relation' => 'AND',
1105
+ $primary_meta_query,
1106
+ $existing_meta_query,
1107
+ );
1108
+ } elseif ( ! empty( $primary_meta_query ) ) {
1109
+ $meta_query = array(
1110
+ $primary_meta_query,
1111
+ );
1112
+ } elseif ( ! empty( $existing_meta_query ) ) {
1113
+ $meta_query = $existing_meta_query;
1114
+ }
1115
+
1116
+ $this->__construct( $meta_query );
1117
+ }
1118
+
1119
+ /**
1120
+ * Return the appropriate alias for the given meta type if applicable.
1121
+ *
1122
+ * @since 3.7.0
1123
+ * @access public
1124
+ *
1125
+ * @param string $type MySQL type to cast meta_value.
1126
+ * @return string MySQL type.
1127
+ */
1128
+ public function get_cast_for_type( $type = '' ) {
1129
+ if ( empty( $type ) )
1130
+ return 'CHAR';
1131
+
1132
+ $meta_type = strtoupper( $type );
1133
+
1134
+ if ( ! preg_match( '/^(?:BINARY|CHAR|DATE|DATETIME|SIGNED|UNSIGNED|TIME|NUMERIC(?:\(\d+(?:,\s?\d+)?\))?|DECIMAL(?:\(\d+(?:,\s?\d+)?\))?)$/', $meta_type ) )
1135
+ return 'CHAR';
1136
+
1137
+ if ( 'NUMERIC' == $meta_type )
1138
+ $meta_type = 'SIGNED';
1139
+
1140
+ return $meta_type;
1141
+ }
1142
+
1143
+ /**
1144
+ * Generates SQL clauses to be appended to a main query.
1145
+ *
1146
+ * @since 3.2.0
1147
+ * @access public
1148
+ *
1149
+ * @param string $type Type of meta, eg 'user', 'post'.
1150
+ * @param string $primary_table Database table where the object being filtered is stored (eg wp_users).
1151
+ * @param string $primary_id_column ID column for the filtered object in $primary_table.
1152
+ * @param object $context Optional. The main query object.
1153
+ * @return array {
1154
+ * Array containing JOIN and WHERE SQL clauses to append to the main query.
1155
+ *
1156
+ * @type string $join SQL fragment to append to the main JOIN clause.
1157
+ * @type string $where SQL fragment to append to the main WHERE clause.
1158
+ * }
1159
+ */
1160
+ public function get_sql( $type, $primary_table, $primary_id_column, $context = null ) {
1161
+ if ( ! $meta_table = _get_meta_table( $type ) ) {
1162
+ return false;
1163
+ }
1164
+
1165
+ $this->meta_table = $meta_table;
1166
+ $this->meta_id_column = sanitize_key( $type . '_id' );
1167
+
1168
+ $this->primary_table = $primary_table;
1169
+ $this->primary_id_column = $primary_id_column;
1170
+
1171
+ $sql = $this->get_sql_clauses();
1172
+
1173
+ /*
1174
+ * If any JOINs are LEFT JOINs (as in the case of NOT EXISTS), then all JOINs should
1175
+ * be LEFT. Otherwise posts with no metadata will be excluded from results.
1176
+ */
1177
+ if ( false !== strpos( $sql['join'], 'LEFT JOIN' ) ) {
1178
+ $sql['join'] = str_replace( 'INNER JOIN', 'LEFT JOIN', $sql['join'] );
1179
+ }
1180
+
1181
+ /**
1182
+ * Filter the meta query's generated SQL.
1183
+ *
1184
+ * @since 3.1.0
1185
+ *
1186
+ * @param array $args {
1187
+ * An array of meta query SQL arguments.
1188
+ *
1189
+ * @type array $clauses Array containing the query's JOIN and WHERE clauses.
1190
+ * @type array $queries Array of meta queries.
1191
+ * @type string $type Type of meta.
1192
+ * @type string $primary_table Primary table.
1193
+ * @type string $primary_id_column Primary column ID.
1194
+ * @type object $context The main query object.
1195
+ * }
1196
+ */
1197
+ return apply_filters_ref_array( 'get_meta_sql', array( $sql, $this->queries, $type, $primary_table, $primary_id_column, $context ) );
1198
+ }
1199
+
1200
+ /**
1201
+ * Generate SQL clauses to be appended to a main query.
1202
+ *
1203
+ * Called by the public {@see WP_Meta_Query::get_sql()}, this method
1204
+ * is abstracted out to maintain parity with the other Query classes.
1205
+ *
1206
+ * @since 4.1.0
1207
+ * @access protected
1208
+ *
1209
+ * @return array {
1210
+ * Array containing JOIN and WHERE SQL clauses to append to the main query.
1211
+ *
1212
+ * @type string $join SQL fragment to append to the main JOIN clause.
1213
+ * @type string $where SQL fragment to append to the main WHERE clause.
1214
+ * }
1215
+ */
1216
+ protected function get_sql_clauses() {
1217
+ /*
1218
+ * $queries are passed by reference to get_sql_for_query() for recursion.
1219
+ * To keep $this->queries unaltered, pass a copy.
1220
+ */
1221
+ $queries = $this->queries;
1222
+ $sql = $this->get_sql_for_query( $queries );
1223
+
1224
+ if ( ! empty( $sql['where'] ) ) {
1225
+ $sql['where'] = ' AND ' . $sql['where'];
1226
+ }
1227
+
1228
+ return $sql;
1229
+ }
1230
+
1231
+ /**
1232
+ * Generate SQL clauses for a single query array.
1233
+ *
1234
+ * If nested subqueries are found, this method recurses the tree to
1235
+ * produce the properly nested SQL.
1236
+ *
1237
+ * @since 4.1.0
1238
+ * @access protected
1239
+ *
1240
+ * @param array $query Query to parse, passed by reference.
1241
+ * @param int $depth Optional. Number of tree levels deep we currently are.
1242
+ * Used to calculate indentation. Default 0.
1243
+ * @return array {
1244
+ * Array containing JOIN and WHERE SQL clauses to append to a single query array.
1245
+ *
1246
+ * @type string $join SQL fragment to append to the main JOIN clause.
1247
+ * @type string $where SQL fragment to append to the main WHERE clause.
1248
+ * }
1249
+ */
1250
+ protected function get_sql_for_query( &$query, $depth = 0 ) {
1251
+ $sql_chunks = array(
1252
+ 'join' => array(),
1253
+ 'where' => array(),
1254
+ );
1255
+
1256
+ $sql = array(
1257
+ 'join' => '',
1258
+ 'where' => '',
1259
+ );
1260
+
1261
+ $indent = '';
1262
+ for ( $i = 0; $i < $depth; $i++ ) {
1263
+ $indent .= " ";
1264
+ }
1265
+
1266
+ foreach ( $query as $key => &$clause ) {
1267
+ if ( 'relation' === $key ) {
1268
+ $relation = $query['relation'];
1269
+ } elseif ( is_array( $clause ) ) {
1270
+
1271
+ // This is a first-order clause.
1272
+ if ( $this->is_first_order_clause( $clause ) ) {
1273
+ $clause_sql = $this->get_sql_for_clause( $clause, $query, $key );
1274
+
1275
+ $where_count = count( $clause_sql['where'] );
1276
+ if ( ! $where_count ) {
1277
+ $sql_chunks['where'][] = '';
1278
+ } elseif ( 1 === $where_count ) {
1279
+ $sql_chunks['where'][] = $clause_sql['where'][0];
1280
+ } else {
1281
+ $sql_chunks['where'][] = '( ' . implode( ' AND ', $clause_sql['where'] ) . ' )';
1282
+ }
1283
+
1284
+ $sql_chunks['join'] = array_merge( $sql_chunks['join'], $clause_sql['join'] );
1285
+ // This is a subquery, so we recurse.
1286
+ } else {
1287
+ $clause_sql = $this->get_sql_for_query( $clause, $depth + 1 );
1288
+
1289
+ $sql_chunks['where'][] = $clause_sql['where'];
1290
+ $sql_chunks['join'][] = $clause_sql['join'];
1291
+ }
1292
+ }
1293
+ }
1294
+
1295
+ // Filter to remove empties.
1296
+ $sql_chunks['join'] = array_filter( $sql_chunks['join'] );
1297
+ $sql_chunks['where'] = array_filter( $sql_chunks['where'] );
1298
+
1299
+ if ( empty( $relation ) ) {
1300
+ $relation = 'AND';
1301
+ }
1302
+
1303
+ // Filter duplicate JOIN clauses and combine into a single string.
1304
+ if ( ! empty( $sql_chunks['join'] ) ) {
1305
+ $sql['join'] = implode( ' ', array_unique( $sql_chunks['join'] ) );
1306
+ }
1307
+
1308
+ // Generate a single WHERE clause with proper brackets and indentation.
1309
+ if ( ! empty( $sql_chunks['where'] ) ) {
1310
+ $sql['where'] = '( ' . "\n " . $indent . implode( ' ' . "\n " . $indent . $relation . ' ' . "\n " . $indent, $sql_chunks['where'] ) . "\n" . $indent . ')';
1311
+ }
1312
+
1313
+ return $sql;
1314
+ }
1315
+
1316
+ /**
1317
+ * Generate SQL JOIN and WHERE clauses for a first-order query clause.
1318
+ *
1319
+ * "First-order" means that it's an array with a 'key' or 'value'.
1320
+ *
1321
+ * @since 4.1.0
1322
+ * @access public
1323
+ *
1324
+ * @param array $clause Query clause, passed by reference.
1325
+ * @param array $parent_query Parent query array.
1326
+ * @param string $clause_key Optional. The array key used to name the clause in the original `$meta_query`
1327
+ * parameters. If not provided, a key will be generated automatically.
1328
+ * @return array {
1329
+ * Array containing JOIN and WHERE SQL clauses to append to a first-order query.
1330
+ *
1331
+ * @type string $join SQL fragment to append to the main JOIN clause.
1332
+ * @type string $where SQL fragment to append to the main WHERE clause.
1333
+ * }
1334
+ */
1335
+ public function get_sql_for_clause( &$clause, $parent_query, $clause_key = '' ) {
1336
+ global $wpdb;
1337
+
1338
+ $sql_chunks = array(
1339
+ 'where' => array(),
1340
+ 'join' => array(),
1341
+ );
1342
+
1343
+ if ( isset( $clause['compare'] ) ) {
1344
+ $clause['compare'] = strtoupper( $clause['compare'] );
1345
+ } else {
1346
+ $clause['compare'] = isset( $clause['value'] ) && is_array( $clause['value'] ) ? 'IN' : '=';
1347
+ }
1348
+
1349
+ if ( ! in_array( $clause['compare'], array(
1350
+ '=', '!=', '>', '>=', '<', '<=',
1351
+ 'LIKE', 'NOT LIKE',
1352
+ 'IN', 'NOT IN',
1353
+ 'BETWEEN', 'NOT BETWEEN',
1354
+ 'EXISTS', 'NOT EXISTS',
1355
+ 'REGEXP', 'NOT REGEXP', 'RLIKE'
1356
+ ) ) ) {
1357
+ $clause['compare'] = '=';
1358
+ }
1359
+
1360
+ $meta_compare = $clause['compare'];
1361
+
1362
+ // First build the JOIN clause, if one is required.
1363
+ $join = '';
1364
+
1365
+ // We prefer to avoid joins if possible. Look for an existing join compatible with this clause.
1366
+ $alias = $this->find_compatible_table_alias( $clause, $parent_query );
1367
+ if ( false === $alias ) {
1368
+ $i = count( $this->table_aliases );
1369
+ $alias = $i ? 'mt' . $i : $this->meta_table;
1370
+
1371
+ // JOIN clauses for NOT EXISTS have their own syntax.
1372
+ if ( 'NOT EXISTS' === $meta_compare ) {
1373
+ $join .= " LEFT JOIN $this->meta_table";
1374
+ $join .= $i ? " AS $alias" : '';
1375
+ $join .= $wpdb->prepare( " ON ($this->primary_table.$this->primary_id_column = $alias.$this->meta_id_column AND $alias.meta_key = %s )", $clause['key'] );
1376
+
1377
+ // All other JOIN clauses.
1378
+ } else {
1379
+ $join .= " INNER JOIN $this->meta_table";
1380
+ $join .= $i ? " AS $alias" : '';
1381
+ $join .= " ON ( $this->primary_table.$this->primary_id_column = $alias.$this->meta_id_column )";
1382
+ }
1383
+
1384
+ $this->table_aliases[] = $alias;
1385
+ $sql_chunks['join'][] = $join;
1386
+ }
1387
+
1388
+ // Save the alias to this clause, for future siblings to find.
1389
+ $clause['alias'] = $alias;
1390
+
1391
+ // Determine the data type.
1392
+ $_meta_type = isset( $clause['type'] ) ? $clause['type'] : '';
1393
+ $meta_type = $this->get_cast_for_type( $_meta_type );
1394
+ $clause['cast'] = $meta_type;
1395
+
1396
+ // Fallback for clause keys is the table alias.
1397
+ if ( ! $clause_key ) {
1398
+ $clause_key = $clause['alias'];
1399
+ }
1400
+
1401
+ // Ensure unique clause keys, so none are overwritten.
1402
+ $iterator = 1;
1403
+ $clause_key_base = $clause_key;
1404
+ while ( isset( $this->clauses[ $clause_key ] ) ) {
1405
+ $clause_key = $clause_key_base . '-' . $iterator;
1406
+ $iterator++;
1407
+ }
1408
+
1409
+ // Store the clause in our flat array.
1410
+ $this->clauses[ $clause_key ] =& $clause;
1411
+
1412
+ // Next, build the WHERE clause.
1413
+
1414
+ // meta_key.
1415
+ if ( array_key_exists( 'key', $clause ) ) {
1416
+ if ( 'NOT EXISTS' === $meta_compare ) {
1417
+ $sql_chunks['where'][] = $alias . '.' . $this->meta_id_column . ' IS NULL';
1418
+ } else {
1419
+ $sql_chunks['where'][] = $wpdb->prepare( "$alias.meta_key = %s", trim( $clause['key'] ) );
1420
+ }
1421
+ }
1422
+
1423
+ // meta_value.
1424
+ if ( array_key_exists( 'value', $clause ) ) {
1425
+ $meta_value = $clause['value'];
1426
+
1427
+ if ( in_array( $meta_compare, array( 'IN', 'NOT IN', 'BETWEEN', 'NOT BETWEEN' ) ) ) {
1428
+ if ( ! is_array( $meta_value ) ) {
1429
+ $meta_value = preg_split( '/[,\s]+/', $meta_value );
1430
+ }
1431
+ } else {
1432
+ $meta_value = trim( $meta_value );
1433
+ }
1434
+
1435
+ switch ( $meta_compare ) {
1436
+ case 'IN' :
1437
+ case 'NOT IN' :
1438
+ $meta_compare_string = '(' . substr( str_repeat( ',%s', count( $meta_value ) ), 1 ) . ')';
1439
+ $where = $wpdb->prepare( $meta_compare_string, $meta_value );
1440
+ break;
1441
+
1442
+ case 'BETWEEN' :
1443
+ case 'NOT BETWEEN' :
1444
+ $meta_value = array_slice( $meta_value, 0, 2 );
1445
+ $where = $wpdb->prepare( '%s AND %s', $meta_value );
1446
+ break;
1447
+
1448
+ case 'LIKE' :
1449
+ case 'NOT LIKE' :
1450
+ $meta_value = '%' . $wpdb->esc_like( $meta_value ) . '%';
1451
+ $where = $wpdb->prepare( '%s', $meta_value );
1452
+ break;
1453
+
1454
+ // EXISTS with a value is interpreted as '='.
1455
+ case 'EXISTS' :
1456
+ $meta_compare = '=';
1457
+ $where = $wpdb->prepare( '%s', $meta_value );
1458
+ break;
1459
+
1460
+ // 'value' is ignored for NOT EXISTS.
1461
+ case 'NOT EXISTS' :
1462
+ $where = '';
1463
+ break;
1464
+
1465
+ default :
1466
+ $where = $wpdb->prepare( '%s', $meta_value );
1467
+ break;
1468
+
1469
+ }
1470
+
1471
+ if ( $where ) {
1472
+ $sql_chunks['where'][] = "CAST($alias.meta_value AS {$meta_type}) {$meta_compare} {$where}";
1473
+ }
1474
+ }
1475
+
1476
+ /*
1477
+ * Multiple WHERE clauses (for meta_key and meta_value) should
1478
+ * be joined in parentheses.
1479
+ */
1480
+ if ( 1 < count( $sql_chunks['where'] ) ) {
1481
+ $sql_chunks['where'] = array( '( ' . implode( ' AND ', $sql_chunks['where'] ) . ' )' );
1482
+ }
1483
+
1484
+ return $sql_chunks;
1485
+ }
1486
+
1487
+ /**
1488
+ * Get a flattened list of sanitized meta clauses.
1489
+ *
1490
+ * This array should be used for clause lookup, as when the table alias and CAST type must be determined for
1491
+ * a value of 'orderby' corresponding to a meta clause.
1492
+ *
1493
+ * @since 4.2.0
1494
+ * @access public
1495
+ *
1496
+ * @return array Meta clauses.
1497
+ */
1498
+ public function get_clauses() {
1499
+ return $this->clauses;
1500
+ }
1501
+
1502
+ /**
1503
+ * Identify an existing table alias that is compatible with the current
1504
+ * query clause.
1505
+ *
1506
+ * We avoid unnecessary table joins by allowing each clause to look for
1507
+ * an existing table alias that is compatible with the query that it
1508
+ * needs to perform.
1509
+ *
1510
+ * An existing alias is compatible if (a) it is a sibling of `$clause`
1511
+ * (ie, it's under the scope of the same relation), and (b) the combination
1512
+ * of operator and relation between the clauses allows for a shared table join.
1513
+ * In the case of {@see WP_Meta_Query}, this only applies to 'IN' clauses that
1514
+ * are connected by the relation 'OR'.
1515
+ *
1516
+ * @since 4.1.0
1517
+ * @access protected
1518
+ *
1519
+ * @param array $clause Query clause.
1520
+ * @param array $parent_query Parent query of $clause.
1521
+ * @return string|bool Table alias if found, otherwise false.
1522
+ */
1523
+ protected function find_compatible_table_alias( $clause, $parent_query ) {
1524
+ $alias = false;
1525
+
1526
+ foreach ( $parent_query as $sibling ) {
1527
+ // If the sibling has no alias yet, there's nothing to check.
1528
+ if ( empty( $sibling['alias'] ) ) {
1529
+ continue;
1530
+ }
1531
+
1532
+ // We're only interested in siblings that are first-order clauses.
1533
+ if ( ! is_array( $sibling ) || ! $this->is_first_order_clause( $sibling ) ) {
1534
+ continue;
1535
+ }
1536
+
1537
+ $compatible_compares = array();
1538
+
1539
+ // Clauses connected by OR can share joins as long as they have "positive" operators.
1540
+ if ( 'OR' === $parent_query['relation'] ) {
1541
+ $compatible_compares = array( '=', 'IN', 'BETWEEN', 'LIKE', 'REGEXP', 'RLIKE', '>', '>=', '<', '<=' );
1542
+
1543
+ // Clauses joined by AND with "negative" operators share a join only if they also share a key.
1544
+ } elseif ( isset( $sibling['key'] ) && isset( $clause['key'] ) && $sibling['key'] === $clause['key'] ) {
1545
+ $compatible_compares = array( '!=', 'NOT IN', 'NOT LIKE' );
1546
+ }
1547
+
1548
+ $clause_compare = strtoupper( $clause['compare'] );
1549
+ $sibling_compare = strtoupper( $sibling['compare'] );
1550
+ if ( in_array( $clause_compare, $compatible_compares ) && in_array( $sibling_compare, $compatible_compares ) ) {
1551
+ $alias = $sibling['alias'];
1552
+ break;
1553
+ }
1554
+ }
1555
+
1556
+ /**
1557
+ * Filter the table alias identified as compatible with the current clause.
1558
+ *
1559
+ * @since 4.1.0
1560
+ *
1561
+ * @param string|bool $alias Table alias, or false if none was found.
1562
+ * @param array $clause First-order query clause.
1563
+ * @param array $parent_query Parent of $clause.
1564
+ * @param object $this WP_Meta_Query object.
1565
+ */
1566
+ return apply_filters( 'meta_query_find_compatible_table_alias', $alias, $clause, $parent_query, $this ) ;
1567
+ }
1568
+ }
1569
+
1570
+ /**
1571
+ * Retrieve the name of the metadata table for the specified object type.
1572
+ *
1573
+ * @since 2.9.0
1574
+ *
1575
+ * @global wpdb $wpdb WordPress database abstraction object.
1576
+ *
1577
+ * @param string $type Type of object to get metadata table for (e.g., comment, post, or user)
1578
+ * @return mixed Metadata table name, or false if no metadata table exists
1579
+ */
1580
+ function _get_meta_table($type) {
1581
+ global $wpdb;
1582
+
1583
+ $table_name = $type . 'meta';
1584
+
1585
+ if ( empty($wpdb->$table_name) )
1586
+ return false;
1587
+
1588
+ return $wpdb->$table_name;
1589
+ }
1590
+
1591
+ /**
1592
+ * Determine whether a meta key is protected.
1593
+ *
1594
+ * @since 3.1.3
1595
+ *
1596
+ * @param string $meta_key Meta key
1597
+ * @param string|null $meta_type
1598
+ * @return bool True if the key is protected, false otherwise.
1599
+ */
1600
+ function is_protected_meta( $meta_key, $meta_type = null ) {
1601
+ $protected = ( '_' == $meta_key[0] );
1602
+
1603
+ /**
1604
+ * Filter whether a meta key is protected.
1605
+ *
1606
+ * @since 3.2.0
1607
+ *
1608
+ * @param bool $protected Whether the key is protected. Default false.
1609
+ * @param string $meta_key Meta key.
1610
+ * @param string $meta_type Meta type.
1611
+ */
1612
+ return apply_filters( 'is_protected_meta', $protected, $meta_key, $meta_type );
1613
+ }
1614
+
1615
+ /**
1616
+ * Sanitize meta value.
1617
+ *
1618
+ * @since 3.1.3
1619
+ *
1620
+ * @param string $meta_key Meta key
1621
+ * @param mixed $meta_value Meta value to sanitize
1622
+ * @param string $meta_type Type of meta
1623
+ * @return mixed Sanitized $meta_value
1624
+ */
1625
+ function sanitize_meta( $meta_key, $meta_value, $meta_type ) {
1626
+
1627
+ /**
1628
+ * Filter the sanitization of a specific meta key of a specific meta type.
1629
+ *
1630
+ * The dynamic portions of the hook name, `$meta_type`, and `$meta_key`,
1631
+ * refer to the metadata object type (comment, post, or user) and the meta
1632
+ * key value,
1633
+ * respectively.
1634
+ *
1635
+ * @since 3.3.0
1636
+ *
1637
+ * @param mixed $meta_value Meta value to sanitize.
1638
+ * @param string $meta_key Meta key.
1639
+ * @param string $meta_type Meta type.
1640
+ */
1641
+ return apply_filters( "sanitize_{$meta_type}_meta_{$meta_key}", $meta_value, $meta_key, $meta_type );
1642
+ }
1643
+
1644
+ /**
1645
+ * Register meta key
1646
+ *
1647
+ * @since 3.3.0
1648
+ *
1649
+ * @param string $meta_type Type of meta
1650
+ * @param string $meta_key Meta key
1651
+ * @param string|array $sanitize_callback A function or method to call when sanitizing the value of $meta_key.
1652
+ * @param string|array $auth_callback Optional. A function or method to call when performing edit_post_meta, add_post_meta, and delete_post_meta capability checks.
1653
+ */
1654
+ function register_meta( $meta_type, $meta_key, $sanitize_callback, $auth_callback = null ) {
1655
+ if ( is_callable( $sanitize_callback ) )
1656
+ add_filter( "sanitize_{$meta_type}_meta_{$meta_key}", $sanitize_callback, 10, 3 );
1657
+
1658
+ if ( empty( $auth_callback ) ) {
1659
+ if ( is_protected_meta( $meta_key, $meta_type ) )
1660
+ $auth_callback = '__return_false';
1661
+ else
1662
+ $auth_callback = '__return_true';
1663
+ }
1664
+
1665
+ if ( is_callable( $auth_callback ) )
1666
+ add_filter( "auth_{$meta_type}_meta_{$meta_key}", $auth_callback, 10, 6 );
1667
+ }