BuddyPress - Version 2.9.0-beta2

Version Description

See: https://codex.buddypress.org/releases/

Download this release

Release Info

Developer johnjamesjacoby
Plugin Icon 128x128 BuddyPress
Version 2.9.0-beta2
Comparing to
See all releases

Code changes from version 2.8.2 to 2.9.0-beta2

Files changed (399) hide show
  1. bp-activity/admin/css/admin-rtl.css +23 -5
  2. bp-activity/admin/css/admin-rtl.min.css +1 -1
  3. bp-activity/admin/css/admin.css +23 -5
  4. bp-activity/admin/css/admin.min.css +1 -1
  5. bp-activity/admin/js/admin.min.js +1 -1
  6. bp-activity/bp-activity-admin.php +1 -1
  7. bp-activity/bp-activity-embeds.php +1 -1
  8. bp-activity/bp-activity-filters.php +9 -5
  9. bp-activity/bp-activity-functions.php +16 -5
  10. bp-activity/bp-activity-notifications.php +1 -1
  11. bp-activity/bp-activity-template.php +5 -5
  12. bp-activity/classes/class-bp-activity-activity.php +50 -46
  13. bp-activity/classes/class-bp-activity-list-table.php +2 -3
  14. bp-activity/css/mentions-rtl.css +24 -10
  15. bp-activity/css/mentions-rtl.min.css +1 -1
  16. bp-activity/css/mentions.css +25 -10
  17. bp-activity/css/mentions.min.css +1 -1
  18. bp-activity/js/mentions.min.js +1 -1
  19. bp-blogs/bp-blogs-activity.php +2 -2
  20. bp-blogs/bp-blogs-functions.php +3 -3
  21. bp-blogs/bp-blogs-template.php +4 -2
  22. bp-core/admin/bp-core-admin-functions.php +1 -1
  23. bp-core/admin/bp-core-admin-settings.php +33 -1
  24. bp-core/admin/bp-core-admin-slugs.php +0 -1
  25. bp-core/admin/bp-core-admin-tools.php +1 -1
  26. bp-core/admin/css/common-rtl.css +50 -16
  27. bp-core/admin/css/common-rtl.min.css +1 -1
  28. bp-core/admin/css/common.css +50 -16
  29. bp-core/admin/css/common.min.css +1 -1
  30. bp-core/admin/css/customizer-controls-rtl.css +3 -3
  31. bp-core/admin/css/customizer-controls-rtl.min.css +1 -1
  32. bp-core/admin/css/customizer-controls.css +3 -3
  33. bp-core/admin/css/customizer-controls.min.css +1 -1
  34. bp-core/admin/images/list-unsubscribe.png +0 -0
  35. bp-core/admin/images/twenty-seventeen.png +0 -0
  36. bp-core/admin/js/customizer-controls.min.js +1 -1
  37. bp-core/admin/js/customizer-receiver-emails.min.js +1 -1
  38. bp-core/admin/js/dismissible-admin-notices.min.js +1 -1
  39. bp-core/bp-core-actions.php +1 -0
  40. bp-core/bp-core-adminbar.php +0 -6
  41. bp-core/bp-core-attachments.php +2 -2
  42. bp-core/bp-core-avatars.php +34 -89
  43. bp-core/bp-core-buddybar.php +12 -12
  44. bp-core/bp-core-cache.php +9 -6
  45. bp-core/bp-core-catchuri.php +34 -2
  46. bp-core/bp-core-cssjs.php +2 -2
  47. bp-core/bp-core-filters.php +5 -5
  48. bp-core/bp-core-functions.php +31 -30
  49. bp-core/bp-core-moderation.php +2 -2
  50. bp-core/bp-core-options.php +2 -9
  51. bp-core/bp-core-template-loader.php +5 -5
  52. bp-core/bp-core-template.php +7 -4
  53. bp-core/bp-core-wpabstraction.php +5 -5
  54. bp-core/classes/class-bp-admin.php +5 -1
  55. bp-core/classes/class-bp-attachment-avatar.php +1 -1
  56. bp-core/classes/class-bp-attachment-cover-image.php +291 -291
  57. bp-core/classes/class-bp-attachment.php +32 -24
  58. bp-core/classes/class-bp-button.php +7 -0
  59. bp-core/classes/class-bp-core-bp-nav-backcompat.php +1 -1
  60. bp-core/classes/class-bp-core-nav.php +1 -1
  61. bp-core/classes/class-bp-core-oembed-extension.php +2 -0
  62. bp-core/classes/class-bp-core-user.php +4 -4
  63. bp-core/classes/class-bp-phpmailer.php +1 -1
  64. bp-core/css/admin-bar-rtl.css +5 -3
  65. bp-core/css/admin-bar-rtl.min.css +1 -1
  66. bp-core/css/admin-bar.css +5 -3
  67. bp-core/css/admin-bar.min.css +1 -1
  68. bp-core/css/avatar-rtl.css +18 -25
  69. bp-core/css/avatar-rtl.min.css +1 -1
  70. bp-core/css/avatar.css +18 -25
  71. bp-core/css/avatar.min.css +1 -1
  72. bp-core/css/buddybar-rtl.css +39 -5
  73. bp-core/css/buddybar-rtl.min.css +1 -1
  74. bp-core/css/buddybar.css +39 -5
  75. bp-core/css/buddybar.min.css +1 -1
  76. bp-core/deprecated/1.2.php +1 -1
  77. bp-core/deprecated/1.5.php +1 -1
  78. bp-core/deprecated/1.7.php +1 -1
  79. bp-core/deprecated/1.9.php +19 -16
  80. bp-core/deprecated/2.1.php +4 -4
  81. bp-core/deprecated/2.5.php +1 -1
  82. bp-core/deprecated/2.9.php +30 -0
  83. bp-core/js/avatar.min.js +1 -1
  84. bp-core/js/bp-plupload.js +5 -0
  85. bp-core/js/bp-plupload.min.js +1 -1
  86. bp-core/js/cover-image.js +277 -277
  87. bp-core/js/cover-image.min.js +1 -1
  88. bp-core/js/jquery-query.min.js +1 -1
  89. bp-core/js/vendor/jquery-cookie.min.js +1 -1
  90. bp-core/js/vendor/jquery-scroll-to.min.js +1 -1
  91. bp-core/js/vendor/jquery.atwho.min.js +1 -1
  92. bp-core/js/vendor/jquery.caret.min.js +1 -1
  93. bp-core/js/vendor/livestamp.min.js +1 -1
  94. bp-core/js/vendor/moment-js/locale/af.min.js +1 -1
  95. bp-core/js/vendor/moment-js/locale/ar-ly.min.js +1 -1
  96. bp-core/js/vendor/moment-js/locale/ar-ma.min.js +1 -1
  97. bp-core/js/vendor/moment-js/locale/ar-sa.min.js +1 -1
  98. bp-core/js/vendor/moment-js/locale/ar-tn.min.js +1 -1
  99. bp-core/js/vendor/moment-js/locale/ar.min.js +1 -1
  100. bp-core/js/vendor/moment-js/locale/az.min.js +1 -1
  101. bp-core/js/vendor/moment-js/locale/be.min.js +1 -1
  102. bp-core/js/vendor/moment-js/locale/bg.min.js +1 -1
  103. bp-core/js/vendor/moment-js/locale/bn.min.js +1 -1
  104. bp-core/js/vendor/moment-js/locale/bo.min.js +1 -1
  105. bp-core/js/vendor/moment-js/locale/br.min.js +1 -1
  106. bp-core/js/vendor/moment-js/locale/bs.min.js +1 -1
  107. bp-core/js/vendor/moment-js/locale/ca.min.js +1 -1
  108. bp-core/js/vendor/moment-js/locale/cs.min.js +1 -1
  109. bp-core/js/vendor/moment-js/locale/cv.min.js +1 -1
  110. bp-core/js/vendor/moment-js/locale/cy.min.js +1 -1
  111. bp-core/js/vendor/moment-js/locale/da.min.js +1 -1
  112. bp-core/js/vendor/moment-js/locale/de-at.min.js +1 -1
  113. bp-core/js/vendor/moment-js/locale/de.min.js +1 -1
  114. bp-core/js/vendor/moment-js/locale/dv.min.js +1 -1
  115. bp-core/js/vendor/moment-js/locale/el.min.js +1 -1
  116. bp-core/js/vendor/moment-js/locale/en-au.min.js +1 -1
  117. bp-core/js/vendor/moment-js/locale/en-ca.min.js +1 -1
  118. bp-core/js/vendor/moment-js/locale/en-gb.min.js +1 -1
  119. bp-core/js/vendor/moment-js/locale/en-ie.min.js +1 -1
  120. bp-core/js/vendor/moment-js/locale/en-nz.min.js +1 -1
  121. bp-core/js/vendor/moment-js/locale/eo.min.js +1 -1
  122. bp-core/js/vendor/moment-js/locale/es-do.min.js +1 -1
  123. bp-core/js/vendor/moment-js/locale/es.min.js +1 -1
  124. bp-core/js/vendor/moment-js/locale/et.min.js +1 -1
  125. bp-core/js/vendor/moment-js/locale/eu.min.js +1 -1
  126. bp-core/js/vendor/moment-js/locale/fa.min.js +1 -1
  127. bp-core/js/vendor/moment-js/locale/fi.min.js +1 -1
  128. bp-core/js/vendor/moment-js/locale/fo.min.js +1 -1
  129. bp-core/js/vendor/moment-js/locale/fr-ca.min.js +1 -1
  130. bp-core/js/vendor/moment-js/locale/fr-ch.min.js +1 -1
  131. bp-core/js/vendor/moment-js/locale/fr.min.js +1 -1
  132. bp-core/js/vendor/moment-js/locale/fy.min.js +1 -1
  133. bp-core/js/vendor/moment-js/locale/gd.min.js +1 -1
  134. bp-core/js/vendor/moment-js/locale/gl.min.js +1 -1
  135. bp-core/js/vendor/moment-js/locale/he.min.js +1 -1
  136. bp-core/js/vendor/moment-js/locale/hi.min.js +1 -1
  137. bp-core/js/vendor/moment-js/locale/hr.min.js +1 -1
  138. bp-core/js/vendor/moment-js/locale/hu.min.js +1 -1
  139. bp-core/js/vendor/moment-js/locale/hy-am.min.js +1 -1
  140. bp-core/js/vendor/moment-js/locale/id.min.js +1 -1
  141. bp-core/js/vendor/moment-js/locale/is.min.js +1 -1
  142. bp-core/js/vendor/moment-js/locale/it.min.js +1 -1
  143. bp-core/js/vendor/moment-js/locale/ja.min.js +1 -1
  144. bp-core/js/vendor/moment-js/locale/jv.min.js +1 -1
  145. bp-core/js/vendor/moment-js/locale/ka.min.js +1 -1
  146. bp-core/js/vendor/moment-js/locale/kk.min.js +1 -1
  147. bp-core/js/vendor/moment-js/locale/km.min.js +1 -1
  148. bp-core/js/vendor/moment-js/locale/ko.min.js +1 -1
  149. bp-core/js/vendor/moment-js/locale/ky.min.js +1 -1
  150. bp-core/js/vendor/moment-js/locale/lb.min.js +1 -1
  151. bp-core/js/vendor/moment-js/locale/lo.min.js +1 -1
  152. bp-core/js/vendor/moment-js/locale/lt.min.js +1 -1
  153. bp-core/js/vendor/moment-js/locale/lv.min.js +1 -1
  154. bp-core/js/vendor/moment-js/locale/me.min.js +1 -1
  155. bp-core/js/vendor/moment-js/locale/mi.min.js +1 -1
  156. bp-core/js/vendor/moment-js/locale/mk.min.js +1 -1
  157. bp-core/js/vendor/moment-js/locale/ml.min.js +1 -1
  158. bp-core/js/vendor/moment-js/locale/mr.min.js +1 -1
  159. bp-core/js/vendor/moment-js/locale/ms-my.min.js +1 -1
  160. bp-core/js/vendor/moment-js/locale/ms.min.js +1 -1
  161. bp-core/js/vendor/moment-js/locale/my.min.js +1 -1
  162. bp-core/js/vendor/moment-js/locale/nb.min.js +1 -1
  163. bp-core/js/vendor/moment-js/locale/ne.min.js +1 -1
  164. bp-core/js/vendor/moment-js/locale/nl.min.js +1 -1
  165. bp-core/js/vendor/moment-js/locale/nn.min.js +1 -1
  166. bp-core/js/vendor/moment-js/locale/pa-in.min.js +1 -1
  167. bp-core/js/vendor/moment-js/locale/pl.min.js +1 -1
  168. bp-core/js/vendor/moment-js/locale/pt-br.min.js +1 -1
  169. bp-core/js/vendor/moment-js/locale/pt.min.js +1 -1
  170. bp-core/js/vendor/moment-js/locale/ro.min.js +1 -1
  171. bp-core/js/vendor/moment-js/locale/ru.min.js +1 -1
  172. bp-core/js/vendor/moment-js/locale/se.min.js +1 -1
  173. bp-core/js/vendor/moment-js/locale/si.min.js +1 -1
  174. bp-core/js/vendor/moment-js/locale/sk.min.js +1 -1
  175. bp-core/js/vendor/moment-js/locale/sl.min.js +1 -1
  176. bp-core/js/vendor/moment-js/locale/sq.min.js +1 -1
  177. bp-core/js/vendor/moment-js/locale/sr-cyrl.min.js +1 -1
  178. bp-core/js/vendor/moment-js/locale/sr.min.js +1 -1
  179. bp-core/js/vendor/moment-js/locale/ss.min.js +1 -1
  180. bp-core/js/vendor/moment-js/locale/sv.min.js +1 -1
  181. bp-core/js/vendor/moment-js/locale/sw.min.js +1 -1
  182. bp-core/js/vendor/moment-js/locale/ta.min.js +1 -1
  183. bp-core/js/vendor/moment-js/locale/te.min.js +1 -1
  184. bp-core/js/vendor/moment-js/locale/th.min.js +1 -1
  185. bp-core/js/vendor/moment-js/locale/tl-ph.min.js +1 -1
  186. bp-core/js/vendor/moment-js/locale/tlh.min.js +1 -1
  187. bp-core/js/vendor/moment-js/locale/tr.min.js +1 -1
  188. bp-core/js/vendor/moment-js/locale/tzl.min.js +1 -1
  189. bp-core/js/vendor/moment-js/locale/tzm-latn.min.js +1 -1
  190. bp-core/js/vendor/moment-js/locale/tzm.min.js +1 -1
  191. bp-core/js/vendor/moment-js/locale/uk.min.js +1 -1
  192. bp-core/js/vendor/moment-js/locale/uz.min.js +1 -1
  193. bp-core/js/vendor/moment-js/locale/vi.min.js +1 -1
  194. bp-core/js/vendor/moment-js/locale/x-pseudo.min.js +1 -1
  195. bp-core/js/vendor/moment-js/locale/zh-cn.min.js +1 -1
  196. bp-core/js/vendor/moment-js/locale/zh-hk.min.js +1 -1
  197. bp-core/js/vendor/moment-js/locale/zh-tw.min.js +1 -1
  198. bp-core/js/vendor/moment-js/moment.min.js +1 -2
  199. bp-core/js/webcam.min.js +1 -1
  200. bp-core/js/widget-members.min.js +1 -1
  201. bp-forums/bp-forums-template.php +1 -1
  202. bp-friends/bp-friends-actions.php +1 -1
  203. bp-friends/bp-friends-activity.php +1 -1
  204. bp-friends/bp-friends-functions.php +10 -4
  205. bp-friends/bp-friends-template.php +5 -5
  206. bp-friends/classes/class-bp-core-friends-widget.php +1 -1
  207. bp-friends/classes/class-bp-friends-friendship.php +5 -5
  208. bp-friends/js/widget-friends.min.js +1 -1
  209. bp-groups/admin/css/admin-rtl.css +29 -3
  210. bp-groups/admin/css/admin-rtl.min.css +1 -1
  211. bp-groups/admin/css/admin.css +29 -3
  212. bp-groups/admin/css/admin.min.css +1 -1
  213. bp-groups/admin/js/admin.min.js +1 -1
  214. bp-groups/bp-groups-activity.php +16 -6
  215. bp-groups/bp-groups-admin.php +43 -31
  216. bp-groups/bp-groups-cache.php +5 -0
  217. bp-groups/bp-groups-forums.php +1 -1
  218. bp-groups/bp-groups-functions.php +106 -28
  219. bp-groups/bp-groups-notifications.php +14 -6
  220. bp-groups/bp-groups-screens.php +12 -3
  221. bp-groups/bp-groups-template.php +108 -47
  222. bp-groups/bp-groups-widgets.php +1 -1
  223. bp-groups/classes/class-bp-group-extension.php +13 -6
  224. bp-groups/classes/class-bp-groups-component.php +5 -17
  225. bp-groups/classes/class-bp-groups-group.php +175 -24
  226. bp-groups/classes/class-bp-groups-invite-template.php +1 -1
  227. bp-groups/classes/class-bp-groups-list-table.php +2 -1
  228. bp-groups/classes/class-bp-groups-member.php +28 -10
  229. bp-groups/classes/class-bp-groups-widget.php +2 -2
  230. bp-groups/js/widget-groups.min.js +1 -1
  231. bp-loader.php +3 -3
  232. bp-members/admin/css/admin-rtl.css +68 -35
  233. bp-members/admin/css/admin-rtl.min.css +1 -1
  234. bp-members/admin/css/admin.css +68 -35
  235. bp-members/admin/css/admin.min.css +1 -1
  236. bp-members/admin/js/admin.js +3 -1
  237. bp-members/admin/js/admin.min.js +1 -1
  238. bp-members/bp-members-functions.php +18 -9
  239. bp-members/bp-members-template.php +3 -1
  240. bp-members/classes/class-bp-core-members-widget.php +1 -1
  241. bp-members/classes/class-bp-core-recently-active-widget.php +1 -1
  242. bp-members/classes/class-bp-core-whos-online-widget.php +1 -1
  243. bp-members/classes/class-bp-members-admin.php +6 -5
  244. bp-members/classes/class-bp-members-list-table.php +1 -1
  245. bp-members/classes/class-bp-members-ms-list-table.php +1 -1
  246. bp-messages/bp-messages-actions.php +13 -8
  247. bp-messages/bp-messages-cache.php +4 -3
  248. bp-messages/bp-messages-filters.php +1 -1
  249. bp-messages/bp-messages-functions.php +7 -9
  250. bp-messages/bp-messages-notifications.php +9 -1
  251. bp-messages/bp-messages-screens.php +20 -2
  252. bp-messages/bp-messages-star.php +4 -4
  253. bp-messages/bp-messages-template.php +42 -19
  254. bp-messages/classes/class-bp-messages-component.php +26 -17
  255. bp-messages/classes/class-bp-messages-sitewide-notices-widget.php +1 -1
  256. bp-messages/classes/class-bp-messages-thread.php +21 -6
  257. bp-messages/css/autocomplete/jquery.autocompletefb-rtl.css +53 -47
  258. bp-messages/css/autocomplete/jquery.autocompletefb-rtl.min.css +1 -1
  259. bp-messages/css/autocomplete/jquery.autocompletefb.css +53 -47
  260. bp-messages/css/autocomplete/jquery.autocompletefb.min.css +1 -1
  261. bp-messages/js/autocomplete/jquery.autocomplete.min.js +1 -1
  262. bp-messages/js/autocomplete/jquery.autocompletefb.min.js +1 -1
  263. bp-messages/js/autocomplete/jquery.bgiframe.min.js +1 -1
  264. bp-messages/js/autocomplete/jquery.dimensions.min.js +1 -1
  265. bp-notifications/bp-notifications-functions.php +11 -11
  266. bp-notifications/bp-notifications-template.php +1 -1
  267. bp-notifications/classes/class-bp-notifications-notification.php +6 -6
  268. bp-templates/bp-legacy/buddypress-functions.php +27 -24
  269. bp-templates/bp-legacy/buddypress/activity/activity-loop.php +1 -1
  270. bp-templates/bp-legacy/buddypress/activity/comment.php +1 -1
  271. bp-templates/bp-legacy/buddypress/activity/entry.php +1 -1
  272. bp-templates/bp-legacy/buddypress/activity/index.php +1 -1
  273. bp-templates/bp-legacy/buddypress/assets/_attachments/avatars/index.php +1 -1
  274. bp-templates/bp-legacy/buddypress/assets/_attachments/cover-images/index.php +36 -36
  275. bp-templates/bp-legacy/buddypress/assets/embeds/activity.php +1 -1
  276. bp-templates/bp-legacy/buddypress/blogs/blogs-loop.php +1 -1
  277. bp-templates/bp-legacy/buddypress/blogs/create.php +1 -1
  278. bp-templates/bp-legacy/buddypress/forums/forums-loop.php +3 -3
  279. bp-templates/bp-legacy/buddypress/groups/create.php +1 -1
  280. bp-templates/bp-legacy/buddypress/groups/groups-loop.php +2 -2
  281. bp-templates/bp-legacy/buddypress/groups/single/activity.php +2 -2
  282. bp-templates/bp-legacy/buddypress/groups/single/admin.php +1 -1
  283. bp-templates/bp-legacy/buddypress/groups/single/admin/delete-group.php +41 -41
  284. bp-templates/bp-legacy/buddypress/groups/single/admin/edit-details.php +53 -53
  285. bp-templates/bp-legacy/buddypress/groups/single/admin/group-avatar.php +67 -67
  286. bp-templates/bp-legacy/buddypress/groups/single/admin/group-cover-image.php +33 -33
  287. bp-templates/bp-legacy/buddypress/groups/single/admin/group-settings.php +124 -124
  288. bp-templates/bp-legacy/buddypress/groups/single/admin/manage-members.php +332 -332
  289. bp-templates/bp-legacy/buddypress/groups/single/admin/membership-requests.php +35 -35
  290. bp-templates/bp-legacy/buddypress/groups/single/cover-image-header.php +129 -129
  291. bp-templates/bp-legacy/buddypress/groups/single/forum.php +1 -2
  292. bp-templates/bp-legacy/buddypress/groups/single/forum/edit.php +1 -1
  293. bp-templates/bp-legacy/buddypress/groups/single/forum/topic.php +2 -2
  294. bp-templates/bp-legacy/buddypress/groups/single/group-header.php +1 -1
  295. bp-templates/bp-legacy/buddypress/groups/single/members.php +1 -1
  296. bp-templates/bp-legacy/buddypress/groups/single/request-membership.php +1 -1
  297. bp-templates/bp-legacy/buddypress/groups/single/requests-loop.php +1 -1
  298. bp-templates/bp-legacy/buddypress/groups/single/send-invites.php +1 -1
  299. bp-templates/bp-legacy/buddypress/members/members-loop.php +1 -1
  300. bp-templates/bp-legacy/buddypress/members/register.php +5 -4
  301. bp-templates/bp-legacy/buddypress/members/single/activity.php +1 -1
  302. bp-templates/bp-legacy/buddypress/members/single/cover-image-header.php +106 -106
  303. bp-templates/bp-legacy/buddypress/members/single/forums.php +1 -1
  304. bp-templates/bp-legacy/buddypress/members/single/friends/requests.php +1 -1
  305. bp-templates/bp-legacy/buddypress/members/single/groups/invites.php +2 -2
  306. bp-templates/bp-legacy/buddypress/members/single/messages/message.php +1 -1
  307. bp-templates/bp-legacy/buddypress/members/single/messages/messages-loop.php +3 -3
  308. bp-templates/bp-legacy/buddypress/members/single/messages/notices-loop.php +2 -2
  309. bp-templates/bp-legacy/buddypress/members/single/messages/single.php +2 -2
  310. bp-templates/bp-legacy/buddypress/members/single/plugins.php +1 -1
  311. bp-templates/bp-legacy/buddypress/members/single/profile.php +1 -1
  312. bp-templates/bp-legacy/buddypress/members/single/profile/change-avatar.php +2 -2
  313. bp-templates/bp-legacy/buddypress/members/single/profile/change-cover-image.php +33 -33
  314. bp-templates/bp-legacy/buddypress/members/single/profile/edit.php +6 -4
  315. bp-templates/bp-legacy/buddypress/members/single/profile/profile-loop.php +1 -1
  316. bp-templates/bp-legacy/buddypress/members/single/profile/profile-wp.php +1 -1
  317. bp-templates/bp-legacy/buddypress/members/single/settings/capabilities.php +1 -1
  318. bp-templates/bp-legacy/buddypress/members/single/settings/delete-account.php +1 -1
  319. bp-templates/bp-legacy/buddypress/members/single/settings/general.php +5 -7
  320. bp-templates/bp-legacy/buddypress/members/single/settings/notifications.php +1 -1
  321. bp-templates/bp-legacy/css/buddypress-rtl.css +544 -124
  322. bp-templates/bp-legacy/css/buddypress-rtl.min.css +1 -1
  323. bp-templates/bp-legacy/css/buddypress.css +544 -124
  324. bp-templates/bp-legacy/css/buddypress.min.css +1 -1
  325. bp-templates/bp-legacy/css/embeds-activity-rtl.css +8 -7
  326. bp-templates/bp-legacy/css/embeds-activity-rtl.min.css +1 -1
  327. bp-templates/bp-legacy/css/embeds-activity.css +8 -7
  328. bp-templates/bp-legacy/css/embeds-activity.min.css +1 -1
  329. bp-templates/bp-legacy/css/twentyeleven-rtl.css +248 -234
  330. bp-templates/bp-legacy/css/twentyeleven-rtl.min.css +1 -1
  331. bp-templates/bp-legacy/css/twentyeleven.css +248 -234
  332. bp-templates/bp-legacy/css/twentyeleven.min.css +1 -1
  333. bp-templates/bp-legacy/css/twentyeleven.scss +2856 -2577
  334. bp-templates/bp-legacy/css/twentyfifteen-rtl.css +67 -53
  335. bp-templates/bp-legacy/css/twentyfifteen-rtl.min.css +1 -1
  336. bp-templates/bp-legacy/css/twentyfifteen.css +67 -53
  337. bp-templates/bp-legacy/css/twentyfifteen.min.css +1 -1
  338. bp-templates/bp-legacy/css/twentyfifteen.scss +391 -75
  339. bp-templates/bp-legacy/css/twentyfourteen-rtl.css +50 -38
  340. bp-templates/bp-legacy/css/twentyfourteen-rtl.min.css +1 -1
  341. bp-templates/bp-legacy/css/twentyfourteen.css +50 -38
  342. bp-templates/bp-legacy/css/twentyfourteen.min.css +1 -1
  343. bp-templates/bp-legacy/css/twentyfourteen.scss +232 -45
  344. bp-templates/bp-legacy/css/twentyseventeen-rtl.css +230 -212
  345. bp-templates/bp-legacy/css/twentyseventeen-rtl.min.css +1 -1
  346. bp-templates/bp-legacy/css/twentyseventeen.css +230 -212
  347. bp-templates/bp-legacy/css/twentyseventeen.min.css +1 -1
  348. bp-templates/bp-legacy/css/twentyseventeen.scss +3214 -3036
  349. bp-templates/bp-legacy/css/twentysixteen-rtl.css +248 -234
  350. bp-templates/bp-legacy/css/twentysixteen-rtl.min.css +1 -1
  351. bp-templates/bp-legacy/css/twentysixteen.css +248 -234
  352. bp-templates/bp-legacy/css/twentysixteen.min.css +1 -1
  353. bp-templates/bp-legacy/css/twentysixteen.scss +2731 -2459
  354. bp-templates/bp-legacy/css/twentyten-rtl.css +248 -234
  355. bp-templates/bp-legacy/css/twentyten-rtl.min.css +1 -1
  356. bp-templates/bp-legacy/css/twentyten.css +248 -234
  357. bp-templates/bp-legacy/css/twentyten.min.css +1 -1
  358. bp-templates/bp-legacy/css/twentyten.scss +2746 -2478
  359. bp-templates/bp-legacy/css/twentythirteen-rtl.css +252 -238
  360. bp-templates/bp-legacy/css/twentythirteen-rtl.min.css +1 -1
  361. bp-templates/bp-legacy/css/twentythirteen.css +252 -238
  362. bp-templates/bp-legacy/css/twentythirteen.min.css +1 -1
  363. bp-templates/bp-legacy/css/twentythirteen.scss +2710 -2427
  364. bp-templates/bp-legacy/css/twentytwelve-rtl.css +250 -236
  365. bp-templates/bp-legacy/css/twentytwelve-rtl.min.css +1 -1
  366. bp-templates/bp-legacy/css/twentytwelve.css +250 -236
  367. bp-templates/bp-legacy/css/twentytwelve.min.css +1 -1
  368. bp-templates/bp-legacy/css/twentytwelve.scss +2787 -2517
  369. bp-templates/bp-legacy/js/buddypress.js +23 -15
  370. bp-templates/bp-legacy/js/buddypress.min.js +1 -2
  371. bp-templates/bp-legacy/js/password-verify.min.js +1 -1
  372. bp-themes/bp-default/_inc/ajax.php +1 -1
  373. bp-xprofile/admin/css/admin-rtl.css +247 -190
  374. bp-xprofile/admin/css/admin-rtl.min.css +1 -1
  375. bp-xprofile/admin/css/admin.css +247 -190
  376. bp-xprofile/admin/css/admin.min.css +1 -1
  377. bp-xprofile/admin/js/admin.js +2 -0
  378. bp-xprofile/admin/js/admin.min.js +1 -1
  379. bp-xprofile/bp-xprofile-activity.php +1 -1
  380. bp-xprofile/bp-xprofile-admin.php +2 -2
  381. bp-xprofile/bp-xprofile-filters.php +3 -3
  382. bp-xprofile/bp-xprofile-functions.php +3 -3
  383. bp-xprofile/bp-xprofile-settings.php +1 -1
  384. bp-xprofile/bp-xprofile-template.php +6 -6
  385. bp-xprofile/classes/class-bp-xprofile-field-type-checkbox.php +4 -3
  386. bp-xprofile/classes/class-bp-xprofile-field-type-datebox.php +4 -3
  387. bp-xprofile/classes/class-bp-xprofile-field-type-multiselectbox.php +7 -3
  388. bp-xprofile/classes/class-bp-xprofile-field-type-number.php +7 -3
  389. bp-xprofile/classes/class-bp-xprofile-field-type-radiobutton.php +4 -4
  390. bp-xprofile/classes/class-bp-xprofile-field-type-selectbox.php +7 -3
  391. bp-xprofile/classes/class-bp-xprofile-field-type-textarea.php +7 -3
  392. bp-xprofile/classes/class-bp-xprofile-field-type-textbox.php +7 -3
  393. bp-xprofile/classes/class-bp-xprofile-field-type-url.php +7 -3
  394. bp-xprofile/classes/class-bp-xprofile-field.php +7 -7
  395. bp-xprofile/classes/class-bp-xprofile-user-admin.php +6 -8
  396. buddypress.pot +0 -9697
  397. class-buddypress.php +5 -3
  398. composer.json +1 -1
  399. readme.txt +4 -93
bp-activity/admin/css/admin-rtl.css CHANGED
@@ -1,16 +1,20 @@
1
.akismet-status {
2
float: left;
3
}
4
.akismet-status a {
5
- color: #AAA;
6
font-style: italic;
7
}
8
.akismet-history {
9
margin: 13px;
10
}
11
.akismet-history div {
12
margin-bottom: 13px;
13
}
14
.akismet-history span {
15
color: #999;
16
}
@@ -18,36 +22,43 @@
18
#wp-bp-activities-wrap {
19
padding: 5px 0;
20
}
21
#bp-activities {
22
height: 120px;
23
}
24
#bp-replyhead {
25
font-size: 1em;
26
- line-height: 1.4em;
27
margin: 0;
28
}
29
#bp-replysubmit {
30
margin: 0;
31
padding: 0 0 3px;
32
text-align: center;
33
}
34
#bp-replysubmit .error {
35
- color: red;
36
line-height: 21px;
37
text-align: center;
38
vertical-align: center;
39
}
40
#bp-replysubmit img.waiting {
41
float: left;
42
padding: 4px 10px 0;
43
vertical-align: top;
44
}
45
#bp-activities-form .column-response img {
46
float: right;
47
margin-bottom: 5px;
48
margin-left: 10px;
49
margin-top: 1px;
50
}
51
.activity-errors {
52
list-style-type: disc;
53
margin-right: 2em;
@@ -57,31 +68,38 @@
57
#bp_activity_content div.inside {
58
line-height: 0;
59
}
60
#bp_activity_action h3,
61
#bp_activity_content h3 {
62
cursor: auto;
63
}
64
#bp_activity_action td.mceIframeContainer,
65
#bp_activity_content td.mceIframeContainer {
66
- background-color: white;
67
}
68
#post-body #bp-activities-action_resize,
69
#post-body #bp-activities-content_resize {
70
position: inherit;
71
margin-top: -2px;
72
}
73
#bp_activity_link input {
74
width: 99%;
75
}
76
#bp-activities-primaryid {
77
margin-bottom: 1em;
78
}
79
.column-action {
80
width: 12%;
81
}
82
83
@media screen and (max-width: 782px) {
84
body.toplevel_page_bp-activity .wp-list-table tr:not(.inline-edit-row):not(.no-items) td:not(.check-column) {
85
display: table-cell;
86
}
87
- }
1
.akismet-status {
2
float: left;
3
}
4
+
5
.akismet-status a {
6
+ color: #aaa;
7
font-style: italic;
8
}
9
+
10
.akismet-history {
11
margin: 13px;
12
}
13
+
14
.akismet-history div {
15
margin-bottom: 13px;
16
}
17
+
18
.akismet-history span {
19
color: #999;
20
}
22
#wp-bp-activities-wrap {
23
padding: 5px 0;
24
}
25
+
26
#bp-activities {
27
height: 120px;
28
}
29
+
30
#bp-replyhead {
31
font-size: 1em;
32
+ line-height: 1.4;
33
margin: 0;
34
}
35
+
36
#bp-replysubmit {
37
margin: 0;
38
padding: 0 0 3px;
39
text-align: center;
40
}
41
+
42
#bp-replysubmit .error {
43
+ color: #f00;
44
line-height: 21px;
45
text-align: center;
46
vertical-align: center;
47
}
48
+
49
#bp-replysubmit img.waiting {
50
float: left;
51
padding: 4px 10px 0;
52
vertical-align: top;
53
}
54
+
55
#bp-activities-form .column-response img {
56
float: right;
57
margin-bottom: 5px;
58
margin-left: 10px;
59
margin-top: 1px;
60
}
61
+
62
.activity-errors {
63
list-style-type: disc;
64
margin-right: 2em;
68
#bp_activity_content div.inside {
69
line-height: 0;
70
}
71
+
72
#bp_activity_action h3,
73
#bp_activity_content h3 {
74
cursor: auto;
75
}
76
+
77
#bp_activity_action td.mceIframeContainer,
78
#bp_activity_content td.mceIframeContainer {
79
+ background-color: #fff;
80
}
81
+
82
#post-body #bp-activities-action_resize,
83
#post-body #bp-activities-content_resize {
84
position: inherit;
85
margin-top: -2px;
86
}
87
+
88
#bp_activity_link input {
89
width: 99%;
90
}
91
+
92
#bp-activities-primaryid {
93
margin-bottom: 1em;
94
}
95
+
96
.column-action {
97
width: 12%;
98
}
99
100
@media screen and (max-width: 782px) {
101
+
102
body.toplevel_page_bp-activity .wp-list-table tr:not(.inline-edit-row):not(.no-items) td:not(.check-column) {
103
display: table-cell;
104
}
105
+ }
bp-activity/admin/css/admin-rtl.min.css CHANGED
@@ -1 +1 @@
1
- .akismet-status{float:left}.akismet-status a{color:#AAA;font-style:italic}.akismet-history{margin:13px}.akismet-history div{margin-bottom:13px}.akismet-history span{color:#999}#wp-bp-activities-wrap{padding:5px 0}#bp-activities{height:120px}#bp-replyhead{font-size:1em;line-height:1.4em;margin:0}#bp-replysubmit{margin:0;padding:0 0 3px;text-align:center}#bp-replysubmit .error{color:red;line-height:21px;text-align:center;vertical-align:center}#bp-replysubmit img.waiting{float:left;padding:4px 10px 0;vertical-align:top}#bp-activities-form .column-response img{float:right;margin-bottom:5px;margin-left:10px;margin-top:1px}.activity-errors{list-style-type:disc;margin-right:2em}#bp_activity_action div.inside,#bp_activity_content div.inside{line-height:0}#bp_activity_action h3,#bp_activity_content h3{cursor:auto}#bp_activity_action td.mceIframeContainer,#bp_activity_content td.mceIframeContainer{background-color:#fff}#post-body #bp-activities-action_resize,#post-body #bp-activities-content_resize{position:inherit;margin-top:-2px}#bp_activity_link input{width:99%}#bp-activities-primaryid{margin-bottom:1em}.column-action{width:12%}@media screen and (max-width:782px){body.toplevel_page_bp-activity .wp-list-table tr:not(.inline-edit-row):not(.no-items) td:not(.check-column){display:table-cell}}
1
+ .akismet-status{float:left}.akismet-status a{color:#aaa;font-style:italic}.akismet-history{margin:13px}.akismet-history div{margin-bottom:13px}.akismet-history span{color:#999}#wp-bp-activities-wrap{padding:5px 0}#bp-activities{height:120px}#bp-replyhead{font-size:1em;line-height:1.4;margin:0}#bp-replysubmit{margin:0;padding:0 0 3px;text-align:center}#bp-replysubmit .error{color:red;line-height:21px;text-align:center;vertical-align:center}#bp-replysubmit img.waiting{float:left;padding:4px 10px 0;vertical-align:top}#bp-activities-form .column-response img{float:right;margin-bottom:5px;margin-left:10px;margin-top:1px}.activity-errors{list-style-type:disc;margin-right:2em}#bp_activity_action div.inside,#bp_activity_content div.inside{line-height:0}#bp_activity_action h3,#bp_activity_content h3{cursor:auto}#bp_activity_action td.mceIframeContainer,#bp_activity_content td.mceIframeContainer{background-color:#fff}#post-body #bp-activities-action_resize,#post-body #bp-activities-content_resize{position:inherit;margin-top:-2px}#bp_activity_link input{width:99%}#bp-activities-primaryid{margin-bottom:1em}.column-action{width:12%}@media screen and (max-width:782px){body.toplevel_page_bp-activity .wp-list-table tr:not(.inline-edit-row):not(.no-items) td:not(.check-column){display:table-cell}}
bp-activity/admin/css/admin.css CHANGED
@@ -1,16 +1,20 @@
1
.akismet-status {
2
float: right;
3
}
4
.akismet-status a {
5
- color: #AAA;
6
font-style: italic;
7
}
8
.akismet-history {
9
margin: 13px;
10
}
11
.akismet-history div {
12
margin-bottom: 13px;
13
}
14
.akismet-history span {
15
color: #999;
16
}
@@ -18,36 +22,43 @@
18
#wp-bp-activities-wrap {
19
padding: 5px 0;
20
}
21
#bp-activities {
22
height: 120px;
23
}
24
#bp-replyhead {
25
font-size: 1em;
26
- line-height: 1.4em;
27
margin: 0;
28
}
29
#bp-replysubmit {
30
margin: 0;
31
padding: 0 0 3px;
32
text-align: center;
33
}
34
#bp-replysubmit .error {
35
- color: red;
36
line-height: 21px;
37
text-align: center;
38
vertical-align: center;
39
}
40
#bp-replysubmit img.waiting {
41
float: right;
42
padding: 4px 10px 0;
43
vertical-align: top;
44
}
45
#bp-activities-form .column-response img {
46
float: left;
47
margin-bottom: 5px;
48
margin-right: 10px;
49
margin-top: 1px;
50
}
51
.activity-errors {
52
list-style-type: disc;
53
margin-left: 2em;
@@ -57,31 +68,38 @@
57
#bp_activity_content div.inside {
58
line-height: 0;
59
}
60
#bp_activity_action h3,
61
#bp_activity_content h3 {
62
cursor: auto;
63
}
64
#bp_activity_action td.mceIframeContainer,
65
#bp_activity_content td.mceIframeContainer {
66
- background-color: white;
67
}
68
#post-body #bp-activities-action_resize,
69
#post-body #bp-activities-content_resize {
70
position: inherit;
71
margin-top: -2px;
72
}
73
#bp_activity_link input {
74
width: 99%;
75
}
76
#bp-activities-primaryid {
77
margin-bottom: 1em;
78
}
79
.column-action {
80
width: 12%;
81
}
82
83
@media screen and (max-width: 782px) {
84
body.toplevel_page_bp-activity .wp-list-table tr:not(.inline-edit-row):not(.no-items) td:not(.check-column) {
85
display: table-cell;
86
}
87
- }
1
.akismet-status {
2
float: right;
3
}
4
+
5
.akismet-status a {
6
+ color: #aaa;
7
font-style: italic;
8
}
9
+
10
.akismet-history {
11
margin: 13px;
12
}
13
+
14
.akismet-history div {
15
margin-bottom: 13px;
16
}
17
+
18
.akismet-history span {
19
color: #999;
20
}
22
#wp-bp-activities-wrap {
23
padding: 5px 0;
24
}
25
+
26
#bp-activities {
27
height: 120px;
28
}
29
+
30
#bp-replyhead {
31
font-size: 1em;
32
+ line-height: 1.4;
33
margin: 0;
34
}
35
+
36
#bp-replysubmit {
37
margin: 0;
38
padding: 0 0 3px;
39
text-align: center;
40
}
41
+
42
#bp-replysubmit .error {
43
+ color: #f00;
44
line-height: 21px;
45
text-align: center;
46
vertical-align: center;
47
}
48
+
49
#bp-replysubmit img.waiting {
50
float: right;
51
padding: 4px 10px 0;
52
vertical-align: top;
53
}
54
+
55
#bp-activities-form .column-response img {
56
float: left;
57
margin-bottom: 5px;
58
margin-right: 10px;
59
margin-top: 1px;
60
}
61
+
62
.activity-errors {
63
list-style-type: disc;
64
margin-left: 2em;
68
#bp_activity_content div.inside {
69
line-height: 0;
70
}
71
+
72
#bp_activity_action h3,
73
#bp_activity_content h3 {
74
cursor: auto;
75
}
76
+
77
#bp_activity_action td.mceIframeContainer,
78
#bp_activity_content td.mceIframeContainer {
79
+ background-color: #fff;
80
}
81
+
82
#post-body #bp-activities-action_resize,
83
#post-body #bp-activities-content_resize {
84
position: inherit;
85
margin-top: -2px;
86
}
87
+
88
#bp_activity_link input {
89
width: 99%;
90
}
91
+
92
#bp-activities-primaryid {
93
margin-bottom: 1em;
94
}
95
+
96
.column-action {
97
width: 12%;
98
}
99
100
@media screen and (max-width: 782px) {
101
+
102
body.toplevel_page_bp-activity .wp-list-table tr:not(.inline-edit-row):not(.no-items) td:not(.check-column) {
103
display: table-cell;
104
}
105
+ }
bp-activity/admin/css/admin.min.css CHANGED
@@ -1 +1 @@
1
- .akismet-status{float:right}.akismet-status a{color:#AAA;font-style:italic}.akismet-history{margin:13px}.akismet-history div{margin-bottom:13px}.akismet-history span{color:#999}#wp-bp-activities-wrap{padding:5px 0}#bp-activities{height:120px}#bp-replyhead{font-size:1em;line-height:1.4em;margin:0}#bp-replysubmit{margin:0;padding:0 0 3px;text-align:center}#bp-replysubmit .error{color:red;line-height:21px;text-align:center;vertical-align:center}#bp-replysubmit img.waiting{float:right;padding:4px 10px 0;vertical-align:top}#bp-activities-form .column-response img{float:left;margin-bottom:5px;margin-right:10px;margin-top:1px}.activity-errors{list-style-type:disc;margin-left:2em}#bp_activity_action div.inside,#bp_activity_content div.inside{line-height:0}#bp_activity_action h3,#bp_activity_content h3{cursor:auto}#bp_activity_action td.mceIframeContainer,#bp_activity_content td.mceIframeContainer{background-color:#fff}#post-body #bp-activities-action_resize,#post-body #bp-activities-content_resize{position:inherit;margin-top:-2px}#bp_activity_link input{width:99%}#bp-activities-primaryid{margin-bottom:1em}.column-action{width:12%}@media screen and (max-width:782px){body.toplevel_page_bp-activity .wp-list-table tr:not(.inline-edit-row):not(.no-items) td:not(.check-column){display:table-cell}}
1
+ .akismet-status{float:right}.akismet-status a{color:#aaa;font-style:italic}.akismet-history{margin:13px}.akismet-history div{margin-bottom:13px}.akismet-history span{color:#999}#wp-bp-activities-wrap{padding:5px 0}#bp-activities{height:120px}#bp-replyhead{font-size:1em;line-height:1.4;margin:0}#bp-replysubmit{margin:0;padding:0 0 3px;text-align:center}#bp-replysubmit .error{color:red;line-height:21px;text-align:center;vertical-align:center}#bp-replysubmit img.waiting{float:right;padding:4px 10px 0;vertical-align:top}#bp-activities-form .column-response img{float:left;margin-bottom:5px;margin-right:10px;margin-top:1px}.activity-errors{list-style-type:disc;margin-left:2em}#bp_activity_action div.inside,#bp_activity_content div.inside{line-height:0}#bp_activity_action h3,#bp_activity_content h3{cursor:auto}#bp_activity_action td.mceIframeContainer,#bp_activity_content td.mceIframeContainer{background-color:#fff}#post-body #bp-activities-action_resize,#post-body #bp-activities-content_resize{position:inherit;margin-top:-2px}#bp_activity_link input{width:99%}#bp-activities-primaryid{margin-bottom:1em}.column-action{width:12%}@media screen and (max-width:782px){body.toplevel_page_bp-activity .wp-list-table tr:not(.inline-edit-row):not(.no-items) td:not(.check-column){display:table-cell}}
bp-activity/admin/js/admin.min.js CHANGED
@@ -1 +1 @@
1
- !function(a){var b={init:function(){a(document).on("click",".row-actions a.reply",b.open),a(document).on("click","#bp-activities-container a.cancel",b.close),a(document).on("click","#bp-activities-container a.save",b.send),a(document).on("keyup","#bp-activities:visible",function(a){27===a.which&&b.close()})},open:function(){var b=a("#bp-activities-container").hide();return a(this).parents("tr").after(b),b.fadeIn("300"),a("#bp-activities").focus(),!1},close:function(){return a("#bp-activities-container").fadeOut("200",function(){a("#bp-activities").val("").blur(),a("#bp-replysubmit .error").html("").hide(),a("#bp-replysubmit .waiting").hide()}),!1},send:function(){a("#bp-replysubmit .error").hide(),a("#bp-replysubmit .waiting").show();var c={};return c["_ajax_nonce-bp-activity-admin-reply"]=a('#bp-activities-container input[name="_ajax_nonce-bp-activity-admin-reply"]').val(),c.action="bp-activity-admin-reply",c.content=a("#bp-activities").val(),c.parent_id=a("#bp-activities-container").prev().data("parent_id"),c.root_id=a("#bp-activities-container").prev().data("root_id"),a.ajax({data:c,type:"POST",url:ajaxurl,error:function(a){b.error(a)},success:function(a){b.show(a)}}),!1},error:function(b){var c=b.statusText;a("#bp-replysubmit .waiting").hide(),b.responseText&&(c=b.responseText.replace(/<.[^<>]*?>/g,"")),c&&a("#bp-replysubmit .error").html(c).show()},show:function(c){var d,e,f;return"string"==typeof c?(b.error({responseText:c}),!1):(f=wpAjax.parseAjaxResponse(c),f.errors?(b.error({responseText:wpAjax.broken}),!1):(f=f.responses[0],void a("#bp-activities-container").fadeOut("200",function(){a("#bp-activities").val("").blur(),a("#bp-replysubmit .error").html("").hide(),a("#bp-replysubmit .waiting").hide(),a("#bp-activities-container").before(f.data),e=a("#activity-"+f.id),d=e.closest(".widefat").css("backgroundColor"),e.animate({backgroundColor:"#CEB"},300).animate({backgroundColor:d},300)})))}};a(document).ready(function(){b.init(),a("#bp_activity_action h3, #bp_activity_content h3").unbind("click"),"undefined"!=typeof postboxes&&postboxes.add_postbox_toggles(bp_activity_admin_vars.page)})}(jQuery);
1
+ !function(i){var t={init:function(){i(document).on("click",".row-actions a.reply",t.open),i(document).on("click","#bp-activities-container a.cancel",t.close),i(document).on("click","#bp-activities-container a.save",t.send),i(document).on("keyup","#bp-activities:visible",function(i){27===i.which&&t.close()})},open:function(){var t=i("#bp-activities-container").hide();return i(this).parents("tr").after(t),t.fadeIn("300"),i("#bp-activities").focus(),!1},close:function(){return i("#bp-activities-container").fadeOut("200",function(){i("#bp-activities").val("").blur(),i("#bp-replysubmit .error").html("").hide(),i("#bp-replysubmit .waiting").hide()}),!1},send:function(){i("#bp-replysubmit .error").hide(),i("#bp-replysubmit .waiting").show();var e={};return e["_ajax_nonce-bp-activity-admin-reply"]=i('#bp-activities-container input[name="_ajax_nonce-bp-activity-admin-reply"]').val(),e.action="bp-activity-admin-reply",e.content=i("#bp-activities").val(),e.parent_id=i("#bp-activities-container").prev().data("parent_id"),e.root_id=i("#bp-activities-container").prev().data("root_id"),i.ajax({data:e,type:"POST",url:ajaxurl,error:function(i){t.error(i)},success:function(i){t.show(i)}}),!1},error:function(t){var e=t.statusText;i("#bp-replysubmit .waiting").hide(),t.responseText&&(e=t.responseText.replace(/<.[^<>]*?>/g,"")),e&&i("#bp-replysubmit .error").html(e).show()},show:function(e){var n,a,r;return"string"==typeof e?(t.error({responseText:e}),!1):(r=wpAjax.parseAjaxResponse(e)).errors?(t.error({responseText:wpAjax.broken}),!1):(r=r.responses[0],void i("#bp-activities-container").fadeOut("200",function(){i("#bp-activities").val("").blur(),i("#bp-replysubmit .error").html("").hide(),i("#bp-replysubmit .waiting").hide(),i("#bp-activities-container").before(r.data),a=i("#activity-"+r.id),n=a.closest(".widefat").css("backgroundColor"),a.animate({backgroundColor:"#CEB"},300).animate({backgroundColor:n},300)}))}};i(document).ready(function(){t.init(),i("#bp_activity_action h3, #bp_activity_content h3").unbind("click"),"undefined"!=typeof postboxes&&postboxes.add_postbox_toggles(bp_activity_admin_vars.page)})}(jQuery);
bp-activity/bp-activity-admin.php CHANGED
@@ -141,7 +141,7 @@ add_action( 'wp_ajax_bp-activity-admin-reply', 'bp_activity_admin_reply' );
141
* @param string $value Will always be false unless another plugin filters it first.
142
* @param string $option Screen option name.
143
* @param string $new_value Screen option form value.
144
- * @return string Option value. False to abandon update.
145
*/
146
function bp_activity_admin_screen_options( $value, $option, $new_value ) {
147
if ( 'toplevel_page_bp_activity_per_page' != $option && 'toplevel_page_bp_activity_network_per_page' != $option )
141
* @param string $value Will always be false unless another plugin filters it first.
142
* @param string $option Screen option name.
143
* @param string $new_value Screen option form value.
144
+ * @return string|int Option value. False to abandon update.
145
*/
146
function bp_activity_admin_screen_options( $value, $option, $new_value ) {
147
if ( 'toplevel_page_bp_activity_per_page' != $option && 'toplevel_page_bp_activity_network_per_page' != $option )
bp-activity/bp-activity-embeds.php CHANGED
@@ -123,7 +123,7 @@ function bp_activity_embed_has_activity( $activity_id = 0 ) {
123
* @since 2.6.0
124
*/
125
function bp_activity_embed_excerpt( $content = '' ) {
126
- echo bp_activity_get_embed_excerpt( $content = '' );
127
}
128
129
/**
123
* @since 2.6.0
124
*/
125
function bp_activity_embed_excerpt( $content = '' ) {
126
+ echo bp_activity_get_embed_excerpt( $content );
127
}
128
129
/**
bp-activity/bp-activity-filters.php CHANGED
@@ -207,10 +207,12 @@ function bp_activity_filter_kses( $content ) {
207
global $allowedtags;
208
209
$activity_allowedtags = $allowedtags;
210
- $activity_allowedtags['a']['class'] = array();
211
- $activity_allowedtags['a']['id'] = array();
212
- $activity_allowedtags['a']['rel'] = array();
213
- $activity_allowedtags['a']['title'] = array();
214
215
$activity_allowedtags['b'] = array();
216
$activity_allowedtags['code'] = array();
@@ -223,12 +225,14 @@ function bp_activity_filter_kses( $content ) {
223
$activity_allowedtags['img']['height'] = array();
224
$activity_allowedtags['img']['class'] = array();
225
$activity_allowedtags['img']['id'] = array();
226
- $activity_allowedtags['img']['title'] = array();
227
228
$activity_allowedtags['span'] = array();
229
$activity_allowedtags['span']['class'] = array();
230
$activity_allowedtags['span']['data-livestamp'] = array();
231
232
233
/**
234
* Filters the allowed HTML tags for BuddyPress Activity content.
207
global $allowedtags;
208
209
$activity_allowedtags = $allowedtags;
210
+ $activity_allowedtags['a']['aria-label'] = array();
211
+ $activity_allowedtags['a']['class'] = array();
212
+ $activity_allowedtags['a']['data-bp-tooltip'] = array();
213
+ $activity_allowedtags['a']['id'] = array();
214
+ $activity_allowedtags['a']['rel'] = array();
215
+ $activity_allowedtags['a']['title'] = array();
216
217
$activity_allowedtags['b'] = array();
218
$activity_allowedtags['code'] = array();
225
$activity_allowedtags['img']['height'] = array();
226
$activity_allowedtags['img']['class'] = array();
227
$activity_allowedtags['img']['id'] = array();
228
229
$activity_allowedtags['span'] = array();
230
$activity_allowedtags['span']['class'] = array();
231
$activity_allowedtags['span']['data-livestamp'] = array();
232
233
+ $activity_allowedtags['ul'] = array();
234
+ $activity_allowedtags['ol'] = array();
235
+ $activity_allowedtags['li'] = array();
236
237
/**
238
* Filters the allowed HTML tags for BuddyPress Activity content.
bp-activity/bp-activity-functions.php CHANGED
@@ -1845,7 +1845,7 @@ function bp_activity_get_specific( $args = '' ) {
1845
* @type bool $is_spam Should the item be marked as spam? Default: false.
1846
* @type string $error_type Optional. Error type. Either 'bool' or 'wp_error'. Default: 'bool'.
1847
* }
1848
- * @return int|bool The ID of the activity on success. False on error.
1849
*/
1850
function bp_activity_add( $args = '' ) {
1851
@@ -2026,7 +2026,7 @@ function bp_activity_post_update( $args = '' ) {
2026
* @param int $post_id ID of the new post.
2027
* @param WP_Post|null $post Post object.
2028
* @param int $user_id ID of the post author.
2029
- * @return int|bool The ID of the activity on success. False on error.
2030
*/
2031
function bp_activity_post_type_publish( $post_id = 0, $post = null, $user_id = 0 ) {
2032
@@ -2161,7 +2161,7 @@ function bp_activity_post_type_publish( $post_id = 0, $post = null, $user_id = 0
2161
* @since 2.2.0
2162
*
2163
* @param WP_Post|null $post Post item.
2164
- * @return bool True on success, false on failure.
2165
*/
2166
function bp_activity_post_type_update( $post = null ) {
2167
@@ -2283,7 +2283,7 @@ function bp_activity_post_type_unpublish( $post_id = 0, $post = null ) {
2283
* @param int $comment_id ID of the comment.
2284
* @param bool $is_approved Whether the comment is approved or not.
2285
* @param object|null $activity_post_object The post type tracking args object.
2286
- * @return int|bool The ID of the activity on success. False on error.
2287
*/
2288
function bp_activity_post_type_comment( $comment_id = 0, $is_approved = true, $activity_post_object = null ) {
2289
// Get the users comment
@@ -2557,7 +2557,7 @@ add_action( 'delete_comment', 'bp_activity_post_type_remove_comment', 10, 1 );
2557
* Defaults to false.
2558
* @type string $error_type Optional. Error type. Either 'bool' or 'wp_error'. Default: 'bool'.
2559
* }
2560
- * @return int|bool The ID of the comment on success, otherwise false.
2561
*/
2562
function bp_activity_new_comment( $args = '' ) {
2563
$bp = buddypress();
@@ -2963,6 +2963,12 @@ function bp_activity_delete_comment( $activity_id, $comment_id ) {
2963
return $deleted;
2964
}
2965
2966
// Delete any children of this comment.
2967
bp_activity_delete_children( $activity_id, $comment_id );
2968
@@ -3003,6 +3009,11 @@ function bp_activity_delete_comment( $activity_id, $comment_id ) {
3003
* @param int $comment_id The ID of the comment to be deleted.
3004
*/
3005
function bp_activity_delete_children( $activity_id, $comment_id ) {
3006
3007
// Get activity children to delete.
3008
$children = BP_Activity_Activity::get_child_comments( $comment_id );
1845
* @type bool $is_spam Should the item be marked as spam? Default: false.
1846
* @type string $error_type Optional. Error type. Either 'bool' or 'wp_error'. Default: 'bool'.
1847
* }
1848
+ * @return WP_Error|bool|int The ID of the activity on success. False on error.
1849
*/
1850
function bp_activity_add( $args = '' ) {
1851
2026
* @param int $post_id ID of the new post.
2027
* @param WP_Post|null $post Post object.
2028
* @param int $user_id ID of the post author.
2029
+ * @return null|WP_Error|bool|int The ID of the activity on success. False on error.
2030
*/
2031
function bp_activity_post_type_publish( $post_id = 0, $post = null, $user_id = 0 ) {
2032
2161
* @since 2.2.0
2162
*
2163
* @param WP_Post|null $post Post item.
2164
+ * @return null|WP_Error|bool True on success, false on failure.
2165
*/
2166
function bp_activity_post_type_update( $post = null ) {
2167
2283
* @param int $comment_id ID of the comment.
2284
* @param bool $is_approved Whether the comment is approved or not.
2285
* @param object|null $activity_post_object The post type tracking args object.
2286
+ * @return null|WP_Error|bool|int The ID of the activity on success. False on error.
2287
*/
2288
function bp_activity_post_type_comment( $comment_id = 0, $is_approved = true, $activity_post_object = null ) {
2289
// Get the users comment
2557
* Defaults to false.
2558
* @type string $error_type Optional. Error type. Either 'bool' or 'wp_error'. Default: 'bool'.
2559
* }
2560
+ * @return WP_Error|bool|int The ID of the comment on success, otherwise false.
2561
*/
2562
function bp_activity_new_comment( $args = '' ) {
2563
$bp = buddypress();
2963
return $deleted;
2964
}
2965
2966
+ // Check if comment still exists.
2967
+ $comment = new BP_Activity_Activity( $comment_id );
2968
+ if ( empty( $comment->id ) ) {
2969
+ return false;
2970
+ }
2971
+
2972
// Delete any children of this comment.
2973
bp_activity_delete_children( $activity_id, $comment_id );
2974
3009
* @param int $comment_id The ID of the comment to be deleted.
3010
*/
3011
function bp_activity_delete_children( $activity_id, $comment_id ) {
3012
+ // Check if comment still exists.
3013
+ $comment = new BP_Activity_Activity( $comment_id );
3014
+ if ( empty( $comment->id ) ) {
3015
+ return;
3016
+ }
3017
3018
// Get activity children to delete.
3019
$children = BP_Activity_Activity::get_child_comments( $comment_id );
bp-activity/bp-activity-notifications.php CHANGED
@@ -94,7 +94,7 @@ function bp_activity_format_notifications( $action, $item_id, $secondary_item_id
94
* @param int $activity_id ID of the activity item being formatted.
95
* @param int $user_id ID of the user who inited the interaction.
96
*/
97
- $return = apply_filters( 'bp_activity_' . $amount . '_' . $action_filter . '_notification', '<a href="' . esc_url( $link ) . '" title="' . esc_attr( $title ) . '">' . esc_html( $text ) . '</a>', $link, (int) $total_items, $activity_id, $user_id );
98
} else {
99
100
/**
94
* @param int $activity_id ID of the activity item being formatted.
95
* @param int $user_id ID of the user who inited the interaction.
96
*/
97
+ $return = apply_filters( 'bp_activity_' . $amount . '_' . $action_filter . '_notification', '<a href="' . esc_url( $link ) . '">' . esc_html( $text ) . '</a>', $link, (int) $total_items, $activity_id, $user_id );
98
} else {
99
100
/**
bp-activity/bp-activity-template.php CHANGED
@@ -1493,7 +1493,7 @@ function bp_insert_activity_meta( $content = '' ) {
1493
1494
// Setup variables for activity meta.
1495
$activity_permalink = bp_activity_get_permalink( $activities_template->activity->id, $activities_template->activity );
1496
- $activity_meta = sprintf( '%1$s <a href="%2$s" class="view activity-time-since" title="%3$s">%4$s</a>',
1497
$new_content,
1498
$activity_permalink,
1499
esc_attr__( 'View Discussion', 'buddypress' ),
@@ -1533,7 +1533,7 @@ function bp_insert_activity_meta( $content = '' ) {
1533
*
1534
* @global object $activities_template {@link BP_Activity_Template}
1535
*
1536
- * @param BP_Activity_Activity $activity Optional. Falls back on the current item in the loop.
1537
* @return bool True if can delete, false otherwise.
1538
*/
1539
function bp_activity_user_can_delete( $activity = false ) {
@@ -2090,7 +2090,7 @@ function bp_activity_comment_delete_link() {
2090
* activity comment.
2091
*/
2092
function bp_get_activity_comment_delete_link() {
2093
- $link = wp_nonce_url( bp_get_activity_directory_permalink() . 'delete/' . bp_get_activity_comment_id() . '?cid=' . bp_get_activity_comment_id(), 'bp_activity_delete_link' );
2094
2095
/**
2096
* Filters the link used for deleting the activity comment currently being displayed.
@@ -2342,8 +2342,8 @@ function bp_activity_comment_form_nojs_display() {
2342
*
2343
* @global object $activities_template {@link BP_Activity_Template}
2344
*
2345
- * @return string|bool The activity comment form no JavaScript
2346
- * display CSS. False on failure.
2347
*/
2348
function bp_get_activity_comment_form_nojs_display() {
2349
global $activities_template;
1493
1494
// Setup variables for activity meta.
1495
$activity_permalink = bp_activity_get_permalink( $activities_template->activity->id, $activities_template->activity );
1496
+ $activity_meta = sprintf( '%1$s <a href="%2$s" class="view activity-time-since bp-tooltip" data-bp-tooltip="%3$s">%4$s</a>',
1497
$new_content,
1498
$activity_permalink,
1499
esc_attr__( 'View Discussion', 'buddypress' ),
1533
*
1534
* @global object $activities_template {@link BP_Activity_Template}
1535
*
1536
+ * @param false|BP_Activity_Activity $activity Optional. Falls back on the current item in the loop.
1537
* @return bool True if can delete, false otherwise.
1538
*/
1539
function bp_activity_user_can_delete( $activity = false ) {
2090
* activity comment.
2091
*/
2092
function bp_get_activity_comment_delete_link() {
2093
+ $link = wp_nonce_url( trailingslashit( bp_get_activity_directory_permalink() . 'delete/' . bp_get_activity_comment_id() ) . '?cid=' . bp_get_activity_comment_id(), 'bp_activity_delete_link' );
2094
2095
/**
2096
* Filters the link used for deleting the activity comment currently being displayed.
2342
*
2343
* @global object $activities_template {@link BP_Activity_Template}
2344
*
2345
+ * @return string|false The activity comment form no JavaScript
2346
+ * display CSS. False on failure.
2347
*/
2348
function bp_get_activity_comment_form_nojs_display() {
2349
global $activities_template;
bp-activity/classes/class-bp-activity-activity.php CHANGED
@@ -226,7 +226,7 @@ class BP_Activity_Activity {
226
*
227
* @since 1.0.0
228
*
229
- * @return bool True on success.
230
*/
231
public function save() {
232
global $wpdb;
@@ -320,6 +320,7 @@ class BP_Activity_Activity {
320
*
321
* @since 1.2.0
322
* @since 2.4.0 Introduced the `$fields` parameter.
323
*
324
* @see BP_Activity_Activity::get_filter_sql() for a description of the
325
* 'filter' parameter.
@@ -335,6 +336,7 @@ class BP_Activity_Activity {
335
* @type string $fields Activity fields to return. Pass 'ids' to get only the activity IDs.
336
* 'all' returns full activity objects.
337
* @type string $sort ASC or DESC. Default: 'DESC'.
338
* @type array $exclude Array of activity IDs to exclude. Default: false.
339
* @type array $in Array of ids to limit query by (IN). Default: false.
340
* @type array $meta_query Array of meta_query conditions. See WP_Meta_Query::queries.
@@ -381,24 +383,25 @@ class BP_Activity_Activity {
381
382
$bp = buddypress();
383
$r = wp_parse_args( $args, array(
384
- 'page' => 1, // The current page.
385
- 'per_page' => 25, // Activity items per page.
386
- 'max' => false, // Max number of items to return.
387
- 'fields' => 'all', // Fields to include.
388
- 'sort' => 'DESC', // ASC or DESC.
389
- 'exclude' => false, // Array of ids to exclude.
390
- 'in' => false, // Array of ids to limit query by (IN).
391
- 'meta_query' => false, // Filter by activitymeta.
392
- 'date_query' => false, // Filter by date.
393
- 'filter_query' => false, // Advanced filtering - see BP_Activity_Query.
394
- 'filter' => false, // See self::get_filter_sql().
395
- 'scope' => false, // Preset activity arguments.
396
- 'search_terms' => false, // Terms to search by.
397
- 'display_comments' => false, // Whether to include activity comments.
398
- 'show_hidden' => false, // Show items marked hide_sitewide.
399
- 'spam' => 'ham_only', // Spam status.
400
- 'update_meta_cache' => true, // Whether or not to update meta cache.
401
- 'count_total' => false, // Whether or not to use count_total.
402
) );
403
404
// Select conditions.
@@ -461,6 +464,29 @@ class BP_Activity_Activity {
461
$sort = 'DESC';
462
}
463
464
// Hide Hidden Items?
465
if ( ! $r['show_hidden'] ) {
466
$where_conditions['hidden_sql'] = "a.hide_sitewide = 0";
@@ -544,28 +570,6 @@ class BP_Activity_Activity {
544
*/
545
$join_sql = apply_filters( 'bp_activity_get_join_sql', $join_sql, $r, $select_sql, $from_sql, $where_sql );
546
547
- /**
548
- * Filters the preferred order of indexes for activity item.
549
- *
550
- * @since 1.6.0
551
- *
552
- * @param array $value Array of indexes in preferred order.
553
- */
554
- $indexes = apply_filters( 'bp_activity_preferred_index_order', array( 'user_id', 'item_id', 'secondary_item_id', 'date_recorded', 'component', 'type', 'hide_sitewide', 'is_spam' ) );
555
-
556
- foreach( $indexes as $key => $index ) {
557
- if ( false !== strpos( $where_sql, $index ) ) {
558
- $the_index = $index;
559
- break; // Take the first one we find.
560
- }
561
- }
562
-
563
- if ( !empty( $the_index ) ) {
564
- $index_hint_sql = "USE INDEX ({$the_index})";
565
- } else {
566
- $index_hint_sql = '';
567
- }
568
-
569
// Sanitize page and per_page parameters.
570
$page = absint( $r['page'] );
571
$per_page = absint( $r['per_page'] );
@@ -629,7 +633,7 @@ class BP_Activity_Activity {
629
630
} else {
631
// Query first for activity IDs.
632
- $activity_ids_sql = "{$select_sql} {$from_sql} {$join_sql} {$where_sql} ORDER BY a.date_recorded {$sort}, a.id {$sort}";
633
634
if ( ! empty( $per_page ) && ! empty( $page ) ) {
635
// We query for $per_page + 1 items in order to
@@ -983,7 +987,7 @@ class BP_Activity_Activity {
983
* @param mixed $scope The activity scope. Accepts string or array of scopes.
984
* @param array $r Current activity arguments. Same as those of BP_Activity_Activity::get(),
985
* but merged with defaults.
986
- * @return array 'sql' WHERE SQL string and 'override' activity args.
987
*/
988
public static function get_scope_query_sql( $scope = false, $r = array() ) {
989
@@ -1112,7 +1116,7 @@ class BP_Activity_Activity {
1112
* @param string $action Action to filter by.
1113
* @param string $content Content to filter by.
1114
* @param string $date_recorded Date to filter by.
1115
- * @return int|bool Activity ID on success, false if none is found.
1116
*/
1117
public static function get_id( $user_id, $component, $type, $item_id, $secondary_item_id, $action, $content, $date_recorded ) {
1118
global $wpdb;
@@ -1693,7 +1697,7 @@ class BP_Activity_Activity {
1693
*
1694
* @param string $field The database field.
1695
* @param array|bool $items The values for the IN clause, or false when none are found.
1696
- * @return string|bool
1697
*/
1698
public static function get_in_operator_sql( $field, $items ) {
1699
global $wpdb;
@@ -1841,7 +1845,7 @@ class BP_Activity_Activity {
1841
* @since 1.1.0
1842
*
1843
* @param string $content The content to filter by.
1844
- * @return int|bool The ID of the first matching item if found, otherwise false.
1845
*/
1846
public static function check_exists_by_content( $content ) {
1847
global $wpdb;
226
*
227
* @since 1.0.0
228
*
229
+ * @return WP_Error|bool True on success.
230
*/
231
public function save() {
232
global $wpdb;
320
*
321
* @since 1.2.0
322
* @since 2.4.0 Introduced the `$fields` parameter.
323
+ * @since 2.9.0 Introduced the `$order_by` parameter.
324
*
325
* @see BP_Activity_Activity::get_filter_sql() for a description of the
326
* 'filter' parameter.
336
* @type string $fields Activity fields to return. Pass 'ids' to get only the activity IDs.
337
* 'all' returns full activity objects.
338
* @type string $sort ASC or DESC. Default: 'DESC'.
339
+ * @type string $order_by Column to order results by.
340
* @type array $exclude Array of activity IDs to exclude. Default: false.
341
* @type array $in Array of ids to limit query by (IN). Default: false.
342
* @type array $meta_query Array of meta_query conditions. See WP_Meta_Query::queries.
383
384
$bp = buddypress();
385
$r = wp_parse_args( $args, array(
386
+ 'page' => 1, // The current page.
387
+ 'per_page' => 25, // Activity items per page.
388
+ 'max' => false, // Max number of items to return.
389
+ 'fields' => 'all', // Fields to include.
390
+ 'sort' => 'DESC', // ASC or DESC.
391
+ 'order_by' => 'date_recorded', // Column to order by.
392
+ 'exclude' => false, // Array of ids to exclude.
393
+ 'in' => false, // Array of ids to limit query by (IN).
394
+ 'meta_query' => false, // Filter by activitymeta.
395
+ 'date_query' => false, // Filter by date.
396
+ 'filter_query' => false, // Advanced filtering - see BP_Activity_Query.
397
+ 'filter' => false, // See self::get_filter_sql().
398
+ 'scope' => false, // Preset activity arguments.
399
+ 'search_terms' => false, // Terms to search by.
400
+ 'display_comments' => false, // Whether to include activity comments.
401
+ 'show_hidden' => false, // Show items marked hide_sitewide.
402
+ 'spam' => 'ham_only', // Spam status.
403
+ 'update_meta_cache' => true, // Whether or not to update meta cache.
404
+ 'count_total' => false, // Whether or not to use count_total.
405
) );
406
407
// Select conditions.
464
$sort = 'DESC';
465
}
466
467
+ switch( $r['order_by'] ) {
468
+ case 'id' :
469
+ case 'user_id' :
470
+ case 'component' :
471
+ case 'type' :
472
+ case 'action' :
473
+ case 'content' :
474
+ case 'primary_link' :
475
+ case 'item_id' :
476
+ case 'secondary_item_id' :
477
+ case 'date_recorded' :
478
+ case 'hide_sitewide' :
479
+ case 'mptt_left' :
480
+ case 'mptt_right' :
481
+ case 'is_spam' :
482
+ break;
483
+
484
+ default :
485
+ $r['order_by'] = 'date_recorded';
486
+ break;
487
+ }
488
+ $order_by = 'a.' . $r['order_by'];
489
+
490
// Hide Hidden Items?
491
if ( ! $r['show_hidden'] ) {
492
$where_conditions['hidden_sql'] = "a.hide_sitewide = 0";
570
*/
571
$join_sql = apply_filters( 'bp_activity_get_join_sql', $join_sql, $r, $select_sql, $from_sql, $where_sql );
572
573
// Sanitize page and per_page parameters.
574
$page = absint( $r['page'] );
575
$per_page = absint( $r['per_page'] );
633
634
} else {
635
// Query first for activity IDs.
636
+ $activity_ids_sql = "{$select_sql} {$from_sql} {$join_sql} {$where_sql} ORDER BY {$order_by} {$sort}, a.id {$sort}";
637
638
if ( ! empty( $per_page ) && ! empty( $page ) ) {
639
// We query for $per_page + 1 items in order to
987
* @param mixed $scope The activity scope. Accepts string or array of scopes.
988
* @param array $r Current activity arguments. Same as those of BP_Activity_Activity::get(),
989
* but merged with defaults.
990
+ * @return false|array 'sql' WHERE SQL string and 'override' activity args.
991
*/
992
public static function get_scope_query_sql( $scope = false, $r = array() ) {
993
1116
* @param string $action Action to filter by.
1117
* @param string $content Content to filter by.
1118
* @param string $date_recorded Date to filter by.
1119
+ * @return int|false Activity ID on success, false if none is found.
1120
*/
1121
public static function get_id( $user_id, $component, $type, $item_id, $secondary_item_id, $action, $content, $date_recorded ) {
1122
global $wpdb;
1697
*
1698
* @param string $field The database field.
1699
* @param array|bool $items The values for the IN clause, or false when none are found.
1700
+ * @return string|false
1701
*/
1702
public static function get_in_operator_sql( $field, $items ) {
1703
global $wpdb;
1845
* @since 1.1.0
1846
*
1847
* @param string $content The content to filter by.
1848
+ * @return int|false The ID of the first matching item if found, otherwise false.
1849
*/
1850
public static function check_exists_by_content( $content ) {
1851
global $wpdb;
bp-activity/classes/class-bp-activity-list-table.php CHANGED
@@ -592,7 +592,7 @@ class BP_Activity_List_Table extends WP_List_Table {
592
if ( $this->can_comment( $item ) ) {
593
$actions['reply'] = sprintf( '<a href="#" class="reply hide-if-no-js">%s</a>', __( 'Reply', 'buddypress' ) );
594
} else {
595
- $actions['reply'] = sprintf( '<span class="form-input-tip" title="%s">%s</span>', __( 'Replies are disabled for this activity item', 'buddypress' ), __( 'Replies disabled', 'buddypress' ) );
596
}
597
598
// Edit.
@@ -706,8 +706,7 @@ class BP_Activity_List_Table extends WP_List_Table {
706
707
// If the activity has comments, display a link to the activity's permalink, with its comment count in a speech bubble.
708
if ( $comment_count ) {
709
- $title_attr = sprintf( _n( '%s related activity', '%s related activities', $comment_count, 'buddypress' ), number_format_i18n( $comment_count ) );
710
- printf( '<a href="%1$s" title="%2$s" class="post-com-count post-com-count-approved"><span class="comment-count comment-count-approved">%3$s</span></a>', esc_url( $root_activity_url ), esc_attr( $title_attr ), number_format_i18n( $comment_count ) );
711
}
712
713
// For non-root activities, display a link to the replied-to activity's author's profile.
592
if ( $this->can_comment( $item ) ) {
593
$actions['reply'] = sprintf( '<a href="#" class="reply hide-if-no-js">%s</a>', __( 'Reply', 'buddypress' ) );
594
} else {
595
+ $actions['reply'] = sprintf( '<span class="form-input-tip">%s</span>', __( 'Replies disabled', 'buddypress' ) );
596
}
597
598
// Edit.
706
707
// If the activity has comments, display a link to the activity's permalink, with its comment count in a speech bubble.
708
if ( $comment_count ) {
709
+ printf( '<a href="%1$s" class="post-com-count post-com-count-approved"><span class="comment-count comment-count-approved">%2$s</span></a>', esc_url( $root_activity_url ), number_format_i18n( $comment_count ) );
710
}
711
712
// For non-root activities, display a link to the replied-to activity's author's profile.
bp-activity/css/mentions-rtl.css CHANGED
@@ -2,8 +2,8 @@
2
background: rgba(204, 204, 204, 0.8);
3
border-radius: 2px;
4
border: 1px solid rgb(204, 204, 204);
5
- box-shadow: 0 0 5px rgba(204, 204, 204, 0.25), 0 0 1px #FFF;
6
- color: #D84800;
7
display: none;
8
font-family: sans-serif;
9
margin-top: 18px;
@@ -14,14 +14,16 @@
14
.atwho-view {
15
left: 0;
16
}
17
.atwho-view ul {
18
- background: #FFF;
19
list-style: none;
20
margin: auto;
21
padding: 0;
22
}
23
.atwho-view ul li {
24
- border-bottom: 1px solid #EFEFEF;
25
box-sizing: content-box;
26
cursor: pointer;
27
display: block;
@@ -32,59 +34,71 @@
32
overflow: hidden;
33
padding: 5px 10px;
34
}
35
.atwho-view img {
36
border-radius: 2px;
37
float: left;
38
height: 20px;
39
- margin-top:0;
40
width: 20px;
41
}
42
.atwho-view strong {
43
- background: #EFEFEF;
44
- font-weight: bold;
45
}
46
.atwho-view .username strong {
47
- color: #D54E21;
48
}
49
.atwho-view small {
50
- color: #AAA;
51
float: left;
52
font-size: smaller;
53
- font-weight: normal;
54
margin: 0 40px 0 10px;
55
}
56
.atwho-view .cur {
57
background: rgba(239, 239, 239, 0.5);
58
}
59
60
@media (max-width: 900px) {
61
.atwho-view img {
62
float: right;
63
margin: 0 0 0 10px;
64
}
65
}
66
@media (max-width: 400px) {
67
.atwho-view ul li {
68
font-size: 16px;
69
line-height: 23px;
70
padding: 13px;
71
}
72
.atwho-view ul li img {
73
height: 30px;
74
margin-top: -5px;
75
width: 30px;
76
}
77
.atwho-view {
78
border-radius: 0;
79
height: 100%;
80
right: 0 !important;
81
width: 100%;
82
}
83
.atwho-view ul li .username {
84
display: inline-block;
85
margin: -10px 0 0 0;
86
padding: 10px 0;
87
}
88
.atwho-view ul li small {
89
display: inline-block;
90
margin-right: 20px;
2
background: rgba(204, 204, 204, 0.8);
3
border-radius: 2px;
4
border: 1px solid rgb(204, 204, 204);
5
+ box-shadow: 0 0 5px rgba(204, 204, 204, 0.25), 0 0 1px #fff;
6
+ color: #d84800;
7
display: none;
8
font-family: sans-serif;
9
margin-top: 18px;
14
.atwho-view {
15
left: 0;
16
}
17
+
18
.atwho-view ul {
19
+ background: #fff;
20
list-style: none;
21
margin: auto;
22
padding: 0;
23
}
24
+
25
.atwho-view ul li {
26
+ border-bottom: 1px solid #efefef;
27
box-sizing: content-box;
28
cursor: pointer;
29
display: block;
34
overflow: hidden;
35
padding: 5px 10px;
36
}
37
+
38
.atwho-view img {
39
border-radius: 2px;
40
float: left;
41
height: 20px;
42
+ margin-top: 0;
43
width: 20px;
44
}
45
+
46
.atwho-view strong {
47
+ background: #efefef;
48
+ font-weight: 700;
49
}
50
+
51
.atwho-view .username strong {
52
+ color: #d54e21;
53
}
54
+
55
.atwho-view small {
56
+ color: #aaa;
57
float: left;
58
font-size: smaller;
59
+ font-weight: 400;
60
margin: 0 40px 0 10px;
61
}
62
+
63
.atwho-view .cur {
64
background: rgba(239, 239, 239, 0.5);
65
}
66
67
@media (max-width: 900px) {
68
+
69
.atwho-view img {
70
float: right;
71
margin: 0 0 0 10px;
72
}
73
}
74
+
75
@media (max-width: 400px) {
76
+
77
.atwho-view ul li {
78
font-size: 16px;
79
line-height: 23px;
80
padding: 13px;
81
}
82
+
83
.atwho-view ul li img {
84
height: 30px;
85
margin-top: -5px;
86
width: 30px;
87
}
88
+
89
.atwho-view {
90
border-radius: 0;
91
height: 100%;
92
right: 0 !important;
93
width: 100%;
94
}
95
+
96
.atwho-view ul li .username {
97
display: inline-block;
98
margin: -10px 0 0 0;
99
padding: 10px 0;
100
}
101
+
102
.atwho-view ul li small {
103
display: inline-block;
104
margin-right: 20px;
bp-activity/css/mentions-rtl.min.css CHANGED
@@ -1 +1 @@
1
- .atwho-view{background:rgba(204,204,204,.8);border-radius:2px;border:1px solid #ccc;box-shadow:0 0 5px rgba(204,204,204,.25),0 0 1px #FFF;color:#D84800;display:none;font-family:sans-serif;margin-top:18px;position:absolute;top:0;z-index:1000;left:0}.atwho-view ul{background:#FFF;list-style:none;margin:auto;padding:0}.atwho-view ul li{border-bottom:1px solid #EFEFEF;box-sizing:content-box;cursor:pointer;display:block;font-size:14px;height:20px;line-height:20px;margin:0;overflow:hidden;padding:5px 10px}.atwho-view img{border-radius:2px;float:left;height:20px;margin-top:0;width:20px}.atwho-view strong{background:#EFEFEF;font-weight:700}.atwho-view .username strong{color:#D54E21}.atwho-view small{color:#AAA;float:left;font-size:smaller;font-weight:400;margin:0 40px 0 10px}.atwho-view .cur{background:rgba(239,239,239,.5)}@media (max-width:900px){.atwho-view img{float:right;margin:0 0 0 10px}}@media (max-width:400px){.atwho-view ul li{font-size:16px;line-height:23px;padding:13px}.atwho-view ul li img{height:30px;margin-top:-5px;width:30px}.atwho-view{border-radius:0;height:100%;right:0!important;width:100%}.atwho-view ul li .username{display:inline-block;margin:-10px 0 0;padding:10px 0}.atwho-view ul li small{display:inline-block;margin-right:20px}}
1
+ .atwho-view{background:rgba(204,204,204,.8);border-radius:2px;border:1px solid #ccc;box-shadow:0 0 5px rgba(204,204,204,.25),0 0 1px #fff;color:#d84800;display:none;font-family:sans-serif;margin-top:18px;position:absolute;top:0;z-index:1000}.atwho-view{left:0}.atwho-view ul{background:#fff;list-style:none;margin:auto;padding:0}.atwho-view ul li{border-bottom:1px solid #efefef;box-sizing:content-box;cursor:pointer;display:block;font-size:14px;height:20px;line-height:20px;margin:0;overflow:hidden;padding:5px 10px}.atwho-view img{border-radius:2px;float:left;height:20px;margin-top:0;width:20px}.atwho-view strong{background:#efefef;font-weight:700}.atwho-view .username strong{color:#d54e21}.atwho-view small{color:#aaa;float:left;font-size:smaller;font-weight:400;margin:0 40px 0 10px}.atwho-view .cur{background:rgba(239,239,239,.5)}@media (max-width:900px){.atwho-view img{float:right;margin:0 0 0 10px}}@media (max-width:400px){.atwho-view ul li{font-size:16px;line-height:23px;padding:13px}.atwho-view ul li img{height:30px;margin-top:-5px;width:30px}.atwho-view{border-radius:0;height:100%;right:0!important;width:100%}.atwho-view ul li .username{display:inline-block;margin:-10px 0 0 0;padding:10px 0}.atwho-view ul li small{display:inline-block;margin-right:20px}}
bp-activity/css/mentions.css CHANGED
@@ -2,8 +2,8 @@
2
background: rgba(204, 204, 204, 0.8);
3
border-radius: 2px;
4
border: 1px solid rgb(204, 204, 204);
5
- box-shadow: 0 0 5px rgba(204, 204, 204, 0.25), 0 0 1px #FFF;
6
- color: #D84800;
7
display: none;
8
font-family: sans-serif;
9
margin-top: 18px;
@@ -11,18 +11,21 @@
11
top: 0;
12
z-index: 1000; /* >999 for wp-admin */
13
}
14
/* rtl:ignore */
15
.atwho-view {
16
left: 0;
17
}
18
.atwho-view ul {
19
- background: #FFF;
20
list-style: none;
21
margin: auto;
22
padding: 0;
23
}
24
.atwho-view ul li {
25
- border-bottom: 1px solid #EFEFEF;
26
box-sizing: content-box;
27
cursor: pointer;
28
display: block;
@@ -33,59 +36,71 @@
33
overflow: hidden;
34
padding: 5px 10px;
35
}
36
.atwho-view img {
37
border-radius: 2px;
38
float: right;
39
height: 20px;
40
- margin-top:0;
41
width: 20px;
42
}
43
.atwho-view strong {
44
- background: #EFEFEF;
45
- font-weight: bold;
46
}
47
.atwho-view .username strong {
48
- color: #D54E21;
49
}
50
.atwho-view small {
51
- color: #AAA;
52
float: right;
53
font-size: smaller;
54
- font-weight: normal;
55
margin: 0 10px 0 40px;
56
}
57
.atwho-view .cur {
58
background: rgba(239, 239, 239, 0.5);
59
}
60
61
@media (max-width: 900px) {
62
.atwho-view img {
63
float: left;
64
margin: 0 10px 0 0;
65
}
66
}
67
@media (max-width: 400px) {
68
.atwho-view ul li {
69
font-size: 16px;
70
line-height: 23px;
71
padding: 13px;
72
}
73
.atwho-view ul li img {
74
height: 30px;
75
margin-top: -5px;
76
width: 30px;
77
}
78
.atwho-view {
79
border-radius: 0;
80
height: 100%;
81
left: 0 !important;
82
width: 100%;
83
}
84
.atwho-view ul li .username {
85
display: inline-block;
86
margin: -10px 0 0 0;
87
padding: 10px 0;
88
}
89
.atwho-view ul li small {
90
display: inline-block;
91
margin-left: 20px;
2
background: rgba(204, 204, 204, 0.8);
3
border-radius: 2px;
4
border: 1px solid rgb(204, 204, 204);
5
+ box-shadow: 0 0 5px rgba(204, 204, 204, 0.25), 0 0 1px #fff;
6
+ color: #d84800;
7
display: none;
8
font-family: sans-serif;
9
margin-top: 18px;
11
top: 0;
12
z-index: 1000; /* >999 for wp-admin */
13
}
14
+
15
/* rtl:ignore */
16
.atwho-view {
17
left: 0;
18
}
19
+
20
.atwho-view ul {
21
+ background: #fff;
22
list-style: none;
23
margin: auto;
24
padding: 0;
25
}
26
+
27
.atwho-view ul li {
28
+ border-bottom: 1px solid #efefef;
29
box-sizing: content-box;
30
cursor: pointer;
31
display: block;
36
overflow: hidden;
37
padding: 5px 10px;
38
}
39
+
40
.atwho-view img {
41
border-radius: 2px;
42
float: right;
43
height: 20px;
44
+ margin-top: 0;
45
width: 20px;
46
}
47
+
48
.atwho-view strong {
49
+ background: #efefef;
50
+ font-weight: 700;
51
}
52
+
53
.atwho-view .username strong {
54
+ color: #d54e21;
55
}
56
+
57
.atwho-view small {
58
+ color: #aaa;
59
float: right;
60
font-size: smaller;
61
+ font-weight: 400;
62
margin: 0 10px 0 40px;
63
}
64
+
65
.atwho-view .cur {
66
background: rgba(239, 239, 239, 0.5);
67
}
68
69
@media (max-width: 900px) {
70
+
71
.atwho-view img {
72
float: left;
73
margin: 0 10px 0 0;
74
}
75
}
76
+
77
@media (max-width: 400px) {
78
+
79
.atwho-view ul li {
80
font-size: 16px;
81
line-height: 23px;
82
padding: 13px;
83
}
84
+
85
.atwho-view ul li img {
86
height: 30px;
87
margin-top: -5px;
88
width: 30px;
89
}
90
+
91
.atwho-view {
92
border-radius: 0;
93
height: 100%;
94
left: 0 !important;
95
width: 100%;
96
}
97
+
98
.atwho-view ul li .username {
99
display: inline-block;
100
margin: -10px 0 0 0;
101
padding: 10px 0;
102
}
103
+
104
.atwho-view ul li small {
105
display: inline-block;
106
margin-left: 20px;
bp-activity/css/mentions.min.css CHANGED
@@ -1 +1 @@
1
- .atwho-view{background:rgba(204,204,204,.8);border-radius:2px;border:1px solid #ccc;box-shadow:0 0 5px rgba(204,204,204,.25),0 0 1px #FFF;color:#D84800;display:none;font-family:sans-serif;margin-top:18px;position:absolute;top:0;z-index:1000;left:0}.atwho-view ul{background:#FFF;list-style:none;margin:auto;padding:0}.atwho-view ul li{border-bottom:1px solid #EFEFEF;box-sizing:content-box;cursor:pointer;display:block;font-size:14px;height:20px;line-height:20px;margin:0;overflow:hidden;padding:5px 10px}.atwho-view img{border-radius:2px;float:right;height:20px;margin-top:0;width:20px}.atwho-view strong{background:#EFEFEF;font-weight:700}.atwho-view .username strong{color:#D54E21}.atwho-view small{color:#AAA;float:right;font-size:smaller;font-weight:400;margin:0 10px 0 40px}.atwho-view .cur{background:rgba(239,239,239,.5)}@media (max-width:900px){.atwho-view img{float:left;margin:0 10px 0 0}}@media (max-width:400px){.atwho-view ul li{font-size:16px;line-height:23px;padding:13px}.atwho-view ul li img{height:30px;margin-top:-5px;width:30px}.atwho-view{border-radius:0;height:100%;left:0!important;width:100%}.atwho-view ul li .username{display:inline-block;margin:-10px 0 0;padding:10px 0}.atwho-view ul li small{display:inline-block;margin-left:20px}}
1
+ .atwho-view{background:rgba(204,204,204,.8);border-radius:2px;border:1px solid #ccc;box-shadow:0 0 5px rgba(204,204,204,.25),0 0 1px #fff;color:#d84800;display:none;font-family:sans-serif;margin-top:18px;position:absolute;top:0;z-index:1000}.atwho-view{left:0}.atwho-view ul{background:#fff;list-style:none;margin:auto;padding:0}.atwho-view ul li{border-bottom:1px solid #efefef;box-sizing:content-box;cursor:pointer;display:block;font-size:14px;height:20px;line-height:20px;margin:0;overflow:hidden;padding:5px 10px}.atwho-view img{border-radius:2px;float:right;height:20px;margin-top:0;width:20px}.atwho-view strong{background:#efefef;font-weight:700}.atwho-view .username strong{color:#d54e21}.atwho-view small{color:#aaa;float:right;font-size:smaller;font-weight:400;margin:0 10px 0 40px}.atwho-view .cur{background:rgba(239,239,239,.5)}@media (max-width:900px){.atwho-view img{float:left;margin:0 10px 0 0}}@media (max-width:400px){.atwho-view ul li{font-size:16px;line-height:23px;padding:13px}.atwho-view ul li img{height:30px;margin-top:-5px;width:30px}.atwho-view{border-radius:0;height:100%;left:0!important;width:100%}.atwho-view ul li .username{display:inline-block;margin:-10px 0 0 0;padding:10px 0}.atwho-view ul li small{display:inline-block;margin-left:20px}}
bp-activity/js/mentions.min.js CHANGED
@@ -1 +1 @@
1
- window.bp=window.bp||{},function(a,b,c){var d,e=[];a.mentions=a.mentions||{},a.mentions.users=window.bp.mentions.users||[],"object"==typeof window.BP_Suggestions&&(a.mentions.users=window.BP_Suggestions.friends||a.mentions.users),b.fn.bp_mentions=function(a){b.isArray(a)&&(a={data:a});var c={delay:200,hide_without_suffix:!0,insert_tpl:"</>${atwho-data-value}</>",limit:10,start_with_space:!1,suffix:"",callbacks:{filter:function(a,b,c){var d,e,f,g=[],h=new RegExp("^"+a+"| "+a,"ig");for(e=0,f=b.length;e<f;e++)d=b[e],d[c].toLowerCase().match(h)&&g.push(d);return g},highlighter:function(a,b){if(!b)return a;var c=new RegExp(">(\\s*|[\\w\\s]*)("+this.at.replace("+","\\+")+"?"+b.replace("+","\\+")+")([\\w ]*)\\s*<","ig");return a.replace(c,function(a,b,c,d){return">"+b+"<strong>"+c+"</strong>"+d+"<"})},before_reposition:function(a){var c,d,e,f,g=b("#atwho-ground-"+this.id+" .atwho-view"),h=b("body"),i=this.$inputor.data("atwho");"undefined"!==i&&"undefined"!==i.iframe&&null!==i.iframe?(c=this.$inputor.caret("offset",{iframe:i.iframe}),e=b(i.iframe).offset(),"undefined"!==e&&(c.left+=e.left,c.top+=e.top)):c=this.$inputor.caret("offset"),c.left>h.width()/2?(g.addClass("right"),f=c.left-a.left-this.view.$el.width()):(g.removeClass("right"),f=c.left-a.left+1),h.width()<=400&&b(document).scrollTop(c.top-6),d=parseInt(this.$inputor.css("line-height").substr(0,this.$inputor.css("line-height").length-2),10),(!d||d<5)&&(d=19),a.top=c.top+d,a.left+=f},inserting_wrapper:function(a,b,c){return""+b+c}}},f={callbacks:{remote_filter:function(a,c){var f=b(this),g={};return d=e[a],"object"==typeof d?void c(d):(f.xhr&&f.xhr.abort(),g={action:"bp_get_suggestions",term:a,type:"members"},b.isNumeric(this.$inputor.data("suggestions-group-id"))&&(g["group-id"]=parseInt(this.$inputor.data("suggestions-group-id"),10)),void(f.xhr=b.getJSON(ajaxurl,g).done(function(d){if(d.success){var f=b.map(d.data,function(a){return a.search=a.search||a.ID+" "+a.name,a});e[a]=f,c(f)}})))}},data:b.map(a.data,function(a){return a.search=a.search||a.ID+" "+a.name,a}),at:"@",search_key:"search",tpl:'<li data-value="@${ID}"><img src="${image}" /><span class="username">@${ID}</span><small>${name}</small></li>'},g=b.extend(!0,{},c,f,a);return b.fn.atwho.call(this,g)},b(document).ready(function(){b(".bp-suggestions, #comments form textarea, .wp-editor-area").bp_mentions(a.mentions.users)}),a.mentions.tinyMCEinit=function(){"undefined"!=typeof window.tinyMCE&&null!==window.tinyMCE.activeEditor&&"undefined"!=typeof window.tinyMCE.activeEditor&&b(window.tinyMCE.activeEditor.contentDocument.activeElement).atwho("setIframe",b(".wp-editor-wrap iframe")[0]).bp_mentions(a.mentions.users)}}(bp,jQuery);
1
+ window.bp=window.bp||{},function(t,e,i){var n,s=[];t.mentions=t.mentions||{},t.mentions.users=window.bp.mentions.users||[],"object"==typeof window.BP_Suggestions&&(t.mentions.users=window.BP_Suggestions.friends||t.mentions.users),e.fn.bp_mentions=function(t){e.isArray(t)&&(t={data:t});var i={delay:200,hide_without_suffix:!0,insert_tpl:"</>${atwho-data-value}</>",limit:10,start_with_space:!1,suffix:"",callbacks:{filter:function(t,e,i){var n,s,r,o=[],a=new RegExp("^"+t+"| "+t,"ig");for(s=0,r=e.length;s<r;s++)(n=e[s])[i].toLowerCase().match(a)&&o.push(n);return o},highlighter:function(t,e){if(!e)return t;var i=new RegExp(">(\\s*|[\\w\\s]*)("+this.at.replace("+","\\+")+"?"+e.replace("+","\\+")+")([\\w ]*)\\s*<","ig");return t.replace(i,function(t,e,i,n){return">"+e+"<strong>"+i+"</strong>"+n+"<"})},before_reposition:function(t){var i,n,s,r,o=e("#atwho-ground-"+this.id+" .atwho-view"),a=e("body"),u=this.$inputor.data("atwho");"undefined"!==u&&"undefined"!==u.iframe&&null!==u.iframe?(i=this.$inputor.caret("offset",{iframe:u.iframe}),"undefined"!==(s=e(u.iframe).offset())&&(i.left+=s.left,i.top+=s.top)):i=this.$inputor.caret("offset"),i.left>a.width()/2?(o.addClass("right"),r=i.left-t.left-this.view.$el.width()):(o.removeClass("right"),r=i.left-t.left+1),a.width()<=400&&e(document).scrollTop(i.top-6),(!(n=parseInt(this.$inputor.css("line-height").substr(0,this.$inputor.css("line-height").length-2),10))||n<5)&&(n=19),t.top=i.top+n,t.left+=r},inserting_wrapper:function(t,e,i){return""+e+i}}},r={callbacks:{remote_filter:function(t,i){var r=e(this),o={};"object"!=typeof(n=s[t])?(r.xhr&&r.xhr.abort(),o={action:"bp_get_suggestions",term:t,type:"members"},e.isNumeric(this.$inputor.data("suggestions-group-id"))&&(o["group-id"]=parseInt(this.$inputor.data("suggestions-group-id"),10)),r.xhr=e.getJSON(ajaxurl,o).done(function(n){if(n.success){var r=e.map(n.data,function(t){return t.search=t.search||t.ID+" "+t.name,t});s[t]=r,i(r)}})):i(n)}},data:e.map(t.data,function(t){return t.search=t.search||t.ID+" "+t.name,t}),at:"@",search_key:"search",tpl:'<li data-value="@${ID}"><img src="${image}" /><span class="username">@${ID}</span><small>${name}</small></li>'},o=e.extend(!0,{},i,r,t);return e.fn.atwho.call(this,o)},e(document).ready(function(){e(".bp-suggestions, #comments form textarea, .wp-editor-area").bp_mentions(t.mentions.users)}),t.mentions.tinyMCEinit=function(){void 0!==window.tinyMCE&&null!==window.tinyMCE.activeEditor&&void 0!==window.tinyMCE.activeEditor&&e(window.tinyMCE.activeEditor.contentDocument.activeElement).atwho("setIframe",e(".wp-editor-wrap iframe")[0]).bp_mentions(t.mentions.users)}}(bp,jQuery);
bp-blogs/bp-blogs-activity.php CHANGED
@@ -48,7 +48,7 @@ add_action( 'bp_register_activity_actions', 'bp_blogs_register_activity_actions'
48
*
49
* @param object|null $params Tracking arguments.
50
* @param string|int $post_type Post type to track.
51
- * @return object
52
*/
53
function bp_blogs_register_post_tracking_args( $params = null, $post_type = 0 ) {
54
@@ -435,7 +435,7 @@ add_filter( 'bp_activity_prefetch_object_data', 'bp_blogs_prefetch_activity_obje
435
* bp_activity_add().
436
* @type string $component Default: 'blogs'.
437
* }
438
- * @return int|bool On success, returns the activity ID. False on failure.
439
*/
440
function bp_blogs_record_activity( $args = '' ) {
441
$defaults = array(
48
*
49
* @param object|null $params Tracking arguments.
50
* @param string|int $post_type Post type to track.
51
+ * @return object|null
52
*/
53
function bp_blogs_register_post_tracking_args( $params = null, $post_type = 0 ) {
54
435
* bp_activity_add().
436
* @type string $component Default: 'blogs'.
437
* }
438
+ * @return WP_Error|bool|int On success, returns the activity ID. False on failure.
439
*/
440
function bp_blogs_record_activity( $args = '' ) {
441
$defaults = array(
bp-blogs/bp-blogs-functions.php CHANGED
@@ -341,7 +341,7 @@ function bp_blogs_is_blog_trackable( $blog_id, $user_id = 0 ) {
341
* @param int $user_id ID of the user for whom the blog is being recorded.
342
* @param bool $no_activity Optional. Whether to skip recording an activity
343
* item about this blog creation. Default: false.
344
- * @return bool|null Returns false on failure.
345
*/
346
function bp_blogs_record_blog( $blog_id, $user_id, $no_activity = false ) {
347
@@ -694,7 +694,7 @@ add_action( 'bp_activity_post_type_updated', 'bp_blogs_update_post_activity_meta
694
* @param WP_Comment|null $comment The comment object.
695
* @param array $activity_args Array of activity arguments.
696
* @param object|null $activity_post_object The post type tracking args object.
697
- * @return int|bool Returns false if no activity, the activity id otherwise.
698
*/
699
function bp_blogs_comment_sync_activity_comment( &$activity_id, $comment = null, $activity_args = array(), $activity_post_object = null ) {
700
if ( empty( $activity_args ) || empty( $comment->post->ID ) || empty( $activity_post_object->comment_action_id ) ) {
@@ -834,7 +834,7 @@ add_action( 'bp_activity_post_type_comment', 'bp_blogs_comment_sync_activity_com
834
* @param int $user_id The ID of the user.
835
* @param string|bool $role User's WordPress role for this blog ID.
836
* @param int $blog_id Blog ID user is being added to.
837
- * @return bool|null False on failure.
838
*/
839
function bp_blogs_add_user_to_blog( $user_id, $role = false, $blog_id = 0 ) {
840
global $wpdb;
341
* @param int $user_id ID of the user for whom the blog is being recorded.
342
* @param bool $no_activity Optional. Whether to skip recording an activity
343
* item about this blog creation. Default: false.
344
+ * @return false|null Returns false on failure.
345
*/
346
function bp_blogs_record_blog( $blog_id, $user_id, $no_activity = false ) {
347
694
* @param WP_Comment|null $comment The comment object.
695
* @param array $activity_args Array of activity arguments.
696
* @param object|null $activity_post_object The post type tracking args object.
697
+ * @return WP_Error|bool|int Returns false if no activity, the activity id otherwise.
698
*/
699
function bp_blogs_comment_sync_activity_comment( &$activity_id, $comment = null, $activity_args = array(), $activity_post_object = null ) {
700
if ( empty( $activity_args ) || empty( $comment->post->ID ) || empty( $activity_post_object->comment_action_id ) ) {
834
* @param int $user_id The ID of the user.
835
* @param string|bool $role User's WordPress role for this blog ID.
836
* @param int $blog_id Blog ID user is being added to.
837
+ * @return false|null False on failure.
838
*/
839
function bp_blogs_add_user_to_blog( $user_id, $role = false, $blog_id = 0 ) {
840
global $wpdb;
bp-blogs/bp-blogs-template.php CHANGED
@@ -228,6 +228,8 @@ function bp_blogs_pagination_count() {
228
* @since 2.7.0
229
*
230
* @global object $blogs_template {@link BP_Blogs_Template}
231
*/
232
function bp_get_blogs_pagination_count() {
233
global $blogs_template;
@@ -1336,7 +1338,7 @@ function bp_blog_create_button() {
1336
*
1337
* @since 2.0.0
1338
*
1339
- * @return string
1340
*/
1341
function bp_get_blog_create_button() {
1342
if ( ! is_user_logged_in() ) {
@@ -1410,7 +1412,7 @@ function bp_blog_create_nav_item() {
1410
*
1411
* @since 2.2.0
1412
*
1413
- * @return string HTML Output
1414
*/
1415
function bp_blog_backcompat_create_nav_item() {
1416
// Bail if Blogs nav item is already used by bp-legacy.
228
* @since 2.7.0
229
*
230
* @global object $blogs_template {@link BP_Blogs_Template}
231
+ *
232
+ * @return string
233
*/
234
function bp_get_blogs_pagination_count() {
235
global $blogs_template;
1338
*
1339
* @since 2.0.0
1340
*
1341
+ * @return false|string
1342
*/
1343
function bp_get_blog_create_button() {
1344
if ( ! is_user_logged_in() ) {
1412
*
1413
* @since 2.2.0
1414
*
1415
+ * @return string|null HTML Output
1416
*/
1417
function bp_blog_backcompat_create_nav_item() {
1418
// Bail if Blogs nav item is already used by bp-legacy.
bp-core/admin/bp-core-admin-functions.php CHANGED
@@ -314,7 +314,7 @@ function bp_core_activation_notice() {
314
315
// BP components cannot share a single WP page. Check for duplicate assignments, and post a message if found.
316
$dupe_names = array();
317
- $page_ids = (array)bp_core_get_directory_page_ids();
318
$dupes = array_diff_assoc( $page_ids, array_unique( $page_ids ) );
319
320
if ( !empty( $dupes ) ) {
314
315
// BP components cannot share a single WP page. Check for duplicate assignments, and post a message if found.
316
$dupe_names = array();
317
+ $page_ids = bp_core_get_directory_page_ids();
318
$dupes = array_diff_assoc( $page_ids, array_unique( $page_ids ) );
319
320
if ( !empty( $dupes ) ) {
bp-core/admin/bp-core-admin-settings.php CHANGED
@@ -47,6 +47,38 @@ function bp_admin_setting_callback_account_deletion() {
47
<?php
48
}
49
50
/** Activity *******************************************************************/
51
52
/**
@@ -239,7 +271,7 @@ function bp_admin_setting_callback_bbpress_configuration() {
239
240
<?php if ( false === $file_exists ) : ?>
241
242
- <a class="button" href="<?php bp_admin_url( 'admin.php?page=bb-forums-setup&repair=1' ); ?>" title="<?php esc_attr_e( 'Attempt to save a new config file.', 'buddypress' ); ?>"><?php _e( 'Repair', 'buddypress' ) ?></a>
243
<span class="attention"><?php _e( 'File does not exist', 'buddypress' ); ?></span>
244
245
<?php endif; ?>
47
<?php
48
}
49
50
+ /**
51
+ * Form element to change the active template pack.
52
+ */
53
+ function bp_admin_setting_callback_theme_package_id() {
54
+ $options = '';
55
+
56
+ /*
57
+ * Note: This should never be empty. /bp-templates/ is the
58
+ * canonical backup if no other packages exist. If there's an error here,
59
+ * something else is wrong.
60
+ *
61
+ * See BuddyPress::register_theme_packages()
62
+ */
63
+ foreach ( (array) buddypress()->theme_compat->packages as $id => $theme ) {
64
+ $options .= sprintf(
65
+ '<option value="%1$s" %2$s>%3$s</option>',
66
+ esc_attr( $id ),
67
+ selected( $theme->id, bp_get_theme_package_id(), false ),
68
+ esc_html( $theme->name )
69
+ );
70
+ }
71
+
72
+ if ( $options ) : ?>
73
+ <select name="_bp_theme_package_id" id="_bp_theme_package_id"><?php echo $options; ?></select>
74
+ <p class="description"><label for="_bp_theme_package_id"><?php esc_html_e( 'The selected Template Pack will serve all BuddyPress templates.', 'buddypress' ); ?></label></p>
75
+
76
+ <?php else : ?>
77
+ <p><?php esc_html_e( 'No template packages available.', 'buddypress' ); ?></p>
78
+
79
+ <?php endif;
80
+ }
81
+
82
/** Activity *******************************************************************/
83
84
/**
271
272
<?php if ( false === $file_exists ) : ?>
273
274
+ <a class="button" href="<?php bp_admin_url( 'admin.php?page=bb-forums-setup&repair=1' ); ?>"><?php _e( 'Repair', 'buddypress' ) ?></a>
275
<span class="attention"><?php _e( 'File does not exist', 'buddypress' ); ?></span>
276
277
<?php endif; ?>
bp-core/admin/bp-core-admin-slugs.php CHANGED
@@ -109,7 +109,6 @@ function bp_core_admin_get_static_pages() {
109
* @todo Use settings API
110
*/
111
function bp_core_admin_slugs_options() {
112
- $bp = buddypress();
113
114
// Get the existing WP pages
115
$existing_pages = bp_core_get_directory_page_ids();
109
* @todo Use settings API
110
*/
111
function bp_core_admin_slugs_options() {
112
113
// Get the existing WP pages
114
$existing_pages = bp_core_get_directory_page_ids();
bp-core/admin/bp-core-admin-tools.php CHANGED
@@ -328,7 +328,7 @@ function bp_admin_repair_last_activity() {
328
*
329
* @param string $message Feedback message.
330
* @param string|bool $class Unused.
331
- * @return bool
332
*/
333
function bp_admin_tools_feedback( $message, $class = false ) {
334
if ( is_string( $message ) ) {
328
*
329
* @param string $message Feedback message.
330
* @param string|bool $class Unused.
331
+ * @return false|Closure
332
*/
333
function bp_admin_tools_feedback( $message, $class = false ) {
334
if ( is_string( $message ) ) {
bp-core/admin/css/common-rtl.css CHANGED
@@ -34,7 +34,7 @@ TABLE OF CONTENTS:
34
.bp-badge {
35
color: #d84800;
36
display: inline-block;
37
- font: normal 150px/1 'dashicons' !important;
38
}
39
40
.bp-badge:before {
@@ -54,6 +54,7 @@ TABLE OF CONTENTS:
54
}
55
56
@media only screen and (max-width: 500px) {
57
.about-wrap .bp-badge {
58
position: relative;
59
margin: 10px auto;
@@ -88,7 +89,7 @@ TABLE OF CONTENTS:
88
float: right;
89
height: 100px;
90
line-height: 100px;
91
- margin: 0 0 15px 15px ;
92
text-align: center;
93
width: 100px;
94
}
@@ -126,7 +127,7 @@ TABLE OF CONTENTS:
126
float: right;
127
height: 80px;
128
line-height: 80px;
129
- margin: 0 0 15px 15px ;
130
text-align: center;
131
width: 80px;
132
}
@@ -163,8 +164,8 @@ TABLE OF CONTENTS:
163
line-height: 1.5;
164
}
165
166
- .buddypress .bp-feature::after {
167
- content: '';
168
}
169
170
.buddypress .bp-feature-imaged .feature-title {
@@ -207,8 +208,8 @@ TABLE OF CONTENTS:
207
padding-bottom: 0;
208
}
209
210
- .buddypress .bp-changelog-section::after {
211
- content: '';
212
}
213
214
.buddypress .bp-changelog-section .changelog-title {
@@ -262,6 +263,7 @@ TABLE OF CONTENTS:
262
}
263
264
@media screen and ( max-width: 782px ) {
265
.bp-headline-feature,
266
.bp-features-section,
267
.bp-changelog-section,
@@ -269,31 +271,38 @@ TABLE OF CONTENTS:
269
margin-right: 20px;
270
margin-left: 20px;
271
}
272
.buddypress .bp-headline-feature {
273
padding: 0;
274
}
275
.buddypress .bp-headline {
276
margin: 0;
277
width: 97%;
278
}
279
.buddypress .bp-features-section {
280
clear: both;
281
margin-bottom: 0;
282
margin-top: 2em;
283
padding-bottom: 2em;
284
}
285
.buddypress .bp-features-section .bp-feature-with-images {
286
margin-bottom: 2em;
287
}
288
.buddypress .bp-features-section .headline-title {
289
margin-bottom: 1em;
290
}
291
.buddypress .bp-changelog-section .changelog-title {
292
font-size: 1.25em;
293
line-height: 1.5;
294
margin-bottom: 0.5em;
295
margin-top: 0.5em;
296
}
297
.buddypress .bp-features-section .feature-title,
298
.buddypress .bp-changelog-section .title {
299
font-size: 1.25em;
@@ -301,6 +310,7 @@ TABLE OF CONTENTS:
301
margin-top: 0.6em;
302
text-align: right;
303
}
304
.buddypress .bp-features-section .bp-feature,
305
.buddypress .bp-features-section .bp-feature-imaged {
306
clear: both;
@@ -311,30 +321,38 @@ TABLE OF CONTENTS:
311
padding-left: 1em;
312
width: 100%;
313
}
314
.buddypress .bp-features-section .bp-feature-imaged p {
315
font-size: 1em;
316
}
317
.buddypress .bp-features-section .bp-feature span {
318
margin-top: 0.33em;
319
}
320
.buddypress .bp-feature.opposite .feature-title,
321
.buddypress .bp-feature.opposite p {
322
float: none;
323
}
324
.buddypress .bp-changelog-section {
325
- clear: both;
326
- margin-bottom: 2em;
327
- margin-top: 2em;
328
}
329
.buddypress .bp-changelog-section .changelog-title {
330
margin-bottom: 1.5em;
331
}
332
.buddypress .bp-changelog .title {
333
font-size: 1em;
334
}
335
.buddypress .bp-changelog p {
336
margin-bottom: 1em;
337
}
338
.buddypress .bp-changelog-section .two-col > div,
339
.buddypress .bp-changelog-section .three-col .col {
340
margin-top: 0;
@@ -342,10 +360,13 @@ TABLE OF CONTENTS:
342
width: 100%;
343
}
344
}
345
@media screen and ( max-width: 360px ) {
346
.buddypress .bp-headline {
347
text-align: center;
348
}
349
.buddypress .bp-headline span.dashicons {
350
clear: none;
351
font-size: 80px;
@@ -355,32 +376,39 @@ TABLE OF CONTENTS:
355
margin: 0 auto;
356
width: 80px;
357
}
358
.buddypress .bp-headline-feature .headline-title,
359
.buddypress .bp-features-section .headline-title {
360
font-size: 1.5em;
361
line-height: 1.5;
362
text-align: right;
363
}
364
.buddypress .bp-headline-feature .headline-title {
365
- margin: 1em 0 0 0;
366
}
367
.buddypress .bp-headline-feature p {
368
margin: 1.15em 0 0.6em auto;
369
text-align: right;
370
width: auto;
371
}
372
.buddypress .bp-features-section .bp-feature {
373
text-align: center;
374
}
375
.buddypress .bp-features-section span.dashicons {
376
float: none;
377
}
378
.buddypress .bp-features-section .feature-title,
379
.buddypress .bp-features-section p {
380
margin-right: 0;
381
text-align: right;
382
}
383
}
384
/*------------------------------------------------------------------------------
385
* 2.0 Dashicons
386
*----------------------------------------------------------------------------*/
@@ -414,7 +442,7 @@ TABLE OF CONTENTS:
414
415
#adminmenu #toplevel_page_bp-friends .wp-menu-image:before,
416
#adminmenu #toplevel_page_bp-friends_user .wp-menu-image:before,
417
- #adminmenu #toplevel_page_bp-friends_network .wp-menu-image:before{
418
content: "\f454";
419
}
420
@@ -440,7 +468,7 @@ TABLE OF CONTENTS:
440
}
441
442
.settings_page_bp-components td.plugin-title span:before {
443
- font-family: 'dashicons';
444
font-size: 18px;
445
}
446
@@ -493,13 +521,16 @@ TABLE OF CONTENTS:
493
}
494
495
@media screen and ( max-width: 782px ) {
496
.settings_page_bp-components td.plugin-title span {
497
margin-top: 5px;
498
}
499
#bp-admin-component-form .wp-list-table.plugins .plugin-title {
500
display: block;
501
width: auto;
502
}
503
#bp-admin-component-form .subsubsub {
504
margin-bottom: 0;
505
padding-bottom: 35px;
@@ -550,7 +581,7 @@ body.users_page_bp-signups td.count_sent {
550
}
551
552
.bp-signups-list .column-fields {
553
- font-weight: bold;
554
}
555
556
/*------------------------------------------------------------------------------
@@ -593,27 +624,30 @@ body.post-type-bp-email .categorydiv label {
593
.tools_page_bp-tools legend {
594
color: #23282d;
595
font-size: 1.3em;
596
- font-weight: 600px;
597
margin: 1em 0;
598
}
599
600
.tools_page_bp-tools label {
601
clear: right;
602
display: block;
603
- line-height: 1.5em;
604
margin: 0 0 1em;
605
vertical-align: middle;
606
}
607
608
@media screen and (max-width: 782px) {
609
.tools_page_bp-tools p {
610
line-height: 1.5;
611
}
612
.tools_page_bp-tools label {
613
margin-bottom: 1em;
614
padding-left: 25px;
615
text-indent: -33px;
616
}
617
.tools_page_bp-tools .checkbox {
618
padding: 0 30px 0 0;
619
}
34
.bp-badge {
35
color: #d84800;
36
display: inline-block;
37
+ font: 400 150px/1 dashicons !important;
38
}
39
40
.bp-badge:before {
54
}
55
56
@media only screen and (max-width: 500px) {
57
+
58
.about-wrap .bp-badge {
59
position: relative;
60
margin: 10px auto;
89
float: right;
90
height: 100px;
91
line-height: 100px;
92
+ margin: 0 0 15px 15px;
93
text-align: center;
94
width: 100px;
95
}
127
float: right;
128
height: 80px;
129
line-height: 80px;
130
+ margin: 0 0 15px 15px;
131
text-align: center;
132
width: 80px;
133
}
164
line-height: 1.5;
165
}
166
167
+ .buddypress .bp-feature:after {
168
+ content: "";
169
}
170
171
.buddypress .bp-feature-imaged .feature-title {
208
padding-bottom: 0;
209
}
210
211
+ .buddypress .bp-changelog-section:after {
212
+ content: "";
213
}
214
215
.buddypress .bp-changelog-section .changelog-title {
263
}
264
265
@media screen and ( max-width: 782px ) {
266
+
267
.bp-headline-feature,
268
.bp-features-section,
269
.bp-changelog-section,
271
margin-right: 20px;
272
margin-left: 20px;
273
}
274
+
275
.buddypress .bp-headline-feature {
276
padding: 0;
277
}
278
+
279
.buddypress .bp-headline {
280
margin: 0;
281
width: 97%;
282
}
283
+
284
.buddypress .bp-features-section {
285
clear: both;
286
margin-bottom: 0;
287
margin-top: 2em;
288
padding-bottom: 2em;
289
}
290
+
291
.buddypress .bp-features-section .bp-feature-with-images {
292
margin-bottom: 2em;
293
}
294
+
295
.buddypress .bp-features-section .headline-title {
296
margin-bottom: 1em;
297
}
298
+
299
.buddypress .bp-changelog-section .changelog-title {
300
font-size: 1.25em;
301
line-height: 1.5;
302
margin-bottom: 0.5em;
303
margin-top: 0.5em;
304
}
305
+
306
.buddypress .bp-features-section .feature-title,
307
.buddypress .bp-changelog-section .title {
308
font-size: 1.25em;
310
margin-top: 0.6em;
311
text-align: right;
312
}
313
+
314
.buddypress .bp-features-section .bp-feature,
315
.buddypress .bp-features-section .bp-feature-imaged {
316
clear: both;
321
padding-left: 1em;
322
width: 100%;
323
}
324
+
325
.buddypress .bp-features-section .bp-feature-imaged p {
326
font-size: 1em;
327
}
328
+
329
.buddypress .bp-features-section .bp-feature span {
330
margin-top: 0.33em;
331
}
332
+
333
.buddypress .bp-feature.opposite .feature-title,
334
.buddypress .bp-feature.opposite p {
335
float: none;
336
}
337
+
338
.buddypress .bp-changelog-section {
339
+ clear: both;
340
+ margin-bottom: 2em;
341
+ margin-top: 2em;
342
}
343
+
344
.buddypress .bp-changelog-section .changelog-title {
345
margin-bottom: 1.5em;
346
}
347
+
348
.buddypress .bp-changelog .title {
349
font-size: 1em;
350
}
351
+
352
.buddypress .bp-changelog p {
353
margin-bottom: 1em;
354
}
355
+
356
.buddypress .bp-changelog-section .two-col > div,
357
.buddypress .bp-changelog-section .three-col .col {
358
margin-top: 0;
360
width: 100%;
361
}
362
}
363
+
364
@media screen and ( max-width: 360px ) {
365
+
366
.buddypress .bp-headline {
367
text-align: center;
368
}
369
+
370
.buddypress .bp-headline span.dashicons {
371
clear: none;
372
font-size: 80px;
376
margin: 0 auto;
377
width: 80px;
378
}
379
+
380
.buddypress .bp-headline-feature .headline-title,
381
.buddypress .bp-features-section .headline-title {
382
font-size: 1.5em;
383
line-height: 1.5;
384
text-align: right;
385
}
386
+
387
.buddypress .bp-headline-feature .headline-title {
388
+ margin: 1em 0 0;
389
}
390
+
391
.buddypress .bp-headline-feature p {
392
margin: 1.15em 0 0.6em auto;
393
text-align: right;
394
width: auto;
395
}
396
+
397
.buddypress .bp-features-section .bp-feature {
398
text-align: center;
399
}
400
+
401
.buddypress .bp-features-section span.dashicons {
402
float: none;
403
}
404
+
405
.buddypress .bp-features-section .feature-title,
406
.buddypress .bp-features-section p {
407
margin-right: 0;
408
text-align: right;
409
}
410
}
411
+
412
/*------------------------------------------------------------------------------
413
* 2.0 Dashicons
414
*----------------------------------------------------------------------------*/
442
443
#adminmenu #toplevel_page_bp-friends .wp-menu-image:before,
444
#adminmenu #toplevel_page_bp-friends_user .wp-menu-image:before,
445
+ #adminmenu #toplevel_page_bp-friends_network .wp-menu-image:before {
446
content: "\f454";
447
}
448
468
}
469
470
.settings_page_bp-components td.plugin-title span:before {
471
+ font-family: dashicons;
472
font-size: 18px;
473
}
474
521
}
522
523
@media screen and ( max-width: 782px ) {
524
+
525
.settings_page_bp-components td.plugin-title span {
526
margin-top: 5px;
527
}
528
+
529
#bp-admin-component-form .wp-list-table.plugins .plugin-title {
530
display: block;
531
width: auto;
532
}
533
+
534
#bp-admin-component-form .subsubsub {
535
margin-bottom: 0;
536
padding-bottom: 35px;
581
}
582
583
.bp-signups-list .column-fields {
584
+ font-weight: 700;
585
}
586
587
/*------------------------------------------------------------------------------
624
.tools_page_bp-tools legend {
625
color: #23282d;
626
font-size: 1.3em;
627
+ font-weight: 600;
628
margin: 1em 0;
629
}
630
631
.tools_page_bp-tools label {
632
clear: right;
633
display: block;
634
+ line-height: 1.5;
635