stump-cli 0.1.0 → 0.1.1

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 (1310) hide show
  1. checksums.yaml +8 -8
  2. data/.gitignore +18 -0
  3. data/Gemfile +4 -0
  4. data/LICENSE.txt +22 -0
  5. data/README.md +3 -16
  6. data/Rakefile +2 -0
  7. data/bin/stump-cli +58 -0
  8. data/lib/stump-cli/version.rb +3 -0
  9. data/lib/stump.rb +5 -0
  10. data/lib/wp/Movefile-example +62 -0
  11. data/lib/wp/README.md +25 -0
  12. data/lib/wp/index.php +17 -0
  13. data/lib/wp/license.txt +385 -0
  14. data/lib/wp/readme.html +96 -0
  15. data/lib/wp/wp-activate.php +131 -0
  16. data/lib/wp/wp-admin/about.php +193 -0
  17. data/lib/wp/wp-admin/admin-ajax.php +98 -0
  18. data/lib/wp/wp-admin/admin-footer.php +99 -0
  19. data/lib/wp/wp-admin/admin-functions.php +15 -0
  20. data/lib/wp/wp-admin/admin-header.php +243 -0
  21. data/lib/wp/wp-admin/admin-post.php +71 -0
  22. data/lib/wp/wp-admin/admin.php +347 -0
  23. data/lib/wp/wp-admin/async-upload.php +114 -0
  24. data/lib/wp/wp-admin/comment.php +299 -0
  25. data/lib/wp/wp-admin/credits.php +192 -0
  26. data/lib/wp/wp-admin/css/about-rtl.css +446 -0
  27. data/lib/wp/wp-admin/css/about.css +446 -0
  28. data/lib/wp/wp-admin/css/admin-menu-rtl.css +917 -0
  29. data/lib/wp/wp-admin/css/admin-menu.css +917 -0
  30. data/lib/wp/wp-admin/css/color-picker-rtl.css +127 -0
  31. data/lib/wp/wp-admin/css/color-picker-rtl.min.css +1 -0
  32. data/lib/wp/wp-admin/css/color-picker.css +127 -0
  33. data/lib/wp/wp-admin/css/color-picker.min.css +1 -0
  34. data/lib/wp/wp-admin/css/colors/_admin.scss +525 -0
  35. data/lib/wp/wp-admin/css/colors/_mixins.scss +43 -0
  36. data/lib/wp/wp-admin/css/colors/_variables.scss +58 -0
  37. data/lib/wp/wp-admin/css/colors/blue/colors-rtl.css +341 -0
  38. data/lib/wp/wp-admin/css/colors/blue/colors-rtl.min.css +1 -0
  39. data/lib/wp/wp-admin/css/colors/blue/colors.css +341 -0
  40. data/lib/wp/wp-admin/css/colors/blue/colors.min.css +1 -0
  41. data/lib/wp/wp-admin/css/colors/blue/colors.scss +11 -0
  42. data/lib/wp/wp-admin/css/colors/coffee/colors-rtl.css +341 -0
  43. data/lib/wp/wp-admin/css/colors/coffee/colors-rtl.min.css +1 -0
  44. data/lib/wp/wp-admin/css/colors/coffee/colors.css +341 -0
  45. data/lib/wp/wp-admin/css/colors/coffee/colors.min.css +1 -0
  46. data/lib/wp/wp-admin/css/colors/coffee/colors.scss +7 -0
  47. data/lib/wp/wp-admin/css/colors/ectoplasm/colors-rtl.css +341 -0
  48. data/lib/wp/wp-admin/css/colors/ectoplasm/colors-rtl.min.css +1 -0
  49. data/lib/wp/wp-admin/css/colors/ectoplasm/colors.css +341 -0
  50. data/lib/wp/wp-admin/css/colors/ectoplasm/colors.min.css +1 -0
  51. data/lib/wp/wp-admin/css/colors/ectoplasm/colors.scss +8 -0
  52. data/lib/wp/wp-admin/css/colors/light/colors-rtl.css +349 -0
  53. data/lib/wp/wp-admin/css/colors/light/colors-rtl.min.css +1 -0
  54. data/lib/wp/wp-admin/css/colors/light/colors.css +349 -0
  55. data/lib/wp/wp-admin/css/colors/light/colors.min.css +1 -0
  56. data/lib/wp/wp-admin/css/colors/light/colors.scss +38 -0
  57. data/lib/wp/wp-admin/css/colors/midnight/colors-rtl.css +341 -0
  58. data/lib/wp/wp-admin/css/colors/midnight/colors-rtl.min.css +1 -0
  59. data/lib/wp/wp-admin/css/colors/midnight/colors.css +341 -0
  60. data/lib/wp/wp-admin/css/colors/midnight/colors.min.css +1 -0
  61. data/lib/wp/wp-admin/css/colors/midnight/colors.scss +5 -0
  62. data/lib/wp/wp-admin/css/colors/ocean/colors-rtl.css +341 -0
  63. data/lib/wp/wp-admin/css/colors/ocean/colors-rtl.min.css +1 -0
  64. data/lib/wp/wp-admin/css/colors/ocean/colors.css +341 -0
  65. data/lib/wp/wp-admin/css/colors/ocean/colors.min.css +1 -0
  66. data/lib/wp/wp-admin/css/colors/ocean/colors.scss +8 -0
  67. data/lib/wp/wp-admin/css/colors/sunrise/colors-rtl.css +341 -0
  68. data/lib/wp/wp-admin/css/colors/sunrise/colors-rtl.min.css +1 -0
  69. data/lib/wp/wp-admin/css/colors/sunrise/colors.css +341 -0
  70. data/lib/wp/wp-admin/css/colors/sunrise/colors.min.css +1 -0
  71. data/lib/wp/wp-admin/css/colors/sunrise/colors.scss +6 -0
  72. data/lib/wp/wp-admin/css/common-rtl.css +3212 -0
  73. data/lib/wp/wp-admin/css/common.css +3212 -0
  74. data/lib/wp/wp-admin/css/customize-controls-rtl.css +889 -0
  75. data/lib/wp/wp-admin/css/customize-controls-rtl.min.css +1 -0
  76. data/lib/wp/wp-admin/css/customize-controls.css +889 -0
  77. data/lib/wp/wp-admin/css/customize-controls.min.css +1 -0
  78. data/lib/wp/wp-admin/css/customize-widgets-rtl.css +603 -0
  79. data/lib/wp/wp-admin/css/customize-widgets-rtl.min.css +1 -0
  80. data/lib/wp/wp-admin/css/customize-widgets.css +603 -0
  81. data/lib/wp/wp-admin/css/customize-widgets.min.css +1 -0
  82. data/lib/wp/wp-admin/css/dashboard-rtl.css +1116 -0
  83. data/lib/wp/wp-admin/css/dashboard.css +1116 -0
  84. data/lib/wp/wp-admin/css/deprecated-media-rtl.css +371 -0
  85. data/lib/wp/wp-admin/css/deprecated-media-rtl.min.css +1 -0
  86. data/lib/wp/wp-admin/css/deprecated-media.css +371 -0
  87. data/lib/wp/wp-admin/css/deprecated-media.min.css +1 -0
  88. data/lib/wp/wp-admin/css/edit-rtl.css +1501 -0
  89. data/lib/wp/wp-admin/css/edit.css +1501 -0
  90. data/lib/wp/wp-admin/css/farbtastic-rtl.css +41 -0
  91. data/lib/wp/wp-admin/css/farbtastic.css +41 -0
  92. data/lib/wp/wp-admin/css/forms-rtl.css +992 -0
  93. data/lib/wp/wp-admin/css/forms.css +992 -0
  94. data/lib/wp/wp-admin/css/ie-rtl.css +785 -0
  95. data/lib/wp/wp-admin/css/ie-rtl.min.css +1 -0
  96. data/lib/wp/wp-admin/css/ie.css +785 -0
  97. data/lib/wp/wp-admin/css/ie.min.css +1 -0
  98. data/lib/wp/wp-admin/css/install-rtl.css +389 -0
  99. data/lib/wp/wp-admin/css/install-rtl.min.css +1 -0
  100. data/lib/wp/wp-admin/css/install.css +389 -0
  101. data/lib/wp/wp-admin/css/install.min.css +1 -0
  102. data/lib/wp/wp-admin/css/l10n-rtl.css +101 -0
  103. data/lib/wp/wp-admin/css/l10n.css +101 -0
  104. data/lib/wp/wp-admin/css/list-tables-rtl.css +1875 -0
  105. data/lib/wp/wp-admin/css/list-tables.css +1875 -0
  106. data/lib/wp/wp-admin/css/login-rtl.css +269 -0
  107. data/lib/wp/wp-admin/css/login-rtl.min.css +1 -0
  108. data/lib/wp/wp-admin/css/login.css +269 -0
  109. data/lib/wp/wp-admin/css/login.min.css +1 -0
  110. data/lib/wp/wp-admin/css/media-rtl.css +1196 -0
  111. data/lib/wp/wp-admin/css/media.css +1196 -0
  112. data/lib/wp/wp-admin/css/nav-menus-rtl.css +857 -0
  113. data/lib/wp/wp-admin/css/nav-menus.css +857 -0
  114. data/lib/wp/wp-admin/css/press-this-rtl.css +458 -0
  115. data/lib/wp/wp-admin/css/press-this.css +458 -0
  116. data/lib/wp/wp-admin/css/revisions-rtl.css +574 -0
  117. data/lib/wp/wp-admin/css/revisions.css +574 -0
  118. data/lib/wp/wp-admin/css/themes-rtl.css +1732 -0
  119. data/lib/wp/wp-admin/css/themes.css +1732 -0
  120. data/lib/wp/wp-admin/css/widgets-rtl.css +577 -0
  121. data/lib/wp/wp-admin/css/widgets.css +577 -0
  122. data/lib/wp/wp-admin/css/wp-admin-rtl.css +14 -0
  123. data/lib/wp/wp-admin/css/wp-admin-rtl.min.css +1 -0
  124. data/lib/wp/wp-admin/css/wp-admin.css +14 -0
  125. data/lib/wp/wp-admin/css/wp-admin.min.css +1 -0
  126. data/lib/wp/wp-admin/custom-background.php +482 -0
  127. data/lib/wp/wp-admin/custom-header.php +1366 -0
  128. data/lib/wp/wp-admin/customize.php +278 -0
  129. data/lib/wp/wp-admin/edit-comments.php +254 -0
  130. data/lib/wp/wp-admin/edit-form-advanced.php +636 -0
  131. data/lib/wp/wp-admin/edit-form-comment.php +160 -0
  132. data/lib/wp/wp-admin/edit-link-form.php +150 -0
  133. data/lib/wp/wp-admin/edit-tag-form.php +204 -0
  134. data/lib/wp/wp-admin/edit-tags.php +591 -0
  135. data/lib/wp/wp-admin/edit.php +330 -0
  136. data/lib/wp/wp-admin/export.php +243 -0
  137. data/lib/wp/wp-admin/freedoms.php +57 -0
  138. data/lib/wp/wp-admin/images/align-center-2x.png +0 -0
  139. data/lib/wp/wp-admin/images/align-center.png +0 -0
  140. data/lib/wp/wp-admin/images/align-left-2x.png +0 -0
  141. data/lib/wp/wp-admin/images/align-left.png +0 -0
  142. data/lib/wp/wp-admin/images/align-none-2x.png +0 -0
  143. data/lib/wp/wp-admin/images/align-none.png +0 -0
  144. data/lib/wp/wp-admin/images/align-right-2x.png +0 -0
  145. data/lib/wp/wp-admin/images/align-right.png +0 -0
  146. data/lib/wp/wp-admin/images/arrows-2x.png +0 -0
  147. data/lib/wp/wp-admin/images/arrows.png +0 -0
  148. data/lib/wp/wp-admin/images/bubble_bg-2x.gif +0 -0
  149. data/lib/wp/wp-admin/images/bubble_bg.gif +0 -0
  150. data/lib/wp/wp-admin/images/comment-grey-bubble-2x.png +0 -0
  151. data/lib/wp/wp-admin/images/comment-grey-bubble.png +0 -0
  152. data/lib/wp/wp-admin/images/date-button-2x.gif +0 -0
  153. data/lib/wp/wp-admin/images/date-button.gif +0 -0
  154. data/lib/wp/wp-admin/images/generic.png +0 -0
  155. data/lib/wp/wp-admin/images/icons32-2x.png +0 -0
  156. data/lib/wp/wp-admin/images/icons32-vs-2x.png +0 -0
  157. data/lib/wp/wp-admin/images/icons32-vs.png +0 -0
  158. data/lib/wp/wp-admin/images/icons32.png +0 -0
  159. data/lib/wp/wp-admin/images/imgedit-icons-2x.png +0 -0
  160. data/lib/wp/wp-admin/images/imgedit-icons.png +0 -0
  161. data/lib/wp/wp-admin/images/list-2x.png +0 -0
  162. data/lib/wp/wp-admin/images/list.png +0 -0
  163. data/lib/wp/wp-admin/images/loading.gif +0 -0
  164. data/lib/wp/wp-admin/images/marker.png +0 -0
  165. data/lib/wp/wp-admin/images/mask.png +0 -0
  166. data/lib/wp/wp-admin/images/media-button-2x.png +0 -0
  167. data/lib/wp/wp-admin/images/media-button-image.gif +0 -0
  168. data/lib/wp/wp-admin/images/media-button-music.gif +0 -0
  169. data/lib/wp/wp-admin/images/media-button-other.gif +0 -0
  170. data/lib/wp/wp-admin/images/media-button-video.gif +0 -0
  171. data/lib/wp/wp-admin/images/media-button.png +0 -0
  172. data/lib/wp/wp-admin/images/menu-2x.png +0 -0
  173. data/lib/wp/wp-admin/images/menu-vs-2x.png +0 -0
  174. data/lib/wp/wp-admin/images/menu-vs.png +0 -0
  175. data/lib/wp/wp-admin/images/menu.png +0 -0
  176. data/lib/wp/wp-admin/images/no.png +0 -0
  177. data/lib/wp/wp-admin/images/post-formats-vs.png +0 -0
  178. data/lib/wp/wp-admin/images/post-formats.png +0 -0
  179. data/lib/wp/wp-admin/images/post-formats32-vs.png +0 -0
  180. data/lib/wp/wp-admin/images/post-formats32.png +0 -0
  181. data/lib/wp/wp-admin/images/resize-2x.gif +0 -0
  182. data/lib/wp/wp-admin/images/resize-rtl-2x.gif +0 -0
  183. data/lib/wp/wp-admin/images/resize-rtl.gif +0 -0
  184. data/lib/wp/wp-admin/images/resize.gif +0 -0
  185. data/lib/wp/wp-admin/images/se.png +0 -0
  186. data/lib/wp/wp-admin/images/sort-2x.gif +0 -0
  187. data/lib/wp/wp-admin/images/sort.gif +0 -0
  188. data/lib/wp/wp-admin/images/spinner-2x.gif +0 -0
  189. data/lib/wp/wp-admin/images/spinner.gif +0 -0
  190. data/lib/wp/wp-admin/images/stars-2x.png +0 -0
  191. data/lib/wp/wp-admin/images/stars.png +0 -0
  192. data/lib/wp/wp-admin/images/w-logo-blue.png +0 -0
  193. data/lib/wp/wp-admin/images/w-logo-white.png +0 -0
  194. data/lib/wp/wp-admin/images/wheel.png +0 -0
  195. data/lib/wp/wp-admin/images/wordpress-logo-white.svg +1 -0
  196. data/lib/wp/wp-admin/images/wordpress-logo.png +0 -0
  197. data/lib/wp/wp-admin/images/wordpress-logo.svg +1 -0
  198. data/lib/wp/wp-admin/images/wpspin_light-2x.gif +0 -0
  199. data/lib/wp/wp-admin/images/wpspin_light.gif +0 -0
  200. data/lib/wp/wp-admin/images/xit-2x.gif +0 -0
  201. data/lib/wp/wp-admin/images/xit.gif +0 -0
  202. data/lib/wp/wp-admin/images/yes.png +0 -0
  203. data/lib/wp/wp-admin/import.php +132 -0
  204. data/lib/wp/wp-admin/includes/admin.php +74 -0
  205. data/lib/wp/wp-admin/includes/ajax-actions.php +2762 -0
  206. data/lib/wp/wp-admin/includes/bookmark.php +305 -0
  207. data/lib/wp/wp-admin/includes/class-ftp-pure.php +190 -0
  208. data/lib/wp/wp-admin/includes/class-ftp-sockets.php +250 -0
  209. data/lib/wp/wp-admin/includes/class-ftp.php +907 -0
  210. data/lib/wp/wp-admin/includes/class-pclzip.php +5687 -0
  211. data/lib/wp/wp-admin/includes/class-wp-comments-list-table.php +637 -0
  212. data/lib/wp/wp-admin/includes/class-wp-filesystem-base.php +815 -0
  213. data/lib/wp/wp-admin/includes/class-wp-filesystem-direct.php +384 -0
  214. data/lib/wp/wp-admin/includes/class-wp-filesystem-ftpext.php +415 -0
  215. data/lib/wp/wp-admin/includes/class-wp-filesystem-ftpsockets.php +352 -0
  216. data/lib/wp/wp-admin/includes/class-wp-filesystem-ssh2.php +392 -0
  217. data/lib/wp/wp-admin/includes/class-wp-importer.php +302 -0
  218. data/lib/wp/wp-admin/includes/class-wp-links-list-table.php +207 -0
  219. data/lib/wp/wp-admin/includes/class-wp-list-table.php +1080 -0
  220. data/lib/wp/wp-admin/includes/class-wp-media-list-table.php +574 -0
  221. data/lib/wp/wp-admin/includes/class-wp-ms-sites-list-table.php +402 -0
  222. data/lib/wp/wp-admin/includes/class-wp-ms-themes-list-table.php +459 -0
  223. data/lib/wp/wp-admin/includes/class-wp-ms-users-list-table.php +303 -0
  224. data/lib/wp/wp-admin/includes/class-wp-plugin-install-list-table.php +490 -0
  225. data/lib/wp/wp-admin/includes/class-wp-plugins-list-table.php +605 -0
  226. data/lib/wp/wp-admin/includes/class-wp-posts-list-table.php +1306 -0
  227. data/lib/wp/wp-admin/includes/class-wp-terms-list-table.php +466 -0
  228. data/lib/wp/wp-admin/includes/class-wp-theme-install-list-table.php +431 -0
  229. data/lib/wp/wp-admin/includes/class-wp-themes-list-table.php +279 -0
  230. data/lib/wp/wp-admin/includes/class-wp-upgrader-skins.php +767 -0
  231. data/lib/wp/wp-admin/includes/class-wp-upgrader.php +2676 -0
  232. data/lib/wp/wp-admin/includes/class-wp-users-list-table.php +459 -0
  233. data/lib/wp/wp-admin/includes/comment.php +171 -0
  234. data/lib/wp/wp-admin/includes/continents-cities.php +493 -0
  235. data/lib/wp/wp-admin/includes/dashboard.php +1333 -0
  236. data/lib/wp/wp-admin/includes/deprecated.php +1190 -0
  237. data/lib/wp/wp-admin/includes/export.php +508 -0
  238. data/lib/wp/wp-admin/includes/file.php +1152 -0
  239. data/lib/wp/wp-admin/includes/image-edit.php +828 -0
  240. data/lib/wp/wp-admin/includes/image.php +598 -0
  241. data/lib/wp/wp-admin/includes/import.php +206 -0
  242. data/lib/wp/wp-admin/includes/list-table.php +113 -0
  243. data/lib/wp/wp-admin/includes/media.php +3012 -0
  244. data/lib/wp/wp-admin/includes/menu.php +322 -0
  245. data/lib/wp/wp-admin/includes/meta-boxes.php +1119 -0
  246. data/lib/wp/wp-admin/includes/misc.php +845 -0
  247. data/lib/wp/wp-admin/includes/ms-deprecated.php +78 -0
  248. data/lib/wp/wp-admin/includes/ms.php +814 -0
  249. data/lib/wp/wp-admin/includes/nav-menu.php +1328 -0
  250. data/lib/wp/wp-admin/includes/plugin-install.php +550 -0
  251. data/lib/wp/wp-admin/includes/plugin.php +1899 -0
  252. data/lib/wp/wp-admin/includes/post.php +1661 -0
  253. data/lib/wp/wp-admin/includes/revision.php +228 -0
  254. data/lib/wp/wp-admin/includes/schema.php +1038 -0
  255. data/lib/wp/wp-admin/includes/screen.php +1179 -0
  256. data/lib/wp/wp-admin/includes/taxonomy.php +284 -0
  257. data/lib/wp/wp-admin/includes/template.php +2157 -0
  258. data/lib/wp/wp-admin/includes/theme-install.php +205 -0
  259. data/lib/wp/wp-admin/includes/theme.php +474 -0
  260. data/lib/wp/wp-admin/includes/translation-install.php +240 -0
  261. data/lib/wp/wp-admin/includes/update-core.php +1186 -0
  262. data/lib/wp/wp-admin/includes/update.php +432 -0
  263. data/lib/wp/wp-admin/includes/upgrade.php +2218 -0
  264. data/lib/wp/wp-admin/includes/user.php +442 -0
  265. data/lib/wp/wp-admin/includes/widgets.php +245 -0
  266. data/lib/wp/wp-admin/index.php +131 -0
  267. data/lib/wp/wp-admin/install-helper.php +199 -0
  268. data/lib/wp/wp-admin/install.php +305 -0
  269. data/lib/wp/wp-admin/js/accordion.js +143 -0
  270. data/lib/wp/wp-admin/js/accordion.min.js +1 -0
  271. data/lib/wp/wp-admin/js/color-picker.js +155 -0
  272. data/lib/wp/wp-admin/js/color-picker.min.js +1 -0
  273. data/lib/wp/wp-admin/js/comment.js +50 -0
  274. data/lib/wp/wp-admin/js/comment.min.js +1 -0
  275. data/lib/wp/wp-admin/js/common.js +804 -0
  276. data/lib/wp/wp-admin/js/common.min.js +1 -0
  277. data/lib/wp/wp-admin/js/custom-background.js +75 -0
  278. data/lib/wp/wp-admin/js/custom-background.min.js +1 -0
  279. data/lib/wp/wp-admin/js/custom-header.js +61 -0
  280. data/lib/wp/wp-admin/js/customize-controls.js +1305 -0
  281. data/lib/wp/wp-admin/js/customize-controls.min.js +1 -0
  282. data/lib/wp/wp-admin/js/customize-widgets.js +1882 -0
  283. data/lib/wp/wp-admin/js/customize-widgets.min.js +1 -0
  284. data/lib/wp/wp-admin/js/dashboard.js +190 -0
  285. data/lib/wp/wp-admin/js/dashboard.min.js +1 -0
  286. data/lib/wp/wp-admin/js/edit-comments.js +625 -0
  287. data/lib/wp/wp-admin/js/edit-comments.min.js +1 -0
  288. data/lib/wp/wp-admin/js/editor-expand.js +705 -0
  289. data/lib/wp/wp-admin/js/editor-expand.min.js +1 -0
  290. data/lib/wp/wp-admin/js/editor.js +324 -0
  291. data/lib/wp/wp-admin/js/editor.min.js +1 -0
  292. data/lib/wp/wp-admin/js/farbtastic.js +276 -0
  293. data/lib/wp/wp-admin/js/gallery.js +237 -0
  294. data/lib/wp/wp-admin/js/gallery.min.js +1 -0
  295. data/lib/wp/wp-admin/js/image-edit.js +633 -0
  296. data/lib/wp/wp-admin/js/image-edit.min.js +1 -0
  297. data/lib/wp/wp-admin/js/inline-edit-post.js +359 -0
  298. data/lib/wp/wp-admin/js/inline-edit-post.min.js +1 -0
  299. data/lib/wp/wp-admin/js/inline-edit-tax.js +142 -0
  300. data/lib/wp/wp-admin/js/inline-edit-tax.min.js +1 -0
  301. data/lib/wp/wp-admin/js/iris.min.js +4 -0
  302. data/lib/wp/wp-admin/js/language-chooser.js +26 -0
  303. data/lib/wp/wp-admin/js/language-chooser.min.js +1 -0
  304. data/lib/wp/wp-admin/js/link.js +69 -0
  305. data/lib/wp/wp-admin/js/link.min.js +1 -0
  306. data/lib/wp/wp-admin/js/media-gallery.js +26 -0
  307. data/lib/wp/wp-admin/js/media-gallery.min.js +1 -0
  308. data/lib/wp/wp-admin/js/media-upload.js +69 -0
  309. data/lib/wp/wp-admin/js/media-upload.min.js +1 -0
  310. data/lib/wp/wp-admin/js/media.js +111 -0
  311. data/lib/wp/wp-admin/js/media.min.js +1 -0
  312. data/lib/wp/wp-admin/js/nav-menu.js +1205 -0
  313. data/lib/wp/wp-admin/js/nav-menu.min.js +1 -0
  314. data/lib/wp/wp-admin/js/password-strength-meter.js +75 -0
  315. data/lib/wp/wp-admin/js/password-strength-meter.min.js +1 -0
  316. data/lib/wp/wp-admin/js/plugin-install.js +76 -0
  317. data/lib/wp/wp-admin/js/plugin-install.min.js +1 -0
  318. data/lib/wp/wp-admin/js/post.js +1094 -0
  319. data/lib/wp/wp-admin/js/post.min.js +1 -0
  320. data/lib/wp/wp-admin/js/postbox.js +199 -0
  321. data/lib/wp/wp-admin/js/postbox.min.js +1 -0
  322. data/lib/wp/wp-admin/js/revisions.js +1110 -0
  323. data/lib/wp/wp-admin/js/revisions.min.js +1 -0
  324. data/lib/wp/wp-admin/js/set-post-thumbnail.js +24 -0
  325. data/lib/wp/wp-admin/js/set-post-thumbnail.min.js +1 -0
  326. data/lib/wp/wp-admin/js/svg-painter.js +240 -0
  327. data/lib/wp/wp-admin/js/svg-painter.min.js +1 -0
  328. data/lib/wp/wp-admin/js/tags.js +72 -0
  329. data/lib/wp/wp-admin/js/tags.min.js +1 -0
  330. data/lib/wp/wp-admin/js/theme.js +1691 -0
  331. data/lib/wp/wp-admin/js/theme.min.js +1 -0
  332. data/lib/wp/wp-admin/js/updates.js +65 -0
  333. data/lib/wp/wp-admin/js/updates.min.js +1 -0
  334. data/lib/wp/wp-admin/js/user-profile.js +127 -0
  335. data/lib/wp/wp-admin/js/user-profile.min.js +1 -0
  336. data/lib/wp/wp-admin/js/user-suggest.js +30 -0
  337. data/lib/wp/wp-admin/js/user-suggest.min.js +1 -0
  338. data/lib/wp/wp-admin/js/widgets.js +494 -0
  339. data/lib/wp/wp-admin/js/widgets.min.js +1 -0
  340. data/lib/wp/wp-admin/js/word-count.js +44 -0
  341. data/lib/wp/wp-admin/js/word-count.min.js +1 -0
  342. data/lib/wp/wp-admin/js/wp-fullscreen.js +704 -0
  343. data/lib/wp/wp-admin/js/wp-fullscreen.min.js +1 -0
  344. data/lib/wp/wp-admin/js/xfn.js +17 -0
  345. data/lib/wp/wp-admin/js/xfn.min.js +1 -0
  346. data/lib/wp/wp-admin/link-add.php +29 -0
  347. data/lib/wp/wp-admin/link-manager.php +99 -0
  348. data/lib/wp/wp-admin/link-parse-opml.php +84 -0
  349. data/lib/wp/wp-admin/link.php +117 -0
  350. data/lib/wp/wp-admin/load-scripts.php +162 -0
  351. data/lib/wp/wp-admin/load-styles.php +153 -0
  352. data/lib/wp/wp-admin/maint/repair.php +124 -0
  353. data/lib/wp/wp-admin/media-new.php +84 -0
  354. data/lib/wp/wp-admin/media-upload.php +100 -0
  355. data/lib/wp/wp-admin/media.php +146 -0
  356. data/lib/wp/wp-admin/menu-header.php +227 -0
  357. data/lib/wp/wp-admin/menu.php +255 -0
  358. data/lib/wp/wp-admin/moderation.php +12 -0
  359. data/lib/wp/wp-admin/ms-admin.php +13 -0
  360. data/lib/wp/wp-admin/ms-delete-site.php +91 -0
  361. data/lib/wp/wp-admin/ms-edit.php +13 -0
  362. data/lib/wp/wp-admin/ms-options.php +12 -0
  363. data/lib/wp/wp-admin/ms-sites.php +13 -0
  364. data/lib/wp/wp-admin/ms-themes.php +13 -0
  365. data/lib/wp/wp-admin/ms-upgrade-network.php +13 -0
  366. data/lib/wp/wp-admin/ms-users.php +13 -0
  367. data/lib/wp/wp-admin/my-sites.php +145 -0
  368. data/lib/wp/wp-admin/nav-menus.php +798 -0
  369. data/lib/wp/wp-admin/network.php +561 -0
  370. data/lib/wp/wp-admin/network/about.php +16 -0
  371. data/lib/wp/wp-admin/network/admin.php +32 -0
  372. data/lib/wp/wp-admin/network/credits.php +16 -0
  373. data/lib/wp/wp-admin/network/edit.php +42 -0
  374. data/lib/wp/wp-admin/network/freedoms.php +16 -0
  375. data/lib/wp/wp-admin/network/index.php +79 -0
  376. data/lib/wp/wp-admin/network/menu.php +63 -0
  377. data/lib/wp/wp-admin/network/plugin-editor.php +16 -0
  378. data/lib/wp/wp-admin/network/plugin-install.php +19 -0
  379. data/lib/wp/wp-admin/network/plugins.php +16 -0
  380. data/lib/wp/wp-admin/network/profile.php +16 -0
  381. data/lib/wp/wp-admin/network/settings.php +347 -0
  382. data/lib/wp/wp-admin/network/setup.php +16 -0
  383. data/lib/wp/wp-admin/network/site-info.php +178 -0
  384. data/lib/wp/wp-admin/network/site-new.php +153 -0
  385. data/lib/wp/wp-admin/network/site-settings.php +173 -0
  386. data/lib/wp/wp-admin/network/site-themes.php +185 -0
  387. data/lib/wp/wp-admin/network/site-users.php +319 -0
  388. data/lib/wp/wp-admin/network/sites.php +275 -0
  389. data/lib/wp/wp-admin/network/theme-editor.php +16 -0
  390. data/lib/wp/wp-admin/network/theme-install.php +19 -0
  391. data/lib/wp/wp-admin/network/themes.php +291 -0
  392. data/lib/wp/wp-admin/network/update-core.php +16 -0
  393. data/lib/wp/wp-admin/network/update.php +19 -0
  394. data/lib/wp/wp-admin/network/upgrade.php +120 -0
  395. data/lib/wp/wp-admin/network/user-edit.php +16 -0
  396. data/lib/wp/wp-admin/network/user-new.php +106 -0
  397. data/lib/wp/wp-admin/network/users.php +296 -0
  398. data/lib/wp/wp-admin/options-discussion.php +273 -0
  399. data/lib/wp/wp-admin/options-general.php +355 -0
  400. data/lib/wp/wp-admin/options-head.php +18 -0
  401. data/lib/wp/wp-admin/options-media.php +136 -0
  402. data/lib/wp/wp-admin/options-permalink.php +289 -0
  403. data/lib/wp/wp-admin/options-reading.php +184 -0
  404. data/lib/wp/wp-admin/options-writing.php +194 -0
  405. data/lib/wp/wp-admin/options.php +265 -0
  406. data/lib/wp/wp-admin/plugin-editor.php +279 -0
  407. data/lib/wp/wp-admin/plugin-install.php +134 -0
  408. data/lib/wp/wp-admin/plugins.php +474 -0
  409. data/lib/wp/wp-admin/post-new.php +74 -0
  410. data/lib/wp/wp-admin/post.php +318 -0
  411. data/lib/wp/wp-admin/press-this.php +691 -0
  412. data/lib/wp/wp-admin/profile.php +18 -0
  413. data/lib/wp/wp-admin/revision.php +221 -0
  414. data/lib/wp/wp-admin/setup-config.php +345 -0
  415. data/lib/wp/wp-admin/theme-editor.php +243 -0
  416. data/lib/wp/wp-admin/theme-install.php +278 -0
  417. data/lib/wp/wp-admin/themes.php +374 -0
  418. data/lib/wp/wp-admin/tools.php +75 -0
  419. data/lib/wp/wp-admin/update-core.php +653 -0
  420. data/lib/wp/wp-admin/update.php +272 -0
  421. data/lib/wp/wp-admin/upgrade-functions.php +12 -0
  422. data/lib/wp/wp-admin/upgrade.php +116 -0
  423. data/lib/wp/wp-admin/upload.php +292 -0
  424. data/lib/wp/wp-admin/user-edit.php +557 -0
  425. data/lib/wp/wp-admin/user-new.php +439 -0
  426. data/lib/wp/wp-admin/user/about.php +13 -0
  427. data/lib/wp/wp-admin/user/admin.php +32 -0
  428. data/lib/wp/wp-admin/user/credits.php +13 -0
  429. data/lib/wp/wp-admin/user/freedoms.php +13 -0
  430. data/lib/wp/wp-admin/user/index.php +12 -0
  431. data/lib/wp/wp-admin/user/menu.php +22 -0
  432. data/lib/wp/wp-admin/user/profile.php +12 -0
  433. data/lib/wp/wp-admin/user/user-edit.php +12 -0
  434. data/lib/wp/wp-admin/users.php +460 -0
  435. data/lib/wp/wp-admin/widgets.php +442 -0
  436. data/lib/wp/wp-blog-header.php +18 -0
  437. data/lib/wp/wp-comments-post.php +164 -0
  438. data/lib/wp/wp-config-sample.php +80 -0
  439. data/lib/wp/wp-content/index.php +2 -0
  440. data/lib/wp/wp-content/plugins/hello.php +82 -0
  441. data/lib/wp/wp-content/plugins/index.php +2 -0
  442. data/lib/wp/wp-content/themes/index.php +2 -0
  443. data/lib/wp/wp-content/themes/stump/.editorconfig +11 -0
  444. data/lib/wp/wp-content/themes/stump/.jshintrc +16 -0
  445. data/lib/wp/wp-content/themes/stump/404.php +13 -0
  446. data/lib/wp/wp-content/themes/stump/CHANGELOG.md +333 -0
  447. data/lib/wp/wp-content/themes/stump/CONTRIBUTING.md +121 -0
  448. data/lib/wp/wp-content/themes/stump/Gruntfile.js +151 -0
  449. data/lib/wp/wp-content/themes/stump/LICENSE.md +19 -0
  450. data/lib/wp/wp-content/themes/stump/assets/coffee/build/.gitkeep +0 -0
  451. data/lib/wp/wp-content/themes/stump/assets/coffee/build/site.js +6 -0
  452. data/lib/wp/wp-content/themes/stump/assets/css/editor-style.css +548 -0
  453. data/lib/wp/wp-content/themes/stump/assets/css/main.min.css +4 -0
  454. data/lib/wp/wp-content/themes/stump/assets/css/main.min.css.map +7 -0
  455. data/lib/wp/wp-content/themes/stump/assets/fonts/glyphicons-halflings-regular.eot +0 -0
  456. data/lib/wp/wp-content/themes/stump/assets/fonts/glyphicons-halflings-regular.svg +229 -0
  457. data/lib/wp/wp-content/themes/stump/assets/fonts/glyphicons-halflings-regular.ttf +0 -0
  458. data/lib/wp/wp-content/themes/stump/assets/fonts/glyphicons-halflings-regular.woff +0 -0
  459. data/lib/wp/wp-content/themes/stump/assets/img/.gitignore +0 -0
  460. data/lib/wp/wp-content/themes/stump/assets/js/_main.js +63 -0
  461. data/lib/wp/wp-content/themes/stump/assets/js/plugins/bootstrap/affix.js +137 -0
  462. data/lib/wp/wp-content/themes/stump/assets/js/plugins/bootstrap/alert.js +88 -0
  463. data/lib/wp/wp-content/themes/stump/assets/js/plugins/bootstrap/button.js +107 -0
  464. data/lib/wp/wp-content/themes/stump/assets/js/plugins/bootstrap/carousel.js +205 -0
  465. data/lib/wp/wp-content/themes/stump/assets/js/plugins/bootstrap/collapse.js +170 -0
  466. data/lib/wp/wp-content/themes/stump/assets/js/plugins/bootstrap/dropdown.js +147 -0
  467. data/lib/wp/wp-content/themes/stump/assets/js/plugins/bootstrap/modal.js +243 -0
  468. data/lib/wp/wp-content/themes/stump/assets/js/plugins/bootstrap/popover.js +110 -0
  469. data/lib/wp/wp-content/themes/stump/assets/js/plugins/bootstrap/scrollspy.js +153 -0
  470. data/lib/wp/wp-content/themes/stump/assets/js/plugins/bootstrap/tab.js +125 -0
  471. data/lib/wp/wp-content/themes/stump/assets/js/plugins/bootstrap/tooltip.js +399 -0
  472. data/lib/wp/wp-content/themes/stump/assets/js/plugins/bootstrap/transition.js +48 -0
  473. data/lib/wp/wp-content/themes/stump/assets/js/scripts.min.js +1 -0
  474. data/lib/wp/wp-content/themes/stump/assets/js/vendor/jquery-1.11.0.min.js +4 -0
  475. data/lib/wp/wp-content/themes/stump/assets/js/vendor/modernizr-2.7.0.min.js +4 -0
  476. data/lib/wp/wp-content/themes/stump/assets/sass/app.scss +9 -0
  477. data/lib/wp/wp-content/themes/stump/assets/sass/core/_variables.scss +1 -0
  478. data/lib/wp/wp-content/themes/stump/assets/vendor/bootstrap/_alerts.scss +67 -0
  479. data/lib/wp/wp-content/themes/stump/assets/vendor/bootstrap/_badges.scss +55 -0
  480. data/lib/wp/wp-content/themes/stump/assets/vendor/bootstrap/_bootstrap.scss +49 -0
  481. data/lib/wp/wp-content/themes/stump/assets/vendor/bootstrap/_breadcrumbs.scss +26 -0
  482. data/lib/wp/wp-content/themes/stump/assets/vendor/bootstrap/_button-groups.scss +226 -0
  483. data/lib/wp/wp-content/themes/stump/assets/vendor/bootstrap/_buttons.scss +159 -0
  484. data/lib/wp/wp-content/themes/stump/assets/vendor/bootstrap/_carousel.scss +232 -0
  485. data/lib/wp/wp-content/themes/stump/assets/vendor/bootstrap/_close.scss +35 -0
  486. data/lib/wp/wp-content/themes/stump/assets/vendor/bootstrap/_code.scss +63 -0
  487. data/lib/wp/wp-content/themes/stump/assets/vendor/bootstrap/_component-animations.scss +29 -0
  488. data/lib/wp/wp-content/themes/stump/assets/vendor/bootstrap/_dropdowns.scss +213 -0
  489. data/lib/wp/wp-content/themes/stump/assets/vendor/bootstrap/_forms.scss +436 -0
  490. data/lib/wp/wp-content/themes/stump/assets/vendor/bootstrap/_glyphicons.scss +233 -0
  491. data/lib/wp/wp-content/themes/stump/assets/vendor/bootstrap/_grid.scss +84 -0
  492. data/lib/wp/wp-content/themes/stump/assets/vendor/bootstrap/_input-groups.scss +162 -0
  493. data/lib/wp/wp-content/themes/stump/assets/vendor/bootstrap/_jumbotron.scss +44 -0
  494. data/lib/wp/wp-content/themes/stump/assets/vendor/bootstrap/_labels.scss +64 -0
  495. data/lib/wp/wp-content/themes/stump/assets/vendor/bootstrap/_list-group.scss +110 -0
  496. data/lib/wp/wp-content/themes/stump/assets/vendor/bootstrap/_media.scss +56 -0
  497. data/lib/wp/wp-content/themes/stump/assets/vendor/bootstrap/_mixins.scss +947 -0
  498. data/lib/wp/wp-content/themes/stump/assets/vendor/bootstrap/_modals.scss +139 -0
  499. data/lib/wp/wp-content/themes/stump/assets/vendor/bootstrap/_navbar.scss +620 -0
  500. data/lib/wp/wp-content/themes/stump/assets/vendor/bootstrap/_navs.scss +242 -0
  501. data/lib/wp/wp-content/themes/stump/assets/vendor/bootstrap/_normalize.scss +423 -0
  502. data/lib/wp/wp-content/themes/stump/assets/vendor/bootstrap/_pager.scss +55 -0
  503. data/lib/wp/wp-content/themes/stump/assets/vendor/bootstrap/_pagination.scss +88 -0
  504. data/lib/wp/wp-content/themes/stump/assets/vendor/bootstrap/_panels.scss +241 -0
  505. data/lib/wp/wp-content/themes/stump/assets/vendor/bootstrap/_popovers.scss +133 -0
  506. data/lib/wp/wp-content/themes/stump/assets/vendor/bootstrap/_print.scss +101 -0
  507. data/lib/wp/wp-content/themes/stump/assets/vendor/bootstrap/_progress-bars.scss +80 -0
  508. data/lib/wp/wp-content/themes/stump/assets/vendor/bootstrap/_responsive-utilities.scss +74 -0
  509. data/lib/wp/wp-content/themes/stump/assets/vendor/bootstrap/_scaffolding.scss +134 -0
  510. data/lib/wp/wp-content/themes/stump/assets/vendor/bootstrap/_tables.scss +233 -0
  511. data/lib/wp/wp-content/themes/stump/assets/vendor/bootstrap/_theme.scss +247 -0
  512. data/lib/wp/wp-content/themes/stump/assets/vendor/bootstrap/_thumbnails.scss +38 -0
  513. data/lib/wp/wp-content/themes/stump/assets/vendor/bootstrap/_tooltip.scss +95 -0
  514. data/lib/wp/wp-content/themes/stump/assets/vendor/bootstrap/_type.scss +284 -0
  515. data/lib/wp/wp-content/themes/stump/assets/vendor/bootstrap/_utilities.scss +56 -0
  516. data/lib/wp/wp-content/themes/stump/assets/vendor/bootstrap/_variables.scss +833 -0
  517. data/lib/wp/wp-content/themes/stump/assets/vendor/bootstrap/_wells.scss +29 -0
  518. data/lib/wp/wp-content/themes/stump/assets/vendor/manhattan/bourbon/_bourbon-deprecated-upcoming.scss +13 -0
  519. data/lib/wp/wp-content/themes/stump/assets/vendor/manhattan/bourbon/_bourbon.scss +59 -0
  520. data/lib/wp/wp-content/themes/stump/assets/vendor/manhattan/bourbon/addons/_button.scss +273 -0
  521. data/lib/wp/wp-content/themes/stump/assets/vendor/manhattan/bourbon/addons/_clearfix.scss +29 -0
  522. data/lib/wp/wp-content/themes/stump/assets/vendor/manhattan/bourbon/addons/_font-family.scss +5 -0
  523. data/lib/wp/wp-content/themes/stump/assets/vendor/manhattan/bourbon/addons/_hide-text.scss +5 -0
  524. data/lib/wp/wp-content/themes/stump/assets/vendor/manhattan/bourbon/addons/_html5-input-types.scss +56 -0
  525. data/lib/wp/wp-content/themes/stump/assets/vendor/manhattan/bourbon/addons/_position.scss +42 -0
  526. data/lib/wp/wp-content/themes/stump/assets/vendor/manhattan/bourbon/addons/_prefixer.scss +49 -0
  527. data/lib/wp/wp-content/themes/stump/assets/vendor/manhattan/bourbon/addons/_retina-image.scss +32 -0
  528. data/lib/wp/wp-content/themes/stump/assets/vendor/manhattan/bourbon/addons/_size.scss +44 -0
  529. data/lib/wp/wp-content/themes/stump/assets/vendor/manhattan/bourbon/addons/_timing-functions.scss +32 -0
  530. data/lib/wp/wp-content/themes/stump/assets/vendor/manhattan/bourbon/addons/_triangle.scss +45 -0
  531. data/lib/wp/wp-content/themes/stump/assets/vendor/manhattan/bourbon/css3/_animation.scss +52 -0
  532. data/lib/wp/wp-content/themes/stump/assets/vendor/manhattan/bourbon/css3/_appearance.scss +3 -0
  533. data/lib/wp/wp-content/themes/stump/assets/vendor/manhattan/bourbon/css3/_backface-visibility.scss +6 -0
  534. data/lib/wp/wp-content/themes/stump/assets/vendor/manhattan/bourbon/css3/_background-image.scss +48 -0
  535. data/lib/wp/wp-content/themes/stump/assets/vendor/manhattan/bourbon/css3/_background.scss +103 -0
  536. data/lib/wp/wp-content/themes/stump/assets/vendor/manhattan/bourbon/css3/_border-image.scss +55 -0
  537. data/lib/wp/wp-content/themes/stump/assets/vendor/manhattan/bourbon/css3/_border-radius.scss +22 -0
  538. data/lib/wp/wp-content/themes/stump/assets/vendor/manhattan/bourbon/css3/_box-sizing.scss +4 -0
  539. data/lib/wp/wp-content/themes/stump/assets/vendor/manhattan/bourbon/css3/_columns.scss +47 -0
  540. data/lib/wp/wp-content/themes/stump/assets/vendor/manhattan/bourbon/css3/_flex-box.scss +52 -0
  541. data/lib/wp/wp-content/themes/stump/assets/vendor/manhattan/bourbon/css3/_font-face.scss +23 -0
  542. data/lib/wp/wp-content/themes/stump/assets/vendor/manhattan/bourbon/css3/_hidpi-media-query.scss +10 -0
  543. data/lib/wp/wp-content/themes/stump/assets/vendor/manhattan/bourbon/css3/_image-rendering.scss +13 -0
  544. data/lib/wp/wp-content/themes/stump/assets/vendor/manhattan/bourbon/css3/_inline-block.scss +8 -0
  545. data/lib/wp/wp-content/themes/stump/assets/vendor/manhattan/bourbon/css3/_keyframes.scss +43 -0
  546. data/lib/wp/wp-content/themes/stump/assets/vendor/manhattan/bourbon/css3/_linear-gradient.scss +41 -0
  547. data/lib/wp/wp-content/themes/stump/assets/vendor/manhattan/bourbon/css3/_perspective.scss +8 -0
  548. data/lib/wp/wp-content/themes/stump/assets/vendor/manhattan/bourbon/css3/_placeholder.scss +29 -0
  549. data/lib/wp/wp-content/themes/stump/assets/vendor/manhattan/bourbon/css3/_radial-gradient.scss +44 -0
  550. data/lib/wp/wp-content/themes/stump/assets/vendor/manhattan/bourbon/css3/_transform.scss +15 -0
  551. data/lib/wp/wp-content/themes/stump/assets/vendor/manhattan/bourbon/css3/_transition.scss +34 -0
  552. data/lib/wp/wp-content/themes/stump/assets/vendor/manhattan/bourbon/css3/_user-select.scss +3 -0
  553. data/lib/wp/wp-content/themes/stump/assets/vendor/manhattan/bourbon/functions/_compact.scss +11 -0
  554. data/lib/wp/wp-content/themes/stump/assets/vendor/manhattan/bourbon/functions/_flex-grid.scss +39 -0
  555. data/lib/wp/wp-content/themes/stump/assets/vendor/manhattan/bourbon/functions/_grid-width.scss +13 -0
  556. data/lib/wp/wp-content/themes/stump/assets/vendor/manhattan/bourbon/functions/_linear-gradient.scss +13 -0
  557. data/lib/wp/wp-content/themes/stump/assets/vendor/manhattan/bourbon/functions/_modular-scale.scss +40 -0
  558. data/lib/wp/wp-content/themes/stump/assets/vendor/manhattan/bourbon/functions/_px-to-em.scss +8 -0
  559. data/lib/wp/wp-content/themes/stump/assets/vendor/manhattan/bourbon/functions/_radial-gradient.scss +23 -0
  560. data/lib/wp/wp-content/themes/stump/assets/vendor/manhattan/bourbon/functions/_tint-shade.scss +9 -0
  561. data/lib/wp/wp-content/themes/stump/assets/vendor/manhattan/bourbon/functions/_transition-property-name.scss +22 -0
  562. data/lib/wp/wp-content/themes/stump/assets/vendor/manhattan/bourbon/helpers/_deprecated-webkit-gradient.scss +39 -0
  563. data/lib/wp/wp-content/themes/stump/assets/vendor/manhattan/bourbon/helpers/_gradient-positions-parser.scss +13 -0
  564. data/lib/wp/wp-content/themes/stump/assets/vendor/manhattan/bourbon/helpers/_linear-positions-parser.scss +61 -0
  565. data/lib/wp/wp-content/themes/stump/assets/vendor/manhattan/bourbon/helpers/_radial-arg-parser.scss +69 -0
  566. data/lib/wp/wp-content/themes/stump/assets/vendor/manhattan/bourbon/helpers/_radial-positions-parser.scss +18 -0
  567. data/lib/wp/wp-content/themes/stump/assets/vendor/manhattan/bourbon/helpers/_render-gradients.scss +26 -0
  568. data/lib/wp/wp-content/themes/stump/assets/vendor/manhattan/bourbon/helpers/_shape-size-stripper.scss +10 -0
  569. data/lib/wp/wp-content/themes/stump/assets/vendor/manhattan/manhattan.sass +11 -0
  570. data/lib/wp/wp-content/themes/stump/assets/vendor/manhattan/manhattan/_grid.sass +161 -0
  571. data/lib/wp/wp-content/themes/stump/assets/vendor/manhattan/manhattan/_mixins.sass +63 -0
  572. data/lib/wp/wp-content/themes/stump/assets/vendor/manhattan/manhattan/_utilities.sass +24 -0
  573. data/lib/wp/wp-content/themes/stump/assets/vendor/manhattan/manhattan/_variables.sass +42 -0
  574. data/lib/wp/wp-content/themes/stump/assets/vendor/manhattan/neat/_neat-helpers.scss +8 -0
  575. data/lib/wp/wp-content/themes/stump/assets/vendor/manhattan/neat/_neat.scss +21 -0
  576. data/lib/wp/wp-content/themes/stump/assets/vendor/manhattan/neat/functions/_new-breakpoint.scss +16 -0
  577. data/lib/wp/wp-content/themes/stump/assets/vendor/manhattan/neat/functions/_private.scss +107 -0
  578. data/lib/wp/wp-content/themes/stump/assets/vendor/manhattan/neat/functions/_px-to-em.scss +3 -0
  579. data/lib/wp/wp-content/themes/stump/assets/vendor/manhattan/neat/grid/_fill-parent.scss +7 -0
  580. data/lib/wp/wp-content/themes/stump/assets/vendor/manhattan/neat/grid/_grid.scss +5 -0
  581. data/lib/wp/wp-content/themes/stump/assets/vendor/manhattan/neat/grid/_media.scss +51 -0
  582. data/lib/wp/wp-content/themes/stump/assets/vendor/manhattan/neat/grid/_omega.scss +79 -0
  583. data/lib/wp/wp-content/themes/stump/assets/vendor/manhattan/neat/grid/_outer-container.scss +8 -0
  584. data/lib/wp/wp-content/themes/stump/assets/vendor/manhattan/neat/grid/_pad.scss +8 -0
  585. data/lib/wp/wp-content/themes/stump/assets/vendor/manhattan/neat/grid/_private.scss +50 -0
  586. data/lib/wp/wp-content/themes/stump/assets/vendor/manhattan/neat/grid/_reset.scss +12 -0
  587. data/lib/wp/wp-content/themes/stump/assets/vendor/manhattan/neat/grid/_row.scss +17 -0
  588. data/lib/wp/wp-content/themes/stump/assets/vendor/manhattan/neat/grid/_shift.scss +9 -0
  589. data/lib/wp/wp-content/themes/stump/assets/vendor/manhattan/neat/grid/_span-columns.scss +38 -0
  590. data/lib/wp/wp-content/themes/stump/assets/vendor/manhattan/neat/grid/_to-deprecate.scss +57 -0
  591. data/lib/wp/wp-content/themes/stump/assets/vendor/manhattan/neat/grid/_visual-grid.scss +41 -0
  592. data/lib/wp/wp-content/themes/stump/assets/vendor/manhattan/neat/settings/_grid.scss +7 -0
  593. data/lib/wp/wp-content/themes/stump/assets/vendor/manhattan/neat/settings/_visual-grid.scss +5 -0
  594. data/lib/wp/wp-content/themes/stump/base.php +36 -0
  595. data/lib/wp/wp-content/themes/stump/functions.php +19 -0
  596. data/lib/wp/wp-content/themes/stump/index.php +21 -0
  597. data/lib/wp/wp-content/themes/stump/lang/ar.mo +0 -0
  598. data/lib/wp/wp-content/themes/stump/lang/ar.po +270 -0
  599. data/lib/wp/wp-content/themes/stump/lang/bg_BG.mo +0 -0
  600. data/lib/wp/wp-content/themes/stump/lang/bg_BG.po +338 -0
  601. data/lib/wp/wp-content/themes/stump/lang/ca.mo +0 -0
  602. data/lib/wp/wp-content/themes/stump/lang/ca.po +517 -0
  603. data/lib/wp/wp-content/themes/stump/lang/da_DK.mo +0 -0
  604. data/lib/wp/wp-content/themes/stump/lang/da_DK.po +305 -0
  605. data/lib/wp/wp-content/themes/stump/lang/de_DE.mo +0 -0
  606. data/lib/wp/wp-content/themes/stump/lang/de_DE.po +271 -0
  607. data/lib/wp/wp-content/themes/stump/lang/el.mo +0 -0
  608. data/lib/wp/wp-content/themes/stump/lang/el.po +319 -0
  609. data/lib/wp/wp-content/themes/stump/lang/es_ES.mo +0 -0
  610. data/lib/wp/wp-content/themes/stump/lang/es_ES.po +270 -0
  611. data/lib/wp/wp-content/themes/stump/lang/et.mo +0 -0
  612. data/lib/wp/wp-content/themes/stump/lang/et.po +262 -0
  613. data/lib/wp/wp-content/themes/stump/lang/fa_IR.mo +0 -0
  614. data/lib/wp/wp-content/themes/stump/lang/fa_IR.po +273 -0
  615. data/lib/wp/wp-content/themes/stump/lang/fi_FI.mo +0 -0
  616. data/lib/wp/wp-content/themes/stump/lang/fi_FI.po +367 -0
  617. data/lib/wp/wp-content/themes/stump/lang/fr_FR.mo +0 -0
  618. data/lib/wp/wp-content/themes/stump/lang/fr_FR.po +336 -0
  619. data/lib/wp/wp-content/themes/stump/lang/he_IL.mo +0 -0
  620. data/lib/wp/wp-content/themes/stump/lang/he_IL.po +336 -0
  621. data/lib/wp/wp-content/themes/stump/lang/hu_HU.mo +0 -0
  622. data/lib/wp/wp-content/themes/stump/lang/hu_HU.po +271 -0
  623. data/lib/wp/wp-content/themes/stump/lang/id_ID.mo +0 -0
  624. data/lib/wp/wp-content/themes/stump/lang/id_ID.po +278 -0
  625. data/lib/wp/wp-content/themes/stump/lang/it_IT.mo +0 -0
  626. data/lib/wp/wp-content/themes/stump/lang/it_IT.po +269 -0
  627. data/lib/wp/wp-content/themes/stump/lang/ja.mo +0 -0
  628. data/lib/wp/wp-content/themes/stump/lang/ja.po +267 -0
  629. data/lib/wp/wp-content/themes/stump/lang/ko_KR.mo +0 -0
  630. data/lib/wp/wp-content/themes/stump/lang/ko_KR.po +282 -0
  631. data/lib/wp/wp-content/themes/stump/lang/mk_MK.mo +0 -0
  632. data/lib/wp/wp-content/themes/stump/lang/mk_MK.po +297 -0
  633. data/lib/wp/wp-content/themes/stump/lang/ms_MY.mo +0 -0
  634. data/lib/wp/wp-content/themes/stump/lang/ms_MY.po +342 -0
  635. data/lib/wp/wp-content/themes/stump/lang/nb_NO.mo +0 -0
  636. data/lib/wp/wp-content/themes/stump/lang/nb_NO.po +517 -0
  637. data/lib/wp/wp-content/themes/stump/lang/nl_NL.mo +0 -0
  638. data/lib/wp/wp-content/themes/stump/lang/nl_NL.po +261 -0
  639. data/lib/wp/wp-content/themes/stump/lang/nn_NO.mo +0 -0
  640. data/lib/wp/wp-content/themes/stump/lang/nn_NO.po +517 -0
  641. data/lib/wp/wp-content/themes/stump/lang/pl_PL.mo +0 -0
  642. data/lib/wp/wp-content/themes/stump/lang/pl_PL.po +283 -0
  643. data/lib/wp/wp-content/themes/stump/lang/pt_BR.mo +0 -0
  644. data/lib/wp/wp-content/themes/stump/lang/pt_BR.po +394 -0
  645. data/lib/wp/wp-content/themes/stump/lang/ro_RO.mo +0 -0
  646. data/lib/wp/wp-content/themes/stump/lang/ro_RO.po +271 -0
  647. data/lib/wp/wp-content/themes/stump/lang/roots.pot +244 -0
  648. data/lib/wp/wp-content/themes/stump/lang/ru_RU.mo +0 -0
  649. data/lib/wp/wp-content/themes/stump/lang/ru_RU.po +255 -0
  650. data/lib/wp/wp-content/themes/stump/lang/sk_SK.mo +0 -0
  651. data/lib/wp/wp-content/themes/stump/lang/sk_SK.po +267 -0
  652. data/lib/wp/wp-content/themes/stump/lang/sr_RS.mo +0 -0
  653. data/lib/wp/wp-content/themes/stump/lang/sr_RS.pot +261 -0
  654. data/lib/wp/wp-content/themes/stump/lang/sv_SE.mo +0 -0
  655. data/lib/wp/wp-content/themes/stump/lang/sv_SE.po +323 -0
  656. data/lib/wp/wp-content/themes/stump/lang/tr_TR.mo +0 -0
  657. data/lib/wp/wp-content/themes/stump/lang/tr_TR.po +405 -0
  658. data/lib/wp/wp-content/themes/stump/lang/vi_VN.mo +0 -0
  659. data/lib/wp/wp-content/themes/stump/lang/vi_VN.po +516 -0
  660. data/lib/wp/wp-content/themes/stump/lang/zh_CN.mo +0 -0
  661. data/lib/wp/wp-content/themes/stump/lang/zh_CN.po +329 -0
  662. data/lib/wp/wp-content/themes/stump/lang/zh_TW.mo +0 -0
  663. data/lib/wp/wp-content/themes/stump/lang/zh_TW.po +261 -0
  664. data/lib/wp/wp-content/themes/stump/lib/activation.php +215 -0
  665. data/lib/wp/wp-content/themes/stump/lib/cleanup.php +261 -0
  666. data/lib/wp/wp-content/themes/stump/lib/comments.php +52 -0
  667. data/lib/wp/wp-content/themes/stump/lib/config.php +79 -0
  668. data/lib/wp/wp-content/themes/stump/lib/custom.php +4 -0
  669. data/lib/wp/wp-content/themes/stump/lib/gallery.php +130 -0
  670. data/lib/wp/wp-content/themes/stump/lib/init.php +25 -0
  671. data/lib/wp/wp-content/themes/stump/lib/nav.php +93 -0
  672. data/lib/wp/wp-content/themes/stump/lib/relative-urls.php +50 -0
  673. data/lib/wp/wp-content/themes/stump/lib/scripts.php +67 -0
  674. data/lib/wp/wp-content/themes/stump/lib/sidebar.php +43 -0
  675. data/lib/wp/wp-content/themes/stump/lib/titles.php +37 -0
  676. data/lib/wp/wp-content/themes/stump/lib/utils.php +14 -0
  677. data/lib/wp/wp-content/themes/stump/lib/widgets.php +133 -0
  678. data/lib/wp/wp-content/themes/stump/lib/wrapper.php +49 -0
  679. data/lib/wp/wp-content/themes/stump/package.json +32 -0
  680. data/lib/wp/wp-content/themes/stump/page.php +2 -0
  681. data/lib/wp/wp-content/themes/stump/screenshot.png +0 -0
  682. data/lib/wp/wp-content/themes/stump/single.php +1 -0
  683. data/lib/wp/wp-content/themes/stump/style.css +11 -0
  684. data/lib/wp/wp-content/themes/stump/template-custom.php +8 -0
  685. data/lib/wp/wp-content/themes/stump/templates/comment.php +14 -0
  686. data/lib/wp/wp-content/themes/stump/templates/comments.php +80 -0
  687. data/lib/wp/wp-content/themes/stump/templates/content-page.php +4 -0
  688. data/lib/wp/wp-content/themes/stump/templates/content-single.php +15 -0
  689. data/lib/wp/wp-content/themes/stump/templates/content.php +9 -0
  690. data/lib/wp/wp-content/themes/stump/templates/entry-meta.php +2 -0
  691. data/lib/wp/wp-content/themes/stump/templates/footer.php +8 -0
  692. data/lib/wp/wp-content/themes/stump/templates/head.php +12 -0
  693. data/lib/wp/wp-content/themes/stump/templates/header-top-navbar.php +21 -0
  694. data/lib/wp/wp-content/themes/stump/templates/header.php +14 -0
  695. data/lib/wp/wp-content/themes/stump/templates/page-header.php +5 -0
  696. data/lib/wp/wp-content/themes/stump/templates/searchform.php +9 -0
  697. data/lib/wp/wp-content/themes/stump/templates/sidebar.php +1 -0
  698. data/lib/wp/wp-content/themes/twentyfourteen/404.php +32 -0
  699. data/lib/wp/wp-content/themes/twentyfourteen/archive.php +74 -0
  700. data/lib/wp/wp-content/themes/twentyfourteen/author.php +74 -0
  701. data/lib/wp/wp-content/themes/twentyfourteen/category.php +58 -0
  702. data/lib/wp/wp-content/themes/twentyfourteen/comments.php +66 -0
  703. data/lib/wp/wp-content/themes/twentyfourteen/content-aside.php +57 -0
  704. data/lib/wp/wp-content/themes/twentyfourteen/content-audio.php +57 -0
  705. data/lib/wp/wp-content/themes/twentyfourteen/content-featured-post.php +34 -0
  706. data/lib/wp/wp-content/themes/twentyfourteen/content-gallery.php +57 -0
  707. data/lib/wp/wp-content/themes/twentyfourteen/content-image.php +57 -0
  708. data/lib/wp/wp-content/themes/twentyfourteen/content-link.php +57 -0
  709. data/lib/wp/wp-content/themes/twentyfourteen/content-none.php +31 -0
  710. data/lib/wp/wp-content/themes/twentyfourteen/content-page.php +31 -0
  711. data/lib/wp/wp-content/themes/twentyfourteen/content-quote.php +57 -0
  712. data/lib/wp/wp-content/themes/twentyfourteen/content-video.php +57 -0
  713. data/lib/wp/wp-content/themes/twentyfourteen/content.php +66 -0
  714. data/lib/wp/wp-content/themes/twentyfourteen/css/editor-style.css +717 -0
  715. data/lib/wp/wp-content/themes/twentyfourteen/css/ie.css +1335 -0
  716. data/lib/wp/wp-content/themes/twentyfourteen/featured-content.php +39 -0
  717. data/lib/wp/wp-content/themes/twentyfourteen/footer.php +28 -0
  718. data/lib/wp/wp-content/themes/twentyfourteen/functions.php +519 -0
  719. data/lib/wp/wp-content/themes/twentyfourteen/genericons/COPYING.txt +9 -0
  720. data/lib/wp/wp-content/themes/twentyfourteen/genericons/Genericons-Regular.otf +0 -0
  721. data/lib/wp/wp-content/themes/twentyfourteen/genericons/LICENSE.txt +339 -0
  722. data/lib/wp/wp-content/themes/twentyfourteen/genericons/README.txt +123 -0
  723. data/lib/wp/wp-content/themes/twentyfourteen/genericons/example.html +464 -0
  724. data/lib/wp/wp-content/themes/twentyfourteen/genericons/font/genericons-regular-webfont.eot +0 -0
  725. data/lib/wp/wp-content/themes/twentyfourteen/genericons/font/genericons-regular-webfont.svg +135 -0
  726. data/lib/wp/wp-content/themes/twentyfourteen/genericons/font/genericons-regular-webfont.ttf +0 -0
  727. data/lib/wp/wp-content/themes/twentyfourteen/genericons/font/genericons-regular-webfont.woff +0 -0
  728. data/lib/wp/wp-content/themes/twentyfourteen/genericons/genericons.css +197 -0
  729. data/lib/wp/wp-content/themes/twentyfourteen/header.php +65 -0
  730. data/lib/wp/wp-content/themes/twentyfourteen/image.php +79 -0
  731. data/lib/wp/wp-content/themes/twentyfourteen/images/pattern-dark.svg +16 -0
  732. data/lib/wp/wp-content/themes/twentyfourteen/images/pattern-light.svg +6 -0
  733. data/lib/wp/wp-content/themes/twentyfourteen/inc/back-compat.php +63 -0
  734. data/lib/wp/wp-content/themes/twentyfourteen/inc/custom-header.php +147 -0
  735. data/lib/wp/wp-content/themes/twentyfourteen/inc/customizer.php +114 -0
  736. data/lib/wp/wp-content/themes/twentyfourteen/inc/featured-content.php +531 -0
  737. data/lib/wp/wp-content/themes/twentyfourteen/inc/template-tags.php +203 -0
  738. data/lib/wp/wp-content/themes/twentyfourteen/inc/widgets.php +269 -0
  739. data/lib/wp/wp-content/themes/twentyfourteen/index.php +61 -0
  740. data/lib/wp/wp-content/themes/twentyfourteen/js/customizer.js +38 -0
  741. data/lib/wp/wp-content/themes/twentyfourteen/js/featured-content-admin.js +9 -0
  742. data/lib/wp/wp-content/themes/twentyfourteen/js/functions.js +134 -0
  743. data/lib/wp/wp-content/themes/twentyfourteen/js/html5.js +8 -0
  744. data/lib/wp/wp-content/themes/twentyfourteen/js/keyboard-image-navigation.js +21 -0
  745. data/lib/wp/wp-content/themes/twentyfourteen/js/slider.js +598 -0
  746. data/lib/wp/wp-content/themes/twentyfourteen/languages/twentyfourteen.pot +467 -0
  747. data/lib/wp/wp-content/themes/twentyfourteen/page-templates/contributors.php +52 -0
  748. data/lib/wp/wp-content/themes/twentyfourteen/page-templates/full-width.php +42 -0
  749. data/lib/wp/wp-content/themes/twentyfourteen/page.php +48 -0
  750. data/lib/wp/wp-content/themes/twentyfourteen/rtl.css +854 -0
  751. data/lib/wp/wp-content/themes/twentyfourteen/screenshot.png +0 -0
  752. data/lib/wp/wp-content/themes/twentyfourteen/search.php +49 -0
  753. data/lib/wp/wp-content/themes/twentyfourteen/sidebar-content.php +16 -0
  754. data/lib/wp/wp-content/themes/twentyfourteen/sidebar-footer.php +19 -0
  755. data/lib/wp/wp-content/themes/twentyfourteen/sidebar.php +29 -0
  756. data/lib/wp/wp-content/themes/twentyfourteen/single.php +40 -0
  757. data/lib/wp/wp-content/themes/twentyfourteen/style.css +4321 -0
  758. data/lib/wp/wp-content/themes/twentyfourteen/tag.php +60 -0
  759. data/lib/wp/wp-content/themes/twentyfourteen/taxonomy-post_format.php +85 -0
  760. data/lib/wp/wp-cron.php +115 -0
  761. data/lib/wp/wp-includes/ID3/getid3.lib.php +1376 -0
  762. data/lib/wp/wp-includes/ID3/getid3.php +1796 -0
  763. data/lib/wp/wp-includes/ID3/license.commercial.txt +27 -0
  764. data/lib/wp/wp-includes/ID3/license.txt +29 -0
  765. data/lib/wp/wp-includes/ID3/module.audio-video.asf.php +2013 -0
  766. data/lib/wp/wp-includes/ID3/module.audio-video.flv.php +745 -0
  767. data/lib/wp/wp-includes/ID3/module.audio-video.matroska.php +1751 -0
  768. data/lib/wp/wp-includes/ID3/module.audio-video.quicktime.php +2246 -0
  769. data/lib/wp/wp-includes/ID3/module.audio-video.riff.php +2586 -0
  770. data/lib/wp/wp-includes/ID3/module.audio.ac3.php +474 -0
  771. data/lib/wp/wp-includes/ID3/module.audio.dts.php +291 -0
  772. data/lib/wp/wp-includes/ID3/module.audio.flac.php +443 -0
  773. data/lib/wp/wp-includes/ID3/module.audio.mp3.php +2012 -0
  774. data/lib/wp/wp-includes/ID3/module.audio.ogg.php +756 -0
  775. data/lib/wp/wp-includes/ID3/module.tag.apetag.php +371 -0
  776. data/lib/wp/wp-includes/ID3/module.tag.id3v1.php +360 -0
  777. data/lib/wp/wp-includes/ID3/module.tag.id3v2.php +3424 -0
  778. data/lib/wp/wp-includes/ID3/module.tag.lyrics3.php +294 -0
  779. data/lib/wp/wp-includes/ID3/readme.txt +604 -0
  780. data/lib/wp/wp-includes/SimplePie/Author.php +157 -0
  781. data/lib/wp/wp-includes/SimplePie/Cache.php +133 -0
  782. data/lib/wp/wp-includes/SimplePie/Cache/Base.php +114 -0
  783. data/lib/wp/wp-includes/SimplePie/Cache/DB.php +137 -0
  784. data/lib/wp/wp-includes/SimplePie/Cache/File.php +173 -0
  785. data/lib/wp/wp-includes/SimplePie/Cache/Memcache.php +183 -0
  786. data/lib/wp/wp-includes/SimplePie/Cache/MySQL.php +438 -0
  787. data/lib/wp/wp-includes/SimplePie/Caption.php +210 -0
  788. data/lib/wp/wp-includes/SimplePie/Category.php +157 -0
  789. data/lib/wp/wp-includes/SimplePie/Content/Type/Sniffer.php +332 -0
  790. data/lib/wp/wp-includes/SimplePie/Copyright.php +130 -0
  791. data/lib/wp/wp-includes/SimplePie/Core.php +57 -0
  792. data/lib/wp/wp-includes/SimplePie/Credit.php +156 -0
  793. data/lib/wp/wp-includes/SimplePie/Decode/HTML/Entities.php +617 -0
  794. data/lib/wp/wp-includes/SimplePie/Enclosure.php +1380 -0
  795. data/lib/wp/wp-includes/SimplePie/Exception.php +52 -0
  796. data/lib/wp/wp-includes/SimplePie/File.php +292 -0
  797. data/lib/wp/wp-includes/SimplePie/HTTP/Parser.php +500 -0
  798. data/lib/wp/wp-includes/SimplePie/IRI.php +1238 -0
  799. data/lib/wp/wp-includes/SimplePie/Item.php +2964 -0
  800. data/lib/wp/wp-includes/SimplePie/Locator.php +372 -0
  801. data/lib/wp/wp-includes/SimplePie/Misc.php +2247 -0
  802. data/lib/wp/wp-includes/SimplePie/Net/IPv6.php +276 -0
  803. data/lib/wp/wp-includes/SimplePie/Parse/Date.php +983 -0
  804. data/lib/wp/wp-includes/SimplePie/Parser.php +407 -0
  805. data/lib/wp/wp-includes/SimplePie/Rating.php +129 -0
  806. data/lib/wp/wp-includes/SimplePie/Registry.php +225 -0
  807. data/lib/wp/wp-includes/SimplePie/Restriction.php +155 -0
  808. data/lib/wp/wp-includes/SimplePie/Sanitize.php +554 -0
  809. data/lib/wp/wp-includes/SimplePie/Source.php +611 -0
  810. data/lib/wp/wp-includes/SimplePie/XML/Declaration/Parser.php +362 -0
  811. data/lib/wp/wp-includes/SimplePie/gzdecode.php +371 -0
  812. data/lib/wp/wp-includes/Text/Diff.php +450 -0
  813. data/lib/wp/wp-includes/Text/Diff/Engine/native.php +436 -0
  814. data/lib/wp/wp-includes/Text/Diff/Engine/shell.php +162 -0
  815. data/lib/wp/wp-includes/Text/Diff/Engine/string.php +248 -0
  816. data/lib/wp/wp-includes/Text/Diff/Engine/xdiff.php +64 -0
  817. data/lib/wp/wp-includes/Text/Diff/Renderer.php +235 -0
  818. data/lib/wp/wp-includes/Text/Diff/Renderer/inline.php +206 -0
  819. data/lib/wp/wp-includes/admin-bar.php +870 -0
  820. data/lib/wp/wp-includes/atomlib.php +352 -0
  821. data/lib/wp/wp-includes/author-template.php +471 -0
  822. data/lib/wp/wp-includes/bookmark-template.php +298 -0
  823. data/lib/wp/wp-includes/bookmark.php +416 -0
  824. data/lib/wp/wp-includes/cache.php +704 -0
  825. data/lib/wp/wp-includes/canonical.php +586 -0
  826. data/lib/wp/wp-includes/capabilities.php +1539 -0
  827. data/lib/wp/wp-includes/category-template.php +1407 -0
  828. data/lib/wp/wp-includes/category.php +343 -0
  829. data/lib/wp/wp-includes/certificates/ca-bundle.crt +3785 -0
  830. data/lib/wp/wp-includes/class-IXR.php +1100 -0
  831. data/lib/wp/wp-includes/class-feed.php +140 -0
  832. data/lib/wp/wp-includes/class-http.php +2245 -0
  833. data/lib/wp/wp-includes/class-json.php +936 -0
  834. data/lib/wp/wp-includes/class-oembed.php +579 -0
  835. data/lib/wp/wp-includes/class-phpass.php +260 -0
  836. data/lib/wp/wp-includes/class-phpmailer.php +3265 -0
  837. data/lib/wp/wp-includes/class-pop3.php +652 -0
  838. data/lib/wp/wp-includes/class-simplepie.php +3119 -0
  839. data/lib/wp/wp-includes/class-smtp.php +943 -0
  840. data/lib/wp/wp-includes/class-snoopy.php +1256 -0
  841. data/lib/wp/wp-includes/class-wp-admin-bar.php +517 -0
  842. data/lib/wp/wp-includes/class-wp-ajax-response.php +199 -0
  843. data/lib/wp/wp-includes/class-wp-customize-control.php +1124 -0
  844. data/lib/wp/wp-includes/class-wp-customize-manager.php +1272 -0
  845. data/lib/wp/wp-includes/class-wp-customize-panel.php +200 -0
  846. data/lib/wp/wp-includes/class-wp-customize-section.php +196 -0
  847. data/lib/wp/wp-includes/class-wp-customize-setting.php +554 -0
  848. data/lib/wp/wp-includes/class-wp-customize-widgets.php +1556 -0
  849. data/lib/wp/wp-includes/class-wp-editor.php +1435 -0
  850. data/lib/wp/wp-includes/class-wp-embed.php +373 -0
  851. data/lib/wp/wp-includes/class-wp-error.php +276 -0
  852. data/lib/wp/wp-includes/class-wp-http-ixr-client.php +97 -0
  853. data/lib/wp/wp-includes/class-wp-image-editor-gd.php +459 -0
  854. data/lib/wp/wp-includes/class-wp-image-editor-imagick.php +512 -0
  855. data/lib/wp/wp-includes/class-wp-image-editor.php +475 -0
  856. data/lib/wp/wp-includes/class-wp-theme.php +1235 -0
  857. data/lib/wp/wp-includes/class-wp-walker.php +471 -0
  858. data/lib/wp/wp-includes/class-wp-xmlrpc-server.php +5984 -0
  859. data/lib/wp/wp-includes/class-wp.php +782 -0
  860. data/lib/wp/wp-includes/class.wp-dependencies.php +509 -0
  861. data/lib/wp/wp-includes/class.wp-scripts.php +247 -0
  862. data/lib/wp/wp-includes/class.wp-styles.php +210 -0
  863. data/lib/wp/wp-includes/comment-template.php +2286 -0
  864. data/lib/wp/wp-includes/comment.php +2606 -0
  865. data/lib/wp/wp-includes/compat.php +125 -0
  866. data/lib/wp/wp-includes/cron.php +469 -0
  867. data/lib/wp/wp-includes/css/admin-bar-rtl.css +1099 -0
  868. data/lib/wp/wp-includes/css/admin-bar-rtl.min.css +1 -0
  869. data/lib/wp/wp-includes/css/admin-bar.css +1099 -0
  870. data/lib/wp/wp-includes/css/admin-bar.min.css +1 -0
  871. data/lib/wp/wp-includes/css/buttons-rtl.css +364 -0
  872. data/lib/wp/wp-includes/css/buttons-rtl.min.css +1 -0
  873. data/lib/wp/wp-includes/css/buttons.css +364 -0
  874. data/lib/wp/wp-includes/css/buttons.min.css +1 -0
  875. data/lib/wp/wp-includes/css/dashicons.css +893 -0
  876. data/lib/wp/wp-includes/css/dashicons.min.css +1 -0
  877. data/lib/wp/wp-includes/css/editor-rtl.css +1993 -0
  878. data/lib/wp/wp-includes/css/editor-rtl.min.css +1 -0
  879. data/lib/wp/wp-includes/css/editor.css +1993 -0
  880. data/lib/wp/wp-includes/css/editor.min.css +1 -0
  881. data/lib/wp/wp-includes/css/jquery-ui-dialog-rtl.css +343 -0
  882. data/lib/wp/wp-includes/css/jquery-ui-dialog-rtl.min.css +19 -0
  883. data/lib/wp/wp-includes/css/jquery-ui-dialog.css +343 -0
  884. data/lib/wp/wp-includes/css/jquery-ui-dialog.min.css +19 -0
  885. data/lib/wp/wp-includes/css/media-views-rtl.css +2568 -0
  886. data/lib/wp/wp-includes/css/media-views-rtl.min.css +1 -0
  887. data/lib/wp/wp-includes/css/media-views.css +2568 -0
  888. data/lib/wp/wp-includes/css/media-views.min.css +1 -0
  889. data/lib/wp/wp-includes/css/wp-auth-check-rtl.css +100 -0
  890. data/lib/wp/wp-includes/css/wp-auth-check-rtl.min.css +1 -0
  891. data/lib/wp/wp-includes/css/wp-auth-check.css +100 -0
  892. data/lib/wp/wp-includes/css/wp-auth-check.min.css +1 -0
  893. data/lib/wp/wp-includes/css/wp-pointer-rtl.css +212 -0
  894. data/lib/wp/wp-includes/css/wp-pointer-rtl.min.css +1 -0
  895. data/lib/wp/wp-includes/css/wp-pointer.css +212 -0
  896. data/lib/wp/wp-includes/css/wp-pointer.min.css +1 -0
  897. data/lib/wp/wp-includes/date.php +475 -0
  898. data/lib/wp/wp-includes/default-constants.php +323 -0
  899. data/lib/wp/wp-includes/default-filters.php +307 -0
  900. data/lib/wp/wp-includes/default-widgets.php +1423 -0
  901. data/lib/wp/wp-includes/deprecated.php +3501 -0
  902. data/lib/wp/wp-includes/feed-atom-comments.php +115 -0
  903. data/lib/wp/wp-includes/feed-atom.php +87 -0
  904. data/lib/wp/wp-includes/feed-rdf.php +81 -0
  905. data/lib/wp/wp-includes/feed-rss.php +46 -0
  906. data/lib/wp/wp-includes/feed-rss2-comments.php +97 -0
  907. data/lib/wp/wp-includes/feed-rss2.php +115 -0
  908. data/lib/wp/wp-includes/feed.php +659 -0
  909. data/lib/wp/wp-includes/fonts/dashicons.eot +0 -0
  910. data/lib/wp/wp-includes/fonts/dashicons.svg +250 -0
  911. data/lib/wp/wp-includes/fonts/dashicons.ttf +0 -0
  912. data/lib/wp/wp-includes/fonts/dashicons.woff +0 -0
  913. data/lib/wp/wp-includes/formatting.php +4006 -0
  914. data/lib/wp/wp-includes/functions.php +4631 -0
  915. data/lib/wp/wp-includes/functions.wp-scripts.php +258 -0
  916. data/lib/wp/wp-includes/functions.wp-styles.php +245 -0
  917. data/lib/wp/wp-includes/general-template.php +2982 -0
  918. data/lib/wp/wp-includes/http.php +551 -0
  919. data/lib/wp/wp-includes/images/admin-bar-sprite-2x.png +0 -0
  920. data/lib/wp/wp-includes/images/admin-bar-sprite.png +0 -0
  921. data/lib/wp/wp-includes/images/arrow-pointer-blue-2x.png +0 -0
  922. data/lib/wp/wp-includes/images/arrow-pointer-blue.png +0 -0
  923. data/lib/wp/wp-includes/images/blank.gif +0 -0
  924. data/lib/wp/wp-includes/images/crystal/archive.png +0 -0
  925. data/lib/wp/wp-includes/images/crystal/audio.png +0 -0
  926. data/lib/wp/wp-includes/images/crystal/code.png +0 -0
  927. data/lib/wp/wp-includes/images/crystal/default.png +0 -0
  928. data/lib/wp/wp-includes/images/crystal/document.png +0 -0
  929. data/lib/wp/wp-includes/images/crystal/interactive.png +0 -0
  930. data/lib/wp/wp-includes/images/crystal/license.txt +9 -0
  931. data/lib/wp/wp-includes/images/crystal/spreadsheet.png +0 -0
  932. data/lib/wp/wp-includes/images/crystal/text.png +0 -0
  933. data/lib/wp/wp-includes/images/crystal/video.png +0 -0
  934. data/lib/wp/wp-includes/images/down_arrow-2x.gif +0 -0
  935. data/lib/wp/wp-includes/images/down_arrow.gif +0 -0
  936. data/lib/wp/wp-includes/images/icon-pointer-flag-2x.png +0 -0
  937. data/lib/wp/wp-includes/images/icon-pointer-flag.png +0 -0
  938. data/lib/wp/wp-includes/images/media/archive.png +0 -0
  939. data/lib/wp/wp-includes/images/media/audio.png +0 -0
  940. data/lib/wp/wp-includes/images/media/code.png +0 -0
  941. data/lib/wp/wp-includes/images/media/default.png +0 -0
  942. data/lib/wp/wp-includes/images/media/document.png +0 -0
  943. data/lib/wp/wp-includes/images/media/interactive.png +0 -0
  944. data/lib/wp/wp-includes/images/media/spreadsheet.png +0 -0
  945. data/lib/wp/wp-includes/images/media/text.png +0 -0
  946. data/lib/wp/wp-includes/images/media/video.png +0 -0
  947. data/lib/wp/wp-includes/images/rss-2x.png +0 -0
  948. data/lib/wp/wp-includes/images/rss.png +0 -0
  949. data/lib/wp/wp-includes/images/smilies/icon_arrow.gif +0 -0
  950. data/lib/wp/wp-includes/images/smilies/icon_biggrin.gif +0 -0
  951. data/lib/wp/wp-includes/images/smilies/icon_confused.gif +0 -0
  952. data/lib/wp/wp-includes/images/smilies/icon_cool.gif +0 -0
  953. data/lib/wp/wp-includes/images/smilies/icon_cry.gif +0 -0
  954. data/lib/wp/wp-includes/images/smilies/icon_eek.gif +0 -0
  955. data/lib/wp/wp-includes/images/smilies/icon_evil.gif +0 -0
  956. data/lib/wp/wp-includes/images/smilies/icon_exclaim.gif +0 -0
  957. data/lib/wp/wp-includes/images/smilies/icon_idea.gif +0 -0
  958. data/lib/wp/wp-includes/images/smilies/icon_lol.gif +0 -0
  959. data/lib/wp/wp-includes/images/smilies/icon_mad.gif +0 -0
  960. data/lib/wp/wp-includes/images/smilies/icon_mrgreen.gif +0 -0
  961. data/lib/wp/wp-includes/images/smilies/icon_neutral.gif +0 -0
  962. data/lib/wp/wp-includes/images/smilies/icon_question.gif +0 -0
  963. data/lib/wp/wp-includes/images/smilies/icon_razz.gif +0 -0
  964. data/lib/wp/wp-includes/images/smilies/icon_redface.gif +0 -0
  965. data/lib/wp/wp-includes/images/smilies/icon_rolleyes.gif +0 -0
  966. data/lib/wp/wp-includes/images/smilies/icon_sad.gif +0 -0
  967. data/lib/wp/wp-includes/images/smilies/icon_smile.gif +0 -0
  968. data/lib/wp/wp-includes/images/smilies/icon_surprised.gif +0 -0
  969. data/lib/wp/wp-includes/images/smilies/icon_twisted.gif +0 -0
  970. data/lib/wp/wp-includes/images/smilies/icon_wink.gif +0 -0
  971. data/lib/wp/wp-includes/images/spinner-2x.gif +0 -0
  972. data/lib/wp/wp-includes/images/spinner.gif +0 -0
  973. data/lib/wp/wp-includes/images/toggle-arrow-2x.png +0 -0
  974. data/lib/wp/wp-includes/images/toggle-arrow.png +0 -0
  975. data/lib/wp/wp-includes/images/uploader-icons-2x.png +0 -0
  976. data/lib/wp/wp-includes/images/uploader-icons.png +0 -0
  977. data/lib/wp/wp-includes/images/wlw/wp-comments.png +0 -0
  978. data/lib/wp/wp-includes/images/wlw/wp-icon.png +0 -0
  979. data/lib/wp/wp-includes/images/wlw/wp-watermark.png +0 -0
  980. data/lib/wp/wp-includes/images/wpicons-2x.png +0 -0
  981. data/lib/wp/wp-includes/images/wpicons.png +0 -0
  982. data/lib/wp/wp-includes/images/wpspin-2x.gif +0 -0
  983. data/lib/wp/wp-includes/images/wpspin.gif +0 -0
  984. data/lib/wp/wp-includes/images/xit-2x.gif +0 -0
  985. data/lib/wp/wp-includes/images/xit.gif +0 -0
  986. data/lib/wp/wp-includes/js/admin-bar.js +365 -0
  987. data/lib/wp/wp-includes/js/admin-bar.min.js +1 -0
  988. data/lib/wp/wp-includes/js/autosave.js +589 -0
  989. data/lib/wp/wp-includes/js/autosave.min.js +1 -0
  990. data/lib/wp/wp-includes/js/backbone.min.js +1 -0
  991. data/lib/wp/wp-includes/js/colorpicker.js +707 -0
  992. data/lib/wp/wp-includes/js/colorpicker.min.js +1 -0
  993. data/lib/wp/wp-includes/js/comment-reply.js +47 -0
  994. data/lib/wp/wp-includes/js/comment-reply.min.js +1 -0
  995. data/lib/wp/wp-includes/js/crop/cropper.css +165 -0
  996. data/lib/wp/wp-includes/js/crop/cropper.js +516 -0
  997. data/lib/wp/wp-includes/js/crop/marqueeHoriz.gif +0 -0
  998. data/lib/wp/wp-includes/js/crop/marqueeVert.gif +0 -0
  999. data/lib/wp/wp-includes/js/customize-base.js +617 -0
  1000. data/lib/wp/wp-includes/js/customize-base.min.js +1 -0
  1001. data/lib/wp/wp-includes/js/customize-loader.js +246 -0
  1002. data/lib/wp/wp-includes/js/customize-loader.min.js +1 -0
  1003. data/lib/wp/wp-includes/js/customize-models.js +247 -0
  1004. data/lib/wp/wp-includes/js/customize-models.min.js +1 -0
  1005. data/lib/wp/wp-includes/js/customize-preview-widgets.js +129 -0
  1006. data/lib/wp/wp-includes/js/customize-preview-widgets.min.js +1 -0
  1007. data/lib/wp/wp-includes/js/customize-preview.js +154 -0
  1008. data/lib/wp/wp-includes/js/customize-preview.min.js +1 -0
  1009. data/lib/wp/wp-includes/js/customize-views.js +231 -0
  1010. data/lib/wp/wp-includes/js/customize-views.min.js +1 -0
  1011. data/lib/wp/wp-includes/js/heartbeat.js +738 -0
  1012. data/lib/wp/wp-includes/js/heartbeat.min.js +1 -0
  1013. data/lib/wp/wp-includes/js/hoverIntent.js +115 -0
  1014. data/lib/wp/wp-includes/js/hoverIntent.min.js +1 -0
  1015. data/lib/wp/wp-includes/js/imgareaselect/border-anim-h.gif +0 -0
  1016. data/lib/wp/wp-includes/js/imgareaselect/border-anim-v.gif +0 -0
  1017. data/lib/wp/wp-includes/js/imgareaselect/imgareaselect.css +41 -0
  1018. data/lib/wp/wp-includes/js/imgareaselect/jquery.imgareaselect.js +1205 -0
  1019. data/lib/wp/wp-includes/js/imgareaselect/jquery.imgareaselect.min.js +1 -0
  1020. data/lib/wp/wp-includes/js/jcrop/Jcrop.gif +0 -0
  1021. data/lib/wp/wp-includes/js/jcrop/jquery.Jcrop.min.css +29 -0
  1022. data/lib/wp/wp-includes/js/jcrop/jquery.Jcrop.min.js +22 -0
  1023. data/lib/wp/wp-includes/js/jquery/jquery-migrate.js +521 -0
  1024. data/lib/wp/wp-includes/js/jquery/jquery-migrate.min.js +2 -0
  1025. data/lib/wp/wp-includes/js/jquery/jquery.color.min.js +2 -0
  1026. data/lib/wp/wp-includes/js/jquery/jquery.form.js +1193 -0
  1027. data/lib/wp/wp-includes/js/jquery/jquery.form.min.js +11 -0
  1028. data/lib/wp/wp-includes/js/jquery/jquery.hotkeys.js +134 -0
  1029. data/lib/wp/wp-includes/js/jquery/jquery.hotkeys.min.js +1 -0
  1030. data/lib/wp/wp-includes/js/jquery/jquery.js +5 -0
  1031. data/lib/wp/wp-includes/js/jquery/jquery.masonry.min.js +11 -0
  1032. data/lib/wp/wp-includes/js/jquery/jquery.query.js +11 -0
  1033. data/lib/wp/wp-includes/js/jquery/jquery.schedule.js +36 -0
  1034. data/lib/wp/wp-includes/js/jquery/jquery.serialize-object.js +31 -0
  1035. data/lib/wp/wp-includes/js/jquery/jquery.table-hotkeys.js +99 -0
  1036. data/lib/wp/wp-includes/js/jquery/jquery.table-hotkeys.min.js +1 -0
  1037. data/lib/wp/wp-includes/js/jquery/jquery.ui.touch-punch.js +11 -0
  1038. data/lib/wp/wp-includes/js/jquery/suggest.js +316 -0
  1039. data/lib/wp/wp-includes/js/jquery/suggest.min.js +1 -0
  1040. data/lib/wp/wp-includes/js/jquery/ui/accordion.min.js +11 -0
  1041. data/lib/wp/wp-includes/js/jquery/ui/autocomplete.min.js +11 -0
  1042. data/lib/wp/wp-includes/js/jquery/ui/button.min.js +11 -0
  1043. data/lib/wp/wp-includes/js/jquery/ui/core.min.js +11 -0
  1044. data/lib/wp/wp-includes/js/jquery/ui/datepicker.min.js +12 -0
  1045. data/lib/wp/wp-includes/js/jquery/ui/dialog.min.js +11 -0
  1046. data/lib/wp/wp-includes/js/jquery/ui/draggable.min.js +11 -0
  1047. data/lib/wp/wp-includes/js/jquery/ui/droppable.min.js +11 -0
  1048. data/lib/wp/wp-includes/js/jquery/ui/effect-blind.min.js +11 -0
  1049. data/lib/wp/wp-includes/js/jquery/ui/effect-bounce.min.js +11 -0
  1050. data/lib/wp/wp-includes/js/jquery/ui/effect-clip.min.js +11 -0
  1051. data/lib/wp/wp-includes/js/jquery/ui/effect-drop.min.js +11 -0
  1052. data/lib/wp/wp-includes/js/jquery/ui/effect-explode.min.js +11 -0
  1053. data/lib/wp/wp-includes/js/jquery/ui/effect-fade.min.js +11 -0
  1054. data/lib/wp/wp-includes/js/jquery/ui/effect-fold.min.js +11 -0
  1055. data/lib/wp/wp-includes/js/jquery/ui/effect-highlight.min.js +11 -0
  1056. data/lib/wp/wp-includes/js/jquery/ui/effect-puff.min.js +11 -0
  1057. data/lib/wp/wp-includes/js/jquery/ui/effect-pulsate.min.js +11 -0
  1058. data/lib/wp/wp-includes/js/jquery/ui/effect-scale.min.js +11 -0
  1059. data/lib/wp/wp-includes/js/jquery/ui/effect-shake.min.js +11 -0
  1060. data/lib/wp/wp-includes/js/jquery/ui/effect-size.min.js +11 -0
  1061. data/lib/wp/wp-includes/js/jquery/ui/effect-slide.min.js +11 -0
  1062. data/lib/wp/wp-includes/js/jquery/ui/effect-transfer.min.js +11 -0
  1063. data/lib/wp/wp-includes/js/jquery/ui/effect.min.js +21 -0
  1064. data/lib/wp/wp-includes/js/jquery/ui/menu.min.js +11 -0
  1065. data/lib/wp/wp-includes/js/jquery/ui/mouse.min.js +11 -0
  1066. data/lib/wp/wp-includes/js/jquery/ui/position.min.js +11 -0
  1067. data/lib/wp/wp-includes/js/jquery/ui/progressbar.min.js +11 -0
  1068. data/lib/wp/wp-includes/js/jquery/ui/resizable.min.js +11 -0
  1069. data/lib/wp/wp-includes/js/jquery/ui/selectable.min.js +11 -0
  1070. data/lib/wp/wp-includes/js/jquery/ui/selectmenu.min.js +11 -0
  1071. data/lib/wp/wp-includes/js/jquery/ui/slider.min.js +11 -0
  1072. data/lib/wp/wp-includes/js/jquery/ui/sortable.min.js +11 -0
  1073. data/lib/wp/wp-includes/js/jquery/ui/spinner.min.js +11 -0
  1074. data/lib/wp/wp-includes/js/jquery/ui/tabs.min.js +11 -0
  1075. data/lib/wp/wp-includes/js/jquery/ui/tooltip.min.js +11 -0
  1076. data/lib/wp/wp-includes/js/jquery/ui/widget.min.js +11 -0
  1077. data/lib/wp/wp-includes/js/json2.js +480 -0
  1078. data/lib/wp/wp-includes/js/json2.min.js +1 -0
  1079. data/lib/wp/wp-includes/js/masonry.min.js +1 -0
  1080. data/lib/wp/wp-includes/js/mce-view.js +829 -0
  1081. data/lib/wp/wp-includes/js/mce-view.min.js +1 -0
  1082. data/lib/wp/wp-includes/js/media-audiovideo.js +831 -0
  1083. data/lib/wp/wp-includes/js/media-audiovideo.min.js +1 -0
  1084. data/lib/wp/wp-includes/js/media-editor.js +1114 -0
  1085. data/lib/wp/wp-includes/js/media-editor.min.js +1 -0
  1086. data/lib/wp/wp-includes/js/media-grid.js +732 -0
  1087. data/lib/wp/wp-includes/js/media-grid.min.js +1 -0
  1088. data/lib/wp/wp-includes/js/media-models.js +1362 -0
  1089. data/lib/wp/wp-includes/js/media-models.min.js +1 -0
  1090. data/lib/wp/wp-includes/js/media-views.js +7484 -0
  1091. data/lib/wp/wp-includes/js/media-views.min.js +3 -0
  1092. data/lib/wp/wp-includes/js/mediaelement/background.png +0 -0
  1093. data/lib/wp/wp-includes/js/mediaelement/bigplay.png +0 -0
  1094. data/lib/wp/wp-includes/js/mediaelement/bigplay.svg +1 -0
  1095. data/lib/wp/wp-includes/js/mediaelement/controls.png +0 -0
  1096. data/lib/wp/wp-includes/js/mediaelement/controls.svg +1 -0
  1097. data/lib/wp/wp-includes/js/mediaelement/flashmediaelement.swf +0 -0
  1098. data/lib/wp/wp-includes/js/mediaelement/loading.gif +0 -0
  1099. data/lib/wp/wp-includes/js/mediaelement/mediaelement-and-player.min.js +181 -0
  1100. data/lib/wp/wp-includes/js/mediaelement/mediaelementplayer.min.css +1 -0
  1101. data/lib/wp/wp-includes/js/mediaelement/silverlightmediaelement.xap +0 -0
  1102. data/lib/wp/wp-includes/js/mediaelement/wp-mediaelement.css +274 -0
  1103. data/lib/wp/wp-includes/js/mediaelement/wp-mediaelement.js +34 -0
  1104. data/lib/wp/wp-includes/js/mediaelement/wp-playlist.js +175 -0
  1105. data/lib/wp/wp-includes/js/plupload/handlers.js +488 -0
  1106. data/lib/wp/wp-includes/js/plupload/handlers.min.js +1 -0
  1107. data/lib/wp/wp-includes/js/plupload/license.txt +339 -0
  1108. data/lib/wp/wp-includes/js/plupload/plupload.flash.swf +0 -0
  1109. data/lib/wp/wp-includes/js/plupload/plupload.full.min.js +28 -0
  1110. data/lib/wp/wp-includes/js/plupload/plupload.silverlight.xap +0 -0
  1111. data/lib/wp/wp-includes/js/plupload/wp-plupload.js +376 -0
  1112. data/lib/wp/wp-includes/js/plupload/wp-plupload.min.js +1 -0
  1113. data/lib/wp/wp-includes/js/quicktags.js +652 -0
  1114. data/lib/wp/wp-includes/js/quicktags.min.js +1 -0
  1115. data/lib/wp/wp-includes/js/shortcode.js +356 -0
  1116. data/lib/wp/wp-includes/js/shortcode.min.js +1 -0
  1117. data/lib/wp/wp-includes/js/swfobject.js +4 -0
  1118. data/lib/wp/wp-includes/js/swfupload/handlers.js +376 -0
  1119. data/lib/wp/wp-includes/js/swfupload/handlers.min.js +1 -0
  1120. data/lib/wp/wp-includes/js/swfupload/license.txt +32 -0
  1121. data/lib/wp/wp-includes/js/swfupload/plugins/swfupload.cookies.js +53 -0
  1122. data/lib/wp/wp-includes/js/swfupload/plugins/swfupload.queue.js +98 -0
  1123. data/lib/wp/wp-includes/js/swfupload/plugins/swfupload.speed.js +342 -0
  1124. data/lib/wp/wp-includes/js/swfupload/plugins/swfupload.swfobject.js +105 -0
  1125. data/lib/wp/wp-includes/js/swfupload/swfupload.js +980 -0
  1126. data/lib/wp/wp-includes/js/swfupload/swfupload.swf +0 -0
  1127. data/lib/wp/wp-includes/js/thickbox/loadingAnimation.gif +0 -0
  1128. data/lib/wp/wp-includes/js/thickbox/macFFBgHack.png +0 -0
  1129. data/lib/wp/wp-includes/js/thickbox/thickbox.css +138 -0
  1130. data/lib/wp/wp-includes/js/thickbox/thickbox.js +314 -0
  1131. data/lib/wp/wp-includes/js/tinymce/langs/wp-langs-en.js +519 -0
  1132. data/lib/wp/wp-includes/js/tinymce/license.txt +504 -0
  1133. data/lib/wp/wp-includes/js/tinymce/plugins/charmap/plugin.js +370 -0
  1134. data/lib/wp/wp-includes/js/tinymce/plugins/charmap/plugin.min.js +1 -0
  1135. data/lib/wp/wp-includes/js/tinymce/plugins/colorpicker/plugin.js +112 -0
  1136. data/lib/wp/wp-includes/js/tinymce/plugins/colorpicker/plugin.min.js +1 -0
  1137. data/lib/wp/wp-includes/js/tinymce/plugins/compat3x/css/dialog.css +212 -0
  1138. data/lib/wp/wp-includes/js/tinymce/plugins/compat3x/plugin.js +304 -0
  1139. data/lib/wp/wp-includes/js/tinymce/plugins/compat3x/plugin.min.js +1 -0
  1140. data/lib/wp/wp-includes/js/tinymce/plugins/directionality/plugin.js +64 -0
  1141. data/lib/wp/wp-includes/js/tinymce/plugins/directionality/plugin.min.js +1 -0
  1142. data/lib/wp/wp-includes/js/tinymce/plugins/fullscreen/plugin.js +136 -0
  1143. data/lib/wp/wp-includes/js/tinymce/plugins/fullscreen/plugin.min.js +1 -0
  1144. data/lib/wp/wp-includes/js/tinymce/plugins/hr/plugin.js +30 -0
  1145. data/lib/wp/wp-includes/js/tinymce/plugins/hr/plugin.min.js +1 -0
  1146. data/lib/wp/wp-includes/js/tinymce/plugins/image/plugin.js +450 -0
  1147. data/lib/wp/wp-includes/js/tinymce/plugins/image/plugin.min.js +1 -0
  1148. data/lib/wp/wp-includes/js/tinymce/plugins/lists/plugin.js +786 -0
  1149. data/lib/wp/wp-includes/js/tinymce/plugins/lists/plugin.min.js +1 -0
  1150. data/lib/wp/wp-includes/js/tinymce/plugins/media/moxieplayer.swf +0 -0
  1151. data/lib/wp/wp-includes/js/tinymce/plugins/media/plugin.js +774 -0
  1152. data/lib/wp/wp-includes/js/tinymce/plugins/media/plugin.min.js +1 -0
  1153. data/lib/wp/wp-includes/js/tinymce/plugins/paste/plugin.js +1553 -0
  1154. data/lib/wp/wp-includes/js/tinymce/plugins/paste/plugin.min.js +1 -0
  1155. data/lib/wp/wp-includes/js/tinymce/plugins/tabfocus/plugin.js +125 -0
  1156. data/lib/wp/wp-includes/js/tinymce/plugins/tabfocus/plugin.min.js +1 -0
  1157. data/lib/wp/wp-includes/js/tinymce/plugins/textcolor/plugin.js +272 -0
  1158. data/lib/wp/wp-includes/js/tinymce/plugins/textcolor/plugin.min.js +1 -0
  1159. data/lib/wp/wp-includes/js/tinymce/plugins/wordpress/plugin.js +513 -0
  1160. data/lib/wp/wp-includes/js/tinymce/plugins/wordpress/plugin.min.js +1 -0
  1161. data/lib/wp/wp-includes/js/tinymce/plugins/wpautoresize/plugin.js +207 -0
  1162. data/lib/wp/wp-includes/js/tinymce/plugins/wpautoresize/plugin.min.js +1 -0
  1163. data/lib/wp/wp-includes/js/tinymce/plugins/wpdialogs/plugin.js +92 -0
  1164. data/lib/wp/wp-includes/js/tinymce/plugins/wpdialogs/plugin.min.js +1 -0
  1165. data/lib/wp/wp-includes/js/tinymce/plugins/wpeditimage/plugin.js +1035 -0
  1166. data/lib/wp/wp-includes/js/tinymce/plugins/wpeditimage/plugin.min.js +1 -0
  1167. data/lib/wp/wp-includes/js/tinymce/plugins/wpfullscreen/plugin.js +78 -0
  1168. data/lib/wp/wp-includes/js/tinymce/plugins/wpfullscreen/plugin.min.js +1 -0
  1169. data/lib/wp/wp-includes/js/tinymce/plugins/wpgallery/plugin.js +130 -0
  1170. data/lib/wp/wp-includes/js/tinymce/plugins/wpgallery/plugin.min.js +1 -0
  1171. data/lib/wp/wp-includes/js/tinymce/plugins/wplink/plugin.js +63 -0
  1172. data/lib/wp/wp-includes/js/tinymce/plugins/wplink/plugin.min.js +1 -0
  1173. data/lib/wp/wp-includes/js/tinymce/plugins/wpview/plugin.js +694 -0
  1174. data/lib/wp/wp-includes/js/tinymce/plugins/wpview/plugin.min.js +1 -0
  1175. data/lib/wp/wp-includes/js/tinymce/skins/lightgray/content.inline.min.css +1 -0
  1176. data/lib/wp/wp-includes/js/tinymce/skins/lightgray/content.min.css +1 -0
  1177. data/lib/wp/wp-includes/js/tinymce/skins/lightgray/fonts/readme.md +1 -0
  1178. data/lib/wp/wp-includes/js/tinymce/skins/lightgray/fonts/tinymce-small.eot +0 -0
  1179. data/lib/wp/wp-includes/js/tinymce/skins/lightgray/fonts/tinymce-small.svg +62 -0
  1180. data/lib/wp/wp-includes/js/tinymce/skins/lightgray/fonts/tinymce-small.ttf +0 -0
  1181. data/lib/wp/wp-includes/js/tinymce/skins/lightgray/fonts/tinymce-small.woff +0 -0
  1182. data/lib/wp/wp-includes/js/tinymce/skins/lightgray/fonts/tinymce.eot +0 -0
  1183. data/lib/wp/wp-includes/js/tinymce/skins/lightgray/fonts/tinymce.svg +63 -0
  1184. data/lib/wp/wp-includes/js/tinymce/skins/lightgray/fonts/tinymce.ttf +0 -0
  1185. data/lib/wp/wp-includes/js/tinymce/skins/lightgray/fonts/tinymce.woff +0 -0
  1186. data/lib/wp/wp-includes/js/tinymce/skins/lightgray/img/anchor.gif +0 -0
  1187. data/lib/wp/wp-includes/js/tinymce/skins/lightgray/img/loader.gif +0 -0
  1188. data/lib/wp/wp-includes/js/tinymce/skins/lightgray/img/object.gif +0 -0
  1189. data/lib/wp/wp-includes/js/tinymce/skins/lightgray/img/trans.gif +0 -0
  1190. data/lib/wp/wp-includes/js/tinymce/skins/lightgray/skin.ie7.min.css +1 -0
  1191. data/lib/wp/wp-includes/js/tinymce/skins/lightgray/skin.min.css +1 -0
  1192. data/lib/wp/wp-includes/js/tinymce/skins/wordpress/images/audio.png +0 -0
  1193. data/lib/wp/wp-includes/js/tinymce/skins/wordpress/images/dashicon-edit.png +0 -0
  1194. data/lib/wp/wp-includes/js/tinymce/skins/wordpress/images/dashicon-no-alt.png +0 -0
  1195. data/lib/wp/wp-includes/js/tinymce/skins/wordpress/images/embedded.png +0 -0
  1196. data/lib/wp/wp-includes/js/tinymce/skins/wordpress/images/gallery-2x.png +0 -0
  1197. data/lib/wp/wp-includes/js/tinymce/skins/wordpress/images/gallery.png +0 -0
  1198. data/lib/wp/wp-includes/js/tinymce/skins/wordpress/images/more-2x.png +0 -0
  1199. data/lib/wp/wp-includes/js/tinymce/skins/wordpress/images/more.png +0 -0
  1200. data/lib/wp/wp-includes/js/tinymce/skins/wordpress/images/pagebreak-2x.png +0 -0
  1201. data/lib/wp/wp-includes/js/tinymce/skins/wordpress/images/pagebreak.png +0 -0
  1202. data/lib/wp/wp-includes/js/tinymce/skins/wordpress/images/playlist-audio.png +0 -0
  1203. data/lib/wp/wp-includes/js/tinymce/skins/wordpress/images/playlist-video.png +0 -0
  1204. data/lib/wp/wp-includes/js/tinymce/skins/wordpress/images/video.png +0 -0
  1205. data/lib/wp/wp-includes/js/tinymce/skins/wordpress/wp-content.css +618 -0
  1206. data/lib/wp/wp-includes/js/tinymce/themes/modern/theme.js +617 -0
  1207. data/lib/wp/wp-includes/js/tinymce/themes/modern/theme.min.js +1 -0
  1208. data/lib/wp/wp-includes/js/tinymce/tiny_mce_popup.js +539 -0
  1209. data/lib/wp/wp-includes/js/tinymce/tinymce.min.js +11 -0
  1210. data/lib/wp/wp-includes/js/tinymce/utils/editable_selects.js +70 -0
  1211. data/lib/wp/wp-includes/js/tinymce/utils/form_utils.js +210 -0
  1212. data/lib/wp/wp-includes/js/tinymce/utils/mctabs.js +164 -0
  1213. data/lib/wp/wp-includes/js/tinymce/utils/validate.js +252 -0
  1214. data/lib/wp/wp-includes/js/tinymce/wp-mce-help.php +145 -0
  1215. data/lib/wp/wp-includes/js/tinymce/wp-tinymce.js.gz +0 -0
  1216. data/lib/wp/wp-includes/js/tinymce/wp-tinymce.php +39 -0
  1217. data/lib/wp/wp-includes/js/tw-sack.js +193 -0
  1218. data/lib/wp/wp-includes/js/tw-sack.min.js +1 -0
  1219. data/lib/wp/wp-includes/js/underscore.min.js +1 -0
  1220. data/lib/wp/wp-includes/js/utils.js +197 -0
  1221. data/lib/wp/wp-includes/js/utils.min.js +1 -0
  1222. data/lib/wp/wp-includes/js/wp-ajax-response.js +64 -0
  1223. data/lib/wp/wp-includes/js/wp-ajax-response.min.js +1 -0
  1224. data/lib/wp/wp-includes/js/wp-auth-check.js +112 -0
  1225. data/lib/wp/wp-includes/js/wp-auth-check.min.js +1 -0
  1226. data/lib/wp/wp-includes/js/wp-backbone.js +386 -0
  1227. data/lib/wp/wp-includes/js/wp-backbone.min.js +1 -0
  1228. data/lib/wp/wp-includes/js/wp-list-revisions.js +24 -0
  1229. data/lib/wp/wp-includes/js/wp-list-revisions.min.js +1 -0
  1230. data/lib/wp/wp-includes/js/wp-lists.js +469 -0
  1231. data/lib/wp/wp-includes/js/wp-lists.min.js +1 -0
  1232. data/lib/wp/wp-includes/js/wp-pointer.js +282 -0
  1233. data/lib/wp/wp-includes/js/wp-pointer.min.js +1 -0
  1234. data/lib/wp/wp-includes/js/wp-util.js +106 -0
  1235. data/lib/wp/wp-includes/js/wp-util.min.js +1 -0
  1236. data/lib/wp/wp-includes/js/wpdialog.js +19 -0
  1237. data/lib/wp/wp-includes/js/wpdialog.min.js +1 -0
  1238. data/lib/wp/wp-includes/js/wplink.js +615 -0
  1239. data/lib/wp/wp-includes/js/wplink.min.js +1 -0
  1240. data/lib/wp/wp-includes/js/zxcvbn-async.js +18 -0
  1241. data/lib/wp/wp-includes/js/zxcvbn-async.min.js +1 -0
  1242. data/lib/wp/wp-includes/js/zxcvbn.min.js +47 -0
  1243. data/lib/wp/wp-includes/kses.php +1526 -0
  1244. data/lib/wp/wp-includes/l10n.php +908 -0
  1245. data/lib/wp/wp-includes/link-template.php +3141 -0
  1246. data/lib/wp/wp-includes/load.php +828 -0
  1247. data/lib/wp/wp-includes/locale.php +368 -0
  1248. data/lib/wp/wp-includes/media-template.php +1235 -0
  1249. data/lib/wp/wp-includes/media.php +3329 -0
  1250. data/lib/wp/wp-includes/meta.php +1221 -0
  1251. data/lib/wp/wp-includes/ms-blogs.php +939 -0
  1252. data/lib/wp/wp-includes/ms-default-constants.php +153 -0
  1253. data/lib/wp/wp-includes/ms-default-filters.php +82 -0
  1254. data/lib/wp/wp-includes/ms-deprecated.php +347 -0
  1255. data/lib/wp/wp-includes/ms-files.php +82 -0
  1256. data/lib/wp/wp-includes/ms-functions.php +2476 -0
  1257. data/lib/wp/wp-includes/ms-load.php +458 -0
  1258. data/lib/wp/wp-includes/ms-settings.php +213 -0
  1259. data/lib/wp/wp-includes/nav-menu-template.php +678 -0
  1260. data/lib/wp/wp-includes/nav-menu.php +895 -0
  1261. data/lib/wp/wp-includes/option.php +1440 -0
  1262. data/lib/wp/wp-includes/pluggable-deprecated.php +192 -0
  1263. data/lib/wp/wp-includes/pluggable.php +2283 -0
  1264. data/lib/wp/wp-includes/plugin.php +920 -0
  1265. data/lib/wp/wp-includes/pomo/entry.php +78 -0
  1266. data/lib/wp/wp-includes/pomo/mo.php +262 -0
  1267. data/lib/wp/wp-includes/pomo/po.php +384 -0
  1268. data/lib/wp/wp-includes/pomo/streams.php +209 -0
  1269. data/lib/wp/wp-includes/pomo/translations.php +275 -0
  1270. data/lib/wp/wp-includes/post-formats.php +243 -0
  1271. data/lib/wp/wp-includes/post-template.php +1766 -0
  1272. data/lib/wp/wp-includes/post-thumbnail-template.php +142 -0
  1273. data/lib/wp/wp-includes/post.php +5842 -0
  1274. data/lib/wp/wp-includes/query.php +4666 -0
  1275. data/lib/wp/wp-includes/registration-functions.php +7 -0
  1276. data/lib/wp/wp-includes/registration.php +7 -0
  1277. data/lib/wp/wp-includes/revision.php +657 -0
  1278. data/lib/wp/wp-includes/rewrite.php +2180 -0
  1279. data/lib/wp/wp-includes/rss-functions.php +9 -0
  1280. data/lib/wp/wp-includes/rss.php +936 -0
  1281. data/lib/wp/wp-includes/script-loader.php +1045 -0
  1282. data/lib/wp/wp-includes/session.php +430 -0
  1283. data/lib/wp/wp-includes/shortcodes.php +410 -0
  1284. data/lib/wp/wp-includes/taxonomy.php +4006 -0
  1285. data/lib/wp/wp-includes/template-loader.php +76 -0
  1286. data/lib/wp/wp-includes/template.php +505 -0
  1287. data/lib/wp/wp-includes/theme-compat/comments-popup.php +128 -0
  1288. data/lib/wp/wp-includes/theme-compat/comments.php +101 -0
  1289. data/lib/wp/wp-includes/theme-compat/footer.php +30 -0
  1290. data/lib/wp/wp-includes/theme-compat/header.php +49 -0
  1291. data/lib/wp/wp-includes/theme-compat/sidebar.php +83 -0
  1292. data/lib/wp/wp-includes/theme.php +2014 -0
  1293. data/lib/wp/wp-includes/update.php +674 -0
  1294. data/lib/wp/wp-includes/user.php +2292 -0
  1295. data/lib/wp/wp-includes/vars.php +144 -0
  1296. data/lib/wp/wp-includes/version.php +35 -0
  1297. data/lib/wp/wp-includes/widgets.php +1514 -0
  1298. data/lib/wp/wp-includes/wlwmanifest.xml +43 -0
  1299. data/lib/wp/wp-includes/wp-db.php +2190 -0
  1300. data/lib/wp/wp-includes/wp-diff.php +523 -0
  1301. data/lib/wp/wp-links-opml.php +80 -0
  1302. data/lib/wp/wp-load.php +73 -0
  1303. data/lib/wp/wp-login.php +952 -0
  1304. data/lib/wp/wp-mail.php +260 -0
  1305. data/lib/wp/wp-settings.php +374 -0
  1306. data/lib/wp/wp-signup.php +749 -0
  1307. data/lib/wp/wp-trackback.php +127 -0
  1308. data/lib/wp/xmlrpc.php +101 -0
  1309. data/stump-cli.gemspec +26 -0
  1310. metadata +1332 -4
@@ -0,0 +1,128 @@
1
+ <?php
2
+ /**
3
+ * @package WordPress
4
+ * @subpackage Theme_Compat
5
+ * @deprecated 3.0
6
+ *
7
+ * This file is here for Backwards compatibility with old themes and will be removed in a future version
8
+ *
9
+ */
10
+ _deprecated_file( sprintf( __( 'Theme without %1$s' ), basename(__FILE__) ), '3.0', null, sprintf( __('Please include a %1$s template in your theme.'), basename(__FILE__) ) );
11
+ ?><!DOCTYPE html>
12
+ <html xmlns="http://www.w3.org/1999/xhtml">
13
+ <head>
14
+ <title><?php printf(__('%1$s - Comments on %2$s'), get_option('blogname'), the_title('','',false)); ?></title>
15
+
16
+ <meta http-equiv="Content-Type" content="<?php bloginfo('html_type'); ?>; charset=<?php echo get_option('blog_charset'); ?>" />
17
+ <style type="text/css" media="screen">
18
+ @import url( <?php bloginfo('stylesheet_url'); ?> );
19
+ body { margin: 3px; }
20
+ </style>
21
+
22
+ </head>
23
+ <body id="commentspopup">
24
+
25
+ <h1 id="header"><a href="" title="<?php echo get_option('blogname'); ?>"><?php echo get_option('blogname'); ?></a></h1>
26
+
27
+ <?php
28
+ /* Don't remove these lines. */
29
+ add_filter('comment_text', 'popuplinks');
30
+ if ( have_posts() ) :
31
+ while( have_posts()) : the_post();
32
+ ?>
33
+ <h2 id="comments"><?php _e('Comments'); ?></h2>
34
+
35
+ <p><a href="<?php echo esc_url( get_post_comments_feed_link($post->ID) ); ?>"><?php _e('<abbr title="Really Simple Syndication">RSS</abbr> feed for comments on this post.'); ?></a></p>
36
+
37
+ <?php if ( pings_open() ) { ?>
38
+ <p><?php printf(__('The <abbr title="Universal Resource Locator">URL</abbr> to TrackBack this entry is: <em>%s</em>'), get_trackback_url()); ?></p>
39
+ <?php } ?>
40
+
41
+ <?php
42
+ // this line is WordPress' motor, do not delete it.
43
+ $commenter = wp_get_current_commenter();
44
+ $comments = get_approved_comments($id);
45
+ $post = get_post($id);
46
+ if ( post_password_required($post) ) { // and it doesn't match the cookie
47
+ echo(get_the_password_form());
48
+ } else { ?>
49
+
50
+ <?php if ($comments) { ?>
51
+ <ol id="commentlist">
52
+ <?php foreach ($comments as $comment) { ?>
53
+ <li id="comment-<?php comment_ID() ?>">
54
+ <?php comment_text() ?>
55
+ <p><cite><?php comment_type(); ?> <?php printf(__('by %1$s &#8212; %2$s @ <a href="#comment-%3$s">%4$s</a>'), get_comment_author_link(), get_comment_date(), get_comment_ID(), get_comment_time()); ?></cite></p>
56
+ </li>
57
+
58
+ <?php } // end for each comment ?>
59
+ </ol>
60
+ <?php } else { // this is displayed if there are no comments so far ?>
61
+ <p><?php _e('No comments yet.'); ?></p>
62
+ <?php } ?>
63
+
64
+ <?php if ( comments_open() ) { ?>
65
+ <h2><?php _e('Leave a comment'); ?></h2>
66
+ <p><?php printf(__('Line and paragraph breaks automatic, e-mail address never displayed, <acronym title="Hypertext Markup Language">HTML</acronym> allowed: <code>%s</code>'), allowed_tags()); ?></p>
67
+
68
+ <form action="<?php echo site_url(); ?>/wp-comments-post.php" method="post" id="commentform">
69
+ <?php if ( $user_ID ) : ?>
70
+ <p><?php printf(__('Logged in as <a href="%1$s">%2$s</a>. <a href="%3$s" title="Log out of this account">Log out &raquo;</a>'), get_edit_user_link(), $user_identity, wp_logout_url(get_permalink())); ?></p>
71
+ <?php else : ?>
72
+ <p>
73
+ <input type="text" name="author" id="author" class="textarea" value="<?php echo esc_attr( $commenter['comment_author'] ); ?>" size="28" tabindex="1" />
74
+ <label for="author"><?php _e('Name'); ?></label>
75
+ </p>
76
+
77
+ <p>
78
+ <input type="text" name="email" id="email" value="<?php echo esc_attr( $commenter['comment_author_email'] ); ?>" size="28" tabindex="2" />
79
+ <label for="email"><?php _e('E-mail'); ?></label>
80
+ </p>
81
+
82
+ <p>
83
+ <input type="text" name="url" id="url" value="<?php echo esc_attr( $commenter['comment_author_url'] ); ?>" size="28" tabindex="3" />
84
+ <label for="url"><?php _e('<abbr title="Universal Resource Locator">URL</abbr>'); ?></label>
85
+ </p>
86
+ <?php endif; ?>
87
+
88
+ <p>
89
+ <label for="comment"><?php _e('Your Comment'); ?></label>
90
+ <br />
91
+ <textarea name="comment" id="comment" cols="70" rows="4" tabindex="4"></textarea>
92
+ </p>
93
+
94
+ <p>
95
+ <input type="hidden" name="comment_post_ID" value="<?php echo $id; ?>" />
96
+ <input type="hidden" name="redirect_to" value="<?php echo esc_attr($_SERVER["REQUEST_URI"]); ?>" />
97
+ <input name="submit" type="submit" tabindex="5" value="<?php esc_attr_e('Say It!' ); ?>" />
98
+ </p>
99
+ <?php do_action('comment_form', $post->ID); ?>
100
+ </form>
101
+ <?php } else { // comments are closed ?>
102
+ <p><?php _e('Sorry, the comment form is closed at this time.'); ?></p>
103
+ <?php }
104
+ } // end password check
105
+ ?>
106
+
107
+ <div><strong><a href="javascript:window.close()"><?php _e('Close this window.'); ?></a></strong></div>
108
+
109
+ <?php // if you delete this the sky will fall on your head
110
+ endwhile; // have_posts()
111
+ else: // have_posts()
112
+ ?>
113
+ <p><?php _e('Sorry, no posts matched your criteria.'); ?></p>
114
+ <?php endif; ?>
115
+ <!-- // this is just the end of the motor - don't touch that line either :) -->
116
+ <?php //} ?>
117
+ <p class="credit"><?php timer_stop(1); ?> <cite><?php printf(__('Powered by <a href="%s" title="Powered by WordPress, state-of-the-art semantic personal publishing platform"><strong>WordPress</strong></a>'), 'https://wordpress.org/'); ?></cite></p>
118
+ <?php // Seen at http://www.mijnkopthee.nl/log2/archive/2003/05/28/esc(18) ?>
119
+ <script type="text/javascript">
120
+ <!--
121
+ document.onkeypress = function esc(e) {
122
+ if(typeof(e) == "undefined") { e=event; }
123
+ if (e.keyCode == 27) { self.close(); }
124
+ }
125
+ // -->
126
+ </script>
127
+ </body>
128
+ </html>
@@ -0,0 +1,101 @@
1
+ <?php
2
+ /**
3
+ * @package WordPress
4
+ * @subpackage Theme_Compat
5
+ * @deprecated 3.0
6
+ *
7
+ * This file is here for Backwards compatibility with old themes and will be removed in a future version
8
+ *
9
+ */
10
+ _deprecated_file( sprintf( __( 'Theme without %1$s' ), basename(__FILE__) ), '3.0', null, sprintf( __('Please include a %1$s template in your theme.'), basename(__FILE__) ) );
11
+
12
+ // Do not delete these lines
13
+ if (!empty($_SERVER['SCRIPT_FILENAME']) && 'comments.php' == basename($_SERVER['SCRIPT_FILENAME']))
14
+ die ('Please do not load this page directly. Thanks!');
15
+
16
+ if ( post_password_required() ) { ?>
17
+ <p class="nocomments"><?php _e('This post is password protected. Enter the password to view comments.'); ?></p>
18
+ <?php
19
+ return;
20
+ }
21
+ ?>
22
+
23
+ <!-- You can start editing here. -->
24
+
25
+ <?php if ( have_comments() ) : ?>
26
+ <h3 id="comments"><?php printf( _n( 'One Response to %2$s', '%1$s Responses to %2$s', get_comments_number() ),
27
+ number_format_i18n( get_comments_number() ), '&#8220;' . get_the_title() . '&#8221;' ); ?></h3>
28
+
29
+ <div class="navigation">
30
+ <div class="alignleft"><?php previous_comments_link() ?></div>
31
+ <div class="alignright"><?php next_comments_link() ?></div>
32
+ </div>
33
+
34
+ <ol class="commentlist">
35
+ <?php wp_list_comments();?>
36
+ </ol>
37
+
38
+ <div class="navigation">
39
+ <div class="alignleft"><?php previous_comments_link() ?></div>
40
+ <div class="alignright"><?php next_comments_link() ?></div>
41
+ </div>
42
+ <?php else : // this is displayed if there are no comments so far ?>
43
+
44
+ <?php if ( comments_open() ) : ?>
45
+ <!-- If comments are open, but there are no comments. -->
46
+
47
+ <?php else : // comments are closed ?>
48
+ <!-- If comments are closed. -->
49
+ <p class="nocomments"><?php _e('Comments are closed.'); ?></p>
50
+
51
+ <?php endif; ?>
52
+ <?php endif; ?>
53
+
54
+ <?php if ( comments_open() ) : ?>
55
+
56
+ <div id="respond">
57
+
58
+ <h3><?php comment_form_title( __('Leave a Reply'), __('Leave a Reply to %s' ) ); ?></h3>
59
+
60
+ <div id="cancel-comment-reply">
61
+ <small><?php cancel_comment_reply_link() ?></small>
62
+ </div>
63
+
64
+ <?php if ( get_option('comment_registration') && !is_user_logged_in() ) : ?>
65
+ <p><?php printf(__('You must be <a href="%s">logged in</a> to post a comment.'), wp_login_url( get_permalink() )); ?></p>
66
+ <?php else : ?>
67
+
68
+ <form action="<?php echo site_url(); ?>/wp-comments-post.php" method="post" id="commentform">
69
+
70
+ <?php if ( is_user_logged_in() ) : ?>
71
+
72
+ <p><?php printf(__('Logged in as <a href="%1$s">%2$s</a>.'), get_edit_user_link(), $user_identity); ?> <a href="<?php echo wp_logout_url(get_permalink()); ?>" title="<?php esc_attr_e('Log out of this account'); ?>"><?php _e('Log out &raquo;'); ?></a></p>
73
+
74
+ <?php else : ?>
75
+
76
+ <p><input type="text" name="author" id="author" value="<?php echo esc_attr($comment_author); ?>" size="22" tabindex="1" <?php if ($req) echo "aria-required='true'"; ?> />
77
+ <label for="author"><small><?php _e('Name'); ?> <?php if ($req) _e('(required)'); ?></small></label></p>
78
+
79
+ <p><input type="text" name="email" id="email" value="<?php echo esc_attr($comment_author_email); ?>" size="22" tabindex="2" <?php if ($req) echo "aria-required='true'"; ?> />
80
+ <label for="email"><small><?php _e('Mail (will not be published)'); ?> <?php if ($req) _e('(required)'); ?></small></label></p>
81
+
82
+ <p><input type="text" name="url" id="url" value="<?php echo esc_attr($comment_author_url); ?>" size="22" tabindex="3" />
83
+ <label for="url"><small><?php _e('Website'); ?></small></label></p>
84
+
85
+ <?php endif; ?>
86
+
87
+ <!--<p><small><?php printf(__('<strong>XHTML:</strong> You can use these tags: <code>%s</code>'), allowed_tags()); ?></small></p>-->
88
+
89
+ <p><textarea name="comment" id="comment" cols="58" rows="10" tabindex="4"></textarea></p>
90
+
91
+ <p><input name="submit" type="submit" id="submit" tabindex="5" value="<?php esc_attr_e('Submit Comment'); ?>" />
92
+ <?php comment_id_fields(); ?>
93
+ </p>
94
+ <?php do_action('comment_form', $post->ID); ?>
95
+
96
+ </form>
97
+
98
+ <?php endif; // If registration required and not logged in ?>
99
+ </div>
100
+
101
+ <?php endif; // if you delete this the sky will fall on your head ?>
@@ -0,0 +1,30 @@
1
+ <?php
2
+ /**
3
+ * @package WordPress
4
+ * @subpackage Theme_Compat
5
+ * @deprecated 3.0
6
+ *
7
+ * This file is here for Backwards compatibility with old themes and will be removed in a future version
8
+ *
9
+ */
10
+ _deprecated_file( sprintf( __( 'Theme without %1$s' ), basename(__FILE__) ), '3.0', null, sprintf( __('Please include a %1$s template in your theme.'), basename(__FILE__) ) );
11
+ ?>
12
+
13
+ <hr />
14
+ <div id="footer" role="contentinfo">
15
+ <!-- If you'd like to support WordPress, having the "powered by" link somewhere on your blog is the best way; it's our only promotion or advertising. -->
16
+ <p>
17
+ <?php printf(__('%1$s is proudly powered by %2$s'), get_bloginfo('name'),
18
+ '<a href="https://wordpress.org/">WordPress</a>'); ?>
19
+ <br /><?php printf(__('%1$s and %2$s.'), '<a href="' . get_bloginfo('rss2_url') . '">' . __('Entries (RSS)') . '</a>', '<a href="' . get_bloginfo('comments_rss2_url') . '">' . __('Comments (RSS)') . '</a>'); ?>
20
+ <!-- <?php printf(__('%d queries. %s seconds.'), get_num_queries(), timer_stop(0, 3)); ?> -->
21
+ </p>
22
+ </div>
23
+ </div>
24
+
25
+ <!-- Gorgeous design by Michael Heilemann - http://binarybonsai.com/kubrick/ -->
26
+ <?php /* "Just what do you think you're doing Dave?" */ ?>
27
+
28
+ <?php wp_footer(); ?>
29
+ </body>
30
+ </html>
@@ -0,0 +1,49 @@
1
+ <?php
2
+ /**
3
+ * @package WordPress
4
+ * @subpackage Theme_Compat
5
+ * @deprecated 3.0
6
+ *
7
+ * This file is here for Backwards compatibility with old themes and will be removed in a future version
8
+ *
9
+ */
10
+ _deprecated_file( sprintf( __( 'Theme without %1$s' ), basename(__FILE__) ), '3.0', null, sprintf( __('Please include a %1$s template in your theme.'), basename(__FILE__) ) );
11
+ ?>
12
+ <!DOCTYPE html>
13
+ <html xmlns="http://www.w3.org/1999/xhtml" <?php language_attributes(); ?>>
14
+ <head>
15
+ <link rel="profile" href="http://gmpg.org/xfn/11" />
16
+ <meta http-equiv="Content-Type" content="<?php bloginfo('html_type'); ?>; charset=<?php bloginfo('charset'); ?>" />
17
+
18
+ <title><?php wp_title('&laquo;', true, 'right'); ?> <?php bloginfo('name'); ?></title>
19
+
20
+ <link rel="stylesheet" href="<?php bloginfo('stylesheet_url'); ?>" type="text/css" media="screen" />
21
+ <link rel="pingback" href="<?php bloginfo('pingback_url'); ?>" />
22
+
23
+ <style type="text/css" media="screen">
24
+
25
+ <?php
26
+ // Checks to see whether it needs a sidebar
27
+ if ( empty($withcomments) && !is_single() ) {
28
+ ?>
29
+ #page { background: url("<?php bloginfo('stylesheet_directory'); ?>/images/kubrickbg-<?php bloginfo('text_direction'); ?>.jpg") repeat-y top; border: none; }
30
+ <?php } else { // No sidebar ?>
31
+ #page { background: url("<?php bloginfo('stylesheet_directory'); ?>/images/kubrickbgwide.jpg") repeat-y top; border: none; }
32
+ <?php } ?>
33
+
34
+ </style>
35
+
36
+ <?php if ( is_singular() ) wp_enqueue_script( 'comment-reply' ); ?>
37
+
38
+ <?php wp_head(); ?>
39
+ </head>
40
+ <body <?php body_class(); ?>>
41
+ <div id="page">
42
+
43
+ <div id="header" role="banner">
44
+ <div id="headerimg">
45
+ <h1><a href="<?php echo home_url(); ?>/"><?php bloginfo('name'); ?></a></h1>
46
+ <div class="description"><?php bloginfo('description'); ?></div>
47
+ </div>
48
+ </div>
49
+ <hr />
@@ -0,0 +1,83 @@
1
+ <?php
2
+ /**
3
+ * @package WordPress
4
+ * @subpackage Theme_Compat
5
+ * @deprecated 3.0
6
+ *
7
+ * This file is here for Backwards compatibility with old themes and will be removed in a future version
8
+ *
9
+ */
10
+ _deprecated_file( sprintf( __( 'Theme without %1$s' ), basename(__FILE__) ), '3.0', null, sprintf( __('Please include a %1$s template in your theme.'), basename(__FILE__) ) );
11
+ ?>
12
+ <div id="sidebar" role="complementary">
13
+ <ul>
14
+ <?php /* Widgetized sidebar, if you have the plugin installed. */
15
+ if ( !function_exists('dynamic_sidebar') || !dynamic_sidebar() ) : ?>
16
+ <li>
17
+ <?php get_search_form(); ?>
18
+ </li>
19
+
20
+ <!-- Author information is disabled per default. Uncomment and fill in your details if you want to use it.
21
+ <li><h2><?php _e('Author'); ?></h2>
22
+ <p>A little something about you, the author. Nothing lengthy, just an overview.</p>
23
+ </li>
24
+ -->
25
+
26
+ <?php if ( is_404() || is_category() || is_day() || is_month() ||
27
+ is_year() || is_search() || is_paged() ) {
28
+ ?> <li>
29
+
30
+ <?php /* If this is a 404 page */ if (is_404()) { ?>
31
+ <?php /* If this is a category archive */ } elseif (is_category()) { ?>
32
+ <p><?php printf(__('You are currently browsing the archives for the %s category.'), single_cat_title('', false)); ?></p>
33
+
34
+ <?php /* If this is a daily archive */ } elseif (is_day()) { ?>
35
+ <p><?php printf(__('You are currently browsing the <a href="%1$s/">%2$s</a> blog archives for the day %3$s.'), get_bloginfo('url'), get_bloginfo('name'), get_the_time(__('l, F jS, Y'))); ?></p>
36
+
37
+ <?php /* If this is a monthly archive */ } elseif (is_month()) { ?>
38
+ <p><?php printf(__('You are currently browsing the <a href="%1$s/">%2$s</a> blog archives for %3$s.'), get_bloginfo('url'), get_bloginfo('name'), get_the_time(__('F, Y'))); ?></p>
39
+
40
+ <?php /* If this is a yearly archive */ } elseif (is_year()) { ?>
41
+ <p><?php printf(__('You are currently browsing the <a href="%1$s/">%2$s</a> blog archives for the year %3$s.'), get_bloginfo('url'), get_bloginfo('name'), get_the_time('Y')); ?></p>
42
+
43
+ <?php /* If this is a search result */ } elseif (is_search()) { ?>
44
+ <p><?php printf(__('You have searched the <a href="%1$s/">%2$s</a> blog archives for <strong>&#8216;%3$s&#8217;</strong>. If you are unable to find anything in these search results, you can try one of these links.'), get_bloginfo('url'), get_bloginfo('name'), esc_html( get_search_query() ) ); ?></p>
45
+
46
+ <?php /* If this set is paginated */ } elseif (isset($_GET['paged']) && !empty($_GET['paged'])) { ?>
47
+ <p><?php printf(__('You are currently browsing the <a href="%1$s/">%2$s</a> blog archives.'), get_bloginfo('url'), get_bloginfo('name')); ?></p>
48
+
49
+ <?php } ?>
50
+
51
+ </li>
52
+ <?php }?>
53
+ </ul>
54
+ <ul role="navigation">
55
+ <?php wp_list_pages('title_li=<h2>' . __('Pages') . '</h2>' ); ?>
56
+
57
+ <li><h2><?php _e('Archives'); ?></h2>
58
+ <ul>
59
+ <?php wp_get_archives(array('type' => 'monthly')); ?>
60
+ </ul>
61
+ </li>
62
+
63
+ <?php wp_list_categories(array('show_count' => 1, 'title_li' => '<h2>' . __('Categories') . '</h2>')); ?>
64
+ </ul>
65
+ <ul>
66
+ <?php /* If this is the frontpage */ if ( is_home() || is_page() ) { ?>
67
+ <?php wp_list_bookmarks(); ?>
68
+
69
+ <li><h2><?php _e('Meta'); ?></h2>
70
+ <ul>
71
+ <?php wp_register(); ?>
72
+ <li><?php wp_loginout(); ?></li>
73
+ <li><a href="http://validator.w3.org/check/referer" title="<?php esc_attr_e('This page validates as XHTML 1.0 Transitional'); ?>"><?php _e('Valid <abbr title="eXtensible HyperText Markup Language">XHTML</abbr>'); ?></a></li>
74
+ <li><a href="http://gmpg.org/xfn/"><abbr title="<?php esc_attr_e('XHTML Friends Network'); ?>"><?php _e('XFN'); ?></abbr></a></li>
75
+ <li><a href="https://wordpress.org/" title="<?php esc_attr_e('Powered by WordPress, state-of-the-art semantic personal publishing platform.'); ?>">WordPress</a></li>
76
+ <?php wp_meta(); ?>
77
+ </ul>
78
+ </li>
79
+ <?php } ?>
80
+
81
+ <?php endif; ?>
82
+ </ul>
83
+ </div>
@@ -0,0 +1,2014 @@
1
+ <?php
2
+ /**
3
+ * Theme, template, and stylesheet functions.
4
+ *
5
+ * @package WordPress
6
+ * @subpackage Theme
7
+ */
8
+
9
+ /**
10
+ * Returns an array of WP_Theme objects based on the arguments.
11
+ *
12
+ * Despite advances over get_themes(), this function is quite expensive, and grows
13
+ * linearly with additional themes. Stick to wp_get_theme() if possible.
14
+ *
15
+ * @since 3.4.0
16
+ *
17
+ * @param array $args The search arguments. Optional.
18
+ * - errors mixed True to return themes with errors, false to return themes without errors, null
19
+ * to return all themes. Defaults to false.
20
+ * - allowed mixed (Multisite) True to return only allowed themes for a site. False to return only
21
+ * disallowed themes for a site. 'site' to return only site-allowed themes. 'network'
22
+ * to return only network-allowed themes. Null to return all themes. Defaults to null.
23
+ * - blog_id int (Multisite) The blog ID used to calculate which themes are allowed. Defaults to 0,
24
+ * synonymous for the current blog.
25
+ * @return Array of WP_Theme objects.
26
+ */
27
+ function wp_get_themes( $args = array() ) {
28
+ global $wp_theme_directories;
29
+
30
+ $defaults = array( 'errors' => false, 'allowed' => null, 'blog_id' => 0 );
31
+ $args = wp_parse_args( $args, $defaults );
32
+
33
+ $theme_directories = search_theme_directories();
34
+
35
+ if ( count( $wp_theme_directories ) > 1 ) {
36
+ // Make sure the current theme wins out, in case search_theme_directories() picks the wrong
37
+ // one in the case of a conflict. (Normally, last registered theme root wins.)
38
+ $current_theme = get_stylesheet();
39
+ if ( isset( $theme_directories[ $current_theme ] ) ) {
40
+ $root_of_current_theme = get_raw_theme_root( $current_theme );
41
+ if ( ! in_array( $root_of_current_theme, $wp_theme_directories ) )
42
+ $root_of_current_theme = WP_CONTENT_DIR . $root_of_current_theme;
43
+ $theme_directories[ $current_theme ]['theme_root'] = $root_of_current_theme;
44
+ }
45
+ }
46
+
47
+ if ( empty( $theme_directories ) )
48
+ return array();
49
+
50
+ if ( is_multisite() && null !== $args['allowed'] ) {
51
+ $allowed = $args['allowed'];
52
+ if ( 'network' === $allowed )
53
+ $theme_directories = array_intersect_key( $theme_directories, WP_Theme::get_allowed_on_network() );
54
+ elseif ( 'site' === $allowed )
55
+ $theme_directories = array_intersect_key( $theme_directories, WP_Theme::get_allowed_on_site( $args['blog_id'] ) );
56
+ elseif ( $allowed )
57
+ $theme_directories = array_intersect_key( $theme_directories, WP_Theme::get_allowed( $args['blog_id'] ) );
58
+ else
59
+ $theme_directories = array_diff_key( $theme_directories, WP_Theme::get_allowed( $args['blog_id'] ) );
60
+ }
61
+
62
+ $themes = array();
63
+ static $_themes = array();
64
+
65
+ foreach ( $theme_directories as $theme => $theme_root ) {
66
+ if ( isset( $_themes[ $theme_root['theme_root'] . '/' . $theme ] ) )
67
+ $themes[ $theme ] = $_themes[ $theme_root['theme_root'] . '/' . $theme ];
68
+ else
69
+ $themes[ $theme ] = $_themes[ $theme_root['theme_root'] . '/' . $theme ] = new WP_Theme( $theme, $theme_root['theme_root'] );
70
+ }
71
+
72
+ if ( null !== $args['errors'] ) {
73
+ foreach ( $themes as $theme => $wp_theme ) {
74
+ if ( $wp_theme->errors() != $args['errors'] )
75
+ unset( $themes[ $theme ] );
76
+ }
77
+ }
78
+
79
+ return $themes;
80
+ }
81
+
82
+ /**
83
+ * Gets a WP_Theme object for a theme.
84
+ *
85
+ * @since 3.4.0
86
+ *
87
+ * @param string $stylesheet Directory name for the theme. Optional. Defaults to current theme.
88
+ * @param string $theme_root Absolute path of the theme root to look in. Optional. If not specified, get_raw_theme_root()
89
+ * is used to calculate the theme root for the $stylesheet provided (or current theme).
90
+ * @return WP_Theme Theme object. Be sure to check the object's exists() method if you need to confirm the theme's existence.
91
+ */
92
+ function wp_get_theme( $stylesheet = null, $theme_root = null ) {
93
+ global $wp_theme_directories;
94
+
95
+ if ( empty( $stylesheet ) )
96
+ $stylesheet = get_stylesheet();
97
+
98
+ if ( empty( $theme_root ) ) {
99
+ $theme_root = get_raw_theme_root( $stylesheet );
100
+ if ( false === $theme_root )
101
+ $theme_root = WP_CONTENT_DIR . '/themes';
102
+ elseif ( ! in_array( $theme_root, (array) $wp_theme_directories ) )
103
+ $theme_root = WP_CONTENT_DIR . $theme_root;
104
+ }
105
+
106
+ return new WP_Theme( $stylesheet, $theme_root );
107
+ }
108
+
109
+ /**
110
+ * Clears the cache held by get_theme_roots() and WP_Theme.
111
+ *
112
+ * @since 3.5.0
113
+ * @param bool $clear_update_cache Whether to clear the Theme updates cache
114
+ */
115
+ function wp_clean_themes_cache( $clear_update_cache = true ) {
116
+ if ( $clear_update_cache )
117
+ delete_site_transient( 'update_themes' );
118
+ search_theme_directories( true );
119
+ foreach ( wp_get_themes( array( 'errors' => null ) ) as $theme )
120
+ $theme->cache_delete();
121
+ }
122
+
123
+ /**
124
+ * Whether a child theme is in use.
125
+ *
126
+ * @since 3.0.0
127
+ *
128
+ * @return bool true if a child theme is in use, false otherwise.
129
+ **/
130
+ function is_child_theme() {
131
+ return ( TEMPLATEPATH !== STYLESHEETPATH );
132
+ }
133
+
134
+ /**
135
+ * Retrieve name of the current stylesheet.
136
+ *
137
+ * The theme name that the administrator has currently set the front end theme
138
+ * as.
139
+ *
140
+ * For all intents and purposes, the template name and the stylesheet name are
141
+ * going to be the same for most cases.
142
+ *
143
+ * @since 1.5.0
144
+ *
145
+ * @return string Stylesheet name.
146
+ */
147
+ function get_stylesheet() {
148
+ /**
149
+ * Filter the name of current stylesheet.
150
+ *
151
+ * @since 1.5.0
152
+ *
153
+ * @param string $stylesheet Name of the current stylesheet.
154
+ */
155
+ return apply_filters( 'stylesheet', get_option( 'stylesheet' ) );
156
+ }
157
+
158
+ /**
159
+ * Retrieve stylesheet directory path for current theme.
160
+ *
161
+ * @since 1.5.0
162
+ *
163
+ * @return string Path to current theme directory.
164
+ */
165
+ function get_stylesheet_directory() {
166
+ $stylesheet = get_stylesheet();
167
+ $theme_root = get_theme_root( $stylesheet );
168
+ $stylesheet_dir = "$theme_root/$stylesheet";
169
+
170
+ /**
171
+ * Filter the stylesheet directory path for current theme.
172
+ *
173
+ * @since 1.5.0
174
+ *
175
+ * @param string $stylesheet_dir Absolute path to the current them.
176
+ * @param string $stylesheet Directory name of the current theme.
177
+ * @param string $theme_root Absolute path to themes directory.
178
+ */
179
+ return apply_filters( 'stylesheet_directory', $stylesheet_dir, $stylesheet, $theme_root );
180
+ }
181
+
182
+ /**
183
+ * Retrieve stylesheet directory URI.
184
+ *
185
+ * @since 1.5.0
186
+ *
187
+ * @return string
188
+ */
189
+ function get_stylesheet_directory_uri() {
190
+ $stylesheet = str_replace( '%2F', '/', rawurlencode( get_stylesheet() ) );
191
+ $theme_root_uri = get_theme_root_uri( $stylesheet );
192
+ $stylesheet_dir_uri = "$theme_root_uri/$stylesheet";
193
+
194
+ /**
195
+ * Filter the stylesheet directory URI.
196
+ *
197
+ * @since 1.5.0
198
+ *
199
+ * @param string $stylesheet_dir_uri Stylesheet directory URI.
200
+ * @param string $stylesheet Name of the activated theme's directory.
201
+ * @param string $theme_root_uri Themes root URI.
202
+ */
203
+ return apply_filters( 'stylesheet_directory_uri', $stylesheet_dir_uri, $stylesheet, $theme_root_uri );
204
+ }
205
+
206
+ /**
207
+ * Retrieve URI of current theme stylesheet.
208
+ *
209
+ * The stylesheet file name is 'style.css' which is appended to {@link
210
+ * get_stylesheet_directory_uri() stylesheet directory URI} path.
211
+ *
212
+ * @since 1.5.0
213
+ *
214
+ * @return string
215
+ */
216
+ function get_stylesheet_uri() {
217
+ $stylesheet_dir_uri = get_stylesheet_directory_uri();
218
+ $stylesheet_uri = $stylesheet_dir_uri . '/style.css';
219
+ /**
220
+ * Filter the URI of the current theme stylesheet.
221
+ *
222
+ * @since 1.5.0
223
+ *
224
+ * @param string $stylesheet_uri Stylesheet URI for the current theme/child theme.
225
+ * @param string $stylesheet_dir_uri Stylesheet directory URI for the current theme/child theme.
226
+ */
227
+ return apply_filters( 'stylesheet_uri', $stylesheet_uri, $stylesheet_dir_uri );
228
+ }
229
+
230
+ /**
231
+ * Retrieve localized stylesheet URI.
232
+ *
233
+ * The stylesheet directory for the localized stylesheet files are located, by
234
+ * default, in the base theme directory. The name of the locale file will be the
235
+ * locale followed by '.css'. If that does not exist, then the text direction
236
+ * stylesheet will be checked for existence, for example 'ltr.css'.
237
+ *
238
+ * The theme may change the location of the stylesheet directory by either using
239
+ * the 'stylesheet_directory_uri' filter or the 'locale_stylesheet_uri' filter.
240
+ * If you want to change the location of the stylesheet files for the entire
241
+ * WordPress workflow, then change the former. If you just have the locale in a
242
+ * separate folder, then change the latter.
243
+ *
244
+ * @since 2.1.0
245
+ *
246
+ * @return string
247
+ */
248
+ function get_locale_stylesheet_uri() {
249
+ global $wp_locale;
250
+ $stylesheet_dir_uri = get_stylesheet_directory_uri();
251
+ $dir = get_stylesheet_directory();
252
+ $locale = get_locale();
253
+ if ( file_exists("$dir/$locale.css") )
254
+ $stylesheet_uri = "$stylesheet_dir_uri/$locale.css";
255
+ elseif ( !empty($wp_locale->text_direction) && file_exists("$dir/{$wp_locale->text_direction}.css") )
256
+ $stylesheet_uri = "$stylesheet_dir_uri/{$wp_locale->text_direction}.css";
257
+ else
258
+ $stylesheet_uri = '';
259
+ /**
260
+ * Filter the localized stylesheet URI.
261
+ *
262
+ * @since 2.1.0
263
+ *
264
+ * @param string $stylesheet_uri Localized stylesheet URI.
265
+ * @param string $stylesheet_dir_uri Stylesheet directory URI.
266
+ */
267
+ return apply_filters( 'locale_stylesheet_uri', $stylesheet_uri, $stylesheet_dir_uri );
268
+ }
269
+
270
+ /**
271
+ * Retrieve name of the current theme.
272
+ *
273
+ * @since 1.5.0
274
+ * @uses apply_filters() Calls 'template' filter on template option.
275
+ *
276
+ * @return string Template name.
277
+ */
278
+ function get_template() {
279
+ /**
280
+ * Filter the name of the current theme.
281
+ *
282
+ * @since 1.5.0
283
+ *
284
+ * @param string $template Current theme's directory name.
285
+ */
286
+ return apply_filters( 'template', get_option( 'template' ) );
287
+ }
288
+
289
+ /**
290
+ * Retrieve current theme directory.
291
+ *
292
+ * @since 1.5.0
293
+ *
294
+ * @return string Template directory path.
295
+ */
296
+ function get_template_directory() {
297
+ $template = get_template();
298
+ $theme_root = get_theme_root( $template );
299
+ $template_dir = "$theme_root/$template";
300
+
301
+ /**
302
+ * Filter the current theme directory path.
303
+ *
304
+ * @since 1.5.0
305
+ *
306
+ * @param string $template_dir The URI of the current theme directory.
307
+ * @param string $template Directory name of the current theme.
308
+ * @param string $theme_root Absolute path to the themes directory.
309
+ */
310
+ return apply_filters( 'template_directory', $template_dir, $template, $theme_root );
311
+ }
312
+
313
+ /**
314
+ * Retrieve theme directory URI.
315
+ *
316
+ * @since 1.5.0
317
+ *
318
+ * @return string Template directory URI.
319
+ */
320
+ function get_template_directory_uri() {
321
+ $template = str_replace( '%2F', '/', rawurlencode( get_template() ) );
322
+ $theme_root_uri = get_theme_root_uri( $template );
323
+ $template_dir_uri = "$theme_root_uri/$template";
324
+
325
+ /**
326
+ * Filter the current theme directory URI.
327
+ *
328
+ * @since 1.5.0
329
+ *
330
+ * @param string $template_dir_uri The URI of the current theme directory.
331
+ * @param string $template Directory name of the current theme.
332
+ * @param string $theme_root_uri The themes root URI.
333
+ */
334
+ return apply_filters( 'template_directory_uri', $template_dir_uri, $template, $theme_root_uri );
335
+ }
336
+
337
+ /**
338
+ * Retrieve theme roots.
339
+ *
340
+ * @since 2.9.0
341
+ *
342
+ * @return array|string An array of theme roots keyed by template/stylesheet or a single theme root if all themes have the same root.
343
+ */
344
+ function get_theme_roots() {
345
+ global $wp_theme_directories;
346
+
347
+ if ( count($wp_theme_directories) <= 1 )
348
+ return '/themes';
349
+
350
+ $theme_roots = get_site_transient( 'theme_roots' );
351
+ if ( false === $theme_roots ) {
352
+ search_theme_directories( true ); // Regenerate the transient.
353
+ $theme_roots = get_site_transient( 'theme_roots' );
354
+ }
355
+ return $theme_roots;
356
+ }
357
+
358
+ /**
359
+ * Register a directory that contains themes.
360
+ *
361
+ * @since 2.9.0
362
+ *
363
+ * @param string $directory Either the full filesystem path to a theme folder or a folder within WP_CONTENT_DIR
364
+ * @return bool
365
+ */
366
+ function register_theme_directory( $directory ) {
367
+ global $wp_theme_directories;
368
+
369
+ if ( ! file_exists( $directory ) ) {
370
+ // Try prepending as the theme directory could be relative to the content directory
371
+ $directory = WP_CONTENT_DIR . '/' . $directory;
372
+ // If this directory does not exist, return and do not register
373
+ if ( ! file_exists( $directory ) ) {
374
+ return false;
375
+ }
376
+ }
377
+
378
+ if ( ! is_array( $wp_theme_directories ) ) {
379
+ $wp_theme_directories = array();
380
+ }
381
+
382
+ $untrailed = untrailingslashit( $directory );
383
+ if ( ! empty( $untrailed ) && ! in_array( $untrailed, $wp_theme_directories ) ) {
384
+ $wp_theme_directories[] = $untrailed;
385
+ }
386
+
387
+ return true;
388
+ }
389
+
390
+ /**
391
+ * Search all registered theme directories for complete and valid themes.
392
+ *
393
+ * @since 2.9.0
394
+ *
395
+ * @param bool $force Optional. Whether to force a new directory scan. Defaults to false.
396
+ * @return array Valid themes found
397
+ */
398
+ function search_theme_directories( $force = false ) {
399
+ global $wp_theme_directories;
400
+ if ( empty( $wp_theme_directories ) )
401
+ return false;
402
+
403
+ static $found_themes;
404
+ if ( ! $force && isset( $found_themes ) )
405
+ return $found_themes;
406
+
407
+ $found_themes = array();
408
+
409
+ $wp_theme_directories = (array) $wp_theme_directories;
410
+
411
+ // Set up maybe-relative, maybe-absolute array of theme directories.
412
+ // We always want to return absolute, but we need to cache relative
413
+ // to use in get_theme_root().
414
+ foreach ( $wp_theme_directories as $theme_root ) {
415
+ if ( 0 === strpos( $theme_root, WP_CONTENT_DIR ) )
416
+ $relative_theme_roots[ str_replace( WP_CONTENT_DIR, '', $theme_root ) ] = $theme_root;
417
+ else
418
+ $relative_theme_roots[ $theme_root ] = $theme_root;
419
+ }
420
+
421
+ /**
422
+ * Filter whether to get the cache of the registered theme directories.
423
+ *
424
+ * @since 3.4.0
425
+ *
426
+ * @param bool $cache_expiration Whether to get the cache of the theme directories. Default false.
427
+ * @param string $cache_directory Directory to be searched for the cache.
428
+ */
429
+ if ( $cache_expiration = apply_filters( 'wp_cache_themes_persistently', false, 'search_theme_directories' ) ) {
430
+ $cached_roots = get_site_transient( 'theme_roots' );
431
+ if ( is_array( $cached_roots ) ) {
432
+ foreach ( $cached_roots as $theme_dir => $theme_root ) {
433
+ // A cached theme root is no longer around, so skip it.
434
+ if ( ! isset( $relative_theme_roots[ $theme_root ] ) )
435
+ continue;
436
+ $found_themes[ $theme_dir ] = array(
437
+ 'theme_file' => $theme_dir . '/style.css',
438
+ 'theme_root' => $relative_theme_roots[ $theme_root ], // Convert relative to absolute.
439
+ );
440
+ }
441
+ return $found_themes;
442
+ }
443
+ if ( ! is_int( $cache_expiration ) )
444
+ $cache_expiration = 1800; // half hour
445
+ } else {
446
+ $cache_expiration = 1800; // half hour
447
+ }
448
+
449
+ /* Loop the registered theme directories and extract all themes */
450
+ foreach ( $wp_theme_directories as $theme_root ) {
451
+
452
+ // Start with directories in the root of the current theme directory.
453
+ $dirs = @ scandir( $theme_root );
454
+ if ( ! $dirs ) {
455
+ trigger_error( "$theme_root is not readable", E_USER_NOTICE );
456
+ continue;
457
+ }
458
+ foreach ( $dirs as $dir ) {
459
+ if ( ! is_dir( $theme_root . '/' . $dir ) || $dir[0] == '.' || $dir == 'CVS' )
460
+ continue;
461
+ if ( file_exists( $theme_root . '/' . $dir . '/style.css' ) ) {
462
+ // wp-content/themes/a-single-theme
463
+ // wp-content/themes is $theme_root, a-single-theme is $dir
464
+ $found_themes[ $dir ] = array(
465
+ 'theme_file' => $dir . '/style.css',
466
+ 'theme_root' => $theme_root,
467
+ );
468
+ } else {
469
+ $found_theme = false;
470
+ // wp-content/themes/a-folder-of-themes/*
471
+ // wp-content/themes is $theme_root, a-folder-of-themes is $dir, then themes are $sub_dirs
472
+ $sub_dirs = @ scandir( $theme_root . '/' . $dir );
473
+ if ( ! $sub_dirs ) {
474
+ trigger_error( "$theme_root/$dir is not readable", E_USER_NOTICE );
475
+ continue;
476
+ }
477
+ foreach ( $sub_dirs as $sub_dir ) {
478
+ if ( ! is_dir( $theme_root . '/' . $dir . '/' . $sub_dir ) || $dir[0] == '.' || $dir == 'CVS' )
479
+ continue;
480
+ if ( ! file_exists( $theme_root . '/' . $dir . '/' . $sub_dir . '/style.css' ) )
481
+ continue;
482
+ $found_themes[ $dir . '/' . $sub_dir ] = array(
483
+ 'theme_file' => $dir . '/' . $sub_dir . '/style.css',
484
+ 'theme_root' => $theme_root,
485
+ );
486
+ $found_theme = true;
487
+ }
488
+ // Never mind the above, it's just a theme missing a style.css.
489
+ // Return it; WP_Theme will catch the error.
490
+ if ( ! $found_theme )
491
+ $found_themes[ $dir ] = array(
492
+ 'theme_file' => $dir . '/style.css',
493
+ 'theme_root' => $theme_root,
494
+ );
495
+ }
496
+ }
497
+ }
498
+
499
+ asort( $found_themes );
500
+
501
+ $theme_roots = array();
502
+ $relative_theme_roots = array_flip( $relative_theme_roots );
503
+
504
+ foreach ( $found_themes as $theme_dir => $theme_data ) {
505
+ $theme_roots[ $theme_dir ] = $relative_theme_roots[ $theme_data['theme_root'] ]; // Convert absolute to relative.
506
+ }
507
+
508
+ if ( $theme_roots != get_site_transient( 'theme_roots' ) )
509
+ set_site_transient( 'theme_roots', $theme_roots, $cache_expiration );
510
+
511
+ return $found_themes;
512
+ }
513
+
514
+ /**
515
+ * Retrieve path to themes directory.
516
+ *
517
+ * Does not have trailing slash.
518
+ *
519
+ * @since 1.5.0
520
+ *
521
+ * @param string $stylesheet_or_template The stylesheet or template name of the theme
522
+ * @return string Theme path.
523
+ */
524
+ function get_theme_root( $stylesheet_or_template = false ) {
525
+ global $wp_theme_directories;
526
+
527
+ if ( $stylesheet_or_template && $theme_root = get_raw_theme_root( $stylesheet_or_template ) ) {
528
+ // Always prepend WP_CONTENT_DIR unless the root currently registered as a theme directory.
529
+ // This gives relative theme roots the benefit of the doubt when things go haywire.
530
+ if ( ! in_array( $theme_root, (array) $wp_theme_directories ) )
531
+ $theme_root = WP_CONTENT_DIR . $theme_root;
532
+ } else {
533
+ $theme_root = WP_CONTENT_DIR . '/themes';
534
+ }
535
+
536
+ /**
537
+ * Filter the absolute path to the themes directory.
538
+ *
539
+ * @since 1.5.0
540
+ *
541
+ * @param string $theme_root Absolute path to themes directory.
542
+ */
543
+ return apply_filters( 'theme_root', $theme_root );
544
+ }
545
+
546
+ /**
547
+ * Retrieve URI for themes directory.
548
+ *
549
+ * Does not have trailing slash.
550
+ *
551
+ * @since 1.5.0
552
+ *
553
+ * @param string $stylesheet_or_template Optional. The stylesheet or template name of the theme.
554
+ * Default is to leverage the main theme root.
555
+ * @param string $theme_root Optional. The theme root for which calculations will be based, preventing
556
+ * the need for a get_raw_theme_root() call.
557
+ * @return string Themes URI.
558
+ */
559
+ function get_theme_root_uri( $stylesheet_or_template = false, $theme_root = false ) {
560
+ global $wp_theme_directories;
561
+
562
+ if ( $stylesheet_or_template && ! $theme_root )
563
+ $theme_root = get_raw_theme_root( $stylesheet_or_template );
564
+
565
+ if ( $stylesheet_or_template && $theme_root ) {
566
+ if ( in_array( $theme_root, (array) $wp_theme_directories ) ) {
567
+ // Absolute path. Make an educated guess. YMMV -- but note the filter below.
568
+ if ( 0 === strpos( $theme_root, WP_CONTENT_DIR ) )
569
+ $theme_root_uri = content_url( str_replace( WP_CONTENT_DIR, '', $theme_root ) );
570
+ elseif ( 0 === strpos( $theme_root, ABSPATH ) )
571
+ $theme_root_uri = site_url( str_replace( ABSPATH, '', $theme_root ) );
572
+ elseif ( 0 === strpos( $theme_root, WP_PLUGIN_DIR ) || 0 === strpos( $theme_root, WPMU_PLUGIN_DIR ) )
573
+ $theme_root_uri = plugins_url( basename( $theme_root ), $theme_root );
574
+ else
575
+ $theme_root_uri = $theme_root;
576
+ } else {
577
+ $theme_root_uri = content_url( $theme_root );
578
+ }
579
+ } else {
580
+ $theme_root_uri = content_url( 'themes' );
581
+ }
582
+
583
+ /**
584
+ * Filter the URI for themes directory.
585
+ *
586
+ * @since 1.5.0
587
+ *
588
+ * @param string $theme_root_uri The URI for themes directory.
589
+ * @param string $siteurl WordPress web address which is set in General Options.
590
+ * @param string $stylesheet_or_template Stylesheet or template name of the theme.
591
+ */
592
+ return apply_filters( 'theme_root_uri', $theme_root_uri, get_option( 'siteurl' ), $stylesheet_or_template );
593
+ }
594
+
595
+ /**
596
+ * Get the raw theme root relative to the content directory with no filters applied.
597
+ *
598
+ * @since 3.1.0
599
+ *
600
+ * @param string $stylesheet_or_template The stylesheet or template name of the theme
601
+ * @param bool $skip_cache Optional. Whether to skip the cache. Defaults to false, meaning the cache is used.
602
+ * @return string Theme root
603
+ */
604
+ function get_raw_theme_root( $stylesheet_or_template, $skip_cache = false ) {
605
+ global $wp_theme_directories;
606
+
607
+ if ( count($wp_theme_directories) <= 1 )
608
+ return '/themes';
609
+
610
+ $theme_root = false;
611
+
612
+ // If requesting the root for the current theme, consult options to avoid calling get_theme_roots()
613
+ if ( ! $skip_cache ) {
614
+ if ( get_option('stylesheet') == $stylesheet_or_template )
615
+ $theme_root = get_option('stylesheet_root');
616
+ elseif ( get_option('template') == $stylesheet_or_template )
617
+ $theme_root = get_option('template_root');
618
+ }
619
+
620
+ if ( empty($theme_root) ) {
621
+ $theme_roots = get_theme_roots();
622
+ if ( !empty($theme_roots[$stylesheet_or_template]) )
623
+ $theme_root = $theme_roots[$stylesheet_or_template];
624
+ }
625
+
626
+ return $theme_root;
627
+ }
628
+
629
+ /**
630
+ * Display localized stylesheet link element.
631
+ *
632
+ * @since 2.1.0
633
+ */
634
+ function locale_stylesheet() {
635
+ $stylesheet = get_locale_stylesheet_uri();
636
+ if ( empty($stylesheet) )
637
+ return;
638
+ echo '<link rel="stylesheet" href="' . $stylesheet . '" type="text/css" media="screen" />';
639
+ }
640
+
641
+ /**
642
+ * Start preview theme output buffer.
643
+ *
644
+ * Will only perform task if the user has permissions and template and preview
645
+ * query variables exist.
646
+ *
647
+ * @since 2.6.0
648
+ */
649
+ function preview_theme() {
650
+ if ( ! (isset($_GET['template']) && isset($_GET['preview'])) )
651
+ return;
652
+
653
+ if ( !current_user_can( 'switch_themes' ) )
654
+ return;
655
+
656
+ // Admin Thickbox requests
657
+ if ( isset( $_GET['preview_iframe'] ) )
658
+ show_admin_bar( false );
659
+
660
+ $_GET['template'] = preg_replace('|[^a-z0-9_./-]|i', '', $_GET['template']);
661
+
662
+ if ( validate_file($_GET['template']) )
663
+ return;
664
+
665
+ add_filter( 'template', '_preview_theme_template_filter' );
666
+
667
+ if ( isset($_GET['stylesheet']) ) {
668
+ $_GET['stylesheet'] = preg_replace('|[^a-z0-9_./-]|i', '', $_GET['stylesheet']);
669
+ if ( validate_file($_GET['stylesheet']) )
670
+ return;
671
+ add_filter( 'stylesheet', '_preview_theme_stylesheet_filter' );
672
+ }
673
+
674
+ // Prevent theme mods to current theme being used on theme being previewed
675
+ add_filter( 'pre_option_theme_mods_' . get_option( 'stylesheet' ), '__return_empty_array' );
676
+
677
+ ob_start( 'preview_theme_ob_filter' );
678
+ }
679
+ add_action('setup_theme', 'preview_theme');
680
+
681
+ /**
682
+ * Private function to modify the current template when previewing a theme
683
+ *
684
+ * @since 2.9.0
685
+ * @access private
686
+ *
687
+ * @return string
688
+ */
689
+ function _preview_theme_template_filter() {
690
+ return isset($_GET['template']) ? $_GET['template'] : '';
691
+ }
692
+
693
+ /**
694
+ * Private function to modify the current stylesheet when previewing a theme
695
+ *
696
+ * @since 2.9.0
697
+ * @access private
698
+ *
699
+ * @return string
700
+ */
701
+ function _preview_theme_stylesheet_filter() {
702
+ return isset($_GET['stylesheet']) ? $_GET['stylesheet'] : '';
703
+ }
704
+
705
+ /**
706
+ * Callback function for ob_start() to capture all links in the theme.
707
+ *
708
+ * @since 2.6.0
709
+ * @access private
710
+ *
711
+ * @param string $content
712
+ * @return string
713
+ */
714
+ function preview_theme_ob_filter( $content ) {
715
+ return preg_replace_callback( "|(<a.*?href=([\"']))(.*?)([\"'].*?>)|", 'preview_theme_ob_filter_callback', $content );
716
+ }
717
+
718
+ /**
719
+ * Manipulates preview theme links in order to control and maintain location.
720
+ *
721
+ * Callback function for preg_replace_callback() to accept and filter matches.
722
+ *
723
+ * @since 2.6.0
724
+ * @access private
725
+ *
726
+ * @param array $matches
727
+ * @return string
728
+ */
729
+ function preview_theme_ob_filter_callback( $matches ) {
730
+ if ( strpos($matches[4], 'onclick') !== false )
731
+ $matches[4] = preg_replace('#onclick=([\'"]).*?(?<!\\\)\\1#i', '', $matches[4]); //Strip out any onclicks from rest of <a>. (?<!\\\) means to ignore the '" if it's escaped by \ to prevent breaking mid-attribute.
732
+ if (
733
+ ( false !== strpos($matches[3], '/wp-admin/') )
734
+ ||
735
+ ( false !== strpos( $matches[3], '://' ) && 0 !== strpos( $matches[3], home_url() ) )
736
+ ||
737
+ ( false !== strpos($matches[3], '/feed/') )
738
+ ||
739
+ ( false !== strpos($matches[3], '/trackback/') )
740
+ )
741
+ return $matches[1] . "#$matches[2] onclick=$matches[2]return false;" . $matches[4];
742
+
743
+ $stylesheet = isset( $_GET['stylesheet'] ) ? $_GET['stylesheet'] : '';
744
+ $template = isset( $_GET['template'] ) ? $_GET['template'] : '';
745
+
746
+ $link = add_query_arg( array( 'preview' => 1, 'template' => $template, 'stylesheet' => $stylesheet, 'preview_iframe' => 1 ), $matches[3] );
747
+ if ( 0 === strpos($link, 'preview=1') )
748
+ $link = "?$link";
749
+ return $matches[1] . esc_attr( $link ) . $matches[4];
750
+ }
751
+
752
+ /**
753
+ * Switches the theme.
754
+ *
755
+ * Accepts one argument: $stylesheet of the theme. It also accepts an additional function signature
756
+ * of two arguments: $template then $stylesheet. This is for backwards compatibility.
757
+ *
758
+ * @since 2.5.0
759
+ *
760
+ * @param string $stylesheet Stylesheet name
761
+ */
762
+ function switch_theme( $stylesheet ) {
763
+ global $wp_theme_directories, $wp_customize, $sidebars_widgets;
764
+
765
+ $_sidebars_widgets = null;
766
+ if ( 'wp_ajax_customize_save' === current_action() ) {
767
+ $_sidebars_widgets = $wp_customize->post_value( $wp_customize->get_setting( 'old_sidebars_widgets_data' ) );
768
+ } elseif ( is_array( $sidebars_widgets ) ) {
769
+ $_sidebars_widgets = $sidebars_widgets;
770
+ }
771
+
772
+ if ( is_array( $_sidebars_widgets ) ) {
773
+ set_theme_mod( 'sidebars_widgets', array( 'time' => time(), 'data' => $_sidebars_widgets ) );
774
+ }
775
+
776
+ $old_theme = wp_get_theme();
777
+ $new_theme = wp_get_theme( $stylesheet );
778
+
779
+ if ( func_num_args() > 1 ) {
780
+ $template = $stylesheet;
781
+ $stylesheet = func_get_arg( 1 );
782
+ } else {
783
+ $template = $new_theme->get_template();
784
+ }
785
+
786
+ update_option( 'template', $template );
787
+ update_option( 'stylesheet', $stylesheet );
788
+
789
+ if ( count( $wp_theme_directories ) > 1 ) {
790
+ update_option( 'template_root', get_raw_theme_root( $template, true ) );
791
+ update_option( 'stylesheet_root', get_raw_theme_root( $stylesheet, true ) );
792
+ } else {
793
+ delete_option( 'template_root' );
794
+ delete_option( 'stylesheet_root' );
795
+ }
796
+
797
+ $new_name = $new_theme->get('Name');
798
+
799
+ update_option( 'current_theme', $new_name );
800
+
801
+ // Migrate from the old mods_{name} option to theme_mods_{slug}.
802
+ if ( is_admin() && false === get_option( 'theme_mods_' . $stylesheet ) ) {
803
+ $default_theme_mods = (array) get_option( 'mods_' . $new_name );
804
+ add_option( "theme_mods_$stylesheet", $default_theme_mods );
805
+ } else {
806
+ /*
807
+ * Since retrieve_widgets() is called when initializing the customizer theme,
808
+ * we need to to remove the theme mods to avoid overwriting changes made via
809
+ * the widget customizer when accessing wp-admin/widgets.php.
810
+ */
811
+ if ( 'wp_ajax_customize_save' === current_action() ) {
812
+ remove_theme_mod( 'sidebars_widgets' );
813
+ }
814
+ }
815
+
816
+ update_option( 'theme_switched', $old_theme->get_stylesheet() );
817
+ /**
818
+ * Fires after the theme is switched.
819
+ *
820
+ * @since 1.5.0
821
+ *
822
+ * @param string $new_name Name of the new theme.
823
+ * @param WP_Theme $new_theme WP_Theme instance of the new theme.
824
+ */
825
+ do_action( 'switch_theme', $new_name, $new_theme );
826
+ }
827
+
828
+ /**
829
+ * Checks that current theme files 'index.php' and 'style.css' exists.
830
+ *
831
+ * Does not check the default theme, which is the fallback and should always exist.
832
+ * Will switch theme to the fallback theme if current theme does not validate.
833
+ * You can use the 'validate_current_theme' filter to return false to
834
+ * disable this functionality.
835
+ *
836
+ * @since 1.5.0
837
+ * @see WP_DEFAULT_THEME
838
+ *
839
+ * @return bool
840
+ */
841
+ function validate_current_theme() {
842
+ /**
843
+ * Filter whether to validate the current theme.
844
+ *
845
+ * @since 2.7.0
846
+ *
847
+ * @param bool true Validation flag to check the current theme.
848
+ */
849
+ if ( defined('WP_INSTALLING') || ! apply_filters( 'validate_current_theme', true ) )
850
+ return true;
851
+
852
+ if ( get_template() != WP_DEFAULT_THEME && !file_exists(get_template_directory() . '/index.php') ) {
853
+ switch_theme( WP_DEFAULT_THEME );
854
+ return false;
855
+ }
856
+
857
+ if ( get_stylesheet() != WP_DEFAULT_THEME && !file_exists(get_template_directory() . '/style.css') ) {
858
+ switch_theme( WP_DEFAULT_THEME );
859
+ return false;
860
+ }
861
+
862
+ if ( is_child_theme() && ! file_exists( get_stylesheet_directory() . '/style.css' ) ) {
863
+ switch_theme( WP_DEFAULT_THEME );
864
+ return false;
865
+ }
866
+
867
+ return true;
868
+ }
869
+
870
+ /**
871
+ * Retrieve all theme modifications.
872
+ *
873
+ * @since 3.1.0
874
+ *
875
+ * @return array Theme modifications.
876
+ */
877
+ function get_theme_mods() {
878
+ $theme_slug = get_option( 'stylesheet' );
879
+ if ( false === ( $mods = get_option( "theme_mods_$theme_slug" ) ) ) {
880
+ $theme_name = get_option( 'current_theme' );
881
+ if ( false === $theme_name )
882
+ $theme_name = wp_get_theme()->get('Name');
883
+ $mods = get_option( "mods_$theme_name" ); // Deprecated location.
884
+ if ( is_admin() && false !== $mods ) {
885
+ update_option( "theme_mods_$theme_slug", $mods );
886
+ delete_option( "mods_$theme_name" );
887
+ }
888
+ }
889
+ return $mods;
890
+ }
891
+
892
+ /**
893
+ * Retrieve theme modification value for the current theme.
894
+ *
895
+ * If the modification name does not exist, then the $default will be passed
896
+ * through {@link http://php.net/sprintf sprintf()} PHP function with the first
897
+ * string the template directory URI and the second string the stylesheet
898
+ * directory URI.
899
+ *
900
+ * @since 2.1.0
901
+ *
902
+ * @param string $name Theme modification name.
903
+ * @param bool|string $default
904
+ * @return string
905
+ */
906
+ function get_theme_mod( $name, $default = false ) {
907
+ $mods = get_theme_mods();
908
+
909
+ if ( isset( $mods[$name] ) ) {
910
+ /**
911
+ * Filter the theme modification, or 'theme_mod', value.
912
+ *
913
+ * The dynamic portion of the hook name, $name, refers to
914
+ * the key name of the modification array. For example,
915
+ * 'header_textcolor', 'header_image', and so on depending
916
+ * on the theme options.
917
+ *
918
+ * @since 2.2.0
919
+ *
920
+ * @param string $current_mod The value of the current theme modification.
921
+ */
922
+ return apply_filters( "theme_mod_{$name}", $mods[$name] );
923
+ }
924
+
925
+ if ( is_string( $default ) )
926
+ $default = sprintf( $default, get_template_directory_uri(), get_stylesheet_directory_uri() );
927
+
928
+ /** This filter is documented in wp-includes/theme.php */
929
+ return apply_filters( "theme_mod_{$name}", $default );
930
+ }
931
+
932
+ /**
933
+ * Update theme modification value for the current theme.
934
+ *
935
+ * @since 2.1.0
936
+ *
937
+ * @param string $name Theme modification name.
938
+ * @param string $value theme modification value.
939
+ */
940
+ function set_theme_mod( $name, $value ) {
941
+ $mods = get_theme_mods();
942
+ $old_value = isset( $mods[ $name ] ) ? $mods[ $name ] : false;
943
+
944
+ /**
945
+ * Filter the theme mod value on save.
946
+ *
947
+ * The dynamic portion of the hook name, $name, refers to the key name of
948
+ * the modification array. For example, 'header_textcolor', 'header_image',
949
+ * and so on depending on the theme options.
950
+ *
951
+ * @since 3.9.0
952
+ *
953
+ * @param string $value The new value of the theme mod.
954
+ * @param string $old_value The current value of the theme mod.
955
+ */
956
+ $mods[ $name ] = apply_filters( "pre_set_theme_mod_$name", $value, $old_value );
957
+
958
+ $theme = get_option( 'stylesheet' );
959
+ update_option( "theme_mods_$theme", $mods );
960
+ }
961
+
962
+ /**
963
+ * Remove theme modification name from current theme list.
964
+ *
965
+ * If removing the name also removes all elements, then the entire option will
966
+ * be removed.
967
+ *
968
+ * @since 2.1.0
969
+ *
970
+ * @param string $name Theme modification name.
971
+ * @return null
972
+ */
973
+ function remove_theme_mod( $name ) {
974
+ $mods = get_theme_mods();
975
+
976
+ if ( ! isset( $mods[ $name ] ) )
977
+ return;
978
+
979
+ unset( $mods[ $name ] );
980
+
981
+ if ( empty( $mods ) )
982
+ return remove_theme_mods();
983
+
984
+ $theme = get_option( 'stylesheet' );
985
+ update_option( "theme_mods_$theme", $mods );
986
+ }
987
+
988
+ /**
989
+ * Remove theme modifications option for current theme.
990
+ *
991
+ * @since 2.1.0
992
+ */
993
+ function remove_theme_mods() {
994
+ delete_option( 'theme_mods_' . get_option( 'stylesheet' ) );
995
+
996
+ // Old style.
997
+ $theme_name = get_option( 'current_theme' );
998
+ if ( false === $theme_name )
999
+ $theme_name = wp_get_theme()->get('Name');
1000
+ delete_option( 'mods_' . $theme_name );
1001
+ }
1002
+
1003
+ /**
1004
+ * Retrieve text color for custom header.
1005
+ *
1006
+ * @since 2.1.0
1007
+ *
1008
+ * @return string
1009
+ */
1010
+ function get_header_textcolor() {
1011
+ return get_theme_mod('header_textcolor', get_theme_support( 'custom-header', 'default-text-color' ) );
1012
+ }
1013
+
1014
+ /**
1015
+ * Display text color for custom header.
1016
+ *
1017
+ * @since 2.1.0
1018
+ */
1019
+ function header_textcolor() {
1020
+ echo get_header_textcolor();
1021
+ }
1022
+
1023
+ /**
1024
+ * Whether to display the header text.
1025
+ *
1026
+ * @since 3.4.0
1027
+ *
1028
+ * @return bool
1029
+ */
1030
+ function display_header_text() {
1031
+ if ( ! current_theme_supports( 'custom-header', 'header-text' ) )
1032
+ return false;
1033
+
1034
+ $text_color = get_theme_mod( 'header_textcolor', get_theme_support( 'custom-header', 'default-text-color' ) );
1035
+ return 'blank' != $text_color;
1036
+ }
1037
+
1038
+ /**
1039
+ * Retrieve header image for custom header.
1040
+ *
1041
+ * @since 2.1.0
1042
+ *
1043
+ * @return string
1044
+ */
1045
+ function get_header_image() {
1046
+ $url = get_theme_mod( 'header_image', get_theme_support( 'custom-header', 'default-image' ) );
1047
+
1048
+ if ( 'remove-header' == $url )
1049
+ return false;
1050
+
1051
+ if ( is_random_header_image() )
1052
+ $url = get_random_header_image();
1053
+
1054
+ return esc_url_raw( set_url_scheme( $url ) );
1055
+ }
1056
+
1057
+ /**
1058
+ * Get random header image data from registered images in theme.
1059
+ *
1060
+ * @since 3.4.0
1061
+ *
1062
+ * @access private
1063
+ *
1064
+ * @return string Path to header image
1065
+ */
1066
+
1067
+ function _get_random_header_data() {
1068
+ static $_wp_random_header;
1069
+
1070
+ if ( empty( $_wp_random_header ) ) {
1071
+ global $_wp_default_headers;
1072
+ $header_image_mod = get_theme_mod( 'header_image', '' );
1073
+ $headers = array();
1074
+
1075
+ if ( 'random-uploaded-image' == $header_image_mod )
1076
+ $headers = get_uploaded_header_images();
1077
+ elseif ( ! empty( $_wp_default_headers ) ) {
1078
+ if ( 'random-default-image' == $header_image_mod ) {
1079
+ $headers = $_wp_default_headers;
1080
+ } else {
1081
+ if ( current_theme_supports( 'custom-header', 'random-default' ) )
1082
+ $headers = $_wp_default_headers;
1083
+ }
1084
+ }
1085
+
1086
+ if ( empty( $headers ) )
1087
+ return new stdClass;
1088
+
1089
+ $_wp_random_header = (object) $headers[ array_rand( $headers ) ];
1090
+
1091
+ $_wp_random_header->url = sprintf( $_wp_random_header->url, get_template_directory_uri(), get_stylesheet_directory_uri() );
1092
+ $_wp_random_header->thumbnail_url = sprintf( $_wp_random_header->thumbnail_url, get_template_directory_uri(), get_stylesheet_directory_uri() );
1093
+ }
1094
+ return $_wp_random_header;
1095
+ }
1096
+
1097
+ /**
1098
+ * Get random header image url from registered images in theme.
1099
+ *
1100
+ * @since 3.2.0
1101
+ *
1102
+ * @return string Path to header image
1103
+ */
1104
+
1105
+ function get_random_header_image() {
1106
+ $random_image = _get_random_header_data();
1107
+ if ( empty( $random_image->url ) )
1108
+ return '';
1109
+ return $random_image->url;
1110
+ }
1111
+
1112
+ /**
1113
+ * Check if random header image is in use.
1114
+ *
1115
+ * Always true if user expressly chooses the option in Appearance > Header.
1116
+ * Also true if theme has multiple header images registered, no specific header image
1117
+ * is chosen, and theme turns on random headers with add_theme_support().
1118
+ *
1119
+ * @since 3.2.0
1120
+ *
1121
+ * @param string $type The random pool to use. any|default|uploaded
1122
+ * @return boolean
1123
+ */
1124
+ function is_random_header_image( $type = 'any' ) {
1125
+ $header_image_mod = get_theme_mod( 'header_image', get_theme_support( 'custom-header', 'default-image' ) );
1126
+
1127
+ if ( 'any' == $type ) {
1128
+ if ( 'random-default-image' == $header_image_mod || 'random-uploaded-image' == $header_image_mod || ( '' != get_random_header_image() && empty( $header_image_mod ) ) )
1129
+ return true;
1130
+ } else {
1131
+ if ( "random-$type-image" == $header_image_mod )
1132
+ return true;
1133
+ elseif ( 'default' == $type && empty( $header_image_mod ) && '' != get_random_header_image() )
1134
+ return true;
1135
+ }
1136
+
1137
+ return false;
1138
+ }
1139
+
1140
+ /**
1141
+ * Display header image URL.
1142
+ *
1143
+ * @since 2.1.0
1144
+ */
1145
+ function header_image() {
1146
+ echo esc_url( get_header_image() );
1147
+ }
1148
+
1149
+ /**
1150
+ * Get the header images uploaded for the current theme.
1151
+ *
1152
+ * @since 3.2.0
1153
+ *
1154
+ * @return array
1155
+ */
1156
+ function get_uploaded_header_images() {
1157
+ $header_images = array();
1158
+
1159
+ // @todo caching
1160
+ $headers = get_posts( array( 'post_type' => 'attachment', 'meta_key' => '_wp_attachment_is_custom_header', 'meta_value' => get_option('stylesheet'), 'orderby' => 'none', 'nopaging' => true ) );
1161
+
1162
+ if ( empty( $headers ) )
1163
+ return array();
1164
+
1165
+ foreach ( (array) $headers as $header ) {
1166
+ $url = esc_url_raw( wp_get_attachment_url( $header->ID ) );
1167
+ $header_data = wp_get_attachment_metadata( $header->ID );
1168
+ $header_index = basename($url);
1169
+ $header_images[$header_index] = array();
1170
+ $header_images[$header_index]['attachment_id'] = $header->ID;
1171
+ $header_images[$header_index]['url'] = $url;
1172
+ $header_images[$header_index]['thumbnail_url'] = $url;
1173
+ if ( isset( $header_data['width'] ) )
1174
+ $header_images[$header_index]['width'] = $header_data['width'];
1175
+ if ( isset( $header_data['height'] ) )
1176
+ $header_images[$header_index]['height'] = $header_data['height'];
1177
+ }
1178
+
1179
+ return $header_images;
1180
+ }
1181
+
1182
+ /**
1183
+ * Get the header image data.
1184
+ *
1185
+ * @since 3.4.0
1186
+ *
1187
+ * @return object
1188
+ */
1189
+ function get_custom_header() {
1190
+ global $_wp_default_headers;
1191
+
1192
+ if ( is_random_header_image() ) {
1193
+ $data = _get_random_header_data();
1194
+ } else {
1195
+ $data = get_theme_mod( 'header_image_data' );
1196
+ if ( ! $data && current_theme_supports( 'custom-header', 'default-image' ) ) {
1197
+ $directory_args = array( get_template_directory_uri(), get_stylesheet_directory_uri() );
1198
+ $data = array();
1199
+ $data['url'] = $data['thumbnail_url'] = vsprintf( get_theme_support( 'custom-header', 'default-image' ), $directory_args );
1200
+ if ( ! empty( $_wp_default_headers ) ) {
1201
+ foreach ( (array) $_wp_default_headers as $default_header ) {
1202
+ $url = vsprintf( $default_header['url'], $directory_args );
1203
+ if ( $data['url'] == $url ) {
1204
+ $data = $default_header;
1205
+ $data['url'] = $url;
1206
+ $data['thumbnail_url'] = vsprintf( $data['thumbnail_url'], $directory_args );
1207
+ break;
1208
+ }
1209
+ }
1210
+ }
1211
+ }
1212
+ }
1213
+
1214
+ $default = array(
1215
+ 'url' => '',
1216
+ 'thumbnail_url' => '',
1217
+ 'width' => get_theme_support( 'custom-header', 'width' ),
1218
+ 'height' => get_theme_support( 'custom-header', 'height' ),
1219
+ );
1220
+ return (object) wp_parse_args( $data, $default );
1221
+ }
1222
+
1223
+ /**
1224
+ * Register a selection of default headers to be displayed by the custom header admin UI.
1225
+ *
1226
+ * @since 3.0.0
1227
+ *
1228
+ * @param array $headers Array of headers keyed by a string id. The ids point to arrays containing 'url', 'thumbnail_url', and 'description' keys.
1229
+ */
1230
+ function register_default_headers( $headers ) {
1231
+ global $_wp_default_headers;
1232
+
1233
+ $_wp_default_headers = array_merge( (array) $_wp_default_headers, (array) $headers );
1234
+ }
1235
+
1236
+ /**
1237
+ * Unregister default headers.
1238
+ *
1239
+ * This function must be called after register_default_headers() has already added the
1240
+ * header you want to remove.
1241
+ *
1242
+ * @see register_default_headers()
1243
+ * @since 3.0.0
1244
+ *
1245
+ * @param string|array $header The header string id (key of array) to remove, or an array thereof.
1246
+ * @return bool|void A single header returns true on success, false on failure.
1247
+ * There is currently no return value for multiple headers.
1248
+ */
1249
+ function unregister_default_headers( $header ) {
1250
+ global $_wp_default_headers;
1251
+ if ( is_array( $header ) ) {
1252
+ array_map( 'unregister_default_headers', $header );
1253
+ } elseif ( isset( $_wp_default_headers[ $header ] ) ) {
1254
+ unset( $_wp_default_headers[ $header ] );
1255
+ return true;
1256
+ } else {
1257
+ return false;
1258
+ }
1259
+ }
1260
+
1261
+ /**
1262
+ * Retrieve background image for custom background.
1263
+ *
1264
+ * @since 3.0.0
1265
+ *
1266
+ * @return string
1267
+ */
1268
+ function get_background_image() {
1269
+ return get_theme_mod('background_image', get_theme_support( 'custom-background', 'default-image' ) );
1270
+ }
1271
+
1272
+ /**
1273
+ * Display background image path.
1274
+ *
1275
+ * @since 3.0.0
1276
+ */
1277
+ function background_image() {
1278
+ echo get_background_image();
1279
+ }
1280
+
1281
+ /**
1282
+ * Retrieve value for custom background color.
1283
+ *
1284
+ * @since 3.0.0
1285
+ *
1286
+ * @return string
1287
+ */
1288
+ function get_background_color() {
1289
+ return get_theme_mod('background_color', get_theme_support( 'custom-background', 'default-color' ) );
1290
+ }
1291
+
1292
+ /**
1293
+ * Display background color value.
1294
+ *
1295
+ * @since 3.0.0
1296
+ */
1297
+ function background_color() {
1298
+ echo get_background_color();
1299
+ }
1300
+
1301
+ /**
1302
+ * Default custom background callback.
1303
+ *
1304
+ * @since 3.0.0
1305
+ * @access protected
1306
+ */
1307
+ function _custom_background_cb() {
1308
+ // $background is the saved custom image, or the default image.
1309
+ $background = set_url_scheme( get_background_image() );
1310
+
1311
+ // $color is the saved custom color.
1312
+ // A default has to be specified in style.css. It will not be printed here.
1313
+ $color = get_background_color();
1314
+
1315
+ if ( $color === get_theme_support( 'custom-background', 'default-color' ) ) {
1316
+ $color = false;
1317
+ }
1318
+
1319
+ if ( ! $background && ! $color )
1320
+ return;
1321
+
1322
+ $style = $color ? "background-color: #$color;" : '';
1323
+
1324
+ if ( $background ) {
1325
+ $image = " background-image: url('$background');";
1326
+
1327
+ $repeat = get_theme_mod( 'background_repeat', get_theme_support( 'custom-background', 'default-repeat' ) );
1328
+ if ( ! in_array( $repeat, array( 'no-repeat', 'repeat-x', 'repeat-y', 'repeat' ) ) )
1329
+ $repeat = 'repeat';
1330
+ $repeat = " background-repeat: $repeat;";
1331
+
1332
+ $position = get_theme_mod( 'background_position_x', get_theme_support( 'custom-background', 'default-position-x' ) );
1333
+ if ( ! in_array( $position, array( 'center', 'right', 'left' ) ) )
1334
+ $position = 'left';
1335
+ $position = " background-position: top $position;";
1336
+
1337
+ $attachment = get_theme_mod( 'background_attachment', get_theme_support( 'custom-background', 'default-attachment' ) );
1338
+ if ( ! in_array( $attachment, array( 'fixed', 'scroll' ) ) )
1339
+ $attachment = 'scroll';
1340
+ $attachment = " background-attachment: $attachment;";
1341
+
1342
+ $style .= $image . $repeat . $position . $attachment;
1343
+ }
1344
+ ?>
1345
+ <style type="text/css" id="custom-background-css">
1346
+ body.custom-background { <?php echo trim( $style ); ?> }
1347
+ </style>
1348
+ <?php
1349
+ }
1350
+
1351
+ /**
1352
+ * Add callback for custom TinyMCE editor stylesheets.
1353
+ *
1354
+ * The parameter $stylesheet is the name of the stylesheet, relative to
1355
+ * the theme root. It also accepts an array of stylesheets.
1356
+ * It is optional and defaults to 'editor-style.css'.
1357
+ *
1358
+ * This function automatically adds another stylesheet with -rtl prefix, e.g. editor-style-rtl.css.
1359
+ * If that file doesn't exist, it is removed before adding the stylesheet(s) to TinyMCE.
1360
+ * If an array of stylesheets is passed to add_editor_style(),
1361
+ * RTL is only added for the first stylesheet.
1362
+ *
1363
+ * Since version 3.4 the TinyMCE body has .rtl CSS class.
1364
+ * It is a better option to use that class and add any RTL styles to the main stylesheet.
1365
+ *
1366
+ * @since 3.0.0
1367
+ *
1368
+ * @param mixed $stylesheet Optional. Stylesheet name or array thereof, relative to theme root.
1369
+ * Defaults to 'editor-style.css'
1370
+ */
1371
+ function add_editor_style( $stylesheet = 'editor-style.css' ) {
1372
+
1373
+ add_theme_support( 'editor-style' );
1374
+
1375
+ if ( ! is_admin() )
1376
+ return;
1377
+
1378
+ global $editor_styles;
1379
+ $editor_styles = (array) $editor_styles;
1380
+ $stylesheet = (array) $stylesheet;
1381
+ if ( is_rtl() ) {
1382
+ $rtl_stylesheet = str_replace('.css', '-rtl.css', $stylesheet[0]);
1383
+ $stylesheet[] = $rtl_stylesheet;
1384
+ }
1385
+
1386
+ $editor_styles = array_merge( $editor_styles, $stylesheet );
1387
+ }
1388
+
1389
+ /**
1390
+ * Removes all visual editor stylesheets.
1391
+ *
1392
+ * @since 3.1.0
1393
+ *
1394
+ * @return bool True on success, false if there were no stylesheets to remove.
1395
+ */
1396
+ function remove_editor_styles() {
1397
+ if ( ! current_theme_supports( 'editor-style' ) )
1398
+ return false;
1399
+ _remove_theme_support( 'editor-style' );
1400
+ if ( is_admin() )
1401
+ $GLOBALS['editor_styles'] = array();
1402
+ return true;
1403
+ }
1404
+
1405
+ /**
1406
+ * Retrieve any registered editor stylesheets
1407
+ *
1408
+ * @since 4.0.0
1409
+ *
1410
+ * @global $editor_styles Registered editor stylesheets
1411
+ *
1412
+ * @return array If registered, a list of editor stylesheet URLs.
1413
+ */
1414
+ function get_editor_stylesheets() {
1415
+ $stylesheets = array();
1416
+ // load editor_style.css if the current theme supports it
1417
+ if ( ! empty( $GLOBALS['editor_styles'] ) && is_array( $GLOBALS['editor_styles'] ) ) {
1418
+ $editor_styles = $GLOBALS['editor_styles'];
1419
+
1420
+ $editor_styles = array_unique( array_filter( $editor_styles ) );
1421
+ $style_uri = get_stylesheet_directory_uri();
1422
+ $style_dir = get_stylesheet_directory();
1423
+
1424
+ // Support externally referenced styles (like, say, fonts).
1425
+ foreach ( $editor_styles as $key => $file ) {
1426
+ if ( preg_match( '~^(https?:)?//~', $file ) ) {
1427
+ $stylesheets[] = esc_url_raw( $file );
1428
+ unset( $editor_styles[ $key ] );
1429
+ }
1430
+ }
1431
+
1432
+ // Look in a parent theme first, that way child theme CSS overrides.
1433
+ if ( is_child_theme() ) {
1434
+ $template_uri = get_template_directory_uri();
1435
+ $template_dir = get_template_directory();
1436
+
1437
+ foreach ( $editor_styles as $key => $file ) {
1438
+ if ( $file && file_exists( "$template_dir/$file" ) ) {
1439
+ $stylesheets[] = "$template_uri/$file";
1440
+ }
1441
+ }
1442
+ }
1443
+
1444
+ foreach ( $editor_styles as $file ) {
1445
+ if ( $file && file_exists( "$style_dir/$file" ) ) {
1446
+ $stylesheets[] = "$style_uri/$file";
1447
+ }
1448
+ }
1449
+ }
1450
+ return $stylesheets;
1451
+ }
1452
+
1453
+ /**
1454
+ * Allows a theme to register its support of a certain feature
1455
+ *
1456
+ * Must be called in the theme's functions.php file to work.
1457
+ * If attached to a hook, it must be after_setup_theme.
1458
+ * The init hook may be too late for some features.
1459
+ *
1460
+ * @since 2.9.0
1461
+ *
1462
+ * @param string $feature The feature being added.
1463
+ * @return void|bool False on failure, void otherwise.
1464
+ */
1465
+ function add_theme_support( $feature ) {
1466
+ global $_wp_theme_features;
1467
+
1468
+ if ( func_num_args() == 1 )
1469
+ $args = true;
1470
+ else
1471
+ $args = array_slice( func_get_args(), 1 );
1472
+
1473
+ switch ( $feature ) {
1474
+ case 'post-formats' :
1475
+ if ( is_array( $args[0] ) )
1476
+ $args[0] = array_intersect( $args[0], array_keys( get_post_format_slugs() ) );
1477
+ break;
1478
+
1479
+ case 'html5' :
1480
+ // You can't just pass 'html5', you need to pass an array of types.
1481
+ if ( empty( $args[0] ) ) {
1482
+ // Build an array of types for back-compat.
1483
+ $args = array( 0 => array( 'comment-list', 'comment-form', 'search-form' ) );
1484
+ } elseif ( ! is_array( $args[0] ) ) {
1485
+ _doing_it_wrong( "add_theme_support( 'html5' )", __( 'You need to pass an array of types.' ), '3.6.1' );
1486
+ return false;
1487
+ }
1488
+
1489
+ // Calling 'html5' again merges, rather than overwrites.
1490
+ if ( isset( $_wp_theme_features['html5'] ) )
1491
+ $args[0] = array_merge( $_wp_theme_features['html5'][0], $args[0] );
1492
+ break;
1493
+
1494
+ case 'custom-header-uploads' :
1495
+ return add_theme_support( 'custom-header', array( 'uploads' => true ) );
1496
+
1497
+ case 'custom-header' :
1498
+ if ( ! is_array( $args ) )
1499
+ $args = array( 0 => array() );
1500
+
1501
+ $defaults = array(
1502
+ 'default-image' => '',
1503
+ 'random-default' => false,
1504
+ 'width' => 0,
1505
+ 'height' => 0,
1506
+ 'flex-height' => false,
1507
+ 'flex-width' => false,
1508
+ 'default-text-color' => '',
1509
+ 'header-text' => true,
1510
+ 'uploads' => true,
1511
+ 'wp-head-callback' => '',
1512
+ 'admin-head-callback' => '',
1513
+ 'admin-preview-callback' => '',
1514
+ );
1515
+
1516
+ $jit = isset( $args[0]['__jit'] );
1517
+ unset( $args[0]['__jit'] );
1518
+
1519
+ // Merge in data from previous add_theme_support() calls.
1520
+ // The first value registered wins. (A child theme is set up first.)
1521
+ if ( isset( $_wp_theme_features['custom-header'] ) )
1522
+ $args[0] = wp_parse_args( $_wp_theme_features['custom-header'][0], $args[0] );
1523
+
1524
+ // Load in the defaults at the end, as we need to insure first one wins.
1525
+ // This will cause all constants to be defined, as each arg will then be set to the default.
1526
+ if ( $jit )
1527
+ $args[0] = wp_parse_args( $args[0], $defaults );
1528
+
1529
+ // If a constant was defined, use that value. Otherwise, define the constant to ensure
1530
+ // the constant is always accurate (and is not defined later, overriding our value).
1531
+ // As stated above, the first value wins.
1532
+ // Once we get to wp_loaded (just-in-time), define any constants we haven't already.
1533
+ // Constants are lame. Don't reference them. This is just for backwards compatibility.
1534
+
1535
+ if ( defined( 'NO_HEADER_TEXT' ) )
1536
+ $args[0]['header-text'] = ! NO_HEADER_TEXT;
1537
+ elseif ( isset( $args[0]['header-text'] ) )
1538
+ define( 'NO_HEADER_TEXT', empty( $args[0]['header-text'] ) );
1539
+
1540
+ if ( defined( 'HEADER_IMAGE_WIDTH' ) )
1541
+ $args[0]['width'] = (int) HEADER_IMAGE_WIDTH;
1542
+ elseif ( isset( $args[0]['width'] ) )
1543
+ define( 'HEADER_IMAGE_WIDTH', (int) $args[0]['width'] );
1544
+
1545
+ if ( defined( 'HEADER_IMAGE_HEIGHT' ) )
1546
+ $args[0]['height'] = (int) HEADER_IMAGE_HEIGHT;
1547
+ elseif ( isset( $args[0]['height'] ) )
1548
+ define( 'HEADER_IMAGE_HEIGHT', (int) $args[0]['height'] );
1549
+
1550
+ if ( defined( 'HEADER_TEXTCOLOR' ) )
1551
+ $args[0]['default-text-color'] = HEADER_TEXTCOLOR;
1552
+ elseif ( isset( $args[0]['default-text-color'] ) )
1553
+ define( 'HEADER_TEXTCOLOR', $args[0]['default-text-color'] );
1554
+
1555
+ if ( defined( 'HEADER_IMAGE' ) )
1556
+ $args[0]['default-image'] = HEADER_IMAGE;
1557
+ elseif ( isset( $args[0]['default-image'] ) )
1558
+ define( 'HEADER_IMAGE', $args[0]['default-image'] );
1559
+
1560
+ if ( $jit && ! empty( $args[0]['default-image'] ) )
1561
+ $args[0]['random-default'] = false;
1562
+
1563
+ // If headers are supported, and we still don't have a defined width or height,
1564
+ // we have implicit flex sizes.
1565
+ if ( $jit ) {
1566
+ if ( empty( $args[0]['width'] ) && empty( $args[0]['flex-width'] ) )
1567
+ $args[0]['flex-width'] = true;
1568
+ if ( empty( $args[0]['height'] ) && empty( $args[0]['flex-height'] ) )
1569
+ $args[0]['flex-height'] = true;
1570
+ }
1571
+
1572
+ break;
1573
+
1574
+ case 'custom-background' :
1575
+ if ( ! is_array( $args ) )
1576
+ $args = array( 0 => array() );
1577
+
1578
+ $defaults = array(
1579
+ 'default-image' => '',
1580
+ 'default-repeat' => 'repeat',
1581
+ 'default-position-x' => 'left',
1582
+ 'default-attachment' => 'scroll',
1583
+ 'default-color' => '',
1584
+ 'wp-head-callback' => '_custom_background_cb',
1585
+ 'admin-head-callback' => '',
1586
+ 'admin-preview-callback' => '',
1587
+ );
1588
+
1589
+ $jit = isset( $args[0]['__jit'] );
1590
+ unset( $args[0]['__jit'] );
1591
+
1592
+ // Merge in data from previous add_theme_support() calls. The first value registered wins.
1593
+ if ( isset( $_wp_theme_features['custom-background'] ) )
1594
+ $args[0] = wp_parse_args( $_wp_theme_features['custom-background'][0], $args[0] );
1595
+
1596
+ if ( $jit )
1597
+ $args[0] = wp_parse_args( $args[0], $defaults );
1598
+
1599
+ if ( defined( 'BACKGROUND_COLOR' ) )
1600
+ $args[0]['default-color'] = BACKGROUND_COLOR;
1601
+ elseif ( isset( $args[0]['default-color'] ) || $jit )
1602
+ define( 'BACKGROUND_COLOR', $args[0]['default-color'] );
1603
+
1604
+ if ( defined( 'BACKGROUND_IMAGE' ) )
1605
+ $args[0]['default-image'] = BACKGROUND_IMAGE;
1606
+ elseif ( isset( $args[0]['default-image'] ) || $jit )
1607
+ define( 'BACKGROUND_IMAGE', $args[0]['default-image'] );
1608
+
1609
+ break;
1610
+ }
1611
+
1612
+ $_wp_theme_features[ $feature ] = $args;
1613
+ }
1614
+
1615
+ /**
1616
+ * Registers the internal custom header and background routines.
1617
+ *
1618
+ * @since 3.4.0
1619
+ * @access private
1620
+ */
1621
+ function _custom_header_background_just_in_time() {
1622
+ global $custom_image_header, $custom_background;
1623
+
1624
+ if ( current_theme_supports( 'custom-header' ) ) {
1625
+ // In case any constants were defined after an add_custom_image_header() call, re-run.
1626
+ add_theme_support( 'custom-header', array( '__jit' => true ) );
1627
+
1628
+ $args = get_theme_support( 'custom-header' );
1629
+ if ( $args[0]['wp-head-callback'] )
1630
+ add_action( 'wp_head', $args[0]['wp-head-callback'] );
1631
+
1632
+ if ( is_admin() ) {
1633
+ require_once( ABSPATH . 'wp-admin/custom-header.php' );
1634
+ $custom_image_header = new Custom_Image_Header( $args[0]['admin-head-callback'], $args[0]['admin-preview-callback'] );
1635
+ }
1636
+ }
1637
+
1638
+ if ( current_theme_supports( 'custom-background' ) ) {
1639
+ // In case any constants were defined after an add_custom_background() call, re-run.
1640
+ add_theme_support( 'custom-background', array( '__jit' => true ) );
1641
+
1642
+ $args = get_theme_support( 'custom-background' );
1643
+ add_action( 'wp_head', $args[0]['wp-head-callback'] );
1644
+
1645
+ if ( is_admin() ) {
1646
+ require_once( ABSPATH . 'wp-admin/custom-background.php' );
1647
+ $custom_background = new Custom_Background( $args[0]['admin-head-callback'], $args[0]['admin-preview-callback'] );
1648
+ }
1649
+ }
1650
+ }
1651
+ add_action( 'wp_loaded', '_custom_header_background_just_in_time' );
1652
+
1653
+ /**
1654
+ * Gets the theme support arguments passed when registering that support
1655
+ *
1656
+ * @since 3.1.0
1657
+ *
1658
+ * @param string $feature the feature to check
1659
+ * @return array The array of extra arguments
1660
+ */
1661
+ function get_theme_support( $feature ) {
1662
+ global $_wp_theme_features;
1663
+ if ( ! isset( $_wp_theme_features[ $feature ] ) )
1664
+ return false;
1665
+
1666
+ if ( func_num_args() <= 1 )
1667
+ return $_wp_theme_features[ $feature ];
1668
+
1669
+ $args = array_slice( func_get_args(), 1 );
1670
+ switch ( $feature ) {
1671
+ case 'custom-header' :
1672
+ case 'custom-background' :
1673
+ if ( isset( $_wp_theme_features[ $feature ][0][ $args[0] ] ) )
1674
+ return $_wp_theme_features[ $feature ][0][ $args[0] ];
1675
+ return false;
1676
+
1677
+ default :
1678
+ return $_wp_theme_features[ $feature ];
1679
+ }
1680
+ }
1681
+
1682
+ /**
1683
+ * Allows a theme to de-register its support of a certain feature
1684
+ *
1685
+ * Should be called in the theme's functions.php file. Generally would
1686
+ * be used for child themes to override support from the parent theme.
1687
+ *
1688
+ * @since 3.0.0
1689
+ * @see add_theme_support()
1690
+ * @param string $feature the feature being added
1691
+ * @return bool Whether feature was removed.
1692
+ */
1693
+ function remove_theme_support( $feature ) {
1694
+ // Blacklist: for internal registrations not used directly by themes.
1695
+ if ( in_array( $feature, array( 'editor-style', 'widgets', 'menus' ) ) )
1696
+ return false;
1697
+
1698
+ return _remove_theme_support( $feature );
1699
+ }
1700
+
1701
+ /**
1702
+ * Do not use. Removes theme support internally, ignorant of the blacklist.
1703
+ *
1704
+ * @access private
1705
+ * @since 3.1.0
1706
+ */
1707
+ function _remove_theme_support( $feature ) {
1708
+ global $_wp_theme_features;
1709
+
1710
+ switch ( $feature ) {
1711
+ case 'custom-header-uploads' :
1712
+ if ( ! isset( $_wp_theme_features['custom-header'] ) )
1713
+ return false;
1714
+ add_theme_support( 'custom-header', array( 'uploads' => false ) );
1715
+ return; // Do not continue - custom-header-uploads no longer exists.
1716
+ }
1717
+
1718
+ if ( ! isset( $_wp_theme_features[ $feature ] ) )
1719
+ return false;
1720
+
1721
+ switch ( $feature ) {
1722
+ case 'custom-header' :
1723
+ if ( ! did_action( 'wp_loaded' ) )
1724
+ break;
1725
+ $support = get_theme_support( 'custom-header' );
1726
+ if ( $support[0]['wp-head-callback'] )
1727
+ remove_action( 'wp_head', $support[0]['wp-head-callback'] );
1728
+ remove_action( 'admin_menu', array( $GLOBALS['custom_image_header'], 'init' ) );
1729
+ unset( $GLOBALS['custom_image_header'] );
1730
+ break;
1731
+
1732
+ case 'custom-background' :
1733
+ if ( ! did_action( 'wp_loaded' ) )
1734
+ break;
1735
+ $support = get_theme_support( 'custom-background' );
1736
+ remove_action( 'wp_head', $support[0]['wp-head-callback'] );
1737
+ remove_action( 'admin_menu', array( $GLOBALS['custom_background'], 'init' ) );
1738
+ unset( $GLOBALS['custom_background'] );
1739
+ break;
1740
+ }
1741
+
1742
+ unset( $_wp_theme_features[ $feature ] );
1743
+ return true;
1744
+ }
1745
+
1746
+ /**
1747
+ * Checks a theme's support for a given feature
1748
+ *
1749
+ * @since 2.9.0
1750
+ * @param string $feature the feature being checked
1751
+ * @return boolean
1752
+ */
1753
+ function current_theme_supports( $feature ) {
1754
+ global $_wp_theme_features;
1755
+
1756
+ if ( 'custom-header-uploads' == $feature )
1757
+ return current_theme_supports( 'custom-header', 'uploads' );
1758
+
1759
+ if ( !isset( $_wp_theme_features[$feature] ) )
1760
+ return false;
1761
+
1762
+ // If no args passed then no extra checks need be performed
1763
+ if ( func_num_args() <= 1 )
1764
+ return true;
1765
+
1766
+ $args = array_slice( func_get_args(), 1 );
1767
+
1768
+ switch ( $feature ) {
1769
+ case 'post-thumbnails':
1770
+ // post-thumbnails can be registered for only certain content/post types by passing
1771
+ // an array of types to add_theme_support(). If no array was passed, then
1772
+ // any type is accepted
1773
+ if ( true === $_wp_theme_features[$feature] ) // Registered for all types
1774
+ return true;
1775
+ $content_type = $args[0];
1776
+ return in_array( $content_type, $_wp_theme_features[$feature][0] );
1777
+
1778
+ case 'html5':
1779
+ case 'post-formats':
1780
+ // specific post formats can be registered by passing an array of types to
1781
+ // add_theme_support()
1782
+
1783
+ // Specific areas of HTML5 support *must* be passed via an array to add_theme_support()
1784
+
1785
+ $type = $args[0];
1786
+ return in_array( $type, $_wp_theme_features[$feature][0] );
1787
+
1788
+ case 'custom-header':
1789
+ case 'custom-background' :
1790
+ // specific custom header and background capabilities can be registered by passing
1791
+ // an array to add_theme_support()
1792
+ $header_support = $args[0];
1793
+ return ( isset( $_wp_theme_features[$feature][0][$header_support] ) && $_wp_theme_features[$feature][0][$header_support] );
1794
+ }
1795
+
1796
+ /**
1797
+ * Filter whether the current theme supports a specific feature.
1798
+ *
1799
+ * The dynamic portion of the hook name, $feature, refers to
1800
+ * the specific theme feature. Possible values include 'post-formats',
1801
+ * 'post-thumbnails', 'custom-background', 'custom-header', 'menus',
1802
+ * 'automatic-feed-links', and 'html5'.
1803
+ *
1804
+ * @since 3.4.0
1805
+ *
1806
+ * @param bool true Whether the current theme supports the given feature. Default true.
1807
+ * @param array $args Array of arguments for the feature.
1808
+ * @param string $feature The theme feature.
1809
+ */
1810
+ return apply_filters( "current_theme_supports-{$feature}", true, $args, $_wp_theme_features[$feature] );
1811
+ }
1812
+
1813
+ /**
1814
+ * Checks a theme's support for a given feature before loading the functions which implement it.
1815
+ *
1816
+ * @since 2.9.0
1817
+ *
1818
+ * @param string $feature The feature being checked.
1819
+ * @param string $include Path to the file.
1820
+ * @return bool True if the current theme supports the supplied feature, false otherwise.
1821
+ */
1822
+ function require_if_theme_supports( $feature, $include ) {
1823
+ if ( current_theme_supports( $feature ) ) {
1824
+ require ( $include );
1825
+ return true;
1826
+ }
1827
+ return false;
1828
+ }
1829
+
1830
+ /**
1831
+ * Checks an attachment being deleted to see if it's a header or background image.
1832
+ *
1833
+ * If true it removes the theme modification which would be pointing at the deleted
1834
+ * attachment
1835
+ *
1836
+ * @access private
1837
+ * @since 3.0.0
1838
+ * @param int $id the attachment id
1839
+ */
1840
+ function _delete_attachment_theme_mod( $id ) {
1841
+ $attachment_image = wp_get_attachment_url( $id );
1842
+ $header_image = get_header_image();
1843
+ $background_image = get_background_image();
1844
+
1845
+ if ( $header_image && $header_image == $attachment_image )
1846
+ remove_theme_mod( 'header_image' );
1847
+
1848
+ if ( $background_image && $background_image == $attachment_image )
1849
+ remove_theme_mod( 'background_image' );
1850
+ }
1851
+
1852
+ add_action( 'delete_attachment', '_delete_attachment_theme_mod' );
1853
+
1854
+ /**
1855
+ * Checks if a theme has been changed and runs 'after_switch_theme' hook on the next WP load
1856
+ *
1857
+ * @since 3.3.0
1858
+ */
1859
+ function check_theme_switched() {
1860
+ if ( $stylesheet = get_option( 'theme_switched' ) ) {
1861
+ $old_theme = wp_get_theme( $stylesheet );
1862
+
1863
+ // Prevent retrieve_widgets() from running since Customizer already called it up front
1864
+ if ( get_option( 'theme_switched_via_customizer' ) ) {
1865
+ remove_action( 'after_switch_theme', '_wp_sidebars_changed' );
1866
+ update_option( 'theme_switched_via_customizer', false );
1867
+ }
1868
+
1869
+ if ( $old_theme->exists() ) {
1870
+ /**
1871
+ * Fires on the first WP load after a theme switch if the old theme still exists.
1872
+ *
1873
+ * This action fires multiple times and the parameters differs
1874
+ * according to the context, if the old theme exists or not.
1875
+ * If the old theme is missing, the parameter will be the slug
1876
+ * of the old theme.
1877
+ *
1878
+ * @since 3.3.0
1879
+ *
1880
+ * @param string $old_name Old theme name.
1881
+ * @param WP_Theme $old_theme WP_Theme instance of the old theme.
1882
+ */
1883
+ do_action( 'after_switch_theme', $old_theme->get( 'Name' ), $old_theme );
1884
+ } else {
1885
+ /** This action is documented in wp-includes/theme.php */
1886
+ do_action( 'after_switch_theme', $stylesheet );
1887
+ }
1888
+
1889
+ update_option( 'theme_switched', false );
1890
+ }
1891
+ }
1892
+
1893
+ /**
1894
+ * Includes and instantiates the WP_Customize_Manager class.
1895
+ *
1896
+ * Fires when ?wp_customize=on or on wp-admin/customize.php.
1897
+ *
1898
+ * @since 3.4.0
1899
+ */
1900
+ function _wp_customize_include() {
1901
+ if ( ! ( ( isset( $_REQUEST['wp_customize'] ) && 'on' == $_REQUEST['wp_customize'] )
1902
+ || ( is_admin() && 'customize.php' == basename( $_SERVER['PHP_SELF'] ) )
1903
+ ) )
1904
+ return;
1905
+
1906
+ require( ABSPATH . WPINC . '/class-wp-customize-manager.php' );
1907
+ // Init Customize class
1908
+ $GLOBALS['wp_customize'] = new WP_Customize_Manager;
1909
+ }
1910
+ add_action( 'plugins_loaded', '_wp_customize_include' );
1911
+
1912
+ /**
1913
+ * Adds settings for the customize-loader script.
1914
+ *
1915
+ * @since 3.4.0
1916
+ */
1917
+ function _wp_customize_loader_settings() {
1918
+ global $wp_scripts;
1919
+
1920
+ $admin_origin = parse_url( admin_url() );
1921
+ $home_origin = parse_url( home_url() );
1922
+ $cross_domain = ( strtolower( $admin_origin[ 'host' ] ) != strtolower( $home_origin[ 'host' ] ) );
1923
+
1924
+ $browser = array(
1925
+ 'mobile' => wp_is_mobile(),
1926
+ 'ios' => wp_is_mobile() && preg_match( '/iPad|iPod|iPhone/', $_SERVER['HTTP_USER_AGENT'] ),
1927
+ );
1928
+
1929
+ $settings = array(
1930
+ 'url' => esc_url( admin_url( 'customize.php' ) ),
1931
+ 'isCrossDomain' => $cross_domain,
1932
+ 'browser' => $browser,
1933
+ 'l10n' => array(
1934
+ 'saveAlert' => __( 'The changes you made will be lost if you navigate away from this page.' ),
1935
+ ),
1936
+ );
1937
+
1938
+ $script = 'var _wpCustomizeLoaderSettings = ' . json_encode( $settings ) . ';';
1939
+
1940
+ $data = $wp_scripts->get_data( 'customize-loader', 'data' );
1941
+ if ( $data )
1942
+ $script = "$data\n$script";
1943
+
1944
+ $wp_scripts->add_data( 'customize-loader', 'data', $script );
1945
+ }
1946
+ add_action( 'admin_enqueue_scripts', '_wp_customize_loader_settings' );
1947
+
1948
+ /**
1949
+ * Returns a URL to load the theme customizer.
1950
+ *
1951
+ * @since 3.4.0
1952
+ *
1953
+ * @param string $stylesheet Optional. Theme to customize. Defaults to current theme.
1954
+ * The theme's stylesheet will be urlencoded if necessary.
1955
+ */
1956
+ function wp_customize_url( $stylesheet = null ) {
1957
+ $url = admin_url( 'customize.php' );
1958
+ if ( $stylesheet )
1959
+ $url .= '?theme=' . urlencode( $stylesheet );
1960
+ return esc_url( $url );
1961
+ }
1962
+
1963
+ /**
1964
+ * Prints a script to check whether or not the customizer is supported,
1965
+ * and apply either the no-customize-support or customize-support class
1966
+ * to the body.
1967
+ *
1968
+ * This function MUST be called inside the body tag.
1969
+ *
1970
+ * Ideally, call this function immediately after the body tag is opened.
1971
+ * This prevents a flash of unstyled content.
1972
+ *
1973
+ * It is also recommended that you add the "no-customize-support" class
1974
+ * to the body tag by default.
1975
+ *
1976
+ * @since 3.4.0
1977
+ */
1978
+ function wp_customize_support_script() {
1979
+ $admin_origin = parse_url( admin_url() );
1980
+ $home_origin = parse_url( home_url() );
1981
+ $cross_domain = ( strtolower( $admin_origin[ 'host' ] ) != strtolower( $home_origin[ 'host' ] ) );
1982
+
1983
+ ?>
1984
+ <script type="text/javascript">
1985
+ (function() {
1986
+ var request, b = document.body, c = 'className', cs = 'customize-support', rcs = new RegExp('(^|\\s+)(no-)?'+cs+'(\\s+|$)');
1987
+
1988
+ <?php if ( $cross_domain ): ?>
1989
+ request = (function(){ var xhr = new XMLHttpRequest(); return ('withCredentials' in xhr); })();
1990
+ <?php else: ?>
1991
+ request = true;
1992
+ <?php endif; ?>
1993
+
1994
+ b[c] = b[c].replace( rcs, ' ' );
1995
+ b[c] += ( window.postMessage && request ? ' ' : ' no-' ) + cs;
1996
+ }());
1997
+ </script>
1998
+ <?php
1999
+ }
2000
+
2001
+ /**
2002
+ * Whether the site is being previewed in the Customizer.
2003
+ *
2004
+ * @since 4.0.0
2005
+ *
2006
+ * @global WP_Customize_Manager $wp_customize Customizer instance.
2007
+ *
2008
+ * @return bool True if the site is being previewed in the Customizer, false otherwise.
2009
+ */
2010
+ function is_customize_preview() {
2011
+ global $wp_customize;
2012
+
2013
+ return is_a( $wp_customize, 'WP_Customize_Manager' ) && $wp_customize->is_preview();
2014
+ }