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,1892 @@
1
+ <?php
2
+ /**
3
+ * WordPress Plugin Administration API
4
+ *
5
+ * @package WordPress
6
+ * @subpackage Administration
7
+ */
8
+
9
+ /**
10
+ * Parse the plugin contents to retrieve plugin's metadata.
11
+ *
12
+ * The metadata of the plugin's data searches for the following in the plugin's
13
+ * header. All plugin data must be on its own line. For plugin description, it
14
+ * must not have any newlines or only parts of the description will be displayed
15
+ * and the same goes for the plugin data. The below is formatted for printing.
16
+ *
17
+ * /*
18
+ * Plugin Name: Name of Plugin
19
+ * Plugin URI: Link to plugin information
20
+ * Description: Plugin Description
21
+ * Author: Plugin author's name
22
+ * Author URI: Link to the author's web site
23
+ * Version: Must be set in the plugin for WordPress 2.3+
24
+ * Text Domain: Optional. Unique identifier, should be same as the one used in
25
+ * load_plugin_textdomain()
26
+ * Domain Path: Optional. Only useful if the translations are located in a
27
+ * folder above the plugin's base path. For example, if .mo files are
28
+ * located in the locale folder then Domain Path will be "/locale/" and
29
+ * must have the first slash. Defaults to the base folder the plugin is
30
+ * located in.
31
+ * Network: Optional. Specify "Network: true" to require that a plugin is activated
32
+ * across all sites in an installation. This will prevent a plugin from being
33
+ * activated on a single site when Multisite is enabled.
34
+ * * / # Remove the space to close comment
35
+ *
36
+ * Plugin data returned array contains the following:
37
+ *
38
+ * - 'Name' - Name of the plugin, must be unique.
39
+ * - 'Title' - Title of the plugin and the link to the plugin's web site.
40
+ * - 'Description' - Description of what the plugin does and/or notes
41
+ * - from the author.
42
+ * - 'Author' - The author's name
43
+ * - 'AuthorURI' - The authors web site address.
44
+ * - 'Version' - The plugin version number.
45
+ * - 'PluginURI' - Plugin web site address.
46
+ * - 'TextDomain' - Plugin's text domain for localization.
47
+ * - 'DomainPath' - Plugin's relative directory path to .mo files.
48
+ * - 'Network' - Boolean. Whether the plugin can only be activated network wide.
49
+ *
50
+ * Some users have issues with opening large files and manipulating the contents
51
+ * for want is usually the first 1kiB or 2kiB. This function stops pulling in
52
+ * the plugin contents when it has all of the required plugin data.
53
+ *
54
+ * The first 8kiB of the file will be pulled in and if the plugin data is not
55
+ * within that first 8kiB, then the plugin author should correct their plugin
56
+ * and move the plugin data headers to the top.
57
+ *
58
+ * The plugin file is assumed to have permissions to allow for scripts to read
59
+ * the file. This is not checked however and the file is only opened for
60
+ * reading.
61
+ *
62
+ * @link https://core.trac.wordpress.org/ticket/5651 Previous Optimizations.
63
+ * @link https://core.trac.wordpress.org/ticket/7372 Further and better Optimizations.
64
+ *
65
+ * @since 1.5.0
66
+ *
67
+ * @param string $plugin_file Path to the plugin file
68
+ * @param bool $markup Optional. If the returned data should have HTML markup applied. Defaults to true.
69
+ * @param bool $translate Optional. If the returned data should be translated. Defaults to true.
70
+ * @return array See above for description.
71
+ */
72
+ function get_plugin_data( $plugin_file, $markup = true, $translate = true ) {
73
+
74
+ $default_headers = array(
75
+ 'Name' => 'Plugin Name',
76
+ 'PluginURI' => 'Plugin URI',
77
+ 'Version' => 'Version',
78
+ 'Description' => 'Description',
79
+ 'Author' => 'Author',
80
+ 'AuthorURI' => 'Author URI',
81
+ 'TextDomain' => 'Text Domain',
82
+ 'DomainPath' => 'Domain Path',
83
+ 'Network' => 'Network',
84
+ // Site Wide Only is deprecated in favor of Network.
85
+ '_sitewide' => 'Site Wide Only',
86
+ );
87
+
88
+ $plugin_data = get_file_data( $plugin_file, $default_headers, 'plugin' );
89
+
90
+ // Site Wide Only is the old header for Network
91
+ if ( ! $plugin_data['Network'] && $plugin_data['_sitewide'] ) {
92
+ _deprecated_argument( __FUNCTION__, '3.0', sprintf( __( 'The <code>%1$s</code> plugin header is deprecated. Use <code>%2$s</code> instead.' ), 'Site Wide Only: true', 'Network: true' ) );
93
+ $plugin_data['Network'] = $plugin_data['_sitewide'];
94
+ }
95
+ $plugin_data['Network'] = ( 'true' == strtolower( $plugin_data['Network'] ) );
96
+ unset( $plugin_data['_sitewide'] );
97
+
98
+ if ( $markup || $translate ) {
99
+ $plugin_data = _get_plugin_data_markup_translate( $plugin_file, $plugin_data, $markup, $translate );
100
+ } else {
101
+ $plugin_data['Title'] = $plugin_data['Name'];
102
+ $plugin_data['AuthorName'] = $plugin_data['Author'];
103
+ }
104
+
105
+ return $plugin_data;
106
+ }
107
+
108
+ /**
109
+ * Sanitizes plugin data, optionally adds markup, optionally translates.
110
+ *
111
+ * @since 2.7.0
112
+ * @access private
113
+ * @see get_plugin_data()
114
+ */
115
+ function _get_plugin_data_markup_translate( $plugin_file, $plugin_data, $markup = true, $translate = true ) {
116
+
117
+ // Sanitize the plugin filename to a WP_PLUGIN_DIR relative path
118
+ $plugin_file = plugin_basename( $plugin_file );
119
+
120
+ // Translate fields
121
+ if ( $translate ) {
122
+ if ( $textdomain = $plugin_data['TextDomain'] ) {
123
+ if ( $plugin_data['DomainPath'] )
124
+ load_plugin_textdomain( $textdomain, false, dirname( $plugin_file ) . $plugin_data['DomainPath'] );
125
+ else
126
+ load_plugin_textdomain( $textdomain, false, dirname( $plugin_file ) );
127
+ } elseif ( in_array( basename( $plugin_file ), array( 'hello.php', 'akismet.php' ) ) ) {
128
+ $textdomain = 'default';
129
+ }
130
+ if ( $textdomain ) {
131
+ foreach ( array( 'Name', 'PluginURI', 'Description', 'Author', 'AuthorURI', 'Version' ) as $field )
132
+ $plugin_data[ $field ] = translate( $plugin_data[ $field ], $textdomain );
133
+ }
134
+ }
135
+
136
+ // Sanitize fields
137
+ $allowed_tags = $allowed_tags_in_links = array(
138
+ 'abbr' => array( 'title' => true ),
139
+ 'acronym' => array( 'title' => true ),
140
+ 'code' => true,
141
+ 'em' => true,
142
+ 'strong' => true,
143
+ );
144
+ $allowed_tags['a'] = array( 'href' => true, 'title' => true );
145
+
146
+ // Name is marked up inside <a> tags. Don't allow these.
147
+ // Author is too, but some plugins have used <a> here (omitting Author URI).
148
+ $plugin_data['Name'] = wp_kses( $plugin_data['Name'], $allowed_tags_in_links );
149
+ $plugin_data['Author'] = wp_kses( $plugin_data['Author'], $allowed_tags );
150
+
151
+ $plugin_data['Description'] = wp_kses( $plugin_data['Description'], $allowed_tags );
152
+ $plugin_data['Version'] = wp_kses( $plugin_data['Version'], $allowed_tags );
153
+
154
+ $plugin_data['PluginURI'] = esc_url( $plugin_data['PluginURI'] );
155
+ $plugin_data['AuthorURI'] = esc_url( $plugin_data['AuthorURI'] );
156
+
157
+ $plugin_data['Title'] = $plugin_data['Name'];
158
+ $plugin_data['AuthorName'] = $plugin_data['Author'];
159
+
160
+ // Apply markup
161
+ if ( $markup ) {
162
+ if ( $plugin_data['PluginURI'] && $plugin_data['Name'] )
163
+ $plugin_data['Title'] = '<a href="' . $plugin_data['PluginURI'] . '">' . $plugin_data['Name'] . '</a>';
164
+
165
+ if ( $plugin_data['AuthorURI'] && $plugin_data['Author'] )
166
+ $plugin_data['Author'] = '<a href="' . $plugin_data['AuthorURI'] . '">' . $plugin_data['Author'] . '</a>';
167
+
168
+ $plugin_data['Description'] = wptexturize( $plugin_data['Description'] );
169
+
170
+ if ( $plugin_data['Author'] )
171
+ $plugin_data['Description'] .= ' <cite>' . sprintf( __('By %s.'), $plugin_data['Author'] ) . '</cite>';
172
+ }
173
+
174
+ return $plugin_data;
175
+ }
176
+
177
+ /**
178
+ * Get a list of a plugin's files.
179
+ *
180
+ * @since 2.8.0
181
+ *
182
+ * @param string $plugin Plugin ID
183
+ * @return array List of files relative to the plugin root.
184
+ */
185
+ function get_plugin_files($plugin) {
186
+ $plugin_file = WP_PLUGIN_DIR . '/' . $plugin;
187
+ $dir = dirname($plugin_file);
188
+ $plugin_files = array($plugin);
189
+ if ( is_dir($dir) && $dir != WP_PLUGIN_DIR ) {
190
+ $plugins_dir = @ opendir( $dir );
191
+ if ( $plugins_dir ) {
192
+ while (($file = readdir( $plugins_dir ) ) !== false ) {
193
+ if ( substr($file, 0, 1) == '.' )
194
+ continue;
195
+ if ( is_dir( $dir . '/' . $file ) ) {
196
+ $plugins_subdir = @ opendir( $dir . '/' . $file );
197
+ if ( $plugins_subdir ) {
198
+ while (($subfile = readdir( $plugins_subdir ) ) !== false ) {
199
+ if ( substr($subfile, 0, 1) == '.' )
200
+ continue;
201
+ $plugin_files[] = plugin_basename("$dir/$file/$subfile");
202
+ }
203
+ @closedir( $plugins_subdir );
204
+ }
205
+ } else {
206
+ if ( plugin_basename("$dir/$file") != $plugin )
207
+ $plugin_files[] = plugin_basename("$dir/$file");
208
+ }
209
+ }
210
+ @closedir( $plugins_dir );
211
+ }
212
+ }
213
+
214
+ return $plugin_files;
215
+ }
216
+
217
+ /**
218
+ * Check the plugins directory and retrieve all plugin files with plugin data.
219
+ *
220
+ * WordPress only supports plugin files in the base plugins directory
221
+ * (wp-content/plugins) and in one directory above the plugins directory
222
+ * (wp-content/plugins/my-plugin). The file it looks for has the plugin data and
223
+ * must be found in those two locations. It is recommended that do keep your
224
+ * plugin files in directories.
225
+ *
226
+ * The file with the plugin data is the file that will be included and therefore
227
+ * needs to have the main execution for the plugin. This does not mean
228
+ * everything must be contained in the file and it is recommended that the file
229
+ * be split for maintainability. Keep everything in one file for extreme
230
+ * optimization purposes.
231
+ *
232
+ * @since 1.5.0
233
+ *
234
+ * @param string $plugin_folder Optional. Relative path to single plugin folder.
235
+ * @return array Key is the plugin file path and the value is an array of the plugin data.
236
+ */
237
+ function get_plugins($plugin_folder = '') {
238
+
239
+ if ( ! $cache_plugins = wp_cache_get('plugins', 'plugins') )
240
+ $cache_plugins = array();
241
+
242
+ if ( isset($cache_plugins[ $plugin_folder ]) )
243
+ return $cache_plugins[ $plugin_folder ];
244
+
245
+ $wp_plugins = array ();
246
+ $plugin_root = WP_PLUGIN_DIR;
247
+ if ( !empty($plugin_folder) )
248
+ $plugin_root .= $plugin_folder;
249
+
250
+ // Files in wp-content/plugins directory
251
+ $plugins_dir = @ opendir( $plugin_root);
252
+ $plugin_files = array();
253
+ if ( $plugins_dir ) {
254
+ while (($file = readdir( $plugins_dir ) ) !== false ) {
255
+ if ( substr($file, 0, 1) == '.' )
256
+ continue;
257
+ if ( is_dir( $plugin_root.'/'.$file ) ) {
258
+ $plugins_subdir = @ opendir( $plugin_root.'/'.$file );
259
+ if ( $plugins_subdir ) {
260
+ while (($subfile = readdir( $plugins_subdir ) ) !== false ) {
261
+ if ( substr($subfile, 0, 1) == '.' )
262
+ continue;
263
+ if ( substr($subfile, -4) == '.php' )
264
+ $plugin_files[] = "$file/$subfile";
265
+ }
266
+ closedir( $plugins_subdir );
267
+ }
268
+ } else {
269
+ if ( substr($file, -4) == '.php' )
270
+ $plugin_files[] = $file;
271
+ }
272
+ }
273
+ closedir( $plugins_dir );
274
+ }
275
+
276
+ if ( empty($plugin_files) )
277
+ return $wp_plugins;
278
+
279
+ foreach ( $plugin_files as $plugin_file ) {
280
+ if ( !is_readable( "$plugin_root/$plugin_file" ) )
281
+ continue;
282
+
283
+ $plugin_data = get_plugin_data( "$plugin_root/$plugin_file", false, false ); //Do not apply markup/translate as it'll be cached.
284
+
285
+ if ( empty ( $plugin_data['Name'] ) )
286
+ continue;
287
+
288
+ $wp_plugins[plugin_basename( $plugin_file )] = $plugin_data;
289
+ }
290
+
291
+ uasort( $wp_plugins, '_sort_uname_callback' );
292
+
293
+ $cache_plugins[ $plugin_folder ] = $wp_plugins;
294
+ wp_cache_set('plugins', $cache_plugins, 'plugins');
295
+
296
+ return $wp_plugins;
297
+ }
298
+
299
+ /**
300
+ * Check the mu-plugins directory and retrieve all mu-plugin files with any plugin data.
301
+ *
302
+ * WordPress only includes mu-plugin files in the base mu-plugins directory (wp-content/mu-plugins).
303
+ *
304
+ * @since 3.0.0
305
+ * @return array Key is the mu-plugin file path and the value is an array of the mu-plugin data.
306
+ */
307
+ function get_mu_plugins() {
308
+ $wp_plugins = array();
309
+ // Files in wp-content/mu-plugins directory
310
+ $plugin_files = array();
311
+
312
+ if ( ! is_dir( WPMU_PLUGIN_DIR ) )
313
+ return $wp_plugins;
314
+ if ( $plugins_dir = @ opendir( WPMU_PLUGIN_DIR ) ) {
315
+ while ( ( $file = readdir( $plugins_dir ) ) !== false ) {
316
+ if ( substr( $file, -4 ) == '.php' )
317
+ $plugin_files[] = $file;
318
+ }
319
+ } else {
320
+ return $wp_plugins;
321
+ }
322
+
323
+ @closedir( $plugins_dir );
324
+
325
+ if ( empty($plugin_files) )
326
+ return $wp_plugins;
327
+
328
+ foreach ( $plugin_files as $plugin_file ) {
329
+ if ( !is_readable( WPMU_PLUGIN_DIR . "/$plugin_file" ) )
330
+ continue;
331
+
332
+ $plugin_data = get_plugin_data( WPMU_PLUGIN_DIR . "/$plugin_file", false, false ); //Do not apply markup/translate as it'll be cached.
333
+
334
+ if ( empty ( $plugin_data['Name'] ) )
335
+ $plugin_data['Name'] = $plugin_file;
336
+
337
+ $wp_plugins[ $plugin_file ] = $plugin_data;
338
+ }
339
+
340
+ if ( isset( $wp_plugins['index.php'] ) && filesize( WPMU_PLUGIN_DIR . '/index.php') <= 30 ) // silence is golden
341
+ unset( $wp_plugins['index.php'] );
342
+
343
+ uasort( $wp_plugins, '_sort_uname_callback' );
344
+
345
+ return $wp_plugins;
346
+ }
347
+
348
+ /**
349
+ * Callback to sort array by a 'Name' key.
350
+ *
351
+ * @since 3.1.0
352
+ * @access private
353
+ */
354
+ function _sort_uname_callback( $a, $b ) {
355
+ return strnatcasecmp( $a['Name'], $b['Name'] );
356
+ }
357
+
358
+ /**
359
+ * Check the wp-content directory and retrieve all drop-ins with any plugin data.
360
+ *
361
+ * @since 3.0.0
362
+ * @return array Key is the file path and the value is an array of the plugin data.
363
+ */
364
+ function get_dropins() {
365
+ $dropins = array();
366
+ $plugin_files = array();
367
+
368
+ $_dropins = _get_dropins();
369
+
370
+ // These exist in the wp-content directory
371
+ if ( $plugins_dir = @ opendir( WP_CONTENT_DIR ) ) {
372
+ while ( ( $file = readdir( $plugins_dir ) ) !== false ) {
373
+ if ( isset( $_dropins[ $file ] ) )
374
+ $plugin_files[] = $file;
375
+ }
376
+ } else {
377
+ return $dropins;
378
+ }
379
+
380
+ @closedir( $plugins_dir );
381
+
382
+ if ( empty($plugin_files) )
383
+ return $dropins;
384
+
385
+ foreach ( $plugin_files as $plugin_file ) {
386
+ if ( !is_readable( WP_CONTENT_DIR . "/$plugin_file" ) )
387
+ continue;
388
+ $plugin_data = get_plugin_data( WP_CONTENT_DIR . "/$plugin_file", false, false ); //Do not apply markup/translate as it'll be cached.
389
+ if ( empty( $plugin_data['Name'] ) )
390
+ $plugin_data['Name'] = $plugin_file;
391
+ $dropins[ $plugin_file ] = $plugin_data;
392
+ }
393
+
394
+ uksort( $dropins, 'strnatcasecmp' );
395
+
396
+ return $dropins;
397
+ }
398
+
399
+ /**
400
+ * Returns drop-ins that WordPress uses.
401
+ *
402
+ * Includes Multisite drop-ins only when is_multisite()
403
+ *
404
+ * @since 3.0.0
405
+ * @return array Key is file name. The value is an array, with the first value the
406
+ * purpose of the drop-in and the second value the name of the constant that must be
407
+ * true for the drop-in to be used, or true if no constant is required.
408
+ */
409
+ function _get_dropins() {
410
+ $dropins = array(
411
+ 'advanced-cache.php' => array( __( 'Advanced caching plugin.' ), 'WP_CACHE' ), // WP_CACHE
412
+ 'db.php' => array( __( 'Custom database class.' ), true ), // auto on load
413
+ 'db-error.php' => array( __( 'Custom database error message.' ), true ), // auto on error
414
+ 'install.php' => array( __( 'Custom install script.' ), true ), // auto on install
415
+ 'maintenance.php' => array( __( 'Custom maintenance message.' ), true ), // auto on maintenance
416
+ 'object-cache.php' => array( __( 'External object cache.' ), true ), // auto on load
417
+ );
418
+
419
+ if ( is_multisite() ) {
420
+ $dropins['sunrise.php' ] = array( __( 'Executed before Multisite is loaded.' ), 'SUNRISE' ); // SUNRISE
421
+ $dropins['blog-deleted.php' ] = array( __( 'Custom site deleted message.' ), true ); // auto on deleted blog
422
+ $dropins['blog-inactive.php' ] = array( __( 'Custom site inactive message.' ), true ); // auto on inactive blog
423
+ $dropins['blog-suspended.php'] = array( __( 'Custom site suspended message.' ), true ); // auto on archived or spammed blog
424
+ }
425
+
426
+ return $dropins;
427
+ }
428
+
429
+ /**
430
+ * Check whether the plugin is active by checking the active_plugins list.
431
+ *
432
+ * @since 2.5.0
433
+ *
434
+ * @param string $plugin Base plugin path from plugins directory.
435
+ * @return bool True, if in the active plugins list. False, not in the list.
436
+ */
437
+ function is_plugin_active( $plugin ) {
438
+ return in_array( $plugin, (array) get_option( 'active_plugins', array() ) ) || is_plugin_active_for_network( $plugin );
439
+ }
440
+
441
+ /**
442
+ * Check whether the plugin is inactive.
443
+ *
444
+ * Reverse of is_plugin_active(). Used as a callback.
445
+ *
446
+ * @since 3.1.0
447
+ * @see is_plugin_active()
448
+ *
449
+ * @param string $plugin Base plugin path from plugins directory.
450
+ * @return bool True if inactive. False if active.
451
+ */
452
+ function is_plugin_inactive( $plugin ) {
453
+ return ! is_plugin_active( $plugin );
454
+ }
455
+
456
+ /**
457
+ * Check whether the plugin is active for the entire network.
458
+ *
459
+ * @since 3.0.0
460
+ *
461
+ * @param string $plugin Base plugin path from plugins directory.
462
+ * @return bool True, if active for the network, otherwise false.
463
+ */
464
+ function is_plugin_active_for_network( $plugin ) {
465
+ if ( !is_multisite() )
466
+ return false;
467
+
468
+ $plugins = get_site_option( 'active_sitewide_plugins');
469
+ if ( isset($plugins[$plugin]) )
470
+ return true;
471
+
472
+ return false;
473
+ }
474
+
475
+ /**
476
+ * Checks for "Network: true" in the plugin header to see if this should
477
+ * be activated only as a network wide plugin. The plugin would also work
478
+ * when Multisite is not enabled.
479
+ *
480
+ * Checks for "Site Wide Only: true" for backwards compatibility.
481
+ *
482
+ * @since 3.0.0
483
+ *
484
+ * @param string $plugin Plugin to check
485
+ * @return bool True if plugin is network only, false otherwise.
486
+ */
487
+ function is_network_only_plugin( $plugin ) {
488
+ $plugin_data = get_plugin_data( WP_PLUGIN_DIR . '/' . $plugin );
489
+ if ( $plugin_data )
490
+ return $plugin_data['Network'];
491
+ return false;
492
+ }
493
+
494
+ /**
495
+ * Attempts activation of plugin in a "sandbox" and redirects on success.
496
+ *
497
+ * A plugin that is already activated will not attempt to be activated again.
498
+ *
499
+ * The way it works is by setting the redirection to the error before trying to
500
+ * include the plugin file. If the plugin fails, then the redirection will not
501
+ * be overwritten with the success message. Also, the options will not be
502
+ * updated and the activation hook will not be called on plugin error.
503
+ *
504
+ * It should be noted that in no way the below code will actually prevent errors
505
+ * within the file. The code should not be used elsewhere to replicate the
506
+ * "sandbox", which uses redirection to work.
507
+ * {@source 13 1}
508
+ *
509
+ * If any errors are found or text is outputted, then it will be captured to
510
+ * ensure that the success redirection will update the error redirection.
511
+ *
512
+ * @since 2.5.0
513
+ *
514
+ * @param string $plugin Plugin path to main plugin file with plugin data.
515
+ * @param string $redirect Optional. URL to redirect to.
516
+ * @param bool $network_wide Whether to enable the plugin for all sites in the
517
+ * network or just the current site. Multisite only. Default is false.
518
+ * @param bool $silent Prevent calling activation hooks. Optional, default is false.
519
+ * @return WP_Error|null WP_Error on invalid file or null on success.
520
+ */
521
+ function activate_plugin( $plugin, $redirect = '', $network_wide = false, $silent = false ) {
522
+ $plugin = plugin_basename( trim( $plugin ) );
523
+
524
+ if ( is_multisite() && ( $network_wide || is_network_only_plugin($plugin) ) ) {
525
+ $network_wide = true;
526
+ $current = get_site_option( 'active_sitewide_plugins', array() );
527
+ $_GET['networkwide'] = 1; // Back compat for plugins looking for this value.
528
+ } else {
529
+ $current = get_option( 'active_plugins', array() );
530
+ }
531
+
532
+ $valid = validate_plugin($plugin);
533
+ if ( is_wp_error($valid) )
534
+ return $valid;
535
+
536
+ if ( ( $network_wide && ! isset( $current[ $plugin ] ) ) || ( ! $network_wide && ! in_array( $plugin, $current ) ) ) {
537
+ if ( !empty($redirect) )
538
+ wp_redirect(add_query_arg('_error_nonce', wp_create_nonce('plugin-activation-error_' . $plugin), $redirect)); // we'll override this later if the plugin can be included without fatal error
539
+ ob_start();
540
+ wp_register_plugin_realpath( WP_PLUGIN_DIR . '/' . $plugin );
541
+ $_wp_plugin_file = $plugin;
542
+ include_once( WP_PLUGIN_DIR . '/' . $plugin );
543
+ $plugin = $_wp_plugin_file; // Avoid stomping of the $plugin variable in a plugin.
544
+
545
+ if ( ! $silent ) {
546
+ /**
547
+ * Fires before a plugin is activated.
548
+ *
549
+ * If a plugin is silently activated (such as during an update),
550
+ * this hook does not fire.
551
+ *
552
+ * @since 2.9.0
553
+ *
554
+ * @param string $plugin Plugin path to main plugin file with plugin data.
555
+ * @param bool $network_wide Whether to enable the plugin for all sites in the network
556
+ * or just the current site. Multisite only. Default is false.
557
+ */
558
+ do_action( 'activate_plugin', $plugin, $network_wide );
559
+
560
+ /**
561
+ * Fires as a specific plugin is being activated.
562
+ *
563
+ * This hook is the "activation" hook used internally by
564
+ * {@see register_activation_hook()}. The dynamic portion of the
565
+ * hook name, `$plugin`, refers to the plugin basename.
566
+ *
567
+ * If a plugin is silently activated (such as during an update),
568
+ * this hook does not fire.
569
+ *
570
+ * @since 2.0.0
571
+ *
572
+ * @param bool $network_wide Whether to enable the plugin for all sites in the network
573
+ * or just the current site. Multisite only. Default is false.
574
+ */
575
+ do_action( 'activate_' . $plugin, $network_wide );
576
+ }
577
+
578
+ if ( $network_wide ) {
579
+ $current[$plugin] = time();
580
+ update_site_option( 'active_sitewide_plugins', $current );
581
+ } else {
582
+ $current[] = $plugin;
583
+ sort($current);
584
+ update_option('active_plugins', $current);
585
+ }
586
+
587
+ if ( ! $silent ) {
588
+ /**
589
+ * Fires after a plugin has been activated.
590
+ *
591
+ * If a plugin is silently activated (such as during an update),
592
+ * this hook does not fire.
593
+ *
594
+ * @since 2.9.0
595
+ *
596
+ * @param string $plugin Plugin path to main plugin file with plugin data.
597
+ * @param bool $network_wide Whether to enable the plugin for all sites in the network
598
+ * or just the current site. Multisite only. Default is false.
599
+ */
600
+ do_action( 'activated_plugin', $plugin, $network_wide );
601
+ }
602
+
603
+ if ( ob_get_length() > 0 ) {
604
+ $output = ob_get_clean();
605
+ return new WP_Error('unexpected_output', __('The plugin generated unexpected output.'), $output);
606
+ }
607
+ ob_end_clean();
608
+ }
609
+
610
+ return null;
611
+ }
612
+
613
+ /**
614
+ * Deactivate a single plugin or multiple plugins.
615
+ *
616
+ * The deactivation hook is disabled by the plugin upgrader by using the $silent
617
+ * parameter.
618
+ *
619
+ * @since 2.5.0
620
+ *
621
+ * @param string|array $plugins Single plugin or list of plugins to deactivate.
622
+ * @param bool $silent Prevent calling deactivation hooks. Default is false.
623
+ * @param mixed $network_wide Whether to deactivate the plugin for all sites in the network.
624
+ * A value of null (the default) will deactivate plugins for both the site and the network.
625
+ */
626
+ function deactivate_plugins( $plugins, $silent = false, $network_wide = null ) {
627
+ if ( is_multisite() )
628
+ $network_current = get_site_option( 'active_sitewide_plugins', array() );
629
+ $current = get_option( 'active_plugins', array() );
630
+ $do_blog = $do_network = false;
631
+
632
+ foreach ( (array) $plugins as $plugin ) {
633
+ $plugin = plugin_basename( trim( $plugin ) );
634
+ if ( ! is_plugin_active($plugin) )
635
+ continue;
636
+
637
+ $network_deactivating = false !== $network_wide && is_plugin_active_for_network( $plugin );
638
+
639
+ if ( ! $silent ) {
640
+ /**
641
+ * Fires before a plugin is deactivated.
642
+ *
643
+ * If a plugin is silently deactivated (such as during an update),
644
+ * this hook does not fire.
645
+ *
646
+ * @since 2.9.0
647
+ *
648
+ * @param string $plugin Plugin path to main plugin file with plugin data.
649
+ * @param bool $network_deactivating Whether the plugin is deactivated for all sites in the network
650
+ * or just the current site. Multisite only. Default is false.
651
+ */
652
+ do_action( 'deactivate_plugin', $plugin, $network_deactivating );
653
+ }
654
+
655
+ if ( false !== $network_wide ) {
656
+ if ( is_plugin_active_for_network( $plugin ) ) {
657
+ $do_network = true;
658
+ unset( $network_current[ $plugin ] );
659
+ } elseif ( $network_wide ) {
660
+ continue;
661
+ }
662
+ }
663
+
664
+ if ( true !== $network_wide ) {
665
+ $key = array_search( $plugin, $current );
666
+ if ( false !== $key ) {
667
+ $do_blog = true;
668
+ unset( $current[ $key ] );
669
+ }
670
+ }
671
+
672
+ if ( ! $silent ) {
673
+ /**
674
+ * Fires as a specific plugin is being deactivated.
675
+ *
676
+ * This hook is the "deactivation" hook used internally by
677
+ * {@see register_deactivation_hook()}. The dynamic portion of the
678
+ * hook name, `$plugin`, refers to the plugin basename.
679
+ *
680
+ * If a plugin is silently deactivated (such as during an update),
681
+ * this hook does not fire.
682
+ *
683
+ * @since 2.0.0
684
+ *
685
+ * @param bool $network_deactivating Whether the plugin is deactivated for all sites in the network
686
+ * or just the current site. Multisite only. Default is false.
687
+ */
688
+ do_action( 'deactivate_' . $plugin, $network_deactivating );
689
+
690
+ /**
691
+ * Fires after a plugin is deactivated.
692
+ *
693
+ * If a plugin is silently deactivated (such as during an update),
694
+ * this hook does not fire.
695
+ *
696
+ * @since 2.9.0
697
+ *
698
+ * @param string $plugin Plugin basename.
699
+ * @param bool $network_deactivating Whether the plugin is deactivated for all sites in the network
700
+ * or just the current site. Multisite only. Default false.
701
+ */
702
+ do_action( 'deactivated_plugin', $plugin, $network_deactivating );
703
+ }
704
+ }
705
+
706
+ if ( $do_blog )
707
+ update_option('active_plugins', $current);
708
+ if ( $do_network )
709
+ update_site_option( 'active_sitewide_plugins', $network_current );
710
+ }
711
+
712
+ /**
713
+ * Activate multiple plugins.
714
+ *
715
+ * When WP_Error is returned, it does not mean that one of the plugins had
716
+ * errors. It means that one or more of the plugins file path was invalid.
717
+ *
718
+ * The execution will be halted as soon as one of the plugins has an error.
719
+ *
720
+ * @since 2.6.0
721
+ *
722
+ * @param string|array $plugins Single plugin or list of plugins to activate.
723
+ * @param string $redirect Redirect to page after successful activation.
724
+ * @param bool $network_wide Whether to enable the plugin for all sites in the network.
725
+ * @param bool $silent Prevent calling activation hooks. Default is false.
726
+ * @return bool|WP_Error True when finished or WP_Error if there were errors during a plugin activation.
727
+ */
728
+ function activate_plugins( $plugins, $redirect = '', $network_wide = false, $silent = false ) {
729
+ if ( !is_array($plugins) )
730
+ $plugins = array($plugins);
731
+
732
+ $errors = array();
733
+ foreach ( $plugins as $plugin ) {
734
+ if ( !empty($redirect) )
735
+ $redirect = add_query_arg('plugin', $plugin, $redirect);
736
+ $result = activate_plugin($plugin, $redirect, $network_wide, $silent);
737
+ if ( is_wp_error($result) )
738
+ $errors[$plugin] = $result;
739
+ }
740
+
741
+ if ( !empty($errors) )
742
+ return new WP_Error('plugins_invalid', __('One of the plugins is invalid.'), $errors);
743
+
744
+ return true;
745
+ }
746
+
747
+ /**
748
+ * Remove directory and files of a plugin for a list of plugins.
749
+ *
750
+ * @since 2.6.0
751
+ *
752
+ * @param array $plugins List of plugins to delete.
753
+ * @param string $deprecated Deprecated.
754
+ * @return bool|null|WP_Error True on success, false is $plugins is empty, WP_Error on failure.
755
+ * Null if filesystem credentials are required to proceed.
756
+ */
757
+ function delete_plugins( $plugins, $deprecated = '' ) {
758
+ global $wp_filesystem;
759
+
760
+ if ( empty($plugins) )
761
+ return false;
762
+
763
+ $checked = array();
764
+ foreach( $plugins as $plugin )
765
+ $checked[] = 'checked[]=' . $plugin;
766
+
767
+ ob_start();
768
+ $url = wp_nonce_url('plugins.php?action=delete-selected&verify-delete=1&' . implode('&', $checked), 'bulk-plugins');
769
+ if ( false === ($credentials = request_filesystem_credentials($url)) ) {
770
+ $data = ob_get_contents();
771
+ ob_end_clean();
772
+ if ( ! empty($data) ){
773
+ include_once( ABSPATH . 'wp-admin/admin-header.php');
774
+ echo $data;
775
+ include( ABSPATH . 'wp-admin/admin-footer.php');
776
+ exit;
777
+ }
778
+ return;
779
+ }
780
+
781
+ if ( ! WP_Filesystem($credentials) ) {
782
+ request_filesystem_credentials($url, '', true); //Failed to connect, Error and request again
783
+ $data = ob_get_contents();
784
+ ob_end_clean();
785
+ if ( ! empty($data) ){
786
+ include_once( ABSPATH . 'wp-admin/admin-header.php');
787
+ echo $data;
788
+ include( ABSPATH . 'wp-admin/admin-footer.php');
789
+ exit;
790
+ }
791
+ return;
792
+ }
793
+
794
+ if ( ! is_object($wp_filesystem) )
795
+ return new WP_Error('fs_unavailable', __('Could not access filesystem.'));
796
+
797
+ if ( is_wp_error($wp_filesystem->errors) && $wp_filesystem->errors->get_error_code() )
798
+ return new WP_Error('fs_error', __('Filesystem error.'), $wp_filesystem->errors);
799
+
800
+ // Get the base plugin folder.
801
+ $plugins_dir = $wp_filesystem->wp_plugins_dir();
802
+ if ( empty( $plugins_dir ) ) {
803
+ return new WP_Error( 'fs_no_plugins_dir', __( 'Unable to locate WordPress Plugin directory.' ) );
804
+ }
805
+
806
+ $plugins_dir = trailingslashit( $plugins_dir );
807
+
808
+ $plugin_translations = wp_get_installed_translations( 'plugins' );
809
+
810
+ $errors = array();
811
+
812
+ foreach( $plugins as $plugin_file ) {
813
+ // Run Uninstall hook.
814
+ if ( is_uninstallable_plugin( $plugin_file ) ) {
815
+ uninstall_plugin($plugin_file);
816
+ }
817
+
818
+ $this_plugin_dir = trailingslashit( dirname( $plugins_dir . $plugin_file ) );
819
+ // If plugin is in its own directory, recursively delete the directory.
820
+ if ( strpos( $plugin_file, '/' ) && $this_plugin_dir != $plugins_dir ) { //base check on if plugin includes directory separator AND that it's not the root plugin folder
821
+ $deleted = $wp_filesystem->delete( $this_plugin_dir, true );
822
+ } else {
823
+ $deleted = $wp_filesystem->delete( $plugins_dir . $plugin_file );
824
+ }
825
+
826
+ if ( ! $deleted ) {
827
+ $errors[] = $plugin_file;
828
+ continue;
829
+ }
830
+
831
+ // Remove language files, silently.
832
+ $plugin_slug = dirname( $plugin_file );
833
+ if ( '.' !== $plugin_slug && ! empty( $plugin_translations[ $plugin_slug ] ) ) {
834
+ $translations = $plugin_translations[ $plugin_slug ];
835
+
836
+ foreach ( $translations as $translation => $data ) {
837
+ $wp_filesystem->delete( WP_LANG_DIR . '/plugins/' . $plugin_slug . '-' . $translation . '.po' );
838
+ $wp_filesystem->delete( WP_LANG_DIR . '/plugins/' . $plugin_slug . '-' . $translation . '.mo' );
839
+ }
840
+ }
841
+ }
842
+
843
+ // Remove deleted plugins from the plugin updates list.
844
+ if ( $current = get_site_transient('update_plugins') ) {
845
+ // Don't remove the plugins that weren't deleted.
846
+ $deleted = array_diff( $plugins, $errors );
847
+
848
+ foreach ( $deleted as $plugin_file ) {
849
+ unset( $current->response[ $plugin_file ] );
850
+ }
851
+
852
+ set_site_transient( 'update_plugins', $current );
853
+ }
854
+
855
+ if ( ! empty($errors) )
856
+ return new WP_Error('could_not_remove_plugin', sprintf(__('Could not fully remove the plugin(s) %s.'), implode(', ', $errors)) );
857
+
858
+ return true;
859
+ }
860
+
861
+ /**
862
+ * Validate active plugins
863
+ *
864
+ * Validate all active plugins, deactivates invalid and
865
+ * returns an array of deactivated ones.
866
+ *
867
+ * @since 2.5.0
868
+ * @return array invalid plugins, plugin as key, error as value
869
+ */
870
+ function validate_active_plugins() {
871
+ $plugins = get_option( 'active_plugins', array() );
872
+ // Validate vartype: array.
873
+ if ( ! is_array( $plugins ) ) {
874
+ update_option( 'active_plugins', array() );
875
+ $plugins = array();
876
+ }
877
+
878
+ if ( is_multisite() && current_user_can( 'manage_network_plugins' ) ) {
879
+ $network_plugins = (array) get_site_option( 'active_sitewide_plugins', array() );
880
+ $plugins = array_merge( $plugins, array_keys( $network_plugins ) );
881
+ }
882
+
883
+ if ( empty( $plugins ) )
884
+ return array();
885
+
886
+ $invalid = array();
887
+
888
+ // Invalid plugins get deactivated.
889
+ foreach ( $plugins as $plugin ) {
890
+ $result = validate_plugin( $plugin );
891
+ if ( is_wp_error( $result ) ) {
892
+ $invalid[$plugin] = $result;
893
+ deactivate_plugins( $plugin, true );
894
+ }
895
+ }
896
+ return $invalid;
897
+ }
898
+
899
+ /**
900
+ * Validate the plugin path.
901
+ *
902
+ * Checks that the file exists and {@link validate_file() is valid file}.
903
+ *
904
+ * @since 2.5.0
905
+ *
906
+ * @param string $plugin Plugin Path
907
+ * @return WP_Error|int 0 on success, WP_Error on failure.
908
+ */
909
+ function validate_plugin($plugin) {
910
+ if ( validate_file($plugin) )
911
+ return new WP_Error('plugin_invalid', __('Invalid plugin path.'));
912
+ if ( ! file_exists(WP_PLUGIN_DIR . '/' . $plugin) )
913
+ return new WP_Error('plugin_not_found', __('Plugin file does not exist.'));
914
+
915
+ $installed_plugins = get_plugins();
916
+ if ( ! isset($installed_plugins[$plugin]) )
917
+ return new WP_Error('no_plugin_header', __('The plugin does not have a valid header.'));
918
+ return 0;
919
+ }
920
+
921
+ /**
922
+ * Whether the plugin can be uninstalled.
923
+ *
924
+ * @since 2.7.0
925
+ *
926
+ * @param string $plugin Plugin path to check.
927
+ * @return bool Whether plugin can be uninstalled.
928
+ */
929
+ function is_uninstallable_plugin($plugin) {
930
+ $file = plugin_basename($plugin);
931
+
932
+ $uninstallable_plugins = (array) get_option('uninstall_plugins');
933
+ if ( isset( $uninstallable_plugins[$file] ) || file_exists( WP_PLUGIN_DIR . '/' . dirname($file) . '/uninstall.php' ) )
934
+ return true;
935
+
936
+ return false;
937
+ }
938
+
939
+ /**
940
+ * Uninstall a single plugin.
941
+ *
942
+ * Calls the uninstall hook, if it is available.
943
+ *
944
+ * @since 2.7.0
945
+ *
946
+ * @param string $plugin Relative plugin path from Plugin Directory.
947
+ */
948
+ function uninstall_plugin($plugin) {
949
+ $file = plugin_basename($plugin);
950
+
951
+ $uninstallable_plugins = (array) get_option('uninstall_plugins');
952
+ if ( file_exists( WP_PLUGIN_DIR . '/' . dirname($file) . '/uninstall.php' ) ) {
953
+ if ( isset( $uninstallable_plugins[$file] ) ) {
954
+ unset($uninstallable_plugins[$file]);
955
+ update_option('uninstall_plugins', $uninstallable_plugins);
956
+ }
957
+ unset($uninstallable_plugins);
958
+
959
+ define('WP_UNINSTALL_PLUGIN', $file);
960
+ wp_register_plugin_realpath( WP_PLUGIN_DIR . '/' . dirname( $file ) );
961
+ include( WP_PLUGIN_DIR . '/' . dirname($file) . '/uninstall.php' );
962
+
963
+ return true;
964
+ }
965
+
966
+ if ( isset( $uninstallable_plugins[$file] ) ) {
967
+ $callable = $uninstallable_plugins[$file];
968
+ unset($uninstallable_plugins[$file]);
969
+ update_option('uninstall_plugins', $uninstallable_plugins);
970
+ unset($uninstallable_plugins);
971
+
972
+ wp_register_plugin_realpath( WP_PLUGIN_DIR . '/' . $file );
973
+ include( WP_PLUGIN_DIR . '/' . $file );
974
+
975
+ add_action( 'uninstall_' . $file, $callable );
976
+
977
+ /**
978
+ * Fires in uninstall_plugin() once the plugin has been uninstalled.
979
+ *
980
+ * The action concatenates the 'uninstall_' prefix with the basename of the
981
+ * plugin passed to {@see uninstall_plugin()} to create a dynamically-named action.
982
+ *
983
+ * @since 2.7.0
984
+ */
985
+ do_action( 'uninstall_' . $file );
986
+ }
987
+ }
988
+
989
+ //
990
+ // Menu
991
+ //
992
+
993
+ /**
994
+ * Add a top level menu page
995
+ *
996
+ * This function takes a capability which will be used to determine whether
997
+ * or not a page is included in the menu.
998
+ *
999
+ * The function which is hooked in to handle the output of the page must check
1000
+ * that the user has the required capability as well.
1001
+ *
1002
+ * @param string $page_title The text to be displayed in the title tags of the page when the menu is selected
1003
+ * @param string $menu_title The text to be used for the menu
1004
+ * @param string $capability The capability required for this menu to be displayed to the user.
1005
+ * @param string $menu_slug The slug name to refer to this menu by (should be unique for this menu)
1006
+ * @param callback $function The function to be called to output the content for this page.
1007
+ * @param string $icon_url The url to the icon to be used for this menu.
1008
+ * * Pass a base64-encoded SVG using a data URI, which will be colored to match the color scheme.
1009
+ * This should begin with 'data:image/svg+xml;base64,'.
1010
+ * * Pass the name of a Dashicons helper class to use a font icon, e.g. 'dashicons-chart-pie'.
1011
+ * * Pass 'none' to leave div.wp-menu-image empty so an icon can be added via CSS.
1012
+ * @param int $position The position in the menu order this one should appear
1013
+ *
1014
+ * @return string The resulting page's hook_suffix
1015
+ */
1016
+ function add_menu_page( $page_title, $menu_title, $capability, $menu_slug, $function = '', $icon_url = '', $position = null ) {
1017
+ global $menu, $admin_page_hooks, $_registered_pages, $_parent_pages;
1018
+
1019
+ $menu_slug = plugin_basename( $menu_slug );
1020
+
1021
+ $admin_page_hooks[$menu_slug] = sanitize_title( $menu_title );
1022
+
1023
+ $hookname = get_plugin_page_hookname( $menu_slug, '' );
1024
+
1025
+ if ( !empty( $function ) && !empty( $hookname ) && current_user_can( $capability ) )
1026
+ add_action( $hookname, $function );
1027
+
1028
+ if ( empty($icon_url) ) {
1029
+ $icon_url = 'dashicons-admin-generic';
1030
+ $icon_class = 'menu-icon-generic ';
1031
+ } else {
1032
+ $icon_url = set_url_scheme( $icon_url );
1033
+ $icon_class = '';
1034
+ }
1035
+
1036
+ $new_menu = array( $menu_title, $capability, $menu_slug, $page_title, 'menu-top ' . $icon_class . $hookname, $hookname, $icon_url );
1037
+
1038
+ if ( null === $position )
1039
+ $menu[] = $new_menu;
1040
+ else
1041
+ $menu[$position] = $new_menu;
1042
+
1043
+ $_registered_pages[$hookname] = true;
1044
+
1045
+ // No parent as top level
1046
+ $_parent_pages[$menu_slug] = false;
1047
+
1048
+ return $hookname;
1049
+ }
1050
+
1051
+ /**
1052
+ * Add a top level menu page in the 'objects' section
1053
+ *
1054
+ * This function takes a capability which will be used to determine whether
1055
+ * or not a page is included in the menu.
1056
+ *
1057
+ * The function which is hooked in to handle the output of the page must check
1058
+ * that the user has the required capability as well.
1059
+ *
1060
+ * @param string $page_title The text to be displayed in the title tags of the page when the menu is selected
1061
+ * @param string $menu_title The text to be used for the menu
1062
+ * @param string $capability The capability required for this menu to be displayed to the user.
1063
+ * @param string $menu_slug The slug name to refer to this menu by (should be unique for this menu)
1064
+ * @param callback $function The function to be called to output the content for this page.
1065
+ * @param string $icon_url The url to the icon to be used for this menu
1066
+ *
1067
+ * @return string The resulting page's hook_suffix
1068
+ */
1069
+ function add_object_page( $page_title, $menu_title, $capability, $menu_slug, $function = '', $icon_url = '') {
1070
+ global $_wp_last_object_menu;
1071
+
1072
+ $_wp_last_object_menu++;
1073
+
1074
+ return add_menu_page($page_title, $menu_title, $capability, $menu_slug, $function, $icon_url, $_wp_last_object_menu);
1075
+ }
1076
+
1077
+ /**
1078
+ * Add a top level menu page in the 'utility' section
1079
+ *
1080
+ * This function takes a capability which will be used to determine whether
1081
+ * or not a page is included in the menu.
1082
+ *
1083
+ * The function which is hooked in to handle the output of the page must check
1084
+ * that the user has the required capability as well.
1085
+ *
1086
+ * @param string $page_title The text to be displayed in the title tags of the page when the menu is selected
1087
+ * @param string $menu_title The text to be used for the menu
1088
+ * @param string $capability The capability required for this menu to be displayed to the user.
1089
+ * @param string $menu_slug The slug name to refer to this menu by (should be unique for this menu)
1090
+ * @param callback $function The function to be called to output the content for this page.
1091
+ * @param string $icon_url The url to the icon to be used for this menu
1092
+ *
1093
+ * @return string The resulting page's hook_suffix
1094
+ */
1095
+ function add_utility_page( $page_title, $menu_title, $capability, $menu_slug, $function = '', $icon_url = '') {
1096
+ global $_wp_last_utility_menu;
1097
+
1098
+ $_wp_last_utility_menu++;
1099
+
1100
+ return add_menu_page($page_title, $menu_title, $capability, $menu_slug, $function, $icon_url, $_wp_last_utility_menu);
1101
+ }
1102
+
1103
+ /**
1104
+ * Add a sub menu page
1105
+ *
1106
+ * This function takes a capability which will be used to determine whether
1107
+ * or not a page is included in the menu.
1108
+ *
1109
+ * The function which is hooked in to handle the output of the page must check
1110
+ * that the user has the required capability as well.
1111
+ *
1112
+ * @param string $parent_slug The slug name for the parent menu (or the file name of a standard WordPress admin page)
1113
+ * @param string $page_title The text to be displayed in the title tags of the page when the menu is selected
1114
+ * @param string $menu_title The text to be used for the menu
1115
+ * @param string $capability The capability required for this menu to be displayed to the user.
1116
+ * @param string $menu_slug The slug name to refer to this menu by (should be unique for this menu)
1117
+ * @param callback $function The function to be called to output the content for this page.
1118
+ *
1119
+ * @return false|string The resulting page's hook_suffix, or false if the user does not have the capability required.
1120
+ */
1121
+ function add_submenu_page( $parent_slug, $page_title, $menu_title, $capability, $menu_slug, $function = '' ) {
1122
+ global $submenu;
1123
+ global $menu;
1124
+ global $_wp_real_parent_file;
1125
+ global $_wp_submenu_nopriv;
1126
+ global $_registered_pages;
1127
+ global $_parent_pages;
1128
+
1129
+ $menu_slug = plugin_basename( $menu_slug );
1130
+ $parent_slug = plugin_basename( $parent_slug);
1131
+
1132
+ if ( isset( $_wp_real_parent_file[$parent_slug] ) )
1133
+ $parent_slug = $_wp_real_parent_file[$parent_slug];
1134
+
1135
+ if ( !current_user_can( $capability ) ) {
1136
+ $_wp_submenu_nopriv[$parent_slug][$menu_slug] = true;
1137
+ return false;
1138
+ }
1139
+
1140
+ /*
1141
+ * If the parent doesn't already have a submenu, add a link to the parent
1142
+ * as the first item in the submenu. If the submenu file is the same as the
1143
+ * parent file someone is trying to link back to the parent manually. In
1144
+ * this case, don't automatically add a link back to avoid duplication.
1145
+ */
1146
+ if (!isset( $submenu[$parent_slug] ) && $menu_slug != $parent_slug ) {
1147
+ foreach ( (array)$menu as $parent_menu ) {
1148
+ if ( $parent_menu[2] == $parent_slug && current_user_can( $parent_menu[1] ) )
1149
+ $submenu[$parent_slug][] = array_slice( $parent_menu, 0, 4 );
1150
+ }
1151
+ }
1152
+
1153
+ $submenu[$parent_slug][] = array ( $menu_title, $capability, $menu_slug, $page_title );
1154
+
1155
+ $hookname = get_plugin_page_hookname( $menu_slug, $parent_slug);
1156
+ if (!empty ( $function ) && !empty ( $hookname ))
1157
+ add_action( $hookname, $function );
1158
+
1159
+ $_registered_pages[$hookname] = true;
1160
+
1161
+ /*
1162
+ * Backward-compatibility for plugins using add_management page.
1163
+ * See wp-admin/admin.php for redirect from edit.php to tools.php
1164
+ */
1165
+ if ( 'tools.php' == $parent_slug )
1166
+ $_registered_pages[get_plugin_page_hookname( $menu_slug, 'edit.php')] = true;
1167
+
1168
+ // No parent as top level.
1169
+ $_parent_pages[$menu_slug] = $parent_slug;
1170
+
1171
+ return $hookname;
1172
+ }
1173
+
1174
+ /**
1175
+ * Add sub menu page to the tools main menu.
1176
+ *
1177
+ * This function takes a capability which will be used to determine whether
1178
+ * or not a page is included in the menu.
1179
+ *
1180
+ * The function which is hooked in to handle the output of the page must check
1181
+ * that the user has the required capability as well.
1182
+ *
1183
+ * @param string $page_title The text to be displayed in the title tags of the page when the menu is selected
1184
+ * @param string $menu_title The text to be used for the menu
1185
+ * @param string $capability The capability required for this menu to be displayed to the user.
1186
+ * @param string $menu_slug The slug name to refer to this menu by (should be unique for this menu)
1187
+ * @param callback $function The function to be called to output the content for this page.
1188
+ *
1189
+ * @return false|string The resulting page's hook_suffix, or false if the user does not have the capability required.
1190
+ */
1191
+ function add_management_page( $page_title, $menu_title, $capability, $menu_slug, $function = '' ) {
1192
+ return add_submenu_page( 'tools.php', $page_title, $menu_title, $capability, $menu_slug, $function );
1193
+ }
1194
+
1195
+ /**
1196
+ * Add sub menu page to the options main menu.
1197
+ *
1198
+ * This function takes a capability which will be used to determine whether
1199
+ * or not a page is included in the menu.
1200
+ *
1201
+ * The function which is hooked in to handle the output of the page must check
1202
+ * that the user has the required capability as well.
1203
+ *
1204
+ * @param string $page_title The text to be displayed in the title tags of the page when the menu is selected
1205
+ * @param string $menu_title The text to be used for the menu
1206
+ * @param string $capability The capability required for this menu to be displayed to the user.
1207
+ * @param string $menu_slug The slug name to refer to this menu by (should be unique for this menu)
1208
+ * @param callback $function The function to be called to output the content for this page.
1209
+ *
1210
+ * @return false|string The resulting page's hook_suffix, or false if the user does not have the capability required.
1211
+ */
1212
+ function add_options_page( $page_title, $menu_title, $capability, $menu_slug, $function = '' ) {
1213
+ return add_submenu_page( 'options-general.php', $page_title, $menu_title, $capability, $menu_slug, $function );
1214
+ }
1215
+
1216
+ /**
1217
+ * Add sub menu page to the themes main menu.
1218
+ *
1219
+ * This function takes a capability which will be used to determine whether
1220
+ * or not a page is included in the menu.
1221
+ *
1222
+ * The function which is hooked in to handle the output of the page must check
1223
+ * that the user has the required capability as well.
1224
+ *
1225
+ * @param string $page_title The text to be displayed in the title tags of the page when the menu is selected
1226
+ * @param string $menu_title The text to be used for the menu
1227
+ * @param string $capability The capability required for this menu to be displayed to the user.
1228
+ * @param string $menu_slug The slug name to refer to this menu by (should be unique for this menu)
1229
+ * @param callback $function The function to be called to output the content for this page.
1230
+ *
1231
+ * @return false|string The resulting page's hook_suffix, or false if the user does not have the capability required.
1232
+ */
1233
+ function add_theme_page( $page_title, $menu_title, $capability, $menu_slug, $function = '' ) {
1234
+ return add_submenu_page( 'themes.php', $page_title, $menu_title, $capability, $menu_slug, $function );
1235
+ }
1236
+
1237
+ /**
1238
+ * Add sub menu page to the plugins main menu.
1239
+ *
1240
+ * This function takes a capability which will be used to determine whether
1241
+ * or not a page is included in the menu.
1242
+ *
1243
+ * The function which is hooked in to handle the output of the page must check
1244
+ * that the user has the required capability as well.
1245
+ *
1246
+ * @param string $page_title The text to be displayed in the title tags of the page when the menu is selected
1247
+ * @param string $menu_title The text to be used for the menu
1248
+ * @param string $capability The capability required for this menu to be displayed to the user.
1249
+ * @param string $menu_slug The slug name to refer to this menu by (should be unique for this menu)
1250
+ * @param callback $function The function to be called to output the content for this page.
1251
+ *
1252
+ * @return false|string The resulting page's hook_suffix, or false if the user does not have the capability required.
1253
+ */
1254
+ function add_plugins_page( $page_title, $menu_title, $capability, $menu_slug, $function = '' ) {
1255
+ return add_submenu_page( 'plugins.php', $page_title, $menu_title, $capability, $menu_slug, $function );
1256
+ }
1257
+
1258
+ /**
1259
+ * Add sub menu page to the Users/Profile main menu.
1260
+ *
1261
+ * This function takes a capability which will be used to determine whether
1262
+ * or not a page is included in the menu.
1263
+ *
1264
+ * The function which is hooked in to handle the output of the page must check
1265
+ * that the user has the required capability as well.
1266
+ *
1267
+ * @param string $page_title The text to be displayed in the title tags of the page when the menu is selected
1268
+ * @param string $menu_title The text to be used for the menu
1269
+ * @param string $capability The capability required for this menu to be displayed to the user.
1270
+ * @param string $menu_slug The slug name to refer to this menu by (should be unique for this menu)
1271
+ * @param callback $function The function to be called to output the content for this page.
1272
+ *
1273
+ * @return false|string The resulting page's hook_suffix, or false if the user does not have the capability required.
1274
+ */
1275
+ function add_users_page( $page_title, $menu_title, $capability, $menu_slug, $function = '' ) {
1276
+ if ( current_user_can('edit_users') )
1277
+ $parent = 'users.php';
1278
+ else
1279
+ $parent = 'profile.php';
1280
+ return add_submenu_page( $parent, $page_title, $menu_title, $capability, $menu_slug, $function );
1281
+ }
1282
+ /**
1283
+ * Add sub menu page to the Dashboard main menu.
1284
+ *
1285
+ * This function takes a capability which will be used to determine whether
1286
+ * or not a page is included in the menu.
1287
+ *
1288
+ * The function which is hooked in to handle the output of the page must check
1289
+ * that the user has the required capability as well.
1290
+ *
1291
+ * @param string $page_title The text to be displayed in the title tags of the page when the menu is selected
1292
+ * @param string $menu_title The text to be used for the menu
1293
+ * @param string $capability The capability required for this menu to be displayed to the user.
1294
+ * @param string $menu_slug The slug name to refer to this menu by (should be unique for this menu)
1295
+ * @param callback $function The function to be called to output the content for this page.
1296
+ *
1297
+ * @return false|string The resulting page's hook_suffix, or false if the user does not have the capability required.
1298
+ */
1299
+ function add_dashboard_page( $page_title, $menu_title, $capability, $menu_slug, $function = '' ) {
1300
+ return add_submenu_page( 'index.php', $page_title, $menu_title, $capability, $menu_slug, $function );
1301
+ }
1302
+
1303
+ /**
1304
+ * Add sub menu page to the posts main menu.
1305
+ *
1306
+ * This function takes a capability which will be used to determine whether
1307
+ * or not a page is included in the menu.
1308
+ *
1309
+ * The function which is hooked in to handle the output of the page must check
1310
+ * that the user has the required capability as well.
1311
+ *
1312
+ * @param string $page_title The text to be displayed in the title tags of the page when the menu is selected
1313
+ * @param string $menu_title The text to be used for the menu
1314
+ * @param string $capability The capability required for this menu to be displayed to the user.
1315
+ * @param string $menu_slug The slug name to refer to this menu by (should be unique for this menu)
1316
+ * @param callback $function The function to be called to output the content for this page.
1317
+ *
1318
+ * @return false|string The resulting page's hook_suffix, or false if the user does not have the capability required.
1319
+ */
1320
+ function add_posts_page( $page_title, $menu_title, $capability, $menu_slug, $function = '' ) {
1321
+ return add_submenu_page( 'edit.php', $page_title, $menu_title, $capability, $menu_slug, $function );
1322
+ }
1323
+
1324
+ /**
1325
+ * Add sub menu page to the media main menu.
1326
+ *
1327
+ * This function takes a capability which will be used to determine whether
1328
+ * or not a page is included in the menu.
1329
+ *
1330
+ * The function which is hooked in to handle the output of the page must check
1331
+ * that the user has the required capability as well.
1332
+ *
1333
+ * @param string $page_title The text to be displayed in the title tags of the page when the menu is selected
1334
+ * @param string $menu_title The text to be used for the menu
1335
+ * @param string $capability The capability required for this menu to be displayed to the user.
1336
+ * @param string $menu_slug The slug name to refer to this menu by (should be unique for this menu)
1337
+ * @param callback $function The function to be called to output the content for this page.
1338
+ *
1339
+ * @return false|string The resulting page's hook_suffix, or false if the user does not have the capability required.
1340
+ */
1341
+ function add_media_page( $page_title, $menu_title, $capability, $menu_slug, $function = '' ) {
1342
+ return add_submenu_page( 'upload.php', $page_title, $menu_title, $capability, $menu_slug, $function );
1343
+ }
1344
+
1345
+ /**
1346
+ * Add sub menu page to the links main menu.
1347
+ *
1348
+ * This function takes a capability which will be used to determine whether
1349
+ * or not a page is included in the menu.
1350
+ *
1351
+ * The function which is hooked in to handle the output of the page must check
1352
+ * that the user has the required capability as well.
1353
+ *
1354
+ * @param string $page_title The text to be displayed in the title tags of the page when the menu is selected
1355
+ * @param string $menu_title The text to be used for the menu
1356
+ * @param string $capability The capability required for this menu to be displayed to the user.
1357
+ * @param string $menu_slug The slug name to refer to this menu by (should be unique for this menu)
1358
+ * @param callback $function The function to be called to output the content for this page.
1359
+ *
1360
+ * @return false|string The resulting page's hook_suffix, or false if the user does not have the capability required.
1361
+ */
1362
+ function add_links_page( $page_title, $menu_title, $capability, $menu_slug, $function = '' ) {
1363
+ return add_submenu_page( 'link-manager.php', $page_title, $menu_title, $capability, $menu_slug, $function );
1364
+ }
1365
+
1366
+ /**
1367
+ * Add sub menu page to the pages main menu.
1368
+ *
1369
+ * This function takes a capability which will be used to determine whether
1370
+ * or not a page is included in the menu.
1371
+ *
1372
+ * The function which is hooked in to handle the output of the page must check
1373
+ * that the user has the required capability as well.
1374
+ *
1375
+ * @param string $page_title The text to be displayed in the title tags of the page when the menu is selected
1376
+ * @param string $menu_title The text to be used for the menu
1377
+ * @param string $capability The capability required for this menu to be displayed to the user.
1378
+ * @param string $menu_slug The slug name to refer to this menu by (should be unique for this menu)
1379
+ * @param callback $function The function to be called to output the content for this page.
1380
+ *
1381
+ * @return false|string The resulting page's hook_suffix, or false if the user does not have the capability required.
1382
+ */
1383
+ function add_pages_page( $page_title, $menu_title, $capability, $menu_slug, $function = '' ) {
1384
+ return add_submenu_page( 'edit.php?post_type=page', $page_title, $menu_title, $capability, $menu_slug, $function );
1385
+ }
1386
+
1387
+ /**
1388
+ * Add sub menu page to the comments main menu.
1389
+ *
1390
+ * This function takes a capability which will be used to determine whether
1391
+ * or not a page is included in the menu.
1392
+ *
1393
+ * The function which is hooked in to handle the output of the page must check
1394
+ * that the user has the required capability as well.
1395
+ *
1396
+ * @param string $page_title The text to be displayed in the title tags of the page when the menu is selected
1397
+ * @param string $menu_title The text to be used for the menu
1398
+ * @param string $capability The capability required for this menu to be displayed to the user.
1399
+ * @param string $menu_slug The slug name to refer to this menu by (should be unique for this menu)
1400
+ * @param callback $function The function to be called to output the content for this page.
1401
+ *
1402
+ * @return false|string The resulting page's hook_suffix, or false if the user does not have the capability required.
1403
+ */
1404
+ function add_comments_page( $page_title, $menu_title, $capability, $menu_slug, $function = '' ) {
1405
+ return add_submenu_page( 'edit-comments.php', $page_title, $menu_title, $capability, $menu_slug, $function );
1406
+ }
1407
+
1408
+ /**
1409
+ * Remove a top level admin menu
1410
+ *
1411
+ * @since 3.1.0
1412
+ *
1413
+ * @param string $menu_slug The slug of the menu
1414
+ * @return array|bool The removed menu on success, False if not found
1415
+ */
1416
+ function remove_menu_page( $menu_slug ) {
1417
+ global $menu;
1418
+
1419
+ foreach ( $menu as $i => $item ) {
1420
+ if ( $menu_slug == $item[2] ) {
1421
+ unset( $menu[$i] );
1422
+ return $item;
1423
+ }
1424
+ }
1425
+
1426
+ return false;
1427
+ }
1428
+
1429
+ /**
1430
+ * Remove an admin submenu
1431
+ *
1432
+ * @since 3.1.0
1433
+ *
1434
+ * @param string $menu_slug The slug for the parent menu
1435
+ * @param string $submenu_slug The slug of the submenu
1436
+ * @return array|bool The removed submenu on success, False if not found
1437
+ */
1438
+ function remove_submenu_page( $menu_slug, $submenu_slug ) {
1439
+ global $submenu;
1440
+
1441
+ if ( !isset( $submenu[$menu_slug] ) )
1442
+ return false;
1443
+
1444
+ foreach ( $submenu[$menu_slug] as $i => $item ) {
1445
+ if ( $submenu_slug == $item[2] ) {
1446
+ unset( $submenu[$menu_slug][$i] );
1447
+ return $item;
1448
+ }
1449
+ }
1450
+
1451
+ return false;
1452
+ }
1453
+
1454
+ /**
1455
+ * Get the url to access a particular menu page based on the slug it was registered with.
1456
+ *
1457
+ * If the slug hasn't been registered properly no url will be returned
1458
+ *
1459
+ * @since 3.0.0
1460
+ *
1461
+ * @param string $menu_slug The slug name to refer to this menu by (should be unique for this menu)
1462
+ * @param bool $echo Whether or not to echo the url - default is true
1463
+ * @return string the url
1464
+ */
1465
+ function menu_page_url($menu_slug, $echo = true) {
1466
+ global $_parent_pages;
1467
+
1468
+ if ( isset( $_parent_pages[$menu_slug] ) ) {
1469
+ $parent_slug = $_parent_pages[$menu_slug];
1470
+ if ( $parent_slug && ! isset( $_parent_pages[$parent_slug] ) ) {
1471
+ $url = admin_url( add_query_arg( 'page', $menu_slug, $parent_slug ) );
1472
+ } else {
1473
+ $url = admin_url( 'admin.php?page=' . $menu_slug );
1474
+ }
1475
+ } else {
1476
+ $url = '';
1477
+ }
1478
+
1479
+ $url = esc_url($url);
1480
+
1481
+ if ( $echo )
1482
+ echo $url;
1483
+
1484
+ return $url;
1485
+ }
1486
+
1487
+ //
1488
+ // Pluggable Menu Support -- Private
1489
+ //
1490
+
1491
+ function get_admin_page_parent( $parent = '' ) {
1492
+ global $parent_file;
1493
+ global $menu;
1494
+ global $submenu;
1495
+ global $pagenow;
1496
+ global $typenow;
1497
+ global $plugin_page;
1498
+ global $_wp_real_parent_file;
1499
+ global $_wp_menu_nopriv;
1500
+ global $_wp_submenu_nopriv;
1501
+
1502
+ if ( !empty ( $parent ) && 'admin.php' != $parent ) {
1503
+ if ( isset( $_wp_real_parent_file[$parent] ) )
1504
+ $parent = $_wp_real_parent_file[$parent];
1505
+ return $parent;
1506
+ }
1507
+
1508
+ if ( $pagenow == 'admin.php' && isset( $plugin_page ) ) {
1509
+ foreach ( (array)$menu as $parent_menu ) {
1510
+ if ( $parent_menu[2] == $plugin_page ) {
1511
+ $parent_file = $plugin_page;
1512
+ if ( isset( $_wp_real_parent_file[$parent_file] ) )
1513
+ $parent_file = $_wp_real_parent_file[$parent_file];
1514
+ return $parent_file;
1515
+ }
1516
+ }
1517
+ if ( isset( $_wp_menu_nopriv[$plugin_page] ) ) {
1518
+ $parent_file = $plugin_page;
1519
+ if ( isset( $_wp_real_parent_file[$parent_file] ) )
1520
+ $parent_file = $_wp_real_parent_file[$parent_file];
1521
+ return $parent_file;
1522
+ }
1523
+ }
1524
+
1525
+ if ( isset( $plugin_page ) && isset( $_wp_submenu_nopriv[$pagenow][$plugin_page] ) ) {
1526
+ $parent_file = $pagenow;
1527
+ if ( isset( $_wp_real_parent_file[$parent_file] ) )
1528
+ $parent_file = $_wp_real_parent_file[$parent_file];
1529
+ return $parent_file;
1530
+ }
1531
+
1532
+ foreach (array_keys( (array)$submenu ) as $parent) {
1533
+ foreach ( $submenu[$parent] as $submenu_array ) {
1534
+ if ( isset( $_wp_real_parent_file[$parent] ) )
1535
+ $parent = $_wp_real_parent_file[$parent];
1536
+ if ( !empty($typenow) && ($submenu_array[2] == "$pagenow?post_type=$typenow") ) {
1537
+ $parent_file = $parent;
1538
+ return $parent;
1539
+ } elseif ( $submenu_array[2] == $pagenow && empty($typenow) && ( empty($parent_file) || false === strpos($parent_file, '?') ) ) {
1540
+ $parent_file = $parent;
1541
+ return $parent;
1542
+ } elseif ( isset( $plugin_page ) && ($plugin_page == $submenu_array[2] ) ) {
1543
+ $parent_file = $parent;
1544
+ return $parent;
1545
+ }
1546
+ }
1547
+ }
1548
+
1549
+ if ( empty($parent_file) )
1550
+ $parent_file = '';
1551
+ return '';
1552
+ }
1553
+
1554
+ function get_admin_page_title() {
1555
+ global $title;
1556
+ global $menu;
1557
+ global $submenu;
1558
+ global $pagenow;
1559
+ global $plugin_page;
1560
+ global $typenow;
1561
+
1562
+ if ( ! empty ( $title ) )
1563
+ return $title;
1564
+
1565
+ $hook = get_plugin_page_hook( $plugin_page, $pagenow );
1566
+
1567
+ $parent = $parent1 = get_admin_page_parent();
1568
+
1569
+ if ( empty ( $parent) ) {
1570
+ foreach ( (array)$menu as $menu_array ) {
1571
+ if ( isset( $menu_array[3] ) ) {
1572
+ if ( $menu_array[2] == $pagenow ) {
1573
+ $title = $menu_array[3];
1574
+ return $menu_array[3];
1575
+ } elseif ( isset( $plugin_page ) && ($plugin_page == $menu_array[2] ) && ($hook == $menu_array[3] ) ) {
1576
+ $title = $menu_array[3];
1577
+ return $menu_array[3];
1578
+ }
1579
+ } else {
1580
+ $title = $menu_array[0];
1581
+ return $title;
1582
+ }
1583
+ }
1584
+ } else {
1585
+ foreach ( array_keys( $submenu ) as $parent ) {
1586
+ foreach ( $submenu[$parent] as $submenu_array ) {
1587
+ if ( isset( $plugin_page ) &&
1588
+ ( $plugin_page == $submenu_array[2] ) &&
1589
+ (
1590
+ ( $parent == $pagenow ) ||
1591
+ ( $parent == $plugin_page ) ||
1592
+ ( $plugin_page == $hook ) ||
1593
+ ( $pagenow == 'admin.php' && $parent1 != $submenu_array[2] ) ||
1594
+ ( !empty($typenow) && $parent == $pagenow . '?post_type=' . $typenow)
1595
+ )
1596
+ ) {
1597
+ $title = $submenu_array[3];
1598
+ return $submenu_array[3];
1599
+ }
1600
+
1601
+ if ( $submenu_array[2] != $pagenow || isset( $_GET['page'] ) ) // not the current page
1602
+ continue;
1603
+
1604
+ if ( isset( $submenu_array[3] ) ) {
1605
+ $title = $submenu_array[3];
1606
+ return $submenu_array[3];
1607
+ } else {
1608
+ $title = $submenu_array[0];
1609
+ return $title;
1610
+ }
1611
+ }
1612
+ }
1613
+ if ( empty ( $title ) ) {
1614
+ foreach ( $menu as $menu_array ) {
1615
+ if ( isset( $plugin_page ) &&
1616
+ ( $plugin_page == $menu_array[2] ) &&
1617
+ ( $pagenow == 'admin.php' ) &&
1618
+ ( $parent1 == $menu_array[2] ) )
1619
+ {
1620
+ $title = $menu_array[3];
1621
+ return $menu_array[3];
1622
+ }
1623
+ }
1624
+ }
1625
+ }
1626
+
1627
+ return $title;
1628
+ }
1629
+
1630
+ function get_plugin_page_hook( $plugin_page, $parent_page ) {
1631
+ $hook = get_plugin_page_hookname( $plugin_page, $parent_page );
1632
+ if ( has_action($hook) )
1633
+ return $hook;
1634
+ else
1635
+ return null;
1636
+ }
1637
+
1638
+ function get_plugin_page_hookname( $plugin_page, $parent_page ) {
1639
+ global $admin_page_hooks;
1640
+
1641
+ $parent = get_admin_page_parent( $parent_page );
1642
+
1643
+ $page_type = 'admin';
1644
+ if ( empty ( $parent_page ) || 'admin.php' == $parent_page || isset( $admin_page_hooks[$plugin_page] ) ) {
1645
+ if ( isset( $admin_page_hooks[$plugin_page] ) ) {
1646
+ $page_type = 'toplevel';
1647
+ } elseif ( isset( $admin_page_hooks[$parent] )) {
1648
+ $page_type = $admin_page_hooks[$parent];
1649
+ }
1650
+ } elseif ( isset( $admin_page_hooks[$parent] ) ) {
1651
+ $page_type = $admin_page_hooks[$parent];
1652
+ }
1653
+
1654
+ $plugin_name = preg_replace( '!\.php!', '', $plugin_page );
1655
+
1656
+ return $page_type . '_page_' . $plugin_name;
1657
+ }
1658
+
1659
+ function user_can_access_admin_page() {
1660
+ global $pagenow;
1661
+ global $menu;
1662
+ global $submenu;
1663
+ global $_wp_menu_nopriv;
1664
+ global $_wp_submenu_nopriv;
1665
+ global $plugin_page;
1666
+ global $_registered_pages;
1667
+
1668
+ $parent = get_admin_page_parent();
1669
+
1670
+ if ( !isset( $plugin_page ) && isset( $_wp_submenu_nopriv[$parent][$pagenow] ) )
1671
+ return false;
1672
+
1673
+ if ( isset( $plugin_page ) ) {
1674
+ if ( isset( $_wp_submenu_nopriv[$parent][$plugin_page] ) )
1675
+ return false;
1676
+
1677
+ $hookname = get_plugin_page_hookname($plugin_page, $parent);
1678
+
1679
+ if ( !isset($_registered_pages[$hookname]) )
1680
+ return false;
1681
+ }
1682
+
1683
+ if ( empty( $parent) ) {
1684
+ if ( isset( $_wp_menu_nopriv[$pagenow] ) )
1685
+ return false;
1686
+ if ( isset( $_wp_submenu_nopriv[$pagenow][$pagenow] ) )
1687
+ return false;
1688
+ if ( isset( $plugin_page ) && isset( $_wp_submenu_nopriv[$pagenow][$plugin_page] ) )
1689
+ return false;
1690
+ if ( isset( $plugin_page ) && isset( $_wp_menu_nopriv[$plugin_page] ) )
1691
+ return false;
1692
+ foreach (array_keys( $_wp_submenu_nopriv ) as $key ) {
1693
+ if ( isset( $_wp_submenu_nopriv[$key][$pagenow] ) )
1694
+ return false;
1695
+ if ( isset( $plugin_page ) && isset( $_wp_submenu_nopriv[$key][$plugin_page] ) )
1696
+ return false;
1697
+ }
1698
+ return true;
1699
+ }
1700
+
1701
+ if ( isset( $plugin_page ) && ( $plugin_page == $parent ) && isset( $_wp_menu_nopriv[$plugin_page] ) )
1702
+ return false;
1703
+
1704
+ if ( isset( $submenu[$parent] ) ) {
1705
+ foreach ( $submenu[$parent] as $submenu_array ) {
1706
+ if ( isset( $plugin_page ) && ( $submenu_array[2] == $plugin_page ) ) {
1707
+ if ( current_user_can( $submenu_array[1] ))
1708
+ return true;
1709
+ else
1710
+ return false;
1711
+ } elseif ( $submenu_array[2] == $pagenow ) {
1712
+ if ( current_user_can( $submenu_array[1] ))
1713
+ return true;
1714
+ else
1715
+ return false;
1716
+ }
1717
+ }
1718
+ }
1719
+
1720
+ foreach ( $menu as $menu_array ) {
1721
+ if ( $menu_array[2] == $parent) {
1722
+ if ( current_user_can( $menu_array[1] ))
1723
+ return true;
1724
+ else
1725
+ return false;
1726
+ }
1727
+ }
1728
+
1729
+ return true;
1730
+ }
1731
+
1732
+ /* Whitelist functions */
1733
+
1734
+ /**
1735
+ * Register a setting and its sanitization callback
1736
+ *
1737
+ * @since 2.7.0
1738
+ *
1739
+ * @param string $option_group A settings group name. Should correspond to a whitelisted option key name.
1740
+ * Default whitelisted option key names include "general," "discussion," and "reading," among others.
1741
+ * @param string $option_name The name of an option to sanitize and save.
1742
+ * @param callable $sanitize_callback A callback function that sanitizes the option's value.
1743
+ */
1744
+ function register_setting( $option_group, $option_name, $sanitize_callback = '' ) {
1745
+ global $new_whitelist_options;
1746
+
1747
+ if ( 'misc' == $option_group ) {
1748
+ _deprecated_argument( __FUNCTION__, '3.0', sprintf( __( 'The "%s" options group has been removed. Use another settings group.' ), 'misc' ) );
1749
+ $option_group = 'general';
1750
+ }
1751
+
1752
+ if ( 'privacy' == $option_group ) {
1753
+ _deprecated_argument( __FUNCTION__, '3.5', sprintf( __( 'The "%s" options group has been removed. Use another settings group.' ), 'privacy' ) );
1754
+ $option_group = 'reading';
1755
+ }
1756
+
1757
+ $new_whitelist_options[ $option_group ][] = $option_name;
1758
+ if ( $sanitize_callback != '' )
1759
+ add_filter( "sanitize_option_{$option_name}", $sanitize_callback );
1760
+ }
1761
+
1762
+ /**
1763
+ * Unregister a setting
1764
+ *
1765
+ * @since 2.7.0
1766
+ *
1767
+ * @param string $option_group
1768
+ * @param string $option_name
1769
+ * @param callable $sanitize_callback
1770
+ */
1771
+ function unregister_setting( $option_group, $option_name, $sanitize_callback = '' ) {
1772
+ global $new_whitelist_options;
1773
+
1774
+ if ( 'misc' == $option_group ) {
1775
+ _deprecated_argument( __FUNCTION__, '3.0', sprintf( __( 'The "%s" options group has been removed. Use another settings group.' ), 'misc' ) );
1776
+ $option_group = 'general';
1777
+ }
1778
+
1779
+ if ( 'privacy' == $option_group ) {
1780
+ _deprecated_argument( __FUNCTION__, '3.5', sprintf( __( 'The "%s" options group has been removed. Use another settings group.' ), 'privacy' ) );
1781
+ $option_group = 'reading';
1782
+ }
1783
+
1784
+ $pos = array_search( $option_name, (array) $new_whitelist_options );
1785
+ if ( $pos !== false )
1786
+ unset( $new_whitelist_options[ $option_group ][ $pos ] );
1787
+ if ( $sanitize_callback != '' )
1788
+ remove_filter( "sanitize_option_{$option_name}", $sanitize_callback );
1789
+ }
1790
+
1791
+ /**
1792
+ * {@internal Missing Short Description}}
1793
+ *
1794
+ * @since 2.7.0
1795
+ *
1796
+ * @param array $options
1797
+ * @return array
1798
+ */
1799
+ function option_update_filter( $options ) {
1800
+ global $new_whitelist_options;
1801
+
1802
+ if ( is_array( $new_whitelist_options ) )
1803
+ $options = add_option_whitelist( $new_whitelist_options, $options );
1804
+
1805
+ return $options;
1806
+ }
1807
+ add_filter( 'whitelist_options', 'option_update_filter' );
1808
+
1809
+ /**
1810
+ * {@internal Missing Short Description}}
1811
+ *
1812
+ * @since 2.7.0
1813
+ *
1814
+ * @param array $new_options
1815
+ * @param string|array $options
1816
+ * @return array
1817
+ */
1818
+ function add_option_whitelist( $new_options, $options = '' ) {
1819
+ if ( $options == '' )
1820
+ global $whitelist_options;
1821
+ else
1822
+ $whitelist_options = $options;
1823
+
1824
+ foreach ( $new_options as $page => $keys ) {
1825
+ foreach ( $keys as $key ) {
1826
+ if ( !isset($whitelist_options[ $page ]) || !is_array($whitelist_options[ $page ]) ) {
1827
+ $whitelist_options[ $page ] = array();
1828
+ $whitelist_options[ $page ][] = $key;
1829
+ } else {
1830
+ $pos = array_search( $key, $whitelist_options[ $page ] );
1831
+ if ( $pos === false )
1832
+ $whitelist_options[ $page ][] = $key;
1833
+ }
1834
+ }
1835
+ }
1836
+
1837
+ return $whitelist_options;
1838
+ }
1839
+
1840
+ /**
1841
+ * {@internal Missing Short Description}}
1842
+ *
1843
+ * @since 2.7.0
1844
+ *
1845
+ * @param array $del_options
1846
+ * @param string|array $options
1847
+ * @return array
1848
+ */
1849
+ function remove_option_whitelist( $del_options, $options = '' ) {
1850
+ if ( $options == '' )
1851
+ global $whitelist_options;
1852
+ else
1853
+ $whitelist_options = $options;
1854
+
1855
+ foreach ( $del_options as $page => $keys ) {
1856
+ foreach ( $keys as $key ) {
1857
+ if ( isset($whitelist_options[ $page ]) && is_array($whitelist_options[ $page ]) ) {
1858
+ $pos = array_search( $key, $whitelist_options[ $page ] );
1859
+ if ( $pos !== false )
1860
+ unset( $whitelist_options[ $page ][ $pos ] );
1861
+ }
1862
+ }
1863
+ }
1864
+
1865
+ return $whitelist_options;
1866
+ }
1867
+
1868
+ /**
1869
+ * Output nonce, action, and option_page fields for a settings page.
1870
+ *
1871
+ * @since 2.7.0
1872
+ *
1873
+ * @param string $option_group A settings group name. This should match the group name used in register_setting().
1874
+ */
1875
+ function settings_fields($option_group) {
1876
+ echo "<input type='hidden' name='option_page' value='" . esc_attr($option_group) . "' />";
1877
+ echo '<input type="hidden" name="action" value="update" />';
1878
+ wp_nonce_field("$option_group-options");
1879
+ }
1880
+
1881
+ /**
1882
+ * Clears the Plugins cache used by get_plugins() and by default, the Plugin Update cache.
1883
+ *
1884
+ * @since 3.7.0
1885
+ *
1886
+ * @param bool $clear_update_cache Whether to clear the Plugin updates cache
1887
+ */
1888
+ function wp_clean_plugins_cache( $clear_update_cache = true ) {
1889
+ if ( $clear_update_cache )
1890
+ delete_site_transient( 'update_plugins' );
1891
+ wp_cache_delete( 'plugins', 'plugins' );
1892
+ }