stump-cli 0.1.3 → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1243) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +1 -0
  3. data/README.md +9 -5
  4. data/bin/stump-cli +77 -27
  5. data/lib/{wp/.gitignore → .gitignore.erb} +2 -2
  6. data/lib/stump-cli/version.rb +1 -1
  7. data/lib/style.erb +11 -0
  8. data/stump-cli.gemspec +2 -0
  9. metadata +56 -1268
  10. data/lib/wp/Movefile-example +0 -62
  11. data/lib/wp/README.md +0 -25
  12. data/lib/wp/index.php +0 -17
  13. data/lib/wp/license.txt +0 -385
  14. data/lib/wp/readme.html +0 -96
  15. data/lib/wp/wp-activate.php +0 -131
  16. data/lib/wp/wp-admin/about.php +0 -193
  17. data/lib/wp/wp-admin/admin-ajax.php +0 -98
  18. data/lib/wp/wp-admin/admin-footer.php +0 -99
  19. data/lib/wp/wp-admin/admin-functions.php +0 -15
  20. data/lib/wp/wp-admin/admin-header.php +0 -243
  21. data/lib/wp/wp-admin/admin-post.php +0 -71
  22. data/lib/wp/wp-admin/admin.php +0 -347
  23. data/lib/wp/wp-admin/async-upload.php +0 -114
  24. data/lib/wp/wp-admin/comment.php +0 -299
  25. data/lib/wp/wp-admin/credits.php +0 -192
  26. data/lib/wp/wp-admin/css/about-rtl.css +0 -446
  27. data/lib/wp/wp-admin/css/about.css +0 -446
  28. data/lib/wp/wp-admin/css/admin-menu-rtl.css +0 -917
  29. data/lib/wp/wp-admin/css/admin-menu.css +0 -917
  30. data/lib/wp/wp-admin/css/color-picker-rtl.css +0 -127
  31. data/lib/wp/wp-admin/css/color-picker-rtl.min.css +0 -1
  32. data/lib/wp/wp-admin/css/color-picker.css +0 -127
  33. data/lib/wp/wp-admin/css/color-picker.min.css +0 -1
  34. data/lib/wp/wp-admin/css/colors/_admin.scss +0 -525
  35. data/lib/wp/wp-admin/css/colors/_mixins.scss +0 -43
  36. data/lib/wp/wp-admin/css/colors/_variables.scss +0 -58
  37. data/lib/wp/wp-admin/css/colors/blue/colors-rtl.css +0 -341
  38. data/lib/wp/wp-admin/css/colors/blue/colors-rtl.min.css +0 -1
  39. data/lib/wp/wp-admin/css/colors/blue/colors.css +0 -341
  40. data/lib/wp/wp-admin/css/colors/blue/colors.min.css +0 -1
  41. data/lib/wp/wp-admin/css/colors/blue/colors.scss +0 -11
  42. data/lib/wp/wp-admin/css/colors/coffee/colors-rtl.css +0 -341
  43. data/lib/wp/wp-admin/css/colors/coffee/colors-rtl.min.css +0 -1
  44. data/lib/wp/wp-admin/css/colors/coffee/colors.css +0 -341
  45. data/lib/wp/wp-admin/css/colors/coffee/colors.min.css +0 -1
  46. data/lib/wp/wp-admin/css/colors/coffee/colors.scss +0 -7
  47. data/lib/wp/wp-admin/css/colors/ectoplasm/colors-rtl.css +0 -341
  48. data/lib/wp/wp-admin/css/colors/ectoplasm/colors-rtl.min.css +0 -1
  49. data/lib/wp/wp-admin/css/colors/ectoplasm/colors.css +0 -341
  50. data/lib/wp/wp-admin/css/colors/ectoplasm/colors.min.css +0 -1
  51. data/lib/wp/wp-admin/css/colors/ectoplasm/colors.scss +0 -8
  52. data/lib/wp/wp-admin/css/colors/light/colors-rtl.css +0 -349
  53. data/lib/wp/wp-admin/css/colors/light/colors-rtl.min.css +0 -1
  54. data/lib/wp/wp-admin/css/colors/light/colors.css +0 -349
  55. data/lib/wp/wp-admin/css/colors/light/colors.min.css +0 -1
  56. data/lib/wp/wp-admin/css/colors/light/colors.scss +0 -38
  57. data/lib/wp/wp-admin/css/colors/midnight/colors-rtl.css +0 -341
  58. data/lib/wp/wp-admin/css/colors/midnight/colors-rtl.min.css +0 -1
  59. data/lib/wp/wp-admin/css/colors/midnight/colors.css +0 -341
  60. data/lib/wp/wp-admin/css/colors/midnight/colors.min.css +0 -1
  61. data/lib/wp/wp-admin/css/colors/midnight/colors.scss +0 -5
  62. data/lib/wp/wp-admin/css/colors/ocean/colors-rtl.css +0 -341
  63. data/lib/wp/wp-admin/css/colors/ocean/colors-rtl.min.css +0 -1
  64. data/lib/wp/wp-admin/css/colors/ocean/colors.css +0 -341
  65. data/lib/wp/wp-admin/css/colors/ocean/colors.min.css +0 -1
  66. data/lib/wp/wp-admin/css/colors/ocean/colors.scss +0 -8
  67. data/lib/wp/wp-admin/css/colors/sunrise/colors-rtl.css +0 -341
  68. data/lib/wp/wp-admin/css/colors/sunrise/colors-rtl.min.css +0 -1
  69. data/lib/wp/wp-admin/css/colors/sunrise/colors.css +0 -341
  70. data/lib/wp/wp-admin/css/colors/sunrise/colors.min.css +0 -1
  71. data/lib/wp/wp-admin/css/colors/sunrise/colors.scss +0 -6
  72. data/lib/wp/wp-admin/css/common-rtl.css +0 -3212
  73. data/lib/wp/wp-admin/css/common.css +0 -3212
  74. data/lib/wp/wp-admin/css/customize-controls-rtl.css +0 -889
  75. data/lib/wp/wp-admin/css/customize-controls-rtl.min.css +0 -1
  76. data/lib/wp/wp-admin/css/customize-controls.css +0 -889
  77. data/lib/wp/wp-admin/css/customize-controls.min.css +0 -1
  78. data/lib/wp/wp-admin/css/customize-widgets-rtl.css +0 -603
  79. data/lib/wp/wp-admin/css/customize-widgets-rtl.min.css +0 -1
  80. data/lib/wp/wp-admin/css/customize-widgets.css +0 -603
  81. data/lib/wp/wp-admin/css/customize-widgets.min.css +0 -1
  82. data/lib/wp/wp-admin/css/dashboard-rtl.css +0 -1116
  83. data/lib/wp/wp-admin/css/dashboard.css +0 -1116
  84. data/lib/wp/wp-admin/css/deprecated-media-rtl.css +0 -371
  85. data/lib/wp/wp-admin/css/deprecated-media-rtl.min.css +0 -1
  86. data/lib/wp/wp-admin/css/deprecated-media.css +0 -371
  87. data/lib/wp/wp-admin/css/deprecated-media.min.css +0 -1
  88. data/lib/wp/wp-admin/css/edit-rtl.css +0 -1501
  89. data/lib/wp/wp-admin/css/edit.css +0 -1501
  90. data/lib/wp/wp-admin/css/farbtastic-rtl.css +0 -41
  91. data/lib/wp/wp-admin/css/farbtastic.css +0 -41
  92. data/lib/wp/wp-admin/css/forms-rtl.css +0 -992
  93. data/lib/wp/wp-admin/css/forms.css +0 -992
  94. data/lib/wp/wp-admin/css/ie-rtl.css +0 -785
  95. data/lib/wp/wp-admin/css/ie-rtl.min.css +0 -1
  96. data/lib/wp/wp-admin/css/ie.css +0 -785
  97. data/lib/wp/wp-admin/css/ie.min.css +0 -1
  98. data/lib/wp/wp-admin/css/install-rtl.css +0 -389
  99. data/lib/wp/wp-admin/css/install-rtl.min.css +0 -1
  100. data/lib/wp/wp-admin/css/install.css +0 -389
  101. data/lib/wp/wp-admin/css/install.min.css +0 -1
  102. data/lib/wp/wp-admin/css/l10n-rtl.css +0 -101
  103. data/lib/wp/wp-admin/css/l10n.css +0 -101
  104. data/lib/wp/wp-admin/css/list-tables-rtl.css +0 -1875
  105. data/lib/wp/wp-admin/css/list-tables.css +0 -1875
  106. data/lib/wp/wp-admin/css/login-rtl.css +0 -269
  107. data/lib/wp/wp-admin/css/login-rtl.min.css +0 -1
  108. data/lib/wp/wp-admin/css/login.css +0 -269
  109. data/lib/wp/wp-admin/css/login.min.css +0 -1
  110. data/lib/wp/wp-admin/css/media-rtl.css +0 -1196
  111. data/lib/wp/wp-admin/css/media.css +0 -1196
  112. data/lib/wp/wp-admin/css/nav-menus-rtl.css +0 -857
  113. data/lib/wp/wp-admin/css/nav-menus.css +0 -857
  114. data/lib/wp/wp-admin/css/press-this-rtl.css +0 -458
  115. data/lib/wp/wp-admin/css/press-this.css +0 -458
  116. data/lib/wp/wp-admin/css/revisions-rtl.css +0 -574
  117. data/lib/wp/wp-admin/css/revisions.css +0 -574
  118. data/lib/wp/wp-admin/css/themes-rtl.css +0 -1732
  119. data/lib/wp/wp-admin/css/themes.css +0 -1732
  120. data/lib/wp/wp-admin/css/widgets-rtl.css +0 -577
  121. data/lib/wp/wp-admin/css/widgets.css +0 -577
  122. data/lib/wp/wp-admin/css/wp-admin-rtl.css +0 -14
  123. data/lib/wp/wp-admin/css/wp-admin-rtl.min.css +0 -1
  124. data/lib/wp/wp-admin/css/wp-admin.css +0 -14
  125. data/lib/wp/wp-admin/css/wp-admin.min.css +0 -1
  126. data/lib/wp/wp-admin/custom-background.php +0 -482
  127. data/lib/wp/wp-admin/custom-header.php +0 -1366
  128. data/lib/wp/wp-admin/customize.php +0 -278
  129. data/lib/wp/wp-admin/edit-comments.php +0 -254
  130. data/lib/wp/wp-admin/edit-form-advanced.php +0 -636
  131. data/lib/wp/wp-admin/edit-form-comment.php +0 -160
  132. data/lib/wp/wp-admin/edit-link-form.php +0 -150
  133. data/lib/wp/wp-admin/edit-tag-form.php +0 -204
  134. data/lib/wp/wp-admin/edit-tags.php +0 -591
  135. data/lib/wp/wp-admin/edit.php +0 -330
  136. data/lib/wp/wp-admin/export.php +0 -243
  137. data/lib/wp/wp-admin/freedoms.php +0 -57
  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 +0 -1
  196. data/lib/wp/wp-admin/images/wordpress-logo.png +0 -0
  197. data/lib/wp/wp-admin/images/wordpress-logo.svg +0 -1
  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 +0 -132
  204. data/lib/wp/wp-admin/includes/admin.php +0 -74
  205. data/lib/wp/wp-admin/includes/ajax-actions.php +0 -2762
  206. data/lib/wp/wp-admin/includes/bookmark.php +0 -305
  207. data/lib/wp/wp-admin/includes/class-ftp-pure.php +0 -190
  208. data/lib/wp/wp-admin/includes/class-ftp-sockets.php +0 -250
  209. data/lib/wp/wp-admin/includes/class-ftp.php +0 -907
  210. data/lib/wp/wp-admin/includes/class-pclzip.php +0 -5687
  211. data/lib/wp/wp-admin/includes/class-wp-comments-list-table.php +0 -637
  212. data/lib/wp/wp-admin/includes/class-wp-filesystem-base.php +0 -815
  213. data/lib/wp/wp-admin/includes/class-wp-filesystem-direct.php +0 -384
  214. data/lib/wp/wp-admin/includes/class-wp-filesystem-ftpext.php +0 -415
  215. data/lib/wp/wp-admin/includes/class-wp-filesystem-ftpsockets.php +0 -352
  216. data/lib/wp/wp-admin/includes/class-wp-filesystem-ssh2.php +0 -392
  217. data/lib/wp/wp-admin/includes/class-wp-importer.php +0 -302
  218. data/lib/wp/wp-admin/includes/class-wp-links-list-table.php +0 -207
  219. data/lib/wp/wp-admin/includes/class-wp-list-table.php +0 -1080
  220. data/lib/wp/wp-admin/includes/class-wp-media-list-table.php +0 -574
  221. data/lib/wp/wp-admin/includes/class-wp-ms-sites-list-table.php +0 -402
  222. data/lib/wp/wp-admin/includes/class-wp-ms-themes-list-table.php +0 -459
  223. data/lib/wp/wp-admin/includes/class-wp-ms-users-list-table.php +0 -303
  224. data/lib/wp/wp-admin/includes/class-wp-plugin-install-list-table.php +0 -490
  225. data/lib/wp/wp-admin/includes/class-wp-plugins-list-table.php +0 -605
  226. data/lib/wp/wp-admin/includes/class-wp-posts-list-table.php +0 -1306
  227. data/lib/wp/wp-admin/includes/class-wp-terms-list-table.php +0 -466
  228. data/lib/wp/wp-admin/includes/class-wp-theme-install-list-table.php +0 -431
  229. data/lib/wp/wp-admin/includes/class-wp-themes-list-table.php +0 -279
  230. data/lib/wp/wp-admin/includes/class-wp-upgrader-skins.php +0 -767
  231. data/lib/wp/wp-admin/includes/class-wp-upgrader.php +0 -2676
  232. data/lib/wp/wp-admin/includes/class-wp-users-list-table.php +0 -459
  233. data/lib/wp/wp-admin/includes/comment.php +0 -171
  234. data/lib/wp/wp-admin/includes/continents-cities.php +0 -493
  235. data/lib/wp/wp-admin/includes/dashboard.php +0 -1333
  236. data/lib/wp/wp-admin/includes/deprecated.php +0 -1190
  237. data/lib/wp/wp-admin/includes/export.php +0 -508
  238. data/lib/wp/wp-admin/includes/file.php +0 -1152
  239. data/lib/wp/wp-admin/includes/image-edit.php +0 -828
  240. data/lib/wp/wp-admin/includes/image.php +0 -598
  241. data/lib/wp/wp-admin/includes/import.php +0 -206
  242. data/lib/wp/wp-admin/includes/list-table.php +0 -113
  243. data/lib/wp/wp-admin/includes/media.php +0 -3012
  244. data/lib/wp/wp-admin/includes/menu.php +0 -322
  245. data/lib/wp/wp-admin/includes/meta-boxes.php +0 -1119
  246. data/lib/wp/wp-admin/includes/misc.php +0 -845
  247. data/lib/wp/wp-admin/includes/ms-deprecated.php +0 -78
  248. data/lib/wp/wp-admin/includes/ms.php +0 -814
  249. data/lib/wp/wp-admin/includes/nav-menu.php +0 -1328
  250. data/lib/wp/wp-admin/includes/plugin-install.php +0 -550
  251. data/lib/wp/wp-admin/includes/plugin.php +0 -1899
  252. data/lib/wp/wp-admin/includes/post.php +0 -1661
  253. data/lib/wp/wp-admin/includes/revision.php +0 -228
  254. data/lib/wp/wp-admin/includes/schema.php +0 -1038
  255. data/lib/wp/wp-admin/includes/screen.php +0 -1179
  256. data/lib/wp/wp-admin/includes/taxonomy.php +0 -284
  257. data/lib/wp/wp-admin/includes/template.php +0 -2157
  258. data/lib/wp/wp-admin/includes/theme-install.php +0 -205
  259. data/lib/wp/wp-admin/includes/theme.php +0 -474
  260. data/lib/wp/wp-admin/includes/translation-install.php +0 -240
  261. data/lib/wp/wp-admin/includes/update-core.php +0 -1186
  262. data/lib/wp/wp-admin/includes/update.php +0 -432
  263. data/lib/wp/wp-admin/includes/upgrade.php +0 -2218
  264. data/lib/wp/wp-admin/includes/user.php +0 -442
  265. data/lib/wp/wp-admin/includes/widgets.php +0 -245
  266. data/lib/wp/wp-admin/index.php +0 -131
  267. data/lib/wp/wp-admin/install-helper.php +0 -199
  268. data/lib/wp/wp-admin/install.php +0 -305
  269. data/lib/wp/wp-admin/js/accordion.js +0 -143
  270. data/lib/wp/wp-admin/js/accordion.min.js +0 -1
  271. data/lib/wp/wp-admin/js/color-picker.js +0 -155
  272. data/lib/wp/wp-admin/js/color-picker.min.js +0 -1
  273. data/lib/wp/wp-admin/js/comment.js +0 -50
  274. data/lib/wp/wp-admin/js/comment.min.js +0 -1
  275. data/lib/wp/wp-admin/js/common.js +0 -804
  276. data/lib/wp/wp-admin/js/common.min.js +0 -1
  277. data/lib/wp/wp-admin/js/custom-background.js +0 -75
  278. data/lib/wp/wp-admin/js/custom-background.min.js +0 -1
  279. data/lib/wp/wp-admin/js/custom-header.js +0 -61
  280. data/lib/wp/wp-admin/js/customize-controls.js +0 -1305
  281. data/lib/wp/wp-admin/js/customize-controls.min.js +0 -1
  282. data/lib/wp/wp-admin/js/customize-widgets.js +0 -1882
  283. data/lib/wp/wp-admin/js/customize-widgets.min.js +0 -1
  284. data/lib/wp/wp-admin/js/dashboard.js +0 -190
  285. data/lib/wp/wp-admin/js/dashboard.min.js +0 -1
  286. data/lib/wp/wp-admin/js/edit-comments.js +0 -625
  287. data/lib/wp/wp-admin/js/edit-comments.min.js +0 -1
  288. data/lib/wp/wp-admin/js/editor-expand.js +0 -705
  289. data/lib/wp/wp-admin/js/editor-expand.min.js +0 -1
  290. data/lib/wp/wp-admin/js/editor.js +0 -324
  291. data/lib/wp/wp-admin/js/editor.min.js +0 -1
  292. data/lib/wp/wp-admin/js/farbtastic.js +0 -276
  293. data/lib/wp/wp-admin/js/gallery.js +0 -237
  294. data/lib/wp/wp-admin/js/gallery.min.js +0 -1
  295. data/lib/wp/wp-admin/js/image-edit.js +0 -633
  296. data/lib/wp/wp-admin/js/image-edit.min.js +0 -1
  297. data/lib/wp/wp-admin/js/inline-edit-post.js +0 -359
  298. data/lib/wp/wp-admin/js/inline-edit-post.min.js +0 -1
  299. data/lib/wp/wp-admin/js/inline-edit-tax.js +0 -142
  300. data/lib/wp/wp-admin/js/inline-edit-tax.min.js +0 -1
  301. data/lib/wp/wp-admin/js/iris.min.js +0 -4
  302. data/lib/wp/wp-admin/js/language-chooser.js +0 -26
  303. data/lib/wp/wp-admin/js/language-chooser.min.js +0 -1
  304. data/lib/wp/wp-admin/js/link.js +0 -69
  305. data/lib/wp/wp-admin/js/link.min.js +0 -1
  306. data/lib/wp/wp-admin/js/media-gallery.js +0 -26
  307. data/lib/wp/wp-admin/js/media-gallery.min.js +0 -1
  308. data/lib/wp/wp-admin/js/media-upload.js +0 -69
  309. data/lib/wp/wp-admin/js/media-upload.min.js +0 -1
  310. data/lib/wp/wp-admin/js/media.js +0 -111
  311. data/lib/wp/wp-admin/js/media.min.js +0 -1
  312. data/lib/wp/wp-admin/js/nav-menu.js +0 -1205
  313. data/lib/wp/wp-admin/js/nav-menu.min.js +0 -1
  314. data/lib/wp/wp-admin/js/password-strength-meter.js +0 -75
  315. data/lib/wp/wp-admin/js/password-strength-meter.min.js +0 -1
  316. data/lib/wp/wp-admin/js/plugin-install.js +0 -76
  317. data/lib/wp/wp-admin/js/plugin-install.min.js +0 -1
  318. data/lib/wp/wp-admin/js/post.js +0 -1094
  319. data/lib/wp/wp-admin/js/post.min.js +0 -1
  320. data/lib/wp/wp-admin/js/postbox.js +0 -199
  321. data/lib/wp/wp-admin/js/postbox.min.js +0 -1
  322. data/lib/wp/wp-admin/js/revisions.js +0 -1110
  323. data/lib/wp/wp-admin/js/revisions.min.js +0 -1
  324. data/lib/wp/wp-admin/js/set-post-thumbnail.js +0 -24
  325. data/lib/wp/wp-admin/js/set-post-thumbnail.min.js +0 -1
  326. data/lib/wp/wp-admin/js/svg-painter.js +0 -240
  327. data/lib/wp/wp-admin/js/svg-painter.min.js +0 -1
  328. data/lib/wp/wp-admin/js/tags.js +0 -72
  329. data/lib/wp/wp-admin/js/tags.min.js +0 -1
  330. data/lib/wp/wp-admin/js/theme.js +0 -1691
  331. data/lib/wp/wp-admin/js/theme.min.js +0 -1
  332. data/lib/wp/wp-admin/js/updates.js +0 -65
  333. data/lib/wp/wp-admin/js/updates.min.js +0 -1
  334. data/lib/wp/wp-admin/js/user-profile.js +0 -127
  335. data/lib/wp/wp-admin/js/user-profile.min.js +0 -1
  336. data/lib/wp/wp-admin/js/user-suggest.js +0 -30
  337. data/lib/wp/wp-admin/js/user-suggest.min.js +0 -1
  338. data/lib/wp/wp-admin/js/widgets.js +0 -494
  339. data/lib/wp/wp-admin/js/widgets.min.js +0 -1
  340. data/lib/wp/wp-admin/js/word-count.js +0 -44
  341. data/lib/wp/wp-admin/js/word-count.min.js +0 -1
  342. data/lib/wp/wp-admin/js/wp-fullscreen.js +0 -704
  343. data/lib/wp/wp-admin/js/wp-fullscreen.min.js +0 -1
  344. data/lib/wp/wp-admin/js/xfn.js +0 -17
  345. data/lib/wp/wp-admin/js/xfn.min.js +0 -1
  346. data/lib/wp/wp-admin/link-add.php +0 -29
  347. data/lib/wp/wp-admin/link-manager.php +0 -99
  348. data/lib/wp/wp-admin/link-parse-opml.php +0 -84
  349. data/lib/wp/wp-admin/link.php +0 -117
  350. data/lib/wp/wp-admin/load-scripts.php +0 -162
  351. data/lib/wp/wp-admin/load-styles.php +0 -153
  352. data/lib/wp/wp-admin/maint/repair.php +0 -124
  353. data/lib/wp/wp-admin/media-new.php +0 -84
  354. data/lib/wp/wp-admin/media-upload.php +0 -100
  355. data/lib/wp/wp-admin/media.php +0 -146
  356. data/lib/wp/wp-admin/menu-header.php +0 -227
  357. data/lib/wp/wp-admin/menu.php +0 -255
  358. data/lib/wp/wp-admin/moderation.php +0 -12
  359. data/lib/wp/wp-admin/ms-admin.php +0 -13
  360. data/lib/wp/wp-admin/ms-delete-site.php +0 -91
  361. data/lib/wp/wp-admin/ms-edit.php +0 -13
  362. data/lib/wp/wp-admin/ms-options.php +0 -12
  363. data/lib/wp/wp-admin/ms-sites.php +0 -13
  364. data/lib/wp/wp-admin/ms-themes.php +0 -13
  365. data/lib/wp/wp-admin/ms-upgrade-network.php +0 -13
  366. data/lib/wp/wp-admin/ms-users.php +0 -13
  367. data/lib/wp/wp-admin/my-sites.php +0 -145
  368. data/lib/wp/wp-admin/nav-menus.php +0 -798
  369. data/lib/wp/wp-admin/network.php +0 -561
  370. data/lib/wp/wp-admin/network/about.php +0 -16
  371. data/lib/wp/wp-admin/network/admin.php +0 -32
  372. data/lib/wp/wp-admin/network/credits.php +0 -16
  373. data/lib/wp/wp-admin/network/edit.php +0 -42
  374. data/lib/wp/wp-admin/network/freedoms.php +0 -16
  375. data/lib/wp/wp-admin/network/index.php +0 -79
  376. data/lib/wp/wp-admin/network/menu.php +0 -63
  377. data/lib/wp/wp-admin/network/plugin-editor.php +0 -16
  378. data/lib/wp/wp-admin/network/plugin-install.php +0 -19
  379. data/lib/wp/wp-admin/network/plugins.php +0 -16
  380. data/lib/wp/wp-admin/network/profile.php +0 -16
  381. data/lib/wp/wp-admin/network/settings.php +0 -347
  382. data/lib/wp/wp-admin/network/setup.php +0 -16
  383. data/lib/wp/wp-admin/network/site-info.php +0 -178
  384. data/lib/wp/wp-admin/network/site-new.php +0 -153
  385. data/lib/wp/wp-admin/network/site-settings.php +0 -173
  386. data/lib/wp/wp-admin/network/site-themes.php +0 -185
  387. data/lib/wp/wp-admin/network/site-users.php +0 -319
  388. data/lib/wp/wp-admin/network/sites.php +0 -275
  389. data/lib/wp/wp-admin/network/theme-editor.php +0 -16
  390. data/lib/wp/wp-admin/network/theme-install.php +0 -19
  391. data/lib/wp/wp-admin/network/themes.php +0 -291
  392. data/lib/wp/wp-admin/network/update-core.php +0 -16
  393. data/lib/wp/wp-admin/network/update.php +0 -19
  394. data/lib/wp/wp-admin/network/upgrade.php +0 -120
  395. data/lib/wp/wp-admin/network/user-edit.php +0 -16
  396. data/lib/wp/wp-admin/network/user-new.php +0 -106
  397. data/lib/wp/wp-admin/network/users.php +0 -296
  398. data/lib/wp/wp-admin/options-discussion.php +0 -273
  399. data/lib/wp/wp-admin/options-general.php +0 -355
  400. data/lib/wp/wp-admin/options-head.php +0 -18
  401. data/lib/wp/wp-admin/options-media.php +0 -136
  402. data/lib/wp/wp-admin/options-permalink.php +0 -289
  403. data/lib/wp/wp-admin/options-reading.php +0 -184
  404. data/lib/wp/wp-admin/options-writing.php +0 -194
  405. data/lib/wp/wp-admin/options.php +0 -265
  406. data/lib/wp/wp-admin/plugin-editor.php +0 -279
  407. data/lib/wp/wp-admin/plugin-install.php +0 -134
  408. data/lib/wp/wp-admin/plugins.php +0 -474
  409. data/lib/wp/wp-admin/post-new.php +0 -74
  410. data/lib/wp/wp-admin/post.php +0 -318
  411. data/lib/wp/wp-admin/press-this.php +0 -691
  412. data/lib/wp/wp-admin/profile.php +0 -18
  413. data/lib/wp/wp-admin/revision.php +0 -221
  414. data/lib/wp/wp-admin/setup-config.php +0 -345
  415. data/lib/wp/wp-admin/theme-editor.php +0 -243
  416. data/lib/wp/wp-admin/theme-install.php +0 -278
  417. data/lib/wp/wp-admin/themes.php +0 -374
  418. data/lib/wp/wp-admin/tools.php +0 -75
  419. data/lib/wp/wp-admin/update-core.php +0 -653
  420. data/lib/wp/wp-admin/update.php +0 -272
  421. data/lib/wp/wp-admin/upgrade-functions.php +0 -12
  422. data/lib/wp/wp-admin/upgrade.php +0 -116
  423. data/lib/wp/wp-admin/upload.php +0 -292
  424. data/lib/wp/wp-admin/user-edit.php +0 -557
  425. data/lib/wp/wp-admin/user-new.php +0 -439
  426. data/lib/wp/wp-admin/user/about.php +0 -13
  427. data/lib/wp/wp-admin/user/admin.php +0 -32
  428. data/lib/wp/wp-admin/user/credits.php +0 -13
  429. data/lib/wp/wp-admin/user/freedoms.php +0 -13
  430. data/lib/wp/wp-admin/user/index.php +0 -12
  431. data/lib/wp/wp-admin/user/menu.php +0 -22
  432. data/lib/wp/wp-admin/user/profile.php +0 -12
  433. data/lib/wp/wp-admin/user/user-edit.php +0 -12
  434. data/lib/wp/wp-admin/users.php +0 -460
  435. data/lib/wp/wp-admin/widgets.php +0 -442
  436. data/lib/wp/wp-blog-header.php +0 -18
  437. data/lib/wp/wp-comments-post.php +0 -164
  438. data/lib/wp/wp-config-sample.php +0 -80
  439. data/lib/wp/wp-content/index.php +0 -2
  440. data/lib/wp/wp-content/plugins/hello.php +0 -82
  441. data/lib/wp/wp-content/plugins/index.php +0 -2
  442. data/lib/wp/wp-content/themes/index.php +0 -2
  443. data/lib/wp/wp-content/themes/stump/.editorconfig +0 -11
  444. data/lib/wp/wp-content/themes/stump/.jshintrc +0 -16
  445. data/lib/wp/wp-content/themes/stump/404.php +0 -13
  446. data/lib/wp/wp-content/themes/stump/CHANGELOG.md +0 -333
  447. data/lib/wp/wp-content/themes/stump/CONTRIBUTING.md +0 -121
  448. data/lib/wp/wp-content/themes/stump/Gruntfile.js +0 -151
  449. data/lib/wp/wp-content/themes/stump/LICENSE.md +0 -19
  450. data/lib/wp/wp-content/themes/stump/assets/coffee/build/.gitkeep +0 -0
  451. data/lib/wp/wp-content/themes/stump/assets/css/editor-style.css +0 -548
  452. data/lib/wp/wp-content/themes/stump/assets/fonts/glyphicons-halflings-regular.eot +0 -0
  453. data/lib/wp/wp-content/themes/stump/assets/fonts/glyphicons-halflings-regular.svg +0 -229
  454. data/lib/wp/wp-content/themes/stump/assets/fonts/glyphicons-halflings-regular.ttf +0 -0
  455. data/lib/wp/wp-content/themes/stump/assets/fonts/glyphicons-halflings-regular.woff +0 -0
  456. data/lib/wp/wp-content/themes/stump/assets/img/.gitignore +0 -0
  457. data/lib/wp/wp-content/themes/stump/assets/js/_main.js +0 -63
  458. data/lib/wp/wp-content/themes/stump/assets/js/plugins/bootstrap/affix.js +0 -137
  459. data/lib/wp/wp-content/themes/stump/assets/js/plugins/bootstrap/alert.js +0 -88
  460. data/lib/wp/wp-content/themes/stump/assets/js/plugins/bootstrap/button.js +0 -107
  461. data/lib/wp/wp-content/themes/stump/assets/js/plugins/bootstrap/carousel.js +0 -205
  462. data/lib/wp/wp-content/themes/stump/assets/js/plugins/bootstrap/collapse.js +0 -170
  463. data/lib/wp/wp-content/themes/stump/assets/js/plugins/bootstrap/dropdown.js +0 -147
  464. data/lib/wp/wp-content/themes/stump/assets/js/plugins/bootstrap/modal.js +0 -243
  465. data/lib/wp/wp-content/themes/stump/assets/js/plugins/bootstrap/popover.js +0 -110
  466. data/lib/wp/wp-content/themes/stump/assets/js/plugins/bootstrap/scrollspy.js +0 -153
  467. data/lib/wp/wp-content/themes/stump/assets/js/plugins/bootstrap/tab.js +0 -125
  468. data/lib/wp/wp-content/themes/stump/assets/js/plugins/bootstrap/tooltip.js +0 -399
  469. data/lib/wp/wp-content/themes/stump/assets/js/plugins/bootstrap/transition.js +0 -48
  470. data/lib/wp/wp-content/themes/stump/assets/js/scripts.min.js +0 -1
  471. data/lib/wp/wp-content/themes/stump/assets/js/vendor/jquery-1.11.0.min.js +0 -4
  472. data/lib/wp/wp-content/themes/stump/assets/js/vendor/modernizr-2.7.0.min.js +0 -4
  473. data/lib/wp/wp-content/themes/stump/assets/sass/app.scss +0 -9
  474. data/lib/wp/wp-content/themes/stump/assets/sass/core/_variables.scss +0 -1
  475. data/lib/wp/wp-content/themes/stump/assets/vendor/bootstrap/_alerts.scss +0 -67
  476. data/lib/wp/wp-content/themes/stump/assets/vendor/bootstrap/_badges.scss +0 -55
  477. data/lib/wp/wp-content/themes/stump/assets/vendor/bootstrap/_bootstrap.scss +0 -49
  478. data/lib/wp/wp-content/themes/stump/assets/vendor/bootstrap/_breadcrumbs.scss +0 -26
  479. data/lib/wp/wp-content/themes/stump/assets/vendor/bootstrap/_button-groups.scss +0 -226
  480. data/lib/wp/wp-content/themes/stump/assets/vendor/bootstrap/_buttons.scss +0 -159
  481. data/lib/wp/wp-content/themes/stump/assets/vendor/bootstrap/_carousel.scss +0 -232
  482. data/lib/wp/wp-content/themes/stump/assets/vendor/bootstrap/_close.scss +0 -35
  483. data/lib/wp/wp-content/themes/stump/assets/vendor/bootstrap/_code.scss +0 -63
  484. data/lib/wp/wp-content/themes/stump/assets/vendor/bootstrap/_component-animations.scss +0 -29
  485. data/lib/wp/wp-content/themes/stump/assets/vendor/bootstrap/_dropdowns.scss +0 -213
  486. data/lib/wp/wp-content/themes/stump/assets/vendor/bootstrap/_forms.scss +0 -436
  487. data/lib/wp/wp-content/themes/stump/assets/vendor/bootstrap/_glyphicons.scss +0 -233
  488. data/lib/wp/wp-content/themes/stump/assets/vendor/bootstrap/_grid.scss +0 -84
  489. data/lib/wp/wp-content/themes/stump/assets/vendor/bootstrap/_input-groups.scss +0 -162
  490. data/lib/wp/wp-content/themes/stump/assets/vendor/bootstrap/_jumbotron.scss +0 -44
  491. data/lib/wp/wp-content/themes/stump/assets/vendor/bootstrap/_labels.scss +0 -64
  492. data/lib/wp/wp-content/themes/stump/assets/vendor/bootstrap/_list-group.scss +0 -110
  493. data/lib/wp/wp-content/themes/stump/assets/vendor/bootstrap/_media.scss +0 -56
  494. data/lib/wp/wp-content/themes/stump/assets/vendor/bootstrap/_mixins.scss +0 -947
  495. data/lib/wp/wp-content/themes/stump/assets/vendor/bootstrap/_modals.scss +0 -139
  496. data/lib/wp/wp-content/themes/stump/assets/vendor/bootstrap/_navbar.scss +0 -620
  497. data/lib/wp/wp-content/themes/stump/assets/vendor/bootstrap/_navs.scss +0 -242
  498. data/lib/wp/wp-content/themes/stump/assets/vendor/bootstrap/_normalize.scss +0 -423
  499. data/lib/wp/wp-content/themes/stump/assets/vendor/bootstrap/_pager.scss +0 -55
  500. data/lib/wp/wp-content/themes/stump/assets/vendor/bootstrap/_pagination.scss +0 -88
  501. data/lib/wp/wp-content/themes/stump/assets/vendor/bootstrap/_panels.scss +0 -241
  502. data/lib/wp/wp-content/themes/stump/assets/vendor/bootstrap/_popovers.scss +0 -133
  503. data/lib/wp/wp-content/themes/stump/assets/vendor/bootstrap/_print.scss +0 -101
  504. data/lib/wp/wp-content/themes/stump/assets/vendor/bootstrap/_progress-bars.scss +0 -80
  505. data/lib/wp/wp-content/themes/stump/assets/vendor/bootstrap/_responsive-utilities.scss +0 -74
  506. data/lib/wp/wp-content/themes/stump/assets/vendor/bootstrap/_scaffolding.scss +0 -134
  507. data/lib/wp/wp-content/themes/stump/assets/vendor/bootstrap/_tables.scss +0 -233
  508. data/lib/wp/wp-content/themes/stump/assets/vendor/bootstrap/_theme.scss +0 -247
  509. data/lib/wp/wp-content/themes/stump/assets/vendor/bootstrap/_thumbnails.scss +0 -38
  510. data/lib/wp/wp-content/themes/stump/assets/vendor/bootstrap/_tooltip.scss +0 -95
  511. data/lib/wp/wp-content/themes/stump/assets/vendor/bootstrap/_type.scss +0 -284
  512. data/lib/wp/wp-content/themes/stump/assets/vendor/bootstrap/_utilities.scss +0 -56
  513. data/lib/wp/wp-content/themes/stump/assets/vendor/bootstrap/_variables.scss +0 -833
  514. data/lib/wp/wp-content/themes/stump/assets/vendor/bootstrap/_wells.scss +0 -29
  515. data/lib/wp/wp-content/themes/stump/assets/vendor/manhattan/bourbon/_bourbon-deprecated-upcoming.scss +0 -13
  516. data/lib/wp/wp-content/themes/stump/assets/vendor/manhattan/bourbon/_bourbon.scss +0 -59
  517. data/lib/wp/wp-content/themes/stump/assets/vendor/manhattan/bourbon/addons/_button.scss +0 -273
  518. data/lib/wp/wp-content/themes/stump/assets/vendor/manhattan/bourbon/addons/_clearfix.scss +0 -29
  519. data/lib/wp/wp-content/themes/stump/assets/vendor/manhattan/bourbon/addons/_font-family.scss +0 -5
  520. data/lib/wp/wp-content/themes/stump/assets/vendor/manhattan/bourbon/addons/_hide-text.scss +0 -5
  521. data/lib/wp/wp-content/themes/stump/assets/vendor/manhattan/bourbon/addons/_html5-input-types.scss +0 -56
  522. data/lib/wp/wp-content/themes/stump/assets/vendor/manhattan/bourbon/addons/_position.scss +0 -42
  523. data/lib/wp/wp-content/themes/stump/assets/vendor/manhattan/bourbon/addons/_prefixer.scss +0 -49
  524. data/lib/wp/wp-content/themes/stump/assets/vendor/manhattan/bourbon/addons/_retina-image.scss +0 -32
  525. data/lib/wp/wp-content/themes/stump/assets/vendor/manhattan/bourbon/addons/_size.scss +0 -44
  526. data/lib/wp/wp-content/themes/stump/assets/vendor/manhattan/bourbon/addons/_timing-functions.scss +0 -32
  527. data/lib/wp/wp-content/themes/stump/assets/vendor/manhattan/bourbon/addons/_triangle.scss +0 -45
  528. data/lib/wp/wp-content/themes/stump/assets/vendor/manhattan/bourbon/css3/_animation.scss +0 -52
  529. data/lib/wp/wp-content/themes/stump/assets/vendor/manhattan/bourbon/css3/_appearance.scss +0 -3
  530. data/lib/wp/wp-content/themes/stump/assets/vendor/manhattan/bourbon/css3/_backface-visibility.scss +0 -6
  531. data/lib/wp/wp-content/themes/stump/assets/vendor/manhattan/bourbon/css3/_background-image.scss +0 -48
  532. data/lib/wp/wp-content/themes/stump/assets/vendor/manhattan/bourbon/css3/_background.scss +0 -103
  533. data/lib/wp/wp-content/themes/stump/assets/vendor/manhattan/bourbon/css3/_border-image.scss +0 -55
  534. data/lib/wp/wp-content/themes/stump/assets/vendor/manhattan/bourbon/css3/_border-radius.scss +0 -22
  535. data/lib/wp/wp-content/themes/stump/assets/vendor/manhattan/bourbon/css3/_box-sizing.scss +0 -4
  536. data/lib/wp/wp-content/themes/stump/assets/vendor/manhattan/bourbon/css3/_columns.scss +0 -47
  537. data/lib/wp/wp-content/themes/stump/assets/vendor/manhattan/bourbon/css3/_flex-box.scss +0 -52
  538. data/lib/wp/wp-content/themes/stump/assets/vendor/manhattan/bourbon/css3/_font-face.scss +0 -23
  539. data/lib/wp/wp-content/themes/stump/assets/vendor/manhattan/bourbon/css3/_hidpi-media-query.scss +0 -10
  540. data/lib/wp/wp-content/themes/stump/assets/vendor/manhattan/bourbon/css3/_image-rendering.scss +0 -13
  541. data/lib/wp/wp-content/themes/stump/assets/vendor/manhattan/bourbon/css3/_inline-block.scss +0 -8
  542. data/lib/wp/wp-content/themes/stump/assets/vendor/manhattan/bourbon/css3/_keyframes.scss +0 -43
  543. data/lib/wp/wp-content/themes/stump/assets/vendor/manhattan/bourbon/css3/_linear-gradient.scss +0 -41
  544. data/lib/wp/wp-content/themes/stump/assets/vendor/manhattan/bourbon/css3/_perspective.scss +0 -8
  545. data/lib/wp/wp-content/themes/stump/assets/vendor/manhattan/bourbon/css3/_placeholder.scss +0 -29
  546. data/lib/wp/wp-content/themes/stump/assets/vendor/manhattan/bourbon/css3/_radial-gradient.scss +0 -44
  547. data/lib/wp/wp-content/themes/stump/assets/vendor/manhattan/bourbon/css3/_transform.scss +0 -15
  548. data/lib/wp/wp-content/themes/stump/assets/vendor/manhattan/bourbon/css3/_transition.scss +0 -34
  549. data/lib/wp/wp-content/themes/stump/assets/vendor/manhattan/bourbon/css3/_user-select.scss +0 -3
  550. data/lib/wp/wp-content/themes/stump/assets/vendor/manhattan/bourbon/functions/_compact.scss +0 -11
  551. data/lib/wp/wp-content/themes/stump/assets/vendor/manhattan/bourbon/functions/_flex-grid.scss +0 -39
  552. data/lib/wp/wp-content/themes/stump/assets/vendor/manhattan/bourbon/functions/_grid-width.scss +0 -13
  553. data/lib/wp/wp-content/themes/stump/assets/vendor/manhattan/bourbon/functions/_linear-gradient.scss +0 -13
  554. data/lib/wp/wp-content/themes/stump/assets/vendor/manhattan/bourbon/functions/_modular-scale.scss +0 -40
  555. data/lib/wp/wp-content/themes/stump/assets/vendor/manhattan/bourbon/functions/_px-to-em.scss +0 -8
  556. data/lib/wp/wp-content/themes/stump/assets/vendor/manhattan/bourbon/functions/_radial-gradient.scss +0 -23
  557. data/lib/wp/wp-content/themes/stump/assets/vendor/manhattan/bourbon/functions/_tint-shade.scss +0 -9
  558. data/lib/wp/wp-content/themes/stump/assets/vendor/manhattan/bourbon/functions/_transition-property-name.scss +0 -22
  559. data/lib/wp/wp-content/themes/stump/assets/vendor/manhattan/bourbon/helpers/_deprecated-webkit-gradient.scss +0 -39
  560. data/lib/wp/wp-content/themes/stump/assets/vendor/manhattan/bourbon/helpers/_gradient-positions-parser.scss +0 -13
  561. data/lib/wp/wp-content/themes/stump/assets/vendor/manhattan/bourbon/helpers/_linear-positions-parser.scss +0 -61
  562. data/lib/wp/wp-content/themes/stump/assets/vendor/manhattan/bourbon/helpers/_radial-arg-parser.scss +0 -69
  563. data/lib/wp/wp-content/themes/stump/assets/vendor/manhattan/bourbon/helpers/_radial-positions-parser.scss +0 -18
  564. data/lib/wp/wp-content/themes/stump/assets/vendor/manhattan/bourbon/helpers/_render-gradients.scss +0 -26
  565. data/lib/wp/wp-content/themes/stump/assets/vendor/manhattan/bourbon/helpers/_shape-size-stripper.scss +0 -10
  566. data/lib/wp/wp-content/themes/stump/assets/vendor/manhattan/manhattan.sass +0 -11
  567. data/lib/wp/wp-content/themes/stump/assets/vendor/manhattan/manhattan/_grid.sass +0 -161
  568. data/lib/wp/wp-content/themes/stump/assets/vendor/manhattan/manhattan/_mixins.sass +0 -63
  569. data/lib/wp/wp-content/themes/stump/assets/vendor/manhattan/manhattan/_utilities.sass +0 -24
  570. data/lib/wp/wp-content/themes/stump/assets/vendor/manhattan/manhattan/_variables.sass +0 -42
  571. data/lib/wp/wp-content/themes/stump/assets/vendor/manhattan/neat/_neat-helpers.scss +0 -8
  572. data/lib/wp/wp-content/themes/stump/assets/vendor/manhattan/neat/_neat.scss +0 -21
  573. data/lib/wp/wp-content/themes/stump/assets/vendor/manhattan/neat/functions/_new-breakpoint.scss +0 -16
  574. data/lib/wp/wp-content/themes/stump/assets/vendor/manhattan/neat/functions/_private.scss +0 -107
  575. data/lib/wp/wp-content/themes/stump/assets/vendor/manhattan/neat/functions/_px-to-em.scss +0 -3
  576. data/lib/wp/wp-content/themes/stump/assets/vendor/manhattan/neat/grid/_fill-parent.scss +0 -7
  577. data/lib/wp/wp-content/themes/stump/assets/vendor/manhattan/neat/grid/_grid.scss +0 -5
  578. data/lib/wp/wp-content/themes/stump/assets/vendor/manhattan/neat/grid/_media.scss +0 -51
  579. data/lib/wp/wp-content/themes/stump/assets/vendor/manhattan/neat/grid/_omega.scss +0 -79
  580. data/lib/wp/wp-content/themes/stump/assets/vendor/manhattan/neat/grid/_outer-container.scss +0 -8
  581. data/lib/wp/wp-content/themes/stump/assets/vendor/manhattan/neat/grid/_pad.scss +0 -8
  582. data/lib/wp/wp-content/themes/stump/assets/vendor/manhattan/neat/grid/_private.scss +0 -50
  583. data/lib/wp/wp-content/themes/stump/assets/vendor/manhattan/neat/grid/_reset.scss +0 -12
  584. data/lib/wp/wp-content/themes/stump/assets/vendor/manhattan/neat/grid/_row.scss +0 -17
  585. data/lib/wp/wp-content/themes/stump/assets/vendor/manhattan/neat/grid/_shift.scss +0 -9
  586. data/lib/wp/wp-content/themes/stump/assets/vendor/manhattan/neat/grid/_span-columns.scss +0 -38
  587. data/lib/wp/wp-content/themes/stump/assets/vendor/manhattan/neat/grid/_to-deprecate.scss +0 -57
  588. data/lib/wp/wp-content/themes/stump/assets/vendor/manhattan/neat/grid/_visual-grid.scss +0 -41
  589. data/lib/wp/wp-content/themes/stump/assets/vendor/manhattan/neat/settings/_grid.scss +0 -7
  590. data/lib/wp/wp-content/themes/stump/assets/vendor/manhattan/neat/settings/_visual-grid.scss +0 -5
  591. data/lib/wp/wp-content/themes/stump/base.php +0 -36
  592. data/lib/wp/wp-content/themes/stump/functions.php +0 -19
  593. data/lib/wp/wp-content/themes/stump/index.php +0 -21
  594. data/lib/wp/wp-content/themes/stump/lang/ar.mo +0 -0
  595. data/lib/wp/wp-content/themes/stump/lang/ar.po +0 -270
  596. data/lib/wp/wp-content/themes/stump/lang/bg_BG.mo +0 -0
  597. data/lib/wp/wp-content/themes/stump/lang/bg_BG.po +0 -338
  598. data/lib/wp/wp-content/themes/stump/lang/ca.mo +0 -0
  599. data/lib/wp/wp-content/themes/stump/lang/ca.po +0 -517
  600. data/lib/wp/wp-content/themes/stump/lang/da_DK.mo +0 -0
  601. data/lib/wp/wp-content/themes/stump/lang/da_DK.po +0 -305
  602. data/lib/wp/wp-content/themes/stump/lang/de_DE.mo +0 -0
  603. data/lib/wp/wp-content/themes/stump/lang/de_DE.po +0 -271
  604. data/lib/wp/wp-content/themes/stump/lang/el.mo +0 -0
  605. data/lib/wp/wp-content/themes/stump/lang/el.po +0 -319
  606. data/lib/wp/wp-content/themes/stump/lang/es_ES.mo +0 -0
  607. data/lib/wp/wp-content/themes/stump/lang/es_ES.po +0 -270
  608. data/lib/wp/wp-content/themes/stump/lang/et.mo +0 -0
  609. data/lib/wp/wp-content/themes/stump/lang/et.po +0 -262
  610. data/lib/wp/wp-content/themes/stump/lang/fa_IR.mo +0 -0
  611. data/lib/wp/wp-content/themes/stump/lang/fa_IR.po +0 -273
  612. data/lib/wp/wp-content/themes/stump/lang/fi_FI.mo +0 -0
  613. data/lib/wp/wp-content/themes/stump/lang/fi_FI.po +0 -367
  614. data/lib/wp/wp-content/themes/stump/lang/fr_FR.mo +0 -0
  615. data/lib/wp/wp-content/themes/stump/lang/fr_FR.po +0 -336
  616. data/lib/wp/wp-content/themes/stump/lang/he_IL.mo +0 -0
  617. data/lib/wp/wp-content/themes/stump/lang/he_IL.po +0 -336
  618. data/lib/wp/wp-content/themes/stump/lang/hu_HU.mo +0 -0
  619. data/lib/wp/wp-content/themes/stump/lang/hu_HU.po +0 -271
  620. data/lib/wp/wp-content/themes/stump/lang/id_ID.mo +0 -0
  621. data/lib/wp/wp-content/themes/stump/lang/id_ID.po +0 -278
  622. data/lib/wp/wp-content/themes/stump/lang/it_IT.mo +0 -0
  623. data/lib/wp/wp-content/themes/stump/lang/it_IT.po +0 -269
  624. data/lib/wp/wp-content/themes/stump/lang/ja.mo +0 -0
  625. data/lib/wp/wp-content/themes/stump/lang/ja.po +0 -267
  626. data/lib/wp/wp-content/themes/stump/lang/ko_KR.mo +0 -0
  627. data/lib/wp/wp-content/themes/stump/lang/ko_KR.po +0 -282
  628. data/lib/wp/wp-content/themes/stump/lang/mk_MK.mo +0 -0
  629. data/lib/wp/wp-content/themes/stump/lang/mk_MK.po +0 -297
  630. data/lib/wp/wp-content/themes/stump/lang/ms_MY.mo +0 -0
  631. data/lib/wp/wp-content/themes/stump/lang/ms_MY.po +0 -342
  632. data/lib/wp/wp-content/themes/stump/lang/nb_NO.mo +0 -0
  633. data/lib/wp/wp-content/themes/stump/lang/nb_NO.po +0 -517
  634. data/lib/wp/wp-content/themes/stump/lang/nl_NL.mo +0 -0
  635. data/lib/wp/wp-content/themes/stump/lang/nl_NL.po +0 -261
  636. data/lib/wp/wp-content/themes/stump/lang/nn_NO.mo +0 -0
  637. data/lib/wp/wp-content/themes/stump/lang/nn_NO.po +0 -517
  638. data/lib/wp/wp-content/themes/stump/lang/pl_PL.mo +0 -0
  639. data/lib/wp/wp-content/themes/stump/lang/pl_PL.po +0 -283
  640. data/lib/wp/wp-content/themes/stump/lang/pt_BR.mo +0 -0
  641. data/lib/wp/wp-content/themes/stump/lang/pt_BR.po +0 -394
  642. data/lib/wp/wp-content/themes/stump/lang/ro_RO.mo +0 -0
  643. data/lib/wp/wp-content/themes/stump/lang/ro_RO.po +0 -271
  644. data/lib/wp/wp-content/themes/stump/lang/roots.pot +0 -244
  645. data/lib/wp/wp-content/themes/stump/lang/ru_RU.mo +0 -0
  646. data/lib/wp/wp-content/themes/stump/lang/ru_RU.po +0 -255
  647. data/lib/wp/wp-content/themes/stump/lang/sk_SK.mo +0 -0
  648. data/lib/wp/wp-content/themes/stump/lang/sk_SK.po +0 -267
  649. data/lib/wp/wp-content/themes/stump/lang/sr_RS.mo +0 -0
  650. data/lib/wp/wp-content/themes/stump/lang/sr_RS.pot +0 -261
  651. data/lib/wp/wp-content/themes/stump/lang/sv_SE.mo +0 -0
  652. data/lib/wp/wp-content/themes/stump/lang/sv_SE.po +0 -323
  653. data/lib/wp/wp-content/themes/stump/lang/tr_TR.mo +0 -0
  654. data/lib/wp/wp-content/themes/stump/lang/tr_TR.po +0 -405
  655. data/lib/wp/wp-content/themes/stump/lang/vi_VN.mo +0 -0
  656. data/lib/wp/wp-content/themes/stump/lang/vi_VN.po +0 -516
  657. data/lib/wp/wp-content/themes/stump/lang/zh_CN.mo +0 -0
  658. data/lib/wp/wp-content/themes/stump/lang/zh_CN.po +0 -329
  659. data/lib/wp/wp-content/themes/stump/lang/zh_TW.mo +0 -0
  660. data/lib/wp/wp-content/themes/stump/lang/zh_TW.po +0 -261
  661. data/lib/wp/wp-content/themes/stump/lib/activation.php +0 -215
  662. data/lib/wp/wp-content/themes/stump/lib/cleanup.php +0 -261
  663. data/lib/wp/wp-content/themes/stump/lib/comments.php +0 -52
  664. data/lib/wp/wp-content/themes/stump/lib/config.php +0 -79
  665. data/lib/wp/wp-content/themes/stump/lib/custom.php +0 -4
  666. data/lib/wp/wp-content/themes/stump/lib/gallery.php +0 -130
  667. data/lib/wp/wp-content/themes/stump/lib/init.php +0 -25
  668. data/lib/wp/wp-content/themes/stump/lib/nav.php +0 -93
  669. data/lib/wp/wp-content/themes/stump/lib/relative-urls.php +0 -50
  670. data/lib/wp/wp-content/themes/stump/lib/scripts.php +0 -67
  671. data/lib/wp/wp-content/themes/stump/lib/sidebar.php +0 -43
  672. data/lib/wp/wp-content/themes/stump/lib/titles.php +0 -37
  673. data/lib/wp/wp-content/themes/stump/lib/utils.php +0 -14
  674. data/lib/wp/wp-content/themes/stump/lib/widgets.php +0 -133
  675. data/lib/wp/wp-content/themes/stump/lib/wrapper.php +0 -49
  676. data/lib/wp/wp-content/themes/stump/package.json +0 -32
  677. data/lib/wp/wp-content/themes/stump/page.php +0 -2
  678. data/lib/wp/wp-content/themes/stump/screenshot.png +0 -0
  679. data/lib/wp/wp-content/themes/stump/single.php +0 -1
  680. data/lib/wp/wp-content/themes/stump/style.css +0 -11
  681. data/lib/wp/wp-content/themes/stump/template-custom.php +0 -8
  682. data/lib/wp/wp-content/themes/stump/templates/comment.php +0 -14
  683. data/lib/wp/wp-content/themes/stump/templates/comments.php +0 -80
  684. data/lib/wp/wp-content/themes/stump/templates/content-page.php +0 -4
  685. data/lib/wp/wp-content/themes/stump/templates/content-single.php +0 -15
  686. data/lib/wp/wp-content/themes/stump/templates/content.php +0 -9
  687. data/lib/wp/wp-content/themes/stump/templates/entry-meta.php +0 -2
  688. data/lib/wp/wp-content/themes/stump/templates/footer.php +0 -8
  689. data/lib/wp/wp-content/themes/stump/templates/head.php +0 -12
  690. data/lib/wp/wp-content/themes/stump/templates/header-top-navbar.php +0 -21
  691. data/lib/wp/wp-content/themes/stump/templates/header.php +0 -14
  692. data/lib/wp/wp-content/themes/stump/templates/page-header.php +0 -5
  693. data/lib/wp/wp-content/themes/stump/templates/searchform.php +0 -9
  694. data/lib/wp/wp-content/themes/stump/templates/sidebar.php +0 -1
  695. data/lib/wp/wp-cron.php +0 -115
  696. data/lib/wp/wp-includes/ID3/getid3.lib.php +0 -1376
  697. data/lib/wp/wp-includes/ID3/getid3.php +0 -1796
  698. data/lib/wp/wp-includes/ID3/license.commercial.txt +0 -27
  699. data/lib/wp/wp-includes/ID3/license.txt +0 -29
  700. data/lib/wp/wp-includes/ID3/module.audio-video.asf.php +0 -2013
  701. data/lib/wp/wp-includes/ID3/module.audio-video.flv.php +0 -745
  702. data/lib/wp/wp-includes/ID3/module.audio-video.matroska.php +0 -1751
  703. data/lib/wp/wp-includes/ID3/module.audio-video.quicktime.php +0 -2246
  704. data/lib/wp/wp-includes/ID3/module.audio-video.riff.php +0 -2586
  705. data/lib/wp/wp-includes/ID3/module.audio.ac3.php +0 -474
  706. data/lib/wp/wp-includes/ID3/module.audio.dts.php +0 -291
  707. data/lib/wp/wp-includes/ID3/module.audio.flac.php +0 -443
  708. data/lib/wp/wp-includes/ID3/module.audio.mp3.php +0 -2012
  709. data/lib/wp/wp-includes/ID3/module.audio.ogg.php +0 -756
  710. data/lib/wp/wp-includes/ID3/module.tag.apetag.php +0 -371
  711. data/lib/wp/wp-includes/ID3/module.tag.id3v1.php +0 -360
  712. data/lib/wp/wp-includes/ID3/module.tag.id3v2.php +0 -3424
  713. data/lib/wp/wp-includes/ID3/module.tag.lyrics3.php +0 -294
  714. data/lib/wp/wp-includes/ID3/readme.txt +0 -604
  715. data/lib/wp/wp-includes/SimplePie/Author.php +0 -157
  716. data/lib/wp/wp-includes/SimplePie/Cache.php +0 -133
  717. data/lib/wp/wp-includes/SimplePie/Cache/Base.php +0 -114
  718. data/lib/wp/wp-includes/SimplePie/Cache/DB.php +0 -137
  719. data/lib/wp/wp-includes/SimplePie/Cache/File.php +0 -173
  720. data/lib/wp/wp-includes/SimplePie/Cache/Memcache.php +0 -183
  721. data/lib/wp/wp-includes/SimplePie/Cache/MySQL.php +0 -438
  722. data/lib/wp/wp-includes/SimplePie/Caption.php +0 -210
  723. data/lib/wp/wp-includes/SimplePie/Category.php +0 -157
  724. data/lib/wp/wp-includes/SimplePie/Content/Type/Sniffer.php +0 -332
  725. data/lib/wp/wp-includes/SimplePie/Copyright.php +0 -130
  726. data/lib/wp/wp-includes/SimplePie/Core.php +0 -57
  727. data/lib/wp/wp-includes/SimplePie/Credit.php +0 -156
  728. data/lib/wp/wp-includes/SimplePie/Decode/HTML/Entities.php +0 -617
  729. data/lib/wp/wp-includes/SimplePie/Enclosure.php +0 -1380
  730. data/lib/wp/wp-includes/SimplePie/Exception.php +0 -52
  731. data/lib/wp/wp-includes/SimplePie/File.php +0 -292
  732. data/lib/wp/wp-includes/SimplePie/HTTP/Parser.php +0 -500
  733. data/lib/wp/wp-includes/SimplePie/IRI.php +0 -1238
  734. data/lib/wp/wp-includes/SimplePie/Item.php +0 -2964
  735. data/lib/wp/wp-includes/SimplePie/Locator.php +0 -372
  736. data/lib/wp/wp-includes/SimplePie/Misc.php +0 -2247
  737. data/lib/wp/wp-includes/SimplePie/Net/IPv6.php +0 -276
  738. data/lib/wp/wp-includes/SimplePie/Parse/Date.php +0 -983
  739. data/lib/wp/wp-includes/SimplePie/Parser.php +0 -407
  740. data/lib/wp/wp-includes/SimplePie/Rating.php +0 -129
  741. data/lib/wp/wp-includes/SimplePie/Registry.php +0 -225
  742. data/lib/wp/wp-includes/SimplePie/Restriction.php +0 -155
  743. data/lib/wp/wp-includes/SimplePie/Sanitize.php +0 -554
  744. data/lib/wp/wp-includes/SimplePie/Source.php +0 -611
  745. data/lib/wp/wp-includes/SimplePie/XML/Declaration/Parser.php +0 -362
  746. data/lib/wp/wp-includes/SimplePie/gzdecode.php +0 -371
  747. data/lib/wp/wp-includes/Text/Diff.php +0 -450
  748. data/lib/wp/wp-includes/Text/Diff/Engine/native.php +0 -436
  749. data/lib/wp/wp-includes/Text/Diff/Engine/shell.php +0 -162
  750. data/lib/wp/wp-includes/Text/Diff/Engine/string.php +0 -248
  751. data/lib/wp/wp-includes/Text/Diff/Engine/xdiff.php +0 -64
  752. data/lib/wp/wp-includes/Text/Diff/Renderer.php +0 -235
  753. data/lib/wp/wp-includes/Text/Diff/Renderer/inline.php +0 -206
  754. data/lib/wp/wp-includes/admin-bar.php +0 -870
  755. data/lib/wp/wp-includes/atomlib.php +0 -352
  756. data/lib/wp/wp-includes/author-template.php +0 -471
  757. data/lib/wp/wp-includes/bookmark-template.php +0 -298
  758. data/lib/wp/wp-includes/bookmark.php +0 -416
  759. data/lib/wp/wp-includes/cache.php +0 -704
  760. data/lib/wp/wp-includes/canonical.php +0 -586
  761. data/lib/wp/wp-includes/capabilities.php +0 -1539
  762. data/lib/wp/wp-includes/category-template.php +0 -1407
  763. data/lib/wp/wp-includes/category.php +0 -343
  764. data/lib/wp/wp-includes/certificates/ca-bundle.crt +0 -3785
  765. data/lib/wp/wp-includes/class-IXR.php +0 -1100
  766. data/lib/wp/wp-includes/class-feed.php +0 -140
  767. data/lib/wp/wp-includes/class-http.php +0 -2245
  768. data/lib/wp/wp-includes/class-json.php +0 -936
  769. data/lib/wp/wp-includes/class-oembed.php +0 -579
  770. data/lib/wp/wp-includes/class-phpass.php +0 -260
  771. data/lib/wp/wp-includes/class-phpmailer.php +0 -3265
  772. data/lib/wp/wp-includes/class-pop3.php +0 -652
  773. data/lib/wp/wp-includes/class-simplepie.php +0 -3119
  774. data/lib/wp/wp-includes/class-smtp.php +0 -943
  775. data/lib/wp/wp-includes/class-snoopy.php +0 -1256
  776. data/lib/wp/wp-includes/class-wp-admin-bar.php +0 -517
  777. data/lib/wp/wp-includes/class-wp-ajax-response.php +0 -199
  778. data/lib/wp/wp-includes/class-wp-customize-control.php +0 -1124
  779. data/lib/wp/wp-includes/class-wp-customize-manager.php +0 -1272
  780. data/lib/wp/wp-includes/class-wp-customize-panel.php +0 -200
  781. data/lib/wp/wp-includes/class-wp-customize-section.php +0 -196
  782. data/lib/wp/wp-includes/class-wp-customize-setting.php +0 -554
  783. data/lib/wp/wp-includes/class-wp-customize-widgets.php +0 -1556
  784. data/lib/wp/wp-includes/class-wp-editor.php +0 -1435
  785. data/lib/wp/wp-includes/class-wp-embed.php +0 -373
  786. data/lib/wp/wp-includes/class-wp-error.php +0 -276
  787. data/lib/wp/wp-includes/class-wp-http-ixr-client.php +0 -97
  788. data/lib/wp/wp-includes/class-wp-image-editor-gd.php +0 -459
  789. data/lib/wp/wp-includes/class-wp-image-editor-imagick.php +0 -512
  790. data/lib/wp/wp-includes/class-wp-image-editor.php +0 -475
  791. data/lib/wp/wp-includes/class-wp-theme.php +0 -1235
  792. data/lib/wp/wp-includes/class-wp-walker.php +0 -471
  793. data/lib/wp/wp-includes/class-wp-xmlrpc-server.php +0 -5984
  794. data/lib/wp/wp-includes/class-wp.php +0 -782
  795. data/lib/wp/wp-includes/class.wp-dependencies.php +0 -509
  796. data/lib/wp/wp-includes/class.wp-scripts.php +0 -247
  797. data/lib/wp/wp-includes/class.wp-styles.php +0 -210
  798. data/lib/wp/wp-includes/comment-template.php +0 -2286
  799. data/lib/wp/wp-includes/comment.php +0 -2606
  800. data/lib/wp/wp-includes/compat.php +0 -125
  801. data/lib/wp/wp-includes/cron.php +0 -469
  802. data/lib/wp/wp-includes/css/admin-bar-rtl.css +0 -1099
  803. data/lib/wp/wp-includes/css/admin-bar-rtl.min.css +0 -1
  804. data/lib/wp/wp-includes/css/admin-bar.css +0 -1099
  805. data/lib/wp/wp-includes/css/admin-bar.min.css +0 -1
  806. data/lib/wp/wp-includes/css/buttons-rtl.css +0 -364
  807. data/lib/wp/wp-includes/css/buttons-rtl.min.css +0 -1
  808. data/lib/wp/wp-includes/css/buttons.css +0 -364
  809. data/lib/wp/wp-includes/css/buttons.min.css +0 -1
  810. data/lib/wp/wp-includes/css/dashicons.css +0 -893
  811. data/lib/wp/wp-includes/css/dashicons.min.css +0 -1
  812. data/lib/wp/wp-includes/css/editor-rtl.css +0 -1993
  813. data/lib/wp/wp-includes/css/editor-rtl.min.css +0 -1
  814. data/lib/wp/wp-includes/css/editor.css +0 -1993
  815. data/lib/wp/wp-includes/css/editor.min.css +0 -1
  816. data/lib/wp/wp-includes/css/jquery-ui-dialog-rtl.css +0 -343
  817. data/lib/wp/wp-includes/css/jquery-ui-dialog-rtl.min.css +0 -19
  818. data/lib/wp/wp-includes/css/jquery-ui-dialog.css +0 -343
  819. data/lib/wp/wp-includes/css/jquery-ui-dialog.min.css +0 -19
  820. data/lib/wp/wp-includes/css/media-views-rtl.css +0 -2568
  821. data/lib/wp/wp-includes/css/media-views-rtl.min.css +0 -1
  822. data/lib/wp/wp-includes/css/media-views.css +0 -2568
  823. data/lib/wp/wp-includes/css/media-views.min.css +0 -1
  824. data/lib/wp/wp-includes/css/wp-auth-check-rtl.css +0 -100
  825. data/lib/wp/wp-includes/css/wp-auth-check-rtl.min.css +0 -1
  826. data/lib/wp/wp-includes/css/wp-auth-check.css +0 -100
  827. data/lib/wp/wp-includes/css/wp-auth-check.min.css +0 -1
  828. data/lib/wp/wp-includes/css/wp-pointer-rtl.css +0 -212
  829. data/lib/wp/wp-includes/css/wp-pointer-rtl.min.css +0 -1
  830. data/lib/wp/wp-includes/css/wp-pointer.css +0 -212
  831. data/lib/wp/wp-includes/css/wp-pointer.min.css +0 -1
  832. data/lib/wp/wp-includes/date.php +0 -475
  833. data/lib/wp/wp-includes/default-constants.php +0 -323
  834. data/lib/wp/wp-includes/default-filters.php +0 -307
  835. data/lib/wp/wp-includes/default-widgets.php +0 -1423
  836. data/lib/wp/wp-includes/deprecated.php +0 -3501
  837. data/lib/wp/wp-includes/feed-atom-comments.php +0 -115
  838. data/lib/wp/wp-includes/feed-atom.php +0 -87
  839. data/lib/wp/wp-includes/feed-rdf.php +0 -81
  840. data/lib/wp/wp-includes/feed-rss.php +0 -46
  841. data/lib/wp/wp-includes/feed-rss2-comments.php +0 -97
  842. data/lib/wp/wp-includes/feed-rss2.php +0 -115
  843. data/lib/wp/wp-includes/feed.php +0 -659
  844. data/lib/wp/wp-includes/fonts/dashicons.eot +0 -0
  845. data/lib/wp/wp-includes/fonts/dashicons.svg +0 -250
  846. data/lib/wp/wp-includes/fonts/dashicons.ttf +0 -0
  847. data/lib/wp/wp-includes/fonts/dashicons.woff +0 -0
  848. data/lib/wp/wp-includes/formatting.php +0 -4006
  849. data/lib/wp/wp-includes/functions.php +0 -4631
  850. data/lib/wp/wp-includes/functions.wp-scripts.php +0 -258
  851. data/lib/wp/wp-includes/functions.wp-styles.php +0 -245
  852. data/lib/wp/wp-includes/general-template.php +0 -2982
  853. data/lib/wp/wp-includes/http.php +0 -551
  854. data/lib/wp/wp-includes/images/admin-bar-sprite-2x.png +0 -0
  855. data/lib/wp/wp-includes/images/admin-bar-sprite.png +0 -0
  856. data/lib/wp/wp-includes/images/arrow-pointer-blue-2x.png +0 -0
  857. data/lib/wp/wp-includes/images/arrow-pointer-blue.png +0 -0
  858. data/lib/wp/wp-includes/images/blank.gif +0 -0
  859. data/lib/wp/wp-includes/images/crystal/archive.png +0 -0
  860. data/lib/wp/wp-includes/images/crystal/audio.png +0 -0
  861. data/lib/wp/wp-includes/images/crystal/code.png +0 -0
  862. data/lib/wp/wp-includes/images/crystal/default.png +0 -0
  863. data/lib/wp/wp-includes/images/crystal/document.png +0 -0
  864. data/lib/wp/wp-includes/images/crystal/interactive.png +0 -0
  865. data/lib/wp/wp-includes/images/crystal/license.txt +0 -9
  866. data/lib/wp/wp-includes/images/crystal/spreadsheet.png +0 -0
  867. data/lib/wp/wp-includes/images/crystal/text.png +0 -0
  868. data/lib/wp/wp-includes/images/crystal/video.png +0 -0
  869. data/lib/wp/wp-includes/images/down_arrow-2x.gif +0 -0
  870. data/lib/wp/wp-includes/images/down_arrow.gif +0 -0
  871. data/lib/wp/wp-includes/images/icon-pointer-flag-2x.png +0 -0
  872. data/lib/wp/wp-includes/images/icon-pointer-flag.png +0 -0
  873. data/lib/wp/wp-includes/images/media/archive.png +0 -0
  874. data/lib/wp/wp-includes/images/media/audio.png +0 -0
  875. data/lib/wp/wp-includes/images/media/code.png +0 -0
  876. data/lib/wp/wp-includes/images/media/default.png +0 -0
  877. data/lib/wp/wp-includes/images/media/document.png +0 -0
  878. data/lib/wp/wp-includes/images/media/interactive.png +0 -0
  879. data/lib/wp/wp-includes/images/media/spreadsheet.png +0 -0
  880. data/lib/wp/wp-includes/images/media/text.png +0 -0
  881. data/lib/wp/wp-includes/images/media/video.png +0 -0
  882. data/lib/wp/wp-includes/images/rss-2x.png +0 -0
  883. data/lib/wp/wp-includes/images/rss.png +0 -0
  884. data/lib/wp/wp-includes/images/smilies/icon_arrow.gif +0 -0
  885. data/lib/wp/wp-includes/images/smilies/icon_biggrin.gif +0 -0
  886. data/lib/wp/wp-includes/images/smilies/icon_confused.gif +0 -0
  887. data/lib/wp/wp-includes/images/smilies/icon_cool.gif +0 -0
  888. data/lib/wp/wp-includes/images/smilies/icon_cry.gif +0 -0
  889. data/lib/wp/wp-includes/images/smilies/icon_eek.gif +0 -0
  890. data/lib/wp/wp-includes/images/smilies/icon_evil.gif +0 -0
  891. data/lib/wp/wp-includes/images/smilies/icon_exclaim.gif +0 -0
  892. data/lib/wp/wp-includes/images/smilies/icon_idea.gif +0 -0
  893. data/lib/wp/wp-includes/images/smilies/icon_lol.gif +0 -0
  894. data/lib/wp/wp-includes/images/smilies/icon_mad.gif +0 -0
  895. data/lib/wp/wp-includes/images/smilies/icon_mrgreen.gif +0 -0
  896. data/lib/wp/wp-includes/images/smilies/icon_neutral.gif +0 -0
  897. data/lib/wp/wp-includes/images/smilies/icon_question.gif +0 -0
  898. data/lib/wp/wp-includes/images/smilies/icon_razz.gif +0 -0
  899. data/lib/wp/wp-includes/images/smilies/icon_redface.gif +0 -0
  900. data/lib/wp/wp-includes/images/smilies/icon_rolleyes.gif +0 -0
  901. data/lib/wp/wp-includes/images/smilies/icon_sad.gif +0 -0
  902. data/lib/wp/wp-includes/images/smilies/icon_smile.gif +0 -0
  903. data/lib/wp/wp-includes/images/smilies/icon_surprised.gif +0 -0
  904. data/lib/wp/wp-includes/images/smilies/icon_twisted.gif +0 -0
  905. data/lib/wp/wp-includes/images/smilies/icon_wink.gif +0 -0
  906. data/lib/wp/wp-includes/images/spinner-2x.gif +0 -0
  907. data/lib/wp/wp-includes/images/spinner.gif +0 -0
  908. data/lib/wp/wp-includes/images/toggle-arrow-2x.png +0 -0
  909. data/lib/wp/wp-includes/images/toggle-arrow.png +0 -0
  910. data/lib/wp/wp-includes/images/uploader-icons-2x.png +0 -0
  911. data/lib/wp/wp-includes/images/uploader-icons.png +0 -0
  912. data/lib/wp/wp-includes/images/wlw/wp-comments.png +0 -0
  913. data/lib/wp/wp-includes/images/wlw/wp-icon.png +0 -0
  914. data/lib/wp/wp-includes/images/wlw/wp-watermark.png +0 -0
  915. data/lib/wp/wp-includes/images/wpicons-2x.png +0 -0
  916. data/lib/wp/wp-includes/images/wpicons.png +0 -0
  917. data/lib/wp/wp-includes/images/wpspin-2x.gif +0 -0
  918. data/lib/wp/wp-includes/images/wpspin.gif +0 -0
  919. data/lib/wp/wp-includes/images/xit-2x.gif +0 -0
  920. data/lib/wp/wp-includes/images/xit.gif +0 -0
  921. data/lib/wp/wp-includes/js/admin-bar.js +0 -365
  922. data/lib/wp/wp-includes/js/admin-bar.min.js +0 -1
  923. data/lib/wp/wp-includes/js/autosave.js +0 -589
  924. data/lib/wp/wp-includes/js/autosave.min.js +0 -1
  925. data/lib/wp/wp-includes/js/backbone.min.js +0 -1
  926. data/lib/wp/wp-includes/js/colorpicker.js +0 -707
  927. data/lib/wp/wp-includes/js/colorpicker.min.js +0 -1
  928. data/lib/wp/wp-includes/js/comment-reply.js +0 -47
  929. data/lib/wp/wp-includes/js/comment-reply.min.js +0 -1
  930. data/lib/wp/wp-includes/js/crop/cropper.css +0 -165
  931. data/lib/wp/wp-includes/js/crop/cropper.js +0 -516
  932. data/lib/wp/wp-includes/js/crop/marqueeHoriz.gif +0 -0
  933. data/lib/wp/wp-includes/js/crop/marqueeVert.gif +0 -0
  934. data/lib/wp/wp-includes/js/customize-base.js +0 -617
  935. data/lib/wp/wp-includes/js/customize-base.min.js +0 -1
  936. data/lib/wp/wp-includes/js/customize-loader.js +0 -246
  937. data/lib/wp/wp-includes/js/customize-loader.min.js +0 -1
  938. data/lib/wp/wp-includes/js/customize-models.js +0 -247
  939. data/lib/wp/wp-includes/js/customize-models.min.js +0 -1
  940. data/lib/wp/wp-includes/js/customize-preview-widgets.js +0 -129
  941. data/lib/wp/wp-includes/js/customize-preview-widgets.min.js +0 -1
  942. data/lib/wp/wp-includes/js/customize-preview.js +0 -154
  943. data/lib/wp/wp-includes/js/customize-preview.min.js +0 -1
  944. data/lib/wp/wp-includes/js/customize-views.js +0 -231
  945. data/lib/wp/wp-includes/js/customize-views.min.js +0 -1
  946. data/lib/wp/wp-includes/js/heartbeat.js +0 -738
  947. data/lib/wp/wp-includes/js/heartbeat.min.js +0 -1
  948. data/lib/wp/wp-includes/js/hoverIntent.js +0 -115
  949. data/lib/wp/wp-includes/js/hoverIntent.min.js +0 -1
  950. data/lib/wp/wp-includes/js/imgareaselect/border-anim-h.gif +0 -0
  951. data/lib/wp/wp-includes/js/imgareaselect/border-anim-v.gif +0 -0
  952. data/lib/wp/wp-includes/js/imgareaselect/imgareaselect.css +0 -41
  953. data/lib/wp/wp-includes/js/imgareaselect/jquery.imgareaselect.js +0 -1205
  954. data/lib/wp/wp-includes/js/imgareaselect/jquery.imgareaselect.min.js +0 -1
  955. data/lib/wp/wp-includes/js/jcrop/Jcrop.gif +0 -0
  956. data/lib/wp/wp-includes/js/jcrop/jquery.Jcrop.min.css +0 -29
  957. data/lib/wp/wp-includes/js/jcrop/jquery.Jcrop.min.js +0 -22
  958. data/lib/wp/wp-includes/js/jquery/jquery-migrate.js +0 -521
  959. data/lib/wp/wp-includes/js/jquery/jquery-migrate.min.js +0 -2
  960. data/lib/wp/wp-includes/js/jquery/jquery.color.min.js +0 -2
  961. data/lib/wp/wp-includes/js/jquery/jquery.form.js +0 -1193
  962. data/lib/wp/wp-includes/js/jquery/jquery.form.min.js +0 -11
  963. data/lib/wp/wp-includes/js/jquery/jquery.hotkeys.js +0 -134
  964. data/lib/wp/wp-includes/js/jquery/jquery.hotkeys.min.js +0 -1
  965. data/lib/wp/wp-includes/js/jquery/jquery.js +0 -5
  966. data/lib/wp/wp-includes/js/jquery/jquery.masonry.min.js +0 -11
  967. data/lib/wp/wp-includes/js/jquery/jquery.query.js +0 -11
  968. data/lib/wp/wp-includes/js/jquery/jquery.schedule.js +0 -36
  969. data/lib/wp/wp-includes/js/jquery/jquery.serialize-object.js +0 -31
  970. data/lib/wp/wp-includes/js/jquery/jquery.table-hotkeys.js +0 -99
  971. data/lib/wp/wp-includes/js/jquery/jquery.table-hotkeys.min.js +0 -1
  972. data/lib/wp/wp-includes/js/jquery/jquery.ui.touch-punch.js +0 -11
  973. data/lib/wp/wp-includes/js/jquery/suggest.js +0 -316
  974. data/lib/wp/wp-includes/js/jquery/suggest.min.js +0 -1
  975. data/lib/wp/wp-includes/js/jquery/ui/accordion.min.js +0 -11
  976. data/lib/wp/wp-includes/js/jquery/ui/autocomplete.min.js +0 -11
  977. data/lib/wp/wp-includes/js/jquery/ui/button.min.js +0 -11
  978. data/lib/wp/wp-includes/js/jquery/ui/core.min.js +0 -11
  979. data/lib/wp/wp-includes/js/jquery/ui/datepicker.min.js +0 -12
  980. data/lib/wp/wp-includes/js/jquery/ui/dialog.min.js +0 -11
  981. data/lib/wp/wp-includes/js/jquery/ui/draggable.min.js +0 -11
  982. data/lib/wp/wp-includes/js/jquery/ui/droppable.min.js +0 -11
  983. data/lib/wp/wp-includes/js/jquery/ui/effect-blind.min.js +0 -11
  984. data/lib/wp/wp-includes/js/jquery/ui/effect-bounce.min.js +0 -11
  985. data/lib/wp/wp-includes/js/jquery/ui/effect-clip.min.js +0 -11
  986. data/lib/wp/wp-includes/js/jquery/ui/effect-drop.min.js +0 -11
  987. data/lib/wp/wp-includes/js/jquery/ui/effect-explode.min.js +0 -11
  988. data/lib/wp/wp-includes/js/jquery/ui/effect-fade.min.js +0 -11
  989. data/lib/wp/wp-includes/js/jquery/ui/effect-fold.min.js +0 -11
  990. data/lib/wp/wp-includes/js/jquery/ui/effect-highlight.min.js +0 -11
  991. data/lib/wp/wp-includes/js/jquery/ui/effect-puff.min.js +0 -11
  992. data/lib/wp/wp-includes/js/jquery/ui/effect-pulsate.min.js +0 -11
  993. data/lib/wp/wp-includes/js/jquery/ui/effect-scale.min.js +0 -11
  994. data/lib/wp/wp-includes/js/jquery/ui/effect-shake.min.js +0 -11
  995. data/lib/wp/wp-includes/js/jquery/ui/effect-size.min.js +0 -11
  996. data/lib/wp/wp-includes/js/jquery/ui/effect-slide.min.js +0 -11
  997. data/lib/wp/wp-includes/js/jquery/ui/effect-transfer.min.js +0 -11
  998. data/lib/wp/wp-includes/js/jquery/ui/effect.min.js +0 -21
  999. data/lib/wp/wp-includes/js/jquery/ui/menu.min.js +0 -11
  1000. data/lib/wp/wp-includes/js/jquery/ui/mouse.min.js +0 -11
  1001. data/lib/wp/wp-includes/js/jquery/ui/position.min.js +0 -11
  1002. data/lib/wp/wp-includes/js/jquery/ui/progressbar.min.js +0 -11
  1003. data/lib/wp/wp-includes/js/jquery/ui/resizable.min.js +0 -11
  1004. data/lib/wp/wp-includes/js/jquery/ui/selectable.min.js +0 -11
  1005. data/lib/wp/wp-includes/js/jquery/ui/selectmenu.min.js +0 -11
  1006. data/lib/wp/wp-includes/js/jquery/ui/slider.min.js +0 -11
  1007. data/lib/wp/wp-includes/js/jquery/ui/sortable.min.js +0 -11
  1008. data/lib/wp/wp-includes/js/jquery/ui/spinner.min.js +0 -11
  1009. data/lib/wp/wp-includes/js/jquery/ui/tabs.min.js +0 -11
  1010. data/lib/wp/wp-includes/js/jquery/ui/tooltip.min.js +0 -11
  1011. data/lib/wp/wp-includes/js/jquery/ui/widget.min.js +0 -11
  1012. data/lib/wp/wp-includes/js/json2.js +0 -480
  1013. data/lib/wp/wp-includes/js/json2.min.js +0 -1
  1014. data/lib/wp/wp-includes/js/masonry.min.js +0 -1
  1015. data/lib/wp/wp-includes/js/mce-view.js +0 -829
  1016. data/lib/wp/wp-includes/js/mce-view.min.js +0 -1
  1017. data/lib/wp/wp-includes/js/media-audiovideo.js +0 -831
  1018. data/lib/wp/wp-includes/js/media-audiovideo.min.js +0 -1
  1019. data/lib/wp/wp-includes/js/media-editor.js +0 -1114
  1020. data/lib/wp/wp-includes/js/media-editor.min.js +0 -1
  1021. data/lib/wp/wp-includes/js/media-grid.js +0 -732
  1022. data/lib/wp/wp-includes/js/media-grid.min.js +0 -1
  1023. data/lib/wp/wp-includes/js/media-models.js +0 -1362
  1024. data/lib/wp/wp-includes/js/media-models.min.js +0 -1
  1025. data/lib/wp/wp-includes/js/media-views.js +0 -7484
  1026. data/lib/wp/wp-includes/js/media-views.min.js +0 -3
  1027. data/lib/wp/wp-includes/js/mediaelement/background.png +0 -0
  1028. data/lib/wp/wp-includes/js/mediaelement/bigplay.png +0 -0
  1029. data/lib/wp/wp-includes/js/mediaelement/bigplay.svg +0 -1
  1030. data/lib/wp/wp-includes/js/mediaelement/controls.png +0 -0
  1031. data/lib/wp/wp-includes/js/mediaelement/controls.svg +0 -1
  1032. data/lib/wp/wp-includes/js/mediaelement/flashmediaelement.swf +0 -0
  1033. data/lib/wp/wp-includes/js/mediaelement/loading.gif +0 -0
  1034. data/lib/wp/wp-includes/js/mediaelement/mediaelement-and-player.min.js +0 -181
  1035. data/lib/wp/wp-includes/js/mediaelement/mediaelementplayer.min.css +0 -1
  1036. data/lib/wp/wp-includes/js/mediaelement/silverlightmediaelement.xap +0 -0
  1037. data/lib/wp/wp-includes/js/mediaelement/wp-mediaelement.css +0 -274
  1038. data/lib/wp/wp-includes/js/mediaelement/wp-mediaelement.js +0 -34
  1039. data/lib/wp/wp-includes/js/mediaelement/wp-playlist.js +0 -175
  1040. data/lib/wp/wp-includes/js/plupload/handlers.js +0 -488
  1041. data/lib/wp/wp-includes/js/plupload/handlers.min.js +0 -1
  1042. data/lib/wp/wp-includes/js/plupload/license.txt +0 -339
  1043. data/lib/wp/wp-includes/js/plupload/plupload.flash.swf +0 -0
  1044. data/lib/wp/wp-includes/js/plupload/plupload.full.min.js +0 -28
  1045. data/lib/wp/wp-includes/js/plupload/plupload.silverlight.xap +0 -0
  1046. data/lib/wp/wp-includes/js/plupload/wp-plupload.js +0 -376
  1047. data/lib/wp/wp-includes/js/plupload/wp-plupload.min.js +0 -1
  1048. data/lib/wp/wp-includes/js/quicktags.js +0 -652
  1049. data/lib/wp/wp-includes/js/quicktags.min.js +0 -1
  1050. data/lib/wp/wp-includes/js/shortcode.js +0 -356
  1051. data/lib/wp/wp-includes/js/shortcode.min.js +0 -1
  1052. data/lib/wp/wp-includes/js/swfobject.js +0 -4
  1053. data/lib/wp/wp-includes/js/swfupload/handlers.js +0 -376
  1054. data/lib/wp/wp-includes/js/swfupload/handlers.min.js +0 -1
  1055. data/lib/wp/wp-includes/js/swfupload/license.txt +0 -32
  1056. data/lib/wp/wp-includes/js/swfupload/plugins/swfupload.cookies.js +0 -53
  1057. data/lib/wp/wp-includes/js/swfupload/plugins/swfupload.queue.js +0 -98
  1058. data/lib/wp/wp-includes/js/swfupload/plugins/swfupload.speed.js +0 -342
  1059. data/lib/wp/wp-includes/js/swfupload/plugins/swfupload.swfobject.js +0 -105
  1060. data/lib/wp/wp-includes/js/swfupload/swfupload.js +0 -980
  1061. data/lib/wp/wp-includes/js/swfupload/swfupload.swf +0 -0
  1062. data/lib/wp/wp-includes/js/thickbox/loadingAnimation.gif +0 -0
  1063. data/lib/wp/wp-includes/js/thickbox/macFFBgHack.png +0 -0
  1064. data/lib/wp/wp-includes/js/thickbox/thickbox.css +0 -138
  1065. data/lib/wp/wp-includes/js/thickbox/thickbox.js +0 -314
  1066. data/lib/wp/wp-includes/js/tinymce/langs/wp-langs-en.js +0 -519
  1067. data/lib/wp/wp-includes/js/tinymce/license.txt +0 -504
  1068. data/lib/wp/wp-includes/js/tinymce/plugins/charmap/plugin.js +0 -370
  1069. data/lib/wp/wp-includes/js/tinymce/plugins/charmap/plugin.min.js +0 -1
  1070. data/lib/wp/wp-includes/js/tinymce/plugins/colorpicker/plugin.js +0 -112
  1071. data/lib/wp/wp-includes/js/tinymce/plugins/colorpicker/plugin.min.js +0 -1
  1072. data/lib/wp/wp-includes/js/tinymce/plugins/compat3x/css/dialog.css +0 -212
  1073. data/lib/wp/wp-includes/js/tinymce/plugins/compat3x/plugin.js +0 -304
  1074. data/lib/wp/wp-includes/js/tinymce/plugins/compat3x/plugin.min.js +0 -1
  1075. data/lib/wp/wp-includes/js/tinymce/plugins/directionality/plugin.js +0 -64
  1076. data/lib/wp/wp-includes/js/tinymce/plugins/directionality/plugin.min.js +0 -1
  1077. data/lib/wp/wp-includes/js/tinymce/plugins/fullscreen/plugin.js +0 -136
  1078. data/lib/wp/wp-includes/js/tinymce/plugins/fullscreen/plugin.min.js +0 -1
  1079. data/lib/wp/wp-includes/js/tinymce/plugins/hr/plugin.js +0 -30
  1080. data/lib/wp/wp-includes/js/tinymce/plugins/hr/plugin.min.js +0 -1
  1081. data/lib/wp/wp-includes/js/tinymce/plugins/image/plugin.js +0 -450
  1082. data/lib/wp/wp-includes/js/tinymce/plugins/image/plugin.min.js +0 -1
  1083. data/lib/wp/wp-includes/js/tinymce/plugins/lists/plugin.js +0 -786
  1084. data/lib/wp/wp-includes/js/tinymce/plugins/lists/plugin.min.js +0 -1
  1085. data/lib/wp/wp-includes/js/tinymce/plugins/media/moxieplayer.swf +0 -0
  1086. data/lib/wp/wp-includes/js/tinymce/plugins/media/plugin.js +0 -774
  1087. data/lib/wp/wp-includes/js/tinymce/plugins/media/plugin.min.js +0 -1
  1088. data/lib/wp/wp-includes/js/tinymce/plugins/paste/plugin.js +0 -1553
  1089. data/lib/wp/wp-includes/js/tinymce/plugins/paste/plugin.min.js +0 -1
  1090. data/lib/wp/wp-includes/js/tinymce/plugins/tabfocus/plugin.js +0 -125
  1091. data/lib/wp/wp-includes/js/tinymce/plugins/tabfocus/plugin.min.js +0 -1
  1092. data/lib/wp/wp-includes/js/tinymce/plugins/textcolor/plugin.js +0 -272
  1093. data/lib/wp/wp-includes/js/tinymce/plugins/textcolor/plugin.min.js +0 -1
  1094. data/lib/wp/wp-includes/js/tinymce/plugins/wordpress/plugin.js +0 -513
  1095. data/lib/wp/wp-includes/js/tinymce/plugins/wordpress/plugin.min.js +0 -1
  1096. data/lib/wp/wp-includes/js/tinymce/plugins/wpautoresize/plugin.js +0 -207
  1097. data/lib/wp/wp-includes/js/tinymce/plugins/wpautoresize/plugin.min.js +0 -1
  1098. data/lib/wp/wp-includes/js/tinymce/plugins/wpdialogs/plugin.js +0 -92
  1099. data/lib/wp/wp-includes/js/tinymce/plugins/wpdialogs/plugin.min.js +0 -1
  1100. data/lib/wp/wp-includes/js/tinymce/plugins/wpeditimage/plugin.js +0 -1035
  1101. data/lib/wp/wp-includes/js/tinymce/plugins/wpeditimage/plugin.min.js +0 -1
  1102. data/lib/wp/wp-includes/js/tinymce/plugins/wpfullscreen/plugin.js +0 -78
  1103. data/lib/wp/wp-includes/js/tinymce/plugins/wpfullscreen/plugin.min.js +0 -1
  1104. data/lib/wp/wp-includes/js/tinymce/plugins/wpgallery/plugin.js +0 -130
  1105. data/lib/wp/wp-includes/js/tinymce/plugins/wpgallery/plugin.min.js +0 -1
  1106. data/lib/wp/wp-includes/js/tinymce/plugins/wplink/plugin.js +0 -63
  1107. data/lib/wp/wp-includes/js/tinymce/plugins/wplink/plugin.min.js +0 -1
  1108. data/lib/wp/wp-includes/js/tinymce/plugins/wpview/plugin.js +0 -694
  1109. data/lib/wp/wp-includes/js/tinymce/plugins/wpview/plugin.min.js +0 -1
  1110. data/lib/wp/wp-includes/js/tinymce/skins/lightgray/content.inline.min.css +0 -1
  1111. data/lib/wp/wp-includes/js/tinymce/skins/lightgray/content.min.css +0 -1
  1112. data/lib/wp/wp-includes/js/tinymce/skins/lightgray/fonts/readme.md +0 -1
  1113. data/lib/wp/wp-includes/js/tinymce/skins/lightgray/fonts/tinymce-small.eot +0 -0
  1114. data/lib/wp/wp-includes/js/tinymce/skins/lightgray/fonts/tinymce-small.svg +0 -62
  1115. data/lib/wp/wp-includes/js/tinymce/skins/lightgray/fonts/tinymce-small.ttf +0 -0
  1116. data/lib/wp/wp-includes/js/tinymce/skins/lightgray/fonts/tinymce-small.woff +0 -0
  1117. data/lib/wp/wp-includes/js/tinymce/skins/lightgray/fonts/tinymce.eot +0 -0
  1118. data/lib/wp/wp-includes/js/tinymce/skins/lightgray/fonts/tinymce.svg +0 -63
  1119. data/lib/wp/wp-includes/js/tinymce/skins/lightgray/fonts/tinymce.ttf +0 -0
  1120. data/lib/wp/wp-includes/js/tinymce/skins/lightgray/fonts/tinymce.woff +0 -0
  1121. data/lib/wp/wp-includes/js/tinymce/skins/lightgray/img/anchor.gif +0 -0
  1122. data/lib/wp/wp-includes/js/tinymce/skins/lightgray/img/loader.gif +0 -0
  1123. data/lib/wp/wp-includes/js/tinymce/skins/lightgray/img/object.gif +0 -0
  1124. data/lib/wp/wp-includes/js/tinymce/skins/lightgray/img/trans.gif +0 -0
  1125. data/lib/wp/wp-includes/js/tinymce/skins/lightgray/skin.ie7.min.css +0 -1
  1126. data/lib/wp/wp-includes/js/tinymce/skins/lightgray/skin.min.css +0 -1
  1127. data/lib/wp/wp-includes/js/tinymce/skins/wordpress/images/audio.png +0 -0
  1128. data/lib/wp/wp-includes/js/tinymce/skins/wordpress/images/dashicon-edit.png +0 -0
  1129. data/lib/wp/wp-includes/js/tinymce/skins/wordpress/images/dashicon-no-alt.png +0 -0
  1130. data/lib/wp/wp-includes/js/tinymce/skins/wordpress/images/embedded.png +0 -0
  1131. data/lib/wp/wp-includes/js/tinymce/skins/wordpress/images/gallery-2x.png +0 -0
  1132. data/lib/wp/wp-includes/js/tinymce/skins/wordpress/images/gallery.png +0 -0
  1133. data/lib/wp/wp-includes/js/tinymce/skins/wordpress/images/more-2x.png +0 -0
  1134. data/lib/wp/wp-includes/js/tinymce/skins/wordpress/images/more.png +0 -0
  1135. data/lib/wp/wp-includes/js/tinymce/skins/wordpress/images/pagebreak-2x.png +0 -0
  1136. data/lib/wp/wp-includes/js/tinymce/skins/wordpress/images/pagebreak.png +0 -0
  1137. data/lib/wp/wp-includes/js/tinymce/skins/wordpress/images/playlist-audio.png +0 -0
  1138. data/lib/wp/wp-includes/js/tinymce/skins/wordpress/images/playlist-video.png +0 -0
  1139. data/lib/wp/wp-includes/js/tinymce/skins/wordpress/images/video.png +0 -0
  1140. data/lib/wp/wp-includes/js/tinymce/skins/wordpress/wp-content.css +0 -618
  1141. data/lib/wp/wp-includes/js/tinymce/themes/modern/theme.js +0 -617
  1142. data/lib/wp/wp-includes/js/tinymce/themes/modern/theme.min.js +0 -1
  1143. data/lib/wp/wp-includes/js/tinymce/tiny_mce_popup.js +0 -539
  1144. data/lib/wp/wp-includes/js/tinymce/tinymce.min.js +0 -11
  1145. data/lib/wp/wp-includes/js/tinymce/utils/editable_selects.js +0 -70
  1146. data/lib/wp/wp-includes/js/tinymce/utils/form_utils.js +0 -210
  1147. data/lib/wp/wp-includes/js/tinymce/utils/mctabs.js +0 -164
  1148. data/lib/wp/wp-includes/js/tinymce/utils/validate.js +0 -252
  1149. data/lib/wp/wp-includes/js/tinymce/wp-mce-help.php +0 -145
  1150. data/lib/wp/wp-includes/js/tinymce/wp-tinymce.js.gz +0 -0
  1151. data/lib/wp/wp-includes/js/tinymce/wp-tinymce.php +0 -39
  1152. data/lib/wp/wp-includes/js/tw-sack.js +0 -193
  1153. data/lib/wp/wp-includes/js/tw-sack.min.js +0 -1
  1154. data/lib/wp/wp-includes/js/underscore.min.js +0 -1
  1155. data/lib/wp/wp-includes/js/utils.js +0 -197
  1156. data/lib/wp/wp-includes/js/utils.min.js +0 -1
  1157. data/lib/wp/wp-includes/js/wp-ajax-response.js +0 -64
  1158. data/lib/wp/wp-includes/js/wp-ajax-response.min.js +0 -1
  1159. data/lib/wp/wp-includes/js/wp-auth-check.js +0 -112
  1160. data/lib/wp/wp-includes/js/wp-auth-check.min.js +0 -1
  1161. data/lib/wp/wp-includes/js/wp-backbone.js +0 -386
  1162. data/lib/wp/wp-includes/js/wp-backbone.min.js +0 -1
  1163. data/lib/wp/wp-includes/js/wp-list-revisions.js +0 -24
  1164. data/lib/wp/wp-includes/js/wp-list-revisions.min.js +0 -1
  1165. data/lib/wp/wp-includes/js/wp-lists.js +0 -469
  1166. data/lib/wp/wp-includes/js/wp-lists.min.js +0 -1
  1167. data/lib/wp/wp-includes/js/wp-pointer.js +0 -282
  1168. data/lib/wp/wp-includes/js/wp-pointer.min.js +0 -1
  1169. data/lib/wp/wp-includes/js/wp-util.js +0 -106
  1170. data/lib/wp/wp-includes/js/wp-util.min.js +0 -1
  1171. data/lib/wp/wp-includes/js/wpdialog.js +0 -19
  1172. data/lib/wp/wp-includes/js/wpdialog.min.js +0 -1
  1173. data/lib/wp/wp-includes/js/wplink.js +0 -615
  1174. data/lib/wp/wp-includes/js/wplink.min.js +0 -1
  1175. data/lib/wp/wp-includes/js/zxcvbn-async.js +0 -18
  1176. data/lib/wp/wp-includes/js/zxcvbn-async.min.js +0 -1
  1177. data/lib/wp/wp-includes/js/zxcvbn.min.js +0 -47
  1178. data/lib/wp/wp-includes/kses.php +0 -1526
  1179. data/lib/wp/wp-includes/l10n.php +0 -908
  1180. data/lib/wp/wp-includes/link-template.php +0 -3141
  1181. data/lib/wp/wp-includes/load.php +0 -828
  1182. data/lib/wp/wp-includes/locale.php +0 -368
  1183. data/lib/wp/wp-includes/media-template.php +0 -1235
  1184. data/lib/wp/wp-includes/media.php +0 -3329
  1185. data/lib/wp/wp-includes/meta.php +0 -1221
  1186. data/lib/wp/wp-includes/ms-blogs.php +0 -939
  1187. data/lib/wp/wp-includes/ms-default-constants.php +0 -153
  1188. data/lib/wp/wp-includes/ms-default-filters.php +0 -82
  1189. data/lib/wp/wp-includes/ms-deprecated.php +0 -347
  1190. data/lib/wp/wp-includes/ms-files.php +0 -82
  1191. data/lib/wp/wp-includes/ms-functions.php +0 -2476
  1192. data/lib/wp/wp-includes/ms-load.php +0 -458
  1193. data/lib/wp/wp-includes/ms-settings.php +0 -213
  1194. data/lib/wp/wp-includes/nav-menu-template.php +0 -678
  1195. data/lib/wp/wp-includes/nav-menu.php +0 -895
  1196. data/lib/wp/wp-includes/option.php +0 -1440
  1197. data/lib/wp/wp-includes/pluggable-deprecated.php +0 -192
  1198. data/lib/wp/wp-includes/pluggable.php +0 -2283
  1199. data/lib/wp/wp-includes/plugin.php +0 -920
  1200. data/lib/wp/wp-includes/pomo/entry.php +0 -78
  1201. data/lib/wp/wp-includes/pomo/mo.php +0 -262
  1202. data/lib/wp/wp-includes/pomo/po.php +0 -384
  1203. data/lib/wp/wp-includes/pomo/streams.php +0 -209
  1204. data/lib/wp/wp-includes/pomo/translations.php +0 -275
  1205. data/lib/wp/wp-includes/post-formats.php +0 -243
  1206. data/lib/wp/wp-includes/post-template.php +0 -1766
  1207. data/lib/wp/wp-includes/post-thumbnail-template.php +0 -142
  1208. data/lib/wp/wp-includes/post.php +0 -5842
  1209. data/lib/wp/wp-includes/query.php +0 -4666
  1210. data/lib/wp/wp-includes/registration-functions.php +0 -7
  1211. data/lib/wp/wp-includes/registration.php +0 -7
  1212. data/lib/wp/wp-includes/revision.php +0 -657
  1213. data/lib/wp/wp-includes/rewrite.php +0 -2180
  1214. data/lib/wp/wp-includes/rss-functions.php +0 -9
  1215. data/lib/wp/wp-includes/rss.php +0 -936
  1216. data/lib/wp/wp-includes/script-loader.php +0 -1045
  1217. data/lib/wp/wp-includes/session.php +0 -430
  1218. data/lib/wp/wp-includes/shortcodes.php +0 -410
  1219. data/lib/wp/wp-includes/taxonomy.php +0 -4006
  1220. data/lib/wp/wp-includes/template-loader.php +0 -76
  1221. data/lib/wp/wp-includes/template.php +0 -505
  1222. data/lib/wp/wp-includes/theme-compat/comments-popup.php +0 -128
  1223. data/lib/wp/wp-includes/theme-compat/comments.php +0 -101
  1224. data/lib/wp/wp-includes/theme-compat/footer.php +0 -30
  1225. data/lib/wp/wp-includes/theme-compat/header.php +0 -49
  1226. data/lib/wp/wp-includes/theme-compat/sidebar.php +0 -83
  1227. data/lib/wp/wp-includes/theme.php +0 -2014
  1228. data/lib/wp/wp-includes/update.php +0 -674
  1229. data/lib/wp/wp-includes/user.php +0 -2292
  1230. data/lib/wp/wp-includes/vars.php +0 -144
  1231. data/lib/wp/wp-includes/version.php +0 -35
  1232. data/lib/wp/wp-includes/widgets.php +0 -1514
  1233. data/lib/wp/wp-includes/wlwmanifest.xml +0 -43
  1234. data/lib/wp/wp-includes/wp-db.php +0 -2190
  1235. data/lib/wp/wp-includes/wp-diff.php +0 -523
  1236. data/lib/wp/wp-links-opml.php +0 -80
  1237. data/lib/wp/wp-load.php +0 -73
  1238. data/lib/wp/wp-login.php +0 -952
  1239. data/lib/wp/wp-mail.php +0 -260
  1240. data/lib/wp/wp-settings.php +0 -374
  1241. data/lib/wp/wp-signup.php +0 -749
  1242. data/lib/wp/wp-trackback.php +0 -127
  1243. data/lib/wp/xmlrpc.php +0 -101
@@ -1,2292 +0,0 @@
1
- <?php
2
- /**
3
- * WordPress User API
4
- *
5
- * @package WordPress
6
- * @subpackage Users
7
- */
8
-
9
- /**
10
- * Authenticate user with remember capability.
11
- *
12
- * The credentials is an array that has 'user_login', 'user_password', and
13
- * 'remember' indices. If the credentials is not given, then the log in form
14
- * will be assumed and used if set.
15
- *
16
- * The various authentication cookies will be set by this function and will be
17
- * set for a longer period depending on if the 'remember' credential is set to
18
- * true.
19
- *
20
- * @since 2.5.0
21
- *
22
- * @param array $credentials Optional. User info in order to sign on.
23
- * @param bool $secure_cookie Optional. Whether to use secure cookie.
24
- * @return WP_User|WP_Error WP_User on success, WP_Error on failure.
25
- */
26
- function wp_signon( $credentials = array(), $secure_cookie = '' ) {
27
- if ( empty($credentials) ) {
28
- if ( ! empty($_POST['log']) )
29
- $credentials['user_login'] = $_POST['log'];
30
- if ( ! empty($_POST['pwd']) )
31
- $credentials['user_password'] = $_POST['pwd'];
32
- if ( ! empty($_POST['rememberme']) )
33
- $credentials['remember'] = $_POST['rememberme'];
34
- }
35
-
36
- if ( !empty($credentials['remember']) )
37
- $credentials['remember'] = true;
38
- else
39
- $credentials['remember'] = false;
40
-
41
- /**
42
- * Fires before the user is authenticated.
43
- *
44
- * The variables passed to the callbacks are passed by reference,
45
- * and can be modified by callback functions.
46
- *
47
- * @since 1.5.1
48
- *
49
- * @todo Decide whether to deprecate the wp_authenticate action.
50
- *
51
- * @param string $user_login Username, passed by reference.
52
- * @param string $user_password User password, passed by reference.
53
- */
54
- do_action_ref_array( 'wp_authenticate', array( &$credentials['user_login'], &$credentials['user_password'] ) );
55
-
56
- if ( '' === $secure_cookie )
57
- $secure_cookie = is_ssl();
58
-
59
- /**
60
- * Filter whether to use a secure sign-on cookie.
61
- *
62
- * @since 3.1.0
63
- *
64
- * @param bool $secure_cookie Whether to use a secure sign-on cookie.
65
- * @param array $credentials {
66
- * Array of entered sign-on data.
67
- *
68
- * @type string $user_login Username.
69
- * @type string $user_password Password entered.
70
- * @type bool $remember Whether to 'remember' the user. Increases the time
71
- * that the cookie will be kept. Default false.
72
- * }
73
- */
74
- $secure_cookie = apply_filters( 'secure_signon_cookie', $secure_cookie, $credentials );
75
-
76
- global $auth_secure_cookie; // XXX ugly hack to pass this to wp_authenticate_cookie
77
- $auth_secure_cookie = $secure_cookie;
78
-
79
- add_filter('authenticate', 'wp_authenticate_cookie', 30, 3);
80
-
81
- $user = wp_authenticate($credentials['user_login'], $credentials['user_password']);
82
-
83
- if ( is_wp_error($user) ) {
84
- if ( $user->get_error_codes() == array('empty_username', 'empty_password') ) {
85
- $user = new WP_Error('', '');
86
- }
87
-
88
- return $user;
89
- }
90
-
91
- wp_set_auth_cookie($user->ID, $credentials['remember'], $secure_cookie);
92
- /**
93
- * Fires after the user has successfully logged in.
94
- *
95
- * @since 1.5.0
96
- *
97
- * @param string $user_login Username.
98
- * @param WP_User $user WP_User object of the logged-in user.
99
- */
100
- do_action( 'wp_login', $user->user_login, $user );
101
- return $user;
102
- }
103
-
104
- /**
105
- * Authenticate the user using the username and password.
106
- *
107
- * @since 2.8.0
108
- *
109
- * @param WP_User|WP_Error|null $user WP_User or WP_Error object from a previous callback. Default null.
110
- * @param string $username Username for authentication.
111
- * @param string $password Password for authentication.
112
- * @return WP_User|WP_Error WP_User on success, WP_Error on failure.
113
- */
114
- function wp_authenticate_username_password($user, $username, $password) {
115
- if ( is_a( $user, 'WP_User' ) ) {
116
- return $user;
117
- }
118
-
119
- if ( empty($username) || empty($password) ) {
120
- if ( is_wp_error( $user ) )
121
- return $user;
122
-
123
- $error = new WP_Error();
124
-
125
- if ( empty($username) )
126
- $error->add('empty_username', __('<strong>ERROR</strong>: The username field is empty.'));
127
-
128
- if ( empty($password) )
129
- $error->add('empty_password', __('<strong>ERROR</strong>: The password field is empty.'));
130
-
131
- return $error;
132
- }
133
-
134
- $user = get_user_by('login', $username);
135
-
136
- if ( !$user )
137
- return new WP_Error( 'invalid_username', sprintf( __( '<strong>ERROR</strong>: Invalid username. <a href="%s">Lost your password</a>?' ), wp_lostpassword_url() ) );
138
-
139
- /**
140
- * Filter whether the given user can be authenticated with the provided $password.
141
- *
142
- * @since 2.5.0
143
- *
144
- * @param WP_User|WP_Error $user WP_User or WP_Error object if a previous
145
- * callback failed authentication.
146
- * @param string $password Password to check against the user.
147
- */
148
- $user = apply_filters( 'wp_authenticate_user', $user, $password );
149
- if ( is_wp_error($user) )
150
- return $user;
151
-
152
- if ( !wp_check_password($password, $user->user_pass, $user->ID) )
153
- return new WP_Error( 'incorrect_password', sprintf( __( '<strong>ERROR</strong>: The password you entered for the username <strong>%1$s</strong> is incorrect. <a href="%2$s">Lost your password</a>?' ),
154
- $username, wp_lostpassword_url() ) );
155
-
156
- return $user;
157
- }
158
-
159
- /**
160
- * Authenticate the user using the WordPress auth cookie.
161
- *
162
- * @since 2.8.0
163
- *
164
- * @param WP_User|WP_Error|null $user WP_User or WP_Error object from a previous callback. Default null.
165
- * @param string $username Username. If not empty, cancels the cookie authentication.
166
- * @param string $password Password. If not empty, cancels the cookie authentication.
167
- * @return WP_User|WP_Error WP_User on success, WP_Error on failure.
168
- */
169
- function wp_authenticate_cookie($user, $username, $password) {
170
- if ( is_a( $user, 'WP_User' ) ) {
171
- return $user;
172
- }
173
-
174
- if ( empty($username) && empty($password) ) {
175
- $user_id = wp_validate_auth_cookie();
176
- if ( $user_id )
177
- return new WP_User($user_id);
178
-
179
- global $auth_secure_cookie;
180
-
181
- if ( $auth_secure_cookie )
182
- $auth_cookie = SECURE_AUTH_COOKIE;
183
- else
184
- $auth_cookie = AUTH_COOKIE;
185
-
186
- if ( !empty($_COOKIE[$auth_cookie]) )
187
- return new WP_Error('expired_session', __('Please log in again.'));
188
-
189
- // If the cookie is not set, be silent.
190
- }
191
-
192
- return $user;
193
- }
194
-
195
- /**
196
- * For Multisite blogs, check if the authenticated user has been marked as a
197
- * spammer, or if the user's primary blog has been marked as spam.
198
- *
199
- * @since 3.7.0
200
- *
201
- * @param WP_User|WP_Error|null $user WP_User or WP_Error object from a previous callback. Default null.
202
- * @return WP_User|WP_Error WP_User on success, WP_Error if the user is considered a spammer.
203
- */
204
- function wp_authenticate_spam_check( $user ) {
205
- if ( $user && is_a( $user, 'WP_User' ) && is_multisite() ) {
206
- /**
207
- * Filter whether the user has been marked as a spammer.
208
- *
209
- * @since 3.7.0
210
- *
211
- * @param bool $spammed Whether the user is considered a spammer.
212
- * @param WP_User $user User to check against.
213
- */
214
- $spammed = apply_filters( 'check_is_user_spammed', is_user_spammy(), $user );
215
-
216
- if ( $spammed )
217
- return new WP_Error( 'spammer_account', __( '<strong>ERROR</strong>: Your account has been marked as a spammer.' ) );
218
- }
219
- return $user;
220
- }
221
-
222
- /**
223
- * Validate the logged-in cookie.
224
- *
225
- * Checks the logged-in cookie if the previous auth cookie could not be
226
- * validated and parsed.
227
- *
228
- * This is a callback for the determine_current_user filter, rather than API.
229
- *
230
- * @since 3.9.0
231
- *
232
- * @param int|bool $user The user ID (or false) as received from the
233
- * determine_current_user filter.
234
- * @return int|bool User ID if validated, false otherwise. If a user ID from
235
- * an earlier filter callback is received, that value is returned.
236
- */
237
- function wp_validate_logged_in_cookie( $user_id ) {
238
- if ( $user_id ) {
239
- return $user_id;
240
- }
241
-
242
- if ( is_blog_admin() || is_network_admin() || empty( $_COOKIE[LOGGED_IN_COOKIE] ) ) {
243
- return false;
244
- }
245
-
246
- return wp_validate_auth_cookie( $_COOKIE[LOGGED_IN_COOKIE], 'logged_in' );
247
- }
248
-
249
- /**
250
- * Number of posts user has written.
251
- *
252
- * @since 3.0.0
253
- *
254
- * @global wpdb $wpdb WordPress database object for queries.
255
- *
256
- * @param int $userid User ID.
257
- * @return int Amount of posts user has written.
258
- */
259
- function count_user_posts($userid) {
260
- global $wpdb;
261
-
262
- $where = get_posts_by_author_sql('post', true, $userid);
263
-
264
- $count = $wpdb->get_var( "SELECT COUNT(*) FROM $wpdb->posts $where" );
265
-
266
- /**
267
- * Filter the number of posts a user has written.
268
- *
269
- * @since 2.7.0
270
- *
271
- * @param int $count The user's post count.
272
- * @param int $userid User ID.
273
- */
274
- return apply_filters( 'get_usernumposts', $count, $userid );
275
- }
276
-
277
- /**
278
- * Number of posts written by a list of users.
279
- *
280
- * @since 3.0.0
281
- *
282
- * @param array $users Array of user IDs.
283
- * @param string $post_type Optional. Post type to check. Defaults to post.
284
- * @param bool $public_only Optional. Only return counts for public posts. Defaults to false.
285
- * @return array Amount of posts each user has written.
286
- */
287
- function count_many_users_posts( $users, $post_type = 'post', $public_only = false ) {
288
- global $wpdb;
289
-
290
- $count = array();
291
- if ( empty( $users ) || ! is_array( $users ) )
292
- return $count;
293
-
294
- $userlist = implode( ',', array_map( 'absint', $users ) );
295
- $where = get_posts_by_author_sql( $post_type, true, null, $public_only );
296
-
297
- $result = $wpdb->get_results( "SELECT post_author, COUNT(*) FROM $wpdb->posts $where AND post_author IN ($userlist) GROUP BY post_author", ARRAY_N );
298
- foreach ( $result as $row ) {
299
- $count[ $row[0] ] = $row[1];
300
- }
301
-
302
- foreach ( $users as $id ) {
303
- if ( ! isset( $count[ $id ] ) )
304
- $count[ $id ] = 0;
305
- }
306
-
307
- return $count;
308
- }
309
-
310
- //
311
- // User option functions
312
- //
313
-
314
- /**
315
- * Get the current user's ID
316
- *
317
- * @since MU
318
- *
319
- * @uses wp_get_current_user
320
- *
321
- * @return int The current user's ID
322
- */
323
- function get_current_user_id() {
324
- if ( ! function_exists( 'wp_get_current_user' ) )
325
- return 0;
326
- $user = wp_get_current_user();
327
- return ( isset( $user->ID ) ? (int) $user->ID : 0 );
328
- }
329
-
330
- /**
331
- * Retrieve user option that can be either per Site or per Network.
332
- *
333
- * If the user ID is not given, then the current user will be used instead. If
334
- * the user ID is given, then the user data will be retrieved. The filter for
335
- * the result, will also pass the original option name and finally the user data
336
- * object as the third parameter.
337
- *
338
- * The option will first check for the per site name and then the per Network name.
339
- *
340
- * @since 2.0.0
341
- *
342
- * @global wpdb $wpdb WordPress database object for queries.
343
- *
344
- * @param string $option User option name.
345
- * @param int $user Optional. User ID.
346
- * @param bool $deprecated Use get_option() to check for an option in the options table.
347
- * @return mixed User option value on success, false on failure.
348
- */
349
- function get_user_option( $option, $user = 0, $deprecated = '' ) {
350
- global $wpdb;
351
-
352
- if ( !empty( $deprecated ) )
353
- _deprecated_argument( __FUNCTION__, '3.0' );
354
-
355
- if ( empty( $user ) )
356
- $user = get_current_user_id();
357
-
358
- if ( ! $user = get_userdata( $user ) )
359
- return false;
360
-
361
- $prefix = $wpdb->get_blog_prefix();
362
- if ( $user->has_prop( $prefix . $option ) ) // Blog specific
363
- $result = $user->get( $prefix . $option );
364
- elseif ( $user->has_prop( $option ) ) // User specific and cross-blog
365
- $result = $user->get( $option );
366
- else
367
- $result = false;
368
-
369
- /**
370
- * Filter a specific user option value.
371
- *
372
- * The dynamic portion of the hook name, $option, refers to the user option name.
373
- *
374
- * @since 2.5.0
375
- *
376
- * @param mixed $result Value for the user's option.
377
- * @param string $option Name of the option being retrieved.
378
- * @param WP_User $user WP_User object of the user whose option is being retrieved.
379
- */
380
- return apply_filters( "get_user_option_{$option}", $result, $option, $user );
381
- }
382
-
383
- /**
384
- * Update user option with global blog capability.
385
- *
386
- * User options are just like user metadata except that they have support for
387
- * global blog options. If the 'global' parameter is false, which it is by default
388
- * it will prepend the WordPress table prefix to the option name.
389
- *
390
- * Deletes the user option if $newvalue is empty.
391
- *
392
- * @since 2.0.0
393
- *
394
- * @global wpdb $wpdb WordPress database object for queries.
395
- *
396
- * @param int $user_id User ID.
397
- * @param string $option_name User option name.
398
- * @param mixed $newvalue User option value.
399
- * @param bool $global Optional. Whether option name is global or blog specific.
400
- * Default false (blog specific).
401
- * @return int|bool User meta ID if the option didn't exist, true on successful update,
402
- * false on failure.
403
- */
404
- function update_user_option( $user_id, $option_name, $newvalue, $global = false ) {
405
- global $wpdb;
406
-
407
- if ( !$global )
408
- $option_name = $wpdb->get_blog_prefix() . $option_name;
409
-
410
- return update_user_meta( $user_id, $option_name, $newvalue );
411
- }
412
-
413
- /**
414
- * Delete user option with global blog capability.
415
- *
416
- * User options are just like user metadata except that they have support for
417
- * global blog options. If the 'global' parameter is false, which it is by default
418
- * it will prepend the WordPress table prefix to the option name.
419
- *
420
- * @since 3.0.0
421
- *
422
- * @global wpdb $wpdb WordPress database object for queries.
423
- *
424
- * @param int $user_id User ID
425
- * @param string $option_name User option name.
426
- * @param bool $global Optional. Whether option name is global or blog specific.
427
- * Default false (blog specific).
428
- * @return bool True on success, false on failure.
429
- */
430
- function delete_user_option( $user_id, $option_name, $global = false ) {
431
- global $wpdb;
432
-
433
- if ( !$global )
434
- $option_name = $wpdb->get_blog_prefix() . $option_name;
435
- return delete_user_meta( $user_id, $option_name );
436
- }
437
-
438
- /**
439
- * WordPress User Query class.
440
- *
441
- * @since 3.1.0
442
- *
443
- * @see WP_User_Query::prepare_query() for information on accepted arguments.
444
- */
445
- class WP_User_Query {
446
-
447
- /**
448
- * Query vars, after parsing
449
- *
450
- * @since 3.5.0
451
- * @access public
452
- * @var array
453
- */
454
- public $query_vars = array();
455
-
456
- /**
457
- * List of found user ids
458
- *
459
- * @since 3.1.0
460
- * @access private
461
- * @var array
462
- */
463
- private $results;
464
-
465
- /**
466
- * Total number of found users for the current query
467
- *
468
- * @since 3.1.0
469
- * @access private
470
- * @var int
471
- */
472
- private $total_users = 0;
473
-
474
- // SQL clauses
475
- public $query_fields;
476
- public $query_from;
477
- public $query_where;
478
- public $query_orderby;
479
- public $query_limit;
480
-
481
- /**
482
- * PHP5 constructor.
483
- *
484
- * @since 3.1.0
485
- *
486
- * @param string|array $args Optional. The query variables.
487
- * @return WP_User_Query
488
- */
489
- public function __construct( $query = null ) {
490
- if ( ! empty( $query ) ) {
491
- $this->prepare_query( $query );
492
- $this->query();
493
- }
494
- }
495
-
496
- /**
497
- * Prepare the query variables.
498
- *
499
- * @since 3.1.0
500
- * @access public
501
- *
502
- * @param string|array $query {
503
- * Optional. Array or string of Query parameters.
504
- *
505
- * @type int $blog_id The site ID. Default is the global blog id.
506
- * @type string $role Role name. Default empty.
507
- * @type string $meta_key User meta key. Default empty.
508
- * @type string $meta_value User meta value. Default empty.
509
- * @type string $meta_compare Comparison operator to test the `$meta_value`. Accepts '=', '!=',
510
- * '>', '>=', '<', '<=', 'LIKE', 'NOT LIKE', 'IN', 'NOT IN', 'BETWEEN',
511
- * 'NOT BETWEEN', 'EXISTS', 'NOT EXISTS', 'REGEXP', 'NOT REGEXP',
512
- * or 'RLIKE'. Default '='.
513
- * @type array $include An array of user IDs to include. Default empty array.
514
- * @type array $exclude An array of user IDs to exclude. Default empty array.
515
- * @type string $search Search keyword. Searches for possible string matches on columns.
516
- * When `$search_columns` is left empty, it tries to determine which
517
- * column to search in based on search string. Default empty.
518
- * @type array $search_columns Array of column names to be searched. Accepts 'ID', 'login',
519
- * 'nicename', 'email', 'url'. Default empty array.
520
- * @type string $orderby Field to sort the retrieved users by. Accepts 'ID', 'display_name',
521
- * 'login', 'nicename', 'email', 'url', 'registered', 'post_count', or
522
- * 'meta_value'. To use 'meta_value', `$meta_key` must be also be defined.
523
- * Default 'user_login'.
524
- * @type string $order Designates ascending or descending order of users. Accepts 'ASC',
525
- * 'DESC'. Default 'ASC'.
526
- * @type int $offset Number of users to offset in retrieved results. Can be used in
527
- * conjunction with pagination. Default 0.
528
- * @type int $number Number of users to limit the query for. Can be used in conjunction
529
- * with pagination. Value -1 (all) is not supported.
530
- * Default empty (all users).
531
- * @type bool $count_total Whether to count the total number of users found. If pagination is not
532
- * needed, setting this to false can improve performance. Default true.
533
- * @type string|array $fields Which fields to return. Single or all fields (string), or array
534
- * of fields. Accepts 'ID', 'display_name', 'login', 'nicename', 'email',
535
- * 'url', 'registered'. Use 'all' for all fields and 'all_with_meta' to
536
- * include meta fields. Default 'all'.
537
- * @type string $who Type of users to query. Accepts 'authors'. Default empty (all users).
538
- * }
539
- */
540
- public function prepare_query( $query = array() ) {
541
- global $wpdb;
542
-
543
- if ( empty( $this->query_vars ) || ! empty( $query ) ) {
544
- $this->query_limit = null;
545
- $this->query_vars = wp_parse_args( $query, array(
546
- 'blog_id' => $GLOBALS['blog_id'],
547
- 'role' => '',
548
- 'meta_key' => '',
549
- 'meta_value' => '',
550
- 'meta_compare' => '',
551
- 'include' => array(),
552
- 'exclude' => array(),
553
- 'search' => '',
554
- 'search_columns' => array(),
555
- 'orderby' => 'login',
556
- 'order' => 'ASC',
557
- 'offset' => '',
558
- 'number' => '',
559
- 'count_total' => true,
560
- 'fields' => 'all',
561
- 'who' => ''
562
- ) );
563
- }
564
-
565
- /**
566
- * Fires before the WP_User_Query has been parsed.
567
- *
568
- * The passed WP_User_Query object contains the query variables, not
569
- * yet passed into SQL.
570
- *
571
- * @since 4.0.0
572
- *
573
- * @param WP_User_Query $this The current WP_User_Query instance,
574
- * passed by reference.
575
- */
576
- do_action( 'pre_get_users', $this );
577
-
578
- $qv =& $this->query_vars;
579
-
580
- if ( is_array( $qv['fields'] ) ) {
581
- $qv['fields'] = array_unique( $qv['fields'] );
582
-
583
- $this->query_fields = array();
584
- foreach ( $qv['fields'] as $field ) {
585
- $field = 'ID' === $field ? 'ID' : sanitize_key( $field );
586
- $this->query_fields[] = "$wpdb->users.$field";
587
- }
588
- $this->query_fields = implode( ',', $this->query_fields );
589
- } elseif ( 'all' == $qv['fields'] ) {
590
- $this->query_fields = "$wpdb->users.*";
591
- } else {
592
- $this->query_fields = "$wpdb->users.ID";
593
- }
594
-
595
- if ( isset( $qv['count_total'] ) && $qv['count_total'] )
596
- $this->query_fields = 'SQL_CALC_FOUND_ROWS ' . $this->query_fields;
597
-
598
- $this->query_from = "FROM $wpdb->users";
599
- $this->query_where = "WHERE 1=1";
600
-
601
- // sorting
602
- if ( isset( $qv['orderby'] ) ) {
603
- if ( in_array( $qv['orderby'], array('nicename', 'email', 'url', 'registered') ) ) {
604
- $orderby = 'user_' . $qv['orderby'];
605
- } elseif ( in_array( $qv['orderby'], array('user_nicename', 'user_email', 'user_url', 'user_registered') ) ) {
606
- $orderby = $qv['orderby'];
607
- } elseif ( 'name' == $qv['orderby'] || 'display_name' == $qv['orderby'] ) {
608
- $orderby = 'display_name';
609
- } elseif ( 'post_count' == $qv['orderby'] ) {
610
- // todo: avoid the JOIN
611
- $where = get_posts_by_author_sql('post');
612
- $this->query_from .= " LEFT OUTER JOIN (
613
- SELECT post_author, COUNT(*) as post_count
614
- FROM $wpdb->posts
615
- $where
616
- GROUP BY post_author
617
- ) p ON ({$wpdb->users}.ID = p.post_author)
618
- ";
619
- $orderby = 'post_count';
620
- } elseif ( 'ID' == $qv['orderby'] || 'id' == $qv['orderby'] ) {
621
- $orderby = 'ID';
622
- } elseif ( 'meta_value' == $qv['orderby'] ) {
623
- $orderby = "$wpdb->usermeta.meta_value";
624
- } else {
625
- $orderby = 'user_login';
626
- }
627
- }
628
-
629
- if ( empty( $orderby ) )
630
- $orderby = 'user_login';
631
-
632
- $qv['order'] = isset( $qv['order'] ) ? strtoupper( $qv['order'] ) : '';
633
- if ( 'ASC' == $qv['order'] )
634
- $order = 'ASC';
635
- else
636
- $order = 'DESC';
637
- $this->query_orderby = "ORDER BY $orderby $order";
638
-
639
- // limit
640
- if ( isset( $qv['number'] ) && $qv['number'] ) {
641
- if ( $qv['offset'] )
642
- $this->query_limit = $wpdb->prepare("LIMIT %d, %d", $qv['offset'], $qv['number']);
643
- else
644
- $this->query_limit = $wpdb->prepare("LIMIT %d", $qv['number']);
645
- }
646
-
647
- $search = '';
648
- if ( isset( $qv['search'] ) )
649
- $search = trim( $qv['search'] );
650
-
651
- if ( $search ) {
652
- $leading_wild = ( ltrim($search, '*') != $search );
653
- $trailing_wild = ( rtrim($search, '*') != $search );
654
- if ( $leading_wild && $trailing_wild )
655
- $wild = 'both';
656
- elseif ( $leading_wild )
657
- $wild = 'leading';
658
- elseif ( $trailing_wild )
659
- $wild = 'trailing';
660
- else
661
- $wild = false;
662
- if ( $wild )
663
- $search = trim($search, '*');
664
-
665
- $search_columns = array();
666
- if ( $qv['search_columns'] )
667
- $search_columns = array_intersect( $qv['search_columns'], array( 'ID', 'user_login', 'user_email', 'user_url', 'user_nicename' ) );
668
- if ( ! $search_columns ) {
669
- if ( false !== strpos( $search, '@') )
670
- $search_columns = array('user_email');
671
- elseif ( is_numeric($search) )
672
- $search_columns = array('user_login', 'ID');
673
- elseif ( preg_match('|^https?://|', $search) && ! ( is_multisite() && wp_is_large_network( 'users' ) ) )
674
- $search_columns = array('user_url');
675
- else
676
- $search_columns = array('user_login', 'user_nicename');
677
- }
678
-
679
- /**
680
- * Filter the columns to search in a WP_User_Query search.
681
- *
682
- * The default columns depend on the search term, and include 'user_email',
683
- * 'user_login', 'ID', 'user_url', and 'user_nicename'.
684
- *
685
- * @since 3.6.0
686
- *
687
- * @param array $search_columns Array of column names to be searched.
688
- * @param string $search Text being searched.
689
- * @param WP_User_Query $this The current WP_User_Query instance.
690
- */
691
- $search_columns = apply_filters( 'user_search_columns', $search_columns, $search, $this );
692
-
693
- $this->query_where .= $this->get_search_sql( $search, $search_columns, $wild );
694
- }
695
-
696
- $blog_id = 0;
697
- if ( isset( $qv['blog_id'] ) )
698
- $blog_id = absint( $qv['blog_id'] );
699
-
700
- if ( isset( $qv['who'] ) && 'authors' == $qv['who'] && $blog_id ) {
701
- $qv['meta_key'] = $wpdb->get_blog_prefix( $blog_id ) . 'user_level';
702
- $qv['meta_value'] = 0;
703
- $qv['meta_compare'] = '!=';
704
- $qv['blog_id'] = $blog_id = 0; // Prevent extra meta query
705
- }
706
-
707
- $role = '';
708
- if ( isset( $qv['role'] ) )
709
- $role = trim( $qv['role'] );
710
-
711
- if ( $blog_id && ( $role || is_multisite() ) ) {
712
- $cap_meta_query = array();
713
- $cap_meta_query['key'] = $wpdb->get_blog_prefix( $blog_id ) . 'capabilities';
714
-
715
- if ( $role ) {
716
- $cap_meta_query['value'] = '"' . $role . '"';
717
- $cap_meta_query['compare'] = 'like';
718
- }
719
-
720
- if ( empty( $qv['meta_query'] ) || ! in_array( $cap_meta_query, $qv['meta_query'], true ) ) {
721
- $qv['meta_query'][] = $cap_meta_query;
722
- }
723
- }
724
-
725
- $meta_query = new WP_Meta_Query();
726
- $meta_query->parse_query_vars( $qv );
727
-
728
- if ( !empty( $meta_query->queries ) ) {
729
- $clauses = $meta_query->get_sql( 'user', $wpdb->users, 'ID', $this );
730
- $this->query_from .= $clauses['join'];
731
- $this->query_where .= $clauses['where'];
732
-
733
- if ( 'OR' == $meta_query->relation )
734
- $this->query_fields = 'DISTINCT ' . $this->query_fields;
735
- }
736
-
737
- if ( ! empty( $qv['include'] ) ) {
738
- $ids = implode( ',', wp_parse_id_list( $qv['include'] ) );
739
- $this->query_where .= " AND $wpdb->users.ID IN ($ids)";
740
- } elseif ( ! empty( $qv['exclude'] ) ) {
741
- $ids = implode( ',', wp_parse_id_list( $qv['exclude'] ) );
742
- $this->query_where .= " AND $wpdb->users.ID NOT IN ($ids)";
743
- }
744
-
745
- /**
746
- * Fires after the WP_User_Query has been parsed, and before
747
- * the query is executed.
748
- *
749
- * The passed WP_User_Query object contains SQL parts formed
750
- * from parsing the given query.
751
- *
752
- * @since 3.1.0
753
- *
754
- * @param WP_User_Query $this The current WP_User_Query instance,
755
- * passed by reference.
756
- */
757
- do_action_ref_array( 'pre_user_query', array( &$this ) );
758
- }
759
-
760
- /**
761
- * Execute the query, with the current variables.
762
- *
763
- * @since 3.1.0
764
- *
765
- * @global wpdb $wpdb WordPress database object for queries.
766
- */
767
- public function query() {
768
- global $wpdb;
769
-
770
- $qv =& $this->query_vars;
771
-
772
- $query = "SELECT $this->query_fields $this->query_from $this->query_where $this->query_orderby $this->query_limit";
773
-
774
- if ( is_array( $qv['fields'] ) || 'all' == $qv['fields'] ) {
775
- $this->results = $wpdb->get_results( $query );
776
- } else {
777
- $this->results = $wpdb->get_col( $query );
778
- }
779
-
780
- /**
781
- * Filter SELECT FOUND_ROWS() query for the current WP_User_Query instance.
782
- *
783
- * @since 3.2.0
784
- *
785
- * @global wpdb $wpdb WordPress database object.
786
- *
787
- * @param string $sql The SELECT FOUND_ROWS() query for the current WP_User_Query.
788
- */
789
- if ( isset( $qv['count_total'] ) && $qv['count_total'] )
790
- $this->total_users = $wpdb->get_var( apply_filters( 'found_users_query', 'SELECT FOUND_ROWS()' ) );
791
-
792
- if ( !$this->results )
793
- return;
794
-
795
- if ( 'all_with_meta' == $qv['fields'] ) {
796
- cache_users( $this->results );
797
-
798
- $r = array();
799
- foreach ( $this->results as $userid )
800
- $r[ $userid ] = new WP_User( $userid, '', $qv['blog_id'] );
801
-
802
- $this->results = $r;
803
- } elseif ( 'all' == $qv['fields'] ) {
804
- foreach ( $this->results as $key => $user ) {
805
- $this->results[ $key ] = new WP_User( $user );
806
- }
807
- }
808
- }
809
-
810
- /**
811
- * Retrieve query variable.
812
- *
813
- * @since 3.5.0
814
- * @access public
815
- *
816
- * @param string $query_var Query variable key.
817
- * @return mixed
818
- */
819
- public function get( $query_var ) {
820
- if ( isset( $this->query_vars[$query_var] ) )
821
- return $this->query_vars[$query_var];
822
-
823
- return null;
824
- }
825
-
826
- /**
827
- * Set query variable.
828
- *
829
- * @since 3.5.0
830
- * @access public
831
- *
832
- * @param string $query_var Query variable key.
833
- * @param mixed $value Query variable value.
834
- */
835
- public function set( $query_var, $value ) {
836
- $this->query_vars[$query_var] = $value;
837
- }
838
-
839
- /**
840
- * Used internally to generate an SQL string for searching across multiple columns
841
- *
842
- * @access protected
843
- * @since 3.1.0
844
- *
845
- * @param string $string
846
- * @param array $cols
847
- * @param bool $wild Whether to allow wildcard searches. Default is false for Network Admin, true for
848
- * single site. Single site allows leading and trailing wildcards, Network Admin only trailing.
849
- * @return string
850
- */
851
- protected function get_search_sql( $string, $cols, $wild = false ) {
852
- global $wpdb;
853
-
854
- $searches = array();
855
- $leading_wild = ( 'leading' == $wild || 'both' == $wild ) ? '%' : '';
856
- $trailing_wild = ( 'trailing' == $wild || 'both' == $wild ) ? '%' : '';
857
- $like = $leading_wild . $wpdb->esc_like( $string ) . $trailing_wild;
858
-
859
- foreach ( $cols as $col ) {
860
- if ( 'ID' == $col ) {
861
- $searches[] = $wpdb->prepare( "$col = %s", $string );
862
- } else {
863
- $searches[] = $wpdb->prepare( "$col LIKE %s", $like );
864
- }
865
- }
866
-
867
- return ' AND (' . implode(' OR ', $searches) . ')';
868
- }
869
-
870
- /**
871
- * Return the list of users.
872
- *
873
- * @since 3.1.0
874
- * @access public
875
- *
876
- * @return array Array of results.
877
- */
878
- public function get_results() {
879
- return $this->results;
880
- }
881
-
882
- /**
883
- * Return the total number of users for the current query.
884
- *
885
- * @since 3.1.0
886
- * @access public
887
- *
888
- * @return int Number of total users.
889
- */
890
- public function get_total() {
891
- return $this->total_users;
892
- }
893
-
894
- /**
895
- * Make private properties readable for backwards compatibility.
896
- *
897
- * @since 4.0.0
898
- * @access public
899
- *
900
- * @param string $name Property to get.
901
- * @return mixed Property.
902
- */
903
- public function __get( $name ) {
904
- return $this->$name;
905
- }
906
-
907
- /**
908
- * Make private properties settable for backwards compatibility.
909
- *
910
- * @since 4.0.0
911
- * @access public
912
- *
913
- * @param string $name Property to set.
914
- * @param mixed $value Property value.
915
- * @return mixed Newly-set property.
916
- */
917
- public function __set( $name, $value ) {
918
- return $this->$name = $value;
919
- }
920
-
921
- /**
922
- * Make private properties checkable for backwards compatibility.
923
- *
924
- * @since 4.0.0
925
- * @access public
926
- *
927
- * @param string $name Property to check if set.
928
- * @return bool Whether the property is set.
929
- */
930
- public function __isset( $name ) {
931
- return isset( $this->$name );
932
- }
933
-
934
- /**
935
- * Make private properties un-settable for backwards compatibility.
936
- *
937
- * @since 4.0.0
938
- * @access public
939
- *
940
- * @param string $name Property to unset.
941
- */
942
- public function __unset( $name ) {
943
- unset( $this->$name );
944
- }
945
-
946
- /**
947
- * Make private/protected methods readable for backwards compatibility.
948
- *
949
- * @since 4.0.0
950
- * @access public
951
- *
952
- * @param callable $name Method to call.
953
- * @param array $arguments Arguments to pass when calling.
954
- * @return mixed|bool Return value of the callback, false otherwise.
955
- */
956
- public function __call( $name, $arguments ) {
957
- return call_user_func_array( array( $this, $name ), $arguments );
958
- }
959
- }
960
-
961
- /**
962
- * Retrieve list of users matching criteria.
963
- *
964
- * @since 3.1.0
965
- *
966
- * @see WP_User_Query
967
- *
968
- * @param array $args Optional. Arguments to retrieve users. See {@see WP_User_Query::prepare_query()}
969
- * for more information on accepted arguments.
970
- * @return array List of users.
971
- */
972
- function get_users( $args = array() ) {
973
-
974
- $args = wp_parse_args( $args );
975
- $args['count_total'] = false;
976
-
977
- $user_search = new WP_User_Query($args);
978
-
979
- return (array) $user_search->get_results();
980
- }
981
-
982
- /**
983
- * Get the blogs a user belongs to.
984
- *
985
- * @since 3.0.0
986
- *
987
- * @global wpdb $wpdb WordPress database object for queries.
988
- *
989
- * @param int $user_id User ID
990
- * @param bool $all Whether to retrieve all blogs, or only blogs that are not
991
- * marked as deleted, archived, or spam.
992
- * @return array A list of the user's blogs. An empty array if the user doesn't exist
993
- * or belongs to no blogs.
994
- */
995
- function get_blogs_of_user( $user_id, $all = false ) {
996
- global $wpdb;
997
-
998
- $user_id = (int) $user_id;
999
-
1000
- // Logged out users can't have blogs
1001
- if ( empty( $user_id ) )
1002
- return array();
1003
-
1004
- $keys = get_user_meta( $user_id );
1005
- if ( empty( $keys ) )
1006
- return array();
1007
-
1008
- if ( ! is_multisite() ) {
1009
- $blog_id = get_current_blog_id();
1010
- $blogs = array( $blog_id => new stdClass );
1011
- $blogs[ $blog_id ]->userblog_id = $blog_id;
1012
- $blogs[ $blog_id ]->blogname = get_option('blogname');
1013
- $blogs[ $blog_id ]->domain = '';
1014
- $blogs[ $blog_id ]->path = '';
1015
- $blogs[ $blog_id ]->site_id = 1;
1016
- $blogs[ $blog_id ]->siteurl = get_option('siteurl');
1017
- $blogs[ $blog_id ]->archived = 0;
1018
- $blogs[ $blog_id ]->spam = 0;
1019
- $blogs[ $blog_id ]->deleted = 0;
1020
- return $blogs;
1021
- }
1022
-
1023
- $blogs = array();
1024
-
1025
- if ( isset( $keys[ $wpdb->base_prefix . 'capabilities' ] ) && defined( 'MULTISITE' ) ) {
1026
- $blog = get_blog_details( 1 );
1027
- if ( $blog && isset( $blog->domain ) && ( $all || ( ! $blog->archived && ! $blog->spam && ! $blog->deleted ) ) ) {
1028
- $blogs[ 1 ] = (object) array(
1029
- 'userblog_id' => 1,
1030
- 'blogname' => $blog->blogname,
1031
- 'domain' => $blog->domain,
1032
- 'path' => $blog->path,
1033
- 'site_id' => $blog->site_id,
1034
- 'siteurl' => $blog->siteurl,
1035
- 'archived' => 0,
1036
- 'spam' => 0,
1037
- 'deleted' => 0
1038
- );
1039
- }
1040
- unset( $keys[ $wpdb->base_prefix . 'capabilities' ] );
1041
- }
1042
-
1043
- $keys = array_keys( $keys );
1044
-
1045
- foreach ( $keys as $key ) {
1046
- if ( 'capabilities' !== substr( $key, -12 ) )
1047
- continue;
1048
- if ( $wpdb->base_prefix && 0 !== strpos( $key, $wpdb->base_prefix ) )
1049
- continue;
1050
- $blog_id = str_replace( array( $wpdb->base_prefix, '_capabilities' ), '', $key );
1051
- if ( ! is_numeric( $blog_id ) )
1052
- continue;
1053
-
1054
- $blog_id = (int) $blog_id;
1055
- $blog = get_blog_details( $blog_id );
1056
- if ( $blog && isset( $blog->domain ) && ( $all || ( ! $blog->archived && ! $blog->spam && ! $blog->deleted ) ) ) {
1057
- $blogs[ $blog_id ] = (object) array(
1058
- 'userblog_id' => $blog_id,
1059
- 'blogname' => $blog->blogname,
1060
- 'domain' => $blog->domain,
1061
- 'path' => $blog->path,
1062
- 'site_id' => $blog->site_id,
1063
- 'siteurl' => $blog->siteurl,
1064
- 'archived' => 0,
1065
- 'spam' => 0,
1066
- 'deleted' => 0
1067
- );
1068
- }
1069
- }
1070
-
1071
- /**
1072
- * Filter the list of blogs a user belongs to.
1073
- *
1074
- * @since MU
1075
- *
1076
- * @param array $blogs An array of blog objects belonging to the user.
1077
- * @param int $user_id User ID.
1078
- * @param bool $all Whether the returned blogs array should contain all blogs, including
1079
- * those marked 'deleted', 'archived', or 'spam'. Default false.
1080
- */
1081
- return apply_filters( 'get_blogs_of_user', $blogs, $user_id, $all );
1082
- }
1083
-
1084
- /**
1085
- * Find out whether a user is a member of a given blog.
1086
- *
1087
- * @since MU 1.1
1088
- * @uses get_blogs_of_user()
1089
- *
1090
- * @param int $user_id Optional. The unique ID of the user. Defaults to the current user.
1091
- * @param int $blog_id Optional. ID of the blog to check. Defaults to the current site.
1092
- * @return bool
1093
- */
1094
- function is_user_member_of_blog( $user_id = 0, $blog_id = 0 ) {
1095
- $user_id = (int) $user_id;
1096
- $blog_id = (int) $blog_id;
1097
-
1098
- if ( empty( $user_id ) )
1099
- $user_id = get_current_user_id();
1100
-
1101
- if ( empty( $blog_id ) )
1102
- $blog_id = get_current_blog_id();
1103
-
1104
- $blogs = get_blogs_of_user( $user_id );
1105
- return array_key_exists( $blog_id, $blogs );
1106
- }
1107
-
1108
- /**
1109
- * Add meta data field to a user.
1110
- *
1111
- * Post meta data is called "Custom Fields" on the Administration Screens.
1112
- *
1113
- * @since 3.0.0
1114
- * @uses add_metadata()
1115
- * @link http://codex.wordpress.org/Function_Reference/add_user_meta
1116
- *
1117
- * @param int $user_id User ID.
1118
- * @param string $meta_key Metadata name.
1119
- * @param mixed $meta_value Metadata value.
1120
- * @param bool $unique Optional, default is false. Whether the same key should not be added.
1121
- * @return int|bool Meta ID on success, false on failure.
1122
- */
1123
- function add_user_meta($user_id, $meta_key, $meta_value, $unique = false) {
1124
- return add_metadata('user', $user_id, $meta_key, $meta_value, $unique);
1125
- }
1126
-
1127
- /**
1128
- * Remove metadata matching criteria from a user.
1129
- *
1130
- * You can match based on the key, or key and value. Removing based on key and
1131
- * value, will keep from removing duplicate metadata with the same key. It also
1132
- * allows removing all metadata matching key, if needed.
1133
- *
1134
- * @since 3.0.0
1135
- * @uses delete_metadata()
1136
- * @link http://codex.wordpress.org/Function_Reference/delete_user_meta
1137
- *
1138
- * @param int $user_id user ID
1139
- * @param string $meta_key Metadata name.
1140
- * @param mixed $meta_value Optional. Metadata value.
1141
- * @return bool True on success, false on failure.
1142
- */
1143
- function delete_user_meta($user_id, $meta_key, $meta_value = '') {
1144
- return delete_metadata('user', $user_id, $meta_key, $meta_value);
1145
- }
1146
-
1147
- /**
1148
- * Retrieve user meta field for a user.
1149
- *
1150
- * @since 3.0.0
1151
- * @uses get_metadata()
1152
- * @link http://codex.wordpress.org/Function_Reference/get_user_meta
1153
- *
1154
- * @param int $user_id User ID.
1155
- * @param string $key Optional. The meta key to retrieve. By default, returns data for all keys.
1156
- * @param bool $single Whether to return a single value.
1157
- * @return mixed Will be an array if $single is false. Will be value of meta data field if $single
1158
- * is true.
1159
- */
1160
- function get_user_meta($user_id, $key = '', $single = false) {
1161
- return get_metadata('user', $user_id, $key, $single);
1162
- }
1163
-
1164
- /**
1165
- * Update user meta field based on user ID.
1166
- *
1167
- * Use the $prev_value parameter to differentiate between meta fields with the
1168
- * same key and user ID.
1169
- *
1170
- * If the meta field for the user does not exist, it will be added.
1171
- *
1172
- * @since 3.0.0
1173
- * @uses update_metadata
1174
- * @link http://codex.wordpress.org/Function_Reference/update_user_meta
1175
- *
1176
- * @param int $user_id User ID.
1177
- * @param string $meta_key Metadata key.
1178
- * @param mixed $meta_value Metadata value.
1179
- * @param mixed $prev_value Optional. Previous value to check before removing.
1180
- * @return int|bool Meta ID if the key didn't exist, true on successful update, false on failure.
1181
- */
1182
- function update_user_meta($user_id, $meta_key, $meta_value, $prev_value = '') {
1183
- return update_metadata('user', $user_id, $meta_key, $meta_value, $prev_value);
1184
- }
1185
-
1186
- /**
1187
- * Count number of users who have each of the user roles.
1188
- *
1189
- * Assumes there are neither duplicated nor orphaned capabilities meta_values.
1190
- * Assumes role names are unique phrases. Same assumption made by WP_User_Query::prepare_query()
1191
- * Using $strategy = 'time' this is CPU-intensive and should handle around 10^7 users.
1192
- * Using $strategy = 'memory' this is memory-intensive and should handle around 10^5 users, but see WP Bug #12257.
1193
- *
1194
- * @since 3.0.0
1195
- * @param string $strategy 'time' or 'memory'
1196
- * @return array Includes a grand total and an array of counts indexed by role strings.
1197
- */
1198
- function count_users($strategy = 'time') {
1199
- global $wpdb, $wp_roles;
1200
-
1201
- // Initialize
1202
- $id = get_current_blog_id();
1203
- $blog_prefix = $wpdb->get_blog_prefix($id);
1204
- $result = array();
1205
-
1206
- if ( 'time' == $strategy ) {
1207
- global $wp_roles;
1208
-
1209
- if ( ! isset( $wp_roles ) )
1210
- $wp_roles = new WP_Roles();
1211
-
1212
- $avail_roles = $wp_roles->get_names();
1213
-
1214
- // Build a CPU-intensive query that will return concise information.
1215
- $select_count = array();
1216
- foreach ( $avail_roles as $this_role => $name ) {
1217
- $select_count[] = $wpdb->prepare( "COUNT(NULLIF(`meta_value` LIKE %s, false))", '%' . $wpdb->esc_like( '"' . $this_role . '"' ) . '%');
1218
- }
1219
- $select_count = implode(', ', $select_count);
1220
-
1221
- // Add the meta_value index to the selection list, then run the query.
1222
- $row = $wpdb->get_row( "SELECT $select_count, COUNT(*) FROM $wpdb->usermeta WHERE meta_key = '{$blog_prefix}capabilities'", ARRAY_N );
1223
-
1224
- // Run the previous loop again to associate results with role names.
1225
- $col = 0;
1226
- $role_counts = array();
1227
- foreach ( $avail_roles as $this_role => $name ) {
1228
- $count = (int) $row[$col++];
1229
- if ($count > 0) {
1230
- $role_counts[$this_role] = $count;
1231
- }
1232
- }
1233
-
1234
- // Get the meta_value index from the end of the result set.
1235
- $total_users = (int) $row[$col];
1236
-
1237
- $result['total_users'] = $total_users;
1238
- $result['avail_roles'] =& $role_counts;
1239
- } else {
1240
- $avail_roles = array();
1241
-
1242
- $users_of_blog = $wpdb->get_col( "SELECT meta_value FROM $wpdb->usermeta WHERE meta_key = '{$blog_prefix}capabilities'" );
1243
-
1244
- foreach ( $users_of_blog as $caps_meta ) {
1245
- $b_roles = maybe_unserialize($caps_meta);
1246
- if ( ! is_array( $b_roles ) )
1247
- continue;
1248
- foreach ( $b_roles as $b_role => $val ) {
1249
- if ( isset($avail_roles[$b_role]) ) {
1250
- $avail_roles[$b_role]++;
1251
- } else {
1252
- $avail_roles[$b_role] = 1;
1253
- }
1254
- }
1255
- }
1256
-
1257
- $result['total_users'] = count( $users_of_blog );
1258
- $result['avail_roles'] =& $avail_roles;
1259
- }
1260
-
1261
- return $result;
1262
- }
1263
-
1264
- //
1265
- // Private helper functions
1266
- //
1267
-
1268
- /**
1269
- * Set up global user vars.
1270
- *
1271
- * Used by wp_set_current_user() for back compat. Might be deprecated in the future.
1272
- *
1273
- * @since 2.0.4
1274
- * @global string $userdata User description.
1275
- * @global string $user_login The user username for logging in
1276
- * @global int $user_level The level of the user
1277
- * @global int $user_ID The ID of the user
1278
- * @global string $user_email The email address of the user
1279
- * @global string $user_url The url in the user's profile
1280
- * @global string $user_identity The display name of the user
1281
- *
1282
- * @param int $for_user_id Optional. User ID to set up global data.
1283
- */
1284
- function setup_userdata($for_user_id = '') {
1285
- global $user_login, $userdata, $user_level, $user_ID, $user_email, $user_url, $user_identity;
1286
-
1287
- if ( '' == $for_user_id )
1288
- $for_user_id = get_current_user_id();
1289
- $user = get_userdata( $for_user_id );
1290
-
1291
- if ( ! $user ) {
1292
- $user_ID = 0;
1293
- $user_level = 0;
1294
- $userdata = null;
1295
- $user_login = $user_email = $user_url = $user_identity = '';
1296
- return;
1297
- }
1298
-
1299
- $user_ID = (int) $user->ID;
1300
- $user_level = (int) $user->user_level;
1301
- $userdata = $user;
1302
- $user_login = $user->user_login;
1303
- $user_email = $user->user_email;
1304
- $user_url = $user->user_url;
1305
- $user_identity = $user->display_name;
1306
- }
1307
-
1308
- /**
1309
- * Create dropdown HTML content of users.
1310
- *
1311
- * The content can either be displayed, which it is by default or retrieved by
1312
- * setting the 'echo' argument. The 'include' and 'exclude' arguments do not
1313
- * need to be used; all users will be displayed in that case. Only one can be
1314
- * used, either 'include' or 'exclude', but not both.
1315
- *
1316
- * The available arguments are as follows:
1317
- *
1318
- * @since 2.3.0
1319
- *
1320
- * @global wpdb $wpdb WordPress database object for queries.
1321
- *
1322
- * @param array|string $args {
1323
- * Optional. Array or string of arguments to generate a drop-down of users.
1324
- * {@see WP_User_Query::prepare_query() for additional available arguments.
1325
- *
1326
- * @type string $show_option_all Text to show as the drop-down default (all).
1327
- * Default empty.
1328
- * @type string $show_option_none Text to show as the drop-down default when no
1329
- * users were found. Default empty.
1330
- * @type int|string $option_none_value Value to use for $show_option_non when no users
1331
- * were found. Default -1.
1332
- * @type string $hide_if_only_one_author Whether to skip generating the drop-down
1333
- * if only one user was found. Default empty.
1334
- * @type string $orderby Field to order found users by. Accepts user fields.
1335
- * Default 'display_name'.
1336
- * @type string $order Whether to order users in ascending or descending
1337
- * order. Accepts 'ASC' (ascending) or 'DESC' (descending).
1338
- * Default 'ASC'.
1339
- * @type array|string $include Array or comma-separated list of user IDs to include.
1340
- * Default empty.
1341
- * @type array|string $exclude Array or comma-separated list of user IDs to exclude.
1342
- * Default empty.
1343
- * @type bool|int $multi Whether to skip the ID attribute on the 'select' element.
1344
- * Accepts 1|true or 0|false. Default 0|false.
1345
- * @type string $show User table column to display. If the selected item is empty
1346
- * then the 'user_login' will be displayed in parentheses.
1347
- * Accepts user fields. Default 'display_name'.
1348
- * @type int|bool $echo Whether to echo or return the drop-down. Accepts 1|true (echo)
1349
- * or 0|false (return). Default 1|true.
1350
- * @type int $selected Which user ID should be selected. Default 0.
1351
- * @type bool $include_selected Whether to always include the selected user ID in the drop-
1352
- * down. Default false.
1353
- * @type string $name Name attribute of select element. Default 'user'.
1354
- * @type string $id ID attribute of the select element. Default is the value of $name.
1355
- * @type string $class Class attribute of the select element. Default empty.
1356
- * @type int $blog_id ID of blog (Multisite only). Default is ID of the current blog.
1357
- * @type string $who Which type of users to query. Accepts only an empty string or
1358
- * 'authors'. Default empty.
1359
- * }
1360
- * @return string|null Null on display. String of HTML content on retrieve.
1361
- */
1362
- function wp_dropdown_users( $args = '' ) {
1363
- $defaults = array(
1364
- 'show_option_all' => '', 'show_option_none' => '', 'hide_if_only_one_author' => '',
1365
- 'orderby' => 'display_name', 'order' => 'ASC',
1366
- 'include' => '', 'exclude' => '', 'multi' => 0,
1367
- 'show' => 'display_name', 'echo' => 1,
1368
- 'selected' => 0, 'name' => 'user', 'class' => '', 'id' => '',
1369
- 'blog_id' => $GLOBALS['blog_id'], 'who' => '', 'include_selected' => false,
1370
- 'option_none_value' => -1
1371
- );
1372
-
1373
- $defaults['selected'] = is_author() ? get_query_var( 'author' ) : 0;
1374
-
1375
- $r = wp_parse_args( $args, $defaults );
1376
- $show = $r['show'];
1377
- $show_option_all = $r['show_option_all'];
1378
- $show_option_none = $r['show_option_none'];
1379
- $option_none_value = $r['option_none_value'];
1380
-
1381
- $query_args = wp_array_slice_assoc( $r, array( 'blog_id', 'include', 'exclude', 'orderby', 'order', 'who' ) );
1382
- $query_args['fields'] = array( 'ID', 'user_login', $show );
1383
- $users = get_users( $query_args );
1384
-
1385
- $output = '';
1386
- if ( ! empty( $users ) && ( empty( $r['hide_if_only_one_author'] ) || count( $users ) > 1 ) ) {
1387
- $name = esc_attr( $r['name'] );
1388
- if ( $r['multi'] && ! $r['id'] ) {
1389
- $id = '';
1390
- } else {
1391
- $id = $r['id'] ? " id='" . esc_attr( $r['id'] ) . "'" : " id='$name'";
1392
- }
1393
- $output = "<select name='{$name}'{$id} class='" . $r['class'] . "'>\n";
1394
-
1395
- if ( $show_option_all ) {
1396
- $output .= "\t<option value='0'>$show_option_all</option>\n";
1397
- }
1398
-
1399
- if ( $show_option_none ) {
1400
- $_selected = selected( $option_none_value, $r['selected'], false );
1401
- $output .= "\t<option value='" . esc_attr( $option_none_value ) . "'$_selected>$show_option_none</option>\n";
1402
- }
1403
-
1404
- $found_selected = false;
1405
- foreach ( (array) $users as $user ) {
1406
- $user->ID = (int) $user->ID;
1407
- $_selected = selected( $user->ID, $r['selected'], false );
1408
- if ( $_selected ) {
1409
- $found_selected = true;
1410
- }
1411
- $display = ! empty( $user->$show ) ? $user->$show : '('. $user->user_login . ')';
1412
- $output .= "\t<option value='$user->ID'$_selected>" . esc_html( $display ) . "</option>\n";
1413
- }
1414
-
1415
- if ( $r['include_selected'] && ! $found_selected && ( $r['selected'] > 0 ) ) {
1416
- $user = get_userdata( $r['selected'] );
1417
- $_selected = selected( $user->ID, $r['selected'], false );
1418
- $display = ! empty( $user->$show ) ? $user->$show : '('. $user->user_login . ')';
1419
- $output .= "\t<option value='$user->ID'$_selected>" . esc_html( $display ) . "</option>\n";
1420
- }
1421
-
1422
- $output .= "</select>";
1423
- }
1424
-
1425
- /**
1426
- * Filter the wp_dropdown_users() HTML output.
1427
- *
1428
- * @since 2.3.0
1429
- *
1430
- * @param string $output HTML output generated by wp_dropdown_users().
1431
- */
1432
- $html = apply_filters( 'wp_dropdown_users', $output );
1433
-
1434
- if ( $r['echo'] ) {
1435
- echo $html;
1436
- }
1437
- return $html;
1438
- }
1439
-
1440
- /**
1441
- * Sanitize user field based on context.
1442
- *
1443
- * Possible context values are: 'raw', 'edit', 'db', 'display', 'attribute' and 'js'. The
1444
- * 'display' context is used by default. 'attribute' and 'js' contexts are treated like 'display'
1445
- * when calling filters.
1446
- *
1447
- * @since 2.3.0
1448
- *
1449
- * @param string $field The user Object field name.
1450
- * @param mixed $value The user Object value.
1451
- * @param int $user_id user ID.
1452
- * @param string $context How to sanitize user fields. Looks for 'raw', 'edit', 'db', 'display',
1453
- * 'attribute' and 'js'.
1454
- * @return mixed Sanitized value.
1455
- */
1456
- function sanitize_user_field($field, $value, $user_id, $context) {
1457
- $int_fields = array('ID');
1458
- if ( in_array($field, $int_fields) )
1459
- $value = (int) $value;
1460
-
1461
- if ( 'raw' == $context )
1462
- return $value;
1463
-
1464
- if ( !is_string($value) && !is_numeric($value) )
1465
- return $value;
1466
-
1467
- $prefixed = false !== strpos( $field, 'user_' );
1468
-
1469
- if ( 'edit' == $context ) {
1470
- if ( $prefixed ) {
1471
-
1472
- /** This filter is documented in wp-includes/post.php */
1473
- $value = apply_filters( "edit_{$field}", $value, $user_id );
1474
- } else {
1475
-
1476
- /**
1477
- * Filter a user field value in the 'edit' context.
1478
- *
1479
- * The dynamic portion of the hook name, $field, refers to the prefixed user
1480
- * field being filtered, such as 'user_login', 'user_email', 'first_name', etc.
1481
- *
1482
- * @since 2.9.0
1483
- *
1484
- * @param mixed $value Value of the prefixed user field.
1485
- * @param int $user_id User ID.
1486
- */
1487
- $value = apply_filters( "edit_user_{$field}", $value, $user_id );
1488
- }
1489
-
1490
- if ( 'description' == $field )
1491
- $value = esc_html( $value ); // textarea_escaped?
1492
- else
1493
- $value = esc_attr($value);
1494
- } else if ( 'db' == $context ) {
1495
- if ( $prefixed ) {
1496
- /** This filter is documented in wp-includes/post.php */
1497
- $value = apply_filters( "pre_{$field}", $value );
1498
- } else {
1499
-
1500
- /**
1501
- * Filter the value of a user field in the 'db' context.
1502
- *
1503
- * The dynamic portion of the hook name, $field, refers to the prefixed user
1504
- * field being filtered, such as 'user_login', 'user_email', 'first_name', etc.
1505
- *
1506
- * @since 2.9.0
1507
- *
1508
- * @param mixed $value Value of the prefixed user field.
1509
- */
1510
- $value = apply_filters( "pre_user_{$field}", $value );
1511
- }
1512
- } else {
1513
- // Use display filters by default.
1514
- if ( $prefixed ) {
1515
-
1516
- /** This filter is documented in wp-includes/post.php */
1517
- $value = apply_filters( $field, $value, $user_id, $context );
1518
- } else {
1519
-
1520
- /**
1521
- * Filter the value of a user field in a standard context.
1522
- *
1523
- * The dynamic portion of the hook name, $field, refers to the prefixed user
1524
- * field being filtered, such as 'user_login', 'user_email', 'first_name', etc.
1525
- *
1526
- * @since 2.9.0
1527
- *
1528
- * @param mixed $value The user object value to sanitize.
1529
- * @param int $user_id User ID.
1530
- * @param string $context The context to filter within.
1531
- */
1532
- $value = apply_filters( "user_{$field}", $value, $user_id, $context );
1533
- }
1534
- }
1535
-
1536
- if ( 'user_url' == $field )
1537
- $value = esc_url($value);
1538
-
1539
- if ( 'attribute' == $context )
1540
- $value = esc_attr($value);
1541
- else if ( 'js' == $context )
1542
- $value = esc_js($value);
1543
-
1544
- return $value;
1545
- }
1546
-
1547
- /**
1548
- * Update all user caches
1549
- *
1550
- * @since 3.0.0
1551
- *
1552
- * @param object $user User object to be cached
1553
- */
1554
- function update_user_caches($user) {
1555
- wp_cache_add($user->ID, $user, 'users');
1556
- wp_cache_add($user->user_login, $user->ID, 'userlogins');
1557
- wp_cache_add($user->user_email, $user->ID, 'useremail');
1558
- wp_cache_add($user->user_nicename, $user->ID, 'userslugs');
1559
- }
1560
-
1561
- /**
1562
- * Clean all user caches
1563
- *
1564
- * @since 3.0.0
1565
- *
1566
- * @param WP_User|int $user User object or ID to be cleaned from the cache
1567
- */
1568
- function clean_user_cache( $user ) {
1569
- if ( is_numeric( $user ) )
1570
- $user = new WP_User( $user );
1571
-
1572
- if ( ! $user->exists() )
1573
- return;
1574
-
1575
- wp_cache_delete( $user->ID, 'users' );
1576
- wp_cache_delete( $user->user_login, 'userlogins' );
1577
- wp_cache_delete( $user->user_email, 'useremail' );
1578
- wp_cache_delete( $user->user_nicename, 'userslugs' );
1579
- }
1580
-
1581
- /**
1582
- * Checks whether the given username exists.
1583
- *
1584
- * @since 2.0.0
1585
- *
1586
- * @param string $username Username.
1587
- * @return null|int The user's ID on success, and null on failure.
1588
- */
1589
- function username_exists( $username ) {
1590
- if ( $user = get_user_by('login', $username ) ) {
1591
- return $user->ID;
1592
- } else {
1593
- return null;
1594
- }
1595
- }
1596
-
1597
- /**
1598
- * Checks whether the given email exists.
1599
- *
1600
- * @since 2.1.0
1601
- *
1602
- * @param string $email Email.
1603
- * @return bool|int The user's ID on success, and false on failure.
1604
- */
1605
- function email_exists( $email ) {
1606
- if ( $user = get_user_by('email', $email) )
1607
- return $user->ID;
1608
-
1609
- return false;
1610
- }
1611
-
1612
- /**
1613
- * Checks whether an username is valid.
1614
- *
1615
- * @since 2.0.1
1616
- * @uses apply_filters() Calls 'validate_username' hook on $valid check and $username as parameters
1617
- *
1618
- * @param string $username Username.
1619
- * @return bool Whether username given is valid
1620
- */
1621
- function validate_username( $username ) {
1622
- $sanitized = sanitize_user( $username, true );
1623
- $valid = ( $sanitized == $username );
1624
- /**
1625
- * Filter whether the provided username is valid or not.
1626
- *
1627
- * @since 2.0.1
1628
- *
1629
- * @param bool $valid Whether given username is valid.
1630
- * @param string $username Username to check.
1631
- */
1632
- return apply_filters( 'validate_username', $valid, $username );
1633
- }
1634
-
1635
- /**
1636
- * Insert an user into the database.
1637
- *
1638
- * Most of the $userdata array fields have filters associated with the values.
1639
- * The exceptions are 'rich_editing', 'role', 'jabber', 'aim', 'yim',
1640
- * 'user_registered', and 'ID'. The filters have the prefix 'pre_user_' followed
1641
- * by the field name. An example using 'description' would have the filter
1642
- * called, 'pre_user_description' that can be hooked into.
1643
- *
1644
- * @since 2.0.0
1645
- *
1646
- * @global wpdb $wpdb WordPress database object for queries.
1647
- *
1648
- * @param array $userdata {
1649
- * An array, object, or WP_User object of user data arguments.
1650
- *
1651
- * @type int $ID User ID. If supplied, the user will be updated.
1652
- * @type string $user_pass The plain-text user password.
1653
- * @type string $user_login The user's login username.
1654
- * @type string $user_nicename The URL-friendly user name.
1655
- * @type string $user_url The user URL.
1656
- * @type string $user_email The user email address.
1657
- * @type string $display_name The user's display name.
1658
- * Default is the the user's username.
1659
- * @type string $nickname The user's nickname. Default
1660
- * Default is the the user's username.
1661
- * @type string $first_name The user's first name. For new users, will be used
1662
- * to build $display_name if unspecified.
1663
- * @type stirng $last_name The user's last name. For new users, will be used
1664
- * to build $display_name if unspecified.
1665
- * @type string|bool $rich_editing Whether to enable the rich-editor for the user. False
1666
- * if not empty.
1667
- * @type string $date_registered Date the user registered. Format is 'Y-m-d H:i:s'.
1668
- * @type string $role User's role.
1669
- * @type string $jabber User's Jabber account username.
1670
- * @type string $aim User's AIM account username.
1671
- * @type string $yim User's Yahoo! messenger username.
1672
- * }
1673
- * @return int|WP_Error The newly created user's ID or a WP_Error object if the user could not
1674
- * be created.
1675
- */
1676
- function wp_insert_user( $userdata ) {
1677
- global $wpdb;
1678
-
1679
- if ( is_a( $userdata, 'stdClass' ) ) {
1680
- $userdata = get_object_vars( $userdata );
1681
- } elseif ( is_a( $userdata, 'WP_User' ) ) {
1682
- $userdata = $userdata->to_array();
1683
- }
1684
- // Are we updating or creating?
1685
- if ( ! empty( $userdata['ID'] ) ) {
1686
- $ID = (int) $userdata['ID'];
1687
- $update = true;
1688
- $old_user_data = WP_User::get_data_by( 'id', $ID );
1689
- // hashed in wp_update_user(), plaintext if called directly
1690
- $user_pass = $userdata['user_pass'];
1691
- } else {
1692
- $update = false;
1693
- // Hash the password
1694
- $user_pass = wp_hash_password( $userdata['user_pass'] );
1695
- }
1696
-
1697
- $sanitized_user_login = sanitize_user( $userdata['user_login'], true );
1698
-
1699
- /**
1700
- * Filter a username after it has been sanitized.
1701
- *
1702
- * This filter is called before the user is created or updated.
1703
- *
1704
- * @since 2.0.3
1705
- *
1706
- * @param string $sanitized_user_login Username after it has been sanitized.
1707
- */
1708
- $pre_user_login = apply_filters( 'pre_user_login', $sanitized_user_login );
1709
-
1710
- //Remove any non-printable chars from the login string to see if we have ended up with an empty username
1711
- $user_login = trim( $pre_user_login );
1712
-
1713
- if ( empty( $user_login ) ) {
1714
- return new WP_Error('empty_user_login', __('Cannot create a user with an empty login name.') );
1715
- }
1716
- if ( ! $update && username_exists( $user_login ) ) {
1717
- return new WP_Error( 'existing_user_login', __( 'Sorry, that username already exists!' ) );
1718
- }
1719
-
1720
- // If a nicename is provided, remove unsafe user characters before
1721
- // using it. Otherwise build a nicename from the user_login.
1722
- if ( ! empty( $userdata['user_nicename'] ) ) {
1723
- $user_nicename = sanitize_user( $userdata['user_nicename'], true );
1724
- } else {
1725
- $user_nicename = $user_login;
1726
- }
1727
-
1728
- $user_nicename = sanitize_title( $user_nicename );
1729
-
1730
- // Store values to save in user meta.
1731
- $meta = array();
1732
-
1733
- /**
1734
- * Filter a user's nicename before the user is created or updated.
1735
- *
1736
- * @since 2.0.3
1737
- *
1738
- * @param string $user_nicename The user's nicename.
1739
- */
1740
- $user_nicename = apply_filters( 'pre_user_nicename', $user_nicename );
1741
-
1742
- $raw_user_url = empty( $userdata['user_url'] ) ? '' : $userdata['user_url'];
1743
-
1744
- /**
1745
- * Filter a user's URL before the user is created or updated.
1746
- *
1747
- * @since 2.0.3
1748
- *
1749
- * @param string $raw_user_url The user's URL.
1750
- */
1751
- $user_url = apply_filters( 'pre_user_url', $raw_user_url );
1752
-
1753
- $raw_user_email = empty( $userdata['user_email'] ) ? '' : $userdata['user_email'];
1754
-
1755
- /**
1756
- * Filter a user's email before the user is created or updated.
1757
- *
1758
- * @since 2.0.3
1759
- *
1760
- * @param string $raw_user_email The user's email.
1761
- */
1762
- $user_email = apply_filters( 'pre_user_email', $raw_user_email );
1763
-
1764
- if ( ! $update && ! defined( 'WP_IMPORTING' ) && email_exists( $user_email ) ) {
1765
- return new WP_Error( 'existing_user_email', __( 'Sorry, that email address is already used!' ) );
1766
- }
1767
- $nickname = empty( $userdata['nickname'] ) ? $user_login : $userdata['nickname'];
1768
-
1769
- /**
1770
- * Filter a user's nickname before the user is created or updated.
1771
- *
1772
- * @since 2.0.3
1773
- *
1774
- * @param string $nickname The user's nickname.
1775
- */
1776
- $meta['nickname'] = apply_filters( 'pre_user_nickname', $nickname );
1777
-
1778
- $first_name = empty( $userdata['first_name'] ) ? '' : $userdata['first_name'];
1779
-
1780
- /**
1781
- * Filter a user's first name before the user is created or updated.
1782
- *
1783
- * @since 2.0.3
1784
- *
1785
- * @param string $first_name The user's first name.
1786
- */
1787
- $meta['first_name'] = apply_filters( 'pre_user_first_name', $first_name );
1788
-
1789
- $last_name = empty( $userdata['last_name'] ) ? '' : $userdata['last_name'];
1790
-
1791
- /**
1792
- * Filter a user's last name before the user is created or updated.
1793
- *
1794
- * @since 2.0.3
1795
- *
1796
- * @param string $last_name The user's last name.
1797
- */
1798
- $meta['last_name'] = apply_filters( 'pre_user_last_name', $last_name );
1799
-
1800
- if ( empty( $userdata['display_name'] ) ) {
1801
- if ( $update ) {
1802
- $display_name = $user_login;
1803
- } elseif ( $meta['first_name'] && $meta['last_name'] ) {
1804
- /* translators: 1: first name, 2: last name */
1805
- $display_name = sprintf( _x( '%1$s %2$s', 'Display name based on first name and last name' ), $meta['first_name'], $meta['last_name'] );
1806
- } elseif ( $meta['first_name'] ) {
1807
- $display_name = $meta['first_name'];
1808
- } elseif ( $meta['last_name'] ) {
1809
- $display_name = $meta['last_name'];
1810
- } else {
1811
- $display_name = $user_login;
1812
- }
1813
- } else {
1814
- $display_name = $userdata['display_name'];
1815
- }
1816
-
1817
- /**
1818
- * Filter a user's display name before the user is created or updated.
1819
- *
1820
- * @since 2.0.3
1821
- *
1822
- * @param string $display_name The user's display name.
1823
- */
1824
- $display_name = apply_filters( 'pre_user_display_name', $display_name );
1825
-
1826
- $description = empty( $userdata['description'] ) ? '' : $userdata['description'];
1827
-
1828
- /**
1829
- * Filter a user's description before the user is created or updated.
1830
- *
1831
- * @since 2.0.3
1832
- *
1833
- * @param string $description The user's description.
1834
- */
1835
- $meta['description'] = apply_filters( 'pre_user_description', $description );
1836
-
1837
- $meta['rich_editing'] = empty( $userdata['rich_editing'] ) ? 'true' : $userdata['rich_editing'];
1838
-
1839
- $meta['comment_shortcuts'] = empty( $userdata['comment_shortcuts'] ) ? 'false' : $userdata['comment_shortcuts'];
1840
-
1841
- $admin_color = empty( $userdata['admin_color'] ) ? 'fresh' : $userdata['admin_color'];
1842
- $meta['admin_color'] = preg_replace( '|[^a-z0-9 _.\-@]|i', '', $admin_color );
1843
-
1844
- $meta['use_ssl'] = empty( $userdata['use_ssl'] ) ? 0 : $userdata['use_ssl'];
1845
-
1846
- $user_registered = empty( $userdata['user_registered'] ) ? gmdate( 'Y-m-d H:i:s' ) : $userdata['user_registered'];
1847
-
1848
- $meta['show_admin_bar_front'] = empty( $userdata['show_admin_bar_front'] ) ? 'true' : $userdata['show_admin_bar_front'];
1849
-
1850
- $user_nicename_check = $wpdb->get_var( $wpdb->prepare("SELECT ID FROM $wpdb->users WHERE user_nicename = %s AND user_login != %s LIMIT 1" , $user_nicename, $user_login));
1851
-
1852
- if ( $user_nicename_check ) {
1853
- $suffix = 2;
1854
- while ($user_nicename_check) {
1855
- $alt_user_nicename = $user_nicename . "-$suffix";
1856
- $user_nicename_check = $wpdb->get_var( $wpdb->prepare("SELECT ID FROM $wpdb->users WHERE user_nicename = %s AND user_login != %s LIMIT 1" , $alt_user_nicename, $user_login));
1857
- $suffix++;
1858
- }
1859
- $user_nicename = $alt_user_nicename;
1860
- }
1861
-
1862
- $compacted = compact( 'user_pass', 'user_email', 'user_url', 'user_nicename', 'display_name', 'user_registered' );
1863
- $data = wp_unslash( $compacted );
1864
-
1865
- if ( $update ) {
1866
- $wpdb->update( $wpdb->users, $data, compact( 'ID' ) );
1867
- $user_id = (int) $ID;
1868
- } else {
1869
- $wpdb->insert( $wpdb->users, $data + compact( 'user_login' ) );
1870
- $user_id = (int) $wpdb->insert_id;
1871
- }
1872
-
1873
- $user = new WP_User( $user_id );
1874
-
1875
- // Update user meta.
1876
- foreach ( $meta as $key => $value ) {
1877
- update_user_meta( $user_id, $key, $value );
1878
- }
1879
-
1880
- foreach ( wp_get_user_contact_methods( $user ) as $key => $value ) {
1881
- if ( isset( $userdata[ $key ] ) ) {
1882
- update_user_meta( $user_id, $key, $userdata[ $key ] );
1883
- }
1884
- }
1885
-
1886
- if ( isset( $userdata['role'] ) ) {
1887
- $user->set_role( $userdata['role'] );
1888
- } elseif ( ! $update ) {
1889
- $user->set_role(get_option('default_role'));
1890
- }
1891
- wp_cache_delete( $user_id, 'users' );
1892
- wp_cache_delete( $user_login, 'userlogins' );
1893
-
1894
- if ( $update ) {
1895
- /**
1896
- * Fires immediately after an existing user is updated.
1897
- *
1898
- * @since 2.0.0
1899
- *
1900
- * @param int $user_id User ID.
1901
- * @param object $old_user_data Object containing user's data prior to update.
1902
- */
1903
- do_action( 'profile_update', $user_id, $old_user_data );
1904
- } else {
1905
- /**
1906
- * Fires immediately after a new user is registered.
1907
- *
1908
- * @since 1.5.0
1909
- *
1910
- * @param int $user_id User ID.
1911
- */
1912
- do_action( 'user_register', $user_id );
1913
- }
1914
-
1915
- return $user_id;
1916
- }
1917
-
1918
- /**
1919
- * Update an user in the database.
1920
- *
1921
- * It is possible to update a user's password by specifying the 'user_pass'
1922
- * value in the $userdata parameter array.
1923
- *
1924
- * If current user's password is being updated, then the cookies will be
1925
- * cleared.
1926
- *
1927
- * @since 2.0.0
1928
- *
1929
- * @see wp_insert_user() For what fields can be set in $userdata.
1930
- *
1931
- * @param mixed $userdata An array of user data or a user object of type stdClass or WP_User.
1932
- * @return int|WP_Error The updated user's ID or a WP_Error object if the user could not be updated.
1933
- */
1934
- function wp_update_user($userdata) {
1935
- if ( is_a( $userdata, 'stdClass' ) )
1936
- $userdata = get_object_vars( $userdata );
1937
- elseif ( is_a( $userdata, 'WP_User' ) )
1938
- $userdata = $userdata->to_array();
1939
-
1940
- $ID = (int) $userdata['ID'];
1941
-
1942
- // First, get all of the original fields
1943
- $user_obj = get_userdata( $ID );
1944
- if ( ! $user_obj )
1945
- return new WP_Error( 'invalid_user_id', __( 'Invalid user ID.' ) );
1946
-
1947
- $user = $user_obj->to_array();
1948
-
1949
- // Add additional custom fields
1950
- foreach ( _get_additional_user_keys( $user_obj ) as $key ) {
1951
- $user[ $key ] = get_user_meta( $ID, $key, true );
1952
- }
1953
-
1954
- // Escape data pulled from DB.
1955
- $user = add_magic_quotes( $user );
1956
-
1957
- // If password is changing, hash it now.
1958
- if ( ! empty($userdata['user_pass']) ) {
1959
- $plaintext_pass = $userdata['user_pass'];
1960
- $userdata['user_pass'] = wp_hash_password($userdata['user_pass']);
1961
- }
1962
-
1963
- wp_cache_delete($user[ 'user_email' ], 'useremail');
1964
-
1965
- // Merge old and new fields with new fields overwriting old ones.
1966
- $userdata = array_merge($user, $userdata);
1967
- $user_id = wp_insert_user($userdata);
1968
-
1969
- // Update the cookies if the password changed.
1970
- $current_user = wp_get_current_user();
1971
- if ( $current_user->ID == $ID ) {
1972
- if ( isset($plaintext_pass) ) {
1973
- wp_clear_auth_cookie();
1974
-
1975
- // Here we calculate the expiration length of the current auth cookie and compare it to the default expiration.
1976
- // If it's greater than this, then we know the user checked 'Remember Me' when they logged in.
1977
- $logged_in_cookie = wp_parse_auth_cookie( '', 'logged_in' );
1978
- /** This filter is documented in wp-includes/pluggable.php */
1979
- $default_cookie_life = apply_filters( 'auth_cookie_expiration', ( 2 * DAY_IN_SECONDS ), $ID, false );
1980
- $remember = ( ( $logged_in_cookie['expiration'] - time() ) > $default_cookie_life );
1981
-
1982
- wp_set_auth_cookie( $ID, $remember );
1983
- }
1984
- }
1985
-
1986
- return $user_id;
1987
- }
1988
-
1989
- /**
1990
- * A simpler way of inserting an user into the database.
1991
- *
1992
- * Creates a new user with just the username, password, and email. For more
1993
- * complex user creation use wp_insert_user() to specify more information.
1994
- *
1995
- * @since 2.0.0
1996
- * @see wp_insert_user() More complete way to create a new user
1997
- *
1998
- * @param string $username The user's username.
1999
- * @param string $password The user's password.
2000
- * @param string $email The user's email (optional).
2001
- * @return int The new user's ID.
2002
- */
2003
- function wp_create_user($username, $password, $email = '') {
2004
- $user_login = wp_slash( $username );
2005
- $user_email = wp_slash( $email );
2006
- $user_pass = $password;
2007
-
2008
- $userdata = compact('user_login', 'user_email', 'user_pass');
2009
- return wp_insert_user($userdata);
2010
- }
2011
-
2012
- /**
2013
- * Return a list of meta keys that wp_insert_user() is supposed to set.
2014
- *
2015
- * @since 3.3.0
2016
- * @access private
2017
- *
2018
- * @param object $user WP_User instance.
2019
- * @return array
2020
- */
2021
- function _get_additional_user_keys( $user ) {
2022
- $keys = array( 'first_name', 'last_name', 'nickname', 'description', 'rich_editing', 'comment_shortcuts', 'admin_color', 'use_ssl', 'show_admin_bar_front' );
2023
- return array_merge( $keys, array_keys( wp_get_user_contact_methods( $user ) ) );
2024
- }
2025
-
2026
- /**
2027
- * Set up the user contact methods.
2028
- *
2029
- * Default contact methods were removed in 3.6. A filter dictates contact methods.
2030
- *
2031
- * @since 3.7.0
2032
- *
2033
- * @param WP_User $user Optional. WP_User object.
2034
- * @return array Array of contact methods and their labels.
2035
- */
2036
- function wp_get_user_contact_methods( $user = null ) {
2037
- $methods = array();
2038
- if ( get_site_option( 'initial_db_version' ) < 23588 ) {
2039
- $methods = array(
2040
- 'aim' => __( 'AIM' ),
2041
- 'yim' => __( 'Yahoo IM' ),
2042
- 'jabber' => __( 'Jabber / Google Talk' )
2043
- );
2044
- }
2045
-
2046
- /**
2047
- * Filter the user contact methods.
2048
- *
2049
- * @since 2.9.0
2050
- *
2051
- * @param array $methods Array of contact methods and their labels.
2052
- * @param WP_User $user WP_User object.
2053
- */
2054
- return apply_filters( 'user_contactmethods', $methods, $user );
2055
- }
2056
-
2057
- /**
2058
- * The old private function for setting up user contact methods.
2059
- *
2060
- * @since 2.9.0
2061
- * @access private
2062
- */
2063
- function _wp_get_user_contactmethods( $user = null ) {
2064
- return wp_get_user_contact_methods( $user );
2065
- }
2066
-
2067
- /**
2068
- * Retrieves a user row based on password reset key and login
2069
- *
2070
- * A key is considered 'expired' if it exactly matches the value of the
2071
- * user_activation_key field, rather than being matched after going through the
2072
- * hashing process. This field is now hashed; old values are no longer accepted
2073
- * but have a different WP_Error code so good user feedback can be provided.
2074
- *
2075
- * @global wpdb $wpdb WordPress database object for queries.
2076
- *
2077
- * @param string $key Hash to validate sending user's password.
2078
- * @param string $login The user login.
2079
- * @return WP_User|WP_Error WP_User object on success, WP_Error object for invalid or expired keys.
2080
- */
2081
- function check_password_reset_key($key, $login) {
2082
- global $wpdb, $wp_hasher;
2083
-
2084
- $key = preg_replace('/[^a-z0-9]/i', '', $key);
2085
-
2086
- if ( empty( $key ) || !is_string( $key ) )
2087
- return new WP_Error('invalid_key', __('Invalid key'));
2088
-
2089
- if ( empty($login) || !is_string($login) )
2090
- return new WP_Error('invalid_key', __('Invalid key'));
2091
-
2092
- $row = $wpdb->get_row( $wpdb->prepare( "SELECT ID, user_activation_key FROM $wpdb->users WHERE user_login = %s", $login ) );
2093
- if ( ! $row )
2094
- return new WP_Error('invalid_key', __('Invalid key'));
2095
-
2096
- if ( empty( $wp_hasher ) ) {
2097
- require_once ABSPATH . WPINC . '/class-phpass.php';
2098
- $wp_hasher = new PasswordHash( 8, true );
2099
- }
2100
-
2101
- if ( $wp_hasher->CheckPassword( $key, $row->user_activation_key ) )
2102
- return get_userdata( $row->ID );
2103
-
2104
- if ( $key === $row->user_activation_key ) {
2105
- $return = new WP_Error( 'expired_key', __( 'Invalid key' ) );
2106
- $user_id = $row->ID;
2107
-
2108
- /**
2109
- * Filter the return value of check_password_reset_key() when an
2110
- * old-style key is used (plain-text key was stored in the database).
2111
- *
2112
- * @since 3.7.0
2113
- *
2114
- * @param WP_Error $return A WP_Error object denoting an expired key.
2115
- * Return a WP_User object to validate the key.
2116
- * @param int $user_id The matched user ID.
2117
- */
2118
- return apply_filters( 'password_reset_key_expired', $return, $user_id );
2119
- }
2120
-
2121
- return new WP_Error( 'invalid_key', __( 'Invalid key' ) );
2122
- }
2123
-
2124
- /**
2125
- * Handles resetting the user's password.
2126
- *
2127
- * @param object $user The user
2128
- * @param string $new_pass New password for the user in plaintext
2129
- */
2130
- function reset_password( $user, $new_pass ) {
2131
- /**
2132
- * Fires before the user's password is reset.
2133
- *
2134
- * @since 1.5.0
2135
- *
2136
- * @param object $user The user.
2137
- * @param string $new_pass New user password.
2138
- */
2139
- do_action( 'password_reset', $user, $new_pass );
2140
-
2141
- wp_set_password( $new_pass, $user->ID );
2142
- update_user_option( $user->ID, 'default_password_nag', false, true );
2143
-
2144
- wp_password_change_notification( $user );
2145
- }
2146
-
2147
- /**
2148
- * Handles registering a new user.
2149
- *
2150
- * @param string $user_login User's username for logging in
2151
- * @param string $user_email User's email address to send password and add
2152
- * @return int|WP_Error Either user's ID or error on failure.
2153
- */
2154
- function register_new_user( $user_login, $user_email ) {
2155
- $errors = new WP_Error();
2156
-
2157
- $sanitized_user_login = sanitize_user( $user_login );
2158
- /**
2159
- * Filter the email address of a user being registered.
2160
- *
2161
- * @since 2.1.0
2162
- *
2163
- * @param string $user_email The email address of the new user.
2164
- */
2165
- $user_email = apply_filters( 'user_registration_email', $user_email );
2166
-
2167
- // Check the username
2168
- if ( $sanitized_user_login == '' ) {
2169
- $errors->add( 'empty_username', __( '<strong>ERROR</strong>: Please enter a username.' ) );
2170
- } elseif ( ! validate_username( $user_login ) ) {
2171
- $errors->add( 'invalid_username', __( '<strong>ERROR</strong>: This username is invalid because it uses illegal characters. Please enter a valid username.' ) );
2172
- $sanitized_user_login = '';
2173
- } elseif ( username_exists( $sanitized_user_login ) ) {
2174
- $errors->add( 'username_exists', __( '<strong>ERROR</strong>: This username is already registered. Please choose another one.' ) );
2175
- }
2176
-
2177
- // Check the e-mail address
2178
- if ( $user_email == '' ) {
2179
- $errors->add( 'empty_email', __( '<strong>ERROR</strong>: Please type your e-mail address.' ) );
2180
- } elseif ( ! is_email( $user_email ) ) {
2181
- $errors->add( 'invalid_email', __( '<strong>ERROR</strong>: The email address isn&#8217;t correct.' ) );
2182
- $user_email = '';
2183
- } elseif ( email_exists( $user_email ) ) {
2184
- $errors->add( 'email_exists', __( '<strong>ERROR</strong>: This email is already registered, please choose another one.' ) );
2185
- }
2186
-
2187
- /**
2188
- * Fires when submitting registration form data, before the user is created.
2189
- *
2190
- * @since 2.1.0
2191
- *
2192
- * @param string $sanitized_user_login The submitted username after being sanitized.
2193
- * @param string $user_email The submitted email.
2194
- * @param WP_Error $errors Contains any errors with submitted username and email,
2195
- * e.g., an empty field, an invalid username or email,
2196
- * or an existing username or email.
2197
- */
2198
- do_action( 'register_post', $sanitized_user_login, $user_email, $errors );
2199
-
2200
- /**
2201
- * Filter the errors encountered when a new user is being registered.
2202
- *
2203
- * The filtered WP_Error object may, for example, contain errors for an invalid
2204
- * or existing username or email address. A WP_Error object should always returned,
2205
- * but may or may not contain errors.
2206
- *
2207
- * If any errors are present in $errors, this will abort the user's registration.
2208
- *
2209
- * @since 2.1.0
2210
- *
2211
- * @param WP_Error $errors A WP_Error object containing any errors encountered
2212
- * during registration.
2213
- * @param string $sanitized_user_login User's username after it has been sanitized.
2214
- * @param string $user_email User's email.
2215
- */
2216
- $errors = apply_filters( 'registration_errors', $errors, $sanitized_user_login, $user_email );
2217
-
2218
- if ( $errors->get_error_code() )
2219
- return $errors;
2220
-
2221
- $user_pass = wp_generate_password( 12, false );
2222
- $user_id = wp_create_user( $sanitized_user_login, $user_pass, $user_email );
2223
- if ( ! $user_id || is_wp_error( $user_id ) ) {
2224
- $errors->add( 'registerfail', sprintf( __( '<strong>ERROR</strong>: Couldn&#8217;t register you&hellip; please contact the <a href="mailto:%s">webmaster</a> !' ), get_option( 'admin_email' ) ) );
2225
- return $errors;
2226
- }
2227
-
2228
- update_user_option( $user_id, 'default_password_nag', true, true ); //Set up the Password change nag.
2229
-
2230
- wp_new_user_notification( $user_id, $user_pass );
2231
-
2232
- return $user_id;
2233
- }
2234
-
2235
- /**
2236
- * Retrieve the current session token from the logged_in cookie.
2237
- *
2238
- * @since 4.0.0
2239
- *
2240
- * @return string Token.
2241
- */
2242
- function wp_get_session_token() {
2243
- $cookie = wp_parse_auth_cookie( '', 'logged_in' );
2244
- return ! empty( $cookie['token'] ) ? $cookie['token'] : '';
2245
- }
2246
-
2247
- /**
2248
- * Retrieve a list of sessions for the current user.
2249
- *
2250
- * @since 4.0.0
2251
- * @return array Array of sessions.
2252
- */
2253
- function wp_get_all_sessions() {
2254
- $manager = WP_Session_Tokens::get_instance( get_current_user_id() );
2255
- return $manager->get_all();
2256
- }
2257
-
2258
- /**
2259
- * Remove the current session token from the database.
2260
- *
2261
- * @since 4.0.0
2262
- */
2263
- function wp_destroy_current_session() {
2264
- $token = wp_get_session_token();
2265
- if ( $token ) {
2266
- $manager = WP_Session_Tokens::get_instance( get_current_user_id() );
2267
- $manager->destroy( $token );
2268
- }
2269
- }
2270
-
2271
- /**
2272
- * Remove all but the current session token for the current user for the database.
2273
- *
2274
- * @since 4.0.0
2275
- */
2276
- function wp_destroy_other_sessions() {
2277
- $token = wp_get_session_token();
2278
- if ( $token ) {
2279
- $manager = WP_Session_Tokens::get_instance( get_current_user_id() );
2280
- $manager->destroy_others( $token );
2281
- }
2282
- }
2283
-
2284
- /**
2285
- * Remove all session tokens for the current user from the database.
2286
- *
2287
- * @since 4.0.0
2288
- */
2289
- function wp_destroy_all_sessions() {
2290
- $manager = WP_Session_Tokens::get_instance( get_current_user_id() );
2291
- $manager->destroy_all();
2292
- }